马上登录 免费注册租号平台 租号大厅 关于我们 联系我们 APP下载
当前位置:首页 > 常见问题 - 组相联映射租号占的位数

组相联映射租号占的位数

时间:2020-10-01 15:37:47  来源:租号平台

某计算机的cache采用四路组相联映射,已知cache容量为4kb,主存容量为1mb,每个字块32?

我把b当做Byte来算。4kb/32b=128个cacheline。共4组cacheset。组地址2位,组内块号7位。其实这问题本身就有问题,cache的访问是通过Tag和index,blockoffset来得到。

一个组相联映射的Cache,有128块,每组4块,主存共有16384块,每块64个字,则主存地址共几位,要详细分配?

20位。 先将Cache分组,组数=128/4=32,故Cache组地址占5位,块内地址占6位,块地址占两位,故Cache地址共5+6+2=13位。主存=16384*64=2^20字;故按字编制,主存地址为(20)位。 由于采用的是第一种组相连映射,即组相连映射关系为:i=j mod Q(i为Cache组号,j为主存块号,Q为Cache组数,故组地址为(5位)(如果按字节编址,块内地址位数增1,Cache地址位数增1,主存位数也增1) 。 如果采用第二种全相连映射方法,则先将主存按照Cache大小分区,共128个区,故区号占7位,再将每个区分组,每个区内的组数和Cache的组数相等(32组)故组地址占5位,每组有4个块,故块地址为2位。 块内地址同第一种全相连映射方法中块内地址长度相同,主存地址=区号+组号+组内块号+块内地址.故按字编址,主存地址=7+5+2+6=20(位)(按字节编址时块内地址为6位,故主存地址为21位)Cache地址=组号+组内块号+块内地址=5+2+6=13位(按字节编址时为14位)。

什么是是组相联映射?概括性一点的?

组相联映射是直接映射和相联映射方法的结合,它综合了直接映射结构简单和相联映射数据替换灵活的优点。在组相联映射的结构中,将Cache分为m组,每组r’行,主存中共有s个数据块,每s/r’个数据块可以分别装入某一相同行号的m个Cache行中。这样,既避免了由于主存块映射固定Cache行引起的Cache命中率低的不足,又减少了标记位的长度降低了比较电路的复杂性。

热门推荐
喜欢

客服电话

0754-895654578

客服中心QQ

215720998
'); })();