admin 管理员组文章数量: 887021
2023年12月16日发(作者:css样式表的分类)
第3章习题参考答案
第3章习题答案
1、设有一个具有20位地址和32位字长的存储器,问
(1) 该存储器能存储多少字节的信息?
(2) 如果存储器由512K×8位SRAM芯片组成,需要多少片?
(3) 需要多少位地址作芯片选择?
解:
32(1) 该存储器能存储:2204M字节
82203222032(2) 需要198片
512K828(3) 用512K8位的芯片构成字长为32位的存储器,则需要每4片为一组进行字长的位数扩展,然后再由2组进行存储器容量的扩展。所以只需一位最高位地址进行芯片选择。
2、已知某64位机主存采用半导体存储器,其地址码为26位,若使用4M×8位的DRAM芯片组成该机所允许的最大主存空间,并选用内存条结构形式,问;
(1) 若每个内存条为16M×64位,共需几个内存条?
(2) 每个内存条内共有多少DRAM芯片?
(3) 主存共需多少DRAM芯片? CPU如何选择各内存条?
解:
226644条 (1) 共需内存条16M6416M6432片
(2) 每个内存条内共有个芯4M82266464M64128芯片, 共有4个内存(3) 主存共需多少个RAM条,故4M84M8CPU选择内存条用最高两位地址A24和A25通过2:4译码器实现;其余的24根地址线用于内存条内部单元的选择。
3、用16K×8位的DRAM芯片构成64K×32位存储器,要求:
(1) 画出该存储器的组成逻辑框图。
(2) 设存储器读/写周期为0.5μS,CPU在1μS内至少要访问一次。试问采用哪种刷新方式比较合理?两次刷新的最大时间间隔是多少?对全部存储单元刷新一遍所需的实际刷新时间是多少?
解:
(1) 用16K×8位的DRAM芯片构成64K×32位存储器,需要用个芯64K324416片,其中每4片为一组构成16K×32位——进行字长位数扩16K8展(一组内的4个芯片只有数据信号线不互连——分别接D0D7、D8D15、D16D231
第3章习题参考答案
和D24D31,其余同名引脚互连),需要低14位地址(A0A13)作为模块内各个芯片的内部单元地址——分成行、列地址两次由A0A6引脚输入;然后再由4组进行存储器容量扩展,用高两位地址A14、A15通过2:4译码器实现4组中选择一组。画出逻辑框图如下。
A0A13
A0A6 A0A6
(5)
(6)
(7)
(8)
WE
RAS
D07
D815
D1623
D2431
A0A6
(9)
(10)
(11)
(12)
WE
RAS
D07
D815
D1623
D2431
A0A6
(13)
(14)
(15)
(16)
WE
RAS
D07
D815
D1623
D2431
CPU
RAS
(1)
(2)
(3)
(4)
D07
D815
D1623
D2431
WE
D0D31
A14
A15
WE
2-4
译码
RAS0
RAS1
RAS2
RAS3
(2) 设刷新周期为2ms,并设16K8位的DRAM结构是1281288存储阵列,则对所有单元全部刷新一遍需要128次(每次刷新一行,共128行)
若采用集中式刷新,则每2ms中的最后1280.5s=64s为集中刷新时间,不能进行正常读写,即存在64s的死时间
若采用分散式刷新,则每1s只能访问一次主存,而题目要求CPU在1μS内至少要访问一次,也就是说访问主存的时间间隔越短越好,故此方法也不是最适合的
比较适合采用异步式刷新:
2ms15.625s,可取采用异步刷新方式,则两次刷新操作的最大时间间隔为12815.5s;对全部存储单元刷新一遍所需的实际刷新时间为:15.5s128=1.984ms;采用这种方式,每15.5s中有0.5s用于刷新,其余的时间用于访存(大部分时间中1s可以访问两次内存)。
4、有一个1024K×32位的存储器,由128K×8位的DRAM芯片构成。问:
(1) 总共需要多少DRAM芯片?
(2) 设计此存储体组成框图。
(3) 采用异步刷新方式,如单元刷新间隔不超过8ms,则刷新信号周期是多少?
解:
1024K328432片,每4片为一组(1) 需要,共需8组
128K82
第3章习题参考答案
(2) 设计此存储体组成框图如下所示。
A0A16
A0A8
RAS
D07
D815
D1623
D2431
D07
D815
D1623
D2431
D07
D815
D1623
D2431
D07
D815
D1623
D2431
CPU
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
RAS1
WE
(9)
(10)
(11)
(12)
RAS2
WE
(13)
(14)
(15)
(16)
RAS3
WE
WE
D0D31
RAS0
WE
(17)
D07
D815
D1623
D2431
(21)
(22)
(23)
(24)
RAS5
D07
D815
D1623
D2431
(25)
(26)
(27)
(28)
RAS6
D07
D815
D1623
D2431
(29)
(30)
(31)
(32)
RAS7
D07
D815
D1623
D2431
CPU
(18)
(19)
(20)
RAS4
WE
WE
A0A16
A17
A18
A19
3-8
译码
RAS0
RAS1
RAS2
RAS3
RAS4
RAS5
RAS6
RAS7
(3) 设该128K8位的DRAM芯片的存储阵列为5122568结构,则如果选择一个行地址进行刷新,刷新地址为A那么该行上的2048个存储元同时进行刷0A8,新,要求单元刷新间隔不超过8ms,即要在8ms内进行512次刷新操作。采用异8ms15.625s一次,可取刷新信号步刷新方式时需要每隔进行周期为15.5s。
512
5、要求用256K×l6位SRAM芯片设计1024K×32位的存储器。SRAM芯片有两个控制端:当CS有效时,该片选中。当W/R=1时执行读操作,当W/R=0时执行写操作。
解:
1024K32428片,共需8片,分为4组,每组2片
256K16即所设计的存储器单元数为1M,字长为32,故地址长度为20位(A19~A0),所用芯片存储单元数为256K,字长为16位,故占用的地址长度为18位(A17~A0)。由此可用字长位数扩展与字单元数扩展相结合的方法组成组成整个存储器
字长位数扩展:同一组中2个芯片的数据线,一个与数据总线的D15~D0相连,3
第3章习题参考答案
一个与D31~D16相连;其余信号线公用(地址线、片选信号、读写信号同名引脚互连)
字单元数扩展:4组RAM芯片,使用一片2:4译码器,各组除片选信号外,其余信号线公用。其存储器结构如图所示
D16D31
D1631
CPU
CS
256K16
A0A17
W/R
CS
256K16
CS
256K16
CS
256K16
W/R
A0A17
W/R
256K16
D0D15
D015
256K16
256K16
256K16
D0D15
Y0
A18
A19
2-4
译码
Y1
Y2
Y3
6、用32K×8位的E2PROM芯片组成128K×16位的只读存储器,试问:
(1) 数据寄存器多少位?
(2) 地址寄存器多少位?
(3) 共需多少个E2PROM芯片?
(4) 画出此存储器组成框图。
解:(1) 系统16位数据,所以数据寄存器16位
(2) 系统地址128K=217,所以地址寄存器17位
128K16428片,分为4组,每组2片 (3)共需32K8 (4) 组成框图如下
4
第3章习题参考答案
数据
寄存器
CPU
D815
D07
CS
32K8
A0A14
W/R
CS
32K8
CS
32K8
CS
D815
32K8
W/R
地址
寄存器
A0A14
W/R
32K8
D0D7
D07
32K8
32K8
32K8
Y0
A15
A16
2-4
译码
Y1
Y2
Y3
7.某机器中,已知配有一个地址空间为0000H3FFFH的ROM区域。现在再用一个RAM芯片(8K×8)形成40K×l6位的RAM区域,起始地为6000H。假设RAM芯片有和信CSWE号控制端。CPU的地址总线为A15A0,数据总线为D15D0,控制信号为R/W (读/写),MREQ (访存),要求:
(1) 画出地址译码方案。
(2) 将ROM与RAM同CPU连接。
解:
(1) 由于RAM芯片的容量是8K×8,要构成40K×16的RAM区域,共需要
40K165210片,分为5组,每组2片;8K=213,故低位地址为13位:A12~A0
8K8每组的2片位并联,进行字长的位扩展
有5组RAM芯片,故用于组间选择的译码器使用3:8译码器,用高3位地址A15~A13作译码器的选择输入信号
地址分配情况:
5
第3章习题参考答案
各芯片组 各组地址区间 A15 A14 A13
138的有效输出Yi
0
ROM 0000H3FFFH
0
RAM1
RAM2
RAM3
RAM4
RAM5
6000H7FFFH
8000H9FFFH
A000HBFFFH
C000HDFFFH
E000HFFFFH
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0 0
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
注:RAM1RAM5各由2片8K8芯片组成,进行字长位扩展
各芯片组内部的单元地址是A12~A0由全0到全1
(2) ROM、RAM与CPU的连接如图:
D07
D07
CPU
ROM
16K8
OE
8K8
CS
A0A12
WE
8K8
CS
8K8
CS
8K8
CS
8K8
CS
R/ W
A0A12
WE
8K8
CS
D0D7
D815
MREQ
A15
A14
A13
E
3-8
译码
Y0
Y1
Y2
Y3
Y4
A0A12
8K8
CS
8K8
CS
8K8
CS
8K8
CS
D815
Y5
Y6
Y7
6
第3章习题参考答案
8、设存储器容量为64M,字长为64位,模块数m=8,分别用顺序和交叉方式进行组织。存储周期T=100ns,数据总线宽度为64位,总线传送周期,=50ns。求:顺序存储器和交叉存储器的带宽各是多少?
解:
顺序存储器和交叉存储器连续读出m = 8个字的信息总量都是:
q = 64位×8 = 512位
顺序存储器和交叉存储器连续读出8个字所需的时间分别是:
t1 = mT = 8×100ns = 8×10-7s
t2 = T+(m-1)τ = 100ns+7×50ns = 450 ns
= 4.5×10-7 s
顺序存储器和交叉存储器的带宽分别是:
W1=q/t1=512/(8×10-7)=64×107[位/s]
W2=q/t2=512/(4.5×10-7)=113.8×107 [位/s]
9、CPU执行一段程序时,cache完成存取的次数为2420次,主存完成存取的次数为80次,已知cache存储周期为40ns,主存存储周期为240ns,求cache/主存系统的效率和平均访问时间。
解:cache的命中率:
hNc242096.8%
NcNm242080tm2406
tc401186.2%
r(1r)h650.968主存慢于Cache的倍率:
rCache/主存系统的效率:
e平均访问时间:
tatc4046.4ns
e0.862
10、已知cache存储周期40ns,主存存储周期200ns,cache/主存系统平均访问时间为50ns,求cache的命中率是多少?
解:已知cache/主存系统平均访问时间ta=50ns
由于tahtc(1h)tm
7
第3章习题参考答案
所以有htmta2005093.75%
tmtc20040
11、某计算机采用四体交叉存储器,今执行一段小循环程序,此程序放在存储器的连续地址单元中,假设每条指令的执行时间相等,而且不需要到存储器存取数据,请问在下面两种情况中(执行的指令数相等),程序运行的时间是否相等。
(1) 循环程序由6条指令组成,重复执行80次。
(2) 循环程序由8条指令组成,重复执行60次。
解:设取指周期为T,总线传送周期为τ,每条指令的执行时间相等,并设为t0,存储器采用四体交叉存储器,且程序存放在连续的存储单元中,故取指令操作采用流水线存取方式,两种情况程序运行的总的时间分别为:
(1) t = (T+5τ+6t0)*80 = 80T+400τ+480 t0
(2) t = (T+7τ+8t0)*60 = 60T+420τ+480 t0
所以不相等
12、一个由主存和Cache组成的二级存储系统,参数定义如下:Ta为系统平均存取时间,T1为Cache的存取时间,T2为主存的存取时间,H为Cache命中率,请写出Ta与T1、T2、H参数之间的函数关系式。
解:
TaHT1(1H)T2
13、一个组相联cache由64个行组成,每组4行。主存储器包含4K个块,每块128个字。请表示内存地址的格式。
解:
主存4K个块,每块128个字,共有4K128=219个字,故主存的地址共19位;
共4K个块,故块地址为12位;每块128个字,故块内的字地址为7位
Cache有64行,每组4行,共16组,故组号4位,组内页号2位
组相联方式是组间直接映射,组内全相联映射方式;
所以主存的块地址被分为两部分:低4位为在cache中的组号,高8位为标记字段,即19位内存地址的格式如下:
tag 组号 字地址
8位 4位 7位
14、有一个处理机,内存容量1MB,字长1B,块大小16B,cache容量64KB,若cache采用直接映射式,请给出2个不同标记的内存地址,它们映射到同一个cache行。
解:
8
第3章习题参考答案
64KB位
212个行,行号为1216B采用直接映射方式,所以cache的行号i与主存的块号j之间的关系为:
Cache共有ijhe的总行数
modm,m为cac20位的内存地址格式如下:
tag 行号 字地址
4位 12位 4位
两个映射到同一个cache行的内存地址满足的条件是:12位的行号相同,而4位的标记不同即可,例如下面的两个内存地址就满足要求:
0000 000000000000 0000=00000H与
0001 000000000000 0000=10000H
15、假设主存容量16M32位,cache容量64K32位,主存与cache之间以每块432位大小传送数据,请确定直接映射方式的有关参数,并画出主存地址格式。
解:
由已知条件可知Cache共有64K32位214个行,行号为14位
432位主存共有16M32位222个块,块地址为22位,由行号和标记组成
432位cache的行号i与主存的块号j之间的关系为:
ijhe的总行数
modm,m为cac设32位为一个字,且按字进行编址,则
24位的内存地址格式如下:
tag 行号 字地址
8位 14位 2位
16. 下述有关存储器的描述中,正确的是( B、D )
A. 多级存储体系由Cache、主存和虚拟存储器构成
B. 存储保护的目的是:在多用户环境中,既要防止一个用户程序出错而破坏系统软件或其它用户程序,又要防止用户访问不是分配给他的主存区,以达到数据安全与保密的要求。
C. 在虚拟存储器中,外存和主存以相同的方式工作,因此允许程序员用比主存空间大得多的外存空间编程。
D. Cache和虚拟存储器这两种存储器管理策略都利用了程序的局部性原理。
18.虚拟段页式存储管理方案的特性为( D )
9
第3章习题参考答案
A.空间浪费大、存储共享不易、存储保护容易、不能动态连接。
B.空间浪费小、存储共享容易、存储保护不易、不能动态连接。
C.空间浪费大、存储共享不易、存储保护容易、能动态连接。
D.空间浪费小、存储共享容易、存储保护容易、能动态连接。
19. 某虚拟存储器采用页式存储管理,使用LRU页面替换算法,若每次访问在一个时间单位内完成,页面访问序列如下:1、8、1、7、8、2、7、2、1、8、3、8、2、1、3、1、7、1、3、7。已知主存只允许放4个页面,初始状态时4个页面是全空的,则页面失效次数是___6____。
解答过程:
LRU算法的思想:每页设置一个计数器,每次命中一页,该页对应的计数器清零,其他各页的计数器加1;需要替换时,将计数值最大的页换出,所以,对应的访问过程及相应的计数器的内容、替换结果如下:
访问序列
调入的页号
a
b
c
d
a
1
1
0
8
1
8
1
0
1
1
8
0
1
7
1
8
7
1
2
0
8
1
8
7
2
0
1
2
1
8
7
2
3
1
2
0
7
1
8
7
2
4
2
0
1
2
1
8
7
2
5
3
1
0
1
1
8
7
2
0
4
2
1
8
1
8
7
2
1
0
3
2
3
1
8
3
2
2
1
0
3
8
1
8
3
2
3
0
1
4
2
1
8
3
2
4
1
2
0
1
1
8
3
2
0
2
3
1
3
1
8
3
2
1
3
0
2
1
1
8
3
2
0
4
1
3
7
1
7
3
2
1
0
2
4
1
1
7
3
2
0
1
3
5
3
1
7
3
2
1
2
0
6
7
1
7
3
2
2
0
1
7
各计b
数器c
的值
d
注:红色标注的页是未命中的访问——共6次
20. 主存容量为4MB,虚存容量为1GB,则虚拟地址和物理地址各为多少位?如页面大小为4KB,则页表长度是多少?
解:
主存容量为4MB,物理地址22位
虚存容量为1GB,虚拟地址30位
页表长度,即页面数=1GB/ 4KB=218=256K
21. 设某系统采用页式虚拟存储管理,页表存放在内存中。
(1) 如果一次内存访问使用50ns,访问一次主存需用多少时间?
(2) 如果增加TLB,忽略查找页表项占用的时间,并且 75%的页表访问命中TLB,内存的有效访问时间是多少?
解:
(1) 若页表存放在主存中,则要实现一次主存访问需两次访问主存:一次是访问页表,确定所存取页面的物理地址;第二次才根据该地址存取页面数据。故访问一次主存的时间为50×2=100(ns)
(2) 75%×50+(1-75%) ×2×50=62.5(ns)
22.某计算机的存储系统由cache,主存和磁盘构成。cache的访问时间为15ns;如10
第3章习题参考答案
果被访问的单元在主存中但不在cache中,需要用60ns的时间将其装入cache,然后再进行访问;如果被访问的单元不在主存中,则需要10ms的时间将其从磁盘中读入主存,然后再装入cache中并开始访问。若cache的命中率为90%,主存的命中率为60%,求该系统中访问一个字的平均时间。
解:被访问的字在cache中的概率为0.9
不在cache中但在主存中的概率为:(1-0.9)×0.6=0.06
不在cache也不在主存中的概率为:(1-0.9)×(1-0.6)=0.04
所以, 一个字的访问时间为:
15×0.9+(15+60)×0.06+(15+60+10×106) ×0.04
=13.5+4.5+400003
=400021(ns)
23.某页式存储管理,页大小为2KB,逻辑地址空间包含16页,物理空间共有8页,逻辑地址应用多少位?主存物理空间有多大?
解:逻辑地址空间包含16页,页大小为2KB,所以逻辑地址空间为32KB,逻辑地址应用4+11=15位
物理空间共有8页,页大小为2KB,所以主存物理空间16KB
24.在一个分页虚存系统中,用户虚地址空间为32页,页长1KB,主存物理为16KB。已知用户程序有10页长,若虚页0、1、2、3已经被调入到主存8、7、4、10页中,请问虚地址0AC5和1AC5(十六进制)对应的物理地址是多少?
解:页长1KB,所以页内地址为10位。
主存物理页面数:16页,共14位地址码(其中页面号4位,页内地址10位)
用户虚地址空间:32页,页面号为031;共15位地址码(其中页面号5位,页内地址10位)
0AC5H=00010,1011000101B,页面号为2,已被调入到主存页4,所以,物理地址中的页面号为4,页内地址与虚地址的页内地址相同,所以是:0100,1011000101=12C5H
1AC5H=00110,1011000101B,页面号为6,未被调入到主存页中,所以无物理地址,会发生缺页中断。
25.段式虚拟存储器对程序员是否透明?请说明原因。
解:虚拟管理是由软件(操作系统)和硬件共同完成,由于软件的介入,虚存对实现存储管理系统程序不透明。而段是按照程序的自然分界划分的长度可以动态改变的区域。通常,程序员把子程序、操作数和常数等不同类型的数据划分到不同的段中,并且每个程序可以有多个相同类型的段。由于分段是由程序员完成的,所以段式虚拟存储器对程序员而言不是透明的,但虚存到实存的地址映射是由系统软件辅助完成的,故对应用程序而言,段式虚拟存储器是“半透明”的。
26.在一个进程的执行过程中,是否其所有页面都必须处在主存中?
11
第3章习题参考答案
解:在有虚拟存储管理系统中,程序不是一次整体装入内存才运行,所以不是所有页面都必须处在主存中,而是根据程序的局部性,有的页面在主存,有的页面在辅存。
27.为什么在页式虚拟存储器地址变换时可以用物理页号与页内偏移量直接拼接成物理地址,而在段式虚拟存储器地址变换时必须用段起址与段内偏移量相加才能得到物理地址?
解:由于物理页与虚拟页的页面大小相同,且为2的整数次幂,所以页式虚拟存储器地址变换时可以用物理页号与页内偏移量直接拼接成物理地址。而段式虚拟存储器的各段大小不同,且段起始地址任意,所以必须用段起址与段内偏移量相加才能得到物理地址。
28.在虚存实现过程中,有些页面会在内存与外存之间被频繁地换入换出,使系统效率急剧下降。这种现象称为颠簸。请解释产生颠簸的原因,并说明防止颠簸的办法。
解:
产生颠簸的原因主要有二:一是分配的页面数太少,二是替换策略不佳。
防止颠簸的办法:适当增加分配给用户程序的页面数,选取LRU或更好的替换策略。
补充:从下列有关存储器的描述中,选择出正确的答案:
A.多体交叉存储主要解决扩充容量问题。
B.访问存储器的请求是由CPU发出的。
C.cache与主存统一编址,即主存空间的某一部分属于cache。
D.cache的功能全由硬件实现。
答: D
12
版权声明:本文标题:计算机组成原理第五版白中英(详细)第3章习题答案 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1702737634h428716.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论