通过题目来讲一讲存储器分层体系结构相关知识 1 | 计算机组成与系统结构专题
题目 1
某计算机主存容量为 64KB,其中 ROM 区为 4KB,其余为 RAM 区,按字节编址,现要用 2K×8 位的 ROM 芯片和 4K×4 位的 RAM 芯片来设计该存储器,则需要上述规格的 ROM 芯片数和 RAM 芯片数分别是多少?
题目 1 解答
RAM 区为 64KB-4KB = 60KBROM 芯片 = (4KB8 位)/(2K8 位) = 2 片 RAM 芯片 = (60KB8 位)/(4K4 位) = 30 片
题目 2
用 8K×8 位的 EPROM 芯片组成 32K×16 位的只读存储器,试问:
(1)数据寄存器最少应有多少位?
(2)地址寄存器最少应有多少位?
(3)共需多少个 EPROM 芯片?
题目 2 解答
(1)数据寄存器最少有 16 位,应不少于存储器的位数。
(2)与存储器的大小有关。
按字节编址:容量 32K*(16/8)B = 64KB 然后有 64KB / 8bit = 64K 个单元
按字编址:容量 32K*(16/8)B=64KB 然后有 64KB / 16bit = 32K 个单元
则地址寄存器最少有:15 位(若按字编址);16 位(若按字节编址)。
(3)需要 32K * 16 位 / (8K * 8 位) = 8 个
题目 3
用 256×8 位的 RAM 芯片扩展为 1k×8 位的 RAM,请回答以下问题:
a. 共需要几块芯片,采用何种扩展方式?
b. 请将以下 CPU 与存储器的连接图补充完整。
c. 请写出各芯片的地址范围。
题目 3 解答
a. 1k8 位/(2568 位)=4 片 采用字扩展方式
b.
c.
000H-0FFH
100H-1FFH
200H-2FFH
300H-3FFH
题目 4
假定某机主存 1GB,按字节编址。Cache 的数据区(即不包括标记、有效位等存储区)有 64KB,块大小为 128 字节,采用直接映射和直写(Write-Through)方式。请问:
主存地址如何划分?要求说明每个字段的含义、位数和在主存地址中的位置。
Cache 的总容量为多少位?
题目 4 解答
主存: Cache 共 64KB/128B=512 行。
主存地址为 30 位,其中,高 14 位为标志;中间 9 位为行索引(行号);低 7 位为块内地址。
考虑有效位、标志位而不考虑替换算法等所需的控制位,Cache 总容量为:512x(128x8+14+1)位=519.5K 位
题目 5
分析比较以下三个函数的空间局部性,并指出哪个最好,哪个最差?
题目 5 解答
对于函数 clear1,其数组访问顺序与在内存存放顺序完全一致。因此,空间局部性最好。
对于函数 clear2,其数组访问顺序在每个数组元素内跳跃式访问,相邻两次访问的单元最大相差 3 个 int 变量(假定 sizeof(int)=4,则相当于 24B)因此,空间局部性比 clear2 还差。若主存块大小比 12B 小的话,则大大影响命中率。
对于函数 clear3,其数组访问顺序与在内存中的存放顺序不一致,相邻两次访问的单元都相差 6 个 int 型变量(假定 sizeof(int)=4,则相当于 24B)因此,空间局部性比 clear2 还差,是三个中空间局部性最差的。若主存块大小比 24B 小的话,则大大影响命中率。
版权声明: 本文为 InfoQ 作者【Regan Yue】的原创文章。
原文链接:【http://xie.infoq.cn/article/6901c8cde8ff3b1344aa79355】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论