并行计算机体系结构第五章.ppt
《并行计算机体系结构第五章.ppt》由会员分享,可在线阅读,更多相关《并行计算机体系结构第五章.ppt(191页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第五章第五章 并行存储系统并行存储系统和同步机制和同步机制并行存储系统和同步机制计算机逻辑器件速度大幅提高,致使系统与存储机制计算机逻辑器件速度大幅提高,致使系统与存储机制之间的速度差距日益增大,存储系统已经成为计算机之间的速度差距日益增大,存储系统已经成为计算机系统的速度瓶颈。系统的速度瓶颈。多体并行、多体交叉多体并行、多体交叉宽字访问和顺序交叉访问宽字访问和顺序交叉访问存储器层次结构存储器层次结构层次存储系统层次存储系统层次存储系统在一般计算机系统中,有两种存储系统:在一般计算机系统中,有两种存储系统:Cache存储系统:由存储系统:由Cache和主存储器构成和主存储器构成主要目的:提高存
2、储器速度主要目的:提高存储器速度,解决主存速度不足解决主存速度不足虚拟存储系统:由主存储器和硬盘构成虚拟存储系统:由主存储器和硬盘构成主要目的:扩大存储器容量主要目的:扩大存储器容量,解决主存容量不足解决主存容量不足存储系统存储系统的容量的容量要求:要求:提供尽可能大的地址空间提供尽可能大的地址空间能够随机访问能够随机访问方法有两种:方法有两种:只对系统中存储容量最大的那个存储器进行编只对系统中存储容量最大的那个存储器进行编址,其他存储器只在内部编址或不编址址,其他存储器只在内部编址或不编址 CacheCache存储系统存储系统另外设计一个容量很大的逻辑地址空间,把相另外设计一个容量很大的逻辑
3、地址空间,把相关存储器都映射这个地址空间中关存储器都映射这个地址空间中 虚拟存储系统虚拟存储系统存储系统的价格存储系统的价格计算公式:计算公式:当当S2S1时,时,CC2S2与与S1不能相差太大不能相差太大存储系统存储系统的速度的速度表示方法:访问周期、存取周期、存储周期、表示方法:访问周期、存取周期、存储周期、存取时间等存取时间等命中率定义:命中率定义:在在M1M1存储器中访问到的概率存储器中访问到的概率 其中其中:N1N1是对是对M1M1存储器的访问次数存储器的访问次数 N2N2是对是对M2M2存储器的访问次数存储器的访问次数访问周期与命中率的关系:访问周期与命中率的关系:T THT1HT
4、1(1(1H)T2H)T2 当命中率当命中率H1H1时,时,TT1TT1存储系统的访问效率:存储系统的访问效率:访问效率主要与命中率和两级存储器的速度之比有关访问效率主要与命中率和两级存储器的速度之比有关例例3.13.1:假设:假设T T2 2T T,在命中率,在命中率H H为为0.90.9和和0.990.99两种情两种情况下,分别计算存储系统的访问效率。况下,分别计算存储系统的访问效率。解:解:当当H0.9时,时,e11(0.95(10.9)0.72当当H0.99时,时,e21(0.995(10.99)0.96提高存储系统速度的两条途径:提高存储系统速度的两条途径:一是提高命中率一是提高命中
5、率H H,二是两个存储器的速度不要相差太大二是两个存储器的速度不要相差太大其中:第二条有时做不到其中:第二条有时做不到(如虚拟存储器如虚拟存储器),这时,只,这时,只能能依靠提高命中率依靠提高命中率例例3.23.2:在虚拟存储系统中,两个存储器的速度相差:在虚拟存储系统中,两个存储器的速度相差特别悬殊,例如:特别悬殊,例如:T T2 210105 5 T T。如果要使访问效率。如果要使访问效率到达到达e e0.90.9,问需要有多高的命中率?,问需要有多高的命中率?解:解:0.9H90000(1-H)189999.1 H89999计算得:计算得:H0.999998888877777 0.999
6、9995.采用预取技术提高命中率采用预取技术提高命中率 方法:方法:不命中时,把不命中时,把M2存储器中相邻多个单存储器中相邻多个单元组成的一个数据块取出来送入元组成的一个数据块取出来送入M1存储器中。存储器中。计算公式:计算公式:其中:其中:H H是采用预取技术之后的命中率是采用预取技术之后的命中率 H H是原来的命中率是原来的命中率 n n为数据块大小与数据重复使用次数的乘积为数据块大小与数据重复使用次数的乘积例例3.3:在一个Cache存储系统中,当Cache的块大小为一个字时,命中率H0.8;假设数据的重复利用率为5,T25T1。计算块大小为个字时,Cache存储系统的命中率?并分别计
7、算访问效率。解:解:n4520,采用预取技术之后,命中率提高到:证明方法一:证明方法一:采用预取技术之后,不命中率不命中率(1-H)(1-H)降低倍:降低倍:证明方法二:证明方法二:在原有命中率的计算公式中,把访问次数扩大到n倍。由于采用了预取技术,命中次数为:nN1(n-1)N2,不命中次数仍为N2,因此新的命中率为:存储系统的层次结构多个层次的存储器:多个层次的存储器:第第1层:层:RegisterFiles(寄存器堆寄存器堆)第第2层:层:Buffers(Lookahead)(先行缓冲栈先行缓冲栈)第第3层:层:Cache(高速缓冲存储器高速缓冲存储器)第第4层:层:MainMemory
8、(主存储器主存储器)第第5层:层:OnlineStorage(联机存储器联机存储器)第第6层:层:Off-lineStorage(脱机存储器脱机存储器)用用i表示层数,表示层数,则有:则有:工作周期工作周期TiTi+1,存储容量:存储容量:SiSi+1,单位单位价格:价格:CiCi+1存储层次的四个问题1.当把一个块调入高一层(靠近CPU)存储器时,可以放在哪些位置上?(映象规则)2.当所要访问的块在高一层存储器中时,如何找到该块?(查找算法)3.当发生失效时,应替换哪一块?(替换算法)4.当进行写访问时,应进行哪些操作?(写策略)多体并行多体并行,多套地址寄存器和控制逻辑多套地址寄存器和控制
9、逻辑1.1.高位交叉访问存储器高位交叉访问存储器主要目的:主要目的:扩大存储器容量扩大存储器容量实现方法:实现方法:用地址码的高位部分区分存储体号用地址码的高位部分区分存储体号要求要求每个模块都有各自独立的控制部件,每个模每个模块都有各自独立的控制部件,每个模块均可独立工作。但系统地址的连续空间落在块均可独立工作。但系统地址的连续空间落在同一存储体内,容易发生访存冲突。并行存取同一存储体内,容易发生访存冲突。并行存取的可能性很小。的可能性很小。交叉访问存储器高位交叉访问存储器结构框图高位交叉访问存储器结构框图例例3.43.4:用用4M4M字字4 4位位的的存存储储芯芯片片组组成成16M16M3
10、232位位的主存储器。共用存储芯片:的主存储器。共用存储芯片:用用最最高高2 2位位地地址址经经译译码码后后产产生生的的信信号号,控控制制各各组组存储芯片存储芯片CSCS。每每组组中中的的3232根根数数据据线线分分别别对对应应直直接接相相连连,称称为为“线或线或”方式。方式。低位交叉访问存储器低位交叉访问存储器 主要目的:提高存储器访问速度主要目的:提高存储器访问速度 实现方法:用地址码的低位部分区分存储体号实现方法:用地址码的低位部分区分存储体号要求每个模块都有各自独立的控制部件,每个模要求每个模块都有各自独立的控制部件,每个模块均可独立工作。系统地址在一个存储体内部是块均可独立工作。系统
11、地址在一个存储体内部是不连续的,对连续地址的访问分布在不同的存储不连续的,对连续地址的访问分布在不同的存储体中,可避免存储体访问冲突。体中,可避免存储体访问冲突。理想情况下,即一个模理想情况下,即一个模m m的多体交叉访问存储器的多体交叉访问存储器在不发生分体冲突时的频宽是单体存储器频宽的在不发生分体冲突时的频宽是单体存储器频宽的m m倍。倍。低位交叉访问存储器结构框图低位交叉访问存储器结构框图 地址编码方法:地址编码方法:由由8 8个存储体构成的低位交叉编址方式个存储体构成的低位交叉编址方式 n n个存储体分时启动个存储体分时启动 一种采用流水线方式工作的并行存储器一种采用流水线方式工作的并
12、行存储器 每存储体的启动间隔为:每存储体的启动间隔为:t t 其中:其中:T Tm m为每个存储体的访问周期为每个存储体的访问周期,n n为存储体个数。为存储体个数。访问冲突访问冲突 共有共有n n个存储体,每个存储周期只能取到个存储体,每个存储周期只能取到k k个个有效字有效字,其余其余n-kn-k个存储体有冲突。个存储体有冲突。假设假设p(k)p(k)是是k k的概率密度函数,即的概率密度函数,即p(1)p(1)是是k k1 1的的概率,概率,p(2)p(2)是是k k2 2的概率,的概率,,p(n),p(n)是是k kn n的的概率。概率。k k的平均值为:的平均值为:N N是每个存储周
13、期能够访问到的平均有效字的个是每个存储周期能够访问到的平均有效字的个数。数。通常把通常把 N N称为并行存储器的加速比。称为并行存储器的加速比。定义转移概率为定义转移概率为g g,即读出的是转移指令,且转,即读出的是转移指令,且转移成功的概率。这时有:移成功的概率。这时有:p(1)p(1)g g p(2)p(2)(1-p(1)g(1-p(1)g(1-g)g(1-g)g p(3)p(3)(1-p(1)-p(2)g(1-p(1)-p(2)g(1-g)(1-g)2 2g g p(k)p(k)(1-g)(1-g)k-1k-1g(kg(k1,2,1,2,n,n1)1)p(n)p(n)(1-g)(1-g)
14、n-1n-1则:则:1g1g2(1-g)g2(1-g)g3(1-g)3(1-g)2 2g g (n-1)(1-g)(n-1)(1-g)n-2n-2g gn(1-g)n(1-g)n-1n-1若若g=0,n个存储体的加速倍数达到最大值个存储体的加速倍数达到最大值n。若若g=1,n个存储体的加速倍数只有个存储体的加速倍数只有1,与单个存,与单个存储体完全一样。储体完全一样。无冲突访问存储器1.1.一维数组一维数组(向量向量)的无冲突访问存储器的无冲突访问存储器 按连续地址访问,没有冲突,按连续地址访问,没有冲突,位移量为位移量为2 2的变址访问,速度降低一倍,的变址访问,速度降低一倍,具体方法:具体
15、方法:存储体的个数取质数。存储体的个数取质数。原因:原因:变址位移量必然与存储体个数互质 设地址间距为设地址间距为d=1,md=1,m体交叉存储器的工作体体交叉存储器的工作体数为数为m m=m/(m,d)=m/(m,d),其中,其中(m,d)(m,d)为为m m和和d d的最大的最大公约数。当公约数。当m m=T/=T/时,必将引起流水线断时,必将引起流水线断流,所以流,所以m m取为质数。取为质数。2.2.二维数组的无冲突访问存储器二维数组的无冲突访问存储器要求:要求:一个一个n nn n的二维数组,按行、列、对角的二维数组,按行、列、对角线和反对角线访问,并且在不同的变址位移线和反对角线访
16、问,并且在不同的变址位移量情况下,都能实现无冲突访问。量情况下,都能实现无冲突访问。顺序存储:按行、对角线访问没有冲突,但按顺序存储:按行、对角线访问没有冲突,但按列访问每次冲突列访问每次冲突 错位存储:错位存储:按行、按列访问无冲突,按行、按列访问无冲突,但按对角线访问有冲突但按对角线访问有冲突nn二维数组无冲突访问存储方案二维数组无冲突访问存储方案 (PBudnik和和 DJKuck提出提出 ):并行存储体的个数并行存储体的个数m mn n,并且取质数,同,并且取质数,同时还要在行、列方向上错开一定的距离存储时还要在行、列方向上错开一定的距离存储数组元素。数组元素。设同一列相邻元素在并行存
17、储器中错开设同一列相邻元素在并行存储器中错开d1d1个存储体存放,同一行相邻元素在并行存储个存储体存放,同一行相邻元素在并行存储器中错开器中错开d2d2个存储体存放。当个存储体存放。当m m2 22p2p1 1(p p为为任意自然数)时,能够同时实现按行、按列、任意自然数)时,能够同时实现按行、按列、按对角线和按反对角线无冲突访问的充要条按对角线和按反对角线无冲突访问的充要条件是:件是:d1d12 2P P,d2d21 1。例如:例如:44的二维数组,取并行存储体的个数的二维数组,取并行存储体的个数m5,由关系式由关系式m22P1,解得到,解得到p1,计算得到:,计算得到:d1212d2137
18、 n nn n数组中的任意一个元素数组中的任意一个元素a aijij在无冲突并行存储器中的在无冲突并行存储器中的体号地址和体内地址的计算公式:体号地址和体内地址的计算公式:体号地址:体号地址:(2(2P P i ij jk)MOD k)MOD m m 体内地址:体内地址:i i 其中:0in1,0jn1,k是数组的第一个元素a00所在体号地址,通常k=0,m是并行存储体的个数,要求mn且为质数,p是满足m22P1关系的任意自然数。主要缺点:主要缺点:浪费存储单元 对于对于n nn n数组数组,有有1/(n+1)1/(n+1)的存储单元浪费的存储单元浪费 主要优点:主要优点:实现简单 行元素顺序
19、存储,列元素按地址取模顺序存储行元素顺序存储,列元素按地址取模顺序存储3.3.二维数组的无冲突访问存储器二维数组的无冲突访问存储器(之二之二)规则:规则:对于任意一个对于任意一个nn的的数组,如果能够找到满足数组,如果能够找到满足n22P关系的任意自然数关系的任意自然数p,则这个二维数组就能够使,则这个二维数组就能够使用用n个并行存储体个并行存储体实现按行、列、对角线和反对角线实现按行、列、对角线和反对角线的无冲突访问。的无冲突访问。4 44 4数组用数组用4 4个存储体的无访问冲突存储方案个存储体的无访问冲突存储方案实现方法:实现方法:假设假设aij是是4 44 4数组中的任意一个元素,数组
20、中的任意一个元素,下标下标i和和j都可都可以用两位二进制表示。假设以用两位二进制表示。假设i和和j的高位和低位分别为的高位和低位分别为iH、iL、jH和和jL,则则aij在无冲突并行存储器中的体号地在无冲突并行存储器中的体号地址和体内地址如下:址和体内地址如下:体号地址:体号地址:2(iL jH)(iH iL jL)体内地址:体内地址:j其中:其中:0i3,0j3主要优点:主要优点:没有浪费的存储单元没有浪费的存储单元主要缺点:在执行并行读和写操作时需要借助比较复杂主要缺点:在执行并行读和写操作时需要借助比较复杂的对准网络。的对准网络。Cache主存存储系统存储空间分割与地址计算存储空间分割与
21、地址计算 映象规则全相联映象 全相联:主存中的任一块可以被放置到全相联:主存中的任一块可以被放置到 CacheCache中的任意一个位置。中的任意一个位置。对比:对比:阅览室位置阅览室位置 随便坐随便坐 特点:特点:空间利用率最高,冲突概率最低,空间利用率最高,冲突概率最低,实现最复杂。实现最复杂。CacheCache和主存分块和主存分块2.直接映象 直接映象:主存中的每一块只能被放置到直接映象:主存中的每一块只能被放置到 CacheCache中唯一的一个位置。中唯一的一个位置。对比:阅览室位置对比:阅览室位置 只有一个位置可以坐只有一个位置可以坐特点:空间利用率最低,冲突概率最高,实现特点:
22、空间利用率最低,冲突概率最高,实现最简单。最简单。对于主存的第对于主存的第i i 块,若它映象到块,若它映象到CacheCache的第的第j j 块,则块,则:j ji i mod(mod(M M)(M M为为CacheCache的块数)的块数)组相联:主存中的每一块可以被放置组相联:主存中的每一块可以被放置CacheCache中中唯一的一个组中的任何一个位置。唯一的一个组中的任何一个位置。组相联是直接映象和全相联的一种折衷组相联是直接映象和全相联的一种折衷 设设M M2 2m m,则当表示为二进制数时,则当表示为二进制数时,j j 实际实际 上就是上就是i i 的低的低m m 位:位:3.组
23、相联映象m位位ji:上述的上述的j j 和和k k 通常称为索引通常称为索引 组的选择常采用位选择算法组的选择常采用位选择算法 若主存第若主存第i i 块映象到第块映象到第k k 组,则组,则:k ki i modmod(G G)(G G为为CacheCache的组数)设的组数)设G G2 2g g,则当表,则当表示为二进制数时,示为二进制数时,k k 实际上就是实际上就是i i 的低的低 g g 位:位:g位位ki:绝大多数计算机的绝大多数计算机的Cache:Cache:n n 44 想一想:相联度一定是越大越好?想一想:相联度一定是越大越好?n n 路组相联:每组中有路组相联:每组中有n
24、n 个块个块(n nM M/G G),n n 称为相联度。相联度越高,称为相联度。相联度越高,CacheCache空间的利用空间的利用率就越高块冲突概率就越低,失效率也就越低。率就越高块冲突概率就越低,失效率也就越低。全相联全相联直接映象直接映象组相联组相联n n (路数路数)G G (组数组数)M MM M1 11 11 1n nM M1 1G GM M查找方法如何确定如何确定CacheCache中是否有所要访问的块?中是否有所要访问的块?若有的话如何确定其位置?若有的话如何确定其位置?目录表的结构目录表的结构 只需查找候选位置所对应的目录表项只需查找候选位置所对应的目录表项 并行查找与顺序
25、查找并行查找与顺序查找 提高性能的重要思想:主候选位置提高性能的重要思想:主候选位置(MRU(MRU块块)前瞻执行前瞻执行 并行查找的实现方法:并行查找的实现方法:l 相联存储器相联存储器l 单体多字存储器比较器单体多字存储器比较器 路组相联路组相联CacheCache的查找过程的查找过程 直接映象直接映象CacheCache的查找过程的查找过程替换算法 所要解决的问题:当新调入一块,而所要解决的问题:当新调入一块,而CacheCache又已被占满时,替换哪一块?又已被占满时,替换哪一块?1.1.随机法随机法 优点:实现简单优点:实现简单2.FIFO2.FIFO3.LRU3.LRU 优点:失效
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 并行 计算机体系结构 第五
限制150内