cache和主存之间的映像

cache和主存之间的映像

ID:11206446

大小:112.50 KB

页数:6页

时间:2018-07-10

cache和主存之间的映像_第1页
cache和主存之间的映像_第2页
cache和主存之间的映像_第3页
cache和主存之间的映像_第4页
cache和主存之间的映像_第5页
资源描述:

《cache和主存之间的映像》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、3.7.3Cache和主存之间的映像方式  为了把信息放到Cache中,必须应用某种函数把主存地址映像到Cache中定位,称为地址映像(映射)。而将主存地址变换成Cache地址,称做地址变换,它们之间是密切相关的。常用的地址映像方式有三种,分别是全相联映像、直接映像和组相联映像。  1.全相联映像  全相联映像是指将内存和Cache按照固定的相同的大小进行分块。内存的块和Cache的块可以任意对应,即内存的任何一块都可以映像到Cache的任何一块。在Cache的存储空间被占满的情况下,也允许确实已被占满的Cac

2、he存储器中替换出任何一个旧块,具体如图3-14所示。  2.直接映像  直接映像先将Cache分成若干块,每个块的大小相同,并对每个块进行编号。同时根据Cache容量大小将内存分成若干区(页),每个区的容量都跟Cache的容量相同,然后对内存进行分块,每块的大小跟Cache块的大小相同,同样对区内的块进行编号。映像时,内存的某个区的块只能保存在与其块号相同的Cache块中。如图3-15所示,内存各区中的第0块只能映像到Cache的第0块,而不能映像到其他块。3.组相联映像  组相联映像实际上是直接映像和全相联

3、映像的折中方案。组相联映像方式先将Cache分成大小相同的若干区(组),对每个区按照直接映像的方式进行分块,并且编号,因此,Cache中有多个编号相同的块。对内存按照Cache区的大小进行分页,再对每页按照Cache块的大小进行分块,每个内存块可以对应不同Cache区中的相同块号的块。如图3-16中内存第0页的第0块,可以对应Cache的第0区的第0块,也可以对应第j区的第0块。  在三种方式中,全相联映像方式比较灵活,Cache的块冲突概率最低、空间利用率最高,但是地址变换速度慢,而且成本高,实现起来比较困难

4、;直接映像方式是最简单的地址映像方式,成本低,易实现,地址变换速度快,而且不涉及其他两种映像方式中的替换算法问题。但这种方式不够灵活,Cache的块冲突概率最高、空间利用率最低;组相联映像实际上是全相联映像和直接映像的折中方案,其优点和缺点介于全相联和直接映像方式的优缺点之间。知识点:Cache与主存地址映像 Cache和主存都被分成若干个大小相等的块,每块由若干个字节组成,主存和Cache的数据交换是以块为单位,需要考虑二者地址的逻辑关系。 地址映像:把主存地址空间映像到Cache地址空间,即按某种规则把主存

5、的块复制到Cache中。 一、全相连映像 主存中任何一个块均可以映像装入到Cache中的任何一个块的位置上。主存地址分为块号和块内地址两部分,Cache地址也分为块号和块内地址。Cache的块内地址部分直接取自主存地址的块内地址段。主存块号和Cache块号不相同,Cache块号根据主存块号从块表中查找。Cache保存的各数据块互不相关,Cache必须对每个块和块自身的地址加以存储。当请求数据时,Cache控制器要把请求地址同所有的地址加以比较,进行确认。 特点:灵活,块冲突率低,只有在Cache中的块全部装满后

6、才会出现冲突,Cache利用率高。但地址变换机构复杂,地址变换速度慢,成本高。 公式:     主存地址位数=块号+块内地址;     Cache地址位数=块号+块内地址。 二、直接映像 把主存分成若干区,每区与Cache大小相同。区内分块,主存每个区中块的大小和Cache中块的大小相等,主存中每个区包含的块的个数与Cache中块的个数相等。任意一个主存块只能映像到Cache中唯一指定的块中,即相同块号的位置。主存地址分为三部分:区号、块号和块内地址,Cache地址分为:块号和块内地址。直接映像方式下,数据块只

7、能映像到Cache中唯一指定的位置,故不存在替换算法的问题。它不同于全相连Cache,地址仅需比较一次。 特点:地址变换简单、速度快,可直接由主存地址提取出Cache地址。但不灵活,块冲突率较高,Cache空间得不到充分利用。 公式:    主存地址位数=区号+区内分块号+块内地址;    Cache地址位数=块号+块内地址。 三、组相连映像 组相连映像是前两种方式的折衷。主存按Cache容量分区,每个区分为若干组,每组包含若干块。Cache也进行同样的分组和分块。主存中一个组内的块数与Cache中一个组内的块

8、数相等。组间采用直接方式,组内采用全相连方式。组的容量=1时,即直接映像,组的容量=整个Cache的容量时,即全相连映像。Cache的存在对于程序员透明,Cache的地址变换和数据块的替换算法都采用硬件实现。 公式: 主存地址位数=区号+组号+主存块号+块内地址;Cache地址位数=组号+组内块号+块内地址。  四、主存地址和Cache地址的相关计算 &主存地址的位数A由主存容量N决定

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

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

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