计算机组成原理与汇编(第五章)
- 格式:doc
- 大小:1.58 MB
- 文档页数:9
计算机组成原理与汇编语言程序设计课后习题及解答徐洁,俸远祯电子工业出版社第1章习题一1.什么是程序存储工作方式?答:计算机的工作方式——存储程序工作方式。
即事先编写程序,再由计算机把这些信息存储起来,然后连续地、快速地执行程序,从而完成各种运算过程。
2.采用数字化方法表示信息有哪些优点?用数字化方法表示信息的优点:(1)抗干扰能力强, 可靠性高。
(2)依靠多位数字的组合,在表示数值时可获得很宽的表示范围以及很高的精度。
(3)数字化的信息可以存储、信息传送也比较容易实现。
(4)可表示的信息类型与范围及其广泛,几乎没有限制。
(5)能用逻辑代数等数字逻辑技术进行信息处理,这就形成了计算机硬件设计的基础。
3.如果有7×9点阵显示出字符A的图像,请用9个七位二进制代码表示A的点阵信息。
4.数字计算机的主要特点是什么?1. (1)能在程序控制下自动连续地工作;(2|)运算速度快;(3)运算精度高;(4)具有很强的信息存储能力;(5)通用性强,应用领域及其广泛。
5.衡量计算机性能的基本指标有哪些?答:衡量计算机性能的基本指标:(1)基本字长——参加一次运算的数的位数;(2)数据通路宽度——数据总线一次能并行传送的位数;(3)运算速度——可用①CPU的时钟频率与主频,②每秒平均执行指令数,③典型四则运算的时间来表示。
(4)主存储器容量——可用字节数或单元数(字数)×位数来表示。
(6)配备的外围设备及其性能。
(7)系统软件配置。
7.系统软件一般包括哪些部分?列举你所熟悉的三种系统软件。
系统软件一般包括操作系统,编译程序、解释程序、各种软件平台等。
例如WINDOWS98操作系统,C 语言编译程序等,数据库管理系统。
8.对源程序的处理有哪两种基本方式?对源程序的处理通常有两种处理方式:解释方式和编译方式。
第2章习题二1.将二进制数(101010.01)2 转换为十进制数及BCD码。
解:(101010.01)2 = (42.25)10 = (01000010.00100101)BCD2.将八进制数(37.2)8转换为十进制数及BCD码.解:(37.2)8 = (31.25)10 =(00110001.00100101)BCD3.将十六进制数(AC.E)转换为十进制数及BCD码.解: (AC.E)16 =(172.875)10 = (000101110010.100001110101)BCD4.将十进制数(75.34)10转换为8位二进制数及八进制数、十六进制数。
第5章习题参考答案1.请在括号内填入适当答案;在CPU 中:1保存当前正在执行的指令的寄存器是 IR ; 2保存当前正在执行的指令地址的寄存器是 AR3算术逻辑运算结果通常放在 DR 和 通用寄存器 ;2.参见图的数据通路;画出存数指令“STO Rl,R2”的指令周期流程图,其含义是将寄存器Rl 的内容传送至R2为地址的主存单元中;标出各微操作信号序列; 解:STO R1, R2的指令流程图及微操作信号序列如下:3.参见图的数据通路,画出取数指令“LAD R3,R0”的指令周期流程图,其含义是将R3为地址主存单元的内容取至寄存器R2中,标出各微操作控制信号序列; 解:LAD R3, R0的指令流程图及为操作信号序列如下:4.假设主脉冲源频率为10MHz,要求产生5个等间隔的节拍脉冲,试画出时序产生器的逻辑图; 解: 5.如果在一个CPU 周期中要产生3个节拍脉冲;T l =200ns,T 2=400ns,T 3=200ns,试画出时序产生器逻辑图;解:取节拍脉冲T l 、T 2、T 3的宽度为时钟周期或者是时钟周期的倍数即可;所以取时钟源提供的时钟周期为200ns,即,其频率为5MHz.;由于要输出3个节拍脉冲信号,而T 3的宽度为2个时钟周期,也就是一个节拍电位的时间是4个时钟周期,所以除了C 4外,还需要3个触发器——C l 、C 2、C 3;并令211C C T *=;321C C T *=;313C C T =,由此可画出逻辑电路图如下:6.假设某机器有80条指令,平均每条指令由4条微指令组成,其中有一条取指微指令是所有指令公用的;已知微指令长度为32位,请估算控制存储器容量; 解:80条指令,平均每条指令由4条微指令组成,其中有一条公用微指令,所以总微指令条数为80 4-1+1=241条微指令,每条微指令32位,所以控存容量为:24132位7.某ALU 器件是用模式控制码M S 3 S 2 S 1 C 来控制执行不同的算术运算和逻辑操作;下表列出各条指令所要求的模式控制码,其中y 为二进制变量,φ为0或l 任选;2,S l ,C 的逻辑表达式;由表可列如下逻辑方程 M=GS 3=H+D+FS 2=A+B+D+H+E+F+G S 1=A+B+F+G C=H+D+Ey+Fy8.某机有8条微指令I1—I8,每条微指令所包含的微命令控制信号如下表所示;a—j分别对应10种不同性质的微命令信号;假设一条微指令的控制字段仅限为8位,请安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 je f h d i jf h i bg j9μA8 = P1·IR6·T4μA7 = P1·IR5·T4μA6 = P2·C·T4其中μA8—μA6为微地址寄存器相应位,P1和P2为判别标志,C为进位标志,IR5和IR6为指令寄存器的相应位,T4为时钟周期信号;说明上述逻辑表达式的含义,画出微地址转移逻辑图;解:μA5=P3·IR5·T4μA4=P3·IR4·T4μA3=P1·IR3·T4μA2=P1·IR2·T4μA1=P1·IR1·T4μA0=P1·IR·T4+P2·C·T4用触发器强置端低有效修改,前5个表达式用“与非”门实现,最后1个用“与或非”门实现μA2、μA1、μA触发器的微地址转移逻辑图如下:其他略10.某计算机有如下部件,ALU,移位器,主存M,主存数据寄存器MDR,主存地址寄存器MAR,指令寄存器IR,通用寄存器R0R3,暂存器C和D;1请将各逻辑部件组成一个数据通路,并标明数据流动方向;2画出“ADD R1,R2”指令的指令周期流程图;解:1 设该系统为单总线结构,暂存器C和D用于ALU的输入端数据暂存,移位器作为ALU输出端的缓冲器,可对ALU的运算结果进行附加操作,则数据通路可设计如下:2 根据上面的数据通路,可画出“ADD R1,R2”设R1为目的寄存器的指令周期流程图如下:11.已知某机采用微程序控制方式,控存容量为51248位;微程序可在整个控存中实现转移,控制微程序转移的条件共4个,微指令采用水平型格式,后继微指令地址采用断定方式;请问;1微指令的三个字段分别应为多少位2画出对应这种微指令格式的微程序控制器逻辑框图;解:1 因为容量为51248位,所以下址字段需用9位,控制微程序转移的条件有4个,所以判别测试字段需4位或3位译码,因此操作控制字段的位数48-9-4=35位或48-9-3=36位2微程序控制器逻辑框图参见教材图12.今有4级流水线,分别完成取指、指令译码并取数、运算、送结果四步操作;今假设完成各步 操作的时间依次为100ns,100ns,80ns,50ns;请问; 1流水线的操作周期应设计为多少2若相邻两条指令发生数据相关,而且在硬件上不采取措施,那么第2条指令要推迟多少时间进行3如果在硬件设计上加以改进,至少需推迟多少时间 答:1 流水操作周期为max100,100,80,50=100ns2若相邻两条指令发生数据相关,而且在硬件上不采取措施,那么在第1条指令“送结果”步骤完成后,第2条指令的“取数”步骤才能开始,也就是说,第2条指令要推迟两个操作周期,即200ns 才能进行;3 如果在硬件设计上加以改进,采用定向传送的技术,则只要第1条指令完成“运算”的步骤,第2条指令就可以“取数”了,因此至少需推迟100ns;13.指令流水线有取指IF 、译码ID 、执行EX 、访存MEM 、写回寄存器堆WB 五个过程段,共有20条指令连续输入此流水线;1画出流水处理的时空图,假设时钟周期为100ns;2求流水线的实际吞吐率单位时间里执行完毕的指令数; 3求流水线的加速比; 解:1 流水处理的空图如下,其中每个流水操作周期为100ns :空间S I 1 I 2 I 15 I 16 I 17 I 18 I 19 I 20WB MEM EXIDIF123456192021222324时间T2 流水线的实际吞吐量:执行20条指令共用5+119=24个流水周期,共2400ns,所以实际吞吐率为:3 流水线的加速比为:设流水线操作周期为τ,则n指令串行经过k个过程段的时间为nkτ;而n条指令经过可并行的k段流水线时所需的时间为k+n-1τ;故20条指令经过5个过程段的加速比为:14.用时空图法证明流水计算机比非流水计算机具有更高的吞吐率;解:设流水计算机的指令流水线分为4个过程段:IF、ID、EX、WB,则流水计算机的时空图如下:空间S I1I2I3I4I5WBEXIDIF12345678时间T 非流水计算机的时空图:空间S I1I2WB EX ID IF1 2 3 4 5 6 7 8 时间T由图中可以看出,同样的8个操作周期内,流水计算机执行完了5条指令,而非流水计算机只执行完了2条指令;由此,可看出流水计算机比非流水计算机具有更高的吞吐率; 15.用定量描述法证明流水计算机比非流水计算机具有更高的吞吐率; 证明:设流水计算机具有k 级流水线,每个操作周期的时间为,执行n 条指令的时间为:()τ⨯-+=1n k T ;吞吐率为:()τ⨯-+=11n k nH而非流水计算机,执行n 条指令的时间为:τ⨯⨯=k n T ;吞吐率为:τ⨯⨯=k n nH 2当n=1时,21H H =;当n>1时,21H H >,即:流水计算机具有更高的吞吐率;16.判断以下三组指令中各存在哪种类型的数据相关 1 I 1 LAD R1,A ; MA →R1,MA 是存储器单元 I 2 ADD R2,Rl ; R2+R1→R2 2 I 1 ADD R3,R4 ; R3+R4→R3 I 2 MUL R4,R5 ; R4R5→R43 I 1 LAD R6,B ; MB →R6,MB 是存储器单元I 2 MUL R6,R7 ; R6 R7→R6 解:1 I 1的运算结果应该先写入R 1,然后再在I 2中读取R 1的内容作为操作数,所以是发生RAW “写后读”相关2 WAR3 RAW 和WAW 两种相关17.参考图所示的超标量流水线结构模型,现有如下6条指令序列: I 1 LAD R1,B ; MB →R1,MB 是存储器单元 I 2 SUB R2,Rl ; R2-R1→R2 I 3 MUL R3,R4 ; R3R4→R3 I 4 ADD R4,R5 ; R4+R5→R4I 5 LAD R6,A ; MA →R6,MA 是存储器单元 I 6 ADD R6,R7 ; R6+R7→R6请画出:1按序发射按序完成各段推进情况图; 2按序发射按序完成的流水线时空图; 解:(1) 按序发射按序完成各段推进情况图如下仍设F 、D 段要求成对输入;F 、D 、W 段只需1个周期;加需要2个周期;乘需要3个周期;存/取数需要1个周期;执行部件内部有定向传送,结果生成即可使用:取指段译码段执行段取/存加法器乘法器写回段1234567891011时钟I1I2超标量流水线的时空图。
5.1 简述CPU的功能CPU 的主要功能是控制计算机运行存储在主存储器中的程序,完成人们对问题的求解工作。
求解问题的程序由一条条的指令组成。
CPU的任务是控制着机器到主存中取出指令,根据指令的功能执行该指令,然后,再取出下一条指令执行,循环往复,直到执行停机指令,则停止机器的运行。
5.2 简述微程序控制部件的基本组成及工作原理微程序控制部件CU 通常由控制存储器、微程序计数器、微指令寄存器等部件组成。
微程序控制部件控制机器工作的原理是将每条机器指令编码写成一段微程序。
把这些微程序存到一个控制存储器中。
每一段微程序包含若干条微指令,每一条微指令对应若干个微指令。
每个微指令通常是由一个二进制代码表示,该位为1,则表示在本条微指令中该微指令有效,若该位为0,则表示在本条微指令中该微命令无效。
每执行一条微指令则相应于执行指令流程中的一步操作,完成信息在数据通路中的一次流动。
在机器运行时,一条一条地读出这些微指令,由此产生机器运行所需要的各种微操作控制信号,使机器的各相应部件执行微操作控制信号所规定的具体操作。
5.4 简述微指令、微命令、微操作控制信号、微周期及微程序的概念微指令:一条微指令是由多个微命令字段构成。
微命令:微命令是最小单位的控制信号,由微指令经过译码或不译码直接发出。
微操作控制信号:微操作是由相应的微命令控制实现的基本操作。
每个微命令均对应着相应的微操作,微操作是微命令的一个具体操作。
微程序:微程序是机器设计者为实现机器指令系统的功能设计的。
微程序在机器出厂前则已写入控存,用户不能修改其内容。
在机器加电开机后,则由存储在控存的微程序控制着机器完成机器指令的读取与执行。
5.3简述一条机器指令的执行过程。
一条指令的执行,是在CPU的控制部件(CU)的控制下,按照指令中机器周期的取指周期、取数周期和执行周期的执行次序,一步步执行,以实现该指令的全部功能。
这一过程是顺序执行一个个确定的微操作控制信号序列的过程。
5.4简述时序系统中三级时序的概念。
三级时序组成的时序系统,即为在一个指令周期中,采用机器周期,时钟周期及时钟脉冲三级时序。
5.5简述指令周期的概念。
机器在CPU的控制下,从主存取出一条指令,并执行完该指令所需要的时间。
由于各种指令所实现的功能不同,因此,指令系统中各种指令的执行时间是不一样的,即各种指令的指令周期是不同的。
5.6给出模型机中下列机器指令的目标代码(即为二进制代码)。
(1)MOV AX,1234H二进制代码:操作码 d w mod reg r/m100010 1 1 00 000 110立即数-l 立即数-h00110100 00010010十六进制表示:(8C063412)H(2)MOV AL,20H[SI]二进制代码:操作码 d w mod reg r/m100010 1 0 01 000 100十六进制表示:(8A44)H(3)MOV 16H[DI],CX二进制代码:操作码 d w mod reg r/m100010 0 1 01 001 101位移量-l00010110十六进制表示:(894D16)H---(4)ADD AX,BX二进制代码:操作码 d w mod reg r/m 000000 1 0 00 000 110 十六进制表示:(0206)H(5)SUB CX,[BX]二进制代码:操作码 d w mod reg r/m 001010 1 1 00 001 111 十六进制表示:(2B0F)H(6)AND AL,BL二进制代码:操作码 d w mod reg r/m 001000 1 0 11 100 011 十六进制表示:(22E3)H(7)OR AH,BH二进制代码:操作码 d w mod reg r/m 000010 1 0 11 100 111 十六进制表示:(0AE7)H(8)XOR AX,5678H二进制代码:操作码w 立即数-l 立即数-h0011010 1 01111000 01010110十六进制表示:(356856)H5.7根据模型机数据通路结构,给出控制执行下述MOV 指令的指令流程及微操作控制信号。
(1)MOV AX,BX指令流程微操作控制信号FI0 PC->MAR PC-IBUS,IBUS-MAR, T+1(CLK)FI1 M->MDR->IR;PC+1->PC MAR-ABUS,MRD, W-B, I-DBUS,BUS-MDR,MDR-IBUS,IBUS-IR,PC+1,IBUS-PC,1->T0(CLK),1->DST(CLK)DST0 PC+1->PC PC+1 ,IBUS-PC, T+1(CLK)SRC0 BX->RBL(送BX 地址), RE,W-B, IBUS-RBL, T+1(CLK) EXC0 RBL->AXRBL-IBUS,( 送AX 地址),RE,W-B,T+1(CLK)(2)MOV AL,BL指令流程微操作控制信号FI0 PC->MAR PC-IBUS,IBUS-MAR, T+1(CLK)FI1 M->MDR->IR;PC+1->PC MAR-ABUS,MRD, W-B, I-DBUS,BUS-MDR,MDR-IBUS,IBUS-IR,PC+1,IBUS-PC,1->T0(CLK),1->DST(CLK)DST0 PC+1->PC PC+1 ,IBUS-PC, T+1(CLK)SRC0 BL->RBL(送BL 地址), RE,W-B, IBUS-RBL, T+1(CLK) EXC0 RBL->ALRBL-IBUS,( 送AL 地址) ,RE,W-B,T+1(CLK)(3)MOV AX,15A8H[SI]指令流程微操作控制信号FI0 PC->MAR PC-IBUS,IBUS-MAR, T+1(CLK)FI1 M->MDR->IR;PC+1->PC MAR-ABUS,MRD, W-B, I-DBUS,BUS-MDR,MDR-IBUS,IBUS-IR,PC+1,IBUS-PC,1->T0(CLK),1->DST(CLK)DST0 PC+1->PC PC+1 ,IBUS-PC, T+1(CLK)PC-IBUS, IBUS-MAR, T+1(CLK)SRC0 PC->MARSRC1 M->MDR->RA,PC+1->PC MAR-ABUS,MRD,W-B,I-DBUS, BUS-MDR,MDR-IBUS,IBUS-RA PC+1 ,IBUS-PC, T+1(CLK)SRC2 SI->RB,PC+1->PC RE,W-B,R-IBUS,IBUS-RB ,PC+1 ,IBUS-PC, T+1(CLK)SRC3 RA+RB->MAR ADDC,ALU-IBUS,IBUS-MAR,1->T0(CLK), 1->SRC(CLK)SRC4 M->MDR->RBL MAR-ABUS,MRD,W-B,BUS-MDR,I-DBUS,MDR-IBUS,IBUS-RBL,T+1(CLK) EXC0 RBL->AXRBL-IBUS,( 送AX 地址),WE,W-B,T+1(CLK)(4)MOV 1C26H[BX][DI],0F28H指令流程微操作控制信号FI0 PC->MAR PC-IBUS,IBUS-MAR, T+1(CLK)FI1 M->MDR->IR;PC+1->PC MAR-ABUS,MRD, W-B, I-DBUS,BUS-MDR,MDR-IBUS,IBUS-IR,PC+1,IBUS-PC,1->T0(CLK),1->DST(CLK)DST0 PC+1->PC PC+1 ,IBUS-PC, T+1(CLK)DST1 PC ->MAR PC-IBUS, IBUS-MAR, T+1(CLK)DST2 M->MDR->RA;PC+1 ->PC MAR-ABUS,MRD,W-B,I-DBUS,BUS-MDR,MDR-IBUS,IBUS-RAPC+1 ,IBUS-PC, T+1(CLK)DST3 BX->RB;PC+1 ->PC RE,W-B,R-IBUS,IBUS-RB ,PC+1 ,IBUS-PC, T+1(CLK)DST4 RA+RB->RBL ADDC,ALU-IBUS,IBUS-RBL,T+1(CLK)DST5 RBL->RA RBL-IBUS,IBUS-RA,T+1(CLK)DST6 DI->RB RE,W-B,R-IBUS,IBUS-RB,T+1(CLK) DST7 RA+RB->MARADDC,ALU-IBUS,IBUS-MAR ,1->T0(CLK), 1->SRC(CLK)SRC0 MAR->SR MAR-IBUS, IBUS-SR,T+1(CLK)SRC1 PC ->MAR PC-IBUS,IBUS-MAR,T+1(CLK)SRC2 M->MDR->RBL;PC+1 ->PC MAR-ABUS,MRD,W-B,I-DBUS,BUS-MDR,MDR-IB,IBUS-RBL,PC+1 ,IBUS-PC, T+1(CLK)SRC3 SR->MAR ;PC+1 ->PC SR-IBUS,IBUS-MAR,PC+1 ,IBUS-PC,1->T0(CLK),1->EXC(CLK)EXC0 RBL->MDR RBL-IBUS,I-DBUS,BUS-MDR,T+1(CLK)EXC1 MDR->M MDR-DBUS,MWR,W-B,1->T0(CLK),1->FI(1->INT)(CLK)5.8根据模型机数据通路结构,给出控制执行下述双操作数算术逻辑运算指令的指令流程及微操作控制信号。
(1)ADD BX,AX指令流程微操作控制信号FI0 PC->MAR PC-IBUS, IBUS-MAR, T+1(CLK)FI1 M->MDR->IR;PC+1->PC MAR-ABUS,MRD,W-B,I-DBUS,BUS-MDR,MDR-IBUS,IBUS-IR,PC+1,IBUS-PC,1->T0(CLK), 1->DST(CLK) DST0 PC+1->PCPC+1 ,IBUS-PC, T+1(CLK)DST1 AX->SR(送AX 地址),RE,W-B,R-IBUS,IBUS-SR,1->T0(CLK),1->SRC(CLK) SRC0 BX->RB(送BX 地址),RE,W-B,R-IBUS,IBUS-RB,1->T0(CLK),1->EXC(CLK) EXC0 SR->RASR-IBUS,IBUS-RA,T+1(CLK) EXC1 RA ADD RB->AXADDC,ALU-IBUS, ( 送AX 地址),WE,W-B,1->T0(CLK),1->FI(1->INT)(CLK)5.9根据模型机数据通路结构,给出控制执行下述移位指令的指令流程及微操作控制信号。