存储系统课件

上传人:我*** 文档编号:143313383 上传时间:2020-08-28 格式:PPT 页数:49 大小:429.50KB
返回 下载 相关 举报
存储系统课件_第1页
第1页 / 共49页
存储系统课件_第2页
第2页 / 共49页
存储系统课件_第3页
第3页 / 共49页
存储系统课件_第4页
第4页 / 共49页
存储系统课件_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《存储系统课件》由会员分享,可在线阅读,更多相关《存储系统课件(49页珍藏版)》请在金锄头文库上搜索。

1、第7章 存储系统,本章要点: 7.1 存储系统的层次结构 7.2 高速缓冲存储器(cache) 7.3 虚拟存储器 7.4 相联存储器 7.5 存储保护,串行存储器:,7.1 存储系统的层次结构,目的:解决存储容量、存取速度和价格之间的矛盾。 方法:采用多级存储层次,以提高存储系统的整体性能。 “Cache-主存-外存” 是最典型的三级物理存储体系,返回,(1)Cache 存放少量内存数据的副本,其速度很快,可与CPU速度匹配。 (2)主存 能由CPU直接编程访问。运行的程序及处理数据要放在主存中。 (3)辅存 存放需联机保存但暂不使用的程序与数据。 当要运行其中的程序时,先将其传到内存再运行

2、,1、主存和高速缓存之间的关系,Cache引入: 为解决CPU和主存之间的速度差距,提高整机的运算速度,在CPU和主存之间插入的由高速电子器件组成的容量不大,但速度很快的存储器。 Cache特点 存取速度快,容量小,存储控制和管理由硬件实现,Cache-CPU-主存之间的关系,关系,CPU,Cache,主存,字传送,块传送,.,.,主存,块,Cache,标记,结构,Cache-主存之间的关系,假设主存储器的大小为2n个字节,共分成2m个块,每个块的大小为2b个字节,则: n=m+b 假设Cache中有2c个块,每个块的大小为2b个字节,则Cache的大小为2c+b个字节。,2b个字节,2b,2

3、b,2b,2m块,主存地址结构:,主存块号,块内地址,m位,b位,主存地址结构分析,n位,2b个字节,2b,2b,2c块,Cache地址结构:,主存块号,块内地址,c位,b位,Cache地址结构分析,图7.2 cache的基本结构,返回,2、主存与辅存之间的关系,主存:(半导体存储器组成) 优:速度快 缺:容量受限,单位成本高, 断电丢失信息。 辅存:(光盘,磁盘) 优:容量大,信息长久保存,单位成本低. 缺:存取速度慢 CPU正在运行的程序和数据存放在主存暂时不用的程序和数据存放在辅存。 辅存只与主存进行数据交换,7.2 高速缓冲存储器,1高速缓存的组成: 小容量的SRAM和高速缓存控制器组

4、成。 2高速缓存的功能: 将CPU当前快要用到的部分数据块由主存复制到容量小、速度快的SRAM中,由SRAM向CPU直接提供它所需要的数据。 Cache存储器介于 CPU和主存之间,它的工作速度数倍于主存,全部功能由硬件实现。由于转换速度快,软件人员丝毫未感到Cache的存在,这种特性称为Cache的透明性。Cache内部是用同主存内部同样大小的块组成,故由于Cache存储容量小,所以块的数目少。,返回,3高速缓存工作原理,1)程序的局部性原理 时间局部性:如果一个存储单元被访问,则这个存储单元会再次被访问的概率很高。这是由于循环程序的执行,相应的数据要重复访问。 空间局部性:如果一个存储单元

5、被访问,则这个存储单元及其相邻单元被访问的概率较高。这是由于程序的顺序执行时,一条指令和下一条指令在存储器中的位置是相邻或相近的。,对该原理的解释:,在较短时间内由程序产生的地址往往集中在存储器逻辑地址空间的很小范围内。 数据分布不如指令明显,但对数组的访问及工作单元的选择可使存储地址相对集中。 CPU与Cache之间的数据交换是以字为单位,而Cache与主存之间的数据交换是以块为单位,一个块是由若干字组成,是定长的。 在Cache中,每一块外加有一个标记,指明它是主存的哪一块的副本,所以该标记的内容相当于主存中块的编号。块内字节数与主存相同(如图7.2)。,cache的容量和块的大小是影响c

