收藏 分享(赏)

3存储器层次机构-2.ppt

上传人:hwpkd79526 文档编号:10215626 上传时间:2019-10-21 格式:PPT 页数:70 大小:3.26MB
下载 相关 举报
3存储器层次机构-2.ppt_第1页
第1页 / 共70页
3存储器层次机构-2.ppt_第2页
第2页 / 共70页
3存储器层次机构-2.ppt_第3页
第3页 / 共70页
3存储器层次机构-2.ppt_第4页
第4页 / 共70页
3存储器层次机构-2.ppt_第5页
第5页 / 共70页
点击查看更多>>
资源描述

1、3.3 高速缓冲存储器Cache,3.3.1 概述1、问题的提出 解决CPU访存优先级低于I/O的问题 解决CPU和存储器速度差异的矛盾理论基础:局部性原理 时间局部性原理 空间局部性原理,2、cache工作原理,主存和缓存的编址 命中与未命中 cache的命中率 cache主存系统的效率,主存和缓存按块存储 块的大小相同,B 为块长,(1)主存和缓存的编址,标记里记录着主存的快号。,M C,主存块 已调入 缓存,主存块与缓存块 建立 了对应关系,用 标记来记录 与某缓存块建立了对应关系的 主存块号,命中,未命中,主存块与缓存块 未建立 对应关系,主存块 未调入 缓存,(2)命中与未命中,Ca

2、che的命中率,设NC表示Cache完成存取的总次数, Nm表示主存完成存取的总次数,h定义为命中率,则有h= NC/(NC+ Nm),命中率:CPU所要访问的信息在Cache中的比率。,h= 访问到Cache的次数/所有访问的次数,Cache的命中率与地址映像的方式和Cache的容量有关。Cache容量大,则命中率就高,但达到一定容量后,命中率的提高就不明显了。,平均访问时间:若tc 表示Cache的存取周期,tm表示主存的存取周期,1-h表示未命中率,则Cache主存系统的平均访问时间ta为: ta = htc+(1-h)(tm+tc)= tc+(1-h)tm htc+(1-h)tm(Ca

3、che访问和主存访问同时启动),访问效率:设r=tm/tc表示主存慢于Cache的倍率,则访问效率e为:e=tc/ta=tc/htc+(1-h)tm=1/h+(1-h)r=1/r+(1-r)h为提高访问效率,h 接近 1 好。,加速比:SP=tm/ta,例1:CPU执行一段程序时,Cache完成存取的次数为1900次,主存完成存取的次数为100次,已知Cache存取周期tc为50ns,主存存取周期tm为250ns,求Cache主存系统的效率e和平均访问时间 ta 。解:命中率h的计算:h=NC/(NC+ Nm)=1900/(1900+100)=0.95平均访问时间ta的计算 : ta htc+

