问答题 设Cache分为2 g 个组,每组包含2 t 个块,Cache共有2 e =2 g+1 个块。其映像关系为
j=(i mod 2 g )×2 t +h (0≤h≤2 t-1 )
由主存块号求出主存所在的区号
k=[i/2 c ]
其中,k是主存的区号,i是主存的块号,2 c 为Cache的块数,即n,“[]”为取整。
若g=2位,t=1位,求主存字块11可映像到Cache的哪一个字块中?
【正确答案】
【答案解析】根据公式可得:
j=(i mod 2 g )×2 t +h
=(11 mod 2 2 )×2 1 +h
=3×2+h
=6+h
又因为0≤h≤2 t-1 =1
所以h=0或1
代入后得j=6(h=0)或7(h=1)。所以主存模块11可映像到Cache字块6或7,在第3组。
求出主存所在的区号:
K=[i/2 c ]=[11/2 c ]=[11/2 g+1 ]=[11/2 3 ]=1
即在第1区。
因此主存地址的区号、区内组号、组内块号和块内字地址为:1、3、6、W或1、3、7、W,其中W为主存块内字地址。