第五章答案
1.请在括号内填入适当答案。在CPU中:
(1) 保存当前正在执行的指令的寄存器是(指令寄存器IR); (2) 保存当前正要执行的指令地址的寄存器是(程序计数器PC);
(3) 算术逻辑运算结果通常放在(通用寄存器 )和(数据缓冲寄存器DR )。 2.参见下图(课本P166图5.15)的数据通路。画出存数指令\,(R2)\的指令周期
流程图,其含义是将寄存器R1的内容传送至(R2)为地址的主存单元中。标出各微操作信
号序列。
解:\R1 ,(R2)\指令是一条存数指令,其指令周期流程图如下图所示:
3.参见课本P166图5.15的数据通路,画出取数指令\(R3),RO\的指令周期流程图,
其含义是将(R3)为地址的主存单元的内容取至寄存器R0中,标出各微操作控制信号序列。5.如果在一个CPU周期中要产生3个脉冲 T1 = 200ns ,T2 = 400ns ,T3 = 200ns,试画出
时序产生器逻辑图。
解:节拍脉冲T1 ,T2 ,T3 的宽度实际等于时钟脉冲的周期或是它的倍数,此时T1 = T3 =200ns ,
T2 = 400 ns ,所以主脉冲源的频率应为 f = 1 / T1 =5MHZ 。为了消除节拍脉冲上的毛刺,环
型脉冲发生器可采用移位寄存器形式。下图画出了题目要求的逻辑电路图和时序信号关系。根据关
系,节拍脉冲T1 ,T2 ,T3 的逻辑表达式如下: T1 = C1· , T2 = , T3 =
6.假设某机器有80条指令,平均每条指令由4条微指令组成,其中有一条取指微指令是所有指
令公用的。已知微指令长度为32位,请估算控制存储器容量。 解:微指令条数为:(4-1)×80+1=241条 取控存容量为:256×32位=1KB
7. 某ALU器件使用模式控制码M,S3,S2,S1,C来控制执行不同的算术运算和逻辑操作。
下表列出各条指令所要求的模式控制码,其中y为二进制变量,F为0或1任选。
试以指令码(A,B,H,D,E,F,G)为输入变量,写出控制参数M,S3,S2,S1,C的逻
辑表达式。 解: M=G S3=H+D+F S2=1
C=H+D+(E+F)y
8.某机有8条微指令I1-I8,每条微指令所包含的微命令控制信号如下表所示。
a-j分别对应10种不同性质的微命令信号。假设一条微指令的控制字段为8位,请安排微指 令的控制字段格式。
解:经分析,(e ,f ,h)和(b, i, j)可分别组成两个小组或两个字段,然后进行译码,可得六个
微命令信号,剩下的a, c, d, g 四个微命令信号可进行直接控制,其整个控制字段组成如
下:
11.已知某机采用微程序控制方式,其控制存储器容量为 512×48(位)。微程序可在整个控
制存储器中实现转移,可控制微程序转移的条件共4个,微指令采用水平型格式,后继微
指令地址采用断定方式。请问:
(1)微指令中的三个字段分别应为多少位?
(2)画出围绕这种微指令格式的微程序控制器逻辑框图。 解:
(l)假设判别测试字段中每一位作为一个判别标志,那么由于有4个转移条件,故该字段为4位;
又因为控存容量为512单元,所以下地址字段为9位,。微命令字段则是:
(48-4-9)= 35位。
(2)对应上述微指令格式的微程序控制器逻辑框图如下图所示。其中微地址寄存器对应下地址
字,P字段即为判别测试字段,控制字段即为微命令字段,后两部分组成微指令寄存器。地 址转移逻辑的输入是指令寄存器的OP码、各种状态条件以及判别测试字段所给的判别标志
(某一位为1),其输出用于控制修改微地址寄存器的适当位数,从而实现微程序的分支转移 (此例微指令的后继地址采用断定方式)。
12.今有4级流水线分别完成取值、指令译码并取数、运算、送结果四步操作,
今假设完成各步操作的时间依次为100ns,100ns,80ns,50ns。 请问:(1)流水线的操作周期应设计为多少?
(2)若相邻两条指令发生数据相关,而且在硬件上不采取措施,那么第二条指令要
推迟多少时间进行。
(3)如果在硬件设计上加以改进,至少需推迟多少时间? 解:
(1) 流水线的操作时钟周期 t应按四步操作中最长时间来考虑, 所以t=100ns;
(2) 两条指令发生数据相关冲突情况:: ADD R1,R2,R3 ; R2+R3→R1 SUB R4,R1,R5 ; R1-R5→R4 两条指令在流水线中执行情况如下表所示:
ADD指令在时钟4时才将结果写入寄存器R1中, 但SUB指令在时钟3时就需读寄存器R1了,显然发生
数据相关,不能读到所需数据,只能等待。如果硬件上不采取措施,第2条指令SUB至少应推迟2个
操作时钟周期,即t=2×100ns=200ns;
(3)如果硬件上加以改进(采取旁路技术),这样只需推迟1个操作时钟周期就能得到所需数据,
即t=100ns。
15.用定量描述法证明流水计算机比非流水计算机具有更高的吞吐率。 解:衡量并行处理器性能的一个有效参数是数据带宽(最大吞吐量),它定义为单位时间内可以产生
的最大运算结果个数。
设P1是有总延时T1的非流水处理器,故其带宽为1/T1。又设Pm是相当于P1 m 段流水处理器延迟时 间Tr,故Pm的带宽为1/(Tc+Tr)。如果Pm是将P1划分成相同延迟的若干段形成的,则T1≈mTc 因
此P1的带宽接近于1/mTc,由此可见,当mTc>Tc+Tr满足时,Pm比P1具有更大的带宽。