4、(1-h)tm=0.9550ns+0.05250ns =47.5ns+12.5ns=60ns效率的计算 e=tc/ta=50ns/60ns=83.3%,例2:设Cache的工作速度是主存速度的10倍,且Cache的命中率为90%,则该计算机采用Cache后,对存储系统而言,其加速比是多少?(工作时,设Cache与主存同时启动。)解: ta =htc+(1-h)tm,h=90%, tc/tm=1/10加速比SP=tm/ta=1/((htc/tm)+(1-h)=1/(0.1h+1-h)=1/(1-0.9h)=1/0.195.26,3、cache的工作流程,CPU送出主存(大)地址,命中(hit),

5、此大地址变换成Cache(小)地址并送Cache; 命中将读出的字传送到CPU的DB; 不命中(miss),主存将读出的字送到DB,同时,将该字所在块(若干个字)送到Cache,若Cache中可以装入就直接写入,不能装入就根据一定的算法进行置换。,4、cache的访问,cache的工作流程,写直达法(Write through),写回法(Write back),写操作时数据既写入Cache又写入主存,写操作时只把数据写入 Cache 而不写入主存 当 Cache 数据被替换出去时才写回主存,写操作时间就是访问主存的时间,读操作时不 涉及对主存的写操作,更新策略比较容易实现,命中时读写操作时间就

6、是访问 Cache 的时间, 不命中时,Cache 失效发生数据替换,可能导致被替换的块需写回主存,增加了 Cache 的复杂性,cache的一致性问题(更新问题),(1) 增加 Cache 的级数,片载(片内)Cache,片外 Cache,(2) 统一缓存和分立缓存,指令 Cache,数据 Cache,与主存结构有关,与指令执行的控制方式有关,是否预取、流水,Pentium 8K 指令 Cache 8K 数据 Cache,PowerPC620 32K 指令 Cache 32K 数据 Cache,5、cache的改进,3.3.2 Cache的地址映像方式,地址映像:访问前,用某种函数或规则使主

7、存地址与Cache地址具有某种逻辑对应关系,即把主存地址定位到Cache中。 地址变换:访问时,将主存地址按映像规则换成Cache地址的过程。,Cache的基本映像方式: 直接映像 全相联映像 组相联映像,1. 直接映像,直接映像函数可定义为:j= i mod 2c 其中,j 是Cache 的字块号,i 是主存的字块号,主存中有2m 个块,字块大小为2b 字,Cache中有同样大小的2c 个块。c是Cache高位地址位数,b是Cache低位地址位数 。 先将主存分成与Cache同样大小的若干个区(组),每个区中的某个块只能固定调入Cache 中的对应块,如第0 块,第2c 块,第2c+1块,

8、,只能映像到cache 的第0 块,而主存的第1 块,第2c1块,第2c+1+1块, ,只能映像到 Cache的第1块等。对应关系是固定的并有一定限制。,cache,存储器,主存储器,举 例 说 明,字块2m1,字块2c+1,字块2c+11,字块2c +1,字块2c,字块2c1,字块1,字块0,主存储体,字块 1,标记,字块 0,标记,字块 2c1,标记,Cache存储体,t位,0,1,2c1,字块,字块地址,主存字 块标记,t 位,c 位,b 位,主存地址,比较器(t位),=,不命中,有效位=1?,*,m位,Cache,内地址,否,是,命中,每个缓存块 j可以和 若干 个 主存块 对应,每个

9、主存块 i 只能和 一 个 缓存块 对应,j= i mod 2c,直接映像cache组织,假设Cache字块地址字段的内容为0001,*,Cache转换表,直接映像,优点:实现简单,只需利用主存地址,按某些字段直接判断,即可确定所需字块是否已在 Cache存储器中。 缺点:不够灵活,即主存的2t个字块只能对应唯一的Cache存储器字块。因此,即使Cache存储器别的许多地址空着也不能占用。这使得Cache存储空间得不到充分利用,并降低了命中率。,例2:某机主存为1MB,每页512B ,这样划分2048页,共分0127个区,每区16页;Cache为8KB,每页512B,划分16页(行)。,0区,

10、1区,127区,在访存时,只需比较两者标记,如相同则命中,7位,主存地址,7位 4位 9位,标记为主存的区号,主存页号,Cache 主存,Cache 转换表,2. 全相联映像,允许主存中的每一个字块映像到Cache存储器的任何一个字块位置上,也允许从确实已被占满的Cache存储器中替换出任何一个旧字块。 标记位数多,是主存总位数减去块内的位数,使Cache标记容量加大。访问Cache时,需要和Cache的全部标记进行比较,才能判断出所访主存地址的内容是否已在 Cache中。 全部“比较”操作都要用硬件实现,通常由“按内容寻址的”相联存储器完成。 全相联映像方式是最灵活,但成本最高的一种方式。实

11、际中较少使用。 改进:在具体操作时需要设立一个块号对照表,凡已装入Cache 中的主存块号其标识位都要置1,以便快速使用。,全相联映象,主存中的任一块可以映象到缓存中的任一块。,Cache转换表,例1:某机主存为1MB(20位),要求每页512B(9位 ),要划分2048页(占11位);Cache为8KB(13位),每页512B,要划分16页(4位)。,注:这里的页相当于以上所介绍的字块。,主存页号,主存地址,11位 9位,由于每个Cache页可以映射2048个主存页中的任一页,因此每页的Cache标记也需要11位,用以表明它现在所映象的主存页号。,主存,11位 Cache,3. 组相联映像,

12、组相联映像方式是直接映像和全相联映像方式的一种折中方案。即在高速缓冲区内将其容量先分成以组为单位,然后每组内再包含若干页。 各组是直接映像方式,组内的页执行的是全相联映像方式。 组相联映像方式的性能与复杂性介于直接映像与全相联映像之间。 设Cache共包含2c个字块,按组划分,每组包含2r个字块,即可分为Q=2c-r个组,其映像关系为:j=i mod Q 其中,j 是Cache 的组号,i 是主存的字块号 。 当r = 0 时,它就成为直接映像方式,当r = c 时,就是全相联映像方式。,1,某一主存块 j 按模 Q 映射到 缓存 的第 i 组中的 任一块,i = j mod Q,组相联映像C

13、ache组织,主存页标记,8位,主存,Cache,0组,1组,7组,7位 3位 1位 9位,Cache地址,(7+1),j=(i mod Q) 2r +h =(19 mod 23) 21 +h =32+h=6+h 0h 2r-1 ,h=0或1 j=6或7 即主存的19页映像到Cache的第6或7页,位于第3组。,例3:某机Cache为8KB,每页512B,共16页,分为8组,每组2页。主存为1MB(每页512B,共2048页),按每组8页划分,共分为2048/8=256组。 求主存字块(页)19可映像到Cache的哪一个字块?,三种映像方式比较,直接映像:某一主存块只能映像到唯一缓存块。映像方

14、式简单,但是不够灵活,容易导致块冲突。 全相联映像:某一主存块可映射到任一缓存块,最灵活,不易冲突,但成本高。 组相联映像:某一主存块可映射到某一组中的任一块,兼顾了灵活性和成本。,3.3.3 Cache的替换算法,当新的主存字块需要调入Cache存储器,而它的可用位置又已被占满时,就产生替换算法问题。 目标:使Cache总保持着使用频率高的数据而获得高的命中率。 常用算法:,(1)随机替换法(RAND):不考虑使用情况,在组内随机选择一块来替换,性能要差些。(2) FIFO算法:在地址变换表中设置一个历史位,当替换时,总是把一组中最先调入 Cache存储器的字块替换出去,它不需要随时记录各个

15、字块的使用情况,所以实现容易且开销小。,LRU是最常使用的一种算法。 需随时记录Cache中各个字块的使用情况, 即页表为在物理存储区中的每一页保留了一个时间或年龄域,以便确定哪个字块是近期最少使用的字块。其设计思想是把组中各块的使用情况记录在一张表上,并把最近使用过的块放在表的最上面。 LRU替换算法的平均命中率比FIFO要高,并且当分组容量加大时,能提高LRU替换算法的命中率,较好地反映程序的局部性特点。 硬件实现较复杂。,(3)LRU算法:把一组中近期最少使用的字块替换出去。,LRU算法置换示例,可以设置一个堆栈,被访问的块依次移至栈顶,在堆栈底部的就是最近最少被访问的块。如图所示,1

16、双端口存储器,双端口存储器是一种具有两个单独的读/写端口及控制电路的存储器,通过增加一个读/写端口,扩展了存储器的的信息交换能力。由于同一个存储器具有两组相互独立的地址线、数据线和读写控制线路而得名。 当两个独立的设备分享一个双端口存储器时,可以从两个不同的访问口进行读写数据。例如两个计算机可以分享一张数据表。,3.4 其他形式的高速存储器,双端口存储器,双端口存储器存在冲突的读写控制问题,当两端口同时访问存储器同一单元时,便发生读写冲突。为解决此问题,设置标志。读写某个单元之前,检查标记,访问单元时,标记置低;读写完毕,恢复标记高。,DB,2 多体交叉存储器,计算机中大容量的主存,可由多个存

17、储体组成,每个体都具有自己的读写线路、地址寄存器和数据寄存器,称为“存储模块”。这种多模块存储器可以实现重叠与交叉存取,主要是提高了存储系统的速度。,多体交叉存取,(1)多个独立的地址寄存器。主存分成若干独立存储体。 (2)连续程序和数据将交叉存储4个存储体中。 (3)在一个存取周期中,CPU交叉访问多个体,缩短平均访存时间。 (4)CPU每隔1/4存取周期从主存读/写一个数据。,0,1,2,3,4,5,6,7,存储器控制部件,CPU,R/W,R/W,R/W,R/W,MAR,MAR,MAR,MAR,体 地址编码序列 地址后两位 0 0,4,8,4i+0, 00 1 1,5,9,4i+1, 01

18、 2 2,6,10,4i+2, 10 3 3,7,11,4i+3, 11,数据寄存器,W位 W位 W位 W位,0体 1体 2体 3体,地址寄存器,编址情况,并行多存储体、多存储字存储器,3.5 虚拟存储器系统,虚拟存储器(Virtual Memory)只是一个容量非常大的存储器的逻辑模型,不是任何实际的物理存储器。 虚拟存储区的容量与物理主存大小无关,而受限于计算机的地址结构和可用磁盘容量。 它是借助磁盘等辅助存储器来扩大主存容量,使之为更大或更多的程序所使用。 现代计算机一般都有辅助存储器,但具有辅存的存储系统不一定是虚拟存储系统。虚拟存储系统有两大特点: (1)允许用户用比主存空间大得多的

19、空间来访问主存。 (2)每次访存都要自动进行虚实地址的转换。,3.5.1 概述,虚拟存储系统中存在三个存储空间: (1)主存空间,它取决于系统中实际使用的主存容量; (2)虚存空间,它取决于虚地址的长度; (3)辅存空间,它取决于系统中实际使用的辅助存储器的总容量。,虚拟存储器与cache的比较,虚拟存储器和cache有许多地方十分类似。 1、相同 (1)最终目标:提高系统性能。两者都有容量、速度、价格不同的两个区域。 (2)都有大地址、小地址的映像和变换乃至用到替换算法、更新策略等问题。 (3)依据局部性原理应用“快速缓存的思想”:将相对活跃的信息放在相对高速的部件。 2、各异 (1)追求性

20、能目标:cache解决系统速度,虚拟存储器解决系统容量。 (2)透明:cache全由硬件管理,对所有程序员透明;虚拟存储器由硬件和OS共同管理,对应用程序员透明。 (3)不命中对性能影响:主存-硬盘速度差异约10万倍,主存-cache速度差异约10倍。,3.5.2 管理方式与存储保护,段式管理方案是将程序按其逻辑结构分成许多大小不同的、相对独立的程序段。 在采用段式管理的系统中,为了进行地址变换需要为各用户建立一个段表。段表内包括段号、段起点、段长、装入位和访问权等内容。任何一个段可从0地址开始编址。 访问权是指该段所允许的访问形式,便于以段为单位实现存储保护。如程序段只允许执行不许写,数据段

21、只许读写不能执行,常数段只许读不许写等。,1、段式管理方案,段式管理方案,段号 起始位置 有效位 段长 访问方式,段1 (1KB),段2 (2KB),段3 (3KB),段4 (1KB),段5 (3KB),地址,主存空间,段1段5段3,0 1K 4K60 63,段表,逻辑程序空间,段表基地址,以程序的逻辑结构所形成的段作为主存分配单位的存储器管理方式。 段大小可以不相等。 每个程序有一个段表 (E表示执行),段式管理系统的特点,优点是段的分界与程序的自然分界相对应。段的逻辑独立性,使它易于编译、管理、修改和保护,也便于多道程序共享。 其缺点是容易在段间留下许多空余的零碎存储空间造成浪费。另外段的

22、起点和终点不定。,2 页式管理方案,信息传送单位是定长的页(如4KB),所以虚存和主存的存储空间都被划分为等长的固定页。把前者称为虚页或逻辑页,而把后者称为实页或物理页。它比段式管理系统的空间浪费要小得多。由于页不是逻辑上独立的实体,所以处理保护和共享都没有段式管理方式容易实现。 图中表示某个程序有 5页(逻辑页号04),各页分别装入主存不连续的页面位置,用页表记录逻辑页号及其所对应的实主存页号,页表是由操作系统建立的。其中逻辑页号0、1、3已分配实主存空间,所以装入位为1。,页式管理方案,程序空间,实存空间,逻辑页号,物理页号,0 1 2 3 4,0 1 2 3 4 5 6,0 2 1 1

23、1 1 2 3 4 1 4,页表,逻辑页号 物理页号 装入位,将虚拟空间和主存空间划分成大小固定的页,以页为分配单位的存储管理方式。 页的大小随机器而异,如4KB。 每道程序拥有一个页表 页表自动生成,对程序员透明。,虚拟地址到主存实地址的变换是由页表来实现的。在页表中,对应每一个虚存页号有一个表目,表目内容至少要包含该虚页所在的主存页面地址(页面号),用它作为实(主)存地址的高字段;与虚拟地址的字地址字段相拼接就产生完整的实主存地址,据此访问主存。 通常,在页表的表项中还包括装入位(有效位)、修改位、替换控制位及其他保护项等组成的控制字。 如装入位为“1”,表示该虚页已从辅存调入主存。如装入

24、位为0,则表示对应的虚页尚未调入主存,如访问该页就要产生页面失效中断。启动输入输出子系统,根据外页表项目中查得的辅存地址,由磁盘等辅存中读出新的页到主存中来。 修改位指出主存页面中的内容是否被修改过,替换时是否要写回辅存;替换控制位指出需替换的页等。,值得注意的问题是在页式管理中,假设页表是保存在主存储器中,那么在访问存储器时首先要查页表,即使页面命中,也得先访问一次主存去查页表,再访问主存才能取得数据,这就相当于主存速度降低了一倍。如果页面失效,要进行页面替换,页面修改,访问主存次数就更多了。 如果采用把页表的最活跃部分存放在快速存储器中组成快表,这是减少时间开销的一种方法。另外在一些影响工

25、作速度的关键部分(如快表)再引入了硬件支持,以缩短访存时间。,快表(TLB),快表TLB (Translation Look aside Buffer)由硬件组成,是专用的高速缓冲存储器,通常称为转换旁路缓冲器。用于存放近期经常使用的页表项。 TLB内容只是慢表(指主存中的页表)的小小的副本,比实际的页表小得多,一般在16行128行之间。 查表时,由虚页号同时去查快表和慢表,当在快表中有此虚页号时,就能很快地找到对应的实页号送入实主存地址寄存器,并使慢表的查找作废。 如果在快表中查不到时,那就要费一个访主存时间查慢表,从慢表中查到实页号送入实主存地址寄存器并将此虚页号和对应的实页号同时送入快表

26、。替换快表中某一行内容,这也要用到替换算法。具体的替换算法如先进先出、近期最少使用和随机算法等。,使用快表和慢表实现虚实地址变换,实页号,字地址,实存地址,慢表(在主存中),(快表中查到),(按内容访问),相联比较,(快表中查不到),(按地址访问),表),(硬件构成),3 段页式管理方案,将段式和页式管理方式结合起来。段页式将实际存储器机械等分成固定大小的页,程序则按模块分段,每段又分成与主存页面大小相同的页。 程序对主存的调入调出是按页进行的;但它又可以按段实现共享和保护。段页式管理兼有段式和页式的优点。缺点是在地址映像过程中需要多次查表。,在这种系统中,虚拟地址转换成物理地址是通过一个段表

