首页 > 游戏问答

主存对应的cache租号怎么求-cache采用4路组相联映像求主存地址各字段如何划分

作者: 租号官方平台 2020-07-08 13:30:04 游戏问答

cache采用4路组相联映像求主存地址各字段如何划分

首先说下面的问题吧。每个块是32个字,一个字是16位,故一个块是32*16=512bit

回到第一个问题 :每组4个存储块就是4路组相联。一个组含有几个块就称为几路组相联。

组相联映射是全相联映射和直接映射的折中方案。它有两种方案,不同的教材有不同的说法。

最常见的的一种方案 是cache中的组直接映射到主存的块号中。怎么说呢?就是cache中有4个组,那么主存中的块就按组号来映射。举例说cache中有8块采用2路组相联,即有4组。分别是第0、1、2 、3组。主存中有16个块。块号是0~15,那么第0组中的两个块可以是主存中0、 4、 8、 12 中的任意两个块。这样cache的地址只分成 组号 块内地址 ,主存的地址 分成 主存标记 组号 快内地址 三个部分

而第二种方案要复杂一些但层次更明晰。它是将cache整个映射到主存中。它等于将主存化成了一个个区,每个区的大小和cache相同。仍是上个例子。那么第0组中的两个块分别映射为主存中的0、 1块 和8、 9块 。这样cache的地址只分成 组号 块内地址 ,主存的地址 分成 主存标记 区号 组号 快内地址 四个部分

其实我说的还是不是很透彻,自己最好按我说的画个图。就就比较好理解了

这是我以前回答较为类似的问题。 下班了没仔细看。回头回答

主存256MB,cache有8行,每行64B,直接映射,求cache总容量,不考虑cache一致性维护和替换算法控制位

主存256MB,所以,主存地址线28根,cache有8行(也就是8块)表示块号要3位表示,每行64B就是块内地址为6位,所以,标记位=28-9=19位,有效位占1位,共20位。cache每块占(20+64×8)位。总容量为8×(20+64×8)÷ 8=532B

网站分类
主存对应的cache租号怎么求-cache采用4路组相联映像求主存地址各字段如何划分标签列表