计算机硬件技术及应用第3章存储器(2)剖析

上传人:今*** 文档编号:108417324 上传时间:2019-10-23 格式:PPT 页数:68 大小:1.27MB
返回 下载 相关 举报
计算机硬件技术及应用第3章存储器(2)剖析_第1页
第1页 / 共68页
计算机硬件技术及应用第3章存储器(2)剖析_第2页
第2页 / 共68页
计算机硬件技术及应用第3章存储器(2)剖析_第3页
第3页 / 共68页
计算机硬件技术及应用第3章存储器(2)剖析_第4页
第4页 / 共68页
计算机硬件技术及应用第3章存储器(2)剖析_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《计算机硬件技术及应用第3章存储器(2)剖析》由会员分享,可在线阅读,更多相关《计算机硬件技术及应用第3章存储器(2)剖析(68页珍藏版)》请在金锄头文库上搜索。

1、存 储 器,第 3 章,3.1 存储系统层次结构 3.2 主存储器 3.2.1 主存储器概述 3.2.2 主存储器的组成与控制 3.3 高速缓冲存储器 3.3.1 Cache概述 3.3.2 Cache的工作原理,3.3.3 Cache的组织方式 3.3.4 替换算法和更新策略 3.4 虚拟存储器 3.4.1 虚拟存储器概述 3.4.2 段式虚拟存储器 3.4.3 页式虚拟存储器 3.4.4 段页式虚拟存储器 3.4.5 快表与慢表,掌握cache的基本原理、地址映射、替换策略; 掌握虚拟存储器的基本概念以及段式、页式、段页式虚拟存储器的原理; 了解只读存储器、闪速存储器的原理及存储保护的原理

2、。 了解外存储设备的发展动态。,教 学 要 求,存储系统的层次结构,衡量存储器有三个指标:容量、速度和价格/位. 单一的存储器很难同时满足三个指标. 因为存取时间越短,每位的价格就越高;容量越大,每位的价格就越低;容量越大,存取时间就越长. 存储系统实现: 存储系统不是硬件的简单堆积,是硬软件相结合的方法连接而成的系统。 这个系统对应用程序员透明。 这个存储器的速度接近速度最快的那个存储器, 存储器容量与容量最大的那个存储器相等或接近, 单位容量的价格接近最便宜的那个存储器.,存储系统的层次结构,第 3.3节,Cache高速缓冲存储器,内存主要是DRAM,价格低、容量大,但存取速度难以提高;而

3、CPU速度提高很快。目前CPU的速度比DRAM要快一个数量级以上,导致两者速度不匹配。 只有双极型TTL SRAM,存取速度与CPU处于同一量级,但价格较贵,功耗很大,集成度低,所以不能将所有DRAM都采用SRAM。 折中的办法是分级处理,在主存和CPU之间加一个容量相对小的双极型SRAM作为高速缓冲存储器Cache。 目前Cache的分为一级Cache、二级Cache等。Cache的命中率可达到90% - 98%,这样就大大提高了CPU访问数据的速度。,Cache高速缓冲存储器,3.3.1 Cache概述,3.3,1. 使用Cache的必要性,Cache高速缓冲存储器,3.3.1 Cache

4、概述,时间局部性:在一小段时间内,最近被访问过的程序和数据很可能再次被访问; 空间局部性: 这些最近被访问过的程序和数据,往往集中在一小片存储区域中; 指令执行顺序方面:指令顺序执行比转移执行的可能性要大(大约为5:1),因此,合理地把数据和程序放在不同的存储介质中。 这种对局部范围的存储器地址频繁访问,而对此范围以外的地址则访问甚少的现象就称为程序访问的局部性。,3.3,2. 程序访问的局部性,3. Cache-CPU-主存之间的关系,关系,CPU,Cache,主存,字传送,块传送,.,.,主存,块,Cache,标记,结构,3.3.1 CACHE概述,1. cache 基本结构,Cache和