27、和一组页表来进行定位的。段表中的每个表目对应一个段,每个表目有一个指向该段的页表的起始地址(页号)及该段的控制保护信息。由页表指明该段各页在主存中的位置以及是否已装入、已修改等标志。 如果有多个用户在机器上运行称为多道程序,多道程序的每一道(每个用户)需要一个基号(用户标志号),可由它指明该道程序的段表起点(存放在基址寄存器中)。这样虚拟地址应包括基号D、段号S、页号P、页内地址d 。格式如下:段页式虚拟存储系统由虚拟地址向实主存地址的变换至少需查两次表(段表与页表)。,段页式存储器地址变换,3.5.3虚拟存储器工作过程,对虚拟存储器来说,程序员按虚存储空间编制程序,在直接寻址方式下由机器指令

28、的地址码给出地址。这个地址码就是虚地址,可由虚页号及页内地址组成,如下所示:,这个虚地址实际上不是辅存的实地址,而是辅存的逻辑地址。以磁盘为例按字编址的实地址Nd如下:,磁盘、磁带 数字式、模拟式,3.6 辅助存储器,辅存的特点容量大、成本低、速度慢、非易失性、不直接与 CPU 交换信息 辅存的分类 磁表面存储器 光存储器,C = n k s 格式化容量、非格式化容量,寻道时间 + 等待时间,(1) 记录密度,(2) 存储容量,(3) 平均寻址时间,(4) 数据传输率,(5) 误码率,辅存的速度,Dr = Db V,出错信息位数与读出信息的总位数之比,一、磁表面存储器的技术指标,盘面数 * 磁

