1、第 5 章习题参考答案1第 5 章习题参考答案1请在括号内填入适当答案。在 CPU 中:(1)保存当前正在执行的指令的寄存器是( IR ) ;(2)保存当前正在执行的指令地址的寄存器是( AR )(3)算术逻辑运算结果通常放在( DR )和( 通用寄存器 ) 。2参见图 5.15 的数据通路。画出存数指令“STO Rl,(R2)”的指令周期流程图,其含义是将寄存器 Rl 的内容传送至(R2)为地址的主存单元中。标出各微操作信号序列。解:STO R1, (R2)的指令流程图及微操作信号序列如下:第 5 章习题参考答案2( P C ) A R( D R ) I R( M ) D RP CO, G
2、, A RiR / W = RD RO, G , I Ri( R 2 ) A R R2 O, G , A Ri( R 1 ) D R R1 O, G , D Ri( D R ) M R / W = WS T O R 1 , ( R 2 )3参见图 5.15 的数据通路,画出取数指令“LAD (R3),R0”的指令周期流程图,其含义是将(R3)为地址主存单元的内容取至寄存器 R2 中,标出各微操作控制信号序列。解:LAD R3, (R0)的指令流程图及为操作信号序列如下:第 5 章习题参考答案3( P C ) A R( D R ) I R( M ) D RP CO, G , A RiR / W
3、= RD RO, G , I Ri( R 3 ) A R R3 O, G , A Ri( M ) D RD RO, G , R0 i( D R ) R 0R / W = RL A D ( R 3 ) , R 04假设主脉冲源频率为 10MHz,要求产生 5 个等间隔的节拍脉冲,试画出时序产生器的逻辑图。解:第 5 章习题参考答案45如果在一个 CPU 周期中要产生 3 个节拍脉冲;Tl 200ns,T 2=400ns,T 3=200ns,试画出时序产生器逻辑图。解:取节拍脉冲 Tl、T 2、T 3 的宽度为时钟周期或者是时钟周期的倍数即可。所以取时钟源提供的时钟周期为 200ns,即,其频率为
4、 5MHz.;由于要输出 3 个节拍脉冲信号,而 T3 的宽度为 2 个时钟周期,也就是一个节拍电位的时间是 4个时钟周期,所以除了 C4 外,还需要 3 个触发器C l、C 2、C 3;并令; ; ,由此可画出逻辑电路图如下:21CT3211第 5 章习题参考答案56假设某机器有 80 条指令,平均每条指令由 4 条微指令组成,其中有一条取指微指令是所有指令公用的。已知微指令长度为 32 位,请估算控制存储器容量。解:80 条指令,平均每条指令由 4 条微指令组成,其中有一条公用微指令,所以总微指令条数为 80 (4-1)+1=241 条微指令,每条微指令 32 位,所以控存容量为:2413
5、2 位7某 ALU 器件是用模式控制码 M S3 S2 S1 C 来控制执行不同的算术运算和逻辑操作。下表列出各条指令所要求的模式控制码,其中 y 为二进制变量,为 0 或 l 任选。试以指令码(A,B,H,D,E,F,G)为输入变量,写出控制参数M,S 3,S 2, Sl,C 的逻辑表达式。指令码 M S3 S2 S1 CA, BH, DEFG0000101010111111001101y y解:由表可列如下逻辑方程第 5 章习题参考答案6M=GS3=H+D+FS2=A+B+D+H+E+F+GS1=A+B+F+GC=H+D+Ey+Fy8某机有 8 条微指令 I1I8,每条微指令所包含的微命令
6、控制信号如下表所示。aj 分别对应 10 种不同性质的微命令信号。假设一条微指令的控制字段仅限为 8 位,请安排微指令的控制字段格式。微指令 a b c d e f g h i jI1 I2 I3 I4 I5 I6 I7 I8 解:因为有 10 种不同性质的微命令信号,如果采用直接表示法则需要 10 位控制字段,现控制字段仅限于 8 位,那么,为了压缩控制字段的长度,必须设法把一个微指令周期中的互斥性微命令组合在一个小组中,进行分组译码。经分析,(e,f,h) 和(b,i,j)、或(d,i,j)和(e,f,h)、或(g,b,j)和(i,f,h) 均是不可能同时出现的互斥信号,所以可将其通过 2
7、:4 译码后输出三个微命令信号 (00 表示该组所有的微命令均无效),而其余四个微命令信号用直接表示方式。因此可用下面的格式安排控制字段。e f h b i j a c d g X X X X或:e f h d i j a b c g X X X X或:f h i b g j a c d e X X X X9微地址转移逻辑表达式如下:第 5 章习题参考答案7A 8 = P1IR6T4A 7 = P1IR5T4A 6 = P2CT4其中 A 8A 6 为微地址寄存器相应位,P 1 和 P2 为判别标志,C 为进位标志,IR5 和 IR6 为指令寄存器的相应位,T 4 为时钟周期信号。说明上述逻辑
8、表达式的含义,画出微地址转移逻辑图。解:A 5=P3IR5T4A 4=P3IR4T4A 3=P1IR3T4A 2=P1IR2T4A 1=P1IR1T4A 0=P1IR0T4+P2CT4用触发器强置端(低有效) 修改,前 5 个表达式用“ 与非” 门实现,最后 1 个用“与或非”门实现A 2、A 1、A 0 触发器的微地址转移逻辑图如下: (其他略)10某计算机有如下部件,ALU,移位器,主存 M,主存数据寄存器 MDR,主存地址寄存器 MAR,指令寄存器 IR,通用寄存器 R0R3,暂存器 C 和 D。第 5 章习题参考答案8(1)请将各逻辑部件组成一个数据通路,并标明数据流动方向。(2)画出
9、“ADD R1 ,R2”指令的指令周期流程图。解:(1) 设该系统为单总线结构,暂存器 C 和 D 用于 ALU 的输入端数据暂存,移位器作为 ALU 输出端的缓冲器,可对 ALU 的运算结果进行附加操作,则数据通路可设计如下:IR PC MDR MAR M R0 R1 R2 R3 D 移 位 器 C ALU + (2) 根据上面的数据通路,可画出“ADD R1,R2”(设 R1 为目的寄存器)的指令周期流程图如下:( P C ) M A R( M ) M D R( M D R ) I RP C + 1( R 1 ) C( R 2 ) D( C ) + ( D ) 移位器( 移位器 ) R 1
10、A D D R 1 , R 211已知某机采用微程序控制方式,控存容量为 512*48 位。微程序可在整个控存中实现转移,控制微程序转移的条件共 4 个,微指令采用水平型格式,后继微指令地址采用断定方式。请问;第 5 章习题参考答案9(1)微指令的三个字段分别应为多少位?(2)画出对应这种微指令格式的微程序控制器逻辑框图。解:(1) 因为容量为 512*48 位,所以下址字段需用 9 位,控制微程序转移的条件有4 个,所以判别测试字段需 4 位或(3 位译码) ,因此操作控制字段的位数 48-9-4=35 位 (或 48-9-3=36 位)(2)微程序控制器逻辑框图参见教材 P.147 图 5
11、.23控制存储器地址译码 微地址寄存器OPP字段 控制字段地址转移逻辑状态条件指令寄存器IR微命令信号 微命令寄存器12今有 4 级流水线,分别完成取指、指令译码并取数、运算、送结果四步操作。今假设完成各步 操作的时间依次为 100ns, 100ns,80ns,50ns 。请问;(1)流水线的操作周期应设计为多少?(2)若相邻两条指令发生数据相关,而且在硬件上不采取措施,那么第 2 条指令要推迟多少时间进行?(3)如果在硬件设计上加以改进,至少需推迟多少时间?答:(1) 流水操作周期为 max(100,100,80,50)=100ns(2)若相邻两条指令发生数据相关,而且在硬件上不采取措施,那
12、么在第 1 条指令“送结果”步骤完成后,第 2 条指令的“取数”步骤才能开始,也就是说,第 2 条指令要推迟两个操作周期,即 200ns 才能进行。(3) 如果在硬件设计上加以改进,采用定向传送的技术,则只要第 1 条指令完成“运算”的步骤,第 2 条指令就可以“取数”了,因此至少需推迟 100ns。13指令流水线有取指(IF)、译码(ID) 、执行(EX)、访存 (MEM)、写回寄存器堆(WB)五个过程段,共有 20 条指令连续输入此流水线。(1)画出流水处理的时空图,假设时钟周期为 100ns。(2)求流水线的实际吞吐率(单位时间里执行完毕的指令数)。(3)求流水线的加速比。第 5 章习题
13、参考答案10解:(1) 流水处理的空图如下,其中每个流水操作周期为 100ns:空间 S I1 I2 I15 I16 I17 I18 I19 I20WB I1 I2 I15 I16 I17 I18 I19 I20MEM I1 I2 I3 I16 I17 I18 I19 I20EX I1 I2 I3 I4 I17 I18 I19 I20ID I1 I2 I3 I4 I5 I18 I19 I20IF I1 I2 I3 I4 I5 I6 I19 I201 2 3 4 5 6 19 20 21 22 23 24 时间 T(2) 流水线的实际吞吐量:执行 20 条指令共用 5+119=24 个流水周期,
14、共2400ns,所以实际吞吐率为: 秒百 万 条 指 令 /3.810249(3) 流水线的加速比为 :设流水线操作周期为 ,则 n 指令串行经过 k 个过程段的时间为 n*k* ;而 n 条指令经过可并行的 k 段流水线时所需的时间为(k+n-1)*;故 20 条指令经过 5 个过程段的加速比为:17.4952014用时空图法证明流水计算机比非流水计算机具有更高的吞吐率。解:设流水计算机的指令流水线分为 4 个过程段:IF、 ID、EX、WB,则流水计算机的时空图如下:空间 S I1 I2 I3 I4 I5WB I1 I2 I3 I4 I5EX I1 I2 I3 I4 I5 I6ID I1 I2 I3 I4 I5 I6 I7IF I1 I2 I3 I4 I5 I6 I7 I81 2 3 4 5 6 7 8 时间 T非流水计算机的时空图:空间 S I1 I2WB I1 I2