6、ache的效率的重要因素。通常用“命中率”来测量cache的效率。命中率指CPU所要访问的信息在cache中的比率,而将所要访问的信息不在cache中的比率称为失效率。 cache的存储容量不能太小,太小会使命中率太低; 也没有必要过大,过大不仅会增加成本,而且当容量超过一定值后,命中率随容量的增加将不会有明显地增长。 目前已达几百M字节。,2)Cache的读操作 当CPU发出读请求时,如果数据在Cache中(命中Hit),就直接对Cache进行读操作,与主存无关;如果Cache不命中(Miss),则仍需访问主存,并把该块信息一次从主存调入Cache。 替换算法: 在从主存读出新的字块调入ca

7、che存储器时,如果遇到cache存储器中相应的位置已被其他字块占有,那么就必须去掉一个旧的字块,让位于一个新的字块。这种替换应该遵循一定的规则,最好能使被替换的字块是下一段时间内估计最少使用的。这些规则称为替换策略或替换算法,由替换部件加以实现。,标志 块号 块内地址,主存地址,主 存,块号 块内地址,Cache 标记,Cache地址,比较器,替 换 算 法,Cache 数据,来/去CPU,来自CPU,不命中,命中,Cache满,访数据,修改标记,访标记,3)Cache的写操作与更新策略 写数据时,存在Cache与主存中内容一致的问题。 1) 写回法 当CPU写cache命中时,只修改cac

8、he的内容,而不立即写入主存;只有当此行被换出时才写回主存。 这种方法减少了访问主存的次数,但是存在不一致性的隐患。 实现这种方法时,每个cache行必须配置一个修改位,以反映此行是否被CPU修改过。,3)Cache的写操作与更新策略 写数据时,存在Cache与主存中内容一致的问题。 2) 全写法 当写cache命中时,cache与主存同时发生写修改,因而较好地维护了cache与主存的内容的一致性。 当写cache未命中时,直接向主存进行写入。cache中每行无需设置一个修改位以及相应的判断逻辑。 缺点是降低了cache的功效。,3)Cache的写操作与更新策略 写数据时,存在Cache与主存

9、中内容一致的问题。 3) 写一次法 基于写回法并结合全写法的写策略,写命中与写未命中的处理方法与写回法基本相同,只是第一次写命中时要同时写入主存。这便于维护系统全部cache的一致性。,3)Cache的写操作与更新策略 写数据时,存在Cache与主存中内容一致的问题。 1) 写直达法:把数据同时写入主存和Cache。 简单,正确性高,但会降低存取速度。 2) 写回法: 只把数据暂时写入Cache,并对该块做标 志,在该块将被替换之前才写回主存。 省去不必要的立即回写操作。 回写式系统机构比较复杂。 3) 另有一种写操作方法是: 当被修改的单元根本就不在 cache存储器时,写操作直接对主存进行

10、, 而不写入cache存储器。,4地址映象和变换 Cache和主存都被分成若干个大小相等的块,每块由若干个字节组成,主存和Cache的数据交换是以块为单位,需要考虑二者地址的逻辑关系。 地址映像:把主存地址空间映像到Cache地址空间,即按某种规则把主存的块复制到Cache中。 在信息按照这种映像关系装入Cache后,执行程序时,应将主存地址变换成Cache地址,这个变换过程叫做地址变换。,主存中任何一个块均可以映像装入到Cache中任何一个块的位置上。 特点:灵活,块冲突率低,只有在Cache中的块全部装满后才会出现块冲突,Cache利用率高。但地址变换机构复杂,地址变换速度慢,成本最高,(

11、1)全相联映像,(2)直接映像,把主存分成若干个区,每区与Cache大小相同。区内分块,主存每个区中块的大小和Cache中块的大小相等,主存中每个区中包含的块的个数与Cache中块的个数相等。 任意一个主存块只能映像到Cache中唯一指定的块中,即相同块号的位置。 直接映像的关系可定义为: K = I mod 2C 其中,K是cache的字块号,I是主存的字块号。,主存地址分为三部分:区号、块号和块内地址。 Cache地址分成:块号和块内地址。,在这种映像方式中,主存的第0块,第2c块,第2c+1块,只能映像到cache的第0块,而主存的第1块,第2c+1块,第2c+1+1块,只能映像到cac