5、主存分同样大小的块; 主存中只有一小部分块的内容 可放在Cache中. 在cache中每一块都有一个标记, 指明它是主存的哪一块的副本, 该标记的内容相当于主存中块 的编号, 设主存地址为n位, 且n=m+b,则 主存的块数M=2n/2b=2m , 块内字节数B=2b。 cache地址码=(c+b)位。 cache的块数为2c。 块内字节数与主存相同。,3.3.2 高速缓存工作原理,2. Cache工作原理,它由cache存储体、地址映像变换机构、cache替换机构模块组成。,3.3.2 CACHE的工作原理,3. Cache的设计要素,Cache容量 映射功能 直接映射 组相联映射 全相联映

6、射 替换算法 最近最少使用(LRU) 先进先出(FIFO) 最不经常使用(LFU) 随机,写策略 写通过(write through) 回写(write back) 块大小 Cache数目 一级或二级 统一或分离,3.3.2 CACHE的工作原理,块长:块的大小,块长一般取一个主存周期所能调出的信息长度。Pentium为32个字节。 cache的容量和块的大小是影响cache的效率的重要因素。通常用“命中率”来测量cache的效率。 命中率:指CPU所要访问的信息在cache中的比率。 失效率:将所要访问的信息不在cache中的比率。 cache的存储容量比主存的容量小得多;太小会使命中率太低

7、;过大不仅会增加成本,且当容量超过一定位后,命中率随容量的增加将不会有明显地增长。,4. cache的容量和块大小,3.3.2 CACHE的工作原理,5. cache的命中率,增加cache的目的是在性能上使主存的平均读出时间尽可能接近cache的读出时间。因此cache的命中率应接近于1。 在一个程序执行期间命中率HcNc /(Nc+Nm) Nc表示Cache完成存取的总次数 Nm表示主存完成存取的总次数 设Tc为Cache的存取周期,Hc为Cache的命中率,Tm为主存的存取时间,则平均存取时间T为: THc *Tc + ( 1- Hc ) Tm 追求的目标是:以较小的硬件代价使cache

8、/主存系统的平均 访问时间T越接近Tc越好。 cache的命中率还与程序有关,不同程序命中率可能不同。,3.3.2 CACHE的工作原理,3.3.3 cache存储器组织,主存的地址和cache地址间建立一种确定的逻辑关系,必须应用某种函数把主存地址映像到cache,这样的逻辑关系称作地址映像。 在信息按照这种映像关系装入cache后,执行程序时,将主存地址变换成cache地址,这个变换过程叫做地址变换。地址的映像和变换是密切相关的。 地址映像方式:直接映像、全相联映像、组相联映像 设主存储器空间被分为Mm(0), Mm(1), , Mm (i), , Mm(2m1),共2m块,字块大小为2b

9、个字; 设Cache存储空间被分为Mc(0), Mc(1), , Mc(j), , Mc(2c1),共2c个同样大小的块.,3.3.3 cache存储器组织,直接映像:一个主存块只能映像到cache中的唯一一个指定块的地址映像方式。若这个位置已有内容,则产生块冲突,原来的块将无条件到被替换出去。 直接相联是一种最强的约束关系,它规定每个虚页只对应唯一的实页。地址映像方法一般是将主存块地址对cache的块数取模得到cache中的块地址,这相当于将主存的空间按cache的尺寸分区,每区内相同的块号映像到cache中相同的位置。 在这种映像方式中,主存的第0块,第2c块,第2c+1块,只能映像到ca

10、che的第0块,而主存的第1块,第2c+1块,第2c+1+1块,只能映像到cache的第1块。以此类推。,1. 直接映像,3.3.3 cache存储器组织,(1)直接映像 cache组织,字块0,字块1,字块2c-1,标记,标记,标记,主存字块 标记,cache 字块地址,块内地址,t位 c位 b位,m位,主存地址,比较器(t位) ,有效位 =1,主存储器,命中 不命中,cache存储器,1,主存分为M个区,每个区有2c个块,总共有M 2c块,编号从0到M 2c -1。Cache有2c个块。,第0区,第1区,第M-1区,3.3.3 cache存储器组织,由于Cache的块数远小于主存的块数,因

