《第四章计算机原理(4.5).pdf》由会员分享,可在线阅读,更多相关《第四章计算机原理(4.5).pdf(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第四章 第五节 (1) 微程序控制器的基本思想 COMPUTER PRINCIPLE 1. 组合逻辑控制器 vs 微程序控制器 假设有一条开电视指令OnTV,它有两个微操作 插上电源插头 按下电源开关 OnTv T1 OnTv T2 CM 1 0 0 1 组合逻辑微程序 将微操作用微指令表示,固化在特定的存储 器(CM)中。为每条机器指令编制一个微程序。 执行该微程序,完成该机器指令的执行。 COMPUTER PRINCIPLE 1. 组合逻辑控制器 vs 微程序控制器 微程序控制器的基本思想 仿照程序设计的方法,编制每条指令所对应的微程序 COMPUTER PRINCIPLE 1. 组合逻辑
2、控制器 vs 微程序控制器 微程序控制器的基本思想 仿照程序设计的方法,编制每条指令所对应的微程序 每个微程序由若干条微指令构成,一条微指令包含若干位微命令 一条微指令相当于一个状态,微命令就是状态中的控制信号 0 1 2 n-2 n-1 微指令微指令 PC复位复位 PC+1 IR送送PC COMPUTER PRINCIPLE 1. 组合逻辑控制器 vs 微程序控制器 微程序控制器的基本思想 仿照程序设计的方法,编制每条指令所对应的微程序 每个微程序由若干条微指令构成,一条微指令包含若干位微命令 一条微指令相当于一个状态,微命令就是状态中的控制信号 所有微程序放在一个只读存储器中,执行某条指令
3、时,取出对应微程序中的 各条微指令,对微指令译码产生对应的微命令,这些微命令就是控制信号 0 1 2 n-2 n-1 微指令微指令 PC复位复位 PC+1 IR送送PC COMPUTER PRINCIPLE 1. 组合逻辑控制器 vs 微程序控制器 微程序控制器的基本思想 仿照程序设计的方法,编制每条指令所对应的微程序 每个微程序由若干条微指令构成,一条微指令包含若干位微命令 一条微指令相当于一个状态,微命令就是状态中的控制信号 所有微程序放在一个只读存储器中,执行某条指令时,取出对应微程序中的 各条微指令,对微指令译码产生对应的微命令,这个微命令就是控制信号 这个只读存储器称为控制存储器(C
4、ontrol Memory),简称控存 0 1 2 n-2 n-1 微指令微指令 PC复位复位 PC+1 IR送送PC COMPUTER PRINCIPLE 1. 组合逻辑控制器 vs 微程序控制器 微程序控制器的基本思想 仿照程序设计的方法,编制每条指令所对应的微程序 每个微程序由若干条微指令构成,一条微指令包含若干位微命令 一条微指令相当于一个状态,微命令就是状态中的控制信号 所有微程序放在一个只读存储器中,执行某条指令时,取出对应微程序中的 各条微指令,对微指令译码产生对应的微命令,这个微命令就是控制信号 这个只读存储器称为控制存储器(Control Memory),简称控存 微程序控制
5、器的特点 具有规整性、可维性和灵活性,但速度慢 0 1 2 n-2 n-1 微指令微指令 PC复位复位 PC+1 IR送送PC COMPUTER PRINCIPLE 2. 基本概念 微指令 将机器指令执行的微操作序列中能够一个节拍内同时完成的微操作,用控制位 构成的二进制代码串来表示 指令的执行 微指令的序列 1 0 0 1 微指令 微指令 COMPUTER PRINCIPLE 2. 基本概念 微指令 将机器指令执行微操作序列中一个节拍内同时完成的微操作用控制位构成的二 进制代码串来表示 指令的执行 微指令的序列 微程序 实现一条指令功能的许多条微指令组成的序列 微指令序列 微程序 一条指令对
6、应一段微程序 1 0 0 1 微指令 微指令 微程序 COMPUTER PRINCIPLE 2. 基本概念 微指令 将机器指令执行微操作序列中一个节拍内同时完成的微操作用控制位构成的二 进制代码串来表示 指令的执行 微指令的序列 微程序 实现一条指令功能的许多条微指令组成的序列 微指令序列 微程序 一条指令对应一段微程序 控制存储器 存放微程序的存储器 将所有指令对应的微程序保存在该存储器中 控制存储器 1 0 0 1 微指令 微指令 微程序 COMPUTER PRINCIPLE 2. 基本概念 微命令 控制部件通过控制线向执行部件发出的各种控制命令 控制部件执行部件 控制线 反馈线 控制部件
7、与执行部件通过控制线和反馈信息进行联系 1 0 0 1 微命令 COMPUTER PRINCIPLE 2. 基本概念 微命令 微操作的控制信号 控制部件通过控制线向执行部件发出的各种控制命令 微操作 执行部件接受微命令后所进行的最基本操作 控制部件执行部件 控制线 反馈线 控制部件与执行部件通过控制线和反馈信息进行联系 1 0 0 1 微命令 微操作 COMPUTER PRINCIPLE 2. 基本概念 微指令周期 微指令:在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合 指从控制存储器读取一条微指令并执行完相应的微操作所需要的时间 时间一般是固定的 和指令周期的区别:指令周期时间
8、可以变化 微程序控制的重要指标 第四章 第五节 (2) Wilkes模型 COMPUTER PRINCIPLE 1951年,M.V. Wilkes提出了微程序的概念 是一种控制器设计的系统化方法 给计算机控制器部件的设计和实现技术带来巨大的影响 1953年,Wilkes给出了微程序工作模型,称为Wilkes模型 1965年,IBM 360首先成功地运用了微程序技术 第一次提出了系列计算机的概念:系列具有大、中、小型计算机 不同型号的机器在程序指令的层面上是互相兼容的 COMPUTER PRINCIPLE 第三代计算机的里程碑IBM system/360-1964年 最早使用半导体元件的通用计算
9、机系列 COMPUTER PRINCIPLE 微 地 址 译 码 器 微地址寄存器II(CMAR) 微地址寄存器I(FCMAR) IR 条件码 传送控制 时钟 S 控制存储器CM 控制信号字段微地址码字段 微指令寄存器 IR 微操作控制信号 下条微指令地址 COMPUTER PRINCIPLE 微程序控制器:采用上述方法设计的控制器 用软件的程序设计方法来设计硬件。 速度慢。 COMPUTER PRINCIPLE 微程序控制器:采用上述方法设计的控制器 遵照Wilkes模型描述的原理来阐述微程序控制器的构成 IR 微程序顺序控 制逻辑C 访问地址 FCMAR 控制存储器 控 制 信 号 字 段
10、 微 地 址 码 字 段 微指令 基本格式 微指令地址形成逻辑 根据微指令中微地址码控制信息以及机器状态 标志产生下一条微指令的地址 根据机器指令的操作码变换产生对应于该指令 的微程序入口地址 微指令寄存器 存放由控制存 储器读出的一 条微指令信息 控制存储器 存放整个指令系统的所有微程序 只读存储器 COMPUTER PRINCIPLE 微程序控制器的工作过程 控制器处理一条指令的工作过程,就是启动这条指令在控制存储器中所对 应的微程序,一条一条地执行微指令的过程 IR 微程序顺序控 制逻辑C 访问地址 FCMAR 控制存储器 控 制 信 号 字 段 微 地 址 码 字 段 取IR操作码 C
11、OMPUTER PRINCIPLE 微程序控制器的工作过程 控制器处理一条指令的工作过程,就是启动这条指令在控制存储器中所对 应的微程序,一条一条地执行微指令的过程 IR 微程序顺序控 制逻辑C 访问地址 FCMAR 控制存储器 控 制 信 号 字 段 微 地 址 码 字 段 取IR操作码 形成CM地址 COMPUTER PRINCIPLE 微程序控制器的工作过程 控制器处理一条指令的工作过程,就是启动这条指令在控制存储器中所对 应的微程序,一条一条地执行微指令的过程 IR 微程序顺序控 制逻辑C 访问地址 FCMAR 控制存储器 控 制 信 号 字 段 微 地 址 码 字 段 取IR操作码
12、形成CM地址 取微指令 COMPUTER PRINCIPLE 微程序控制器的工作过程 控制器处理一条指令的工作过程,就是启动这条指令在控制存储器中所对 应的微程序,一条一条地执行微指令的过程 IR 微程序顺序控 制逻辑C 访问地址 FCMAR 控制存储器 控 制 信 号 字 段 微 地 址 码 字 段 取IR操作码 形成CM地址 取微指令 将微地址字段发送至FCMAR COMPUTER PRINCIPLE 微程序控制器的工作过程 IR中操作码经微程序顺序控制逻辑C变换为该条指令微程序入口的微地址码 访问地址部件FCMAR选择微地址码,作为当前控制存储器的访问地址 根据地址从控制存储器读出一条微
13、指令存入微指令寄存器中,其控制信号字 段表示了当前运算器、存储器、控制器及FCMAR所需要执行的所有微操作 重复、,用微指令寄存器中地址码作为当前微地址码,直到一条指令对 应的微程序执行完毕;接着执行一段微程序取下一条指令存放在IR中,然后 返回 第四章 第五节 (3) 微程序控制器设计的关键问题 COMPUTER PRINCIPLE 1. 微程序微指令微命令微操作的关系 将机器指令的执行转换为微程序的执行 微程序是一个微指令序列 每条微指令是一串0/1序列,包含若干个微命令(即:控制信号) 每个微命令控制数据通路的执行 控制存储器(CM) 一条机器指令一段微程序 1 2 n 微指令 微指令
14、微指令 1微命令 微命令m 对应 主存(M) COMPUTER PRINCIPLE 1. 微程序微指令微命令微操作的关系 将机器指令的执行转换为微程序的执行 微程序是一个微指令序列 每条微指令是一串0/1序列,包含若干个微命令(即:控制信号) 每个微命令控制数据通路的执行 微程序执行也要解决两个问题: (1)微指令中如何对微命令编码 (2)下条微指令在哪里 控制程序执行要解决什么问题? (1)指令的编码和译码 (2)下条指令到哪里去取 COMPUTER PRINCIPLE 2. 微指令格式的设计 微指令中包含若干微命令、下条微指令地址(可选)、常数(可选) 微指令格式设计风格取决于微操作码的编
15、码方式 微操作码编码方式 不译法(直接控制法) 字段直接编码法 字段间接编码法 最短(垂直)编码法 微指令格式: OP ADD常数 OP:微操作码字段,产生微命令 ADD:微地址码字段,产生下条微指令地址 水平型微指令风格 垂直型微指令风格 COMPUTER PRINCIPLE 2. 微指令格式的设计 不译法(直接控制编码) 微命令产生不必译码,从操作控制字段直接得到,即每一个微命令用一位 信息表示 优点:并行控制能力强 ,不需译码,控制电路简单、速度快,编制的微 程序短 缺点:微指令字长,编码空间利用率低,控制存储器的容量大 适于简单、高速控制部件,比如YH-1指令流水部件 下一地址 控制信
16、号 操作控制(OCF) COMPUTER PRINCIPLE 2. 微指令格式的设计 字段直接编码 将微操作控制字段划分为若干小字段,每个小字段单独编码,每个字段表 示一种微命令,每段经译码后发出控制信号 优点:微指令分段数越多,并行控制能力越强;微指令字较短,能压缩到 不译法的1/2到1/3,节省了控存容量 缺点:增加译码电路,需开销一部分译码时间 已为大多数微程序控制的计算机所采用 译码器译码器1 控制信号组控制信号组2 OCF3 OCF2 OCF1 译码器译码器2 译码器译码器3 控制信号组控制信号组1 控制信号组控制信号组 3 3 相容微操作:能同时进行的 微操作。对应的微命令称为 相
17、容微命令。相容的微命令 分在不同字段。 互斥微操作:不能同时进行 的微操作。对应的微命令称 为互斥微命令。互斥的微命 令分在同一字段。 COMPUTER PRINCIPLE 2. 微指令格式的设计 字段间接编码 某些参与编码的微命令不能由一个控制字段直接定义,而需要两个或两个 以上的控制字段来定义。即:一个微命令字段可以表示多个微命令组,到 底代表哪一组微命令,则由另一个专门的字段来确定 优点:牺牲并行性、速度换取微指令字长的缩短,进一步节省控存容量。 (意义不大!) 缺点:译码电路复杂,时间开销大 只限于局部场合使用 字段 1 字段 2 译码译码译码 操作控制 控制信号 字段 n下地址 控制
18、信号 COMPUTER PRINCIPLE 2. 微指令格式的设计 最短编码 将所有微命令统一二进制编码,每条微指令只包含一个微命令,每次只产 生一个微操作,通过译码器产生微操作控制信号 优点:微程序规整、直观,易于编制,微指令字长短 缺点很严重(不实用!): 微程序长 硬件设备复杂,需要大量的译码电路和门电路 速度慢,每次只能产生一个微命令,难以提高微指令的执行速度 译码器译码器DEC 控制信号控制信号 SCF OCF COMPUTER PRINCIPLE 2. 微指令格式的设计 水平型微指令 内涵:相容微命令尽量多地安排在一条微指令中 优点:微指令译码简单,微指令能最大限度地表示微操作的并
19、行性,编制 的微程序短,微程序的执行速度较快,适合于较高速度的场合 缺点:微指令字较长,编码空间利用率较低,且编制最佳水平微程序难度 较大 水平型微指令是面向处理器内部控制逻辑的描述 COMPUTER PRINCIPLE 2. 微指令格式的设计 垂直型微指令 内涵:采用短格式,一条微指令只能控制一个微操作 优点:微指令字长短,编码空间利用率高,格式与机器指令类似,故编写 微程序容易 缺点:微程序长,微指令的并行微操作能力有限,微指令译码比较复杂, 速度慢 垂直型微指令是面向算法的描述 COMPUTER PRINCIPLE 2. 微指令格式的设计 例:单周期数据通路对应的微操作码 RegWrAL
20、USrc ALUctr MemWr 控制字(即:微指令)的长 度等于控制信号(微命令) 的总位数。 32 ALUctr Clk busW RegWr 32 32 busA 32 busB 555 Rw Ra Rb 32 32-bit Registers Rs Rt Rt Rd RegDst Extender Mux Mux 32 16 imm16 ALUSrc ExtOp Mux MemtoReg Clk Data In WrEn 32 Adr Data Memory 32 MemWr ALU Instruction Fetch Unit Clk Zero Jump Branch 0 1 0
21、1 01 Imm16RdRsRt Instr 采用不译法,则微操作码格式为: COMPUTER PRINCIPLE 3. 下条微地址的确定方式 什么是微程序执行顺序的控制? 在当前微指令执行完后,怎样控制产生下条微指令的地址 COMPUTER PRINCIPLE 3. 下条微地址的确定方式 什么是微程序执行顺序的控制? 在当前微指令执行完后,怎样控制产生下条微指令的地址 怎样控制微程序的执行顺序? 微指令中明显或隐含地指定下条微指令在控存中的地址 COMPUTER PRINCIPLE 3. 下条微地址的确定方式 什么是微程序执行顺序的控制? 在当前微指令执行完后,怎样控制产生下条微指令的地址
22、怎样控制微程序的执行顺序? 微指令中明显或隐含地指定下条微指令在控存中的地址 微指令地址的产生方法有两种 顺序 - 转移(计数器)法:下条微指令地址隐含在微程序计数器PC中 断定(下址字段)法:当前微指令中显式指定下条微指令地址 COMPUTER PRINCIPLE 3. 下条微地址的确定方式 当前微指令执行结束后,下条要执行的微指令有三种情况 取指微程序首址:每条指令都要先执行“取指微程序” 某机器指令对应微程序的首条微指令:当执行完取指微程序的最后一条微 指令,需根据当前指令的译码结果确定执行哪条指令所对应的微程序,然 后转移到对应微程序的首条微指令执行 某个微程序执行过程中的一条微指令,
23、又有三种情况: 顺序执行:按顺序取出下条微指令执行 无条件执行:无条件转到另一处微指令执行 分支执行:根据条件码或者指令操作码转移到不同微指令执行 COMPUTER PRINCIPLE 3. 下条微地址的确定方式 下条微指令地址形成原理图 多路选择 地址 选择 +1 CMAR 地址译码 下址字段转移方式 CMBR 控存(CM) 控制信号 分支 逻辑 标志 微子程序入口 OPIR 微地址 形成部件 COMPUTER PRINCIPLE 3. 下条微地址的确定方式 顺序-转移方式(基本思想) 用类似程序计数器PC产生当前机器指令地址的方法 设置一个微程序计数器 PC,指示当前微指令的地址 顺序执行
24、微指令时,下条微指令地址由 PC加上一个增量来产生 遇到转移时,由微指令给出转移微地址 COMPUTER PRINCIPLE 3. 下条微地址的确定方式 顺序-转移方式(微指令结构) BAF的位数决定了转移范围大小和灵活性 BCF指出转移地址的来源 由BAF确定的地址 机器指令所对应的微程序的入口地址 微子程序的返回地址 SCF mOCF BAFBCF 控制字段地址字段 转移地址字段 转移控制字 COMPUTER PRINCIPLE 3. 下条微地址的确定方式 顺序-转移方式(实例分析) 假设转移控制字段BCF为3位,用于实现顺序执行、初始转移、无条件转移、 条件转移、测试循环、转微子程序、微
25、子程序返回等7种情况,如下表所示: BCF编码顺序控制测试条件后继微地址 000顺序执行 PC + 1 001初始转移 PC OP 010无条件转移 PC和BAF的组合 011条件转移 成立 PC和BAF的组合 不成立 PC + 1 100测试循环 成立 PC + 1 不成立 PC和BAF的组合 101转微子程序 PC和BAF的组合 110微子程序返回 PC RR 111(备用) COMPUTER PRINCIPLE 3. 下条微地址的确定方式 顺序-转移方式(控制原理图) 优点:微指令中SCF字段较短,下条微地址产生机构比较简单 缺点 不利于解决两路以上的并行微程序转移,从而不利于提高微程序
26、的执行速度 微程序在CM中的物理分配不方便 OCF BAF BCF IR DEC 下条微下条微指令指令 地址地址生成网络生成网络 PC +1 OP BAF RR RR CM 外部信号外部信号 COMPUTER PRINCIPLE 3. 下条微地址的确定方式 断定方式(基本思想) 下条微地址由微程序设计者直接指定,或者由微程序设计者指定的测试判别 字段控制产生 微地址码结构:非测试地址HF 测试地址TF 微指令结构 转移的并行度 测试地址的位数确定了转移的并行度:n位为2n路转移 OCF SCF 非测试字段非测试字段HF 测试控制字段测试控制字段TCF COMPUTER PRINCIPLE 3. 下条微地址的确定方式 断定方式(基本思想) 优点:能以较短的SCF配合实现多路并行转移,提高微程序执行效率和执行速 度;微程序在CM中分配物理空间方便、灵活 缺点:下条微地址码的生成机构比较复杂 例:具有两个测试字段的微地址码产生过程 6 4 3 HF TCF1 TCF2 001000 0010 011 IR DEC 0 1 2 3 15 DEC 0 1 2 3 7 001000 CMAR 计数器CT=0进行 条件转移的微操作 进位CF=1进行条件转移 的微操作 相应微指令 具有4路并行 转移功能