《体系结构第7章--第4讲课件.ppt》由会员分享,可在线阅读,更多相关《体系结构第7章--第4讲课件.ppt(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、国家精品资源共享课程:计算机体系结构国家精品资源共享课程:计算机体系结构第七章:多处理机第七章:多处理机第七章第七章 多处理机多处理机计算机体系结构计算机体系结构计算机体系结构计算机体系结构37.4.3 7.4.3 动态连接网络动态连接网络 为为了了达达到到多多用用或或通通用用的的目目的的,需需要要采采用用动动态态连连接接网网络络,它它能能根根据据程程序序要要求求实实现现所所需需的的通通信信模模式式。它它不不用用固固定定连连接接,而而是是沿沿着着连连接接通通路路使使用用开开关关或或仲仲裁裁器器以以提提供供动动态连接特性。态连接特性。按按照照价价格格和和性性能能增增加加的的顺顺序序,动动态态连连
2、接接网网络络的的排排队队次序为总线系统、多级互连网络次序为总线系统、多级互连网络(MIN)(MIN)和交叉开关网络和交叉开关网络 采采用用动动态态网网络络的的多多处处理理机机的的互互连连是是在在程程序序控控制制下下实实现现的的。定定时时、开开关关和和控控制制是是动动态态互互连连网网络络的的三三个个主主要要操操作特征。作特征。计算机体系结构计算机体系结构计算机体系结构计算机体系结构4 根根据据级级间间连连结结方方式式,单单级级网网络络(single-stage(single-stage network)network)也也 称称 循循 环环 网网 络络(recirculating(recircu
3、lating network),network),因因为为数数据据项项在在到到达达最最后后目目的的地地之之前前可可能能在在单单级级网网络络中中循循环环多多次次。单单级级网网络络的的成成本本比比较较低低,但但在在建建立立某某种种连连接接时时可可能能需需要要多多次次通通过过网网络络。交叉开关和多端口存储器结构都属于单级网络。交叉开关和多端口存储器结构都属于单级网络。计算机体系结构计算机体系结构计算机体系结构计算机体系结构5计算机体系结构计算机体系结构计算机体系结构计算机体系结构6 如如果果同同时时连连接接多多个个输输入入输输出出对对时时,可可能能会会引引起起开开关关和和通通信信链链路路使使用用上上
4、的的冲冲突突,这这种种多多级级网网络络称称为为阻阻塞塞网网络络(blocking(blocking network)network)。阻阻塞塞网网络络的的实实例例有有OmeageOmeage网网(Lawrie,1975)(Lawrie,1975)、BaselineBaseline网网(Wu(Wu和和Feng,1980)Feng,1980)、BanyanBanyan网网(Goke(Goke和和lipovski,1973)lipovski,1973)和和DeltaDelta网网(Patel,1979)(Patel,1979)。如如果果多多级级网网络络通通过过重重新新安安排排连连接接方方式式可可以以
5、建建立立所所有有可可能能的的输输入入输输出出之之间间的的连连接接,则则称称之之为为非非阻阻塞塞网网络络(nonblocking(nonblocking network)network)。这这类类网网络络中中,任任何何输输入入输输出出对对之之间间总总可可以以建建立立连连接接通通路路。BenesBenes网网络络(Benes,1965)(Benes,1965)具有这种功能具有这种功能计算机体系结构计算机体系结构计算机体系结构计算机体系结构71.1.总线系统总线系统 总总线线系系统统实实际际上上是是一一组组导导线线和和插插座座,用用于于处处理理与与总总线线相相连连的的处处理理器器、存存储储模模块块和
6、和外外围围设设备备间间的的数数据据业业务务。总总线线只只用用于于源源(主主部部件件)和和目目的的(从从部部件件)之之间间处处理理业业务务。在在多多个个请请求求情情况况下下,总总线线仲仲裁裁逻逻辑辑必必须须每每次次能能将总线服务分配或重新分配给一个请求。将总线服务分配或重新分配给一个请求。系系统统总总线线在在处处理理机机、I IO O子子系系统统、存存储储模模块块或或辅辅助助存存储储设设备备(磁磁盘盘、磁磁带带机机等等)之之间间提提供供了了一一条条公公用用通通信通路。信通路。公公用用总总线线是是在在分分时时基基础础上上工工作作的的。总总线线研研制制中中的的重重要要问问题题有有总总线线仲仲裁裁、中
7、中断断处处理理、一一致致性性协协议议和和总总线线事务的处理等。事务的处理等。计算机体系结构计算机体系结构计算机体系结构计算机体系结构8一种总线连接的多处理机系统一种总线连接的多处理机系统计算机体系结构计算机体系结构计算机体系结构计算机体系结构9计算机体系结构计算机体系结构计算机体系结构计算机体系结构10 在在交交叉叉开开关关网网络络的的每每一一行行中中可可以以同同时时接接通通多多个个交交叉叉点点开开关关,所所以以交交叉叉点点开开关关网网络络中中n n对对处处理理器器可可以以同同时时传传送送数数据据 交叉开关网络的带宽和互连特性最好。交叉开关网络的带宽和互连特性最好。交交叉叉开开关关网网络络每每
8、个个周周期期可可以以实实现现n n个个数数据据传传输输,与与每每个个总总线线周周期期只只传传一一个个数数据据相相比比,它它的的频频宽宽最最高高。交交叉叉开开关关网网络络对对小小型型多多处处理理机机系系统统来来说说性性能能价价格格比比较较高高。但但单单级级交交叉开关网络一旦构成后将不能扩充。叉开关网络一旦构成后将不能扩充。一种交叉开关网络一种交叉开关网络计算机体系结构计算机体系结构计算机体系结构计算机体系结构12用于多处理机系统的多端口存储器结构用于多处理机系统的多端口存储器结构计算机体系结构计算机体系结构计算机体系结构计算机体系结构14计算机体系结构计算机体系结构计算机体系结构计算机体系结构1
9、54.4.多级网络多级网络 多多级级网网络络可可用用于于构构造造大大型型多多处处理理机机系系统统。每每一一级级都都用用了了多多个个abab开开关关,相相邻邻级级开开关关之之间间都都有有固固定定的的级级间间连连接接。为为了了在在输输入入和和输输出出之之间间建建立立所所需需的的连连接接,可可用用动动态态设设置置开关的状态来实现。开关的状态来实现。各各种种多多级级网网络络的的区区别别就就在在于于所所用用开开关关模模块块和和级级间间连连接接模模式式的的不不同同。一一个个abab开开关关模模块块有有a a个个输输入入和和b b个个输输出出。一一个个二二元元开开关关与与a=b=2a=b=2的的2222开开
10、关关模模块块相相对对应应。在在理理论论上上a a与与b b不不一一定定要要相相等等,但但实实际际上上a a和和b b经经常常选选为为2 2的的整整数数幂幂,即即a=b=2a=b=2k k,k1k1。最最简简单单的的开开关关模模块块是是2222开开关关。常常用用的的级间连接模式包括混洗、交叉、立方体连接等。级间连接模式包括混洗、交叉、立方体连接等。由由ab开关模块和级间构成的通用多级互连网络结构开关模块和级间构成的通用多级互连网络结构 用用22开关和均匀混洗构成的开关和均匀混洗构成的1616Omega网络网络计算机体系结构计算机体系结构计算机体系结构计算机体系结构19 构构成成动动态态网网络络的
11、的总总线线、多多级级网网络络、交交叉叉开开关关中中,总总线线的的造造价价最最低低,但但其其缺缺点点是是每每台台处处理理器器可可用用的的带带宽宽较较窄窄。总总线线所所存存在在的的另另一一个个问问题题是是容容易易产产生生故故障障。有有些些容容错错系系统统,如如用用于于事事务务处处理理的的TandemTandem多多处处理理机机等等,常常采采用用双双总总线线以以防防止系统产生简单的故障。止系统产生简单的故障。计算机体系结构计算机体系结构计算机体系结构计算机体系结构20 由于交叉开关的硬件复杂性以由于交叉开关的硬件复杂性以n n2 2上升,所以其造上升,所以其造价最为昂贵。但是,交叉开关的带宽和路由性
12、能最价最为昂贵。但是,交叉开关的带宽和路由性能最好。如果网络的规模较小,它是一种理想的选择。好。如果网络的规模较小,它是一种理想的选择。多级网络多级网络则是两个极端之间的折衷。它的主要则是两个极端之间的折衷。它的主要优点在于采用模块结构,因而可扩展性较好优点在于采用模块结构,因而可扩展性较好。然而,。然而,其其时延随网络的级数而上升时延随网络的级数而上升。另外,由于增加了连。另外,由于增加了连线和开关复杂性,价格也是一种限制因素。线和开关复杂性,价格也是一种限制因素。计算机体系结构计算机体系结构计算机体系结构计算机体系结构21互连例子互连例子 CRAY T3DCRAY T3D:采用三维环网互连
13、,采用三维环网互连,Alpha 21064Alpha 21064处理处理器器 150 150MhMh网络频率,与芯片匹配网络频率,与芯片匹配 全局编址,预取,快速同步,并行全局编址,预取,快速同步,并行I/OI/O 基于微核基于微核Mach OS,Mach OS,冗余结点冗余结点 支持支持MPPMPP的指令的指令 计算机体系结构计算机体系结构计算机体系结构计算机体系结构227.5 7.5 同步同步7.5.1.7.5.1.基本硬件原语基本硬件原语1 1、原子交换(、原子交换(Atomic ExchangeAtomic Exchange)它它的的功功能能是是将将一一个个存存储储单单元元的的值值和和
14、一一个个寄寄存存器器的值进行交换。的值进行交换。2 2、测试并置(、测试并置(test_and_settest_and_set)先测试一个值,如果符合条件则修改其值。先测试一个值,如果符合条件则修改其值。3 3、读取并加、读取并加1 1(fetch_and_incrementfetch_and_increment)返回存储单元的值并自动增加该值。返回存储单元的值并自动增加该值。4 4、指令对、指令对LL&SCLL&SC 从从第第二二条条指指令令的的返返回回值值可可以以判判断断该该指指令令对对的的执行是否成功。执行是否成功。必须保持原子性必须保持原子性计算机体系结构计算机体系结构计算机体系结构计
15、算机体系结构23计算机体系结构计算机体系结构计算机体系结构计算机体系结构247.5.2.7.5.2.用一致性实现锁用一致性实现锁 采用多处理机的一致性机制来实现旋转锁(采用多处理机的一致性机制来实现旋转锁(spin locksspin locks)。)。旋转锁是指处理器环绕一个锁不停地旋转而请求获得该锁。当旋转锁是指处理器环绕一个锁不停地旋转而请求获得该锁。当锁的占用时间很少以及加锁过程延迟很低时可采用旋转锁。锁的占用时间很少以及加锁过程延迟很低时可采用旋转锁。DADDUI R2DADDUI R2,R0,R0,1 1lockitlockit:EXCH R2,0(R1)EXCH R2,0(R1)
16、;原子交换;原子交换 BNEZ R2BNEZ R2,lockit lockit ;是否已加锁;是否已加锁?两点好处两点好处:1.1.可使环绕的进程对本地可使环绕的进程对本地cachecache块进行操作块进行操作 2.2.可利用锁访问的局部性可利用锁访问的局部性计算机体系结构计算机体系结构计算机体系结构计算机体系结构25本地本地Cache旋转锁的代码旋转锁的代码:lockitlockit:LD R2LD R2,0(R1)0(R1);取锁值;取锁值 BNEZ R2BNEZ R2,lockit lockit ;锁不可用;锁不可用 DADDUI R2DADDUI R2,R0,R0,1 1 ;存入锁值
17、;存入锁值 EXCH R2EXCH R2,0(R1)0(R1);交换;交换 BNEZ R2BNEZ R2,lockit lockit ;如果锁不为;如果锁不为0 0转移转移计算机体系结构计算机体系结构计算机体系结构计算机体系结构26表表7.5 三个处理器竞争锁的操作三个处理器竞争锁的操作 步骤步骤 处理器处理器P0P0处理器处理器P1P1处理器处理器P2P2锁状态锁状态总线总线/目录操作目录操作1 1占有锁占有锁环绕测试环绕测试lock=0lock=0环绕测试环绕测试lock=0lock=0SharedShared无无2 2将锁置为将锁置为0 0(收到作废命令)(收到作废命令)(收到作废命令收
18、到作废命令)E Exclusivxclusive eP0P0发锁变量作废消息发锁变量作废消息3 3C Cacheache失效失效C Cacheache失效失效SharedShared总线总线/目录处理目录处理P2 P2 C Cacheache失效失效,锁从锁从P0P0写回写回4 4总线总线/目录忙则等目录忙则等待待Lock=0Lock=0SharedSharedP2 CP2 Cacheache失效处理失效处理5 5Lock=0Lock=0执行交换,使执行交换,使C Cacheache失效失效SharedSharedP1CP1Cacheache失效处理失效处理6 6执行交换,导致执行交换,导致 C Cacheache失效失效 交换完毕,返交换完毕,返回回0 0置置lock=1lock=1E Exclusivxclusive e总线总线/目录处理目录处理P2 P2 C Cacheache失效失效,发作发作废消息废消息7 7交换完毕,返回交换完毕,返回1 1进入关键处理进入关键处理段段SharedShared总线总线/目录处理目录处理P2 P2 C Cacheache失效,写回失效,写回8 8环绕测试环绕测试lock=0lock=0无无计算机体系结构计算机体系结构计算机体系结构计算机体系结构27谢谢!谢谢!