组相联映射怎么求租号
一个组相联映射的Cache,有128块,每组4块,主存共有16384块,每块64个字,则主存地址共( )位,其中主存
先将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位)
,哥们是2013计算机考研的话,详细交流+QQ605015391
在Cache映射里的组相联映射,是每一组共有一个主存字块标记还是组里的每一块都有一个主存字块标记
你说的组我理解是cache line, 每一个cache line里面有若干数据(应该是你说的字块吧)。应该是每一个cache line有个一个tag(标记),字块查找是通过地址后几位来完成的。可以参阅http://blog.csdn.net/pang040328/article/details/4285590。
什么是是组相联映射??概括性一点的
组相联映射是直接映射和相联映射方法的结合,它综合了直接映射结构简单和相联映射数据替换灵活的优点。在组相联映射的结构中,将Cache分为m组,每组r’行,主存中共有s个数据块,每s/r’个数据块可以分别装入某一相同行号的m个Cache行中。这样,既避免了由于主存块映射固定Cache行引起的Cache命中率低的不足,又减少了标记位的长度降低了比较电路的复杂性。
一个组相联映射的Cache,有128块,每组4块,主存共有16384块,每块64个字,则主存地址共几位,要详细分配
一个组相联映射的Cache,有128块,每组4块,主存共有16384块,每块64个字,则主存地址共(20 )位,其中主存字块标记应为( 6 )位,组地址应为( 2 )位,Cache地址共( 13 )位。