1、10.1 组合逻辑设计组合逻辑设计10.2 微程序设计微程序设计一、组合逻辑控制单元框图一、组合逻辑控制单元框图1.CU 外特性外特性IR节拍发生器节拍发生器CUT0T1TnCLK(机器主频)(机器主频)标志标志0 12n-1C0C1Cn操作码译码操作码译码n 位操作码位操作码2.节拍信号节拍信号CLKT0T1T2T3时钟周期时钟周期机器周期机器周期机器周期机器周期T0T1T2T3T0T1T2T3二、微操作的节拍安排二、微操作的节拍安排采用采用 同步控制方式同步控制方式CPU 内部结构采用非总线方式内部结构采用非总线方式一个一个 机器周期机器周期 内有内有 3 个节拍(时钟周期)个节拍(时钟周
2、期)PCIRACCU时钟时钟ALUC1C2C5C9C0C10C3C7C4C6C12C11C8控制信号控制信号标志标志控制控制信号信号 M D R M A R1.安排微操作时序的原则安排微操作时序的原则原则一原则一 微操作的微操作的 先后顺序不得先后顺序不得 随意随意 更改更改原则二原则二 被控对象不同被控对象不同 的微操作的微操作 尽量安排在尽量安排在 一个节拍一个节拍 内完成内完成原则三原则三 占用占用 时间较短时间较短 的微操作的微操作 尽量尽量 安排在安排在 一个节拍一个节拍 内完成内完成 并并允许有先后顺序允许有先后顺序2.取指周期取指周期 微操作的微操作的 节拍安排节拍安排PC MA
3、RM(MAR)MDRMDR IR(PC)+1 PC原则二原则二原则二原则二原则三原则三3.间址周期间址周期 微操作的微操作的 节拍安排节拍安排M(MAR)MDRMDR Ad(IR)T0T1T2T0T1T21 ROP(IR)IDAd(IR)MAR1 R4.执行周期执行周期 微操作的微操作的 节拍安排节拍安排 CLA COM SHRT0T1T2T0T1T2T0T1T2AC0 AC0L(AC)R(AC)0 ACAC AC CSL STP ADD X STA XR(AC)L(AC)AC0 ACnT0T1T20 GT0T1T2T0T1T2T0T1T2Ad(IR)MARM(MAR)MDR(AC)+(MDR
4、)ACAd(IR)MARAC MDRMDR M(MAR)1 R1 W LDA X JMP X BAN XT0T1T2Ad(IR)MARM(MAR)MDRMDR ACT0T1T2T0T1T2Ad(IR)PC1 RA0 Ad(IR)+A0 PC PC5.中断周期中断周期 微操作的微操作的 节拍安排节拍安排T0T1T20 MARPC MDRMDR M(MAR)硬件关中断硬件关中断向量地址向量地址 PC中断隐指令完成中断隐指令完成1 W三、组合逻辑设计步骤三、组合逻辑设计步骤1.列出操作时间表列出操作时间表II间址特征间址特征三、组合逻辑设计步骤三、组合逻辑设计步骤1.列出操作时间表列出操作时间表IN
5、D间址周期标志间址周期标志三、组合逻辑设计步骤三、组合逻辑设计步骤1.列出操作时间表列出操作时间表三、组合逻辑设计步骤三、组合逻辑设计步骤1.列出操作时间表列出操作时间表II1111111111111111111111111111111111111111111111三、组合逻辑设计步骤三、组合逻辑设计步骤1.列出操作时间表列出操作时间表IND11111111111111111111三、组合逻辑设计步骤三、组合逻辑设计步骤1.列出操作时间表列出操作时间表11111111111112.写出微操作命令的最简表达式写出微操作命令的最简表达式=FE T1+IND T1(ADD+STA+LDA+JMP+B
6、AN)+EX T1(ADD+LDA)M(MAR)MDR=T1 FE+IND(ADD+STA+LDA+JMP+BAN)+EX(ADD+LDA)3.画出逻辑图画出逻辑图特点特点 思路清晰,简单明了思路清晰,简单明了 庞杂,调试困难,修改困难庞杂,调试困难,修改困难 速度快速度快&11&1FEINDEXLDAADDJMPBANSTAT1M(MAR)MDR(RISC)&一、微程序设计思想的产生一、微程序设计思想的产生1951 英国剑桥大学教授英国剑桥大学教授 Wilkes 完成完成一条机器指令一条机器指令微操作命令微操作命令 1微操作命令微操作命令 2微操作命令微操作命令 n微指令微指令 110100
7、000微指令微指令 n微程序微程序00010010存储逻辑存储逻辑一条机器指令对应一个微程序一条机器指令对应一个微程序存入存入 ROM二、微程序控制单元框图及工作原理二、微程序控制单元框图及工作原理1.机器指令对应的微程序机器指令对应的微程序M+1MM+2P+1KK+2PP+2K+1取指周期微程序取指周期微程序对应对应 LDA 操作的微程序操作的微程序对应对应 STA 操作的微程序操作的微程序间址周期微程序间址周期微程序中断周期微程序中断周期微程序2.微程序控制单元的基本框图微程序控制单元的基本框图 微地址微地址 形成部件形成部件顺序逻辑顺序逻辑CMAR地址译码地址译码控制存储器控制存储器标志
8、标志CLK下地址下地址CMDR至至 CPU 内部和系统总线的控制信号内部和系统总线的控制信号 OPIR顺序控制顺序控制操作控制操作控制微指令基本格式微指令基本格式二、微程序控制单元框图及工作原理二、微程序控制单元框图及工作原理M+1MM+2P+1KK+2PP+2K+1取指周期取指周期 微程序微程序对应对应 LDA 操作的微程序操作的微程序对应对应 STA 操作的微程序操作的微程序间址周期间址周期 微程序微程序中断周期中断周期 微程序微程序M+1M+2P+1P+2K+1K+2MM转执行周期微程序转执行周期微程序转取指周期微程序转取指周期微程序3.工作原理工作原理LDA XADD YSTA Z主存
9、主存STP用户程序用户程序控存控存M+1MM+2P+1QQ+2PP+2Q+1取指周期取指周期 微程序微程序对应对应 LDA 操操作的微程序作的微程序对应对应 ADD 操操作的微程序作的微程序Q+1Q+2MM+1M+2P+1P+2M对应对应 STA 操操作的微程序作的微程序K+1K+2MKK+2K+13.工作原理工作原理(1)取指阶段取指阶段M CMARCM(CMAR)CMDR由由 CMDR 发命令发命令形成下条微指令地址形成下条微指令地址Ad(CMDR)CMARCM(CMAR)CMDR由由 CMDR 发命令发命令Ad(CMDR)CMARCM(CMAR)CMDR由由 CMDR 发命令发命令M+1
10、M+2PC MAR1 RM(MAR)MDR(PC)+1 PCMDR IR1 0 0 0 0 1M+1M0 1 0 0 1 0M+2M+1形成下条微指令地址形成下条微指令地址执行取指微程序执行取指微程序0 0 1 0 0 0 0M+2(2)执行阶段执行阶段CM(CMAR)CMDR由由 CMDR 发命令发命令Ad(CMDR)CMARCM(CMAR)CMDR由由 CMDR 发命令发命令Ad(CMDR)CMARCM(CMAR)CMDR由由 CMDR 发命令发命令OP(IR)微地址形成部件微地址形成部件 CMAR(P CMAR)Ad(CMDR)CMARAd(IR)MAR1 RM(MAR)MDRMDR A
11、C0 0 0 0 0 0 1 0P+2 M执行执行 LDA 微程序微程序 形成下条微指令地址形成下条微指令地址 P+1形成下条微指令地址形成下条微指令地址 P+2形成下条微指令地址形成下条微指令地址 M(M CMAR)0 1 0 0 0P+2P+10 0 0 1 0 0 1P+1P(3)取指阶段取指阶段CM(CMAR)CMDR由由 CMDR 发命令发命令M CMAR PC MAR1 R全部微指令存在全部微指令存在 CM 中中,程序执行过程中,程序执行过程中 只需读出只需读出关键关键 微指令的微指令的 操作控制字段如何形成微操作命令操作控制字段如何形成微操作命令 微指令的微指令的 后续地址如何形
12、成后续地址如何形成执行取指微程序执行取指微程序1 0 0 0 0 1M+1M三、微指令的编码方式(控制方式)三、微指令的编码方式(控制方式)1.直接编码(直接控制)方式直接编码(直接控制)方式 在微指令的操作控制字段中,在微指令的操作控制字段中,每一位代表一个微操作命令每一位代表一个微操作命令速度最快速度最快下地址下地址控制信号控制信号操作控制操作控制某位为某位为“1”表示该控制信号有效表示该控制信号有效2.字段直接编码方式字段直接编码方式将微指令的控制字段分成若干将微指令的控制字段分成若干“段段”,每段经译码后发出控制信号每段经译码后发出控制信号每个字段中的命令是每个字段中的命令是 互斥互斥
13、 的的译码译码译码译码译码译码下地址下地址操作控制操作控制控制信号控制信号缩短缩短 了微指令了微指令 字长字长,增加增加 了译码了译码 时间时间微程序执行速度较慢微程序执行速度较慢显式编码显式编码3.字段间接编码方式字段间接编码方式4.混合编码混合编码直接编码和字段编码(直接和间接)混合使用直接编码和字段编码(直接和间接)混合使用5.其他其他字段字段 1字段字段 2译码译码译码译码译码译码操作控制操作控制控制信号控制信号字段字段 n 下地址下地址控制信号控制信号隐式编码隐式编码四、微指令序列地址的形成四、微指令序列地址的形成1.微指令的微指令的 下地址字段下地址字段 指出指出2.根据机器指令的
14、根据机器指令的 操作码操作码 形成形成3.增量计数器增量计数器4.分支转移分支转移(CMAR)+1 CMAR 转移地址转移地址操作控制字段操作控制字段 转移方式转移方式转移方式转移方式 指明判别条件指明判别条件转移地址转移地址 指明转移成功后的去向指明转移成功后的去向5.通过测试网络通过测试网络6.由硬件产生由硬件产生微程序入口地址微程序入口地址第一条微指令地址第一条微指令地址 由专门由专门 硬件硬件 产生产生中断周期中断周期 由由 硬件硬件 产生产生 中断周期微程序首地址中断周期微程序首地址非测试地址非测试地址 h测试地址测试地址 l测试网络测试网络测试源测试源微指令地址微指令地址CMDR操
15、作控制操作控制顺序控制顺序控制HL7.后续微指令地址形成方式原理图后续微指令地址形成方式原理图地址地址选择选择+1CMAR地址译码地址译码下地址下地址转移方式转移方式CMDR控制存储器控制存储器控制信号控制信号 分支分支 逻辑逻辑标志标志微程序入口微程序入口OPIR 微地址微地址 形成部件形成部件 多路选择多路选择五、微指令格式五、微指令格式1.水平型微指令水平型微指令如如 直接编码、字段直接编码、字段间接编码、直接编码、字段直接编码、字段间接编码、直接和字段混合编码直接和字段混合编码2.垂直型微指令垂直型微指令类似机器指令操作码类似机器指令操作码 的方式的方式一次能定义并执行多个并行操作一次
16、能定义并执行多个并行操作由微操作码字段规定微指令的功能由微操作码字段规定微指令的功能3.两种微指令格式的比较两种微指令格式的比较(1)水平型微指令比垂直型微指令水平型微指令比垂直型微指令 并行操作能力强并行操作能力强 ,灵活性强灵活性强(2)水平型微指令执行一条机器指令所要的水平型微指令执行一条机器指令所要的 微指令微指令 数目少,速度快数目少,速度快(3)水平型微指令水平型微指令 用较短的微程序结构换取较长的用较短的微程序结构换取较长的 微指令结构微指令结构(4)水平型微指令与机器指令水平型微指令与机器指令 差别大差别大六、静态微程序设计和动态微程序设计六、静态微程序设计和动态微程序设计静态
17、静态 微程序无须改变,采用微程序无须改变,采用 ROM动态动态 通过通过 改变微指令改变微指令 和和 微程序微程序 改变机器指令,改变机器指令,有利于仿真,采用有利于仿真,采用 EPROM七、毫微程序设计七、毫微程序设计1.毫微程序设计的基本概念毫微程序设计的基本概念微程序设计微程序设计 用用 微程序解释机器指令微程序解释机器指令毫微程序设计毫微程序设计 用用 毫微程序解释微程序毫微程序解释微程序毫微指令与微指令毫微指令与微指令 的关系好比的关系好比 微指令与机器指令微指令与机器指令 的关系的关系2.毫微程序控制存储器的基本组成毫微程序控制存储器的基本组成 控制存储器控制存储器 (微程序)(微
18、程序)CMAR1MOPOP转移地址转移地址垂直型垂直型微指令微指令IR+1CMDR1CMAR2 控制存储器控制存储器(毫微程序)(毫微程序)水平型微指令水平型微指令控制信号控制信号CMDR2八、串行微程序控制和并行微程序控制八、串行微程序控制和并行微程序控制取第取第 i+1 条微指令条微指令执行第执行第 i 条微指令条微指令取第取第 i 条微指令条微指令执行第执行第 i+1 条微指令条微指令执行第执行第 i 条微指令条微指令取第取第 i 条微指令条微指令取第取第 i+1 条微指令条微指令 执行第执行第 i+1 条微指令条微指令取第取第 i+2 条微指令条微指令 执行第执行第 i+2 条微指令条
19、微指令串行串行 微程序控制微程序控制并行并行 微程序控制微程序控制还需考虑还需考虑 如何读出如何读出 这这 3 条微指令条微指令?1.写出对应机器指令的微操作及节拍安排写出对应机器指令的微操作及节拍安排假设假设 CPU 结构与组合逻辑相同结构与组合逻辑相同(1)取指阶段微操作分析取指阶段微操作分析T0T1T2PC MARM(MAR)MDR(PC)+1 PCMDR IROP(IR)微地址形成部件微地址形成部件九、微程序设计举例九、微程序设计举例1 R若一个若一个 T 内安排一条微指令内安排一条微指令则取指操作需则取指操作需 3 条微指令条微指令3 条微指令条微指令Ad(CMDR)CMAROP(I
20、R)微地址形成部件微地址形成部件 CMAR(2)取指阶段的微操作及节拍安排取指阶段的微操作及节拍安排考虑到需要考虑到需要 形成后续微指令的地址形成后续微指令的地址T0T1T2T3T4T51R(PC)+1PCOP(IR)微地址形成部件微地址形成部件MARPCCMARAd(CMDR)MDRM(MAR)CMARAd(CMDR)IRMDRCMAROP(IR)微地址形成部件微地址形成部件(3)执行阶段的微操作及节拍安排执行阶段的微操作及节拍安排考虑到需形成后续微指令的地址考虑到需形成后续微指令的地址取指微程序的入口地址取指微程序的入口地址 M由微指令下地址字段指出由微指令下地址字段指出 非访存指令非访存
21、指令 CLA 指令指令T0T1 COM 指令指令T0T1Ad(CMDR)CMARACACCMARAd(CMDR)AC0 CSL 指令指令T0T1 STP 指令指令T1Ad(CMDR)CMARAC0ACnT0CMARAd(CMDR)G0L(AC)R(AC)SHR 指令指令T0T1AC0AC0R(AC)L(AC)CMARAd(CMDR)访存指令访存指令 ADD 指令指令T0T1T2T3T4T5Ad(IR)MARAd(CMDR)CMARM(MAR)MDRAd(CMDR)CMAR(AC)+(MDR)ACAd(CMDR)CMAR1R STA 指令指令T0T1T2T3T4T5Ad(IR)MARAd(CMD
22、R)CMARACMDRAd(CMDR)CMARMDRM(MAR)Ad(CMDR)CMAR1W LDA 指令指令T0T1T2T3T4T5Ad(IR)MARAd(CMDR)CMARM(MAR)MDRAd(CMDR)CMARMDRACAd(CMDR)CMAR1R全部微操作全部微操作 20个个微指令微指令 38条条 转移类指令转移类指令 JMP 指令指令T0T1Ad(IR)PCAd(CMDR)CMAR BAN 指令指令T0T1Ad(CMDR)CMARA0 Ad(IR)+A0 (PC)PC2.确定微指令格式确定微指令格式(1)微指令的编码方式微指令的编码方式(2)后续微指令的地址形成方式后续微指令的地址
23、形成方式采用直接控制采用直接控制由机器指令的操作码通过微地址形成部件形成由机器指令的操作码通过微地址形成部件形成由微指令的下地址字段直接给出由微指令的下地址字段直接给出(3)微指令字长微指令字长由由 20 个微操作个微操作确定确定 操作控制字段操作控制字段 最少最少 20 位位由由 38 条微指令条微指令确定微指令的确定微指令的 下地址字段下地址字段 为为 6 位位微指令字长微指令字长 可取可取 20 6 26 位位(4)微指令字长的确定微指令字长的确定1 条条18 条条38 条微指令中有条微指令中有 19 条条是关于后续微指令地址是关于后续微指令地址CMARAd(CMDR)CMAR其中其中若
24、用若用 Ad(CMDR)直接送控存地址线直接送控存地址线则则 省去了输至省去了输至 CMAR 的时间的时间,省去了省去了 CMAR同理同理OP(IR)微地址形成部件微地址形成部件 控存地址线控存地址线可省去可省去 19 条微指令,条微指令,2 个微操作个微操作 38 19 19 下地址字段最少取下地址字段最少取 5 位位 20 2 18操作控制字段最少取操作控制字段最少取 18 位位CMAROP(IR)微地址形成部件微地址形成部件18 位位考虑留有一定的余量考虑留有一定的余量取操作控制字段取操作控制字段下地址字段下地址字段5 位位共共 30 位位(6)定义微指令操作控制字段每一位的微操作定义微指令操作控制字段每一位的微操作0 1 2 23 24 29 24 位位6 位位多路选择多路选择OPIR下地址下地址控制存储器控制存储器CMDR控制信号控制信号 微地址微地址 形成部件形成部件(5)省去了省去了 CMAR 的控制存储器的控制存储器3.编写微指令码点编写微指令码点微指令(二进制代码)微指令(二进制代码)操作控制字段操作控制字段下地址字段下地址字段取指取指0