通过题目来讲一讲存储器分层体系结构相关知识 1 | 计算机组成与系统结构专题
题目1
某计算机主存容量为64KB,其中ROM区为4KB,其余为RAM区,按字节编址,现要用2K×8位的ROM芯片和4K×4位的RAM芯片来设计该存储器,则需要上述规格的ROM芯片数和RAM芯片数分别是多少?
题目1 解答
RAM区为 64KB-4KB = 60KB
ROM芯片 = (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. 1k*8位/(256*8位)=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小的话,则大大影响命中率。
- 点赞
- 收藏
- 关注作者
评论(0)