29、道数 * 每磁道位数,1. 磁记录原理,写,二、磁记录原理和记录方式,读,2、磁表面存储器的记录方式,改进调频,RZ、PM、PF、MPF,具有自同步能力; NRZ与NRZ1没有自同步能力。,1. 硬磁盘存储器的类型,(1) 固定磁头和移动磁头,(2) 可换盘和固定盘,2. 硬磁盘存储器结构,三、硬磁盘存储器,硬磁盘的历史,最早的硬盘1956年9月IBM, 第一台磁盘存储系统IBM 350 RAMAC(Random Access Method of Accounting and Control)随机存储,5MB,共使用了50个直径为24英寸的磁盘,主要用于飞机预约、自动银行、医学诊断及太空领域内

30、。1968年IBM, “温彻斯特/Winchester”技术“密封、固定并高速旋转的镀磁盘片,磁头沿盘片径向移动,磁头悬浮在高速转动的盘片上方,而不与盘片直接接触” 1973年,IBM公司制造出了第一台采用“温彻期特”技术的硬盘,目前硬盘大多是此技术的延伸。,硬磁盘的历史,富士通的8寸硬盘,3600转,2.8GB,92年出品,NEC制造 14寸硬盘DKU800, 3620转,2.7GB的容量,基本概念 磁盘机 记录面 surface 磁头 head 磁道 track 柱面 cylinder 扇区 sector 磁盘地址,磁道,扇区,磁头,基本概念 磁盘机 记录面 surface 磁头 head

