第10周小课 多层次的存储器(4)_第1页
第10周小课 多层次的存储器(4)_第2页
第10周小课 多层次的存储器(4)_第3页
第10周小课 多层次的存储器(4)_第4页
第10周小课 多层次的存储器(4)_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 / 29计算机组成原理1 ROM ROM叫做只读存储器。只读的意思是在它工作时叫做只读存储器。只读的意思是在它工作时只能读出,不能写入。然而其中存储的原始数据,只能读出,不能写入。然而其中存储的原始数据,必须在它工作以前写入。必须在它工作以前写入。 FLASHFLASH存储器也被称为闪速存储器(闪存),它存储器也被称为闪速存储器(闪存),它是高密度非失易失性的读是高密度非失易失性的读/ /写存储器。写存储器。2 / 29计算机组成原理2 双端口存储器双端口存储器是同一个存储器具有两组相互独是同一个存储器具有两组相互独立的读写控制电路。由于进行并行的独立操作,因立的读写控制电路。由于进行并行

2、的独立操作,因而是一种高速工作的存储器。而是一种高速工作的存储器。 多模块交叉存储器多模块交叉存储器:一个由若干个模块组成的:一个由若干个模块组成的主存储器是线性编址的。这些地址在各模块中如何主存储器是线性编址的。这些地址在各模块中如何安排,有两种方式:一种是顺序方式,一种是交叉安排,有两种方式:一种是顺序方式,一种是交叉方式。方式。3 / 29计算机组成原理3存储器访问的局部性原理与层次结构存储系统存储器访问的局部性原理与层次结构存储系统CacheCache存储器存储器4 / 29计算机组成原理4理解存储器访问的局部性原理;理解存储器访问的局部性原理;掌握时间局部性和空间局部性的概念;掌握时

3、间局部性和空间局部性的概念;掌握掌握Cache主存、主存主存、主存辅存的存储器分层结构;辅存的存储器分层结构;掌握掌握Cache的工作原理。的工作原理。5 / 29计算机组成原理5存储器访问的局部性原理存储器访问的局部性原理 经过对处理器访问主存储器情况的统计发现,经过对处理器访问主存储器情况的统计发现,无论是取指令还是存取数据,处理器访问的存储无论是取指令还是存取数据,处理器访问的存储单元趋向于聚集在一个相对较小的连续存储单元单元趋向于聚集在一个相对较小的连续存储单元区域内。这种现象称为存储器访问的区域内。这种现象称为存储器访问的局部性原理局部性原理。6 / 29计算机组成原理6存储器访问的

4、局部性原理存储器访问的局部性原理l访问局部性表现为访问局部性表现为时间局部性时间局部性和和空间局部性空间局部性。l时间局部性时间局部性是指将要访问的信息就是现在正在访是指将要访问的信息就是现在正在访问的信息。问的信息。空间局部性空间局部性是指将要用到的信息就在是指将要用到的信息就在正使用的信息旁边。正使用的信息旁边。l一个程序在某个时间段内访问的主存储器空间范一个程序在某个时间段内访问的主存储器空间范围称为该程序的围称为该程序的工作集工作集。对大多数程序而言,工。对大多数程序而言,工作集的变化十分缓慢,有时甚至是不变的作集的变化十分缓慢,有时甚至是不变的。 7 / 29计算机组成原理7 用户对

5、存储系统的要求一般是相同的:容量用户对存储系统的要求一般是相同的:容量大、速度快、价格低。大、速度快、价格低。 在现有存储器工艺技术水平下,上述要求无在现有存储器工艺技术水平下,上述要求无法满足。容量大的存储器在速度上通常要比容量法满足。容量大的存储器在速度上通常要比容量小的存储器慢。速度快的存储器在价格上通常要小的存储器慢。速度快的存储器在价格上通常要比速度慢的存储器贵。比速度慢的存储器贵。 层次结构存储系统层次结构存储系统8 / 29计算机组成原理8层次结构存储系统层次结构存储系统 这需要利用存储器访问的局部性原理,选择不这需要利用存储器访问的局部性原理,选择不同容量、速度和价格的存储器来

6、构造一个层次结构同容量、速度和价格的存储器来构造一个层次结构的存储系统。即把最近频繁访问的一小部分信息存的存储系统。即把最近频繁访问的一小部分信息存放在速度快、容量小的存储器中,而信息的全部存放在速度快、容量小的存储器中,而信息的全部存放在速度慢、容量大的存储器。放在速度慢、容量大的存储器。低一级存储器低一级存储器高一级高一级存储器存储器读读a写写a块块X块块 Y块块X处处理理器器aa9 / 29计算机组成原理9层次结构存储系统层次结构存储系统 计算机存储系统的层次结构中,最重要的两计算机存储系统的层次结构中,最重要的两个层次是采用高速缓冲存储器的个层次是采用高速缓冲存储器的“Cache 主存

