计算机系统机构-第9章课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《计算机系统机构-第9章课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统 机构 课件
- 资源描述:
-
1、1计算机系统结构n第一章 基本概念n第二章 指令系统n第三章 存储系统n第四章 输入输出系统n第五章 标量处理机n第六章 向量处理机n第七章 互连网络n第八章 并行处理机n第九章 多处理机2第九章 多处理机n多处理机系统n两个或两个以上处理机(包括PE和CU),n通过高速互连网络连接起来,n在统一的操作系统管理下,n实现指令以上级(任务级、作业级)并行n按照Flynn分类法,多处理机系统属于MIMD计算机n多处理机系统由多个独立的处理机组成n每个处理机都能够独立执行自己的程序39.1 多处理机结构n流水线机器:n流水线机器通过几级流水的同时操作来获得高性能n连续计算机器:n连续计算的机器由多台
2、处理机组成,每台处理机执行相同的程序n前几章讨论了如何加快单指令流执行速度的方法n尽管只有一个程序在执行,前面讨论过的技术可以进一步开发单条指令流内部的指令并行性n本章讨论多处理机-由若干台独立的处理机组成的系统n器件本身的物理条件限制了任何单处理机的速度最高不能超过某个上界值n欲达到超过这个上界值的速度就必须采用其它的方法n本章通过研究多处理机系统来实现这个目的n本章的中心议题是多处理机的结构和性能n介绍如何把多台处理机组成高并行度的系统n深入分析这类系统的瓶颈和改进性能的方法49.1.1a 松散偶合多处理机n处理机之间的连接频带比较低n通过输入输出接口连接,处理机间互为外围设备进行连接n如
3、IBM公司的机器,都可以通过通道到通道的连接器CTC把两个不同计算机系统的IOP连接起来n通过并口或串口把多台计算机连接起来n如用串行口加一个MODEL拨号上网n也可以直接连接n多台计算机之间的连接需要有多个接口n通过Ethernet网络接口连接多台计算机n速度达10Mb、100Mb、1GbnMynet已经达到1.28Gb和2.56Gbn当通信速度要求更高时,可通过一个通道和仲裁开关CAS(Channel and Arbiter Switch)直接在存储器总线之间建立连接n在CAS中有一个高速的通信缓冲存储器5LM0IOP0互连网络CPU0LM0IOP0CPU0LM0IOP0CPU0通过多输入
4、输出输出口连接的多处理机6LMIOP互连网络CPUCAS模块LMIOPCPUCAS模块n-1通过消息传送系统连接的松散耦合多处理机79.1.1b 紧密偶合多处理机n处理机之间共享主存储器,通过高速总线或高速开关连接n主存储器有多个独立的存储模块n每个CPU能够访问任意一个存储器模块n通过映象部件MAP把全局逻辑地址变换成局部物理地址n通过互连网络寻找合适的路径,并分解访问存储器的冲突n多个输入输出处理机IOP也连接在互连网络上,I/O设备与CPU共享主存储器n处理机个数不能太多,几个到十几个n紧密偶合方式要求有很高通信频带。n可以采用如下措施n(1)采用高速互连网络n(2)增加存储器模块个数,
5、一般nRn尽量往前推,不足最大任务数的余数分给一个P-C2322266663*(2+2+2+2)=24444625M个任务平均分配给N台处理机的最佳分配方法n最大任务数每台分 个任务n分得最大任务数的有 台处理机n如果M/N 0n则另有1台处理机分得剩下的 个任务n剩下的 台处理机不分配任何任务n处理机任务数有3个取值:、0n如101个任务平均分给50台处理机n每台分给 =3个任务,有 =33台处理机n另有1台处理机分给 101 mod 3=2个任务n剩下的 50-33-1=16 台处理机不分配任务NMM/NM/NMM/mod1/NMMN50/1013/101NM/NMM/mod26n假设Ki
6、个任务分给了第i台处理机n第一项求出N台处理机中最大执行时间n第二项计算出Ki与(M-Ki)任务之间两两通信的开销时间,第二项是关于Ki的二次函数n其中,Ki最多有3个取值:、0n当M是N的倍数时,有:n当R/CM/2时采用平均分配方法n当R/CM/2时采用集中分配方法)(2)(21221NiiNiiiKMCNMRKMKCNMR总处理时间NM/NMM/mod)11(22NCMNRMC总处理时间27多处理机系统的加速比n一个计算问题在一台处理机上运行时间与在多处理机系统上运行时间的比值称为多处理机系统的加速比n当M 是N 的倍数时,有n如果M 和N 较小,R/C 较大,即分母中的第一项远大于第二
7、项,则加速比与处理机台数N 成正比n当处理机台数N很大,加速比 n即加速比趋近于一个常数n这时再增加处理机,性能的提高很小,与所增加的成本相比是不值得的NiiKMCNMRRM1222)(加速比21)222)(加速比NMCRNCRNMMCNRMRMCMR2289.2.3 随机模型n略299.2.4 通信开销为线性的模型n略309.2.5 完全重叠通信的理想模型n略319.2.6 具有多条通信链的模型n略32几个模型的总结n(1)多处理机系统结构所需的额外开销,包括调度,对共享资源的竞争,同步,处理机之间通信等n串行机和向量机(或别的单指令流机)系统结构中不存在n(2)当运行某个程序的处理机数目增
8、加时,用于计算的那部分时间将减少,而额外开销时间却增加了n实际上,额外开销的增加可能比处理机数目的线性增加更快33几个模型的总结n(3)R/C比值表示当一个程序在某一特定系统结构上执行时,程序执行时间(运行时间)与额外开销时间(通信时间)的比值n该比值越大,越有利于计算过程n因为随着R/C比值的增加属于额外开销的时间相对减少了n如果将整个计算分成几大部分而不是很多小部分从而获得较大的R/C值,那么,并行程度将大为降低,也就限制了在多处理机上能够获得的加速比n一方面,R/C要足够小使能并行执行的任务数目较多n另一方面,R/C要足够大以免额外开销太大n由于这个矛盾,不能期望简单地通过增加处理机数目
9、制造出高速的多处理机系统n处理机数目究竟多少才能使价格和性能都比较合理n其实存在一个极大值,这个值很大程度上依赖于机器的系统结构,基本技术(尤其是通信技术)和每一个具体应用问题的性质349.2.7 多处理机模型n略359.3 多处理机的Cache一致性n在并行处理机和多处理机系统中,采用局部Cache会引起Cache与共享存储器之间的一致性问题n9.3.1 问题由来n9.3.2 监听协议n9.3.3 基于目录的协议369.3.1 问题由来n出现不一致性问题的原因有三个n共享可写的数据n进程迁移nI/O传输371、写共享数据引起的不一致性n使用多个局部Cache时,可能发生Cache不一致性问题
10、n共享可写数据引起的Cache不一致性n当P1把X的值写为X之后,如果P1采用写通过策略,内存中的内容也变为X,但是P2处理机Cache中的内容还是Xn如果P1采用写回策略,内存中的内容还是X,当P2处理机要读X时,读到的是X而不是X 处理机 Cache 总线 共享 存储器 更新之前 写通过方式 写回方式 P1 P2 X X X P1 P2 X X X P1 P2 X X X 382、进程迁移引起的数据不一致性nP1和P2中都有共享数据X的拷贝nP2修改了X,采用写通过方式,所以内存中的X修改成了X。n如果该进程迁移到P1上,这时,P1的Cache中仍然是XnP1中有共享数据X的拷贝,而P2中
11、没有该共享数据,nP1进程对X进行了修改,如果采用了写回方式,暂时没有对内存中的数据进行修改。n如果该进程迁移到了P2上,P2运行时从内存中读到是X 处理机 Cache 总线 共享 存储器 更新之前 写通过方式 写回方式 P1 P2 X X X P1 P2 X X X P1 P2 X X X 393、I/O造成数据不一致性n如果P1和P2在各自的局部Cache中都有X的拷贝,当I/O将一个新数据X写入存储器时就导致了存储器和Cache之间的数据不一致性n如果两个局部Cache中都有X的拷贝,并采用写回方式,当P1把X修改成X之后,输出部件读X,存储器就把X传给了输出部件 处理机 Cache 总
12、线 存储器 I/O 存储器 输入 存储器 输出 更新之前 写通过方式 写回方式 P1 P2 X X X P1 P2 X X X P1 P2 X X X X X 40n一种解决I/O操作引起数据不一致性的方法是把I/O处理机分别连接到各自的局部Cache上n这样,I/O处理机就能和CPU共享Cachen只要能够保证各Cache之间以及Cache和内存之间的数据一致性,就能够保证I/O操作的一致性419.3.2 监听协议n两类解决Cache不一致性问题的协议n监听协议n基于目录的协议n在总线互连的多处理机系统中,解决Cache不一致性通常采用监听协议n在其他多处理机系统中,解决Cache不一致性通
13、常采用基于目录协议421、两种监听协议n使用监听协议,有两种方法n方法一:方法一:写无效(Write Invalidate)策略,在本地Cache的数据块修改时使远程数据块都无效n方法二:写方法二:写更新(Write Update)策略,在本地Cache数据块修改时通过总线把新的数据块广播给含该数据块的所有其他Cachen采用写无效或写更新策略与Cache采用写回方式(Write Back)还是写通过方式(Write Through)无关n如果Cache采用的写通过方式,在使远程数据块无效或更新其他Cache的同时,还要同时修改共享存储器中的内容43Cache采用写通过方式时的写无效策略和写更
14、新策略n由于写更新策略在本地Cache修改时需要通过总线把修改过的数据块广播给所有含该数据块的其他Cache,增加了总线的负担n大部分多处理机系统使用写无效策略 处理机 Cache 总线 共享 存储器 更新之前 写无效策略 写更新策略 P1 P2 X X X P1 P2 X I X P1 P2 X X X 442、采用写通过方式的Cachen数据块有两种状态:有效和无效n有效表示该数据块内容正确,两种状态的转换如图nRL、WL表示本地处理机对Cache的读操作和写操作nRR、WR表示远程处理机对Cache中相同内容数据的读操作和写操作 RL,WLRL,WL RR,WR RR 有效 无效 WR4
15、53、采用写回方式的Cachen只读状态表示整个系统中有多个数据块拷贝是正确的n读写状态表示数据块至少被修改过一次,存储器中相应数据块还没有修改,即在整个系统中只有一个数据块拷贝正确n对于只读的数据块,n本地的和远程的读操作都是安全的,n本地的写操作将使状态转移为读写,n远程的写操作将使之变为无效n对于读写状态的数据块,n本地的读、写操作都是安全的,n而远程的读操作将数据块传递给远程处理机的Cache,使两个Cache都转移至只读状态,n远程写操作使远程处理机Cache转移至读写状态,而本地Cache转移至无效状态n对于无效状态,n本地读操作,使状态转移至只读;n本地写操作,使状态转移至读写,
16、同时使其他Cache中相应数据块的状态转移为无效状态;n其他操作不会引起从无效状态向其他状态的转移46采用写回方式的Cache状态图 WLRL,WL RL,RR 读写 只读 RR WL WR WR RL 无效 RR,WR采用写回方式的采用写回方式的 CacheCache 状态图状态图RL:本地处理机对 Cache 的读操作WL:本地处理机对 Cache 的写操作 RR:远程处理机对 Cache 中相同内容数据的读操作 WR:远程处理机对 Cache 中相同内容数据的写操作474、写一次(Write-Once)协议n1983年James Goodman提出写一次Cache一致性协议n第一次写Ca
17、che采用写通过方式,以后采用写回方式n整个系统中只有一份正确的拷贝n为了区分第一次写,把“读写”状态分为:“保留(Reserved)”和“重写(Dirty)”。n共有4种状态n(1)有效(Valid,相当于写回方式中的只读)n从存储器读入的并与存储器一致的Cache数据块n(2)无效(Invalid)n在Cache中找不到或Cache中的数据块已作废n(3)保留(Reserved)n数据从存储器读入Cache后只被写过一次nCache和存储器中的拷贝都是正确n(4)重写(Dirty)nCache中的数据块被写过多次,且是唯一正确的数据块n此时存储器中的数据块不正确48写一次协议的状态图nRl
18、、Rr、Wl、Wr分别表示本地读、远程读、本地写、远程写49CPU读Cache,有两种可能性n(1)数据块在Cache中存在(包括有效、保留或重写)nCPU直接读取数据,Cache状态不变n(2)Cache中的数据块处于无效状态n触发读缺失事件n如果存在处于有效、保留或重写状态的相应数据块n将其调入本地Cachen在相应数据块处于重写状态时,还要同时禁止存储器操作n如果不存在处于有效、保留或重写状态的相应数据块n只有存储器中是唯一正确的拷贝n直接从存储器中读入n把读入Cache中的相应数据块置为“有效”状态50CPU写Cache,也有两种可能n(1)写命中n当Cache处于“有效”状态时,n采
19、用写通过方式,把写入Cache的内容同时写入存储器,n将Cache的状态转移为“保留”,n将其他Cache的相应数据块状态置为“无效”n当Cache处于“保留”或“重写”态时,n使用写回方式,nCache的状态转移至“重写”,n其他的存有相同内容的Cache处于“无效”态n(2)写不命中n将数据块调入Cache,n采用写通过方式,同时写存储器;n将本地Cache的状态置为“保留”,n同时将其他Cache的状态置为“无效”51n写一次协议的优点n减少大量的无效操作,提高了总线效率n缺点n当主存储器的内容无效时,读缺失引起的总线读操作必须禁止访问主存储器n大多数总线不支持这种操作。nIEEE Fu
20、turebus+总线支持该操作529.3.3 基于目录的协议n在非总线结构的多处理机系统中,采用基于目录的Cache一致性协议531、Cache目录结构nCache目录中存放的内容是大量的指针,用以指明块拷贝的地址n每个目录项还有一个重写位,指明是否有一个Cache允许写入数据n根据Cache目录的存放形式,有集中式和分布式两种n根据目录的结构,目录协议分成三类n全映射(Full-Map)目录:存放全局存储器中每个块的有关数据n有限(Limited)目录:每个目录项的指针数固定n链式(Chained)目录:把目录分布到所有Cachen目录的使用规则n当一个CPU对Cache进行写操作时,根据C
21、ache目录的内容将所有其他存有相同内容的Cache拷贝无效,并置重写位n在CPU对Cache进行读操作时n如果读命中,直接读Cachen如果重写位为“0”,则从主存或其他Cache中读入该块,并修改目录542、全映射目录n目录项中有N个处理机位和一个重写位n处理机位表示相应处理机对应的Cache块的状态n重写位为“1”,且只有一个处理机位为“1”,则该处理机可以对该块进行写操作nCache的每个数据块有两个状态位:一位表示数据块是否有效,另一位表示有效块是否允许写n图(a)表示全系统中所有Cache中都没有X的拷贝n图(b)表示三个处理机都对X有过读请求n图(c)表示P3处理机获得对X的写权
22、限之后的状态 读X 读X 读X 写X (a)(b)(c)P 1 P 2 P 3 Cache1 Cache2 Cache3 X:共享存储器 C 0 0 0 数据 P 1 P 2 P 3 Cache1 X:数据 Cache2 X:数据 Cache3 X:数据 X:共享存储器 0 1 1 1 数据 P 1 P 2 P 3 Cache1 Cache2 Cache3 X:数据 X:共享存储器 1 0 0 1 数据 55n从第二种状态转移至第三种状态的过程如下n(1)Cache3发现包含X单元的块是有效的,但是不允许写n(2)Cache3向包含X单元的存储器模块发写请求,并暂停P3的工作n(3)该存储器模
23、块发无效请求至Cache1和Cache2n(4)Cache1和Cache2接到无效请求后,将对应块置为无效态,并发回答信号给存储器模块n(5)存储器模块接到Cache1和Cache2的回答信号后,置重写位为“1”,清除指向Cache1和Cache2的指针,发允许写信号到Cache3n(6)Cache3接到允许写信号,更新Cache状态,并激活P3n全映射目录协议的效率比较高n但开销与处理机数目的平方成正比,不具有扩展性。563、有限目录n处理机数目为N,限制目录大小为O(Nlog2N)n目录指针需要对N进行二进制编码,每个指针占log2N位,目录所占的总存储空间与(O(Nlog2N)成正比n目
24、录项数为2,当Cache1和Cache2中都有X的拷贝时,若P3请求X,则必须在Cache1和Cache2中选择一个使之无效,这种替换过程称为驱逐n有限目录的驱逐需要一种驱逐策略,n驱逐策略的好坏对系统的性能具有很大的影响。n驱逐策略与Cache替换策略在很多方面是相同的 读 X (a)(b)有限目录的驱逐 P1 P2 P3 Cache1 X:数据 Cache2 X:数据 Cache3 X:共享存储器 C 数据 P1 P2 P3 Cache1 X:数据 Cache2 Cache3 X:数据 X:共享存储器 C 数据 574 链式目录n通过维护一个目录指针链来跟踪共享数据拷贝n当P1读X时,存储
25、器送X到Cache1,同时写Cache1的一个链结束指针CT,在存储器中也保存一个指向Cache1的指针n当P2读X时,存储器送X给Cache2,同时给Cache2一个指向Cache1的指针,存储器则保存一个指向Cache2的指针 读 X 写 X (a)(b)链式目录 P1 P2 P3 Cache1 X:数据 Cache2 Cache3 X:共享存储器 C 数据 CT P1 P2 P3 Cache3 X:共享存储器 C 数据 Cache1 X:数据 CT Cache2 X:数据 58n当某一个处理机需要写X时,它必须沿整个目录链发送一个数据无效信息。在收到所有相关处理机的回答信号之后,存储器才
展开阅读全文