计算机组层原理第四章:大题(CPU与存储器的连接)及cache
计算机组层原理第四章:大题(CPU与存储器的连接)及cache
1.设 CPU有16根地址线,8根数据线,用M(-)E(-)Q(-)R(-)表示访存信号(低电平有效),用W(-)R(-)作读/写控制信号(高电平为读,低电平为写),用 16K*8 位的RAM 存储芯片组成该 CPU 最大的存储空间。
(1)一共需要多少存储芯片?
(2)详细描述出存储芯片的片选逻辑图。
正确答案:
(1)CPU最大存储空间为64K×8b即216×8b,所以需要4片16K×8b RAM小芯片。
16K×8b RAM 1号 |
16K×8b RAM 2号 |
16K×8b RAM 3号 |
16K×8b RAM4号 |
(2)
2.设 CPU有 16根地址线(A0~A15),8根数据线(D0~D7),用M(-)E(-)Q(-)R(-)表示访存信号(低电平有效),用W(-)R(-)作读/写控制信号(高电平为读,低电平为写),现有下列存储芯片:4K*8位RAM、4K*4位ROM及74138译码器。CPU与存储器的连接,要求主存地址空间分配:0000H-2FFFH为用户程序区;3000H-3FFFH为系统程序区。
(1)合理选择上述存储芯片,说明各选几片4K*8位RAM和4K*4位ROM,以及每个小芯片的地址范围(用十六进制表达)。
(2)详细描述出存储芯片的片选逻辑图。
(3)如果将4K*4位 ROM小芯片更换为2K*8位ROM小芯片,则片选逻辑有哪些改变?
(1)用户程序区容量为 12Kx8b,所以需要3片4K x 8b RAM 小芯片。地址分别为0000-0FFF,1000-1FFF,2000-2FFF。
系统程序区容量为 4K×8b,所以需要 2片 4K×4b ROM 小芯片。地址均均为3000-3FFF。
4Kx8b RAM 1号 | |
4KX8b RAM2号 | |
4Kx8b RAM 3号 | |
4K×4b ROM 4号 | 4K×4b ROM 5号 |
(2)
(3)需要 2 个2K×8 位的 ROM 小芯片。都要连接 CPU 的地址线 A0~A10,数据线 D0~D7。CPU 的地址线 A11 上要添加一个非门,非门的输入前要连接一个 ROM小芯片,非门的输出后要连接另一个 ROM小芯片。
3.(简答题)
某计算机的cache由64个存储块构成,采用四路组相联映射方式,主存包含4096个存储块,每块由128个字组成,访问地址为字地址。
(1)主存地址和cache地址各有多少位?
(2)按照题干条件中的映射方式,列出主存地址的划分情况,并标出各部分的位数。
正确答案:
(1)主存容量为 4096*128=2^19 字,故主存地址位数为19位。cache容量为 64*128=2^13 字,故 cache地址位数为13位。
(2)每个组中包含4个存储块,共包含 64/4=16=2^4 组,故组地址为4位。由于每块由128个字组成,访问地址为字地址,故块内偏移地址位数为7位。主存标记标记的位数为19-4-7=8位,则主存地址划分情况如下图所示。
主存标记位(8位) | 组地址(4位) | 块内偏移(7位) |
4.(简答题)
有一个计算机,主存容量为220×8b,cache容量为212×8b。块大小为16B,按字节寻址。
(1)主存地址和cache地址各有多少位?
(2)若cache采用直接映射,给出内存地址C0BDE H相对应的主存标记位、cache字块地址、字块内地址。
(3)若cache采用四路组映射,给出内存地址A8642H相对应的主存标记位、组地址、字块内地址。
(4)假设cache的工作速度是主存的5倍,且cache被访问命中的概率是90%,则采用cache后,存储器的性能提高了多少?
(5)当cache存满之后,采用先进先出FIFO算法淘汰cache块,FIFO算法的缺点是什么?
正确答案:
(1)主存块数=220×8b/16B=216 主存地址:一共需要20位
主存块号(16位) | 块内地址(4位) |
缓存块数=212×8b/ 16B=28 缓存地址:一共需要12位
缓存块号(8位) | 块内地址(4位) |
(2)
主存标记位(16-8=8位) | cache字块地址(8位) | 字块内地址(4位) |
C0BDE H=1100 0000 1011 1101 1110B
主存标记:1100 0000 cache字块地址:1011 1101 字块内地址:1110
(3)组数=28/4=26
主存标记位(16-6=10位) | 组地址(6位) | 字块内地址(4位) |
A8642 H=1010 1000 0110 0100 0010 B
主存标记:1010 1000 01 组地址:10 0100 字块内地址:0010
(4)设cache的存取周期为t,主存的存取周期为5t,则系统的平均访问时间为:
T=0.9×t+(1-0.9)×5t=1.4t
性能为原来的5t/1.4t=3.57倍,即提高了2.57倍。
(5)先进先出算法不灵活,没有考虑访问内存的动态规律/和进程的执行过程相违背。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)