7、主存”层次层次,以及基于虚拟存储器的,以及基于虚拟存储器的“主存主存 辅存辅存”层次层次。 前者能提高存储系统的等效访问速度,即弥前者能提高存储系统的等效访问速度,即弥补主存储器在速度上的不足;后者扩大了存储系补主存储器在速度上的不足;后者扩大了存储系统的容量,即弥补主存储器在容量上的不足。统的容量,即弥补主存储器在容量上的不足。10 / 29计算机组成原理10层次结构存储系统层次结构存储系统 若要访问的信息在高一级存储器中找到,若要访问的信息在高一级存储器中找到,则称为则称为命中命中,否则称为不命中或,否则称为不命中或失效失效。命中率命中率是指对层次结构存储系统中的某一级存储器来是指对层次结

8、构存储系统中的某一级存储器来说,要访问的数据正在这一级中的比率。说,要访问的数据正在这一级中的比率。 11 / 29计算机组成原理111 1、基本原理、基本原理(1 1)功能:解决)功能:解决CPUCPU和主存之间的速度不匹配问题和主存之间的速度不匹配问题一般采用高速的一般采用高速的SRAMSRAM构成。构成。CPUCPU和主存之间的速度差别很大采用两级或多和主存之间的速度差别很大采用两级或多级级CacheCache系统系统早期的一级早期的一级CacheCache在在CPUCPU内,二级在主板上内,二级在主板上现在的现在的CPUCPU内带内带L1 CaheL1 Cahe和和L2 CaheL2

9、Cahe全由硬件调度,对用户透明全由硬件调度,对用户透明12 / 29计算机组成原理1213 / 29计算机组成原理13Cache的工作原理的工作原理 CPUCPU发出访问主存的地址发出访问主存的地址MM不久目标数据将肯定从主存送往不久目标数据将肯定从主存送往CPUCache没有没有Cache,计算机,计算机照常工作,有了照常工作,有了Cache, 计算机工作得计算机工作得快一点!快一点!14 / 29计算机组成原理14CPUCacheMMCPU发出访问主存的地址发出访问主存的地址这个主存地这个主存地址址Cache也也同时收到同时收到若目标数据在若目标数据在Cache中中(命中命中)则则Cac

10、he将先于将先于主存把数据送往主存把数据送往CPU若若Cache没命中没命中则主存迟早会把则主存迟早会把目标数据送往目标数据送往CPU15 / 29计算机组成原理15 事实上,对于事实上,对于M体交叉访问的主存储器,体交叉访问的主存储器,给出一个主存地址在一个访存周期内能够读出给出一个主存地址在一个访存周期内能够读出M个字。根据程序访问的局部性原理,个字。根据程序访问的局部性原理,CPU将将会继续访问这会继续访问这M个字。个字。 所以,通常在主存与所以,通常在主存与Cache之间设置一条多之间设置一条多字宽的局部数据线。字宽的局部数据线。 当当Cache不命中时,不命中时,CPU将在访问目标数

11、据将在访问目标数据的同时,一并从的同时,一并从主存主存读出来的读出来的M个字,并将其作个字,并将其作为一个为一个 块块 传送给传送给Cache。这样。这样CPU的下一次访问的下一次访问基本上能够在基本上能够在Cache中命中了。中命中了。16 / 29计算机组成原理16 当当Cache不命中,不命中,CPU正常访问主存时,主正常访问主存时,主存一方面将存一方面将目标数据目标数据通过通过系统数据总线系统数据总线送往送往CPU;另一方面,通过另一方面,通过CacheMM局部多字宽数据线局部多字宽数据线将将附带读出的附带读出的一个字块一个字块送往送往Cache。CPUCacheMM17 / 29计算

12、机组成原理17 随着随着CPU访问主存的不断进行时,越来越多访问主存的不断进行时,越来越多的主存字块被装入的主存字块被装入Cache。 由于由于Cache的容量有限,迟早会出现的容量有限,迟早会出现Cache装装满的情况。满的情况。 所以当一个新字块要装入所以当一个新字块要装入Cache时,它将要判时,它将要判断断Cache是否已满?是否已满? 未满则直接装入,未满则直接装入, 否则将启动否则将启动Cache内部的替换控制机构,从内部的替换控制机构,从Cache存储体中选择一个旧的字块,将其通过存储体中选择一个旧的字块,将其通过CacheMM局部多字宽数据线写回主存,以腾出局部多字宽数据线写回

