4.6 某机字长为32位,其存储容量是64KB,按字编址的寻址范围是多少?若主存按字节编址,试画出主存字地址和字节地址的分配情况。
解:
主存容量64KB,如果按字编址,有64KB / 4B = 16K 个可寻址单元
寻址范围是 214或0 ~ 16K-1
如果按字节编址,有64K个可寻址单元。
每个字包含4个字节。
用二进制表示的地址,字地址的最低2位是00。
4、7. 一个容量为16K×32位的存储器,其地址线和数据线的总和是多少?当选用下列不同规格的存储芯片时,各需要多少片?
1K×4位,2K×8位,4K×4位,16K×1位,4K×8位,8K×8位
解:地址线和数据线的总和 = 14 + 32 = 46根;
选择不同的芯片时,各需要的片数为:
1K×4:(16K×32) / (1K×4) = 16×8 = 128片
2K×8:(16K×32) / (2K×8) = 8×4 = 32片
4K×4:(16K×32) / (4K×4) = 4×8 = 32片
16K×1:(16K×32)/ (16K×1) = 1×32 = 32片
4K×8:(16K×32)/ (4K×8) = 4×4 = 16片
8K×8:(16K×32) / (8K×8) = 2×4 = 8片
4.15 设CPU共有16根地址线,8根数据线,并用(低电平有效)作访存控制信号,作读写命令信号(高电平为读,低电平为写)。现有下列存储芯片:ROM(2K×8位,4K×4位,8K×8位),RAM(1K×4位,2K×8位,4K×8位),及74138译码器和其他门电路(门电路自定)。试从上述规格中选用合适芯片,画出CPU和存储芯片的连接图。要求:
(1)最小4K地址为系统程序区,4096~16383地址范围为用户程序区;
(2)指出选用的存储芯片类型及数量;
(3)详细画出片选逻辑。
4K的系统程序区可以用4K×4的ROM芯片,2片
4096-16383的用户程序区应该用4K×8的RAM芯片,3片
解
?
4-28 设主存容量为256K字,Cache容量为2K字,块长为4。(1)设计Cache地址格式,Cache中可装入多少块数据?(2)在直接映射方式下,设计主存地址格式。(3)在四路组相联映射方式下,设计主存地址格式。(4)在全相联映射方式下,设计主存地址格式。(5)若存储字长为32位,存储器按字节寻址,写出上述三种映射方式下主存的地址格式
(1)Cache的块数 = 2K / 4 = 512
Cache的块地址为9位,块内地址为
(2)直接映射
主存地址为18位,其中块地址为16位,块内地址为2位
主存地址的最高7位作为Tag
格式:
(3) 四路组相联
Cache的组数 = 512 / 4 = 128
Cache的组地址为7位。主存地址的最高7位和中间2位共同作为Tag
主存地址格式:
(4) 全相联
主存地址格式:
(5)32位字 = 4 字节
直接映射
四路组相联
全相联
4-29 假设CPU执行某段程序时共访问Cache命中4800次,访问主存200次,已知Cache的存取周期是30ns,主存的存取周期是150ns,求Cache的命中率以及Cache-主存系统的平均访问时间和效率,试问该系统的性能提高了多少?
Cache的命中率H= 4800 /(4800+200)= 4800 / 5000 = 0.96
TC =30 nS TM = 150 nS
TA = H×TC +(1—H)×TM = 0.96×30+(1—0.96)×150 = 34.8 nS
或者
TA = H×TC +(1—H)×(TM + TC)= 0.96×30+0.04×(150+30) = 36 nS
Cache-主存层次的效率e =(访问Cache的时间TC /平均访问时间TA)×100%
=(30 / 36)×100% = 83