计算机组成原理-郑秋梅 - 习题 联系客服

发布时间 : 星期五 文章计算机组成原理-郑秋梅 - 习题更新完毕开始阅读a65f0421ce2f0066f4332253

答:14个通用寄存器需要4位来表示,30条单字长指令需要5位来表示,7种寻址方式需要3位来表示,剩下的20位用来表示操作数。

指令格式为:5位操作码+3位寻址方式设置+4位寄存器操作数+20存储器操作数

第五章 9.用16K×1位的DRAM芯片组成64K×8位的存储器,要求: (1)画出该存储器组成的逻辑图。

(2)设存储器读、写周期均为0.5μs,CPU在1μs内至少要访存一次。试问采用哪种刷新方式比较合适?两次刷新的最大时间间隔是多少?

答:由题意知,存储器的总容量为64KB,故共需16条地址线(A0~A15),需要16K×1位DRAM芯片的个数为:(64K×8位)/(16K×1位)=32片,芯片地址线占14位(A0~A13),高2位的地址线(A14~A15)作为2:4译码器的输入端,4个输出端分别与4个DRAM芯片的片选信号端相连接。其组成逻辑框图如下:

由已知条件可知,CPU在1μs内至少访存一次,故整个存储器的平均读/写周期与单个DRAM芯片的读/写周期基本相同,采用异步式刷新方式较合适。动态MOS存储器两次刷新的最大时间间隔为2ms/128=15.625us,应该取15.5us比较合适(取存取周期的整数倍)。

16. 某存储器容量为16M字,字长32位,模块数m=4,分别用顺序方式和交叉方式进行

组织。若存取周期T=200ns,数据总线宽度为32位,总线传送周期 τ=40ns。问:顺序存储器和交叉存储器的平均存取时间、带宽各是多少?

答:顺序存储器和交叉存储器连续读出4个字的信息总量都是:q=32位×4=128位 顺序存储器连续读出4个字所需的时间是:t1=m×T=4×200ns=800ns=8×10-7s; 交叉存储器连续读出4个字所需的时间是:t2=T+(m-1)τ=200ns+3×40ns=320ns=3.2×10-7s 因此,顺序存储器和交叉存储器的带宽分别为: W1=q/t1=128÷(8×10-7)=16×107(b/s)

W2=q/t2=128÷(3.2×10-7)=40×107(b/s)

19.容量为64块的cache采用组相联映像方式,字块大小为128个字,每4块为一组。若主存容量为4096块,且以字编址。

(1)给出主存地址字段的组成及各段的长度;

(2)设Cache的初始状态为空,CPU从主存的第0号单元顺序读出500个字(一次读出一个字),重复读取上述数据10次,Cache的命中率为多少?

(3)若Cache的速度是主存速度的5倍,则增加Cache后比没有Cache时速度提高多少倍?

解:(1)由每字块有128个字可得:主存地址字段中字块内地址字段的长度w应为7位。

Cache容量为64块,每4块为一组,则Cache共有24个组,表示Cache组号的位数为4,表示组中块号的位数为2。

主存容量为4096块,Cache容量为64块,主存共分为4096/64=26个区,故地址字段中主存区号地址位数为6。主存地址字段格式为:

区号地址(6位) 组地址(4位) 组内块号(2位) 字块内字地址(7位)

(2)Cache初始状态为空,每个字块中有128个字,故CPU第一次读500个字时,第0、128、256、384号单元,共有4次未命中,后9次重复读这500个字均命中,故命中率为:[(500×10-4)/500×10] ×100%=99.92% (3)设Cache的存取周期为t,则主存存取周期为5t,没有Cache时,访问时间为5t×5000,有Cache后访问时间为t×(5000-4)+5t×4,故有Cache后速度提高的倍数为:

5t×5000 /[t×(5000-4)+5t×4]-1=3.98

第六章

8.某机主要部件如图6-32所示。

? 请补充各部件间的主要连接线,并注明数据流动方向。 ? 拟出指令ADD(R1),(R2)+的执行流程(含取指过程与确定后继指令地址)。 该指令的含义是进行加法操作,源操作数地址和目的操作数地址分别在寄存器R1和R2 中,目的操作数寻址方式为自增型寄存器间址。 其中:LA—A输入选择器; LB—B输入选择器; C、D一暂存器。

IRR0MDR移位器

PCR1+1ALUM

CR2

LALBD图6- 32 某机主要部件R3MAR解:

(1) 各部件间的主要连线补充完成后如图所示:

移位IR R0 MDR

PC R1 +1 M ALU C R2 LA LB D R3 MAR

(2)指令ADD(R1),(R2)+的含义为: ((R1))+((R2))->(R2) (R2)+1->R2

指令的执行流程如下:

①(PC)->MAR ;取指令 ②Read

③M(MAR)->MDR->IR ④(PC)+1->PC

⑤(R1)->MAR ;取被加数 ⑥Read

⑦M(MAR)->MDR->C

⑧(R2)->MAR ;取加数 ⑨Read

⑩M(MAR)->MDR->D

(11)(C)+(D)->MDR ;求和并保存结果 (12)Write

(13)MDR->MM

(14)(R2)+1->R2 ;修改目的地址

14.某计算机共有操作控制命令62个,为了压缩整个控制字段长度,采用分组译码方法表示不同微命令,把互斥型微命令分在一个字段中,各字段中分别表示4个、10个、8个、15个、25个微命令,已知微指令字长28位,求:

? 各个控制字段分别用几位二进制数编码。 ? 控制存储器最大容量是多少? 解:

第一个控制字段表示4个微命令,再增加1个不发出任何微命令的编码,共需表示5种情况,第1个控制字段需用3位二进制数编码,同理第2个控制器字段需用4位,第3个控制字段需用4位,第5个控制字段需用4位,第6个控制字段需用5位二进制数表示。

6个控制字段共需20位二进制数表示。

微指令字长28位,其余8位表示顺序控制字段,即下条微指令地址。28=256,因此控

存最大容量256个单元,每个单元28位。