《计算机组成原理第5章习题参考答案.pdf》由会员分享,可在线阅读,更多相关《计算机组成原理第5章习题参考答案.pdf(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-第 5 章习题参考答案 第 5 章习题参考答案 1请在括号内填入适当答案。在CPU 中:(1)保存当前正在执行的指令的寄存器是(IR);(2)保存当前正在执行的指令地址的寄存器是(AR)(3)算术逻辑运算结果通常放在(DR)和(通用寄存器)。2参见图 5.15 的数据通路。画出存数指令“STO Rl,(R2)”的指令周期流程图,其含义是将寄存器 Rl 的内容传送至(R2)为地址的主存单元中。标出各微操作信号序列。解:STO R1,(R2)的指令流程图及为操作信号序列如下:1-第 5 章习题参考答案 LAD(R3),R0 (PC)ARPCO,G,AR i (M)DRR/W=R (DR)IRDR
2、 O,G,IR i (R3)ARR3O,G,AR i (M)DRR/W=R (DR)R0DR O,G,R0i 4假设主脉冲源频率为 10MHz,要求产生 5 个等间隔的节拍脉冲,试画出时序产生器的逻辑图。解:3-第 5 章习题参考答案 5如果在一个 CPU 周期中要产生 3 个节拍脉冲;Tl200ns,T2=400ns,T3=200ns,试画出时序产生器逻辑图。解:取节拍脉冲 Tl、T2、T3的宽度为时钟周期或者是时钟周期的倍数即可。所以取时钟源提供的时钟周期为 200ns,即,其频率为 5MHz.;由于要输出 3 个节 拍脉冲信号,而 T3的宽度为 2 个时钟周期,也就是一个节拍电位的时间是
3、 4 个时钟周期,所以除了 C4外,还需要 3 个触发器 Cl、C2、C3;并令 T1C 1 C2;T1C 2 C3;T3C1 C 3,由此可画出逻辑电路图如下:4-第 5 章习题参考答案 6假设某机器有 80 条指令,平均每条指令由 4 条微指令组成,其中有一条取指微指令是所有指令公用的。已知微指令长度为 32 位,请估算控制存储器容量。解:80 条指令,平均每条指令由 4 条微指令组成,其中有一条公用微指令,所以总微指令条数为 80(4-1)+1=241 条微指令,每条微指令 32 位,所以控存容量为:241 32 位 7某 ALU 器件是用模式控制码 M S3 S2 S1 C 来控制执行
4、不同的算术运算和逻辑 操作。下表列出各条指令所要求的模式控制码,其中 y 为二进制变量,为 0 或 l 任选。试以指令码(A,B,H,D,E,F,G)为输入变量,写出控制参数 M,S3,2,Sl,C 的逻辑表达式。S M S3 指令码 2 1 C S S A,B 0 0 1 1 0 H,D 0 1 1 0 1 E 0 0 1 0 y F 0 1 1 1 y G 1 0 1 1 解:由表可列如下逻辑方程 M=G 5-第 5 章习题参考答案 S3=H+D+F S2=A+B+D+H+E+F+G S1=A+B+F+G C=H+D+Ey+Fy 8某机有 8 条微指令 I1I 8,每条微指令所包含的微命令
5、控制信号如下表所示。aj 分别对应 10 种不同性质的微命令信号。假设一条微指令的控制字段仅限为 8 位,请安排微指令的控制字段格式。微指令 abcdefghij I1 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:4 译码后输出三个
6、微命令信号(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 X 9微地址转移逻辑表达式如下:A8=P1IR6T4 A7=P1IR5T4 A6=P2CT4 6-第 5 章习题参考答案 其中 A 8A 6为微地址寄存器相应位,P1和 P2为判别标志,C 为进位标志,IR5和 IR6为指令寄存器的相应位,T4为时钟周期信号。说明上述逻辑表达式的含义,画出微地址转移逻辑图。解:
7、A 8=P1IR6T4表示微地址的第 8 位在 P1有效时,用 IR6设置A 7=P1IR5T4表示微地址的第 7 位在 P1有效时,用 IR5设置 A 6=P2CT4表示微地址的第 6 位在 P2有效时,用进位标志 C 设置,地址转移逻辑图如下:T4 P1 IR 6 AR8SET D T2 CLR IR 5 AR7SET QD Q CLR Q Q P2 C AR6SET D CLR Q Q A8 A7 A6 10某计算机有如下部件,ALU,移位器,主存 M,主存数据寄存器 MDR,主存地址寄存器 MAR,指令寄存器 IR,通用寄存器 R0 R3,暂存器 C 和 D。(1)请将各逻辑部件组成一
8、个数据通路,并标明数据流动方向。(2)画出“ADD R1,R2”指令的指令周期流程图。解:(1)设该系统为单总线结构,暂存器器作为 ALU 输出端的缓冲器,可对路可设计如下:IRPCMARM C 和 D 用于 ALU 的输入端数据暂存,移位 ALU 的运算结果进行附加操作,则数据通 +C MDRR0 R1 R2 R3ALU移位器 D (2)根据上面的数据通路,可画出“ADD R1,R2”(设 R1 为目的寄存器)的指令-7-第 5 章习题参考答案 周期流程图如下:ADD R1,R2 (PC)MAR (M)MDR(MDR)IR PC+1 (R1)C (R2)D (C)+(D)移位器 (移位器)R
9、1 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 8-第 5 章习题参考答案 指令寄存器 IRO
10、P 状态条件 地址转移 微地址寄存器 逻辑 地址译码 微命令信 号 控制存储器 微命令寄存 控制字段 P 字段 器 12今有 4 级流水线,分别完成取指、指令译码并取数、运算、送结果四步操作。今假设完成各步操作的时间依次为 100ns,100ns,80ns,50ns。请问;(1)流水线的操作周期应设计为多少?(2)若相邻两条指令发生数据相关,而且在硬件上不采取措施,那么第 2 条 指令要推迟多少时间进行?(3)如果在硬件设计上加以改进,至少需推迟多少时间?答:(1)流水操作周期为 max(100,100,80,50)=100ns (2)若相邻两条指令发生数据相关,而且在硬件上不采取措施,那么在
11、第 1 条指 令“送结果”步骤完成后,第 2 条指令的“取数”步骤才能开始,也就是说,第 2 条指令要推迟两个操作周期,即 200ns 才能进行。(3)如果在硬件设计上加以改进,采用定向传送的技术,则只要第 1 条指令完成“运算”的步骤,第 2 条指令就可以“取数”了,因此至少需推迟 100ns。13指令流水线有取指(IF)、译码(ID)、执行(EX)、访存(MEM)、写回寄存器堆(WB)五个过程段,共有 20 条指令连续输入此流水线。(1)画出流水处理的时空图,假设时钟周期为100ns。(2)求流水线的实际吞吐率(单位时间里执行完毕的指令数)。(3)求流水线的加速比。解:(1)流水处理的空图
12、如下,其中每个流水操作周期为100ns:空间 S I 1 I 2 I 15 I 16 I 17 I 18 I19 I20 WB I 1 I 2 I 15 I 16 I 17 I 18 I 19 I 20 MEM I 1 I 2 I 3 I 16 I 17 I 18 I 19 I 20 9-第 5 章习题参考答案 EX I 1 I 2 I 3 I 4 I 17 I 18 I 19 I 20 ID I 1 I 2 I 3 I 4 I 5 I 18 I 19 I 20 IF I 1 I 2 I 3 I 4 I 5 I 6 I 19 I 20 1 2 3 4 5 6 19 20 21 22 23 24
13、 时间 T (2)流水线的实际吞吐量:执行 20 条指令共用 5+1 19=24 个流水周期,共 2400ns,所以实际吞吐率为:20 9 8.333 百万条指令/秒 2400 10 (3)流水线的加速比为:设流水线操作周期为 ,则 n 指令串行经过 k 个过程段的时间为 n*k*;而 n 条指令经过可并行的 k 段流水线时所需的时间为(k+n-1)*;故 20 条指令经过 5 个过程段的加速比为:20 5 4.17 5 19 14用时空图法证明流水计算机比非流水计算机具有更高的吞吐率。解:设流水计算机的指令流水线分为 4 个过程段:IF、ID、EX、WB,则流水计算机的时空图如下:空间 SI
14、1I2I3I4I5 WB I 1 I 2 I 3 I 4 I 5 EX I 1 I 2 I 3 I 4 I 5 I 6 ID I 1 I 2 I 3 I 4 I 5 I 6 I 7 IF I 1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 1 2 3 4 5 6 7 8 时间 T 非流水计算机的时空图:空间 S I 1 I 2 WB I 1 I 2 EX I 1 I 2 ID I 1 I 2 IFI1 I 2 1 2 345 678 时间 T 由图中可以看出,同样的 8 个操作周期内,流水计算机执行完了 5 条指令,而 非流水计算机只执行完了 2 条指令;由此,可看出流水计算机比非
15、流水计算机 具有更高的吞吐率。10-第 5 章习题参考答案 15用定量描述法证明流水计算机比非流水计算机具有更高的吞吐率。证明:设流水计算机具有 k 级流水线,每个操作周期的时间为,执行 n 条指令的时间 为:Tk n 1;吞吐率为:H 1 n n 1 k 而非流水计算机,执行 n 条指令的时间为:Tn k;吞吐率为:H 2 n k n H 1 n k n k H 2 k n 1 k n 1 当 n=1 时,当 n1 时,H 1 H H 1 H 2 2 ;,即:流水计算机具有更高的吞吐率。16判断以下三组指令中各存在哪种类型的数据相关?(1)I1 LAD R1,A;M(A)R1,M(A)是存储
16、器单元 I 2 ADD R2,Rl;(R2)+(R1)R2(2)I1 ADD R3,R4;(R3)+(R4)R3 I 2 MUL R4,R5;(R4)(R5)R4(3)I1 LAD R6,B;M(B)R6,M(B)是存储器单元 I 2 MUL R6,R7;(R6)(R7)R6 解:(1)I1的运算结果应该先写入 R1,然后再在 I2中读取 R1的内容作为操作数,所以是发生 RAW(“写后读”)相关 (2)WAR (3)RAW 和 WAW 两种相关 17参考图 5.39 所示的超标量流水线结构模型,现有如下 6 条指令序列:I 1 LAD R1,B;M(B)R1,M(B)是存储器单元 I 2 S
17、UB R2,Rl;(R2)-(R1)R2 I 3 MUL R3,R4;(R3)*(R4)R3 I 4 ADD R4,R5;(R4)+(R5)R4 I 5 LAD R6,A;M(A)R6,M(A)是存储器单元 11-第 5 章习题参考答案 I 6 ADD R6,R7;(R6)+(R7)R6 请画出:(1)按序发射按序完成各段推进情况图。(2)按序发射按序完成的流水线时空图。解:(1)按序发射按序完成各段推进情况图如下(仍设 F、D 段要求成对输入;F、D、W 段只需 1 个周期;加需要 2 个周期;乘需要 3 个周期;存/取数需要 1 个周期;执行部件内部有定向传送,结果生成即可使用):取指段 译码段 执行段 写回段 I 1 I 2 I 3 I 4 I 1 I 2 I 2 I1 I 5 I 6 I 3 I 4 I2 I 1 I 5 I 6 I2 I4 I 3 I 6 I5 I 4 I 3 I 2 I 6 I 3 I 6 I 3 I 4 I 5 取/存 加法器 乘法器 I 6 (2)按序发射按序完成的流水时空图如下:1 2 3 4 5 6 7 8 9 10 11 时钟 I 1 F D E W I 2 F D E E W I 3 F D E E E W I 4 F D E E W I 5 F D E W I 6 F D E E W 超标量流水线的时空图 12