计算机系统结构第5章_存储系统.ppt
《计算机系统结构第5章_存储系统.ppt》由会员分享,可在线阅读,更多相关《计算机系统结构第5章_存储系统.ppt(178页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机系统结构计算机系统结构第五章第五章 存储系统存储系统5.1 存储系统介绍存储系统 指计算机中由存放程序和数据的各种存储设备、控制部件及管理信息调度的设备(硬件)和算法(软件)所组成的系统。计算机系统中,一般使用具有层次结构的存储系统,主要可分为三个存储层面:高速缓冲存储器、主存储器和辅助存储器。高速缓冲存储器主要用于改善主存储器与中央处理器(CPU)的速度匹配问题,而辅助存储器则主要用于扩大计算机系统的存储空间。5.1.1 存储系统的层次结构层次存储系统是指把各种不同存储容量、存取速度、访问方式和单位存储价格的存储器,按照一定的层次结构组成多层存储器,并通过管理软件和辅助硬件有机组合成统
2、一的存储体系,使计算机系统中使用到的各种程序和数据层次的分布到各个存储器中。辅助软硬件辅助软硬件主存主存辅存辅存图5-1 主/辅存结构5.1.1 5.1.1 存储系统的定义存储系统的定义 在一台计算机中,通常有多种存储器在一台计算机中,通常有多种存储器种类:种类:主存储器、主存储器、Cache、通用寄存器、缓冲存储器、通用寄存器、缓冲存储器、磁盘存储器、磁带存储器、光盘存储器等磁盘存储器、磁带存储器、光盘存储器等材料工艺:材料工艺:ECL、TTL、MOS、磁表面、激光,、磁表面、激光,SRAM,DRAM访问方式:访问方式:随机访问、直接译码、先进先出、随机访问、直接译码、先进先出、相联访问、相
3、联访问、块传送、文件组块传送、文件组 存储器的主要性能:存储器的主要性能:速度、容量、价格速度、容量、价格 速度速度用存储器的访问周期、读出时间、频带宽度等表示。容量容量用字节B、千字节KB、兆字节MB和千兆字节GB等单位表示。价格价格用单位容量的价格表示,例如:$C/bit。组成存储系统的关键:组成存储系统的关键:把速度、容量和价格不同的多个物理把速度、容量和价格不同的多个物理存储器组织成一个存储器,这个存储器的速度最快,存储容量存储器组织成一个存储器,这个存储器的速度最快,存储容量最大,单位容量的价格最便宜。最大,单位容量的价格最便宜。1.1.存储系统的定义存储系统的定义 两个或两个以上速
4、度、容量和价格各不相同的存储器用硬件、两个或两个以上速度、容量和价格各不相同的存储器用硬件、软件、或软件与硬件相结合的方法连接起来成为一个存储系统。这软件、或软件与硬件相结合的方法连接起来成为一个存储系统。这个存储系统对应用程序员是透明的,并且,从应用程序员看,它是个存储系统对应用程序员是透明的,并且,从应用程序员看,它是一个存储器,这个存储器的速度接近速度最快的那个存储器,存储一个存储器,这个存储器的速度接近速度最快的那个存储器,存储容量与容量最大的那个存储器相等,单位容量的价格接近最便宜的容量与容量最大的那个存储器相等,单位容量的价格接近最便宜的那个存储器。那个存储器。虚拟存储器系统:对应
5、用程序员透明(通过操作系统的存储管虚拟存储器系统:对应用程序员透明(通过操作系统的存储管理系统调度)理系统调度)Cache存储系统:对系统程序员及以上均透明(全部用硬件调存储系统:对系统程序员及以上均透明(全部用硬件调度)度)由多个存储器构成的存储系统由多个存储器构成的存储系统n 在一般计算机系统中,有两种存储系统:在一般计算机系统中,有两种存储系统:CacheCache存储系统:由存储系统:由CacheCache和主存储器构成和主存储器构成 主要目的:提高存储器速度主要目的:提高存储器速度虚拟存储系统:由主存储器和硬盘构成虚拟存储系统:由主存储器和硬盘构成 主要目的:扩大存储器容量主要目的:
6、扩大存储器容量2.2.存储系统的容量存储系统的容量对存储系统进行编址的要求:对存储系统进行编址的要求:提供尽可能大的地址空间提供尽可能大的地址空间能够随机访问能够随机访问方法有两种:方法有两种:只对系统中存储容量最大的那个存储器进行编址,其他存储器只在内部编址或不编址 CacheCache存储系统存储系统另外设计一个容量很大的逻辑地址空间,把相关存储器都映射这个地址空间中 虚拟存储系统虚拟存储系统3.3.存储系统的价格存储系统的价格计算公式:当S2S1时,CC2 S2与S1不能相差太大4.4.存储系统的速度存储系统的速度表示方法:表示方法:访问周期、存取周期、存储周期、存取时间等命中率定义:命
7、中率定义:在在M1存储器中访问到的概率存储器中访问到的概率 其中:N1是对M1存储器的访问次数 N2是对M2存储器的访问次数访问周期与命中率的关系:访问周期与命中率的关系:THT1(1H)T2 当命中率H1时,TT1存储系统的访问效率:存储系统的访问效率:访问效率主要与命中率和两级存储器的速度之比有关访问效率主要与命中率和两级存储器的速度之比有关例例3.13.1:假设T2T,在命中率H为0.9和0.99两种情况下,分别计算存储系统的访问效率。解:解:当当H H0.90.9时,时,e e1 11 1(0.9(0.95(15(10.9)0.9)0.720.72当当H H0.990.99时,时,e
8、e2 21 1(0.99(0.995(15(10.99)0.99)0.960.96提高存储系统速度的两条途径:提高存储系统速度的两条途径:一是提高命中率一是提高命中率H H,二是两个存储器的速度不要相差太大二是两个存储器的速度不要相差太大其中:第二条有时做不到(如虚拟存储器),这时,只能依靠提依靠提高命中率高命中率例例5.25.2:在虚拟存储系统中,两个存储器的速度相差特别悬殊,例如:T2105 T。如果要使访问效率到达e0.9,问需要有多高的命中率?解:解:0.9H90000(1-H)189999.1 H89999计算得:计算得:H0.999998888877777 0.9999995.采用
9、预取技术提高命中率采用预取技术提高命中率 方法:方法:不命中时,把不命中时,把M2存储器中相邻多个单存储器中相邻多个单元组成的一个数据块取出来送入元组成的一个数据块取出来送入M1存储器中。存储器中。计算公式:计算公式:其中:H是采用预取技术之后的命中率 H是原来的命中率 n为数据块大小与数据重复使用次数的乘积例例5.35.3:在一个Cache存储系统中,T25T1。当Cache的块大小为一个字时,命中率H0.8。假设数据的重复利用率为5,Cache块大小为个字,Cache存储系统的命中率?并分别计算访问效率。解:解:n4520,采用预取技术之后,命中率提高到:例例5.45.4:在一个虚拟存储系
10、统中,T2105 T,原来的命中率只有0.8,如果访问磁盘存储器的数据块大小为4K字,并要求访问效率不低于0.9,计算数据在主存储器中的重复利用率至少为多少?解:解:假设数据在主存储器中的重复利用率为m,根据前面给出的关系,有如下方程组:解方程组:解方程组:由方程(1)得到:0.9H+90000-90000H=15.1.2 5.1.2 存储系统的层次结构存储系统的层次结构多个层次的存储器多个层次的存储器:第第1层:层:Register Files(寄存器堆寄存器堆)第第2层:层:Buffers(Lookahead)(先行缓冲站先行缓冲站)第第3层:层:Cache(高速缓冲存储器高速缓冲存储器)
11、第第4层:层:Main Memory(主存储器主存储器)第第5层:层:Online Storage(联机存储器联机存储器)第第6层:层:Off-line Storage(脱机存储器脱机存储器)用用i表示层数,表示层数,则有:工作周期工作周期TiTi+1,存储容量:存储容量:SiSi+1,单位单位价格:价格:CiCi+1各级存储器的主要主要性能特性各级存储器的主要主要性能特性 CPUCPU与主存储器的速度差距越来越大与主存储器的速度差距越来越大 目前相差目前相差两个数量级 今后今后CPUCPU与主存储器的速度差距会更大与主存储器的速度差距会更大5.1.3 5.1.3 存储系统的频带平衡存储系统的
12、频带平衡例例5.5:Pentium4的指令执行速度为8GIPS,CPU取指令8GW/s,访问数据16GW/s,各种输入输出设备访问存储器1GW/s,三项相加,要求存储器的频带宽度不低于25GW/s。如果采用PC133内存,主存与CPU速度差188倍 如果采用PC266内存,主存与CPU速度差94倍解决存储器频带平衡方法解决存储器频带平衡方法 (1)多个存储器并行工作多个存储器并行工作 (2)设置各种缓冲存储器设置各种缓冲存储器 (3)采用存储系统采用存储系统5.1.4 5.1.4 并行访问存储器并行访问存储器方法:方法:把把m字字w位的存储器改变成为位的存储器改变成为m/n字字nw位的存储器位
13、的存储器逻辑实现:逻辑实现:把地址码分成两个部分,一部分作为存储器的地址把地址码分成两个部分,一部分作为存储器的地址另一部分负责选择数据另一部分负责选择数据主要缺点:访问冲突大主要缺点:访问冲突大 (1)(1)取指令冲突取指令冲突 (2)(2)读操作数冲突读操作数冲突 (3)(3)写数据冲突写数据冲突 (4)(4)读写冲突读写冲突 并行访问存储器结构框图并行访问存储器结构框图1.1.高位交叉访问存储器高位交叉访问存储器主要目的:主要目的:扩大存储器容量扩大存储器容量实现方法:实现方法:用地址码的高位部分区分存储体号用地址码的高位部分区分存储体号参数计算方法参数计算方法:m:每个存储体的容量,n
14、:总共的存储体个数,j:存储体的体内地址,j0,1,2,.,m-1 k:存储体的体号,k0,1,2,.,n-1 存储器的地址:Amkj 存储器的体内地址:AjA mod m。存储器的体号:Ak 5.1.5 5.1.5 交叉访问存储器交叉访问存储器 高位交叉访问存储器结构框图高位交叉访问存储器结构框图2.2.低位交叉访问存储器低位交叉访问存储器 主要目的:主要目的:提高存储器访问速度提高存储器访问速度 实现方法:实现方法:用地址码的低位部分区分存储体号用地址码的低位部分区分存储体号 参数计算参数计算:m:每个存储体的容量,n:总共的存储体个数,j:存储体的体内地址,j0,1,2,.,m-1 k:
15、存储体的体号,k0,1,2,.,n-1 存储器地址A的计算公式为:Anjk 存储器的体内地址:Aj 存储器的体号:AkA mod n 低位交叉访问存储器结构框图低位交叉访问存储器结构框图 地址是编码方法:地址是编码方法:由由8 8个存储体构成的低位交叉编址方式个存储体构成的低位交叉编址方式 n n个存储体分时启动个存储体分时启动 一种采用流水线方式工作的并行存储器 每存储体的启动间隔为:t 其中:Tm为每个存储体的访问周期,n为存储体个数。访问冲突访问冲突 共有共有n n个存储体,每个存储周期只能取到个存储体,每个存储周期只能取到k k个有效字个有效字,其余其余n-kn-k个存储体有冲突。个存
16、储体有冲突。假设p(k)是k的概率密度函数,即p(1)是k1的概率,p(2)是k2的概率,,p(n)是kn的概率。k的平均值为:N是每个存储周期能够访问到的平均有效字的个数。通常把 N N称为并行存储器的加速比。称为并行存储器的加速比。定义转移概率为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(g(k1,2,n1)p(n)p(n)(1-g)(
17、1-g)n-1n-1 g g(1-g)g(1-g)g(1-g)(1-g)2 2g g(1-g)(1-g)n-2n-2g g (1-g)g(1-g)g(1-g)(1-g)2 2g g(1-g)(1-g)n-2n-2g g (1-g)(1-g)2 2g g(1-g)(1-g)n-2n-2g g (1-g)(1-g)n-2n-2g g n(1-g)n(1-g)n-1n-1以上共以上共n n行,前行,前n-2n-2行分别为等比级数行分别为等比级数把把n-1n-1行拆分成行拆分成2 2项项则:则:1g1g2(1-g)g2(1-g)g3(1-g)3(1-g)2 2g g (n-1)(1-g)(n-1)(1
18、-g)n-2n-2g gn(1-g)n(1-g)n-1n-11-(1-g)1-(1-g)n-1n-11-(1-g)1-(1-g)n-1n-1 (1-g)-(1-g)(1-g)-(1-g)n-1n-1 (1-g)(1-g)2 2-(1-g)-(1-g)n-1n-1 (1-g)(1-g)n-2n-2-(1-g)-(1-g)n-1n-1 n(1-g)n(1-g)n-1n-11 1(1-g)(1-g)(1-g)(1-g)2 2(1-g)(1-g)n-2n-2(1-g)(1-g)n-1n-1例例5.7:Star-100巨型机存储系统采用并行和交叉相结合的方式工作,有32个存储体低位交叉,每次并行读写51
19、2位,存储周期为1280ns,处理机字长32位,计算它的速度提高多少倍?和频带宽度Bm。解:解:因为:n32,w512,Tm1280ns,Bmnw/tm32512b/1280ns 12.8Gb/s1.6GB/s400MW/s提高提高512512倍倍实际速度的提高要远远小于这个数字实际速度的提高要远远小于这个数字 5.1.6 5.1.6 无冲突访问存储器无冲突访问存储器1.1.一维数组一维数组(向量向量)的无冲突访问存储器的无冲突访问存储器 按连续地址访问,没有冲突,位移量为2的变址访问,速度降低一倍,具体方法:具体方法:存储体的个数取质数,且存储体的个数取质数,且nn向量长度。向量长度。原因:
20、原因:变址位移量必然与存储体个数互质 例如:例如:Burroughs公司巨型科学计算机BSP 存储体个数为17 向量长度16我国研制的银河巨型向量机 存储体的个数为37 向量长度322.2.二维数组的无冲突访问存储器二维数组的无冲突访问存储器要求:要求:一个一个nn的二维数组,按行、列、对角线和反对角线访的二维数组,按行、列、对角线和反对角线访问,并且在不同的变址位移量情况下,都能实现无冲突访问。问,并且在不同的变址位移量情况下,都能实现无冲突访问。顺序存储:顺序存储:按行、对角线访问没有冲突,但按列访问每次冲突 错位存储:错位存储:按行、按列访问无冲突,但按对角线访问有冲突nn二维数组无冲突
21、访问存储方案二维数组无冲突访问存储方案 (P Budnik 和和 D J Kuck提出提出):并行存储体的个数并行存储体的个数mn,并且取质数,同时还要在行、列方,并且取质数,同时还要在行、列方向上错开一定的距离存储数组元素。向上错开一定的距离存储数组元素。设同一列相邻元素在并行存储器中错开设同一列相邻元素在并行存储器中错开d1个存储体存放,同个存储体存放,同一行相邻元素在并行存储器中错开一行相邻元素在并行存储器中错开d2个存储体存放。当个存储体存放。当m22p1(p为任意自然数)时,能够同时实现按行、按列、为任意自然数)时,能够同时实现按行、按列、按对角线和按反对角线无冲突访问的充要条件是:
22、按对角线和按反对角线无冲突访问的充要条件是:d12P,d21。例如:例如:44的二维数组,取并行存储体的个数的二维数组,取并行存储体的个数m5,由关系,由关系式式m22P1,解得到,解得到p1,计算得到:,计算得到:d1212 d2145 nn数组中的任意一个元素数组中的任意一个元素aij在无冲突并行存储器中的体号地在无冲突并行存储器中的体号地址和体内地址的计算公式:址和体内地址的计算公式:体号地址:体号地址:(2P ijk)MOD m 体内地址:体内地址:i 其中:0in1,0jn1,k是数组的第一个元素a00所在体号地址,m是并行存储体的个数,要求mn且为质数,p是满足m22P1关系的任意
23、自然数。主要缺点:主要缺点:浪费存储单元 对于对于nn数组数组,有有(m-n)m个存储单元浪费个存储单元浪费 主要优点:主要优点:实现简单 列元素顺序存储,行元素按地址取模顺序存储列元素顺序存储,行元素按地址取模顺序存储3.3.二维数组的无冲突访问存储器二维数组的无冲突访问存储器(之二之二)规则:规则:对于任意一个对于任意一个nn的的数组,如果能够找到满足数组,如果能够找到满足n22P关关系的任意自然数系的任意自然数p,则这个二维数组就能够使用,则这个二维数组就能够使用n个并行存储个并行存储体体实现按行、列、对角线和反对角线的无冲突访问。实现按行、列、对角线和反对角线的无冲突访问。4 44 4
24、数组用数组用4 4个存储体的无访问冲突存储方案个存储体的无访问冲突存储方案实现方法:实现方法:假设假设aij是是4 44 4数组中的任意一个元素,数组中的任意一个元素,下标下标i和和j都可以用两位都可以用两位二进制表示。假设二进制表示。假设i和和j的高位和低位分别为的高位和低位分别为iH、iL、jH和和jL,则则aij在无冲突并行存储器中的体号地址和体内地址如下:在无冲突并行存储器中的体号地址和体内地址如下:体号地址:体号地址:2(iL jH)(iH iL jL)体内地址:体内地址:j 其中:其中:0i3,0j3主要优点:主要优点:没有浪费的存储单元没有浪费的存储单元,主要缺点:主要缺点:在执
25、行并行读和写操作时需要借助比较复杂的对准网在执行并行读和写操作时需要借助比较复杂的对准网络络。5.2 高速缓冲存储器Cache计算机系统为改善CPU与主存储器之间的速度匹配问题,在CPU和主存储器之间加入一个高速、小容量的缓冲存储器Cache,构成Cache主存储器的存储系统,使得存储系统对CPU而言,速度接近于高速缓冲存储器Cache,存储容量接近于主存储器。Cache存储器主要由三个部分组成:(1)Cache存储器,用于存放由主存储器调入的指令与数据块;(2)地址转换部件,用于实现主存储器地址到Cache存储器地址的转换;(3)替换部件,当缓存满时根据指定策略进行数据块替换,并对地址转换部
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统 结构 存储系统
限制150内