1、计算机组成原理计算机组成原理 245.5.2 微程序控制器组成原理微程序控制器组成原理5.5 微程序控制器原理微程序控制器原理 微地址微地址形成电路形成电路 IR PSW PC微地址寄存器微地址寄存器 AR控制存储器控制存储器CM 译码器译码器微命令序列微命令序列微命令字段微命令字段 微地址字段微地址字段IR1.1.主要部件主要部件(1 1)控制存储器)控制存储器CMCM功能:功能:存放微程序存放微程序。CMCM属于属于CPUCPU,不属于主存储器。,不属于主存储器。55.5 微程序控制器原理微程序控制器原理(2 2)微指令寄存器)微指令寄存器 IR功能:功能:微地址微地址形成电路形成电路 I
2、R PSW PC微地址寄存器微地址寄存器 AR控制存储器控制存储器CM 译码器译码器微命令序列微命令序列微命令字段微命令字段 微地址字段微地址字段IR存放现行微指令存放现行微指令。微命令字段:微命令字段:提供一步操作所需的微命令。提供一步操作所需的微命令。微地址字段:微地址字段:指明后续微地址的形成方式。指明后续微地址的形成方式。提供微地址的给定部分。提供微地址的给定部分。(微操作控制字段微操作控制字段)(顺序控制字段顺序控制字段)65.5 微程序控制器原理微程序控制器原理(3 3)微地址形成电路)微地址形成电路功能:功能:微地址微地址形成电路形成电路 IR PSW PC微地址寄存器微地址寄存
3、器 AR控制存储器控制存储器CM 译码器译码器微命令序列微命令序列微命令字段微命令字段 微地址字段微地址字段IR提供两类微地址。提供两类微地址。微程序入口地址:微程序入口地址:由机器指令由机器指令操作码操作码形成。形成。后续微地址:后续微地址:由由微地址字段微地址字段、现行微地现行微地址址、运行状态运行状态等形成。等形成。75.5 微程序控制器原理微程序控制器原理2.2.工作过程工作过程 微地址微地址形成电路形成电路 IR PSW PC微地址寄存器微地址寄存器 AR控制存储器控制存储器CM 译码器译码器微命令序列微命令序列微命令字段微命令字段 微地址字段微地址字段IR 取指微指令取指微指令(1
4、 1)取机器指令)取机器指令CMCM取指微指令取指微指令IRIR控制存储器控制存储器 取指微指令取指微指令微命令字段微命令字段 微地址字段微地址字段 译码器译码器微命令序列微命令序列 IR微命令字段微命令字段译码器译码器控制存储器控制存储器微命令微命令主存主存机器指令机器指令微命令字段微命令字段 微地址字段微地址字段IRIR 译码器译码器微命令序列微命令序列85.5 微程序控制器原理微程序控制器原理(2 2)转微程序入口)转微程序入口IRIR操作码操作码微地址形微地址形成电路成电路入口入口ARAR微命令字段微命令字段CMCM首条微指令首条微指令 微地址微地址形成电路形成电路 IR PSW PC
5、微地址寄存器微地址寄存器 AR控制存储器控制存储器CM 译码器译码器微命令序列微命令序列微命令字段微命令字段 微地址字段微地址字段IR 取指微指令取指微指令控制存储器控制存储器 取指微指令取指微指令微命令字段微命令字段 微地址字段微地址字段 译码器译码器微命令序列微命令序列 IR控制存储器控制存储器微命令字段微命令字段 微地址字段微地址字段 译码器译码器微命令序列微命令序列 微地址微地址形成电路形成电路 IR微地址寄存器微地址寄存器 微地址微地址形成电路形成电路控制存储器控制存储器微地址寄存器微地址寄存器微命令字段微命令字段 微地址字段微地址字段(3 3)执行首条微指令)执行首条微指令控制存储
6、器控制存储器 译码器译码器IRIRIRIR译码器译码器微命令字段微命令字段 微地址字段微地址字段微命令序列微命令序列微命令微命令操作部件操作部件95.5 微程序控制器原理微程序控制器原理 微地址微地址形成电路形成电路 IR PSW PC微地址寄存器微地址寄存器 AR控制存储器控制存储器CM 译码器译码器微命令序列微命令序列微命令字段微命令字段 微地址字段微地址字段IR(4 4)取后续微指令)取后续微指令微地址字段微地址字段现行微地址现行微地址运行状态运行状态微地址形微地址形成电路成电路微命令字段微命令字段 微地址字段微地址字段 PSW微地址寄存器微地址寄存器 微地址微地址形成电路形成电路微命令
7、字段微命令字段 微地址字段微地址字段 PSW微地址寄存器微地址寄存器微地址寄存器微地址寄存器后续微地址后续微地址ARAR 微地址微地址形成电路形成电路控制存储器控制存储器CMCM后续微指令后续微指令IRIR微地址寄存器微地址寄存器微命令字段微命令字段 微地址字段微地址字段105.5 微程序控制器原理微程序控制器原理(5 5)执行后续微指令)执行后续微指令同(同(3 3)微地址微地址形成电路形成电路 IR PSW PC微地址寄存器微地址寄存器 AR控制存储器控制存储器CM 译码器译码器微命令序列微命令序列微命令字段微命令字段 微地址字段微地址字段IR微命令字段微命令字段 微地址字段微地址字段 P
8、SW微地址寄存器微地址寄存器 微地址微地址形成电路形成电路微命令字段微命令字段 微地址字段微地址字段 PSW微地址寄存器微地址寄存器微地址寄存器微地址寄存器 微地址微地址形成电路形成电路微地址寄存器微地址寄存器微命令字段微命令字段 微地址字段微地址字段(6 6)返回)返回微程序执行完,返回微程序执行完,返回CMCM(存放存放取指微指令取指微指令的的固定单元固定单元)。115.5 微程序控制器原理微程序控制器原理微程序控制器的组成框图微程序控制器的组成框图指令译码指令译码控制存储器控制存储器控制字段控制字段 下址下址微程序控制器的工作原理图微程序控制器的工作原理图指令寄存器指令寄存器IRIR形成
9、本条指令的形成本条指令的微程序入口地址微程序入口地址微指令寄存器微指令寄存器125.5.3 微程序举例微程序举例5.5 微程序控制器原理微程序控制器原理5.5 微程序控制器原理微程序控制器原理 微程序在控存中的存放及微程序控制器的工作过程微程序在控存中的存放及微程序控制器的工作过程000 000 000 000 11111 10 0000010 001 001 001 00000 00 0000000000011010 010 100 100 100 00000 00 10011001 010 001 001 100 00000 01 0010控制存储器控制存储器取指取指R2R3R2R2+R3
10、R2R1+R2R2.(3 3)混合型微指令)混合型微指令微指令不长,便于编写;微程序不长,执行微指令不长,便于编写;微程序不长,执行速度加快。速度加快。在垂直型的基础上增加一些不太复杂的并行在垂直型的基础上增加一些不太复杂的并行操作。操作。例例.长城长城203203微指令微指令 AI BI ZO AOP MOP KK STAI BI ZO AOP MOP KK ST 3 3 3 3 4 4 4运算器运算器输入控输入控制制运算器运算器输出控输出控制制操作操作类型类型控制控制访访M M、I/OI/O控控制制常数常数辅助辅助操作操作17水平型微指令和垂直型微指令的比较水平型微指令和垂直型微指令的比较
11、如何确定微指令的结构,是微程如何确定微指令的结构,是微程序设计的关键。序设计的关键。1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 LDLA LDR1 LDPC BUS IR(A)WE P2 下下 址址 L R0 LDLB LDR0 PC1 LDIR RD LDAR LDDR P1 控控制制字字段段 顺顺序序控控制制 L R1 L R2 bus L L bus bus BUS BUS bus BUS ALU BUS PC BUS DR DR(D)BUS 19(2 2)分段直接编译法
12、)分段直接编译法 (单重定义编码)(单重定义编码)例例.对加法器输入端进行控制。对加法器输入端进行控制。微命令由字段编码直接给出微命令由字段编码直接给出(显式编码)(显式编码)。000 000 不发命令不发命令微指令中设置微指令中设置AIAI字段,控制字段,控制加法器的输入选择。加法器的输入选择。加法器加法器 A BR、CD、ER、CD、FAIAI3010 C A010 C A100 F B100 F B001 R A001 R A010 C A010 C A011 D B011 D B011 D B011 D B?微命令分组原则:微命令分组原则:同类操作中同类操作中互斥互斥的的微命令放同一字
13、段。微命令放同一字段。不能同时出现不能同时出现CD20操作唯一;操作唯一;加法器加法器A A输入端的控制命令放输入端的控制命令放AIAI字段,字段,B B输入端的控制命令输入端的控制命令放放BIBI字段。字段。加法器加法器 A BR、CD、ER、CD、F000 000 不发命令不发命令010 C A010 C A100 E A100 E A001 R A001 R A011 D A011 D ACDAI BIAI BI3 3010 C A010 C A000 000 不发命令不发命令010 C B010 C B100 F B100 F B001 R B001 R B011 D B011 D B
14、011 D B011 D BAIAI:BIBI:一条微指令能同时一条微指令能同时提供若干微命令,便于组织各种操作。提供若干微命令,便于组织各种操作。编码较简单;编码较简单;(3 3)分段间接编译法)分段间接编译法 (多重定义编码,隐式编码)(多重定义编码,隐式编码)例例.微命令由本字段编码和其他字段解释共同给出。微命令由本字段编码和其他字段解释共同给出。C C=C AC A 1)1)设置解释位或解释字段设置解释位或解释字段解释位解释位1 1 A A为某类命令为某类命令0 0 A A为常数为常数/另一类微另一类微 命令命令2)2)分类编译分类编译按功能类型将微指令分类,分别安排各类微按功能类型将
15、微指令分类,分别安排各类微指令格式和字段编码,并设置区分标志。指令格式和字段编码,并设置区分标志。例例.DJS-220 .DJS-220 微指令分两类。微指令分两类。21(4 4)其他编码方法)其他编码方法微指令微指令CPUCPU方式方式(触发器触发器C=0)C=0)I/OI/O方式方式(触发器触发器C=1)C=1)1)1)微指令译码与机器指令译码复合控制微指令译码与机器指令译码复合控制全加器运算方式控制全加器运算方式控制C=0 C=0 QC QC15 16 17C=1 C=1 QCQC JCCJCC15 16 17通道专用操作方式控制通道专用操作方式控制例例.机器指令机器指令 寄存器号寄存器
16、号 寄存器传寄存器传A微指令微指令译码器译码器译码器译码器001001R AR A R1 A A门门222)2)微地址参与解释微地址参与解释004004微地址微地址微指令微指令 取指标志取指标志 变址标志变址标志 0110115.5 微程序控制器原理微程序控制器原理23例例 DJS180DJS180系列系列 2626个局部性微命令个局部性微命令 后继微地址由现行微地址加上一个增量来产生后继微地址由现行微地址加上一个增量来产生 AR=PC+1【例】【例】微地址寄存器有微地址寄存器有6位位(A5-A0),当需要修改其内容时,可通,当需要修改其内容时,可通过某一位触发器的强置端过某一位触发器的强置端
17、S将其置将其置“1”。现有三种情况:。现有三种情况:(1)执行执行“取指取指”微指令后,微程序按微指令后,微程序按IR的的OP字段字段(IR3-IR0)进行进行16路分支;路分支;(2)执行条件转移指令微程序时,按进位标志执行条件转移指令微程序时,按进位标志C的状态进行的状态进行2路分支路分支(3)执行控制台指令微程序时,按执行控制台指令微程序时,按IR4,IR5的状态进行的状态进行4路分支。路分支。请按多路转移方法设计微地址转移逻辑。请按多路转移方法设计微地址转移逻辑。【解】【解】按所给设计条件,微程序有三种判别测试,分别为按所给设计条件,微程序有三种判别测试,分别为P1,P2,P3。由于修
18、改由于修改A5-A0内容具有很大灵活性,现分配如下:内容具有很大灵活性,现分配如下:(1)用用P1和和IR3-IR0修改修改A3-A0;(2)用用P2和和C修改修改A0;(3)用用P3和和IR5,IR4修改修改A5,A4。另外还要考虑时间因素另外还要考虑时间因素T4(假设假设CPU周期最后一个节拍脉冲周期最后一个节拍脉冲),故转移逻辑表达式,故转移逻辑表达式如下:如下:A5=P3IR5T4 A4=P3IR4T4 A3=P1IR3T4 A2=P1IR2T4A1=P1IR1T4 A0=P1IR0T4+P2CT4 25例例.机器指令机器指令1 0F(80F(8位位)入口地址入口地址=00000FH0
19、FH CM机器指令机器指令2 10(810(8位位)入口地址入口地址=000010H10H 000F000F00100010无条件转无条件转 微地址微地址1 1微地址微地址1 1微程序微程序1 1无条件转无条件转 微地址微地址2 2微地址微地址2 2微程序微程序2 2 功能转移功能转移 功能转移功能转移0 0页页2628同步控制,用统一微指令周期控制各条微指同步控制,用统一微指令周期控制各条微指令执行。令执行。P P 微程序时序安排微程序时序安排微指令周期微指令周期 微指令微指令打入打入 IR(CM IR)二级时序:二级时序:控制数控制数据通路据通路操作操作 结果打结果打入目的入目的地,地,读取后续读取后续微指令微指令后续微后续微地址打地址打入入 AR为什么?为什么?产生微产生微命令方命令方法法时序划时序划分分规整性规整性可扩展可扩展性性速度速度组合逻辑组合逻辑控制控制(硬硬布线控制布线控制)组合逻组合逻辑电路辑电路(门电路、门电路、触发器触发器)提供提供三级时三级时序:序:CPU周周期、节期、节拍、脉拍、脉冲冲不规整不规整不易修不易修改、扩改、扩展展快快微程序控微程序控制制存储逻存储逻辑辑(微指微指令令)提供提供二级时二级时序:微序:微指令周指令周期、脉期、脉冲冲规整规整易修改、易修改、扩展扩展慢慢