31、 磁道 track 柱面 cylinder 扇区 sector 磁盘地址,磁道,扇区,磁头,相邻数据存放于同一柱面的不同磁道还是同一盘片的不同的磁道,格式化容量扇区容量S磁道容量T 每道扇区数n S柱面容量C 记录面数m T单盘容量 P 每面磁道数t T磁盘容量D = m t n S记录面数每面磁道数每道扇区数每扇区字节数,非格式化容量 记录面数 每面磁道数 每道信息量 记录面数道密度(最小)环半径位密度道长,磁盘容量计算,磁盘驱动器,接收主机发来的命令,转换成磁盘驱动器的控制命令,实现主机和驱动器之间的数据格式转换,控制磁盘驱动器读写,盘片,磁盘控制器 是,主机与磁盘驱动器之间的 接口,由硬质铝合金材料制成,磁盘控制器,速度,磁头,盘片,价格,环境,苛刻,四、软磁盘存储器,1、概述,由聚酯薄膜制成,2、软盘片,1. 概述,采用光存储技术,采用非磁性介质,采用磁性介质,不可擦写,可擦写,2. 光盘的存储原理,只读型和只写一次型,可擦写光盘,热作用(物理或化学变化),热磁效应,利用激光写入和读出,五、光盘存储器,新一代DVD标准,Sony主导的蓝光DVD标准:blu-DVD容量大,价格高,不兼容现有DVD东芝主导的高清DVD标准:HD-DVD容量小,价格低,兼容性好2008年1月,美国CES展 蓝光当道,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报