并行计算机体系结构第五章.ppt
《并行计算机体系结构第五章.ppt》由会员分享,可在线阅读,更多相关《并行计算机体系结构第五章.ppt(191页珍藏版)》请在三一办公上搜索。
1、第五章 并行存储系统和同步机制,并行存储系统和同步机制,计算机逻辑器件速度大幅提高,致使系统与存储机制之间的速度差距日益增大,存储系统已经成为计算机系统的速度瓶颈。多体并行、多体交叉宽字访问和顺序交叉访问存储器层次结构,层次存储系统,层次存储系统,在一般计算机系统中,有两种存储系统:Cache存储系统:由Cache和主存储器构成 主要目的:提高存储器速度,解决主存速度不足,虚拟存储系统:由主存储器和硬盘构成 主要目的:扩大存储器容量,解决主存容量不足,存储系统的容量要求:提供尽可能大的地址空间能够随机访问方法有两种:只对系统中存储容量最大的那个存储器进行编址,其他存储器只在内部编址或不编址 C
2、ache存储系统另外设计一个容量很大的逻辑地址空间,把相关存储器都映射这个地址空间中 虚拟存储系统,存储系统的价格计算公式:当S2S1时,CC2 S2与S1不能相差太大,存储系统的速度表示方法:访问周期、存取周期、存储周期、存取时间等命中率定义:在M1存储器中访问到的概率 其中:N1是对M1存储器的访问次数 N2是对M2存储器的访问次数访问周期与命中率的关系:THT1(1H)T2 当命中率H1时,TT1,存储系统的访问效率:访问效率主要与命中率和两级存储器的速度之比有关例3.1:假设T2T,在命中率H为0.9和0.99两种情况下,分别计算存储系统的访问效率。解:,当H0.9时,e11(0.95
3、(10.9)0.72,当H0.99时,e21(0.995(10.99)0.96,提高存储系统速度的两条途径:一是提高命中率H,二是两个存储器的速度不要相差太大其中:第二条有时做不到(如虚拟存储器),这时,只能依靠提高命中率例3.2:在虚拟存储系统中,两个存储器的速度相差特别悬殊,例如:T2105 T。如果要使访问效率到达e0.9,问需要有多高的命中率?,解:,0.9H90000(1-H)189999.1 H89999计算得:H0.999998888877777 0.999999,5.采用预取技术提高命中率 方法:不命中时,把M2存储器中相邻多个单元组成的一个数据块取出来送入M1存储器中。,计算
4、公式:其中:H是采用预取技术之后的命中率 H是原来的命中率 n为数据块大小与数据重复使用次数的乘积,例3.3:在一个Cache存储系统中,当Cache的块大小为一个字时,命中率H0.8;假设数据的重复利用率为5,T25T1。计算块大小为个字时,Cache存储系统的命中率?并分别计算访问效率。,解:n4520,采用预取技术之后,命中率提高到:,证明方法一:采用预取技术之后,不命中率(1-H)降低倍:,证明方法二:在原有命中率的计算公式中,把访问次数扩大到n倍。由于采用了预取技术,命中次数为:nN1(n-1)N2,不命中次数仍为N2,因此新的命中率为:,存储系统的层次结构,多个层次的存储器:第1层
5、:Register Files(寄存器堆)第2层:Buffers(Lookahead)(先行缓冲栈)第3层:Cache(高速缓冲存储器)第4层:Main Memory(主存储器)第5层:Online Storage(联机存储器)第6层:Off-line Storage(脱机存储器)用i表示层数,则有:工作周期TiTi+1,存储容量:SiSi+1,单位价格:CiCi+1,存储层次的四个问题,1.当把一个块调入高一层(靠近CPU)存储器时,可以放在哪些位置上?(映象规则),2.当所要访问的块在高一层存储器中时,如何找到该块?(查找算法),3.当发生失效时,应替换哪一块?(替换算法),4.当进行写访
6、问时,应进行哪些操作?(写策略),多体并行,多套地址寄存器和控制逻辑1.高位交叉访问存储器主要目的:扩大存储器容量实现方法:用地址码的高位部分区分存储体号要求每个模块都有各自独立的控制部件,每个模块均可独立工作。但系统地址的连续空间落在同一存储体内,容易发生访存冲突。并行存取的可能性很小。,交叉访问存储器,高位交叉访问存储器结构框图,例3.4:用4M字4位的存储芯片组成16M32位的主存储器。共用存储芯片:用最高2位地址经译码后产生的信号,控制各组存储芯片CS。每组中的32根数据线分别对应直接相连,称为“线或”方式。,低位交叉访问存储器 主要目的:提高存储器访问速度 实现方法:用地址码的低位部
7、分区分存储体号要求每个模块都有各自独立的控制部件,每个模块均可独立工作。系统地址在一个存储体内部是不连续的,对连续地址的访问分布在不同的存储体中,可避免存储体访问冲突。理想情况下,即一个模m的多体交叉访问存储器在不发生分体冲突时的频宽是单体存储器频宽的m倍。,低位交叉访问存储器结构框图,地址编码方法:由8个存储体构成的低位交叉编址方式,n个存储体分时启动 一种采用流水线方式工作的并行存储器 每存储体的启动间隔为:t 其中:Tm为每个存储体的访问周期,n为存储体个数。,访问冲突 共有n个存储体,每个存储周期只能取到k个有效字,其余n-k个存储体有冲突。假设p(k)是k的概率密度函数,即p(1)是
8、k1的概率,p(2)是k2的概率,,p(n)是kn的概率。k的平均值为:N是每个存储周期能够访问到的平均有效字的个数。通常把 N称为并行存储器的加速比。,定义转移概率为g,即读出的是转移指令,且转移成功的概率。这时有:p(1)g p(2)(1-p(1)g(1-g)g p(3)(1-p(1)-p(2)g(1-g)2g p(k)(1-g)k-1g(k1,2,n1)p(n)(1-g)n-1,则:1g2(1-g)g3(1-g)2g(n-1)(1-g)n-2gn(1-g)n-1,若g=0,n个存储体的加速倍数达到最大值n。若g=1,n个存储体的加速倍数只有1,与单个存储体完全一样。,无冲突访问存储器,1
9、.一维数组(向量)的无冲突访问存储器 按连续地址访问,没有冲突,位移量为2的变址访问,速度降低一倍,,具体方法:存储体的个数取质数。原因:变址位移量必然与存储体个数互质 设地址间距为d=1,m体交叉存储器的工作体数为m=m/(m,d),其中(m,d)为m和d的最大公约数。当m=T/时,必将引起流水线断流,所以m取为质数。,2.二维数组的无冲突访问存储器要求:一个nn的二维数组,按行、列、对角线和反对角线访问,并且在不同的变址位移量情况下,都能实现无冲突访问。顺序存储:按行、对角线访问没有冲突,但按列访问每次冲突,错位存储:按行、按列访问无冲突,但按对角线访问有冲突,nn二维数组无冲突访问存储方
10、案(P Budnik 和 D J Kuck提出):并行存储体的个数mn,并且取质数,同时还要在行、列方向上错开一定的距离存储数组元素。设同一列相邻元素在并行存储器中错开d1个存储体存放,同一行相邻元素在并行存储器中错开d2个存储体存放。当m22p1(p为任意自然数)时,能够同时实现按行、按列、按对角线和按反对角线无冲突访问的充要条件是:d12P,d21。,例如:44的二维数组,取并行存储体的个数m5,由关系式m22P1,解得到p1,计算得到:d1212 d21,37,nn数组中的任意一个元素aij在无冲突并行存储器中的体号地址和体内地址的计算公式:体号地址:(2P ijk)MOD m 体内地址
11、:i 其中:0in1,0jn1,k是数组的第一个元素a00所在体号地址,通常k=0,m是并行存储体的个数,要求mn且为质数,p是满足m22P1关系的任意自然数。主要缺点:浪费存储单元 对于nn数组,有1/(n+1)的存储单元浪费 主要优点:实现简单 行元素顺序存储,列元素按地址取模顺序存储,3.二维数组的无冲突访问存储器(之二)规则:对于任意一个nn的数组,如果能够找到满足n22P关系的任意自然数p,则这个二维数组就能够使用n个并行存储体实现按行、列、对角线和反对角线的无冲突访问。44数组用4个存储体的无访问冲突存储方案,实现方法:假设aij是44数组中的任意一个元素,下标i和j都可以用两位二
12、进制表示。假设i和j的高位和低位分别为iH、iL、jH和jL,则aij在无冲突并行存储器中的体号地址和体内地址如下:体号地址:2(iL jH)(iH iL jL)体内地址:j 其中:0i3,0j3主要优点:没有浪费的存储单元主要缺点:在执行并行读和写操作时需要借助比较复杂的对准网络。,Cache主存存储系统,存储空间分割与地址计算,映象规则,全相联映象 全相联:主存中的任一块可以被放置到 Cache中的任意一个位置。对比:阅览室位置 随便坐 特点:空间利用率最高,冲突概率最低,实现最复杂。,Cache和主存分块,2.直接映象,直接映象:主存中的每一块只能被放置到 Cache中唯一的一个位置。对
13、比:阅览室位置 只有一个位置可以坐特点:空间利用率最低,冲突概率最高,实现最简单。对于主存的第i 块,若它映象到Cache的第j 块,则:ji mod(M)(M为Cache的块数),组相联:主存中的每一块可以被放置Cache中唯一的一个组中的任何一个位置。组相联是直接映象和全相联的一种折衷,设M2m,则当表示为二进制数时,j 实际 上就是i 的低m 位:,3.组相联映象,m位,j,i:,上述的j 和k 通常称为索引,组的选择常采用位选择算法 若主存第i 块映象到第k 组,则:ki mod(G)(G为Cache的组数)设G2g,则当表示为二进制数时,k 实际上就是i 的低 g 位:,g 位,k,
14、i:,绝大多数计算机的Cache:n 4 想一想:相联度一定是越大越好?,n 路组相联:每组中有n 个块(nM/G),n 称为相联度。相联度越高,Cache空间的利用率就越高块冲突概率就越低,失效率也就越低。,全相联,直接映象,组相联,n(路数),G(组数),M,M,1,1,1nM,1GM,查找方法,如何确定Cache中是否有所要访问的块?若有的话如何确定其位置?,目录表的结构,只需查找候选位置所对应的目录表项,并行查找与顺序查找,提高性能的重要思想:主候选位置(MRU块)前瞻执行,并行查找的实现方法:,相联存储器 单体多字存储器比较器,路组相联Cache的查找过程,直接映象Cache的查找过
15、程,替换算法,所要解决的问题:当新调入一块,而Cache又已被占满时,替换哪一块?,1.随机法 优点:实现简单2.FIFO3.LRU 优点:失效率低,写策略,1.“写”操作所占的比例 Load指令:26 Store指令:9“写”在所有访存操作中所占的比例:9/(100269)7“写”在访问Cache操作中所占的比例:9/(269)25,3“写”访问有可能导致Cache和主存内容的不一致,2.“写”操作必须在确认是命中后才可进行,两种写策略 写直达法 执行“写”操作时,不仅写入Cache,而且 也写入下一级存储器。写回法 执行“写”操作时,只写入Cache。仅当 Cache中相应的块被替换时,才
16、写回主存。(设置“污染位”),5两种写策略的比较 写回法的优点:速度快,所使用的存储器频 带较低;写直达法的优点:易于实现,一致性好。,6.写缓冲器,写策略与调块 写回法 按写分配 写直达法 不按写分配,“写”操作时的调块 按写分配(写时取)写失效时,先把所写单元所在的块调入 Cache,再行写入。不按写分配(绕写法)写失效时,直接写入下一级存储器而不调块。,Cache的结构,例子:DEC的Alpha AXP21064中的内部数据Cache,简介 容量:8KB 块大小:32B 块数:256 采用不按写分配 映象方法:直接映象“写”策略:写直达 写缓冲器大小:4个块,混合Cache与分离Cach
17、e(1)优缺点(2)失效率的比较,失效情况下的操作,16 KB,容量,1 KB,2 KB,4 KB,8 KB,32 KB,指令 Cache,3.06%,失 效 率 的 比 较,64 KB,128 KB,数据 Cache,混合 Cache,2.26%,1.78%,1.10%,0.64%,0.39%,0.15%,0.02%,24.61%,20.57%,15.94%,10.19%,6.47%,4.82%,3.77%,2.88%,13.34%,9.78%,7.24%,4.57%,2.87%,1.99%,1.36%,0.95%,访问指令Cache的百分比指令Cache的失效率访问数据Cache的百分比数
18、据Cache的失效率,Cache性能分析,平均访问时间 平均访问时间命中时间失效率失效开销,失效率,假设Cache的命中时间为1个时钟周期,失效开销为50 个时钟周期,在混合Cache中一次load或store操作访问Cache的命中时间都要增加一个时钟周期(因为混合Cache只有一个端口,无法同时满足两个请求。混合Cache会导致结构冲突),根据表所列的失效率,试问指令Cache和数据Cache容量均为16KB的分离Cache和容量为32KB的混合Cache相比,哪种Cache的失效率更低?又假设采用写直达策略,且有一个写缓冲器,并且忽略写缓冲器引起的等待。请问上述两种情况下平均访存时间各是
19、多少?,解:如前所述,约75%的访存为取指令。因此,分离Cache的总体失效率为:(75%0.64%)(25%6.47%)2.10%根据表,容量为32KB的混合Cache的失效率略低一些,只有1.99%.,平均访存时间公式可以分为指令访问和数据访问两部分:平均访存时间指令所占的百分比(指令命中时间指令失效率失效开销)数据所占的百分比(数据命中时间数据失效率失效开销)所以,两种结构的平均访存时间分别为:平均访存时间分离75%(10.64%50)25%(16.47%50)(75%1.32)(25%4.325)0.9901.0592.05,平均访存时间混合75%(11.99%50)25%(111.9
20、9%50)(75%1.995)(25%2.995)1.4960.7492.24,程序执行时间 CPU时间(CPU执行周期数存储器停顿周期数)时钟周期时间 其中:存储器停顿周期数访存次数失效率失效开销,CPU时间ICCPIexe每条指令的平均存储 器停顿周期数时钟周期时间,CPU时间ICCPIexe访存次数/指令数 失效率失效开销时钟周期时间,例 我们用一个和Alpha AXP类似的机器作为第一个例子。假设Cache失效开销为50个时钟周期,当不考虑存储器停顿时,所有指令的执行时间都是2.0个时钟周期,Cache的失效率为2%,平均每条指令访存1.33次。试分析Cache对性能的影响。,考虑Ca
21、che的失效后,性能为:CPU 时间有cacheIC(2.0(1.332%50)时钟周期时间 IC3.33时钟周期时间,CPU 时间IC(CPIexe)时钟周期时间,存储器停顿周期数,指令数,解:,实际CPI:3.333.33/2.0=1.67(倍),CPU时间也增加为原来的1.67倍。但若不采用Cache,则:CPI2.0+501.3368.5,考虑两种不同组织结构的Cache:直接映象Cache和两路组相联Cache,试问它们对CPU的性能有何影响?先求平均访存时间,然后再计算CPU性能。分析时请用以下假设:理想Cache(命中率为100)情况下的CPI 为2.0,时钟周期为2ns,平均每
22、条指令 访存1.3次。两种Cache容量均为64KB,块大小都是32 字节。,后图说明,在组相联Cache中,我们必须增 加一个多路选择器,用于根据标识匹配结果 从相应组的块中选择所需的数据。因为CPU 的速度直接与Cache命中的速度紧密相关,所 以对于组相联Cache,由于多路选择器的存 在而使CPU的时钟周期增加到原来的1.10倍。这两种结构Cache的失效开销都是70ns。在 实际应用中,应取整为整数个时钟周期。命中时间为1个时钟周期,64KB直接映象 Cache的失效率为1.4%,相同容量的两路组 相联Cache的失效率为1.0%。,由:平均访存时间命中时间失效率失效开销得:平均访存
23、时间1路2.0(0.01470)2.98ns平均访存时间2路2.01.10(0.01070)2.90ns,由:CPU 时间IC(CPIexe每条指令的平均存储器 停顿周期数)时钟周期时间 IC(CPIexe时钟周期时间 每条指令的平均存储器停顿时间),解:,CPU时间1路IC(2.02(1.30.01470)5.27ICCPU时间2路IC(2.021.10(1.30.01070)5.31IC,5.31IC,CPU时间1路,1.01,5.27IC,CPU时间2路,平均访存时间命中时间失效率失效开销可以从三个方面改进Cache的性能:(1)降低失效率(2)减少失效开销(3)减少Cache命中,改进
24、Cache性能,(1)强制性失效(Compulsory miss)当第一次访问一个块时,该块不在Cache中,需从下一级存储器中调入Cache,这就是强制性失效。(冷启动失效,首次访问失效。)(2)容量失效(Capacity miss)如果程序执行时所需的块不能全部调入Cache中,则当某些块被替换后,若又重新被访问,就会发生失效。这种失效称为容量失效。,降低Cache失效率的方法,(3)冲突失效(Conflict miss)在组相联或直接映象Cache中,若太多 的块映象到同一组(块)中,则会出现该组 中某个块被别的块替换(即使别的组或块有 空闲位置),然后又被重新访问的情况。这 就是发生了
25、冲突失效。(碰撞失效,干扰失效),可以看出:(1)相联度越高,冲突失效就越少;(2)强制性失效和容量失效不受相联度的影响;(3)强制性失效不受Cache容量的影响,但容 量失效却随着容量的增加而减少;(4)表中的数据符合2:1的Cache经验规则,即 大小为N 的直接映象Cache的失效率约等于 大小为N/2 的两路组相联Cache的失效率。,强制性失效:增加块大小,预取(本身很少)容量失效:增加容量(抖动现象)冲突失效:提高相联度(理想情况:全相联),减少三种失效的方法,许多降低失效率的方法会增加命中时间或失效开销,增加Cache块大小,1.失效率与块大小的关系(1)对于给定的Cache容量
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 并行 计算机体系结构 第五
链接地址:https://www.31ppt.com/p-6571337.html