11、此一个Cache不能唯一地、永久地只对应一个贮存块,在Cache中,每一块外加有一个标记,指明它是主存的哪一块的副本(拷贝)。,【例】某机主存容量为1MB,划分为2048块,每块512B;Cache容量为8KB,划分为16块,每块512B。,3.3.3 cache存储器组织,这是一种多对一的映射关系,但一个主存块只能映象 到Cache的一个特定块位置上去。 Cache的第i块和主存的第j块有如下函数关系: i = j mod m ( m为Cache的总块数) i =0,1,2,m-1 j=0,1,2,n-1,在这种映象方式中: 主存的第0块,第16块,第32块,只能映象到Cache的第0块;

12、而主存的第1块,第17块,第33块,只能映象到Cache的第1块;,3.3.3 cache存储器组织,直接映像方式,7位,3.3.3 cache存储器组织,主存地址分成三段:区号、块号和块内地址。 区号(组号)作为标志存放在地址映象表中,用于判断命中与否。 块号直接用于查地址映象表; 块内地址用于块内寻址。 在访存操作时,根据主存地址中的块号读出块表中的区号,并与当前地址的区号进行比较,结果相同表cache命中,访问可对cache 进行;不相同则表示不命中,访问需对主存进行。,3.3.3cache存储器组织,(2)直接映像的地址变换方法,比较相等且有效位相等,3.3.3 cache存储器组织,

13、有效位: 为了说明标记是否有效. 当机器刚加电时, Reset信号将所有标记的有效位置“0”,使标记无效。 在程序执行的过程中,当Cache不命中时逐步将指令块或数据块从主存调入Cache中的某一块,并将这一块标记中的有效位置“1”. 刚加电后所有标记位都为“0”,因此开始执行程序时,命中率较低。,3.3.4 替换算法和更新策略,cache的标记,CPU送来的主存地址和读写命令后,只需根据中间c位字段找到cache存储器字块,然后,看其标记是否与主存地址高t位符合: 如果符合且有效位为“1”,则可根据b位块内地址,从cache中取得所需指令或数据; 如果不符合或有效位为“0”,就从主存读入新的

14、字块来替换旧的字块,并将CPU所需数据送往CPU,同时修改cache标记。假如原来有效位为“0”,还要将有效位改置成“1”。 直接映像方式的缺点是不够灵活,即主存的2t个字块只能对应惟一的cache存储器字块,因此,即使cache存储器别的许多地址空着也不能占用。这使得cache存储空间得不到充分利用,并降低了命中率。,(2)直接映像地址变换方法(续),3.3.3 cache存储器组织,优点: 硬件实现简单,只需利用主存地址按某些字段直接判断,即可确定所需字块是否已在Cache中。成本低,缺点: 不够灵活,主存的多个字块只能对应唯一的Cache字块,块冲突率很高,降低了命中率。,(3)直接映像

15、的特点,3.3.3 cache存储器组织,【例1】设一个cache的容量为2KB,每个块为16B,求: 该cache可容纳多少个块? 如果主存容量是256KB,则主存有多少个块? 主存的地址有多少位? cache地址有多少位? 进行地址映象时,存储器的地址分成哪几段?各段分别有多少位?,【解】 cache中有2048/16=128个块 主存有256K/16=16384个块 主存容量为256KB=218字节, 主存字节地址有18位。 cache容量为2KB=211字节,cache的字节地址为11位。 存储器的字地址分三段:区号、块号、块内字地址。 区号的长度为18-11=7位, 块号为7位。块内

16、字地址为4位。,全相联映像是指主存中的任何一个字(字块)均可以映像到CACHE中的任何一个字(字块)的位置上,也允许从确实已被占满的cache存储器中替换出任何一个旧字块。 反过来说,CACHE的一个字(字块)中,在不同时刻可能存放的是整个主存中的任何一个字(字块)中的内容,即二者的对应关系是完全随意的,没有任何强制性的限制条件。 全相联映像方式是最灵活但成本最高的一种方式。,2. 全相联映像,3.3.3 cache存储器组织,(1)全相联映像方式,11位,允许主存中的每一个字块映象到Cache的任何一个字块位置上,最灵活但成本最高的一种方式。,3.3.3 cache存储器组织,(2)全相联映像 cache组织,字块0,字块1,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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