计算机组成与结构第5章_中央处理器.ppt
文本预览下载声明
* * 【例】 设某16位计算机运算器框图如下图(a)所示,其中ALU为16位的加法器(高电平工作),SA、SB为16位暂存器。4个通用寄存器,其读、写控制功能见下表。 读控制 R RA0 RA1 选中 1 0 0 R0 1 0 1 R1 1 1 0 R2 1 1 1 R3 0 × × 不读 写控制 W WA0 WA1 选中 1 0 0 R0 1 0 1 R1 1 1 0 R2 1 1 1 R3 0 × × 不写 * * 控制信号说明 RA0RA1 / WA0WA1 :读写通用寄存器时,选择所读写的寄存器;? R / W:寄存器读 / 写命令; LDSA / LDSB :将数据打入SA / SB的控制信号; SB →ALU:将SB中数据送入ALU的控制信号; →ALU:传送SB的控制信号,并使加法器最低位加1; Reset:清暂存器SB为零的信号; ~:一段微程序结束,转入取机器指令的控制信号; 要求:用二进制代码写出如下指令的微程序: “ADD R0,R1”指令,即(R0)+(R1)→R1 “SUB R2,R3”指令,即(R3)-(R2)→R3 “MOV R2,R3”指令,即(R2)→(R3) 【例】微指令字长12位,微指令格式如下所示(未考虑顺序控制字段)。 WA1 RA1 RA0 WA0 R W LDSA LDSB SB→ALU SB→ALU Reset ~? SB * * 【例】解答 三条指令的微指令的微程序流程图 三条指令的微程序代码如下表: 未考虑“取指周期”和顺序控制问题,仅考虑“执行周期”; 每一个方框表示一条微指令,用数字序号标明微指令序列的顺序。 指令 微程序代码 ADD 1. 00*2. 01*3. **0101001001 SUB 4. 11*5. 10*6. **1101000101 MOV 7. 10*8. **1101001011 * * 5.4.2 微程序设计技术 微命令编码 微地址的形成方法 微指令格式 动态微程序设计 * * 1、微命令编码 微指令中操作控制字段的编码表示方法,以及如何把编码翻译成相应的微指令。 微命令编码主要考虑的问题: 如何有效缩短微指令字长; 如何有利于缩短微程序,减少所需的控存空间; 如何有利于提高微程序执行速度; 微命令编码表示方法 直接表示法、编码表示法、混合表示法 * * 直接表示法 操作控制字段中的每一位代表一个微命令; 优点 简单直观,其输出可直接用于控制,执行速度快; 缺点 微指令字较长,因而使控制存储器容量较大。 . . . . . . . . . . . . . . . . . . . . .. . 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 LDR1’ LDR2’ LDR3’ R1→Y R2→X R2→Y R1→X DR→X R3→Y + M - RD’ LDDR’ LDIR’ LDAR’ PC+1 P1 P2 直接地址 操作控制 顺序控制 * * 编码表示法(1/2) 编码方法 将微指令操作控制字段划分为若干个子字段; 每个子字段的所有微命令进行统一编码; 每个子字段的不同编码表示不同的微命令; 例如,某机器指令系统总共需要256个微命令 采用直接编码法 微指令的操作控制字段需256位; 采用编码表示法 若4个微命令划分一个子字段,则每个子字段可编码16个微命令; 256个微命令需16个子字段,即微指令的操作控制字段仅64位。 * * 编码表示法(2/2) 遵循原则: 把相斥的微命令划分在同一个字段中,相容的微命令划分在不同字段; 字段的划分应与数据通路结构相适应; 每个子字段应留出一个空操作状态; 每个子字段所定义的微命令不宜太多; 优点 可大大缩短微指令字长; 缺点 需要微命令译码,故微程序的执行速度稍稍减慢。 * * 2、微地址的形成方法 微程序的入口地址 微程序的第一条微指令所在控存单元的地址; 现行微指令 执行微程序过程中,当前正在执行的微指令; 现行微指令的地址称为现行微地址。 后继微指令 现行微指令执行完毕后,下一条要执行的微指令; 后继微指令的地址称为后继微地址。 微指令中确定下一条微指令地址的方法; 计数器方式、多路转移方式; * * 计数器方式 同CPU中程序计数器产生机器指令地址的方法相
显示全部