1、控制单元控制单元CU第第 九九 章章第1页 3.什么是什么是指令周期指令周期、机器周期机器周期和和时钟周期时钟周期?三者有何关系?三者有何关系?解:解:CPU每取出并执行一条指令所需全部每取出并执行一条指令所需全部时间叫时间叫指令周期指令周期;机器周期是在同时控制机器中,;机器周期是在同时控制机器中,执行指令周期中一步相对完整操作(指令步)所执行指令周期中一步相对完整操作(指令步)所需时间,通常安排需时间,通常安排机器周期长度机器周期长度=主存周期主存周期;时;时钟周期是指计算机主时钟周期时间,它是计算机钟周期是指计算机主时钟周期时间,它是计算机运行时最基本时序单位,对应完成一个微操作所运行时
2、最基本时序单位,对应完成一个微操作所需时间,通常需时间,通常时钟周期时钟周期=计算机主频倒数。计算机主频倒数。一个指令周期包含若干个机器周期一个机器周期包含若干个时钟周期第2页 4.能不能说机器能不能说机器主频越快主频越快,机器,机器速速度就越快度就越快,为何?,为何?解:解:不能说不能说机器主频越快,机器速机器主频越快,机器速度就越快。因为机器速度度就越快。因为机器速度不但与主频相关不但与主频相关,还与数据通路结构、时序分配方案、还与数据通路结构、时序分配方案、ALU运算能力、指令功效强弱等各种原因相关,运算能力、指令功效强弱等各种原因相关,要看要看综合效果。综合效果。第3页 5.设机器设机
3、器A主频为主频为8MHz,机器周期,机器周期含含4个个时钟周期,且该机平均指令执行速时钟周期,且该机平均指令执行速度是度是0.4MIPS,试求该机,试求该机平均指令周期和平均指令周期和机器周期机器周期,每个指令周期中含,每个指令周期中含几个几个机器周机器周期?假如机器期?假如机器B主频为主频为12MHz,且机器周,且机器周期也含期也含4个个时钟周期,试问时钟周期,试问B机机平均指令平均指令执行速度执行速度为多少为多少MIPS?解:先经过解:先经过A机机平均指令执行速度平均指令执行速度求求出其出其平均指令周期平均指令周期,再经过,再经过主频主频求出求出时钟时钟周期周期,然后深入求出,然后深入求出
4、机器周期机器周期。B机参数机参数算法与算法与A机类似。机类似。计算以下:计算以下:第4页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机平均指令执行速度机平
5、均指令执行速度=1/1.66s =0.6MIPS 结论结论:主频提升:主频提升有利于有利于机器执行速度提升。机器执行速度提升。第5页 6.设某计算机设某计算机CPU主频为主频为8MHz,每个机器,每个机器周期平均含周期平均含2个个时钟周期,每条指令平都有时钟周期,每条指令平都有2.5个个机器周期,试问该机机器周期,试问该机平均指令执行速度平均指令执行速度为多少为多少MIPS?若机器主频?若机器主频不变不变,但每个机器周期平均,但每个机器周期平均含含4个个时钟周期,每条指令平都有时钟周期,每条指令平都有5个个机器周期,机器周期,则该机则该机平均指令执行速度平均指令执行速度又是多少又是多少MIPS
6、?由此?由此可得出什么可得出什么结论结论?解:先经过主频求出解:先经过主频求出时钟周期时钟周期,再求出,再求出机机器周期器周期和和平均指令周期平均指令周期,最终经过平均指令周期,最终经过平均指令周期倒数倒数求出平均指令执行速度。计算以下:求出平均指令执行速度。计算以下:第6页时钟周期时钟周期=1/8MHz=0.12510-6=125ns机器周期机器周期=125ns2=250ns平均指令周期平均指令周期=250ns2.5=625ns平均指令执行速度平均指令执行速度=1/625ns=1.6MIPS 当参数改变后:当参数改变后:机器周期机器周期=125ns4=500ns=0.5s 平均指令周期平均指
7、令周期=0.5s5=2.5s 平均指令执行速度平均指令执行速度=1/2.5s=0.4MIPS 结论:结论:两个主频相同机器,执行速度两个主频相同机器,执行速度不不一定一样一定一样。第7页 7.某某CPU主频为主频为8MHz,若已知每个机,若已知每个机器周期平均包含器周期平均包含4个个时钟周期,该机平均指令时钟周期,该机平均指令执行速度为执行速度为0.8MIPS,试求该机,试求该机平均指令周平均指令周期期及每个指令周期含几个及每个指令周期含几个机器周期机器周期?若改用?若改用时钟周期为时钟周期为0.4sCPU芯片,则计算机芯片,则计算机平均平均指令执行速度指令执行速度为多少为多少MIPS?若要得
8、到平均每?若要得到平均每秒秒40万次万次指令执行速度,则应采取指令执行速度,则应采取主频主频为多为多少少CPU芯片?芯片?第8页 解:先经过解:先经过主频主频求出求出时钟周期时钟周期时间,再深时间,再深入求出入求出机器周期机器周期和和平均指令周期。平均指令周期。时钟周期时钟周期=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个个 第9页 当芯片改变后,对应参数变为:当芯片改
9、变后,对应参数变为:机器周期机器周期=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第10页 11.设设CPU内部结构如图内部结构如图9.4所表示,另所表示,另外还设有外还设有B、C、D、E、H、L六个存放器,六个存放器
10、,它们各自它们各自输入和输出端输入和输出端都与内部总线相通,都与内部总线相通,并分别受控制信号并分别受控制信号控制控制(如(如Bi为存放器为存放器B输入输入控制;控制;Bo为为B输出控制)。要求从取指令开输出控制)。要求从取指令开始,写出完成以下指令所需始,写出完成以下指令所需控制信号控制信号。(1)ADD B,C;(B)+(C)B)(2)SUB A,H;(AC)-(H)AC)解:先画出对应指令流程图,然后将图解:先画出对应指令流程图,然后将图中每一步数据通路操作中每一步数据通路操作分解分解成对应微操作,成对应微操作,再再写出写出同名微命令即可。同名微命令即可。第11页(1)ADD B,C指令
11、流程及微命令序列以下:指令流程及微命令序列以下:OP=OP=?PCMARMM读读PC+1 PCMDR MDR IRIR ADDADDPCo,MARi1 R+1(图中未标出,(图中未标出,(图中未标出,(图中未标出,可与前一步并行)可与前一步并行)可与前一步并行)可与前一步并行)MDRo,IRi第12页Bo,YiCo,ALUi,+Zo,Bi ADDADD B BY YZ ZB B(Y Y)+(C C)Z Z 第13页(2)SUB A,H指令流程及微命令序列以下:指令流程及微命令序列以下:OP=OP=?PCMARMM读读PC+1 PCMDR MDR IRIR SUBSUBPCo,MARi1 R+1
12、(图中未标出,(图中未标出,(图中未标出,(图中未标出,可与前一步并行)可与前一步并行)可与前一步并行)可与前一步并行)MDRo,IRi第14页Ho,YiACo,ALUi,Zo,ACi SUBSUB HHY YZ ZACAC(ACAC)(HH)Z Z 第15页控制单元设计控制单元设计第第 十十 章章第16页 1.假设响应中止时,要求将程序断点存在假设响应中止时,要求将程序断点存在堆栈堆栈内,而且采取内,而且采取软件方法软件方法寻找中止服务程序寻找中止服务程序入口地址,试写出入口地址,试写出中止隐指令中止隐指令微操作微操作及及节拍节拍安安排。排。解:设软件查询程序首址为解:设软件查询程序首址为0
13、号号内存单元,内存单元,则中止隐指令微操作命令及节拍安排以下:则中止隐指令微操作命令及节拍安排以下:T0 0EINT,SPMART1 PCMDR,0-W,SP+1SPT2 SPMAR,MDRM(MAR)T3 PSWMDR,0-W,SP+1SPT4 0PC,MDRM(MAR)因为题意中没有给出确切数据通路结构,因为题意中没有给出确切数据通路结构,故上述节拍分配方案故上述节拍分配方案并行性较低并行性较低。第17页 2.写出完成以下指令写出完成以下指令微操作及节拍安排微操作及节拍安排(包含取指操作)。(包含取指操作)。(1)指令)指令ADD R1,X完成将完成将R1存放存放器内容和主存器内容和主存X
14、单元内容相加,结果存于单元内容相加,结果存于R1操作。操作。(2)指令)指令ISZ X完成将主存完成将主存X单元内容单元内容增增1,并依据其结果若为,并依据其结果若为0,则跳过下一条指,则跳过下一条指令执行。令执行。解:该题题意中解:该题题意中没有指定数据通路没有指定数据通路,所,所以排序前应先设定一下。在此设采取以排序前应先设定一下。在此设采取单总线单总线结构结构CPU数据通路,且数据通路,且ALU输入端设两个暂输入端设两个暂存器存器C、D(见(见17题图)。并设采取题图)。并设采取同时控同时控制制,每七天期,每七天期3节拍:节拍:第18页 (1)指令)指令ADD R1,X微操作及节拍安微操
15、作及节拍安排以下:排以下:取指周期:取指周期: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第19页 (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)
16、Z (设(设Z为结果为为结果为0标志)标志)该指令操作在一个执行周期做不完,所以该指令操作在一个执行周期做不完,所以安排了安排了两个两个执行周期。执行周期。第20页 3.按序写出按序写出以下程序所需全部微以下程序所需全部微操作命令及节拍安排。操作命令及节拍安排。指令地址指令地址指令地址指令地址指令指令指令指令200200201201202202203203204204LDA 206LDA 206ADD 207ADD 207BAN 204BAN 204STA 205STA 205 STP STP第21页 解:因为题意解:因为题意未明确要求未明确要求采取何种控采取何种控制器结构,故仍按较简单组合逻
17、辑时序关系制器结构,故仍按较简单组合逻辑时序关系安排节拍(单总线、同时控制,假设同上题)安排节拍(单总线、同时控制,假设同上题):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第22页 ADD指令:指令:取指周期:同上。取指周期:同上。执行周期执行周期1:T0 207(IR)MAR,1R T1 M(MAR)MDR,ACC T2 MDRD 执行周期执行周期2:T0 T1 T2 +,ALUAC BAN指令:指令:取指
18、周期:同上。取指周期:同上。执行周期:执行周期:(设(设N为结果为负标志)为结果为负标志)T0 T1 T2 N204(IR)PC第23页 STA指令:指令:取指周期:同上。取指周期:同上。执行周期:执行周期:T0 205(IR)MAR T1 ACMDR,0-W T2 MDRM(MAR)STP指令:指令:取指周期:同上。取指周期:同上。执行周期:执行周期:T0 T1 T2 0G (G为停机标志。)为停机标志。)第24页 4.已知已知带返转指令带返转指令含义以下列图所含义以下列图所表示,写出机器在完成带返转指令时,表示,写出机器在完成带返转指令时,取指阶段和执行阶段所需取指阶段和执行阶段所需全部全
19、部微操作及微操作及节拍安排。节拍安排。主程序主程序 子程序子程序MM 带返转带返转带返转带返转KKM+1M+1JMP I KJMP I KKKK+1K+1间址特征间址特征间址特征间址特征第25页 解:解:假设同上题,假设同上题,仍按组合逻辑、单总仍按组合逻辑、单总线、同时控制安排,带返转指令全部微操作线、同时控制安排,带返转指令全部微操作及节拍以下:及节拍以下:取指周期:取指周期: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第26页 10
20、.能否说水平型微指令就是能否说水平型微指令就是直接直接编码微指令编码微指令,为何?,为何?解:解:不能说水平型微指令就是直接不能说水平型微指令就是直接编码微指令编码微指令,因为符合水平型微指令特,因为符合水平型微指令特征微指令都属于水平型微指令,常见有:征微指令都属于水平型微指令,常见有:直接编码、字段直接编码、字段间接编直接编码、字段直接编码、字段间接编码,及混合编码等。码,及混合编码等。直接编码微指令只直接编码微指令只是最经典一个。是最经典一个。第27页 13.设控制存放器容量为设控制存放器容量为51248位位,微程序可在整个控存空间实现转移,而控微程序可在整个控存空间实现转移,而控制微程
21、序转移条件共有制微程序转移条件共有4个个(采取(采取直接控制直接控制),微指令格式以下:,微指令格式以下:操作控制操作控制操作控制操作控制转移条件转移条件转移条件转移条件下地址下地址下地址下地址操作控制操作控制操作控制操作控制次序控制次序控制次序控制次序控制 试问微指令中试问微指令中试问微指令中试问微指令中三个字段三个字段三个字段三个字段分别为多少分别为多少分别为多少分别为多少位?位?位?位?解:微指令各字段位数分配以下:解:微指令各字段位数分配以下:解:微指令各字段位数分配以下:解:微指令各字段位数分配以下:35 4 935 4 9操作控制操作控制操作控制操作控制转转转转 移移移移 条条条条
22、 件件件件下地址下地址下地址下地址操作控制操作控制操作控制操作控制次序控制次序控制次序控制次序控制 该微指令格式为该微指令格式为该微指令格式为该微指令格式为水平型微指令水平型微指令水平型微指令水平型微指令。第28页 17.假设机器假设机器主要部件主要部件有:程序计数器有:程序计数器PC,指令存放器,指令存放器IR,通用存放器,通用存放器R0、R1、R2、R3,暂存器,暂存器C、D,ALU,移位器,存放,移位器,存放器地址存放器器地址存放器MAR,存放器数据存放器,存放器数据存放器MDR及存放矩阵及存放矩阵M。(1)要求采取)要求采取单总线结构单总线结构画出包含上画出包含上述部件述部件硬件框图硬
23、件框图,并注明数据流动方向。,并注明数据流动方向。(2)画出)画出ADD(R1),(),(R2)指令在指令在取指阶段和执行阶段取指阶段和执行阶段信息流程图信息流程图。R1存放器存放器存放源操作数地址,存放源操作数地址,R2存放器存放目标操作存放器存放目标操作数地址。数地址。(3)写出对应该流程图所需全部)写出对应该流程图所需全部微操微操作命令作命令。第29页 解:解:(1)采取)采取单总线结构单总线结构CPU硬件框图硬件框图以下:以下:R/-WR/-WP PC CMMA AR RMMD DR RR R3 3D D移移移移位位位位器器器器I IR RMMA AL LU U单总线(单总线(单总线(
24、单总线(BUSBUS)R R2 2R R1 1R R0 0C C+1+1图中,数据流动方向如图中,数据流动方向如图中,数据流动方向如图中,数据流动方向如箭头箭头箭头箭头所表示。所表示。所表示。所表示。第30页(2)ADD(R1),(),(R2)(3)对应该流)对应该流程图所程图所 指令流程图以下:指令流程图以下:需全部微操作需全部微操作命令。命令。OP=OP=?PCMARMM读读PC+1 PCMDR MDR IRIR ADDADDPCo,MARi1 R+1(可与前一步并行)(可与前一步并行)(可与前一步并行)(可与前一步并行)MDRo,IRi第31页R1o,MARi1 R MDRo,CiR2o
25、,MARi1 RMDRo,Di ADDADD R1R1MARMARMDRMDRC C MM读读R2R2MARMAR MM读读 MDRMDRD D B B第32页+,MDRi0-W公操作公操作(C C)+(D D)MDRMDR MM写写B B 第33页 18.假设机器主要部件同假设机器主要部件同17题,题,外加一外加一个控制门个控制门G。(1)要求采取)要求采取双总线结构双总线结构(每组总线(每组总线数据流动方向是数据流动方向是单向单向),画出包含上述部件),画出包含上述部件硬件框图,并注明数据流动方向。硬件框图,并注明数据流动方向。(2)画出)画出SUB R1,R3完成完成(R1)-(R3)R
26、1操作指令周期信息流程图(假操作指令周期信息流程图(假设指令地址已放在设指令地址已放在PC中),并列出对应中),并列出对应微操微操作控制信号序列。作控制信号序列。第34页 解:解:(1)双总线结构双总线结构CPU硬件框图以下硬件框图以下:图中,数据流动方向如图中,数据流动方向如图中,数据流动方向如图中,数据流动方向如箭头箭头箭头箭头所表示。所表示。所表示。所表示。R/-WR/-WP PC CMMA AR RMMD DR RR R3 3D D移移移移位位位位器器器器I IR RMMA AL LU UA A总线总线总线总线R R0 0C C+1+1GGB B总线总线总线总线R R1 1R R2 2
27、第35页 (2)SUB R1,R3指令周期流程图以指令周期流程图以下:下:OP=OP=?PCMARMM读读PC+1 PCMDR MDR IRIR SUBSUBPCo,G,MARi1 R+1(可与前一步并行可与前一步并行可与前一步并行可与前一步并行)MDRo,G,IRi 第36页R1o,G,CiR2o,G,Di-,G,R1i SUBSUB R1R1C C R2R2D D (C C)-(D D)R1R1 第37页 19.下表给出下表给出8条微指令条微指令I1I8及所包含及所包含微命令控制信号,设计微指令操作控制字微命令控制信号,设计微指令操作控制字段格式,要求段格式,要求所使用控制位最少所使用控制
28、位最少,而且保,而且保持微指令本身内在持微指令本身内在并行性并行性。微指令微指令微指令微指令所含微命令I I1 1I I2 2I I3 3I I4 4I I5 5I I6 6I I7 7I I8 8a b c d ea b c d ea d f ga d f gb hb hc cc e g ic e g ia h ja h jc d hc d ha b ha b h第38页 解:为使设计出微指令操作控制字段解:为使设计出微指令操作控制字段最短最短,而且保持微,而且保持微指令本身内在指令本身内在并行性并行性,应采取,应采取混合编码法混合编码法。首先找出。首先找出互斥互斥微命微命令组,为便于分析,
29、将微命令表重画以下(表中令组,为便于分析,将微命令表重画以下(表中 表示该条微表示该条微指令有这个微命令):指令有这个微命令):微指令微指令微指令微指令所含微命令a ab bc cd de ef f g gh hi ij jI I1 1 I I2 2 I I3 3 I I4 4 I I5 5 I I6 6 I I7 7 I I8 8 第39页 由表中微命令分布情况可看出:由表中微命令分布情况可看出:a、b、c、d、e微命令并行性太高,所以不能放在同一字微命令并行性太高,所以不能放在同一字段中。另外,由分析可知,在段中。另外,由分析可知,在2、3、4分组互分组互斥组中,斥组中,3个一组微命令互斥
30、组对控制位压缩作个一组微命令互斥组对控制位压缩作用最显著用最显著。所以,应尽可能多找出。所以,应尽可能多找出3个一组互斥个一组互斥组。现找出互斥组有:组。现找出互斥组有:cfj,dij,efh,fhi,bgj,ehj,efj等等。等等。从中找出从中找出互不相重互斥组互不相重互斥组有两个:有两个:dij,efh。则:微指令操作控制字段格式安排以下:。则:微指令操作控制字段格式安排以下:1 1 1 1 2 2a ab bc cd ddijdijefhefh顺顺顺顺 序序序序 控控控控 制制制制 字字字字 段段段段操作控制字段操作控制字段操作控制字段操作控制字段第40页 各字段编码分配以下:各字段编
31、码分配以下: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位位。第41页