3.6 微程序控制方式 3.6.1 微程序控制的基本原理从物理的观点: 微操作信号各种电信号 即在规定时间产生的电平和脉冲 组合逻辑设计 :按数字逻辑的方法产生所需要的电信号 编码的观点 :将不同周期或节拍的微操作进行编码, 使不同微 操作对应一个编码值, 并存入存储器(ROM)需 要时, 读出编码并译码, 同样可产生电信号1、基本思想例: 指令 ADD R1, R2假设需要两个周期, 用Pij表示一种微操作FIT(取指)对应编码010002 0304 050607EXEC(执行)对应编码09080A 0B0C 0D 0E 0F将上述编码存入存储器:T1T4T2T3 P10P11P20P21P30P31P40P41T1T4T2T3 P12P13P22P23P32P33P42P43例: ADD R1, R2形成地址 1000H译码器微命令微地址译码器 地址形成电路指令寄存器存储器 (ROM)时序信号1000H000102030405060708090A0B0C0E0F按微程序方式构成的CPU的特点 引入了程序技术, 使设计规整 引入了存储逻辑, 使功能易于扩展微程序控制器设计的基本步骤: (1) 若干微命令编制成一条微指令, 控制实现一步 操作;(2) 若干微指令组成一段微程序, 解释执行一条机 器指令;(3) 微程序事先存放在控制存储器中, 执行机器指 令时再取出, 经译码形成相应的微操作信号。
2、逻辑组成微地址 形成电路IRPSWPC微地址寄存器µAR控制存储器CM译码器微命令序列微命令字段 微地址字段µIR(1) 控制存储器CM功能: 存放微程序 CM属于CPU, 不属于主存储器2) 微指令寄存器 µIR 功能: 存放现行微指令微命令字段: 提供某一步操作所需的微命令微地址字段:指明后续微地址的形成方式 提供微地址的给定部分(微操作控制字段)(顺序控制字段)微地址 形成电路IRPSWPC微地址寄存器µAR控制存储器CM译码器微命令序列微命令字段 微地址字段µIR微地址 形成电路IRPSWPC微地址寄存器µAR控制存储器CM译码器微命令序列微命令字段 微地址字段µIR(3) 微地址形成电路 功能: 提供两种类型的微地址微程序入口地址: 由机器指令操作码形成 后续微地址: 由微地址字段、现行微地址、运 行状态等形成3、工作过程(1) 取机器指令CM取指微指令µIR微命令字段译码器微命令主存机器指令IR微地址 形成电路IRPSWPC微地址寄存器µAR控制存储器CM译码器微命令序列微命令字段 微地址字段µIR控制存储器译码器微命令字段 微地址字段微命令序列微地址 形成电路IRPSWPC微地址寄存器µAR控制存储器CM译码器微命令序列微命令字段 微地址字段µIR(2) 转微程序入口IR操作码微地址形 成电路入口µAR微命令字段CM首条微指令(3) 执行首条微指令µIRµIR译码器微命令操作部件IR微地址 形成电路微地址寄存器控制存储器微命令字段 微地址字段译码器微命令序列(4) 取后续微指令微地址字段 现行微地址 运行状态微地址形 成电路后续微地址µARCM后续微指令µIR微地址 形成电路IRPSWPC微地址寄存器µAR控制存储器CM译码器微命令序列微命令字段 微地址字段µIR微命令字段 微地址字段 PSW微地址寄存器微地址 形成电路(5) 执行后续微指令: 同(3)(6) 返回 微程序执行完, 返回CM (返回到存放取指微指令的固定单元)。
微命令字段µIR译码器微命令操作部件微程序执行过程:(1) 取机器指令IR(2) 转微程序入口取首条微指令到uIR (3) 执行首条微指令(4) 取后续微指令到uIR(5) 执行后续微指令(6) 微程序执行完, 返回CM上述过程的原理框图: CPU总线接口IR时序 线路PSW微地址形成电路机器指令1机器指令3机器指令i主存机器指令2µARNA 微命令字段微命令发生器( 微程序库CM)微命令 译码器到运算器/寄存器 /存储器部件等即:一条机器指令用若干条微指令(µInsi)来解释执行一条机器指令µIns1 µIns2 µIns3µInsk.以编码的形式存放在 CPU内的微程序库中, 执行时, 读出微指令 并通过译码形成电信 号形式的微命令 其原理类似于:一条高级语言指令编译程序机器指令1 机器指令2 机器指令i .存放在 主存中3.6.2 微指令的编码方式与微地址形成微指令的一般格式:微命令字段n . 微命令字段1 地址字段 一条微指令包含多少微命令字段? 微命令字段如何编码? 如何指明后继微指令的地址?1. 微指令的编码方式 (1) 直接控制法(不译法)微命令按位给出为1, 选用, 表示一种微命令 为0, 不选用, 不表示微命令微地址形成电路微地址寄存器微地址译码器微命令地址部分不译码, 直接作 为微操作信号垂直方向, 一条线 只表示一种微操作例. 某微指令优点:C0=0 进位初值为0 1 进位初值为1R=0 不发读命令 1 发读命令0 不发写命令 1 发写命令W=微指令中通常只有个别位采用直接控制法。
C0 R W1 1 1不需译码, 产生微命令的速度快; 信息的表示效率低缺点: 如果一条微指令命 令字段有n位, 则只能表示n种微操作2) 最短编码法对微指令命令字段的所有位(假设n位)进行编码, 可产生2n种微操作微地址译码器8位, 可产生256种微操作译码器优点: 微指令字长最短缺点: 译码级数较多, 需要较多的硬件支持 译码器一次只能输出一个微操作信号, 所 有微操作都只能串行工作, 速度很低 实际应用中很少采用3) 分段直接编译法 一条微指令分为多个微命令字段, 每一个字段 的不同编码表示不同的微命令, 即微命令由字 段编码直接给出字段1 字段2 . 字段m 译码器 . 微 操 作译码器 . 微 操 作译码器 . 微 操 作假设各字段长度分别为: k1、k2、.、km 可表示的微操作数量为:2k1 + 2k2 + . + 2km优点: 微指令长度比直接控制法短 译码器级数比最短编码法少 各字段所表示的微操作可以并行— 微命令分组原则:(1) 相容性原则 把可以在同一时刻或同一机器周期内发出的 微命令分在不同的组, 以便并行操作。
即, 同时执行时不会发生冲突例: 有三个可以在同一时刻发出的微操作命令 1、2、3分在不同字段内, 则有:译码器译码器译码器.微命令1微命令2微命令31编码 2编码 3编码 地址字段如果将1、2、3分在同一字段内, 则:(并行产生1 、 2 、 3)(串行产生1、2、3)1编码 地址字段译码器译码器产生12编码 地址字段译码器译码器产生23编码 地址字段译码器译码器产生3①③②互斥性原则:(2) 互斥性原则不能同时出现的操作, 属于串行操作互斥:同类操作中互斥的微命令放同一字段如:不能同时出现; “Ri 选择器A”和可编在同一个字段内Rj 选择器A” “读内存命令”和“写内存命令”不能同时出现;可编在同一个字段内例. 对加法器输入端进行控制微指令中设置AI字段, 控制加法器的输入选择加法器A BR、C D、ER、C D、FC D000 不发命令AI3100 F B…001 R A 010 C A010 C A 011 D B011 D B不符合相 容性原则“CA”与“D B”可以同时 操作, 但被分在了同一字段加法器A输入端的控制命令存放 AI字段, B输入端的控制命令存放BI字段 。
000 不发命令010 C A001 R A100 E A011 D AAI BI3 3AI :加法器A BR、C D、ER、C D、FC D010 C A000 不发命令010 C B100 F B001 R B011 D BBI:011 D B分段直接编译法特点: 编码较简单;一条微指令能同 时提供若干微命令, 便于并行操作,(4) 分段间接编译法例. 微命令由本字段编码和其它字段解释共同给出C A ① 设置解释位或解释字段解释位C =1 A为某类命令② 分类编译 按功能类型将微指令分类, 分别安排各类微指令 格式和字段进行编码, 并设置区分标志0 A为常数微指令CPU方式(触发器C=0或某字段=0)I/O方式(触发器C=1或某字段=1)例. C A 解释位或触发器C =1 A为CPU操作类命令 0 A为I/O操作类命令(5) 其它编码方法① 微指令译码与机器指令译码共同(复合)控制例. 机器指令寄存器号 寄存器传A微指令译码器001R1A门译码器控制信号控制信号指示R送A指明i的值R A② 微地址参与解释例. 微地址 微指令004 取指标志 变址标志 011由微地址字段的某些位来辅助解释微命令字段 的意义。
从内存读取的数据送IR控制并实现变址运算。