实在太懵了!
- 一个32位CPU的主存有4GB,按字编址,其Cache有16KB,字块大小32B。
1)采用直接映射法时,主存地址中,块内地址(1)位;Cache行地址(2)位;标记(3)位;如果CPU访问主存单元22334455H时命中Cache,则该单元所在的Cache行地址是(4)H。
2)如果采用4路组相联映射时,主存地址中,Cache组地址(5)位;标记(6)位;如果CPU访问主存单元22334455H时命中Cache,则该单元一定位于Cache的第(7)H 组。
- 下面是一段 类RV32I的汇编程序,每条汇编指令对应的机器指令都是32位,机器程序存放在0号地址开始的主存空间:
addi t0,x0,5 #5→t0
lui t1,0x800 #800 000h→t1
L1: lw t2,0(t1) #Mem32[t1+0]→t2
addi t2,t2,100 #t2+100→t2
sw t2,0(t1) #t2→Mem32[t1+0]
addi t1,t1,4 #t1+4→t1
addi t0,t0,-1 #t0-1→t0
bne t0,x0,L1 #if (t0≠0) goto L1
exit:
(代码块不知道选哪个,随便用的)
假设该32位模型机主存容量1GB,按字编址,配备了32KB的指令Cache,采用4路组相联组织,块大小16B:
1)请计算这段程序执行完后(到exit),指令Cache的命中率是 (1) %;假设主存访问时间是40ns,Cache访问时间是8ns,总是从Cache取指令,则Cache-主存平均访问时间是址 (2) ns;Cache-主存的访问效率是 (3) %。
2)主存地址 (4) 位;其中,块内地址 (5) 位;Cache组地址 (6) 位;高位标记 (7) 位;
3)如果Cache采用写回策略,随机替换算法,则Cache的目录SRAM的容量是 (8) 字节。
- 某计算机的存储系统由Cache、主存和用于虚拟存储的磁盘组成。CPU总是从Cache中获取数据。若所访问的字在Cache中,则存取它只需要20ns,将所访问的字从主存装入Cache需要60ns,而将它从磁盘装入主存则需要1200μs。假定Cache的命中率为90%,主存的命中率为60%。为计算该系统访问一个字的平均存取时间ta,则:
(1)主存-辅存的平均访问时间/Tm= ns;(暂不考虑Cache)
(2)Cache-主存-辅存系统访问一个字的平均存取时间为 ns。(考虑Cache,将主存-辅存当做一个整体处理)