组成原理课件 - 高速缓冲存储器.ppt

组成原理课件 - 高速缓冲存储器.ppt

ID:57030645

大小:114.50 KB

页数:16页

时间:2020-07-27

组成原理课件 -  高速缓冲存储器.ppt_第1页
组成原理课件 -  高速缓冲存储器.ppt_第2页
组成原理课件 -  高速缓冲存储器.ppt_第3页
组成原理课件 -  高速缓冲存储器.ppt_第4页
组成原理课件 -  高速缓冲存储器.ppt_第5页
资源描述:

《组成原理课件 - 高速缓冲存储器.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、§7·5高速缓冲存储器一、高速缓冲存储器和工作原理1、高速缓冲存储器CACHE是一个高速度、小容量的缓冲存储器,存储CPU最经常访问的指令或数据,一般用SRAM芯片构成,其全部功能由硬件实现,对程序员是透明的。CACHE用于解决CPU与主存间的速度匹配问题,其理论依据是程序访问的局部性原理。在一个较短的时间内,CPU对局部范围的存储器地址频繁访问,而对此址范围外的地址访问很少。程序访问的局部性原理2、工作原理为了使主存与cache之间映射,将主存与缓存都分在若干个块,每个块包含若干个字,并使块的大小相等。将主存n位地址分为高m位和低b位,缓存地

2、址也分成高c位和低b位。主存的块数M=2m远大于缓存的块数C=2c块。由于缓存的块数远小于主存的块数,一个缓存块不能唯一、永久地对应一个主存块,每个缓存块需设一个标记,用来表示当前存放的是哪一个主存块,该标记的内容相当于主存块的编号(即主存地址的高m位)。CPU读信息时根据主存地址的低位部分,将主存地址的高位部分与缓存块的标记进行比较,以判断所读信息是否在缓存中。~~~~~~~~主存储器Cache主存块号0122m-1::::::::::::::::::::字块0字块1字块2字块M-1字块0字块1字块C-1012c-1标记(1)CACAHE命中

3、:CPU访问的数据或指令已存在于CACHE中。(2)命中时间:在CACHE命中时的访存时间,它等于CACHE的访问时间。(3)失效时间:CACHE不命中时因访存而增加的访问时间,它等于对主存的访问时间和将主存中的数据调入CACHE的时间。M=2mC=2c3、高速缓冲存储器设计中要考虑的问题(1)地址映象:主存中的块放入CACHE中的什么地方。(2)块的替换策略:CACHE放满时将哪块数据移去再调入要访问的块。(3)块的更新策略:解决CACHE数据写操作与主存写操作的关系。(4)CACHE容量16KB~256K和块的容量4B~128B。二、地址映

4、象根据主存的地址来构成CACHE的地址,即主存地址与CACHE地址之间的逻辑关系。地址映象关系是用地址映象表来表示的,这张表反映了主存单元和CACHE单元间的对应关系,这张表是用硬件实现的。块号块内地址地址映象表块号块内地址CACHE主存地址在访问存储器时,根据主存地址的低位部分在地址映象表中查找标志并与主存地址的高位部分进行比较,相同命中,将高速CACHE中数据送CPU,不相同从主存调入数据,再送入CPU。地址变换和替换算法均用硬件实现,CACHE对程序员是透明的。主存命中?调入?替换机构CPU访问主存替换CacheNNYY访问主存装入Cac

5、he数据直接通路Cache地址数据总线、1、直接映象:一个主存块只能映象到CACHE中的唯一一个指定块的地址映象方式。第1块第2块第3块第4块第1块第2块第3块第4块第5块第6块第7块第8块第9块第10块第11块第12块第13块第14块第15块第16块一个块由若干个字节组成,由于主存容量比CACHE大得多,所以主存有许多块会映射到CACHE的同一个块上,将主存块地址对CACHE的块数取模即得到CACHE中的块地址。主存地址:区号、块号、块内地址区号:作为标志存放在地址映象表中,用于判断命中与否。块号:用于查找地址映象表和在CACHE中的块寻址。

6、块内地址:用于块内寻址。在访存操作时,根据地址中的块号读出块表中的区号并与当前地址的区号进行比较,比较结果相同表示CACHE命中,访问可对CACHE进行,比较不相同则表示不命中,访问需要对主存进行。特点:不需采用相联存储器,判断命中的方法简单,也不要替换算法,速度快,可实现大容量的CACHE。但数据块的冲突率高。区号主存块号块内地址块号块内地址比较主存区号标志主存地址Cach地址不相等块失效相等块表按块号查找例:有一个CACHE的容量为2K字,每个块16个字,求(1)该CACHE可容纳多少个块?(2)如果主存的容量是256K字,则有多少个块?(

7、3)主存的地址有多少位?CACHE地址有多少位?(4)在直接映象方式下,主存中的第i块映象到CACHE中哪一个块中?(5)进行地址映象时,存储器的地址分成哪几段?各段分别有多少位?(1)CACHE块数:2K/16=128块(2)主存块数:256K/16=16K(3)主存的地址位数:log2256K=18位CACHE地址位数:log22K=11位(4)在直接映象方式下,主存中的第i块映象到CACHE中的imod128个块中(5)存储器的地址分成区号、主存块号和块内地址三段区号:主存地址位数与CACHE地址位数之差:18-11=7主存块号:块地址长

8、度与CACHE的块数有关,CACHE是128块,所以主存块号有log2128=7位块内地址:每个块由16个字组成,所以块内地址的位数:log216=4

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。