导航:首页 > 使用方法 > cache主存层次常用映射方法

cache主存层次常用映射方法

发布时间:2022-12-28 16:26:13

⑴ 内存Cache直接映射、全相联映射和组相联映射

1. 直接映射

---- 一个内存地址能被映射到的Cache line是固定的。就如每个人的停车位是固定分配好的,可以直接找到。缺点是:因为人多车位少,很可能几个人争用同一个车位,导致Cache 淘汰换出频繁 ,需要频繁的从主存读取数据到Cache,这个代价也较高。

2. 全相联映射

---- 主存中的一个地址可被映射进任意cache line,问题是:当寻找一个地址是否已经被cache时,需要遍历每一个cache line来寻找,这个代价很高。就像停车位可以大家随便停一样,停的时候简单,找车的时候需要一个一个停车位的找了。

主存中任何一块都可以映射到Cache中的任何一块位置上。

全相联映射方式 比较灵活 ,主存的各块可以映射到Cache的任一块中,Cache的利用率高,块冲突概率低,只要淘汰Cache中的某一块,即可调入主存的任一块。但是,由于Cache比较电路的设计和实现比较困难,这种方式只适合于 小容量 Cache采用。

3. 组相联映射

---- 组相联映射实际上是直接映射和全相联映射的折中方案,其组织结构如图(3)所示。

主存和Cache都 分组 ,主存中一个 组内的块数 与Cache中的 分组数 相同,组间采用直接映射,组内采用全相联映射。也就是说,将Cache分成2^u组,每组包含2^v块,主存块存放到哪个组是固定的,至于存到该组哪一块则是灵活的。即主存的某块只能映射到Cache的特定组中的任意一块。主存的某块b与Cache的组k之间满足以下关系:k=b%(2^u).

⑵ cache是什么的映射

 主要有三种地址映射方式,分别为全相联映射、直接相联映射和组相联映射。
 1. 全相联映射
 全相联映射是指主存中任一块都可以映射到Cache中任一块的方式,也就是说,当主存中的一块需调入Cache时,可根据当时Cache的块占用或分配情况,选择一个块给主存块存储,所选的Cache块可以是Cache中的任意一块。
2. 直接相联映射

直接相联映射方式是指主存的某块j只能映射到满足如下特定关系的Cache块。
3. 组相联映射
 以上两种方式各有优缺 点,而且非常有趣的是,它们的优缺点正好相反,也就是说,对于全相联映射方式来说为优点的恰是直接相联映射方式的缺点,而对于全相联映射方式来说为缺点的 恰是直接相联映射方式的优点。那么,可否找到一种能较好地兼顾这两种方式的优点的映射方式呢?下面我们就来看看组相联映射方式 在这种方式下,将Cache分成2u组,每组包含2v块。主存的块与Cache的组之间采用直接相联映射,而与组内的各块则采用全相联映射。

⑶ cache中的数据是什么的映射

主存与cache的地址映射方式有全相联方式、直接方式和组相联方式三种。
直接映射(directmapping)
将一个主存块存储到唯一的一个Cache行。
全相联映射(fullyassociative mapping)

可以将一个主存块存储到任意一个Cache行。
组相联映射(setassociative mapping)

可以将一个主存块存储到唯一的一个Cache组中任意一个行。

直接映射

多对一的映射关系,但一个主存块只能拷贝到cache的一个特定行位置上去。

cache的行号i和主存的块号j有如下函数关系:i=j mod m(m为cache中的总行数)

优点:硬件简单,容易实现

缺点:命中率低, Cache的存储空间利用率低

⑷ 简要说明cache的地址映射方式。cache的替换算法主要有哪些为何要进行替换

cache内存的地址映射主要有以下三种方式:一、直接映像:
二、全相联映像:
三、组相联映像:
cache的替换算法有:
①Hybrid算法:算法对Cache中的每一个对象赋予一个效用函数,将效用最小的对象替换出Cache;
②LowestRelativeValue算法:将效用值最低的对象替换出Cache;
③(LCNR)算法:该算法使用一个关于文档访问频次、传输时间和大小的推理函数来确定替换文档;
④Bolot等人提出了一种基于文档传输时间代价、大小、和上次访问时间的权重推理函数来确定文档替换;
⑤SizeAdjustLRU(SLRU)算法:对缓存的对象按代价与大小的比率进行排序,并选取比率最小的对象进行替换。

⑸ 主存和cache之间的映像方式有哪几种

1.直接映像(Direct Mapping)
采用直接映像时,Cache的某一块只能和固定的一些主存块建立映像关系,主存的某一块只能对应一个Cache块。直接映像的优点是硬件简单、成本低;缺点是不够灵活,主存的若干块只能对应惟一的Cache块,即使Cache中还有空位,也不能利用。
2.全相联映像(Associative Mapping)
采用全相联映像时,Cache的某一块可以和任一主存块建立映像关系,而主存中某一块也可以映像到(2ache中任一块位置上。由于Cache的某一块可 以和任一主存块建立映像关系,所以Cache的标记部分必须记录主存块块地址的全部信息。例如,主存分为2n块,块的地址为n位,标记也应为n位。 采用全相联映像方式时,主存地址被理解为由两部分组成:标记(主存块号)和块内地址。CPU 在访问存储器时,为了判断是否命中,主存地址的标记部分需要和Cache的所有块的标记进行比较。为了缩短比较的时间,将主存地址的标记部分和Cache 的所有块的标记同时进行比较。如果命中,则按块内地址访问Cache中的命中块(其标记与主存地址给出的标记相同);如果未命中,则访问主存。

全相联映像的优点是灵活,Cache利用率高。缺点有两个:一是标记位数增加了(需要记录主存块块地址的全部信息),使得Cache的电路规模变 大,成本变高;二是比较器难于设计和实现(通常采用“按内容寻址的”相联存储器)。因此,只有小容量Cache才采用这种映像方式。
3.组相联映像(Set Associative Mapping)
组相联映像方式是介于直接映像和全相联映像之间的一种折中方案。设Cache中共有m个块,在采用组相联映像方式时,将m个Cache块分成u组(set),每组k个块(即m=u
×k),组间直接映像,而组内全相联映像。所谓组间直接映像,是指某组中的Cache块只能与固定的一些主存块建立映像关系。

阅读全文

与cache主存层次常用映射方法相关的资料

热点内容
中式棉袄制作方法图片 浏览:57
五菱p1171故障码解决方法 浏览:852
男士修护膏使用方法 浏览:540
电脑图标修改方法 浏览:601
湿气怎么用科学的方法解释 浏览:532
910除以26的简便计算方法 浏览:799
吹东契奇最简单的方法 浏览:698
对肾脏有好处的食用方法 浏览:92
电脑四线程内存设置方法 浏览:508
数字电路通常用哪三种方法分析 浏览:9
实训课程的教学方法是什么 浏览:521
苯甲醇乙醚鉴别方法 浏览:78
苹果手机微信视频声音小解决方法 浏览:696
控制箱的连接方法 浏览:71
用什么简单的方法可以去痘 浏览:785
快速去除甲醛的小方法你知道几个 浏览:799
自行车架尺寸测量方法 浏览:120
石磨子的制作方法视频 浏览:148
行善修心的正确方法 浏览:401
薯仔炖鸡汤的正确方法和步骤 浏览:274