计组课本习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章习题参考答案
3、用16K ×8位的DRAM 芯片构成64K ×32位存储器,要求: (1) 画出该存储器的组成逻辑框图。
(2) 设存储器读/写周期为0.5μS ,CPU 在1μS 内至少要访问一次。
试问采用哪种刷新方式比较合理?两次刷新的最大时间间隔是多少?对全部存储单元刷新一遍所需的实际刷新时间是多少? 解:
(1) 用16K ×8位的DRAM 芯片构成64K ×32位存储器,需要用16448
1632
64=⨯=⨯⨯K K 个芯片,
其中每4片为一组构成16K ×32位——进行字长位数扩展(一组内的4个芯片只有数据信号线不互连——分别接D 0~D 7、D 8~D 15、D 16~D 23和D 24~D 31,其余同名引脚互连),需要低14位地址(A 0~A 13)作为模块内各个芯片的内部单元地址——分成行、列地址两次由A 0~A 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 结构是128⨯128⨯8存储阵列,则对所有单元全部刷新一遍需要128次(每次刷新一行,共128行)
若采用集中式刷新,则每2ms 中的最后128⨯0.5μs=64μs 为集中刷新时间,不能进行正常读写,即存在64μs 的死时间
若采用分散式刷新,则每1μs 只能访问一次主存,而题目要求CPU 在1μS 内至少要访问一次,也就是说访问主存的时间间隔越短越好,故此方法也不是最适合的 比较适合采用异步式刷新:
采用异步刷新方式,则两次刷新操作的最大时间间隔为s ms
μ625.15128
2=,可取15.5μs ;对全部存储单元刷新一遍所需的实际刷新时间为:15.5μs ⨯128=1.984ms ;采用这种方式,每15.5μs 中有0.5μs 用于刷新,其余的时间用于访存(大部分时间中1μs 可以访问两次内存)。
4、有一个1024K ×32位的存储器,由128K ×8位的DRAM 芯片构成。
问: (1) 总共需要多少DRAM 芯片? (2) 设计此存储体组成框图。
(3) 采用异步刷新方式,如单元刷新间隔不超过8ms ,则刷新信号周期是多少? 解:
(1) 需要32488
12832
1024=⨯=⨯⨯K K 片,每4片为一组,共需8组
(2) 设计此存储体组成框图如下所示。
(3) 设该128K ⨯8位的DRAM 芯片的存储阵列为512⨯256⨯8结构,则如果选择一个行地址进行刷新,刷新地址为A 0~A 8,那么该行上的2048个存储元同时进行刷新,要求单元刷新间隔不超过8ms ,即
要在8ms 内进行512次刷新操作。
采用异步刷新方式时需要每隔s ms
μ625.15512
8=进行一次,可取刷新
信号周期为15.5μs 。
7.某机器中,已知配有一个地址空间为0000H ~3FFFH 的ROM 区域。
现在再用一个RAM 芯片(8K ×8)形成40K ×l6位的RAM 区域,起始地为6000H 。
假设RAM 芯片有CS 和WE 信号控制端。
CPU 的地址总线为A 15~A 0,数据总线为D 15~D 0,控制信号为W R / (读/写),MREQ (访存),要求:
(1) 画出地址译码方案。
(2) 将ROM 与RAM 同CPU 连接。
解:
(1) 由于RAM 芯片的容量是8K ×8,要构成40K ×16的RAM 区域,共需要 片10258
816
40=⨯=⨯⨯K K ,分为5组,每组2片;8K=213,故低位地址为13位:A 12~A 0
每组的2片位并联,进行字长的位扩展
有5组RAM 芯片,故用于组间选择的译码器使用3:8译码器,用高3位地址A 15~A 13作译码器的选择输入信号
地址分配情况:
(2) ROM、RAM与CPU的连接如图:
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
顺序存储器和交叉存储器的带宽分别是: W 1=q/t 1=512/(8×10-7)=64×107[位/s]
W 2=q/t 2=512/(4.5×10-7)=113.8×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 所以不相等
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位为标记字段,即19位内存地
14、有一个处理机,内存容量1MB ,字长1B ,块大小16B ,cache 容量64KB ,若cache 采用直接映射式,请给出2个不同标记的内存地址,它们映射到同一个cache 行。
解:
Cache 共有个行1221664=B
KB
,行号为12位
采用直接映射方式,所以cache 的行号i 与主存的块号j 之间的关系为:
m j i mod =,m 为cache 的总行数
20
两个映射到同一个cache 行的内存地址满足的条件是:12位的行号相同,而4位的标记不同即可,例如下面的两个内存地址就满足要求: 0000 000000000000 0000=00000H 与 0001 000000000000 0000=10000H
15、假设主存容量16M ⨯32位,cache 容量64K ⨯32位,主存与cache 之间以每块4⨯32位大小传送数据,请确定直接映射方式的有关参数,并画出主存地址格式。
解:
由已知条件可知Cache 共有
个行位
位
1423243264=⨯⨯K ,行号为14位
主存共有
个块位
位
2223243216=⨯⨯M ,块地址为22位,由行号和标记组成
cache 的行号i 与主存的块号j 之间的关系为:
m j i mod =,m 为cache 的总行数
设32位为一个字,且按字进行编址,则 24
第4章习题参考答案
5.指令格式结构如下所示,试分析指令格式及寻址方式特点。
答:该指令格式及寻址方式特点如下:
(1)该指令为单字长双操作数指令,源操作数和目的操作数均由寻址方式和寄存器构成,寄存器均
有8个,寻址方式均有8种。
根据寻址方式的不同,指令可以是RR型、RS型、也可以是SS 型;
(2)因为OP为4位,所以最多可以有16种操作。
6.一种单地址指令格式如下所示,其中为I间接特征,X为寻址模式,D为形式地址,I、X、D组成该指令的操作数有效地址E,设R为变址寄存器,R1为基值寄存器,PC为程序计数器,请在下表
答:①直接寻址②相对寻址③变址寻址
④基址寻址⑤间接寻址⑥先基址后间接寻址
7.某计算机字长为32位,主存容量为64K字,采用单字长单地址指令,共有40条指令。
试采用直接、立即、变址、相对四种寻址方式设计指令格式。
答:根据题意,40种指令至少需6位OP;四种寻址方式至少需用2位表示;主存为64K,则地址需要16位,而机器字长为32位,可设计如下格式:
设:
寻址方式X=00为直接寻址方式,由16位的D直接给出有效地址,EA=D
寻址方式X=01为立即寻址方式,由16位的D直接给出操作数,操作数=D
寻址方式X=10为变址寻址方式,设变址寄存器为IR,则EA=(IR)+D
寻址方式X=11为相对寻址方式,设程序计数器为PC,则EA=(PC)+D(D可正可负)
注:IR和PC的位数与机器的字长相等,均为32位
8.某机字长为32位,主存容量为1M,单字长指令,有50种操作码,采用寄存器寻址、寄存器间接寻址、立即、直接等寻址方式。
CPU中有PC,IR,AR,DR和16个通用寄存器。
问:
(1)指令格式如何安排?
(2) 能否增加其他寻址方式?
答:
(1) 根据题意,50种操作码至少需6位OP;寻址方式可用2位分别表示最多4种寻址方式;用4位编码选择16个通用寄存器之一作为源操作数或目的操作数,因机器字长为32位,固还剩20位可表示形式地址D
D
寻址方式字段=00,表示D为寄存器寻址,实际使用D中的4位进行寄存器选择;
寻址方式字段=01,表示寄存器间接寻址,实际使用D中的4位进行寄存器选择;
寻址方式字段=10,表示立即寻址,可使用D的全部确定一个立即数;
寻址方式字段=11,表示直接寻址,20位的D可确定一个存储单元。
(2) 若将形式地址的位数减少,则可以增加其他的寻址方式
9.设某机字长为32位,CPU中有16个32位通用寄存器,设计一种能容纳64种操作的指令系统。
如果采用通用寄存器作基址寄存器,则RS型指令的最大存储空间是多少?
答:根据题意,64种操作至少需6位OP;用2位表示四种寻址方式;寄存器16个源操作数和目的操作数各用4位,因机器字长为32位,固还剩16位可表示形式地址D
232单元。
10.将表4.9的指令系统设计成二地址格式的指令系统。
答:表4.9中的指令共有29条,故操作码字段需要5位;设这些指令支持9种寻址方式:立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、间接寻址、相对寻址、基址寻址、变址寻址、堆栈寻址,则源和目的操作数各需要4位来确定其寻址方式;因字长为32位,故还剩余19位用于表示源和目的操作数的形式地址,可取形式地址为9位,多余的1位可以加在操作码字段。
即,格式如下:
第5章习题参考答案
2.参见图5.15的数据通路。
画出存数指令“STO Rl,(R2)”的指令周期流程图,其含义是将寄存器Rl的内容传送至(R2)为地址的主存单元中。
标出各微操作信号序列。
解:
STO R1, (R2)的指令流程图及微操作信号序列如下:
STO R1, (R2)
R/W=R
DR O, G, IR i
R2O, G, AR i
R1O, G, DR i
R/W=W
3.参见图5.15的数据通路,画出取数指令“LAD (R3),R0”的指令周期流程图,其含义是将(R3)为地址主存单元的内容取至寄存器R2中,标出各微操作控制信号序列。
解:
LAD R3, (R0)的指令流程图及为操作信号序列如下:
(PC)→AR (DR)→IR
(M)→DR PC O , G, AR i R/W=R DR O , G, IR i
(R3)→AR R 3O , G, AR i (M)→DR DR O , G, R 0i
(DR)→R0
R/W=R
LAD (R3), R0~
4.假设主脉冲源频率为10MHz ,要求产生5个等间隔的节拍脉冲,试画出时序产生器的逻辑图。
解:
8.某机有8条微指令I 1—I 8,每条微指令所包含的微命令控制信号如下表所示。
a—j 分别对应10种不同性质的微命令信号。
假设一条微指令的控制字段仅限为8位,请安排微指令
D Q Q C 4
S D Q
Q C 1
R D Q
Q C 2
R D Q
Q C 4
R 2 3
脉冲时钟
源
CL K
CL R
+5V
T
5︒
T
1︒
T
2︒
T
4︒
D Q
Q C 3
R T
3︒
解:因为有10种不同性质的微命令信号,如果采用直接表示法则需要10位控制字段,现控制字段仅限于8位,那么,为了压缩控制字段的长度,必须设法把一个微指令周期中的互斥性微命令组合在一个小组中,进行分组译码。
经分析,(e,f,h)和(b,i,j)、或(d,i,j)和(e,f,h)、或(g,b,j)和(i,f,h)均是不可能同时出现的互斥信号,所以可将其通过2:4译码后输出三个微命令信号(00表示该组所有的微命令均无效),而其余四个微命令信号用直接表示方式。
因此可用下面的格式安排控制字段。
e f h b i j
e f h d i j
f h i b
g j
10M,主存数据寄存器MDR,主存地址寄存器MAR,指令寄存器IR,通用寄存器R0~R3,暂存器C和D。
(1)请将各逻辑部件组成一个数据通路,并标明数据流动方向。
(2)画出“ADD R1,R2”指令的指令周期流程图。
解:
(1) 设该系统为单总线结构,暂存器C和D用于ALU的输入端数据暂存,移位器作为ALU输出端的缓冲器,可对ALU的运算结果进行附加操作,则数据通路可设计如下:
(2) 根据上面的数据通路,可画出“ADD R1,R2”(设R1为目的寄存器)的指令周期流程图如下:
(PC)→MAR (M)→MDR (MDR)→IR PC+1
(R1)→C (R2)→D
(C)+(D)→移位器(移位器)→R1
ADD R1, R2~
11.已知某机采用微程序控制方式,控存容量为512*48位。
微程序可在整个控存中实现转移,控制微程序转移的条件共4个,微指令采用水平型格式,后继微指令地址采用断定方式。
请问; (1)微指令的三个字段分别应为多少位?
(2)画出对应这种微指令格式的微程序控制器逻辑框图。
解:
(1) 因为容量为512*48位,所以下址字段需用9位,控制微程序转移的条件有4个,所以判别测试字段需4位或(3位译码),因此操作控制字段的位数48-9-4=35位(或48-9-3=36位) (2)微程序控制器逻辑框图参见教材P.147图5.23
13.指令流水线有取指(IF)、译码(ID)、执行(EX)、访存(MEM)、写回寄存器堆(WB)五个过程段,共有20条指令连续输入此流水线。
控制存储器
地址译码
微地址寄存器
OP
P 字段 控制字段
地址转移
逻辑
状态条件
指令寄存器IR
微命令信号
微命令寄存
器
(1)画出流水处理的时空图,假设时钟周期为100ns 。
(2)求流水线的实际吞吐率(单位时间里执行完毕的指令数)。
(3)求流水线的加速比。
解:
(1) 流水处理的空图如下,其中每个流水操作周期为100ns :
空间
(2) 流水线的实际吞吐量:执行20条指令共用5+1⨯19=24个流水周期,共2400ns ,所以实际吞吐率为:
秒百万条指令/333.810240020
9
≈⨯-
(3) 流水线的加速比为 : 设流水线操作周期为τ,
则n 指令串行经过k 个过程段的时间为n*k*τ ;
而n 条指令经过可并行的k 段流水线时所需的时间为(k+n-1)*τ; 故20条指令经过5个过程段的加速比为:
()17.4195520≈⨯+⨯⨯τ
τ。