已阅读5页,还剩172页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机组成原理 第5章中央处理器 5 1CPU的组成和功能5 8流水CPU5 2指令周期5 9RISCCPU5 3时序产生器和控制方式5 10多媒体CPU5 4微程序控制器5 11CPU性能评价5 5微程序设计技术5 6硬布线控制器5 7传统CPU 5 1CPU的功能和组成 当代主流计算机所遵循的仍然是冯 诺依曼的 存储程序 程序控制 思想程序告诉计算机 应该逐步执行什么操作 在什么地方找到用来操作的数据 结果存到何处等中央处理器是控制计算机自动完成取出指令和执行指令任务的部件 它是计算机的核心部件 通常简称为CPU CentralProcessingUnit 一 CPU的功能 指令控制保证机器按程序规定的顺序取出执行 操作控制CPU产生每条指令所对应的操作信号 并把各种操作信号送往相应的部件 从而控制这些部件按指令的要求进行动作 时间控制对各种操作的实施时间进行定时 数据加工对数据进行算术运算和逻辑运算处理 5 1CPU的功能和组成 PC IR AC CU 时钟 ALU 控制信号 标志 控制信号 取指周期 ADD X PC IR CU ADD X间址周期 PC ADD X执行周期 AC ALU 地址有效 地址失效 数据稳定 高阻 静态RAM读时序 二 CPU的基本组成 控制器 完成对整个计算机系统操作的协调与指挥 1 控制机器从内存中取出一条指令 并指出下一条指令在内存中的位置 2 对指令进行译码 并产生相应的操作控制信号 送往相应的部件 启动规定的动作 3 指挥并控制CPU 内存与输入 输出 I O 设备之间数据流动的方向 5 1CPU的功能和组成 二 CPU的基本组成 5 1CPU的功能和组成 控制器 完成对整个计算机系统操作的协调与指挥 取指令 分析指令 执行指令 发出各种操作命令 控制程序输入及结果的输出 总线管理 处理异常情况和特殊请求 运算器 数据加工处理部件 所进行的全部操作由控制器发出的控制信号指挥 1 执行所有的算术运算 2 执行所有的逻辑运算 并进行逻辑测试 二 CPU的基本组成 5 1CPU的功能和组成 CPU的基本模型 即指令地址寄存器 存放当前正在执行的指令地址或下一条指令地址 指令地址形成 PC 1 PC 或 转移指令修改其内容 用以存放当前正在执行的指令 对指令寄存器中的操作码进行分析解释 产生相应的控制信号 脉冲源产生一定频率的脉冲信号作为整个机器的时钟脉冲 是机器周期和工作脉冲的基准信号 根据当前正在执行的指令的需要 产生相应的时序控制信号 三 CPU中的主要寄存器 数据缓冲寄存器 DR 暂时存放由内存读出或写入的指令或数据字指令寄存器 IR 保存当前正在执行的一条指令程序计数器 PC 确定下一条指令的地址地址寄存器 AR 保存当前CPU所访问的内存单元的地址累加寄存器 AC 最常使用的一个通用寄存器状态条件寄存器 PSW 保存由算术和逻辑指令的结果建立的各种条件码 5 1CPU的功能和组成 四 操作控制器与时序产生器 操作控制器在各寄存器之间建立数据通路 传送信息的通路 功能 就是根据指令操作码和时序信号 产生各种操作控制信号 以便正确地建立数据通路 从而完成取指令和执行指令的控制硬布线控制器微程序控制器时序产生器产生并发出计算机所需要的时序控制信号 5 1CPU的功能和组成 5 2指令周期 读取指令指令地址送入主存地址寄存器读主存 读出内容送入指定的寄存器 分析指令 按指令规定内容执行指令不同指令的操作步骤数和具体操作内容差异很大 检查有无中断请求若无 则转入下一条指令的执行过程 形成下一条指令地址 指令的执行过程 一 指令周期的基本概念 指令周期 CPU从内存取出一条指令并执行完这条指令的时间总和 CPU周期 又称机器周期 总线周期 CPU访问内存所花的时间较长 因此用CPU从内存读取一条指令字的所需的最短时间来定义 时钟周期 通常称为节拍脉冲或T周期 一个CPU周期包含若干个时钟周期T 相互关系 1个指令周期 若干个CPU周期1个CPU周期 若干T周期 取指时间 执行指令时间 指令周期 CPU周期 时钟周期 020CLA 累加器清0021ADD30 AC 30 AC022STA40 AC 40 023NOP 空操作024JMP21 21 PC 030000006 数据 040存和数 数据 5条典型指令构成的简单程序 二 指令的执行过程 1 CLA指令的指令周期 取出CLA指令 算术逻辑单元 状态条件寄存器 程序计数器PC 地址寄存器AR 地址总线ABUS 数据总线DBUS 累加器AC 缓冲寄存器DR CPU ALU 指令寄存器IR 指令译码器 操作控制器时序产生器 时钟 状态反馈 取指控制 执行控制 c c c c 1 000020 20 21 22 23 24 30 31 40 CLA ADD30 STA40 NOP JMP21 000006 000020 CLA CLA 000021 算术逻辑单元 状态条件寄存器 程序计数器PC 地址寄存器AR 地址总线ABUS 数据总线DBUS 累加器AC 缓冲寄存器DR CPU ALU 指令寄存器IR 指令译码器 操作控制器时序产生器 时钟 状态反馈 取指控制 执行控制 c c c c 1 20 21 22 23 24 30 31 40 CLA ADD30 STA40 NOP JMP21 000006 000020 CLA CLA 000021 000000 执行CLA指令 2 ADD指令的指令周期 算术逻辑单元 状态条件寄存器 程序计数器PC 地址寄存器AR 地址总线ABUS 数据总线DBUS 累加器AC 缓冲寄存器DR CPU ALU 指令寄存器IR 指令译码器 操作控制器时序产生器 时钟 状态反馈 取指控制 执行控制 c c c c 1 20 21 22 23 24 30 31 40 CLA ADD30 STA40 NOP JMP21 000006 000021 ADD ADD30 000021 000022 000030 000006 0 6 6 000006 取出并执行ADD指令 3 STA指令的指令周期 算术逻辑单元 状态条件寄存器 程序计数器PC 地址寄存器AR 地址总线ABUS 数据总线DBUS 累加器AC 缓冲寄存器DR CPU ALU 指令寄存器IR 指令译码器 操作控制器时序产生器 时钟 状态反馈 取指控制 执行控制 c c c c 1 20 21 22 23 24 30 40 CLA ADD30 STA40 NOP JMP21 000006 000022 STA STA40 000022 000023 000040 000006 000006 000006 取出并执行STA指令 4 NOP指令和JMP指令的指令周期 算术逻辑单元 状态条件寄存器 程序计数器PC 地址寄存器AR 地址总线ABUS 数据总线DBUS 累加器AC 缓冲寄存器DR ALU 指令寄存器IR 指令译码器 操作控制器时序产生器 时钟 状态反馈 取指控制 执行控制 c c c c 1 20 21 22 23 24 30 40 CLA ADD30 STA40 NOP JMP21 000006 000024 JMP21 JMP21 000024 000021 000006 000006 000025 000021 取出并执行JMP指令 公操作 一条指令执行完毕 公操作 例 如图所示为双总线结构机器的数据通路图 IR PC AR M DR R0 R1 R2 R3 X Y ALU G A总线 B总线 IRi IRo PCi PCo ARi DRi DRo R0i R0o R3i R3o Xi Yi G ADDR2 R0 R0 R2 R0要求 1 画出指令周期流程图 设该指令的地址已放入PC中 2 列出相应的微操作控制信号序列 ADDR2 R0 R0 R2 R0 IR PC AR M DR R0 R1 R2 R3 X Y ALU G A总线 B总线 IRi IRo PCi PCo ARi DRi DRo R0i R0o R3i R3o Xi Yi G IR PC AR M DR R0 R1 R2 R3 X Y ALU G A总线 B总线 IRi IRo PCi PCo ARi DRi DRo R0i R0o R3i R3o Xi Yi G IR PC AR M DR R0 R1 R2 R3 X Y ALU G A总线 B总线 IRi IRo PCi PCo ARi DRi DRo R0i R0o R3i R3o Xi Yi G IR PC AR M DR R0 R1 R2 R3 X Y ALU G A总线 B总线 IRi IRo PCi PCo ARi DRi DRo R0i R0o R3i R3o Xi Yi G IR PC AR M DR R0 R1 R2 R3 X Y ALU G A总线 B总线 IRi IRo PCi PCo ARi DRi DRo R0i R0o R3i R3o Xi Yi G IR PC AR M DR R0 R1 R2 R3 X Y ALU G A总线 B总线 IRi IRo PCi PCo ARi DRi DRo R0i R0o R3i R3o Xi Yi G IR PC AR M DR R0 R1 R2 R3 X Y ALU G A总线 B总线 IRi IRo PCi PCo ARi DRi DRo R0i R0o R3i R3o Xi Yi G IR PC AR M DR R0 R1 R2 R3 X Y ALU G A总线 B总线 IRi IRo PCi PCo ARi DRi DRo R0i R0o R3i R3o Xi Yi G IR PC AR M DR R0 R1 R2 R3 X Y ALU G A总线 B总线 IRi IRo PCi PCo ARi DRi DRo R0i R0o R3i R3o Xi Yi G IR PC AR M DR R0 R1 R2 R3 X Y ALU G A总线 B总线 IRi IRo PCi PCo ARi DRi DRo R0i R0o R3i R3o Xi Yi G IR PC AR M DR R0 R1 R2 R3 X Y ALU G A总线 B总线 IRi IRo PCi PCo ARi DRi DRo R0i R0o R3i R3o Xi Yi G IR PC AR M DR R0 R1 R2 R3 X Y ALU G A总线 B总线 IRi IRo PCi PCo ARi DRi DRo R0i R0o R3i R3o Xi Yi G 5 工作原理 例 CPU结构如图所示 其中包括一个累加寄存器AC 一个状态寄存器和其他四个寄存器 各部分之间的连线表示数据通路 箭头表示信息传送方向 标明图中四个寄存器的名称 简述取指令的数据通路 简述完成指令LDAX的数据通路 X为内存地址 LDA功能为 X AC 简述完成指令ADDY的数据通路 Y为内存地址 ADD功能为 AC Y AC 简述完成指令STAZ的数据通路 Z为内存地址 STA功能为 AC Z MDR MAR PC IR MDR MAR PC IR 5 3时序产生器和控制方式 用二进制码表示的指令和数据都放在内存里 那么CPU是怎样识别出它们是数据还是指令呢 从时间上来说 取指令事件发生在指令周期的第一个CPU周期中 即发生在 取指令 阶段 而取数据事件发生在指令周期的后面几个CPU周期中 即发生在 执行指令 阶段 从空间上来说 如果取出的代码是指令 那么一定经DR送往指令寄存器IR 如果取出的代码是数据 那么一定送往运算器 时间控制对计算机来说是非常重要的 一 时序信号的作用和体制 计算机的协调动作需要时间标志 而且需要采用多级时序体制 而时间标志则用时序信号来体现 硬布线控制器中 时序信号往往采用主状态周期 节拍电位 节拍脉冲三级体制 主状态周期 指令周期 包含若干个节拍周期 可以用一个触发器的状态持续时间来表示节拍电位 机器周期 表示一个CPU周期的时间 包含若干个节拍脉冲节拍脉冲 时钟周期 表示较小的时间单位微程序控制器中 时序信号则一般采用节拍电位 节拍脉冲二级体制 节拍脉冲 节拍电位1 主状态周期 节拍电位2 主状态周期 节拍电位 节拍脉冲 数据准备好后 以电位的方式送触发器控制信号来到后 用一个脉冲信号把数据装入触发器 数据 电位 控制信号 脉冲 节拍电位 节拍脉冲 IORQMREQRDWET1T2T3T4 IORQ MREQ RD WE T1 T2 T3 T4 MERQ IORQ RD WR 提供频率稳定且电平匹配的方波时钟脉冲信号由石英晶体振荡器组成 产生一组有序的间隔相等或不等的脉冲序列 启动 停机 二 时序信号产生器 启停控制逻辑 节拍脉冲和读写时序译码逻辑 环形脉冲发生器 时钟脉冲源 三 控制方式 控制不同操作序列时序信号的方法 1 同步控制方式已定的指令在执行时所需的CPU周期 机器周期 数和时钟周期数都固定不变 例如采用完全统一的机器周期执行各种不同的指令2 异步控制方式控制器发出某一操作控制信号后 等待执行部件完成操作后发 回答 信号 再开始新的操作3 联合控制方式同步控制和异步控制相结合的方式 CPU周期取指周期 CPU周期取源数 CPU周期取目标数 CPU周期执行周期 P0 P1 P2 W0 W1 完全同步控制方式 W0 W1 Wi 第N条指令 结束应答 W0 W1 Wj 第N 1条指令 结束应答 启动下一条 W0 W1 Wk 第N 2条指令 结束应答 异步控制方式 启动下一条 i j k不一定相等 一般采用两条定时控制线 请求 线和 回答 线 演示 控制器的功能就是按每条指令的要求产生所需的控制信号 因此在设计控制器时要求系统设计师提供一个完整的无二义性的指令系统说明书 产生控制信号一般有微程序控制和硬布线控制两种方法 5 4微程序控制器的基本工作原理 PC IR AC CU 时钟 ALU 控制信号 标志 控制信号 取指周期 以ADD X为例 PC IR CU 1 不采用CPU内部总线的方式 5 4微程序控制器的基本工作原理 一 控制信号举例 一 控制信号举例 1 不采用CPU内部总线的方式 ADD X间址周期 一 控制信号举例 1 不采用CPU内部总线的方式 ADD X执行周期 AC ALU 1 ADD X取指周期 PC MDR OP IR 控制信号 控制信号 2 采用CPU内部总线方式 MAR MDR IR CU 2 ADD X间址周期 MDR MDR MDR IR MAR 3 ADD X执行周期 MDR Z AC AC Y MAR MDR Y ALU AC Z ALU 一 控制信号举例 例 一条加法指令的执行过程 rs rd rs1为通用寄存器地址 imm 或disp 为立即数 或位移量 加法指令功能 rs rs1 disp rd 取指令 计算地址 取数 运算送结果 划分机器周期的原则 总线不冲突 一 控制信号举例 指令格式 取指令 计算地址 取数 运算送结果 2 计算地址微指令 取两个源操作数 计算地址用 rsl GR 8 rsl ALU 10 disp ALU 4 加法运算 13 有效地址送地址寄存器 ALU AR 19 取指令 计算地址 取数 运算送结果 计算地址rsl GR rsl ALU disp ALU ALU AR 取指令 计算地址 取数 运算送结果 4 加法运算和送结果微指令 两源操作数送ALU rs GR 9 rs ALU 11 DR ALU 12 加法运算 13 送结果 ALU GR 17 取指令 计算地址 取数 运算送结果 运算送结果 rs GR rs ALUDR ALU ALU GR置N Z V C 5 4微程序控制器的基本工作原理 微程序控制的基本思想就是把操作控制信号编成谓的 微指令 存放到一个只读存储器里 控制存储器CM 当机器运行时 一条又一条地读出这些微指令 从而产生全机所需要的各种操作控制信号 是相应部件执行所规定的操作 二 微程序控制的基本概念 处理器内部可以分为 控制部件和执行部件微命令 控制部件向执行部件发出的控制命令微操作 执行部件接受微命令后所进行的操作 微操作在执行部件中是最基本的操作 微指令 实现一定操作功能的一组微命令微程序 实现一条机器指令功能的微指令序列 指令系统 所有指令 指令 微程序微程序 若干微指令 微指令 一组微命令微命令 微操作 二 微程序控制的基本概念 微操作 相容性 相斥性 在同时或同一个CPU周期内可以并行执行的微操作 不能在同时或不能在同一个CPU周期内并行执行的微操作 4 6 8相斥性 5 7 9相斥性 1 2 3相容性 4 6 8和5 7 9的任意两个微操作为相容性 微指令 操作控制 顺序控制 LDR1 LDR2 LDR3 R1 X R1 Y R2 X R2 Y DR X R3 Y M RD LDDR LDIR LDAR LDIR LDAR PC 1 P1 P2 直接地址 机器指令与微指令 程序 机器指令1 机器指令2 机器指令i 机器指令n 微指令2 微指令1 微指令i 微指令n 微程序 程序计数器PC 地址寄存器AR 缓冲寄存器DR 指令寄存器IR 微地址寄存器 AR 微指令寄存器 IR 主存储器 控制存储器CM 微命令 地址译码器 地址译码 机器指令级 微指令级 顺序逻辑 CMAR 地址译码 至CPU内部和系统总线的控制信号 三 微程序控制器的基本原理 1 控制信号 2 控制信号的产生 微指令最简单的组成形式 将每个控制信号用一个控制位来表示 当该位为 1 时 定义为有控制信号 当该位为 0 时 没有控制信号 控制存储器容量为4K字 则每条微指令还需要12位来表示下址 控制存储器的容量取决于实现指令系统所需的微程序长度 下图为加法指令的四条微指令编码 每一小格表示一位 二进制 空格表示0 第24位到第35位为下址 假设四条微指令的地址如下 取指微指令 1000Q计算有效地址微指令 1001Q取数微指令 1002Q计算并存数微指令 1003Q 2 计算地址微指令 取两个源操作数 计算地址用 rsl GR 8 rsl ALU 10 disp ALU 4 加法运算 13 有效地址送地址寄存器 ALU AR 19 4 加法运算和送结果微指令 两源操作数送ALU rs GR 9 rs ALU 11 DR ALU 12 加法运算 13 送结果 ALU GR 17 3 微程序的流程图表示 方框 表示微指令 右下角的数字 表示下址 上方的数字 微指令的地址 顺序逻辑 CMAR 地址译码 至CPU内部和系统总线的控制信号 4 微程序控制器的基本框图 5 工作原理 1 取指阶段 由CMDR发命令 形成下条微指令地址 由CMDR发命令 由CMDR发命令 M 1 M 2 形成下条微指令地址 执行取指微程序 5 工作原理 2 执行阶段 由CMDR发命令 由CMDR发命令 由CMDR发命令 执行LDA微程序 形成下条微指令地址P 1 形成下条微指令地址P 2 形成下条微指令地址M 3 取指阶段 由CMDR发命令 全部微指令存在CM中 程序执行过程中只需读出 关键 微指令的操作控制字段如何形成微操作命令 微指令的后继地址如何形成 执行取指微程序 5 4微程序控制器的基本工作原理 四 机器周期与微指令周期的关系 微指令周期 机器周期 机器周期 机器周期 执行微指令 微指令周期 读微指令 三 微程序控制器的基本原理 5 4微程序控制器的基本工作原理 6 微程序举例 例 十进制加法 操作控制 顺序控制 LDR1 LDR2 LDR3 R1 X R1 Y R2 X R2 Y DR X R3 Y M RD LDDR LDIR LDAR LDIR LDAR PC 1 P1 P2 直接地址 6 微程序举例 操作码的判别测试 Cy的判别测试 LDR1 LDR2 LDR3 R1 X R1 Y R2 X R2 Y DR X R3 Y M RD LDDR LDIR LDAR LDIR LDAR PC 1 P1 P2 直接地址 6 微程序举例 LDR1 LDR2 LDR3 R1 X R1 Y R2 X R2 Y DR X R3 Y M RD LDDR LDIR LDAR LDIR LDAR PC 1 P1 P2 直接地址 6 微程序举例 LDR1 LDR2 LDR3 R1 X R1 Y R2 X R2 Y DR X R3 Y M RD LDDR LDIR LDAR LDIR LDAR PC 1 P1 P2 直接地址 6 微程序举例 在实际进行微程序设计时 要考虑下面三个问题 1 如何缩短微指令字长 2 如何减少微程序长度 3 如何提高微程序的执行速度 5 5微程序设计技术 1 直接控制法 不译码法 操作控制字段中的每一位代表一个微命令 1 有效 0 无效 5 5微程序设计技术 一 微指令的编码方式 控制方式 优点 简单直观 输出直接用于控制缺点 微指令字较长 因而使控制存储器容量较大 速度最快 微周期 是一条微指令所需的执行时间 如果有若干个 一组 微命令 在每次选择使用它们的微周期内 只有一个微命令起作用 那么这若干个微命令是互斥的 选择互斥的微命令入同组分组编码 用微命令译码器译码控制 2 字段直接编译法 使用较普遍 将微指令的控制字段分成若干 段 每段经译码后发出控制信号 每个字段中的命令是互斥的 缩短了微指令字长 增加了译码时间 微程序执行速度较慢 一 微指令的编码方式 控制方式 例 字段长度为3位时 最多只能表示7个互斥的微命令 通常代码000表示不发微命令 字段长度n与所能表示的微命令数m的关系 m 2n 1优点 缩短了微指令长度 代价 在微指令寄存器的输出端 为该字段增加一个译码器 该译码器的输出即为原来的微命令 2 字段直接编译法 使用较普遍 一 微指令的编码方式 控制方式 例 已知微程序流程图如图所示 其中每一个框代表一条微指令 a b c d e f g h i j代表10个微命令 为a b c d e f g h i j1O个微命令设计格式并安排编码 3 字段间接编译法如果在字段直接编译法中 还规定一个字段的某些微命令 要兼由另一字段中的某些微命令来解释 称为字段间接编译法 优点 进一步减少了指令长度 缺点 削弱微指令的并行控制能力 A受B控制 B发b1微命令时 字段A发出a1 1 a7 1中的一个微命令 B发b2微命令时 字段A发出a1 2 a7 2中的一个微命令 一 微指令的编码方式 控制方式 规则 常用控制信号采用直接编码法将互斥的信号作为一组编码产生 一 微指令的编码方式 控制方式 5 5微程序设计技术 二 微程序流的控制 5 5微程序设计技术 微程序流的控制是指当前微指令执完毕后 怎样控制产生后继微指令的微地址 产生后继指令地址的两种方法 由指令操作码译码器产生后继微地址 由微指令的下址字段指出后继微地址 二 微程序流的控制 现行微指令 当前正在执行的微指令 现行微地址 现行微指令所在的控制存储器单元的地址 后继微指令 下一条要执行的微指令 后继微地址 后继微指令所在的控制存储器单元地址 微程序控制 当前微指令执行完毕后 产生后继微指令的微地址的方法 5 5微程序设计技术 1 基本概念 2 产生后继微指令地址的几种方法 1 以增量方式产生后继微地址 A 微程序入口 首条微指令 由专门硬件电路产生B 顺序执行 后继微地址 现行微地址 1C 转移 后继微地址 现行微地址 转移条件译码 相对转移量 D 由操作码产生后继地址 2 产生后继微指令地址的几种方法 1 以增量方式产生后继微地址 A 微程序入口 首条微指令 由专门硬件电路产生B 顺序执行 后继微地址 现行微地址 1C 转移 后继微地址 现行微地址 转移条件译码 相对转移量 D 由操作码产生后继地址 2 产生后继微指令地址的几种方法 1 以增量方式产生后继微地址 A 微程序入口 首条微指令 由专门硬件电路产生B 顺序执行 后继微地址 现行微地址 1C 转移 后继微地址 现行微地址 转移条件译码 相对转移量 D 由操作码产生后继地址 2 产生后继微指令地址的几种方法 1 以增量方式产生后继微地址 优点 可使微指令的下址字段很短 仅起选择作用 缺点 微程序转移很不灵活 使得微程序在控存中的物理空间分配相当困难 在图中 PC兼作控制存储器的地址寄存器 输入有四个来源 下址字段仅有两位 其功能是选择三个输入源中的一个作为 PC的输入 微程序入口是由专门的硬件产生的 不受下址字段控制 2 增量与下址字段结合产生后继微地址 微指令的下址字段分成两部分 转移控制字段BCF和转移地址字段BAF BCF控制转移条件 BAF控制转移的目标地址 当条件成立时 微程序要转移 将BAF送 PC 否则顺序执行下一条微指令 PC 1 执行微程序条件转移时 决定转移与否的硬件条件有好几种 由BCF定义的八个微命令 BCF 0 顺序执行微命令 PC 1为后继微地址 BCF 1 条件转移微命令 当运算结果为0时 将BAF送 PC 否则 PC l PC BCF 2 条件转移微命令 当运算结果溢出时 将BAF送 PC 否则 PC 1 PC BCF 3 无条件转移微命令 将BAF送 PC BCF 4 测试循环微命令 假如CT 0 表示需要继续执行循环微命令 将循环入口微地址从BAF送 PC 假如CT 0 表示循环结束 后继微地址为 PC 1 本条微命令同时完成CT 1操作 BCF 5 转微子程序微命令 把微子程序人口地址从BAF送 PC 从而实现转移 在转移之前要把该条微指令的下一地址 PC 1 送入返回寄存器RR之中 BCF 6 返回微命令 把RR中的返回微地址送入 PC 从而实现从微子程序返回到原来的微程序 BCF 7 操作码产生后继微地址的微命令 这是取指后 按现行指令执行的第一条微指令 BCF字段 3位 编码 产生后继微地址的微命令 BCF字段 编码 微命令名称 硬件条件 计数器CT 操作前 操作 返回寄存器RR输入 后继微地址 4 测试循环 PC 1 BAF 5 为0 不为0 CT 1 PC 1 BAF 转子微程序 6 返回 RR 7 操作码形成微址 由操作码形成 产生后继微地址的微命令 BAF的长度有两种情况 与 PC的位数相等 可以从控制存储器的任一单元取微指令 特点 转移灵活 但增加了微指令的长度 比 PC短 考虑到转移点在 PC附近 或者在控制存储器的某区域内 所以由原来的 PC的若干位与BAF组合成转移微地址 特点 转移地址受到限制 但可缩短微指令长度 2 增量与下址字段结合产生后继微地址 3 多路转移方式一条微指令存在多个转移分支的情况称为多路转移 后继微地址的产生条件 运算结果所置的标志位N Z V C等 计数器状态 通据通路状态 例 根据某些硬件状态来决定后继微地址 根据一种状态 非0即1 来决定微地址可以有两种情况 即两路转移 而根据两种状态来决定微地址可以有四种情况 即四路转移 四路转移涉及微地址的两位 一般就定在微地址的最后两位 也就是说当执行转移微指令时 根据条件可转移到四个微地址中的一个 这四个微地址的高位部分相等 仅是最低两位不同 优点 实现多路转移可减少微程序的长度 例 微地址寄存器有6位 MA5 MA0 当需要修改内容时 可通过某一位触发器的强置端S将其置 1 现有三种情况 1 执行 取指 微指令后 微程序按IR的OP字段 IR3一IR0 进行24 16路分支 2 执行条件转移指令时 按进位标志C的状态进行2路分支 3 执行控制指令微程序时 IR4 IR5的状态进行22 4路分支 请按多路转移法设计微程序转移逻辑 微程序有三种判别测试 分别为P1 P2 P3 1 用Pl和IR3 IR0修改MA3 MA0 2 用P2和C修改MA0 3 用P3和IR5 IR4修改MA5 MA4 4 考虑时间因素 在一个CPU周期的T4时进行修改即可得到转移逻辑表达式 4 微中断微中断与程序中断的概念相似 当某一条件满足时 发出微中断请求信号 CPU在完成现行指令的微程序后响应该中断请求 进入微中断处理程序 该微程序的入口地址 硬件产生 即为刚刚执行的微程序的后继微地址 设计人员在进行微程序设计时 已安排好微中断处理程序在控制存储器的位置 因此该微程序段的入口地址是已知的 当CPU响应微中断请求时 由硬件产生微中断程序的入口地址 当中断处理完毕后 再返回到原来被中断的程序 这也是产生后继微地址的一种情况 例 微程序流程图 用下址字段法安排微地址 P2P1P0 000时为顺序控制 分支地址修改方案设计如下 三 微指令的格式微指令的格式大体上可分成两类 水平型微指令和垂直型微指令 1 水平型微指令特点 在一条微指令中定义并执行多个并行操作微命令 一般格式为 控制字段 判别测试字段 下地址字段 在实际应用中 直接控制法 字段编译法 直接 间接编译法 经常应用在同一条水平型微指令中 从速度来看 直接控制法最快 字段编译法要经过译码 所以会增加一些延迟时间 2 垂直型微指令 在微指令中设置有微操作码字段 采用微操作码编译法 由微操作码规定微指令的功能 称为垂直型微指令 特点 不强调实现微指令的并行控制功能 通常一条微指令只要求能控制实现一二种操作 这种微指令格式与指令相似 每条指令有一个操作码 每条微指令有一个微操作码 微指令的格式 例 指令字长16位 微操作码3位 有八条微指令如下 3 水平型微指令与垂直型微指令的比较 1 并行性 效率和灵活性 水平好 垂直差 2 指令执行时间 水平短 垂直长 3 水平 微指令字长 微程序短 垂直 微指令字短 微程序长 4 用户使用 水平难 垂直易 例 某机采用微程序控制方式 微指令字长24位 水平型编码控制的微指令格式 断定方式 共有微命令30个 构成4个相斥类 各包含5个 8个 14个和3个微命令 外部条件共3个 控制存储器的容量应为多少 设计出微指令的具体格式 3 4 4 2 2 15地址位数 24 15 9容量 512 24 四 微程序控制存储器和动态微程序设计 1 微程序控制存储器存储介质类型 RAM ROM EPROM等 2 动态微程序设计能够根据用户的要求来改变微程序的设计称动态微程序设计 用于动态微程序设计的控制存储器称为可写控制存储器 WCS 或用户控制存储器 UCS 3 控制存储器的操作执行一条微指令包括 取微指令和执行微指令操作 根据这两步是串行还是并行进行而具有下述的两种方式 执行一条微指令所需要的时间称为微周期 在串行方式下微周期的安排如下 1 串行方式 a 原理图 3 控制存储器的操作 1 串行方式 b 时序图 3 控制存储器的操作 1 串行方式 2 并行方式将执行本条微指令的功能与取下一条微指令的操作在时间上重叠起来 因为两种操作是在不同的部件中完成的 控存地址寄存器 微指令寄存器 a 原理图 控制字段 下址 流水线寄存器 3 控制存储器的操作 2 并行方式 b 执行微指令时 先将微指令送入 IR 2 并行方式 4 毫微程序设计的基本概念 第二级采用水平微程序 由第一级调用 本身具有并行操作控制的能力但不含下址 可以被第一级重复调用 每条毫微指令各不相同 1 毫微程序 用来解释微程序的微程序 毫微指令 解释微指令的微指令 其主要目的是为了减少控制存储器的容量 2 设计方法 采用两级法 第一级采用垂直微程序 主要功能是简单分类和下址的确定 该级很容易实现微程序设计的自动化 其控制存储器的主要特点是字短 特点 控制存储器字数较少 但每个字的长度较长 垂直微指令寄存器 转移地址 地址 5 微程序设计语言 微程序设计语言 设计者或其他用户用来编制微序的语言 源微程序 用微程序设计语言编制的程序 微编译程序 将源微程序编译成二进制码的程序 注意 汇编语言与微汇编语言的相同点与不同点 例 某32位机共有微操作控制信号52个 构成5个相斥类的微命令组 各组分别包含4个 5个 8个 15个和20个微命令 可判定的外部条件有CY和ZF两个 微指令字长30位 1 给出采用断定方式的水平型微指令格式 2 控制存储器的容量应为多少位 下一地址字段的长度为30 3 3 4 4 5 2 9位 表示控制存储器的容量为29 因此控存容量为29 30 512 30 位 例 某机的微指令格式中有10个分离的控制字段C0 C9 每个字段Ci其中可激活Ni个微操作中的某一个 每个字段Ci中Ni的定义为 1 为表示这10个控制字段至少需要多少控制位 2 如果各字段都采用纯水平编码格式 需要的最大控制位数是多少 1 34位 2 5 6硬布线控制器 硬布线控制器把控制部件看作为产生专门固定时序控制信号的逻辑电路 以使用最少元件和取得最高操作速度为设计目标 硬布线控制的优点 速度较快 缺点 不容易修改添加新功能微程序控制的优点 具有规整性 灵活性 可维护性等 缺点 采用存储程序原理 需要执行多条微指令 速度较慢 通过逻辑电路直接连线而产生的 所以又称为组合逻辑控制方式 至于控制器的其他组成部分 诸如时钟 启停电路 程序计数器 指令寄存器以及电路配合问题等等 则不因控制方式而异 5 6硬布线控制器 硬布线控制方式 一 时序与节拍 一条指令的实现可分成 取指 计算地址 取数及执行等几个步骤 在微程序控制方式中 每一步由一条微指令实现 而硬布线控制方式则由指令的操作码直接控制并产生实现上述各步骤所需的控制信号 一条指令的每一步由一个机器周期实现 如何区分一条指令的四个机器周期呢 5 6硬布线控制器 一 时序与节拍 方法有两种 方法1 两位计数器的译码输出产生的四个状态来表示当前所处的机器周期 方法2 用四位触发器来分别表示四个周期 当机器处于某一周期时 相应的触发器处于 1 状态 而其余三个触发器则处于 0 状态 四位移位寄存器即可实现此功能 5 6硬布线控制器 两位计数器 译码输出4位 由于每条指令的功能不同 机器周期数和长短有所不同 计数器或移位寄存器的工作时序发生变化的规律与指令有关 A指令需4个机器周期 B指令需3个机器周期 根据逻辑表达式画出逻辑图如下 二 操作控制信号的产生 1 操作码译码器指令 操作码 地址码在机器内设置一个指令译码器输入 操作码输出 反映出当前正在执行的指令 由译码器的输出和机器周期状态cyl cy4作为输入 使用逻辑电路产生操作控制信号 7位OP 以加法指令为例 假设一条加法指令的功能是由四个机器周期cyl cy4完成的 分别为取指 计算有效地址 取操作数 进行加法运算并送结果 2 操作控制信号的产生 2 在计算地址周期cy2 列出逻辑表达式rsl GR 加法指令 cy2 rsl ALU 加法指令 cy2disp ALU 加法指令 cy2 加法指令 cy2ALU AR 加法指令 cy2 对每一条指令都进行同样的分析 得出逻辑表达式 4 加法运算和送结果取数周期cy4rs GR 加法指令 cy4 rs ALU 加法指令 cy4DR ALU 加法指令 cy4 加法指令 cy4ALU GR 加法指令 cy4 1 取指周期cy1的信号对所有指令均相同 主要结论 2 同一控制信号可能在多个指令中运用 如 加法指令 cy2 加法指令 cy4 减法指令 cy2 转移指令 cy2 3 同种类型的指令所需要的控制信号大部分相同 如 所有的算术逻辑运算指令仅在ALU的操作命令及是否置状态位上不同 其他均完全相同 4 在确定指令操作码时 要认真做好分类 三 控制器的组成 四 硬布线控制逻辑设计中的若干问题 设计步骤 1 指令操作码的代码分配主要目标 简化控制部分的电路 减少延迟时间 主要难点 1 CISC不定长操作码的译码困难 2 为后续升级系统预留指令位置困难 2 确定机器周期 节拍与主频保证大部分指令在一个周期内完成 部分指令通过如 ready 信号等方式来增加机器周期来完成 3 根据指令功能 确定每一条指令所需的机器周期数以及每一周期所完成的操作 如 加法指令 cy2 cy4 减法指令 cy2 转移指令 cy2 读 cy1 加法指令 cy3 减法指令 cy3 如 乘法采用加法与移位操作 每位执行一个周期等方法 4 综合所有指令的每一个操作命令 写出逻辑表达式 并化简 四 硬布线控制逻辑设计中的若干问题 设计步骤 五 硬布线控制与微程序控制的比较 实现微程序控制通过控制存储器内的代码来实现 调试 修改方便 硬布线控制通过组合电路实现 调试 修改复杂 2 性能微程序控制速度较慢 硬布线控制速度很快 主要用于高速和RISC机器中 传统CPU举例 Intel8088CPUIntel8088是一种通用的准16位微处理器 其内部结构为16位 与外部交换的数据为8位 它可以处理16位数据 具有16位运算指令 包括乘除法指令 也可处理8位数据 它有20条地址线 直接寻址能力达到1M字节 CPU从功能上来说分成总线接口单元BIU和执行单元EU两大部分 BIU负责与存储器和外围设备接口 即8088CPU与存储器和外围设备之间的信息传送 都是由BIU进行的 EU部分负责指令的执行 取指部分与执行指令部分是独立并行工作的 在一条指令的执行过程中 可取出下一条 或多条 指令 在指令流队列寄存器中排队 在一条指令执行完以后就可以立即执行下一条指令 减少了CPU为取指令而等待的时间 提高了系统的运行速度 5 8流水CPU 洗衣房的流水作业三个阶段 1 水洗 30 2 烘干 40 3 熨烫 20 演示 一 流水CPU的结构 指令流水线IF InstructionFetch 取指令阶段ID InstructionDecode 指令译码阶段EX Execute 执行运算阶段WB WriteBack 写回结果阶段 WB 二 流水线的时空图 流水线技术 把一个重复的过程分解为若干个子过程 每个子程序可以与其他子过程同时进行描述流水线的工作 最常用的方法是时间 空间图 时空图 横坐标 表示时间 即各个任务在流水线中所经过的时间纵坐标 表示空间 即流水线的各个子过程 也称为级 段 流水线深度 Stage 非流水计算机的时空图 每4个机器周期才有一个输出结果 流水计算机的时空图 每个机器周期可以输出一个结果 三 流水线的特点 流水线实际上是把一个功能部件分解成多个独立的子功能部件 一个任务也就分成了几个子任务 每个子任务由一个子功能部件完成 并依靠多个子功能部件并行工作来缩短所有任务的执行时间流水线有助于提高整个程序 所有任务 的吞吐率 但并没有减少每个指令 任务 的执行时间流水线各个功能段所需时间应尽量相等 否则 时间长的功能段将成为流水线的 瓶颈 会造成流水线的 阻塞 Stall 流水线开始需要 通过时间 Fill 和最后需要 排空时间 Drain 流水线只有处理连续不断的任务才能发挥其效
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年某物业国企单位招聘外包制人员备考题库及答案详解一套
- 北京大学2026年度应届毕业生公开招聘备考题库(一)参考答案详解
- 兴山县2026年“招才兴业”事业单位人才引进公开招聘备考题库华中农业大学站有答案详解
- 2026年新乡市诚城卓人学校教师招聘备考题库完整答案详解
- 企业质量管理体系制度
- 2026年西安鑫垚陶瓷复合材料股份有限公司招聘备考题库及一套参考答案详解
- 2026年衡东县城乡发展投资集团有限公司公开招聘工作人员21人备考题库及一套参考答案详解
- 天水公开招聘2026届协议培养师范毕业生141人备考题库及参考答案详解1套
- 2026年青海两弹一星干部学院招聘备考题库及答案详解一套
- 2026年韶关学院招聘备考题库附答案详解
- 2026届北京东城55中高一数学第一学期期末质量检测试题含解析
- 2026年辽宁医药职业学院单招职业技能考试参考题库附答案详解
- 金瓶梅课件教学
- 杭州民乐团管理制度
- 校外配餐入校管理制度
- 寺庙信息服务管理制度
- 交通运输信息化标准体系
- 财务合规审查实施方案计划
- 移动通信基站设备安装培训教材
- 2024-2025学年云南省昆明市盘龙区高二(上)期末数学试卷(含答案)
- 临床成人失禁相关性皮炎的预防与护理团体标准解读
评论
0/150
提交评论