`
第3章习题参考答案
1、设有一个具有20位地址和32位字长的存储器,问 (1) 该存储器能存储多少字节的信息
(2) 如果存储器由512K ×8位SRAM 芯片组成,需要多少片 (3) 需要多少位地址作芯片选择 解:
(1) 该存储器能存储:字节4M 8
32
220=?
{
(2) 需要
片88
232
28512322192020=??=??K (3) 用512K 8位的芯片构成字长为32位的存储器,则需要每4片为一组进行
字长的位数扩展,然后再由2组进行存储器容量的扩展。所以只需一位最高位地址进行芯片选择。
2、已知某64位机主存采用半导体存储器,其地址码为26位,若使用4M ×8位的DRAM 芯片组成该机所允许的最大主存空间,并选用内存条结构形式,问; (1) 若每个内存条为16M ×64位,共需几个内存条? (2) 每个内存条内共有多少DRAM 芯片?
(3) 主存共需多少DRAM 芯片 CPU 如何选择各内存条 解:
(1) 共需
条464
1664
226=??M 内存条 (2) 每个内存条内共有
328
464
16=??M M 个芯片
(3) 主存共需多少
1288
464
648464226=??=??M M M 个RAM 芯片, 共有4个内存条,故CPU 选择内存条用最高两位地址A 24和A 25通过2:4译码器实现;其余的24根地
址线用于内存条内部单元的选择。
*
3、用16K ×8位的DRAM 芯片构成64K ×32位存储器,要求: (1) 画出该存储器的组成逻辑框图。
(2) 设存储器读/写周期为μS ,CPU 在1μS 内至少要访问一次。试问采用哪种刷新方式比较合理两次刷新的最大时间间隔是多少对全部存储单元刷新一遍所需的实际刷新时间是多少 解:
(1) 用16K ×8位的DRAM 芯片构成64K ×32位存储器,需要用
16
448
1632
64=?=??K K 个芯片,其中每4片为一组构成16K ×32位——进行字长位数扩展(一组内的4个芯片只有数据信号线不互连——分别接D 0D 7、D 8D 15、D 16D 23和D 24D 31,其余同名引脚互连),需要低14位地址(A 0A 13)作为模块内各个芯片的内部单元地址——分成行、列地址两次由A 0A 6引脚输入;然后再由4组进行存储器容量扩展,用高两位地址A 14、A 15通过2:4译码器实现4组中选择一组。画出逻辑框图如下。
(1) (2) (3) (4)
(5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) CPU
D 0~D 31
RAS 0
RAS 1
RAS 2
RAS 3
A 0~A 13
A 14 A 15
A 0~A 6
A 0~A 6 A 0~A 6 A 0~A 6 WE WE
2-4 译码
RAS
D 0~7 D 8~15 D 16~23 D 24~31
D 0~7 D 8~15 D 16~23 D 24~31
D 0~7 D 8~15 D 16~23 D 24~31
D 0~7 D 8~15 D 16~23 D 24~31
WE
WE
WE
RAS
RAS
RAS
%
(2) 设刷新周期为2ms ,并设16K 8位的DRAM 结构是1281288存储阵列,则对所有单元全部刷新一遍需要128次(每次刷新一行,共128行)
若采用集中式刷新,则每2ms 中的最后128s=64s 为集中刷新时间,不能进行正常读写,即存在64s 的死时间
若采用分散式刷新,则每1s 只能访问一次主存,而题目要求CPU 在1μS 内至少要访问一次,也就是说访问主存的时间间隔越短越好,故此方法也不是最适合的
比较适合采用异步式刷新:
采用异步刷新方式,则两次刷新操作的最大时间间隔为s ms
μ625.15128
2=,可取
s ;对全部存储单元刷新一遍所需的实际刷新时间为:s 128=;采用这种方式,每s 中有s 用于刷新,其余的时间用于访存(大部分时间中1s 可以访问两次内存)。
4、有一个1024K ×32位的存储器,由128K ×8位的DRAM 芯片构成。问: (1) 总共需要多少DRAM 芯片 …
(2) 设计此存储体组成框图。
(3) 采用异步刷新方式,如单元刷新间隔不超过8ms ,则刷新信号周期是多少 解:
(1) 需要32488
12832
1024=?=??K K 片,每4片为一组,共需8组
(2) 设计此存储体组成框图如下所示。
(1) (2) (3) (4)
(5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) CPU
D 0~D 31
RAS 0 A 0~A 16
A 17 A 18 A 0~A 8
WE WE
3-8 译码
RAS
D 0~7 D 8~15 D 16~23 D 24~31
D 0~7 D 8~15 D 16~23 D 24~31
D 0~7 D 8~15 D 16~23 D 24~31
D 0~7 D 8~15 D 16~23 D 24~31
WE
WE
WE
(17)
(18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) CPU
A 0~A 16
WE
D 0~7 D 8~15 D 16~23 D 24~31
D 0~7 D 8~15 D 16~23 D 24~31
D 0~7 D 8~15 D 16~23 D 24~31
D 0~7 D 8~15 D 16~23 D 24~31
A 19
RAS 0
RAS 1
RAS 2
RAS 3
RAS 4
RAS 5
RAS 6
RAS 7
RAS 1 RAS 2 RAS 3 RAS 4 RAS 5 RAS 6 RAS 7
WE
(3) 设该128K 8位的DRAM 芯片的存储阵列为5122568结构,则如果选择一个行地址进行刷新,刷新地址为A 0A 8,那么该行上的2048个存储元同时进行刷新,要求单元刷新间隔不超过8ms ,即要在8ms 内进行512次刷新操作。采
用异步刷新方式时需要每隔s ms
μ625.15512
8=进行一次,可取刷新信号周期为s 。
#
5、要求用256K×l6位SRAM 芯片设计1024K×32位的存储器。SRAM 芯片有两个控制端:当CS 有效时,该片选中。当W/R =1时执行读操作,当W/R=0时执行写操作。
解:
片82416
25632
1024=?=??K K ,共需8片,分为4组,每组2片
即所设计的存储器单元数为1M ,字长为32,故地址长度为20位(A 19~A 0),所用
芯片存储单元数为256K ,字长为16位,故占用的地址长度为18位(A 17~A 0)。由此可用字长位数扩展与字单元数扩展相结合的方法组成组成整个存储器
字长位数扩展:同一组中2个芯片的数据线,一个与数据总线的D 15~D 0相连,一个与D 31~D 16相连;其余信号线公用(地址线、片选信号、读写信号同名引脚互连) 字单元数扩展:4组RAM 芯片,使用一片2:4译码器,各组除片选信号外,其余信号线公用。其存储器结构如图所示
》
6、用32K ×8位的E 2PROM 芯片组成128K ×16位的只读存储器,试问: (1) 数据寄存器多少位 (2) 地址寄存器多少位 #
(3) 共需多少个E 2PROM 芯片
(4) 画出此存储器组成框图。
解:(1) 系统16位数据,所以数据寄存器16位
(2) 系统地址128K =217,所以地址寄存器17位
(3)共需
片8248
3216
128=?=??K K ,分为4组,每组2片 (4) 组成框图如下 {
32K ?8 CPU
A 0~A 14
D 0~7
A 15 W/R
2-4 译码
A 16
32K ?8
32K ?8
32K ?8
32K ?8 32K ?8 32K ?8 32K ?8
D 0~7
CS
Y 0
CS
CS
CS
Y 1
Y 2
Y 3
A 0~A 14
D 0~D 7
D 8~15 数据 寄存器 地址 寄存器
D 8~15
W/R
W/R
7.某机器中,已知配有一个地址空间为0000H
3FFFH 的ROM 区域。现在再用一个
RAM 芯片(8K ×8)形成40K ×l6位的RAM 区域,起始地为6000H 。假设RAM 芯片有CS 和
WE 信号控制端。CPU 的地址总线为A 15
A 0,数据总线为D 15D 0,控制信号为W R /
(读/写),MREQ (访存),要求:
(1) 画出地址译码方案。 (2) 将ROM 与RAM 同CPU 连接。 解:
(1) 由于RAM 芯片的容量是8K ×8,要构成40K ×16的RAM 区域,共需要 #
片10258
81640=?=??K K ,分为5组,每组2片;8K=213
,故低位地址为13位:A 12~A 0
每组的2片位并联,进行字长的位扩展
有5组RAM 芯片,故用于组间选择的译码器使用3:8译码器,用高3位地址A 15~A 13作译码器的选择输入信号 各芯片组 各组地址区间 A 15 A 14
-
A 13 138的有效输出i Y
0000H
3FFFH
6000H 7FFFH 8000H 9FFFH A000H BFFFH C000H DFFFH E000H
FFFFH
注:RAM1RAM5各由2片8K 8芯片组成,进行字长位扩展 各芯片组内部的单元地址是A 12~A 0由全0到全1
(2) ROM 、RAM 与CPU 的连接如图: "
8、设存储器容量为64M ,字长为64位,模块数m=8,分别用顺序和交叉方式进
行组织。存储周期T =100ns ,数据总线宽度为64位,总线传送周期,=50ns 。求:顺序存储器和交叉存储器的带宽各是多少 解:
顺序存储器和交叉存储器连续读出m = 8个字的信息总量都是:
q = 64位×8 = 512位
顺序存储器和交叉存储器连续读出8个字所需的时间分别是:
t 1 = mT = 8×100ns = 8×10-7s —
t 2 = T+(m-1)τ = 100ns+7×50ns = 450 ns = ×10-7 s
顺序存储器和交叉存储器的带宽分别是: W 1=q/t 1=512/(8×10-7)=64×107[位/s]
W 2=q/t 2=512/×10-7)=×107
[位/s]
9、CPU 执行一段程序时,cache 完成存取的次数为2420次,主存完成存取的次数为80次,已知cache 存储周期为40ns ,主存存储周期为240ns ,求cache /主存系统的效率和平均访问时间。 解:cache 的命中率: !
%8.9680
24202420
=+=+=
m c c N N N h
主存慢于Cache 的倍率:
640
240===
c m t t r Cache/主存系统的效率:
%2.86968
.0561
)1(1=?-=-+=
h r r e
平均访问时间:
ns e t t c a 4.46862
.040===
?
10、已知cache 存储周期40ns ,主存存储周期200ns ,cache/主存系统平均访问时间为50ns ,求cache 的命中率是多少
解:已知cache /主存系统平均访问时间t a =50ns 由于m c a t h t h t )1(-+*= 所以有%75.9340
20050
200=--=--=
c m a m t t t t h
11、某计算机采用四体交叉存储器,今执行一段小循环程序,此程序放在存储器的连续地址单元中,假设每条指令的执行时间相等,而且不需要到存储器存取数据,请问在下面两种情况中(执行的指令数相等),程序运行的时间是否相等。 (1) 循环程序由6条指令组成,重复执行80次。 …
(2) 循环程序由8条指令组成,重复执行60次。
解:设取指周期为T ,总线传送周期为τ,每条指令的执行时间相等,并设为t 0,存储器采用四体交叉存储器,且程序存放在连续的存储单元中,故取指令操作采用流水线存取方式,两种情况程序运行的总的时间分别为: (1) t = (T+5τ+6t 0)*80 = 80T+400τ+480 t 0 (2) t = (T+7τ+8t 0)*60 = 60T+420τ+480 t 0 所以不相等
12、一个由主存和Cache 组成的二级存储系统,参数定义如下:T a 为系统平均存取时间,T 1为Cache 的存取时间,T 2为主存的存取时间,H 为Cache 命中率,请写出T a 与T 1、T 2、H 参数之间的函数关系式。 ? 解:
21)1(T H T H T a *-+*=
13、一个组相联cache 由64个行组成,每组4行。主存储器包含4K 个块,每块128个字。请表示内存地址的格式。 解:
主存4K 个块,每块128个字,共有4K 128=219个字,故主存的地址共19位; 共4K 个块,故块地址为12位;每块128个字,故块内的字地址为7位 Cache 有64行,每组4行,共16组,故组号4位,组内页号2位 【
组相联方式是组间直接映射,组内全相联映射方式;
所以主存的块地址被分为两部分:低4位为在cache 中的组号,高8位为标记字tag 组号 字地址 ~
14、有一个处理机,内存容量1MB ,字长1B ,块大小16B ,cache 容量64KB ,若
cache 采用直接映射式,请给出2个不同标记的内存地址,它们映射到同一个cache 行。 解:
Cache 共有个行1221664=B
KB
,行号为12位
采用直接映射方式,所以cache 的行号i 与主存的块号j 之间的关系为:
m j i mod =,m 为cache 的总行数
20tag
\
行号
字地址
两个映射到同一个cache 行的内存地址满足的条件是:12位的行号相同,而4位的标记不同即可,例如下面的两个内存地址就满足要求: 0000 000000000000 0000=00000H 与 0001 000000000000 0000=10000H
15、假设主存容量16M 32位,cache 容量64K 32位,主存与cache 之间以每块432位大小传送数据,请确定直接映射方式的有关参数,并画出主存地址格式。 解:
由已知条件可知Cache 共有
个行位
位
1423243264=??K ,行号为14位
主存共有
个块位
位
2223243216=??M ,块地址为22位,由行号和标记组成
cache 的行号i 与主存的块号j 之间的关系为:
m j i mod =,m 为cache 的总行数
设32位为一个字,且按字进行编址,则 24tag 行号 字地址
补充:从下列有关存储器的描述中,选择出正确的答案: A .多体交叉存储主要解决扩充容量问题。 B .访问存储器的请求是由CPU 发出的。
C .cache 与主存统一编址,即主存空间的某一部分属于cache 。
D .cache 的功能全由硬件实现。 答: D