[工学]高等计算机体系结构第6章课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《[工学]高等计算机体系结构第6章课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工学 高等 计算机体系结构 课件
- 资源描述:
-
1、1第六章第六章 共享存储的多处理器共享存储的多处理器2第一节第一节 共享存储的一致性共享存储的一致性一、共享存储结构与一致性一、共享存储结构与一致性1 1、共享存储层次结构、共享存储层次结构P1Pn交换机交叉的高速缓存交叉的主存(a)共享缓存(b)集中式共享存储器P1存储器 C Pn C 存储器互连网络P1存储器 C (c)分布式共享存储器互连网络Pn存储器 C 共享缓存集中共享分布共享处理机数8301000限制交换机的延迟结点间间距和延迟数据局部性 目标:目标:减少平均数据访问时间,减少通信带宽。减少平均数据访问时间,减少通信带宽。32 2、一致性问题、一致性问题 包括包括CacheCach
2、e一致性、存储一致性两部分。一致性、存储一致性两部分。(1 1)CacheCache一致性一致性 指私有指私有CacheCache中共享数据的副本和共享存储器中共享数据之中共享数据的副本和共享存储器中共享数据之间的一致性。间的一致性。特征:特征:多处理器对相同存储单元的操作引起的一致性。多处理器对相同存储单元的操作引起的一致性。u:7u:?u:?P1 C u:5 u:5主存 P2 C u:5P3 C u:54(2 2)存储一致性)存储一致性 指多个处理器程序的执行次序与共享存储器中共享数据存指多个处理器程序的执行次序与共享存储器中共享数据存取次序之间的一致性。取次序之间的一致性。特征:特征:不
3、同处理器对不同存储单元的操作引起的一致性。不同处理器对不同存储单元的操作引起的一致性。a.A:=1b.print B,Cc.B:=1d.print A,Ce.C:=1f.print A,BA、B、C为共享变量(初始状态均为0)处理器1处理器2处理器3共享存储器 思考:思考:如何使存取次序的结果与执行次序的结果相同?如何使存取次序的结果与执行次序的结果相同?5(3 3)存储系统的一致性)存储系统的一致性 将对任何存储单元的操作排成一个全序,此序列与执行结将对任何存储单元的操作排成一个全序,此序列与执行结果一致,并且序列具有下列性质时,称存储系统是一致的:果一致,并且序列具有下列性质时,称存储系统
4、是一致的:1 1)任何进程)任何进程发出发出的操作所表现出来的序和该进程向存储的操作所表现出来的序和该进程向存储系统发出的序相同;系统发出的序相同;2 2)每个读操作返回的值是对相应单元的读操作前按串行)每个读操作返回的值是对相应单元的读操作前按串行顺序写入的最后的一个值。顺序写入的最后的一个值。一致性隐含性质:一致性隐含性质:写传播写传播写操作的效果对其他进程可见;写操作的效果对其他进程可见;写串行化写串行化所有进程以相同的顺序看到对所有进程以相同的顺序看到对某单元某单元的所的所有写操作。有写操作。思考:思考:为什么读不需要传播?为什么读不需要传播?63 3、原子性操作、原子性操作 具有下列
5、全部性质的操作称为原子操作:具有下列全部性质的操作称为原子操作:原子性:原子性:一个事务操作具有不可分和有限时间完成两个一个事务操作具有不可分和有限时间完成两个特性;特性;一致性:一致性:一个事务总是将程序由一个一致性状态转换成一个事务总是将程序由一个一致性状态转换成另一个一致性状态;另一个一致性状态;隔离性:隔离性:在一个事务完成前,该事务操作的效果不会对在一个事务完成前,该事务操作的效果不会对其他事务产生影响;其他事务产生影响;持续性:持续性:一旦事务完成,当系统失效时,事务操作的效一旦事务完成,当系统失效时,事务操作的效果仍会持续。果仍会持续。7 写操作串行化与写操作原子性:写操作串行化
6、与写操作原子性:写操作串行化:写操作串行化:是针对相同单元写操作的偏序。是针对相同单元写操作的偏序。P0:P1:RRW1W2W1W1W2R2R3 写操作原子性:写操作原子性:是针对所有单元写操作的全序。是针对所有单元写操作的全序。P0:P1:RRW1W2W1W1W2R2R3 写操作原子性扩充了写操作串行化。写操作原子性扩充了写操作串行化。8二、二、Cache一致性一致性1 1、CacheCache更新主存方法更新主存方法 写直达法:写直达法:处理器写处理器写CacheCache时,同时写主存;时,同时写主存;写回法:写回法:等到某等到某CacheCache块被替换时,才写主存。块被替换时,才写
7、主存。2 2、不一致性原因、不一致性原因 不同处理器对相同单元在各自不同处理器对相同单元在各自CacheCache的拷贝的异步写操作;的拷贝的异步写操作;多处理器中的进程迁移,而又不互相通报;多处理器中的进程迁移,而又不互相通报;绕过绕过CacheCache拷贝拥有者的拷贝拥有者的I/OI/O操作。操作。3 3、CacheCache一致性解决方法一致性解决方法 前两种原因:前两种原因:监听法(基于处理器间总线互连时)、监听法(基于处理器间总线互连时)、目录法(基于处理器间总线或网络互连时)。目录法(基于处理器间总线或网络互连时)。第三种原因:第三种原因:禁止法、刷新法。禁止法、刷新法。94 4
8、、总线监听一致性协议、总线监听一致性协议 思路:思路:利用总线监听一致性定义中的写传播信息实现。利用总线监听一致性定义中的写传播信息实现。总线事务:总线事务:由仲裁、命令由仲裁、命令/地址、数据三个阶段组成,总线地址、数据三个阶段组成,总线事务应具有顺序性和原子性。事务应具有顺序性和原子性。块状态:块状态:指示数据块的特征(无效、脏、共享、独占)。指示数据块的特征(无效、脏、共享、独占)。监听协议:监听协议:控制控制CacheCache块状态变化的策略,是一种分布式算块状态变化的策略,是一种分布式算法,可用状态转换图表示。法,可用状态转换图表示。策略:策略:基于作废、基于更新。基于作废、基于更
9、新。5 5、目录一致性协议、目录一致性协议 思路:思路:在每个共享存储器上建立一个目录,记录使用该数在每个共享存储器上建立一个目录,记录使用该数据的所有处理器信息和数据状态信息,处理器可根据这些信息据的所有处理器信息和数据状态信息,处理器可根据这些信息实现各实现各CacheCache的一致性。的一致性。106 6、I/OI/O操作与操作与CacheCache的一致性的一致性 禁止方法:禁止方法:存储空间中的某些段不允许进入存储空间中的某些段不允许进入CacheCache。刷新方法:刷新方法:操作系统在操作系统在I/OI/O操作前,将有关的段先从操作前,将有关的段先从CacheCache刷新过刷
10、新过来,然后再进行来,然后再进行I/OI/O操作。操作。11三、存储一致性三、存储一致性1 1、顺序一致性(、顺序一致性(SCSC)定义:定义:满足下列特性的多处理机系统是顺序一致的:满足下列特性的多处理机系统是顺序一致的:所有的执行结果都和所有处理器按某一顺序序列执行的所有的执行结果都和所有处理器按某一顺序序列执行的结果一致;结果一致;并且在该顺序序列中各处理器的并且在该顺序序列中各处理器的执行次序执行次序和它的和它的程序次程序次序序一致。一致。保证顺序一致性的充分条件:保证顺序一致性的充分条件:每个进程按照程序的执行次序发出存储操作;每个进程按照程序的执行次序发出存储操作;完成写操作前,进
11、程等待在此之前所有全局的写操作的完成写操作前,进程等待在此之前所有全局的写操作的完成;完成;完成读操作前,进程等待在此之前所有全局的读操作和完成读操作前,进程等待在此之前所有全局的读操作和写操作的完成。写操作的完成。12 顺序一致性的特征:顺序一致性的特征:某某PEPE取操作的结果为其他取操作的结果为其他PEPE对该单元最新存操作的结果;对该单元最新存操作的结果;存储次序与存储次序与全部操作对全部操作对的二元次序相一致;的二元次序相一致;在一个特定程序次序中出现的两个在一个特定程序次序中出现的两个操作操作,一定出现在同,一定出现在同一存储次序中;一存储次序中;对其他存操作而言,交换操作是原子操
12、作;对其他存操作而言,交换操作是原子操作;所有存和交换操作必须完整地结束。所有存和交换操作必须完整地结束。P0:RRW1W1W2P1:W2W1R2SSR3R2 顺序一致性对串行程序的影响:顺序一致性对串行程序的影响:编译器的各种优化编译技术要保证不改变存储操作次序;编译器的各种优化编译技术要保证不改变存储操作次序;系统结构的优化要保证不改变存储操作次序。系统结构的优化要保证不改变存储操作次序。132 2、弱一致性(、弱一致性(WCWC)定义:定义:满足下列条件的多处理机系统是弱一致的:满足下列条件的多处理机系统是弱一致的:在允许其他任何处理器的读写访问前,必须先完成所有在允许其他任何处理器的读
13、写访问前,必须先完成所有的同步访问;的同步访问;在允许其他任何处理器的同步访问前,必须先完成所有在允许其他任何处理器的同步访问前,必须先完成所有的读写访问;的读写访问;各同步访问之间满足各同步访问之间满足顺序一致性顺序一致性。P0:RRW1W1W2P1:W2W1R2SSR3R2 弱一致性对串行程序的影响:弱一致性对串行程序的影响:同步点间的不同地址的读写操作不需要遵循程序次序。同步点间的不同地址的读写操作不需要遵循程序次序。14 弱一致性应用:弱一致性应用:可将存储器的访问进行缓冲,提高共享存储器的性能;可将存储器的访问进行缓冲,提高共享存储器的性能;可根据对存储器访问次序的不同限制,定义各种
14、不同的可根据对存储器访问次序的不同限制,定义各种不同的弱存储器模型。弱存储器模型。TSO TSO弱一致性模型的特征:弱一致性模型的特征:(全部存次序弱一致性)(全部存次序弱一致性)某某PEPE取操作的结果为其他取操作的结果为其他PEPE对该单元最新存操作的结果;对该单元最新存操作的结果;存储次序与存储次序与存操作对存操作对的二元次序相一致;的二元次序相一致;在一个特定程序次序中出现的两个在一个特定程序次序中出现的两个存操作存操作,一定出现在,一定出现在同一存储次序中;同一存储次序中;对其他存操作而言,交换操作是原子操作;对其他存操作而言,交换操作是原子操作;所有存和交换操作必须完整地结束。所有
15、存和交换操作必须完整地结束。153 3、处理器一致性(、处理器一致性(PCPC)定义:定义:满足下列条件的多处理机系统是处理器一致的:满足下列条件的多处理机系统是处理器一致的:相关于其他任一处理器而言,进行某读操作前,必须先相关于其他任一处理器而言,进行某读操作前,必须先完成之前所有的读操作;完成之前所有的读操作;相关于其他任一处理器而言,进行某写操作前,必须先相关于其他任一处理器而言,进行某写操作前,必须先完成之前所有的读和写操作。完成之前所有的读和写操作。P0:RRW1W1W2P1:W2W1R2SSR3R2 处理器一致性对串行程序的影响:处理器一致性对串行程序的影响:不同地址的写操作后的读
16、操作可越过写操作进行访问。不同地址的写操作后的读操作可越过写操作进行访问。处理器一致性应用:处理器一致性应用:可实现存储器的访问缓冲和流水操作。可实现存储器的访问缓冲和流水操作。164 4、释放一致性(、释放一致性(RCRC)定义:定义:满足下列条件的多处理机系统是释放一致的:满足下列条件的多处理机系统是释放一致的:相关于其他任一处理器而言,在进行读写操作之前,必相关于其他任一处理器而言,在进行读写操作之前,必须先完成之前所有的获得操作;须先完成之前所有的获得操作;相关于其他任一处理器而言,在进行释放操作之前,必相关于其他任一处理器而言,在进行释放操作之前,必须先完成之前所有的读写操作;须先完
17、成之前所有的读写操作;所有的特殊操作(获得和释放)之间满足所有的特殊操作(获得和释放)之间满足处理机一致性处理机一致性。P0:RW1W2P1:W2R1R2SA1SR1SA1SR1RR3R1P0:RW1W2P1:W2R1R2SA1SR1SA2SR2RR3R1175 5、存储一致性模型比较、存储一致性模型比较顺序一致性(顺序一致性(SC)任何执行结果认为是在多线程顺序机器上各操作交错执行的结果处理机一致性(处理机一致性(PC)每台处理机发出的写操作顺序不会乱,但两台处理机发出的写操作顺序可能会不一样弱一致性(弱一致性(WC)程序员利用同步操作确保顺序一致性释放一致性(释放一致性(RC)具有获得和释
18、放两类同步操作的弱一致性,每类操作保证处理机一致性强模型非严格模型18 顺序一致性模型与非严格一致性模型比较:顺序一致性模型与非严格一致性模型比较:主要在对共享地址的写主要在对共享地址的写-读、写读、写-写、读写、读-读、读读、读-写操作写操作间的次序要求不同;间的次序要求不同;非严格一致性模型能够提供比顺序一致性模型更优的性非严格一致性模型能够提供比顺序一致性模型更优的性能。能。非严格存储一致性与非严格存储一致性与CacheCache一致性的关系:一致性的关系:CacheCache一致性提供了传播写入新值的机制,存储一致性一致性提供了传播写入新值的机制,存储一致性提供了何时传播写入值的附加机
19、制;提供了何时传播写入值的附加机制;CacheCache一致性过程是非原子性的操作,存储一致性的读一致性过程是非原子性的操作,存储一致性的读写和交换操作是原子性的。写和交换操作是原子性的。19第二节第二节 基于监听的基于监听的CacheCache一致性协议一致性协议 Cache Cache更新策略:更新策略:写策略:写直达法、写回法;写策略:写直达法、写回法;写丢失分配策略:不按写分配方法、按写分配方法。写丢失分配策略:不按写分配方法、按写分配方法。Cache Cache块状态:块状态:写直达法更新策略中的块只有两种状态(有效态、无效写直达法更新策略中的块只有两种状态(有效态、无效态);态);
20、写回法更新策略的块可有三种或四种状态(共享态、专有写回法更新策略的块可有三种或四种状态(共享态、专有态、修改态、无效态)。态、修改态、无效态)。写直达法一般与不按写分配方法配对;写直达法一般与不按写分配方法配对;写回法一般与按写分配方法配对。写回法一般与按写分配方法配对。20 Cache Cache块状态:块状态:有效态有效态(V)V):此块与主存相同此块与主存相同(干净块干净块);无效态无效态(I)I):此块已作废此块已作废(空块空块)。一、一、VI写直达协议写直达协议 处理器操作:处理器操作:PrRdPrRd、PrWrPrWr。总线操作:总线操作:BusRdBusRd、BusWrBusWr
21、。状态转换图:状态转换图:VIPrWr/BusWrPrRd/-PrWr/BusWrPrRd/BusRdBusWr/-BusRd/-BusWr/-BusRd/-处理器启动的事务总线启动的事务说明:说明:A/B表示若A事务被观察到,则生成B事务。BusRd的结果由主存提供。21二、二、MSI写回作废式协议写回作废式协议1 1、状态转换图、状态转换图 Cache Cache块状态:块状态:修改态修改态(M)M):此块与主存不相同此块与主存不相同(脏块脏块),同一块的修改,同一块的修改态最多只在一个态最多只在一个CacheCache中存在;中存在;共享态共享态(S)S):此块与主存相同此块与主存相同(
22、干净块干净块),同一块的共享,同一块的共享态可在多个态可在多个CacheCache中存在;中存在;无效态无效态(I)I):此块已作废此块已作废(空块空块)。转下二页 Cache Cache块拥有者:块拥有者:块状态为块状态为M M态的态的CacheCache是该块的拥有者,否则主存是该块是该块的拥有者,否则主存是该块的拥有者。的拥有者。块的拥有者负责提供对该块的访问请求。块的拥有者负责提供对该块的访问请求。22 处理器操作:处理器操作:PrRdPrRdI I态产生扑空,态产生扑空,I I态导致总线操作;态导致总线操作;PrWrPrWrI I态产生扑空,态产生扑空,S/IS/I态导致总线操作(先
23、态导致总线操作(先排他读数排他读数据,然后改变状态并在新状态据,然后改变状态并在新状态M下写数据下写数据)。)。总线操作(事务):总线操作(事务):BusRdBusRd由扑空的由扑空的PrRdPrRd产生,由存储系统(可为其他的产生,由存储系统(可为其他的CacheCache)提供数据,其他)提供数据,其他CacheCache相应块(读监听命中)有效;相应块(读监听命中)有效;BusRdXBusRdX由由PrWrPrWr产生,由存储系统(可为其他的产生,由存储系统(可为其他的CacheCache)提供数据,其他提供数据,其他CacheCache相应块(排他读相应块(排他读/写监听命中)作废;写
24、监听命中)作废;转下页 BusWBBusWB-由替换动作产生,处理器观察不到,由由替换动作产生,处理器观察不到,由CacheCache提提供数据,主存被更新。供数据,主存被更新。23 状态转换图:状态转换图:返回上二页返回上页返回下页返回下二页PrWr/-PrRd/-PrRd/-MIPrRd/BusRdS 说明:说明:虚线均为监听命中的响应;S态产生的BusRdX不需要数据,I态产生的BusRdX需要块数据。PrWr/(BusRdX+newPrWr)PrWr/(BusRdX+newPrWr)BusRd/-BusRd/FlushBusRd/-BusRdX/-BusRdX/FlushBusRdX/
25、-CaInvd/BusWBCaInvd/-24 替换操作:替换操作:由逻辑上由逻辑上I I态(不存在)的块的态(不存在)的块的PrRdPrRd或或PrWrPrWr操作产生,此操作产生,此时时CacheCache中无中无I I态的块存在。态的块存在。分两个步骤完成替换操作:对被替换的块进行分两个步骤完成替换操作:对被替换的块进行CaInvdCaInvd操操作、对新调进的块(作、对新调进的块(I I态)进行态)进行PrRdPrRd或或PrWrPrWr操作。操作。被替换的块被替换的块M M态时产生态时产生BusWBBusWB操作,其他态无总线操作。操作,其他态无总线操作。新调进的块新调进的块按操作类
展开阅读全文