4组相连映像租号怎么算

时间:2020-08-24 14:00:15 作者:zuhao

设某计算机的cache采用4路组相连映像,已知cache的容量为1KB,主存总量为1MB,每个字块有?

每个子块有16*32/8=64字节,即1MB主存内有1048576/64=16384个字块,14位就行了。4路组相连只要2位就行了。cache内有1024/64=16个字块,4位就行了。所以主存地址段中主存字块标记需要14位,组地址标记需要2位,快内地址需要4位。

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的地址只分成 组号 块内地址 ,主存的地址 分成 主存标记 区号 组号 快内地址 四个部分

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

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

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现4组相连映像租号怎么算有涉嫌版权的内容,欢迎发送邮件至:2145784@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。