13、主存,以腾出空间接纳新送来的字块。空间接纳新送来的字块。18 / 29计算机组成原理18 由于程序访问局部性原理的存在,由于程序访问局部性原理的存在,Cache的的命中率通常都在命中率通常都在90%以上。以上。 所以,增设所以,增设Cache后,后,CPU的平均访存速度的平均访存速度明显提高,基本上接近明显提高,基本上接近Cache 的速度。的速度。 在在CPU看来,它只付出了少许成本,就拥看来,它只付出了少许成本,就拥有了一个与主存储器容量相当,速度几乎等于有了一个与主存储器容量相当,速度几乎等于Cache的高级的高级“存储器存储器”19 / 29计算机组成原理19Cache的命中率的命中率

14、 从从CPUCPU来看,增加一个来看,增加一个cachecache的目的,就是在的目的,就是在性能上使主存的平均读出时间尽可能接近性能上使主存的平均读出时间尽可能接近cachecache的的读出时间。为了达到这个目的,在所有的存储器读出时间。为了达到这个目的,在所有的存储器访问中由访问中由cachecache满足满足CPUCPU需要的部分应占很高的比需要的部分应占很高的比例,即例,即cachecache的命中率应接近于的命中率应接近于1 1。由于程序访问。由于程序访问的局部性,实现这个目标是可能的。的局部性,实现这个目标是可能的。 20 / 29计算机组成原理20l在一个程序执行期间,设在一个

15、程序执行期间,设NcNc表示表示cachecache完成存取完成存取的总次数,的总次数,NmNm表示主存完成存取的总次数,表示主存完成存取的总次数,h h定定义为命中率,则有义为命中率,则有 l若若tctc表示命中时的表示命中时的cachecache访问时间,访问时间,tmtm表示未命表示未命中时的主存访问时间,中时的主存访问时间,1-h1-h表示未命中率,表示未命中率, 则则cache/cache/主存系统的平均访问时间主存系统的平均访问时间tata为:为:mcathhtt)1 ( mccNNNh21 / 29计算机组成原理21l我们追求的目标是,以较小的硬件代价使我们追求的目标是,以较小的

16、硬件代价使cache/cache/主主存系统的平均访问时间存系统的平均访问时间tata越接近越接近tctc越好。越好。l设设r=tm/tcr=tm/tc表示主存慢于表示主存慢于cachecache的倍率,的倍率,e e表示访问表示访问效率,则有效率,则有l由表达式看出,为提高访问效率,命中率由表达式看出,为提高访问效率,命中率h h越接近越接近1 1越好,越好,r r值以值以510510为宜,不宜太大。为宜,不宜太大。l命中率命中率h h与程序的行为、与程序的行为、cachecache的容量、组织方式、的容量、组织方式、块的大小有关。块的大小有关。hrrrhhthhttttemccac)1 (

17、1)1 (1)1 (22 / 29计算机组成原理2223 / 29计算机组成原理23解:解: 需要用到的公式:需要用到的公式:cmacmcamccttrhrrttethhttNNNh/)1 (1)1 (命中率命中率 Cache/主存系统的平均访主存系统的平均访问时间问时间访问效率访问效率Cache与内存的速度比与内存的速度比24 / 29计算机组成原理24l命中率:命中率: h=Nc/h=Nc/(Nc+NmNc+Nm)=1900/(1900+100)=0.95=1900/(1900+100)=0.95l访问访问CacheCache与内存的速度比:与内存的速度比: r=tm/tc=250ns/5

18、0ns=5r=tm/tc=250ns/50ns=5l访问效率:访问效率: e=1/(r+(1-r)h)=1/(5+(1-5)e=1/(r+(1-r)h)=1/(5+(1-5)0.95=83.3%0.95=83.3%l平均访问时间:平均访问时间: ta=tc/e=50ns/0.833=60ns ta=tc/e=50ns/0.833=60ns 25 / 29计算机组成原理25 存储器访问的存储器访问的局部性原理:局部性原理:无论是取指令还是存无论是取指令还是存取数据,处理器访问的存储单元趋向于聚集在一取数据,处理器访问的存储单元趋向于聚集在一个相对较小的连续存储单元区域内。个相对较小的连续存储单元区域内。 时间局部性时间局

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论