《计算机组成原理讲义5.cpu与微程序设计.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理讲义5.cpu与微程序设计.ppt(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、CPU工作机理工作机理与微程序设计与微程序设计My New Email:xudliurt- 本讲内容本讲内容v模型机总体结构模型机总体结构v指令流程与组合逻辑控制器指令流程与组合逻辑控制器v微程序原理微程序原理v微程序控制器设计微程序控制器设计v模型机总体结构模型机总体结构v指令流程与组合逻辑控制器指令流程与组合逻辑控制器v微程序原理微程序原理v微程序控制器设计微程序控制器设计1.1 1.1 模型机结构模型机结构返回返回1.1 1.1 模型机结构模型机结构v简化的简化的80868088结构结构16位系统位系统通用寄存器部件通用寄存器部件主存地址寄存器主存地址寄存器MAR主存数据寄存器主存数据寄
2、存器MDR暂存器暂存器C,D,Z程序计数器程序计数器PC指令寄存器指令寄存器IRALU存储器部件存储器部件控制部件控制部件数据通路与控制信号数据通路与控制信号微操作控制信号与控制脉冲微操作控制信号与控制脉冲1.2 1.2 模型机的指令系统模型机的指令系统v双操作数指令格式双操作数指令格式RR型或型或RS型,必有一个操作数在寄存器中(寄存器直接寻址)型,必有一个操作数在寄存器中(寄存器直接寻址)长度长度26个字节(前个字节(前2个字节必须)个字节必须)Opcode:操作码(操作码(6位)位)d:方向字段(方向字段(1位)。在第二个字节中,位)。在第二个字节中,REG确定一个操作数(寄存器直确定一
3、个操作数(寄存器直接寻址),接寻址),MOD和和R/M确定零一个操作数的寻址方式。方向字段确定零一个操作数的寻址方式。方向字段d表明表明REG确定的是源操作数还是目的操作数。确定的是源操作数还是目的操作数。d=1,REG确定目的操作数,确定目的操作数,MOD+R/M确定源操作数确定源操作数d=0,REG确定源操作数,确定源操作数,MOD+R/M确定目的操作数确定目的操作数W:字字节字段(字字节字段(1位):操作数是字节(位):操作数是字节(8位)还是字(位)还是字(16位)位)W=1,字(字(16位)位)W=0,字节(字节(8位)位)1.2 1.2 模型机的指令系统模型机的指令系统v双操作数指
4、令格式双操作数指令格式REGW=1W=0000AXAL001CXCL010DXDL011BXBL100SPAH101BPCH110SIDH111DIBH寄存器编码表寄存器编码表1.2 1.2 模型机的指令系统模型机的指令系统v双操作数指令格式双操作数指令格式1.2 1.2 模型机的指令系统模型机的指令系统v单操作数指令格式单操作数指令格式v指令分类指令分类传送指令:传送指令:MOV Dest,Src算术指令:算术指令:ADD Dest,Src SUB Dest,Src AND Dest,Src OR Dest,Src XOR Dest,Src单操作数指令:单操作数指令:INC Dest,DEC
5、 Dest,NEG Dest,NOT Dest 移位指令:移位指令:SAL Dest,1;SAR Dest,1程序控制指令:转移指令,转子指令等程序控制指令:转移指令,转子指令等v模型机总体结构模型机总体结构v指令流程与组合逻辑控制器指令流程与组合逻辑控制器v微程序原理微程序原理v微程序控制器设计微程序控制器设计2.1 2.1 控制方式与时序系统控制方式与时序系统v控制方式控制方式同步控制方式同步控制方式异步控制方式异步控制方式v时序系统时序系统脉冲时序信号:主时钟脉冲脉冲时序信号:主时钟脉冲节拍信号:节拍信号:T1,T2,T3,T4机器周期信号:机器周期信号:M1,M2,M3,M4v指令周期
6、指令周期指令周期、机器周期、节拍周期指令周期、机器周期、节拍周期2.1 2.1 控制方式与时序系统控制方式与时序系统v时序系统时序系统2.1 2.1 控制方式与时序系统控制方式与时序系统v时序部件时序部件2.2 2.2 指令流程与微操作时间表指令流程与微操作时间表v取指周期的微操作流程取指周期的微操作流程vMOV指令的微操作流程指令的微操作流程v单操作数指令的微操作流程单操作数指令的微操作流程v双操作数指令的微操作流程双操作数指令的微操作流程v其他指令的微操作流程其他指令的微操作流程v微指令的综合微指令的综合2.2 2.2 指令流程与微操作时间表指令流程与微操作时间表v指令的执行过程指令的执行
7、过程取指:从存取器读取当前指令送到指令寄存器(取指:从存取器读取当前指令送到指令寄存器(IR),),要根据指令编码的长要根据指令编码的长度才能确定读取指令的详细流程。度才能确定读取指令的详细流程。取数:计算操作数地址,读取操作数,要根据操作数的来源与寻址方式才能取数:计算操作数地址,读取操作数,要根据操作数的来源与寻址方式才能确定具体的操作过程。确定具体的操作过程。执行:执行并送结果。执行:执行并送结果。v取指周期取指周期指令的核心部分占指令的核心部分占16Bits,机器字长机器字长16Bits,每一次从存储器能读取每一次从存储器能读取16Bits指令编码长度有指令编码长度有2个字节(个字节(
8、16位),位),4个字节(个字节(32位),甚至位),甚至6个字节,但指个字节,但指令核心部分长度为令核心部分长度为16位。位。取指周期特指读取指令核心部分(取指周期特指读取指令核心部分(16Bits)的周期,所以在这种前题下,所的周期,所以在这种前题下,所有指令的取指周期是完全一样的。有指令的取指周期是完全一样的。2.2 2.2 指令流程与微操作时间表指令流程与微操作时间表v取指周期的微操作流程取指周期的微操作流程取指流程需要取指流程需要4个节拍个节拍每条指令执行过程的第一个机器周期每条指令执行过程的第一个机器周期M1都是取指周期(取到指令核心部分)都是取指周期(取到指令核心部分)M1.T3
9、时间节拍时间节拍完成功能完成功能需要的微操作信号需要的微操作信号M1.T1指令地址送指令地址送MARIB PCM1.T2Read MemoryAB MAR,RD,W/B指令送指令送MDRMDR DB调整调整PC PC+1MDR(指令)送指令)送IRIB MDR需要的控制脉冲需要的控制脉冲CPMARCPMDRCPPCCPIRM1.T4结构图结构图2.2 2.2 指令流程与微操作时间表指令流程与微操作时间表vMOV AX,BX 指令执行的微操作流程指令执行的微操作流程指令长度:指令长度:16位,一次可读取完毕(指令代码:位,一次可读取完毕(指令代码:89DBH)读取指令周期:机器周期读取指令周期:
10、机器周期M1内完成内完成执行周期:机器周期执行周期:机器周期M2内完成内完成M1.T3时间节拍时间节拍完成功能完成功能需要的微操作信号需要的微操作信号M1.T1指令地址送指令地址送MARIB PCM1.T2Read MemoryAB MAR,RD,W/B指令送指令送MDRMDR DB调整调整PC PC+1MDR(指令)送指令)送IRIB MDR需要的控制脉冲需要的控制脉冲CPMARCPMDRCPPCCPIRM1.T4取取指指周周期期BX送暂存器送暂存器CIB GR,RDGR,W/BCPC,BX地址地址M2.T1暂存器暂存器C送送AXIB C,WRGR,W/BAX地址地址M2.T2无操作无操作M
11、2.T3无操作无操作M2.T4执执行行周周期期结构图结构图2.2 2.2 指令流程与微操作时间表指令流程与微操作时间表vMOV AX,1000HBX 指令执行的微操作流程指令执行的微操作流程指令长度:指令长度:32位,分两次读取(指令代码:位,分两次读取(指令代码:8B870010H)读取指令周期:机器周期读取指令周期:机器周期M1内完成(读第一个内完成(读第一个16位)位)读变址值周期:机器周期读变址值周期:机器周期M2内完成内完成取操作数周期:机器周期取操作数周期:机器周期M3内完成内完成执行周期:机器周期执行周期:机器周期M4内完成内完成M1.T3时间节拍时间节拍完成功能完成功能需要的微
12、操作信号需要的微操作信号M1.T1指令地址送指令地址送MARIB PCM1.T2Read MemoryAB MAR,RD,W/B指令送指令送MDRMDR DB调整调整PC PC+1MDR(指令)送指令)送IRIB MDR需要的控制脉冲需要的控制脉冲CPMARCPMDRCPPCCPIRM1.T4取取指指周周期期结构图结构图2.2 2.2 指令流程与微操作时间表指令流程与微操作时间表M2.T3时间节拍时间节拍完成功能完成功能需要的微操作信号需要的微操作信号M2.T1PC送送MARIB PCM2.T2从存储器读取从存储器读取1000HAB MAR,RD,W/B1000H送送MDRMDR DB调整调整
13、PC PC+1MDR(1000H)送)送DIB MDR需要的控制脉冲需要的控制脉冲CPMARCPMDRCPPCCPDM2.T4取取变变址址值值(BX)+1000H 送送 ZIB GR,RDGR,W/B,ADDBX地址地址,CPZM3.T1源操作数地址源操作数地址 Z 送送MARIB ZCPMARM3.T2取取数数周周期期读取源操作数读取源操作数AB MAR,RD,W/BM3.T3源操作数送源操作数送MDRMDR DBCPMDRM3.T4结构图结构图2.2 2.2 指令流程与微操作时间表指令流程与微操作时间表M4.T3时间节拍时间节拍完成功能完成功能需要的微操作信号需要的微操作信号M4.T1源操
14、作数送源操作数送AXIB MDR,WRGR,W/B M4.T2 需要的控制脉冲需要的控制脉冲AX的地址的地址M4.T4执执行行周周期期结构图结构图2.2 2.2 指令流程与微操作时间表指令流程与微操作时间表vMOV 1000HBX,AX 指令执行的微操作流程指令执行的微操作流程指令长度:指令长度:32位,分两次读取(指令代码:位,分两次读取(指令代码:89870010H)读取指令周期:机器周期读取指令周期:机器周期M1内完成(读第一个内完成(读第一个16位)位)读变址值周期:机器周期读变址值周期:机器周期M2内完成内完成取操作数周期:机器周期取操作数周期:机器周期M3内完成内完成执行周期:机器
15、周期执行周期:机器周期M4内完成内完成M1.T3时间节拍时间节拍完成功能完成功能需要的微操作信号需要的微操作信号M1.T1指令地址送指令地址送MARIB PCM1.T2Read MemoryAB MAR,RD,W/B指令送指令送MDRMDR DB调整调整PC PC+1MDR(指令)送指令)送IRIB MDR需要的控制脉冲需要的控制脉冲CPMARCPMDRCPPCCPIRM1.T4取取指指周周期期结构图结构图2.2 2.2 指令流程与微操作时间表指令流程与微操作时间表结构图结构图M2.T3时间节拍时间节拍完成功能完成功能需要的微操作信号需要的微操作信号M2.T1PC送送MARIB PCM2.T2
16、从存储器读取从存储器读取1000HAB MAR,RD,W/B1000H送送MDRMDR DB调整调整PC PC+1MDR(1000H)送)送DIB MDR需要的控制脉冲需要的控制脉冲CPMARCPMDRCPPCCPDM2.T4取取变变址址值值(BX)+1000H 送送 ZIB GR,RDGR,W/B,ADDBX地址地址,CPZM3.T1目的操作数地址送目的操作数地址送MARIB ZCPMARM3.T2执执行行周周期期AX送送MDRIBGR,GRRD,W/BAX地址,地址,CPMDRM3.T3写存储器写存储器ABMAR,DB MDRWR,W/BM3.T42.2 2.2 指令流程与微操作时间表指令
17、流程与微操作时间表结构图结构图vADD 2000HBX,1000H 指令执行的微操作流程指令执行的微操作流程指令长度:指令长度:48位,分三次读取(指令代码:位,分三次读取(指令代码:818700200010H)读取指令周期:机器周期读取指令周期:机器周期M1内完成(读第一个内完成(读第一个16位)位)读变址值周期:机器周期读变址值周期:机器周期M2内完成内完成取操作数周期:机器周期取操作数周期:机器周期M3内完成内完成取立即数取立即数,完成加法:机器周期完成加法:机器周期M4内完成内完成执行周期:机器周期执行周期:机器周期M5内完成内完成M1.T3时间节拍时间节拍完成功能完成功能需要的微操作
18、信号需要的微操作信号M1.T1指令地址送指令地址送MARIB PCM1.T2Read MemoryAB MAR,RD,W/B指令送指令送MDRMDR DB调整调整PC PC+1MDR(指令)送指令)送IRIB MDR需要的控制脉冲需要的控制脉冲CPMARCPMDRCPPCCPIRM1.T4取取指指周周期期2.2 2.2 指令流程与微操作时间表指令流程与微操作时间表结构图结构图M2.T3时间节拍时间节拍完成功能完成功能需要的微操作信号需要的微操作信号M2.T1PC送送MARIB PCM2.T2从存储器读取从存储器读取2000HAB MAR,RD,W/B2000H送送MDRMDR DB调整调整PC
19、 PC+1MDR(2000H)送)送ALU加法结果送加法结果送ZIB MDR,ADD,W/B需要的控制脉冲需要的控制脉冲CPMARCPMDRCPPCCPZM2.T4取取变变址址值值BX送暂存器送暂存器DIB GR,RDGRCPD,BX地址地址目的操作数地址目的操作数地址 Z 送送MAR地址暂存在地址暂存在CIB ZCPMAR,CPCM3.T1取取数数周周期期读取目的操作数读取目的操作数AB MAR,RD,W/BM3.T2目的操作数送目的操作数送MDRMDR DBCPMDRM3.T3目的操作数送目的操作数送DIB MDRCPDM3.T42.2 2.2 指令流程与微操作时间表指令流程与微操作时间表
20、时间节拍时间节拍完成功能完成功能需要的微操作信号需要的微操作信号需要的控制脉冲需要的控制脉冲M4.T3M4.T1PC送送MARIB PCM4.T2从存储器读取从存储器读取1000HAB MAR,RD,W/B1000H送送MDRMDR DB调整调整PC PC+1完成加法完成加法IB MDR,ADD,W/BCPMARCPMDRCPPCCPZM4.T4取取立立即即数数进进行行加加法法结构图结构图目的操作数地址目的操作数地址C送送MARIB CCPMARM5.T1保保存存结结果果加法结果送加法结果送MDRIB ZCPMDRM5.T2结果写存储器结果写存储器AB MAR,DBMDRWR,W/BM5.T3
21、No OperationM5.T42.2 2.2 指令流程与微操作时间表指令流程与微操作时间表结构图结构图vJNE 1200 指令执行的微操作流程指令执行的微操作流程指令长度:假定占指令长度:假定占32位,分两次读取位,分两次读取不相等时转移不相等时转移读取指令周期:机器周期读取指令周期:机器周期M1内完成(读第一个内完成(读第一个16位)位)读转移地址周期:机器周期读转移地址周期:机器周期M2内完成内完成M1.T3时间节拍时间节拍完成功能完成功能需要的微操作信号需要的微操作信号M1.T1指令地址送指令地址送MARIB PCM1.T2Read MemoryAB MAR,RD,W/B指令送指令送
22、MDRMDR DB调整调整PC PC+1MDR(指令)送指令)送IRIB MDR需要的控制脉冲需要的控制脉冲CPMARCPMDRCPPCCPIRM1.T4取取指指周周期期2.2 2.2 指令流程与微操作时间表指令流程与微操作时间表结构图结构图M2.T3时间节拍时间节拍完成功能完成功能需要的微操作信号需要的微操作信号M2.T1PC送送MARIB PCM2.T2从存储器读取从存储器读取1200HAB MAR,RD,W/B1200H送送MDRMDR DB调整调整PC PC+1条件成立时转移条件成立时转移条件来自标志寄存器条件来自标志寄存器IB MDR需要的控制脉冲需要的控制脉冲CPMARCPMDRC
23、PPCCPPCM2.T4取取转转向向地地址址2.3 2.3 微操作信号的综合微操作信号的综合译码与微操作控制信号部分逻辑图译码与微操作控制信号部分逻辑图2.3 2.3 微操作信号的综合微操作信号的综合v例例 IB MDR微操作控制信号的综合微操作控制信号的综合所有指令的所有指令的 M1.T4节拍节拍MOV AX,1000HBX指令的指令的 M2.T4节拍(条件:操作码译码为节拍(条件:操作码译码为 MOV,源操作源操作数寻址译码为变址寻址)。数寻址译码为变址寻址)。MOV 1000HBX指令的指令的M2.T4节拍(条件:操作码译码为节拍(条件:操作码译码为 MOV,目的操作目的操作数寻址译码为
24、变址寻址)。数寻址译码为变址寻址)。ADD 2000HBX,1000H指令的指令的M2.T4,M3.T4 和和 M4.T4节拍(条件节拍(条件.)。)。JNE 1200指令的指令的M2.T4节拍(条件:操作码译码为节拍(条件:操作码译码为JNE,FR的标志位表示不的标志位表示不相等相等指令指令时间节拍时间节拍操作码译码操作码译码源寻址译码源寻址译码IBMDR有效的时间与条件有效的时间与条件目寻址译码目寻址译码所有指令所有指令M1.T4MOV AX,1000HBXM2.T4MOVSxMOV 1000HBX,AXM2.T4MOVDxADD 2000HBX,1000HM2.T4ADDDxM3.T4A
25、DDDxM4.T4ADDSimmJNE 1200M2.T4JNEFRZ=02.3 2.3 微操作信号的综合微操作信号的综合vIB MDR微操作控制信号的布尔表达式微操作控制信号的布尔表达式指令指令时间节拍时间节拍操作码译码操作码译码源寻址译码源寻址译码IBMDR有效的时间与条件有效的时间与条件目寻址译码目寻址译码所有指令所有指令M1.T4MOV AX,1000HBXM2.T4MOVSxMOV 1000HBX,AXM2.T4MOVDxADD 2000HBX,1000HM2.T4ADDDxM3.T4ADDDxM4.T4ADDSimmJNE 1200M2.T4JNEFRZ=0依照上述方式构造的控制器
26、称为组合逻辑控制器(硬连线控制器)依照上述方式构造的控制器称为组合逻辑控制器(硬连线控制器)2.3 2.3 微操作信号的综合微操作信号的综合v微操作控制信号微操作控制信号C的布尔函数的布尔函数2.3 2.3 微操作信号生成部件的实现微操作信号生成部件的实现v控制部件的实现控制部件的实现硬连线实现方式硬连线实现方式组合逻辑电路组合逻辑电路可编程逻辑阵列可编程逻辑阵列 PLA可编程阵列逻辑可编程阵列逻辑 PAL通用阵列逻辑通用阵列逻辑 GAL微程序控制器微程序控制器v模型机总体结构模型机总体结构v指令流程与组合逻辑控制器指令流程与组合逻辑控制器v微程序原理与微程序控制器微程序原理与微程序控制器3.
27、1 3.1 微程序原理微程序原理v基本概念基本概念指令的指令的 执行:按顺序执行一系列的微操作,每一个时钟周期执行:按顺序执行一系列的微操作,每一个时钟周期(节拍)完成一个或多个微操作。(节拍)完成一个或多个微操作。微操作:实际上是控制器送出的控制线,具有微操作:实际上是控制器送出的控制线,具有1和和0两种状态。两种状态。将指令执行微操作序列中一个节拍内同时完成的微操作用一个将指令执行微操作序列中一个节拍内同时完成的微操作用一个二进制代码串来表示,这就是二进制代码串来表示,这就是微指令微指令。微指令的执行:通过某种逻辑产生该微指令所表示的微操作控微指令的执行:通过某种逻辑产生该微指令所表示的微
28、操作控制信号,送控制总线,并维持一个时钟周期。制信号,送控制总线,并维持一个时钟周期。指令的执行指令的执行 微指令的序列微指令的序列微指令序列微指令序列 微程序微程序一条机器指令对应一段微程序一条机器指令对应一段微程序将所有指令对应的微程序保存在存储器中(将所有指令对应的微程序保存在存储器中(控制存储器控制存储器)基于这种思想构造的控制器:基于这种思想构造的控制器:微程序控制器微程序控制器3.1 3.1 微程序原理微程序原理3微指令微指令完成功能完成功能需要的微操作信号需要的微操作信号1指令地址送指令地址送MARIB PC2Read MemoryAB MAR,RD,W/B指令送指令送MDRMD
29、R DB调整调整PC PC+1MDR(指令)送指令)送IRIB MDR需要的控制脉冲需要的控制脉冲CPMARCPMDRCPPCCPIR4取取指指周周期期3.1 3.1 微程序原理微程序原理v微指令微指令存储:控制存储器存储:控制存储器执行:向控制总线输出微指令表示的位值为执行:向控制总线输出微指令表示的位值为1的微操作控制信号,的微操作控制信号,并维持一个时钟周期并维持一个时钟周期顺序控制:在微指令中设置次地址字段,直接指定下一条微指顺序控制:在微指令中设置次地址字段,直接指定下一条微指令。令。条件控制:在指令中设置表示条件的字段,通过某种逻辑根据条件控制:在指令中设置表示条件的字段,通过某种
30、逻辑根据条件值得到下一条指令的地址。条件值得到下一条指令的地址。微操作控制信息字段微操作控制信息字段条件字段条件字段次地址字段次地址字段3.1 3.1 微程序原理微程序原理v微程序控制器的原理微程序控制器的原理根据指令译码得到该指令的第根据指令译码得到该指令的第一条微指令的地址。一条微指令的地址。读取微指令送微指令寄存器读取微指令送微指令寄存器生成微操作信号送控制总线生成微操作信号送控制总线(执行该微指令)(执行该微指令)顺序逻辑根据次地址信息和顺序逻辑根据次地址信息和ALU标志信息形成下一条微指标志信息形成下一条微指令的地址并送令的地址并送CMAR3.2 3.2 微指令格式微指令格式v微操作
31、控制字段编码方式微操作控制字段编码方式直接控制编码:每一个二进制位代表直接控制编码:每一个二进制位代表1个微操作控制信号。个微操作控制信号。1表示执表示执行该微操作,行该微操作,0表示不执行该微操作。不需要译码。表示不执行该微操作。不需要译码。分段直接编译:将微操作分组,同一组微操作互斥,不会同时执行,分段直接编译:将微操作分组,同一组微操作互斥,不会同时执行,任何时候最多只有一个微操作被执行,组间微操作可能同时执行,任何时候最多只有一个微操作被执行,组间微操作可能同时执行,组内微操作采用编码方式。从编码到微操作信息需要译码。组内微操作采用编码方式。从编码到微操作信息需要译码。3.2 3.2
32、微指令格式微指令格式v顺序控制字段顺序控制字段条件字段:该微指令执行完后,是否要根据条件字段:该微指令执行完后,是否要根据ALU的标志以及根据什的标志以及根据什么标志来确定下一条微指令在控制存储器中的地址。么标志来确定下一条微指令在控制存储器中的地址。次地址字段:顺序执行时,指出下一条微指令的地址,有条件测试次地址字段:顺序执行时,指出下一条微指令的地址,有条件测试时,需要与条件字段配合才能确定真正要执行的下一条微指令。时,需要与条件字段配合才能确定真正要执行的下一条微指令。微操作控制信息字段微操作控制信息字段条件字段条件字段次地址字段次地址字段3.2 3.2 微指令格式微指令格式v控制存储器
33、控制存储器取指公共微程序ADD微程序SUB微程序AND微程序XXX指令微程序控制存储器结构3.3 3.3 微指令的顺序控制微指令的顺序控制v顺序控制技术顺序控制技术决定下一条微指令的因素:当前微指令,条件标志,指令操作码决定下一条微指令的因素:当前微指令,条件标志,指令操作码顺序执行时:次地址字段直接给定,每条机器指令的微程序的最后顺序执行时:次地址字段直接给定,每条机器指令的微程序的最后一条微指令的次地址字段一定是公共取指微程序的第一条微指令在一条微指令的次地址字段一定是公共取指微程序的第一条微指令在控制存储器中的地址。控制存储器中的地址。公共取指微程序的最后一条微指令的次地址没有什么意义,
34、需要根公共取指微程序的最后一条微指令的次地址没有什么意义,需要根据操作码的译码结果才能确定下一次要执行的微指令的地址。据操作码的译码结果才能确定下一次要执行的微指令的地址。微指令中有条件转移是的次地址技术:微指令中有条件转移是的次地址技术:双次地址字段双次地址字段地址逻辑生成次地址地址逻辑生成次地址3.3 3.3 微指令的顺序控制微指令的顺序控制3.3 3.3 微指令的顺序控制微指令的顺序控制双地址字段双地址字段3.3 3.3 微指令的顺序控制微指令的顺序控制生成次地址生成次地址3.4 3.4 微指令执行的时序控制微指令执行的时序控制微程序控制器的速度与硬接线控制器的速度谁快?微程序控制器的速
35、度与硬接线控制器的速度谁快?3.5 3.5 微程序设计微程序设计v微程序设计的基本步骤微程序设计的基本步骤根据机器结构图写出每一条机器指令的微操作流程,划分微指令;根据机器结构图写出每一条机器指令的微操作流程,划分微指令;根据机器结构图确定微指令控制字段的编码格式根据机器结构图确定微指令控制字段的编码格式根据条件标志确定微指令条件字段的编码格式根据条件标志确定微指令条件字段的编码格式根据所有指令的微指令数确定控制存储器的容量和微指令次地址字段根据所有指令的微指令数确定控制存储器的容量和微指令次地址字段的位数。的位数。划分公共微指令划分公共微指令确定每一条微指令在控制存储器中的地址确定每一条微指
36、令在控制存储器中的地址根据微指令格式编写每一条微指令的编码根据微指令格式编写每一条微指令的编码设计地址转移逻辑设计地址转移逻辑3.6 3.6 微程序设计举例微程序设计举例3.6 3.6 微程序设计举例微程序设计举例微指令格式(微指令格式(40位字)位字)控制字段(控制字段(24位):表示位):表示24个微操作,依次是个微操作,依次是:GRIB,PC IB,ZIB,FRIB,DIB,CIB,MDRIB,RDGR,WRGR,MARAB,MDRDB,DBMDR,RD,WR,SAL,SAR,ADD,SUB,B-1,W/B,P+1,CLPC,NOT,NEG 条件字段:条件字段:4位,表示位,表示16种状
37、态,可以表示种状态,可以表示15个不同的个不同的ALU标志,还有一无标志状态(顺序执行时)。假定用编标志,还有一无标志状态(顺序执行时)。假定用编码码0001测试条件标志测试条件标志Z=0次地址字段:次地址字段:12位,控制存储器容量为位,控制存储器容量为4KW微操作控制字段(24位)条件字段(4位)次地址字段(12位)结构图结构图3.6 3.6 微程序设计举例微程序设计举例结构图结构图vMOV 1000HBX,AX 指令执行的微操作流程指令执行的微操作流程3微指令微指令完成功能完成功能需要的微操作信号需要的微操作信号1指令地址送指令地址送MARIB PC2Read MemoryAB MAR,
38、RD,W/B指令送指令送MDRMDR DB调整调整PC PC+1MDR(指令)送指令)送IRIB MDR微指令编码微指令编码400000 0 004810 0001008 0020000 04取取指指周周期期微操作控制字段(24位)条件字段(4位)次地址字段(12位)3.6 3.6 微程序设计举例微程序设计举例结构图结构图vMOV 1000HBX,AX 指令执行的微操作流程指令执行的微操作流程(BX)+1000H 送送 ZIB GR,RDGR,W/B,ADD810090 09目的操作数地址送目的操作数地址送MARIB Z200000 010执执行行周周期期AX送送MDRIBGR,RDGR,W/
39、B810010 011写存储器写存储器ABMAR,DB MDRWR,W/B006410 0127微指令微指令完成功能完成功能需要的微操作信号需要的微操作信号5PC送送MARIB PC6从存储器读取从存储器读取1000HAB MAR,RD,W/B1000H送送MDRMDR DB调整调整PC PC+1MDR(1000H)送)送DIB MDR微指令编码微指令编码400000 0004810 0001008 0020000 08取取变变址址值值3.6 3.6 微程序设计举例微程序设计举例结构图结构图vJNE 1200 指令执行的微操作流程指令执行的微操作流程3微指令微指令完成功能完成功能需要的微操作信
40、号需要的微操作信号1指令地址送指令地址送MARIB PC2Read MemoryAB MAR,RD,W/B指令送指令送MDRMDR DB调整调整PC PC+1MDR(指令)送指令)送IRIB MDR微指令编码微指令编码400000 0 004810 0001008 0020000 04公公共共取取指指周周期期3.6 3.6 微程序设计举例微程序设计举例结构图结构图vJNE 1200 指令执行的微操作流程指令执行的微操作流程7微指令微指令完成功能完成功能需要的微操作信号需要的微操作信号5PC送送MARIB PC6从存储器读取从存储器读取1200HAB MAR,RD,W/B1200H送送MDRMDR DB调整调整PC PC+1条件成立时转移条件成立时转移条件来自标志寄存器条件来自标志寄存器IB MDR微指令编码微指令编码400000 0004810 0001008 1200000 0 8取取转转向向地地址址