12、he的第1块。,(2)直接映像,特点:地址变换简单、速度快,可直接由主存地址提取出Cache地址。但不灵活,块冲突率较高,Cache空间得不到充分利用。 直接映象方式下,数据块只能映象到Cache中唯一指定的位置,故不存在替换算法的问题。,(3)组相联映像,是前两种方式的折衷。主存按Cache容量分区,每个区分为若干组,每组包含若干块。Cache也进行同样的分组和分块。主存中一个组内的块数与Cache中一个组内的块数相等。组间采用直接方式,组内采用全相联方式。, 主存地址分成四部分:区号、组号、主存块号、块内地址 Cache地址从高到低分成:组号、组内块号、块内地址。, 组的容量 1时即直接映

13、像 当组的容量 整个Cache的容量时即全相联映像,(3)组相联映像,Cache的存在对于程序员透明,Cache的地址变换和数据块的替换算法都采用硬件实现。,对于下图,即当组数=8时为直接映像; 当组数=1时为全相联映像,此时 区以1块的步长在滑动,当组的容量 整个Cache的容量时为全相联映像,5替换算法 当新的主存字块需要调入cache存储器而它的可用位置又已被占满时,就产生替换算法问题。 先进先出FIFO算法总是把一组中最先调入 cache存储器的字块替换出去,它不需要随时记录各个字块的使用情况,所以实现容易,开销小 近期最少使用LRU算法是把一组中近期最少使用的字块替换出去。这种替换算

14、法需随时记录cache存储器中各个字块的使用情况,以便确定哪个字块是近期最少使用的字块。LRU替换算法的平均命中率比FIFO要高,并且当分组容量加大时,能提高LRU替换算法的命中率。,LRU是最常使用的一种算法、其设计思想是把组中各块的使用情况记录在一张表上(如图7.6所示)。并把最近使用过的块放在表的最上面。这种算法用硬件实现比较麻烦,经常采用修改型LRU算法。 另外还有一种随机替换法(RAND),这种算法不考虑使用情况,在组内随机选择一块来替换。在硬件上容易实现,且速度也比前两种策略快。缺点是降低了命中率和cache工作效率。,图7.6 LRU算法替换登记表,6Cache的命中率,设NC表

15、示Cache完成存取的总次数, Nm表示主存完成存取的总次数,h定义为命中率,则有h= NC/(NC+ Nm) 若tc表示命中时的Cache访问时间,tm表示未命中时的主存访问时间,1-h表示未命中率,则Cache/主存系统的平均访问时间ta为: ta=htc+(1-h)tm 设r=tm/tc表示主存慢于Cache的倍率,e表示访问效率,则有e=tc/tm=tc/htc+(1-h)tm=1/h+(1-h)r=1/r+(1-h) 为提高访问效率,h 接近1好。,例:CPU执行一段程序时,Cache完成存取的次数为1900次,主存完成存取的次数为100次,已知Cache存取周期为50ns,主存存取

16、周期为250ns,求Cache/主存系统的效率和平均访问时间。 解:h = NC/(NC+ Nm) = 1900/(1900+100) = 0.95 r = tm/tc = 250ns/50ns = 5 e = 1/r+(1-r)h = 1/5+(1-5)*0.95 = 83.3% ta= tc/e = 50ns/0.833 = 60ns,7.3 虚拟存储器,1.什么是虚拟存储器 虚拟存储器只是一个容量非常大的存储器的逻辑模型,不是任何实际的物理存储器。 它借助于磁盘等辅助存储器来扩大主存容量,使之为更大或更多的程序所使用。 它指的是主存-外存层次。以透明的方式给用户提供了一个比实际主存空间大得多的程序地址空间。,返回,注意: 物理地址(实际地址

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号