Cache_简介.ppt

Cache_简介.ppt

ID:49252336

大小:1.22 MB

页数:56页

时间:2020-02-02

Cache_简介.ppt_第1页
Cache_简介.ppt_第2页
Cache_简介.ppt_第3页
Cache_简介.ppt_第4页
Cache_简介.ppt_第5页
资源描述:

《Cache_简介.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Cache简介ChangYan201004(lastmodified:2011-03)1.Cache基本原理cache是介于处理器和主存之间的小容量存储器,存取速度比主存快。它能高速地向处理器提供指令和数据,加快程序的执行速度。它是为了解决处理器和主存之间速度不匹配而采用的一项重要技术CPU与cache之间的数据交换是以字为单位,而cache与主存之间的数据交换是以块为单位。一个块由若干定长字组成的。当CPU读取主存中一个字时,便发出此字的内存地址到cache和主存。此时cache控制逻辑依据地址判断此字当前是否在cache中:若是,此字立即传送给CPU;若非,则

2、用主存读周期把此字从主存读出送到CPU,与此同时,把含有这个字的整个数据块从主存读出送到cache中2.Cache地址映射地址映像:应用某种函数把主存地址映像到Cache中定位,称作地址映像。这些函数通常称做映像函数。地址变换:将主存地址变换成CACHE地址,这个变换过程叫做地址变换。地址映像方式有直接映像、全相联映像和组相联映像等。(1)全相联映像方式全相联映像方式允许将主存中的每一个块映像到Cache的任何一个行。特点:非常灵活,但由于速度太慢且成本太高,比较器电路难于设计和实现(需要进行全部cache标志和地址的比较),只适合于小容量CACHE采用。主存不分

3、组标记此行为主存中哪一块,标记的位数t=LOG2(主存的块数)=LOG2(n)其中块号的位数=CACHE的标记位数t=LOG2(主存的块数),字的位数=b=LOG2(每块的字数)=LOG2(K)(2)直接映像方式主存中的每一块只能映像到CACHE中的一个固定行的位置。直接映像函数可定义为:i=jmodm其中,i是Cache的行号,j是主存的块号,m为CACHE的行数。标记此行为主存中哪一组(32组)的相应块,标记的位数t=LOG2(主存的组数)主存的组数=(主存的块数/CACHE的行数)=256/8=32组其中tag的位数=CACHE的标记位数t,行号的位数=LO

4、G2(CACHE的行数m)=c,字的位数=b(组内的块)位置直接映像优缺点优点是实现简单,只需利用主存地址按某些字段直接判断,就可确定所需块是否已在Cache中。缺点是不够灵活。因为主存的2t个组(t为CACHE标记的位数)只能对应于唯一的Cache存储器行,即使Cache中有许多地址空着也不能占用,因而使Cache存储空间得不到充分利用。(3)组相联映像方式它是直接映像与全相联映像的折衷方案.它将把Cache存储器分为若干个组,每组包含若干个行.组间采用直接映像,而组内的则采用全相联映像。主存的某一块可以映像到CACHE指定组内的任意行中。将CACHE分为u组,

5、则每组的行数=m/u=v行映像函数:k=jmodu其中,k是Cache的组号,j是主存的块号,u为CACHE的组数,即主存的第j块可以映像到CACHE的第k组中的任意一行中。标记此行为主存中哪一组(64组)的相应块,标记的位数t=LOG2(主存的组数)主存的组数=(主存的块数n/CACHE的组数u)=256/4=64组组◆上述的j和k通常称为索引◆组的选择常采用位选择算法若主存第i块映象到第k组,则:k=imod(G)(G为Cache的组数)设G=2g,则当表示为二进制数时,k实 际上就是i的低g位:g位ki:◆n路(way)组相联:每组中有n个块(n=M/G)n

6、称为相联度。相联度越高,Cache空间的利用率就越高,块冲突概率就越低,失效率也就越低。全相联直接映象组相联n(路数)G(组数)MM111<n<M1<G<M其中tag的位数=CACHE的标记位数t,组号的位数=LOG2(CACHE的组数u),字的位数=bCache组主存组3Cache读写策略对于cache来说,不论读写,都有两种结果:命中(hit)缺失(miss)命中属于比较理想的状态。当发生缺失的时候,考虑到最近访问的数据被再次访问的几率比较高,需要采用相应的策略对数据进行存取,以保证Cache内部数据的命中率。1)读命中策略Cacheable:如果定义了Cac

7、heable,那么需要从Cache中读出命中的数据NoCacheable:如果不定义Cacheable,那么直接从下级Cache/主存进行数据读取2)读缺失策略Readallocate:读缺失的时候,从下级Cache/主存读回数据的同时将该缺失数据放入(Linefill)缺失CacheNoReadallocate:读缺失的时候,直接从下级Cache/主存中读回数据,此数据不进去缺失Cache3)写命中策略WriteBack(写回):在写得时候如果发生命中,那么只是更新Cache之中命中的数据,而不更新下级Cache/主存的数据。WriteThrough(写穿透):

8、在写得时候

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

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

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