计算机组成原理第九、十章答案.ppt
控制单元CU,第 九 章,3.什么是指令周期、机器周期和时钟周期?三者有何关系?解:CPU每取出并执行一条指令所需的全部时间叫指令周期;机器周期是在同步控制的机器中,执行指令周期中一步相对完整的操作(指令步)所需时间,通常安排机器周期长度=主存周期;时钟周期是指计算机主时钟的周期时间,它是计算机运行时最基本的时序单位,对应完成一个微操作所需时间,通常时钟周期=计算机主频的倒数。一个指令周期包含若干个机器周期一个机器周期包含若干个时钟周期,4.能不能说机器的主频越快,机器的速度就越快,为什么?解:不能说机器的主频越快,机器的速度就越快。因为机器的速度不仅与主频有关,还与数据通路结构、时序分配方案、ALU运算能力、指令功能强弱等多种因素有关,要看综合效果。,5.设机器A的主频为8MHz,机器周期含4个时钟周期,且该机的平均指令执行速度是0.4MIPS,试求该机的平均指令周期和机器周期,每个指令周期中含几个机器周期?如果机器B的主频为12MHz,且机器周期也含4个时钟周期,试问B机的平均指令执行速度为多少MIPS?解:先通过A机的平均指令执行速度求出其平均指令周期,再通过主频求出时钟周期,然后进一步求出机器周期。B机参数的算法与A机类似。计算如下:,A机平均指令周期=1/0.4MIPS=2.5s A机时钟周期=1/8MHz=125ns A机机器周期=125ns4=500ns=0.5sA机每个指令周期中含机器周期个数=2.5s0.5s=5个B机时钟周期=1/12MHz 83nsB机机器周期=83ns4=332ns 设B机每个指令周期也含5个机器周期,则:B机平均指令周期=332ns5=1.66sB机平均指令执行速度=1/1.66s=0.6MIPS 结论:主频的提高有利于机器执行速度的提高。,6.设某计算机的CPU主频为8MHz,每个机器周期平均含2个时钟周期,每条指令平均有2.5个机器周期,试问该机的平均指令执行速度为多少MIPS?若机器主频不变,但每个机器周期平均含4个时钟周期,每条指令平均有5个机器周期,则该机的平均指令执行速度又是多少MIPS?由此可得出什么结论?解:先通过主频求出时钟周期,再求出机器周期和平均指令周期,最后通过平均指令周期的倒数求出平均指令执行速度。计算如下:,时钟周期=1/8MHz=0.12510-6=125ns机器周期=125ns2=250ns平均指令周期=250ns2.5=625ns平均指令执行速度=1/625ns=1.6MIPS 当参数改变后:机器周期=125ns4=500ns=0.5s 平均指令周期=0.5s5=2.5s 平均指令执行速度=1/2.5s=0.4MIPS 结论:两个主频相同的机器,执行速度不一定一样。,7.某CPU的主频为8MHz,若已知每个机器周期平均包含4个时钟周期,该机的平均指令执行速度为0.8MIPS,试求该机的平均指令周期及每个指令周期含几个机器周期?若改用时钟周期为0.4s的CPU芯片,则计算机的平均指令执行速度为多少MIPS?若要得到平均每秒40万次的指令执行速度,则应采用主频为多少的CPU芯片?,解:先通过主频求出时钟周期时间,再进一步求出机器周期和平均指令周期。时钟周期=1/8MHz=0.12510-6=125ns 机器周期=125ns4=500ns=0.5s 平均指令周期=1/0.8MIPS=1.25 10-6=1.25s 每个指令周期所含机器周期个数=1.25s/0.5s=2.5个,当芯片改变后,相应参数变为:机器周期=0.4s4=1.6s 平均指令周期=1.6s2.5=4s 平均指令执行速度=1/4s=0.25MIPS 若要得到平均每秒40万次的指令执行速度,则应采用的主频为:平均指令周期=1/0.4MIPS=2.5 10-6=2.5s 机器周期=2.5s2.5=1s 时钟周期=1s4=0.25s 主频=1/0.25s=4MHz,11.设CPU内部结构如图9.4所示,此外还设有B、C、D、E、H、L六个寄存器,它们各自的输入和输出端都与内部总线相通,并分别受控制信号控制(如Bi为寄存器B的输入控制;Bo为B的输出控制)。要求从取指令开始,写出完成下列指令所需的控制信号。(1)ADD B,C;(B)+(C)B)(2)SUB A,H;(AC)-(H)AC)解:先画出相应指令的流程图,然后将图中每一步数据通路操作分解成相应的微操作,再写出同名的微命令即可。,(1)ADD B,C指令流程及微命令序列如下:,OP=?,PCMAR,MM读,PC+1 PC,MDR IR,ADD,PCo,MARi1 R+1(图中未标出,可与前一步并行)MDRo,IRi,Bo,YiCo,ALUi,+Zo,Bi,ADD,BY,ZB,(Y)+(C)Z,(2)SUB A,H指令流程及微命令序列如下:,OP=?,PCMAR,MM读,PC+1 PC,MDR IR,SUB,PCo,MARi1 R+1(图中未标出,可与前一步并行)MDRo,IRi,Ho,YiACo,ALUi,Zo,ACi,SUB,HY,ZAC,(AC)(H)Z,控制单元的设计,第 十 章,1.假设响应中断时,要求将程序断点存在堆栈内,并且采用软件办法寻找中断服务程序的入口地址,试写出中断隐指令的微操作及节拍安排。解:设软件查询程序首址为0号内存单元,则中断隐指令的微操作命令及节拍安排如下:T0 0EINT,SPMART1 PCMDR,0-W,SP+1SPT2 SPMAR,MDRM(MAR)T3 PSWMDR,0-W,SP+1SPT4 0PC,MDRM(MAR)由于题意中没有给出确切的数据通路结构,故上述节拍分配方案的并行性较低。,2.写出完成下列指令的微操作及节拍安排(包括取指操作)。(1)指令ADD R1,X完成将R1寄存器的内容和主存X单元的内容相加,结果存于R1的操作。(2)指令ISZ X完成将主存X单元的内容增1,并根据其结果若为0,则跳过下一条指令执行。解:该题题意中没有指定数据通路,因此排序前应先设定一下。在此设采用单总线结构的CPU数据通路,且ALU输入端设两个暂存器C、D(见17题图)。并设采用同步控制,每周期3节拍:,(1)指令ADD R1,X的微操作及节拍安排如下:取指周期:T0 PCMAR,1R T1 PC+1,M(MAR)MDR T2 MDRIR,OP(IR)ID 执行周期1:T0 X(IR)MAR,1R T1 R1C,M(MAR)MDR T2 MDRD 执行周期2:T0 T1 T2+,ALUR1,(2)指令ISZ X的微操作及节拍安排(取指周期同(1),略):执行周期1:T0 X(IR)MAR,1R T1 M(MAR)MDR T2 MDRC 执行周期2:T0+1,ALUMDR T1 0-W T2 MDRM(MAR)(PC+1)Z(设Z为结果为0标志)该指令的操作在一个执行周期做不完,因此安排了两个执行周期。,3.按序写出下列程序所需的全部微操作命令及节拍安排。,解:由于题意未明确要求采用何种控制器结构,故仍按较简单的组合逻辑时序关系安排节拍(单总线、同步控制,假设同上题):LDA指令:取指周期:T0 PCMAR,1R T1 PC+1,M(MAR)MDR T2 MDRIR,OP(IR)ID 执行周期:T0 206(IR)MAR,1R T1 M(MAR)MDR T2 MDRAC,ADD指令:取指周期:同上。执行周期1:T0 207(IR)MAR,1R T1 M(MAR)MDR,ACC T2 MDRD 执行周期2:T0 T1 T2+,ALUAC BAN指令:取指周期:同上。执行周期:(设N为结果为负标志)T0 T1 T2 N204(IR)PC,STA指令:取指周期:同上。执行周期:T0 205(IR)MAR T1 ACMDR,0-W T2 MDRM(MAR)STP指令:取指周期:同上。执行周期:T0 T1 T2 0G(G为停机标志。),4.已知带返转指令的含义如下图所示,写出机器在完成带返转指令时,取指阶段和执行阶段所需的全部微操作及节拍安排。主程序 子程序,M 带返转KM+1,JMP I K,KK+1,间址特征,解:假设同上题,仍按组合逻辑、单总线、同步控制安排,带返转指令的全部微操作及节拍如下:取指周期:T0 PCMAR,1R T1 PC+1,M(MAR)MDR T2 MDRIR,OP(IR)ID 执行周期:T0 K(IR)MAR T1 M+1MDR,0-w T2 MDRM(MAR)K+1PC,10.能否说水平型微指令就是直接编码的微指令,为什么?解:不能说水平型微指令就是直接编码的微指令,因为符合水平型微指令特征的微指令都属于水平型微指令,常见的有:直接编码、字段直接编码、字段间接编码,及混合编码等。直接编码的微指令只是最典型的一种。,13.设控制存储器的容量为51248位,微程序可在整个控存空间实现转移,而控制微程序转移的条件共有4个(采用直接控制),微指令格式如下:,操作控制,顺序控制,试问微指令中的三个字段分别为多少位?解:微指令各字段位数分配如下:35 4 9,操作控制,顺序控制,该微指令格式为水平型微指令。,17.假设机器的主要部件有:程序计数器PC,指令寄存器IR,通用寄存器R0、R1、R2、R3,暂存器C、D,ALU,移位器,存储器地址寄存器MAR,存储器数据寄存器MDR及存储矩阵M。(1)要求采用单总线结构画出包含上述部件的硬件框图,并注明数据流动方向。(2)画出ADD(R1),(R2)指令在取指阶段和执行阶段的信息流程图。R1寄存器存放源操作数地址,R2寄存器存放目的操作数的地址。(3)写出对应该流程图所需的全部微操作命令。,解:(1)采用单总线结构的CPU硬件框图如下:,R/-W,PC,MAR,MDR,R3,D,移位器,IR,M,ALU,单总线(BUS),R2,R1,R0,C,+,+1,图中,数据流动方向如箭头所示。,(2)ADD(R1),(R2)(3)对应该流程图所 指令流程图如下:需的全部微操作命令。,OP=?,PCMAR,MM读,PC+1 PC,MDR IR,ADD,PCo,MARi1 R+1(可与前一步并行)MDRo,IRi,R1o,MARi1 R MDRo,CiR2o,MARi1 RMDRo,Di,ADD,R1MAR,MDRC,MM读,R2MAR,MM读,MDRD,B,+,MDRi0-W公操作,(C)+(D)MDR,MM写,B,18.假设机器的主要部件同17题,外加一个控制门G。(1)要求采用双总线结构(每组总线的数据流动方向是单向的),画出包含上述部件的硬件框图,并注明数据流动方向。(2)画出SUB R1,R3完成(R1)-(R3)R1操作的指令周期信息流程图(假设指令地址已放在PC中),并列出相应的微操作控制信号序列。,解:(1)双总线结构的CPU硬件框图如下:,图中,数据流动方向如箭头所示。,R/-W,PC,MAR,MDR,R3,D,移位器,IR,M,ALU,A总线,R0,C,+,+1,G,B总线,R1,R2,(2)SUB R1,R3指令周期流程图如下:,OP=?,PCMAR,MM读,PC+1 PC,MDR IR,SUB,PCo,G,MARi1 R+1(可与前一步并行)MDRo,G,IRi,R1o,G,CiR2o,G,Di-,G,R1i,SUB,R1C,R2D,(C)-(D)R1,19.下表给出8条微指令I1I8及所包含的微命令控制信号,设计微指令操作控制字段格式,要求所使用的控制位最少,而且保持微指令本身内在的并行性。,解:为使设计出的微指令操作控制字段最短,并且保持微指令本身内在的并行性,应采用混合编码法。首先找出互斥的微命令组,为便于分析,将微命令表重画如下(表中的 表示该条微指令有这个微命令):,由表中微命令的分布情况可看出:a、b、c、d、e微命令的并行性太高,因此不能放在同一字段中。另外,由分析可知,在2、3、4分组的互斥组中,3个一组的微命令互斥组对控制位的压缩作用最明显。因此,应尽可能多的找出3个一组的互斥组。现找出的互斥组有:cfj,dij,efh,fhi,bgj,ehj,efj等等。从中找出互不相重的互斥组有两个:dij,efh。则:微指令操作控制字段格式安排如下:1 1 1 1 2 2,操作控制字段,各字段编码分配如下:a 0 无操作;b 0 无操作;1 a微命令;1 b微命令c 0 无操作;g 0 无操作;1 c微命令;1 g微命令dij 00 无操作;efh 00 无操作;01 d微命令;01 e 10 i微命令;10 f 11 j微命令;11 h 注:每组都应为“无操作”留一种编码。与采用直接控制法比较:直接控制法:10个微命令需10位操作控制位;本方案:10个微命令需8位操作控制位,压缩了2位。,