




已阅读5页,还剩192页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章CPU子系统 本章介绍了CPU的基本组成 讨论了运算方法和运算器的组织 并通过一个CPU模型重点讨论CPU的数据通路结构和指令的执行过程 1 第3章CPU子系统 基本知识点 CPU的基本组成同步 异步控制方式运算方法及运算器组织组合逻辑控制器基本原理及工作方式微程序控制器基本原理及其工作方式模型机数据通路结构模型机指令流程图与操作时间表 2 第3章CPU子系统 重点 CPU基本组成与结构 进位链 定点乘法 指令流程图与操作时间表 微程序控制器基本原理 微指令格式 难点 运算器组织 定点乘法运算 指令流程图与操作时间表 微指令格式 3 第3章CPU子系统 控制器是计算机工作的指挥和控制中心 分析控制器的工作必然要涉及到计算机各个部件 因此 了解控制器的工作过程也就了解了计算机全部工作过程 学习本章内容 对于建立整机概念是至关重要的 4 第3章CPU子系统 一般地 机器指令集定义了CPU 若我们知晓机器指令集 也就知道了CPU必须完成的功能 CPU所需处理的事情 1 操作 操作码 2 寻址方式3 寄存器4 I O模块接口5 存储器模块接口6 中断处理结构 由指令集定义 由系统总线定义 部分被系统总线定义 部分被CPU类型所定义 5 第3章CPU子系统 CPU的功能 指令控制 操作控制 时间控制 数据加工 处理中断等 6 第3章CPU子系统 CPU的功能 指令控制程序的顺序控制 称为指令控制 保证机器顺序执行程序是CPU的首要任务 操作控制一条指令的功能往往是由若干个操作信号的组合来实现的 因此 CPU管理并产生由内存取出的每条指令的操作信号 把各种操作信号送往相应的部件 从而控制这些部件按指令的要求进行动作 7 第3章CPU子系统 CPU的功能 时间控制对各种操作实施时间上的控制 在计算机中 各种指令的操作信号及指令的整个执行过程均受到时间的严格控制 这样 计算机才能有条不紊地自动工作 数据加工即对数据进行算术运算和逻辑运算处理 完成数据的加工处理 这时CPU的根本任务 处理中断 8 3 1概述 3 1 1CPU的基本组成CPU的基本功能元素 ALU计算机的功能精髓 寄存器用于CPU内部的数据存储 内部数据路径用于寄存器之间以及寄存器与ALU之间的数据传送 外部数据路径用于将寄存器连接到内存和I O模块 控制器引起CPU内部的操作发生 9 3 1概述 3 1 1CPU的基本组成程序执行由涉及这些CPU元素的操作组成 这些操作由微操作信号序列组成 所有的微操作可按如下分类 在寄存器之间传送数据 将数据由寄存器传送到外部界面 如系统总线 将数据由外部界面传送到寄存器 以寄存器作为输入 输出 完成算术或逻辑运算 10 3 1概述 3 1 1CPU的基本组成1 运算部件 输入逻辑 算术逻辑运算部件 输出逻辑 11 3 1概述 3 1 1CPU的基本组成2 寄存器组CPU中的寄存器服务于两类功能 用户可见寄存器这些寄存器允许机器语言或汇编语言程序员通过优化寄存器的使用而减少对主存的访问 控制和状态寄存器用来控制CPU的操作并被特权的操作系统程序用来控制程序的执行 12 3 1概述 3 1 1CPU的基本组成2 寄存器组 通用寄存器组用户可编程访问 暂存器对用户透明 累加器AC当ALU执行全部算术和逻辑运算时 为ALU提供一个工作区 并暂存ALU运算的结果信息 当使用多个累加器时 就变成通用寄存器结构 13 3 1概述 3 1 1CPU的基本组成2 寄存器组 指令寄存器IR用于存放当前指令 程序计数器PC用于存放后继指令地址 程序状态字寄存器PSW 存储器地址寄存器MAR连接到系统总线的地址线 指定了读 写操作的内存地址 存储器缓冲寄存器MBR MDR 连接到系统总线的数据线 容有最后一次访问内存的值 14 3 1概述 3 1 1CPU的基本组成3 微命令产生部件 控制器 根据控制信息产生微命令序列 对指令功能所要求的数据传送进行控制 并在数据传送至运算部件是控制完成运算处理 总的来看 控制器完成两项基本任务 排序根据正被执行的程序 控制器使CPU以适当的顺序按步通过一串微操作 执行控制器使每个微操作得以完成 15 3 1概述 3 1 1CPU的基本组成4 时序系统控制指令在执行过程中根据不同的周期 节拍信号 在不同的时间发出不同的微命令 完成不同的操作 16 3 1概述 3 1 1CPU的基本组成5 CPU内部的数据通路结构连接寄存器与ALU 是CPU组成的核心问题 单组内总线 分立寄存器结构 单组内总线 集成寄存器结构 多组内总线结构 17 3 1概述 3 1 1CPU的基本组成5 CPU内部的数据通路结构 单组内总线 分立寄存器结构 18 3 1概述 指令的执行过程 19 3 1概述 3 1 2时序控制方式为形成控制流 在时序方面有三个问题需要考虑 操作与时序信号之间的关系 时序控制方式 指令之间的衔接方式 如何形成所需的时序信号 时序系统 20 3 1概述 3 1 2时序控制方式1 同步控制方式各项操作与统一的时序信号同步在同步控制中 操作时间被划分成长度固定的时间段 一个时间段就是一个时钟周期 节拍 CPU根据统一的时钟周期为指令的执行安排严格的时间表 21 3 1概述 3 1 2时序控制方式1 同步控制方式各项操作与统一的时序信号同步优点 时序关系比较简单 控制部件在结构上易于集中 设计方便缺点 在时间安排利用上可能不经济 22 3 1概述 3 1 2时序控制方式2 异步控制方式各项操作按其需要选择不同的时间 不受统一的时序信号约束 各操作之间的衔接与各部件之间的信息交换采取应答方式 异步应答流程 23 3 1概述 3 1 2时序控制方式2 异步控制方式优点 时间紧凑 能按不同部件 设备的实际需要分配时间缺点 实现异步应答所需的控制比较复杂 异步应答流程 24 3 1概述 3 1 2时序控制方式3 同步控制在实际应用中的变化 不同指令安排不同的时钟周期数 总线周期中允许插入延长周期 同步方式中引入异步应答 25 3 1概述 3 1 3指令流水提高处理机速度的基本方法 提高器件的性能 改进系统结构 开发系统的并行性使用多个寄存器而不是单一的累加器使用Cache指令流水线技术 26 3 1概述 3 1 3指令流水1 流水线策略流水线类似于工厂中装配线的使用 装配线利用了这样一个事实 即一个产品要通过几个制作步骤 通过把制作过程安排在一条装配线上 产品能在各个阶段同时被加工 这种过程被称为流水处理 Pipelining 事实上一条指令的执行也是分成几个步骤 显然 这里有实施流水的机会 27 3 1概述 3 1 3指令流水1 流水线策略 串行顺序处理方式 单存储体重叠处理方式 双存储体重叠处理方式 多存储体的交叉访问与重叠处理方式 28 3 1概述 6段指令流水线操作时序图 FI 取指令DI 指令译码CO 计算操作数地址FO 驱操作数EI 执行指令WO 写操作数 29 3 1概述 3 1 3指令流水1 流水线策略并不是流水线的段数越多执行速度越快 流水线的每一段 都会有某些开销涉及到数据在缓冲器的传送 以及涉及到完成各种准备和递交功能 这些开销能明显地使单一指令总的执行时间变长 顺序指令逻辑相关时 条件转移指令 存储器访问的相关性 段数越多 损失越大 30 3 1概述 3 1 3指令流水1 流水线策略并不是流水线的段数越多执行速度越快 优化流水线的使用和处理存储器及寄存器相关性所需的控制逻辑总量 会随着阶段数剧烈增长 这可能导致这样一种情形 阶段之间的门控逻辑比这些阶段本身受控逻辑还要复杂 31 3 1概述 3 1 3指令流水1 流水线策略指令流水线是一种增强性能的强有力技术 但需要精心设计 以合理的复杂性达到最优的效果 32 3 1概述 3 1 3指令流水1 流水线策略限制指令流水线性能的几个因素 若各段不是相等的时间 会在各个流水阶段涉及到某种等待 数据相关性 存储器 寄存器访问的相关性 条件转移指令 33 3 1概述 3 1 3指令流水1 流水线策略影响流水线性能的因素 三种相关性 结构相关指令在重叠过程中 不同指令争用同一功能部件产生资源冲突 数据相关流水线中各条指令因重叠操作 可能改变对操作数的读写访问顺序 从而导致数据相关冲突写后读相关 读后写相关 写后写相关 控制相关由条件转移指令 34 3 1概述 3 1 3指令流水2 转移处理设计指令流水线的一个主要问题是 保证有一个稳定的指令流进入流水线的最初阶段 这里主要的障碍是条件转移指令 直到指令实际被执行前 不可能确定转移是否发生 分析程序行为的研究已说明 条件转移的转移发生概率高于50 35 3 1概述 3 1 3指令流水2 转移处理已有几种方法用于与条件转移打交道 多指令流 multiplestreams 预取转移目标 prefetchbranchtarget 循环缓冲器 loopbuffer 转移预测 branchprediction 延迟转移 delayedbfranch 36 3 1概述 3 1 3指令流水2 转移处理 多指令流 multiplestreams 一个简单的流水之所以蒙受转移指令带来的惩罚 在于它必须在取下一条指令时作出二选一的选择 而且其选择可能是错的 一个强制的方法是复制流水线的初始部分 并允许流水线同时取这两条指令 使用两个指令流 37 3 1概述 3 1 3指令流水2 转移处理 多指令流 multiplestreams 使用这种方法的问题 使用多个流水线 会有对寄存器和存储器访问的竞争延迟 在原先的转移判决还没解决之前 可能又有另外的转移指令进入流水线 这样又需要添加指令流 38 3 1概述 3 1 3指令流水2 转移处理 多指令流 multiplestreams 使用两条或多条指令流水线的例子 IBM370 168和IBM3033 39 3 1概述 3 1 3指令流水2 转移处理 预取转移目标 prefetchbranchtarget 识别出一个条件转移指令时 除了取此转移指令之后的指令之外 转移目标处的指令也被取来 这个目标被保存直到转移指令被执行 若是转移发生 则目标指令已经被取来了 使用实例 IBM361 91 40 3 1概述 3 1 3指令流水2 转移处理 循环缓冲器 loopbuffer 循环缓冲器是由流水线取阶段维护的一个小的但极高速的存储器 含有n条最近取来的顺序指令 若一个转移将要发生 硬件首先检查转移目标是否在此缓冲器中 若是 则下一条指令由此缓冲器取得 41 3 1概述 3 1 3指令流水2 转移处理 循环缓冲器 loopbuffer 循环缓冲器有三个好处 由于采用了预取 循环缓冲器将含有某些排序在当前指令取地址之前的指令 于是 顺序取来的指令都可能被使用而不再需要通常的存储器访问时间 42 3 1概述 3 1 3指令流水2 转移处理 循环缓冲器 loopbuffer 循环缓冲器有三个好处 若一个转移的目标恰恰是在此转移指令之前的少数几个位置上 则目标已在缓冲器中 这对于相当普遍的IF THEN和IF THEN ELSE顺序特别有用 43 3 1概述 3 1 3指令流水2 转移处理 循环缓冲器 loopbuffer 循环缓冲器有三个好处 这一策略非常适合处理循环或重复 因此命名为循环缓冲器 若循环缓冲器充分大 足以容纳循环的全部指令 则这些指令只需要第一次循环时由存储器取来 后面的重复不需要再次取指令 44 3 1概述 3 1 3指令流水2 转移处理 循环缓冲器 loopbuffer 从原理上讲 循环缓冲器类似于指令Cache 不同在于 循环缓冲器只保留顺序的指令 因而容量较小 成本也较低 使用实例 CDC的Star 100 6600 7600和CRAY 1 45 3 1概述 3 1 3指令流水2 转移处理 转移预测 branchprediction 应用最普遍转移预测技术 预测决不发生 PredictNeverTaken 预测总是发生 PredictAlwaysTaken 依操作码预测 PredictByOpcode 发生 不发生切换 Taken NotTakenSwitch 转移历史表 BranchHistoryTable 46 3 1概述 3 1 3指令流水2 转移处理 转移预测 branchprediction 前三种是静态的 它们不取决于条件转移指令的过去执行历史 后两种方法是动态的 它们取决于执行的历史 68020和VAX11 780使用预测决不发生方法 47 3 1概述 3 1 3指令流水2 转移处理 转移预测 branchprediction 依操作码预测是依据转移指令的操作码进行判定 处理器假定 对某些条件转移指令的操作码将总是发生转移 对另外的总是不发生 研究表明这种策略的成功概率大于75 48 3 1概述 3 1 3指令流水2 转移处理 转移预测 branchprediction 动态转移预测策略通过记录条件转移指令在程序中的历史来改善预测的准确度 每个条件转移指令可有与之相关联的一位或几位 它们反映此指令的最近历史 这些位称为发生 不发生开关 他们指挥处理器在下次遇到此指令时产生具体的判定 49 3 1概述 转移预测状态图 50 3 1概述 3 1 3指令流水2 转移处理 转移预测 branchprediction 转移历史表是维护一个小型表 每个表项由三个元素组成 转移指令地址 记录这条指令使用情况的历史位 指令状态 目标指令 或目标指令地址 51 3 1概述 转移历史表策略 52 3 1概述 3 1 3指令流水2 转移处理 转移预测 branchprediction 基于转移历史表实现的例子 AdvancedMicroDeviceAMD29000微处理器 53 3 1概述 3 1 3指令流水2 转移处理 延迟转移 delayedbfranch 改进流水性能的另一可能方法是自动重排程序中的指令 以至一条转移指令出现在实际所要求的位置之后 延迟转移利用了转移指令直到下面一条指令之后才产生影响这一特点 在转移指令之后安排一条有用指令来替代仅为延迟的空操作 54 3 1概述 3 1 3指令流水2 转移处理 延迟转移 delayedbfranch 传统流水线 I 取指令 E 执行 D 存储 55 3 1概述 3 1 3指令流水2 转移处理 延迟转移 delayedbfranch 插入NOOP的RISC流水线 56 3 1概述 3 1 3指令流水2 转移处理 延迟转移 delayedbfranch 倒换流水线 57 3 1概述 3 1 3指令流水3 流水线的性能通常用吞吐率 加速比和效率等指标来衡量 58 3 1概述 3 1 3指令流水3 流水线的性能通常用吞吐率 加速比和效率等指标来衡量 吞吐率 ThroughputRate 单位时间内流水线所完成指令或输出结果的数量最大吞吐率流水线在连续流动达到稳定状态后所获得的吞吐率 对于m段指令流水线 若各段时间均为 则最大吞吐率为 59 3 1概述 3 1 3指令流水3 流水线的性能 吞吐率 ThroughputRate 实际吞吐率对于m段的指令流水线 若各段的时间均为 连续处理n条指令的实际吞吐率为 60 3 1概述 3 1 3指令流水3 流水线的性能 加速比 SpeedupRatio 是指m段流水线的速度相对等功能的非流水线的速度提高的比值 对于m段的指令流水线 若各段的时间均为 连续处理n条指令的加速比为 61 3 1概述 3 1 3指令流水3 流水线的性能 效率 Efficiency 是指流水线中各功能段的利用率 对于m段的指令流水线 若各段的时间均为 连续处理n条指令 则流水线的效率为 62 3 1概述 3 1 3指令流水4 流水线中的多发技术即在一个时钟周期内 产生更多条指令的结果 常见的多发技术 超标量 超流水线 超长指令字 63 3 1概述 3 1 4同步控制的时序系统时序划分层次 多级时序 指令周期 CPU工作周期 时钟周期 节拍 定时脉冲 64 3 1概述 3 1 5控制器分类控制器的任务 决定在什么时间 根据什么条件 发出什么命令 做什么操作 为使控制器实现其功能 必须具有允许它确定系统状态的输入和允许它控制系统行为的输出 这是控制器的外部规范 内部 控制器必须具有完成它的排序和执行功能的逻辑 65 3 1概述 3 1 5控制器分类控制器的一般模型 66 3 1概述 3 1 5控制器分类按照微命令的形成方式 通常有两种类型的控制器 组合逻辑控制器 微程序控制器 67 3 1概述 3 1 5控制器分类1 组合逻辑控制器 68 3 1概述 3 1 5控制器分类2 微程序控制器 69 3 1概述 3 1 6CPU与外部的信息交换主机与外设的信息交换通过它们之间的数据传送通路实现 传送通路的模式大致可分为辐射型 总线型和通道型三类 CPU对信息传送的控制方式主要有三种 直接程序传送方式 程序中断方式 直接存储器访问 DMA 70 3 1概述 3 1 6CPU与外部的信息交换1 主机与外射的连接模式 辐射型 星型 主机与各外围设备间有独立的数据通路 要求在设计CPU时就需考虑好它将要连接的外围设备的数量与种类 如果在今后的应用中需要增加外围设备 就不易扩展 实用的辐射式结构大多通过接口和总线实现星型连接 71 3 1概述 3 1 6CPU与外部的信息交换1 主机与外射的连接模式 总线型各外围设备通过各自的接口直接与公共的系统总线相连 也即 主机通过公共的系统总线挂接外围设备 不分别设置单独的数据通路 当需要增加外围设备时 只要增加相应接口 就可以方便地扩展 72 3 1概述 3 1 6CPU与外部的信息交换1 主机与外射的连接模式 总线型在实现上 CPU不一定直接与系统总线相连 可能需要一些部件提供信息缓冲与信号转换 例如CPU通过锁存器与系统总线中的数据线 地址线相连接 通过总线控制器与系统总线中的控制线相连 73 3 1概述 3 1 6CPU与外部的信息交换1 主机与外射的连接模式 通道型前两种相结合 当系统规模较大 即连接的外围设备数量较大 类型较多 且要求处理速度较快时采用 是前两种的结合 74 3 1概述 3 1 6CPU与外部的信息交换2 信息传送控制方式主机与外围设备间进行信息交换 从CPU程序组织的方面 需要考虑两个问题 外围设备准备阶段 CPU应如何 CPU与外围设备间如何实现工作的切换 75 3 1概述 3 1 6CPU与外部的信息交换2 信息传送控制方式 直接程序传送方式CPU直接利用I O指令编程实现I O传送 在外围设备工作期间 CPU不执行与I O无关的操作 在外围设备的准备阶段或传送数据前后的其他操作阶段 CPU处于等待查询状态 知道外围设备准备好或一次操作结束 CPU通过I O指令实现数据的输入或输出 这种方式又称为程序查询方式 76 3 1概述 3 1 6CPU与外部的信息交换2 信息传送控制方式 程序中断方式中断过程实质上是一种程序切换过程 中断方式的主要特点是随机性 77 3 1概述 3 1 6CPU与外部的信息交换2 信息传送控制方式 程序中断方式软件组织与程序安排设置中断向量表 存放中断服务程序入口地址 78 3 1概述 3 1 6CPU与外部的信息交换2 信息传送控制方式 程序中断方式硬件组织 CPU方面 设置中断允许触发器 判优逻辑 中断周期 接口方面 构成一个中断系统 中断请求提出逻辑 请求信号传递逻辑 各请求信号间的判优 屏蔽逻辑等 79 3 1概述 3 1 6CPU与外部的信息交换2 信息传送控制方式 DMA方式直接依靠硬件在主存与I O设备间传送数据的一种工作方式 在传送期间不需CPU的程序干预 它适用于高速外围设备与主存储器之间简单的数据传送 80 3 1概述 3 1 6CPU与外部的信息交换2 信息传送控制方式 DMA方式DMA方式的处理思想 由CPU通过执行程序进行DMA初始化 即将有关控制信息发送给DMA控制器 以后以响应随机请求方式 由DMA控制器实现DMA传送 批量结束时 CPU以响应中断请求方式进行结束处理 81 3 1概述 3 1 6CPU与外部的信息交换2 信息传送控制方式 DMA方式程序组织 送出控制字其中含有操作类型 传送方向 外围设备的寻址信息 送出主存储器缓冲区首址 送出交换量 82 3 1概述 3 1 6CPU与外部的信息交换2 信息传送控制方式 DMA方式硬件组织 CPU方面设置专门的DMA周期 在此周期中 CPU让出系统总线控制权 与系统总线脱钩 MAR不向地址总线发送地址码 MBR与数据总线分离 CPU也不向控制总线发送传送控制命令 83 3 1概述 3 1 6CPU与外部的信息交换2 信息传送控制方式 DMA方式硬件组织 接口方面分别设置DMA控制器与接口 DMA控制器作为公用的控制部件 可控制多种DMA传送 DMA接口实现某一具体外围设备 如磁盘 与系统总线间的连接 其中包括数据缓冲寄存器或缓冲存储器 84 3 2算术 逻辑运算部件 计算机中的运算部件主要由输入逻辑 算术逻辑运算部件ALU 核心 输出逻辑3部分组成 85 3 2算术 逻辑运算部件 用硬件实现算术逻辑运算功能涉及到三个问题 如何构成一位二进制加法单元 n位全加器连同进位信号传送逻辑 构成一个n位并行加法器 以加法器为核心 通过输入选择逻辑扩展为具有多种算术 逻辑功能的ALU 86 3 2算术 逻辑运算部件 3 2 1加法单元一位二进制加法单元有三个输入量 操作数Ai与Bi 低位传来的进位信号Ci 1 产生两个输出量 本位和 i 向高位的进位信号Ci 现在广泛采用的求和逻辑是 用异或逻辑实现半加 用两次半加实现一位全加 i Ai Bi Ci 1Ci AiBi Ai Bi Ci 1 87 3 2算术 逻辑运算部件 3 2 2并行加法器与进位逻辑结构如果用n位全加器一步实现n位相加 即n位同时相加 这种加法器称为并行加法器 加法器的运算速度不仅与全加器速度有关 更主要的因素是取决于进位传递速度 本质上 进位的产生是从低位开始 逐级向高位传播的 进位传递的逻辑结构形态好像链条 因此常将进位传递逻辑称为进位链 并行加法器的逻辑结构包含两部分 全加器单元与进位链 88 3 2算术 逻辑运算部件 3 2 2并行加法器与进位逻辑结构1 进位信号的基本逻辑假定第i 1位为低位 则第i位产生的进位信号逻辑为 Ci AiBi Ai Bi Ci 1或Ci AiBi Ai Bi Ci 1可将上述逻辑写为通式 Ci Gi PiCi 1式中Gi称为第i位进位产生函数 Pi称为进位传递函数 89 3 2算术 逻辑运算部件 3 2 2并行加法器与进位逻辑结构2 串行进位串行进位方式是指 逐级形成各位进位 每一级进位直接依赖于前一级进位 采用串行进位结构的并行加法器 所用元器件较少 但运算时间较长 进位信号需逐级传递 90 3 2算术 逻辑运算部件 3 2 2并行加法器与进位逻辑结构2 串行进位串行进位进位信号逻辑式 C1 G1 P1C0C2 G2 P2C1C3 G3 P3C2C4 G4 P4C3 91 3 2算术 逻辑运算部件 3 2 2并行加法器与进位逻辑结构2 串行进位串行进位的并行加法器逻辑结构 92 3 2算术 逻辑运算部件 3 2 2并行加法器与进位逻辑结构3 并行进位并行进位的逻辑式如下 C1 G1 P1C0C2 G2 P2C1 G2 P2G1 P2P1C0C3 G3 P3C2 G3 P3G2 P3P2G1 P3P2P1C0C4 G4 P4C3 G4 P4G3 P4P3G2 P4P3P2G1 P4P3P2P1C0 Cn Gn PnGn 1 Pn P1 C0 93 3 2算术 逻辑运算部件 3 2 3多功能算术 逻辑运算部件教材P98 P101 94 3 2算术 逻辑运算部件 3 2 4运算器组织基本的运算器组织包含如下逻辑组成 实现基本算术 逻辑运算功能的ALU 提供操作数与暂存运算结果的寄存器组 有关的判别逻辑 如结果是否为0 正负 进位 溢出 局部控制电路等将这些功能模块连接成一个整体时 需要解决一个问题 如何向ALU提供操作数 95 3 2算术 逻辑运算部件 3 2 4运算器组织向ALU提供操作数的方法 在ALU输入端加多路选择器 在ALU输入端加一级锁存器 96 3 2算术 逻辑运算部件 3 2 4运算器组织另一个问题 寄存器组的结构 采取独立寄存器结构可以同时输入与输出缺点是集成度低 采取小存储器结构缺点是每次只能有一个输入或输出 97 3 3运算方法 计算机的运算功能大体上可分为两大类 算术运算 逻辑运算前者是数值运算的基础 后者是非数值运算的基础 构成算术 逻辑运算的基本操作有 定点加 减运算 溢出判别 舍入 移位 基本逻辑运算等功能 98 3 3运算方法 3 3 1定点加减运算1 补码加减运算基本关系式 x y 补 x 补 y 补 x y 补 x 补 y 补 99 3 3运算方法 补码加减法的几何描述 100 3 3运算方法 3 3 1定点加减运算2 运算规则 参加运算的操作数用补码表示 符号位参加运算 若操作码为加 则两数直接相加 若操作码位减 则将减数变补后再与被减数相加 101 3 3运算方法 补码加减法硬件框图 102 3 3运算方法 3 3 2溢出判断与移位1 溢出判断运算结果若超出机器数的表示范围 称为溢出 说一个运算溢出了是指完整的结果不能放到数据类型的字长限制中去 两个正数相加结果超出了正数所能表示的最大正数 称为正溢 上溢 两个负数相加结果超出了负数所能表示的最小负数 称为负溢 下溢 103 3 3运算方法 3 3 2溢出判断与移位1 溢出判断溢出判别的三种判断方法 OVR SASBSf SASBSf OVR Cf C OVR 1 变形补码 模4补码 104 3 3运算方法 3 3 2溢出判断与移位2 移位操作 算术移位 逻辑移位 105 3 3运算方法 3 3 2溢出判断与移位3 舍入处理常见的舍入方法 0舍1入法 负数反码 1舍0借 末位恒置1法 负数反码 末位恒置0 106 3 3运算方法 3 3 2溢出判断与移位3 舍入处理IEEE标准给出四种供选择的办法 就近舍入 缺省舍入方式 最靠近此超精度结果的可表示值将被递交 若两个可表示的值是同等的靠近 则最低有效位是0的那个值被递交 强迫结果是偶数 朝0舍入 截断法 107 3 3运算方法 3 3 2溢出判断与移位3 舍入处理IEEE标准给出四种供选择的办法 朝 舍入 朝 舍入上两种方法使用在实现间隔算术 intervalarithmetic 的技术中 108 3 3运算方法 3 3 3定点乘法运算基本实现方法源于手算的方法 即将手算乘法的运算过程转化为用计算机实现 如下例 0 1101 0 1011 0 11010 1011 1101110100001101 0 10001111 109 3 3运算方法 3 3 3定点乘法运算在由手算到机器实现过程中 要解决如下三个问题 符号问题 多项部分积相加问题 加法器位数增加问题 对于前者 可采用原码乘法或补码乘法 对于后两个问题 形成了传统乘法器 阵列乘法器两种方案 110 3 3运算方法 3 3 3定点乘法运算1 原码一位乘法 算法依据 手算法 运算规则取两操作数绝对值相乘 每步处理一位乘数 符号位单独处理 不参加运算 111 3 3运算方法 举例X 0 1101 Y 0 1011 求XY 使用寄存器A B和C A 存放部分积 B存放被乘数 C存放乘数A 0 0000B X 0 1101C Y 1011步数条件操作AC0 0000 1011 Cn 1 B0 1101 0 1101 0 01101 101 Cn 1 B0 1101 1 0011 0 100111 10 Cn 0 0 0100111 1 Cn 1 B0 1101 1 0001 0 10001111 加符号位 得 XY 原 1 10001111 XY 0 10001111 112 3 3运算方法 1 原码一位乘法 原码一位乘法逻辑框图 113 3 3运算方法 1 原码一位乘法算法过程 乘法开始时 A清零 作为初始部分积 被乘数放在B中 乘数放在C中 通过A ALU和B ALU命令实现部分积和被乘数相加 ALU的输出经过移位电路右移一位送入A中 C最低位用作B ALU的控制命令 加法器最低一位的值 右移时移入C最高数值位 使相乘之积的低位部分保存进C寄存器中 乘积的符号位取两数符号位的异或 114 3 3运算方法 1 原码一位乘法原码一位乘法递推关系式 P0 0P1 P0 X Yn 2 1P2 P1 X Yn 1 2 1 Pi 1 Pi X Yn i 2 1 Pn Pn 1 X Y1 2 1 115 3 3运算方法 3 3 3定点乘法运算2 补码一位乘法 算法依据 XY 补 X 补 0 Y1Y2 Yn X 补Y0 X 补 2 1Y1 2 2Y2 2 nYn X 补Y0 X 补 Y1 2 1Y1 2 1Y2 2 2Y2 2 n 1Yn 2 nYn Y0 X 补 Y1 Y0 2 1 Y2 Y1 2 n 1 Yn Yn 1 2 n Yn 1 Yn 116 3 3运算方法 3 3 3定点乘法运算定义 Z0 为初始部分积 Z1 Z2 Zn 依次为各步求得的累加并右移后的部分积 则上式可改写为如下递推形式 Z0 补 0 Z1 补 2 1 Z0 补 Yn 1 Yn X 补 Z2 补 2 1 Z1 补 Yn Yn 1 X 补 Zn 补 2 1 Zn 1 补 Y2 Y1 X 补 XY 补 Zn 补 Y1 Y0 X 补 117 3 3运算方法 3 3 3定点乘法运算2 补码一位乘法 操作规则 YnYn 1操作 00原部分积右移一位01原部分积加 X 补后 右移一位10原部分积加 X 补后 右移一位11原部分积右移一位 118 3 3运算方法 3 3 3定点乘法运算 运算规则 被乘数与部分积取双符号位 符号位参加运算 乘数取单符号位 乘数末增设附加位Yn 1 初值为0 YnYn 1构成各步运算的判断位 算法如上表 按上表算法进行n 1步 最后一步不移位 按补码移位规则进行右移 119 3 3运算方法 3 3 3定点乘法运算 运算举例X 0 1101 Y 0 1011 求 XY 使用寄存器A B和C A 存放部分积 B存放被乘数 C存放乘数A 00 0000B 00 1101 B 11 0011C 1 0101 120 3 3运算方法 3 3 3定点乘法运算 运算举例步数条件操作ACYnYn 100 00001 01010 10 B11 0011 11 0011 11 100111 0101 01 B00 1101 00 0110 00 0011011 010 10 B11 0011 11 0110 11 10110011 01 01 B00 1101 00 1000 00 010000011 0 10 B11 0011 11 01110001即 XY 补 1 01110001 XY 0 10001111 121 3 3运算方法 3 3 3定点乘法运算3 快速乘法 原码两位乘 YiYi 1CJ操作CJ 000部分积右移两位0001 X 部分积右移两位0010 X 部分积右移两位0011 2X 部分积右移两位0100 2X 部分积右移两位0101 X 部分积右移两位1110 X 部分积右移两位1111部分积右移两位1 122 3 3运算方法 3 3 3定点乘法运算3 快速乘法 补码两位乘 Zi 补 Zi 1 补 2 1 Zi 补 Yn 1 Yn X 补 Zi 2 补 2 1 Zi 1 补 Yn Yn 1 X 补 2 2 Zi 补 Yn 1 Yn 2Yn 1 X 补 123 3 3运算方法 3 3 3定点乘法运算3 快速乘法 阵列乘法器 124 3 3运算方法 3 3 3定点乘法运算3 快速乘法 阵列乘法器 5 5位无符号阵列乘法器逻辑电路图 125 3 3运算方法 3 3 4定点除法运算1 原码恢复余数除法2 原码不恢复余数除法3 补码部恢复余数除法 126 3 3运算方法 3 3 5浮点四则运算本质上 浮点算术是不精确的 结合律是不正确的 127 3 3运算方法 3 3 5浮点四则运算1 浮点加减法运算步骤 判断是否有操作数为零 对阶 尾数相加 减 结果规格化 溢出判断 128 3 3运算方法 浮点加减法运算流程 129 3 3运算方法 浮点加减法 Z X Y 130 3 3运算方法 1 浮点加减法例 已知X 00010 0 11011011 Y 000100 0 10101100 求X Y 131 3 3运算方法 1 浮点加减法解 对阶 阶差 E EX 补 EY 补 00010 11100 11110X阶码小 MX右移2位 保留阶码E 00100 MX 补 00 0011011011 132 3 3运算方法 1 浮点加减法 尾数相加 MX 补 MY 补 00 0011011011 11 01010100 11 100010101100 0011011011 11 01010100 11 1000101011 133 3 3运算方法 1 浮点加减法 结果规格化 左规 移1位 结果 11 0001010110阶码 1 E 00011 舍入 采用0舍1入法 附加位最高位为1 进位 在所得结果的最低位 1 得新结果 M 补 11 00010110M 0 11101010 134 3 3运算方法 1 浮点加减法 溢出判断阶码符号位为00 故不溢出 最终结果为 X Y 00011 0 11101010 135 3 3运算方法 2 浮点乘法运算步骤 判断是否有操作数为零 阶码相加 溢出判断 尾数相乘 乘积规格化 浮点乘法 Z X Y 136 3 3运算方法 3 浮点除法运算步骤 判断是否有操作数为零 尾数调整 阶码相减 溢出判断 尾数相除 浮点除法 Z X Y 137 3 4CPU模型 控制器基本组成框图 138 3 4CPU模型 运算器框图 139 3 4CPU模型 CPU逻辑框图 140 3 4CPU模型 3 4 1CPU设计步骤1 拟定指令系统2 确定总体结构3 安排时序4 拟定指令流程和微命令序列5 形成控制逻辑 141 3 4CPU模型 3 4 2模型机的指令系统1 指令格式采用定长指令格式 指令字长16位 采用寄存器型寻址 双操作数指令格式 142 3 4CPU模型 3 4 2模型机的指令系统1 指令格式采用定长指令格式 指令字长16位 采用寄存器型寻址 单操作数指令格式 143 3 4CPU模型 3 4 2模型机的指令系统1 指令格式 转移指令格式C 进位标志V 溢出标志Z 零标志N 负标志 144 3 4CPU模型 3 4 2模型机的指令系统2 寻址方式模型机寻址方式特点是在指令中直接给出寄存器编号 供CPU编程访问 可编程寄存器包括 通用寄存器R0 R3堆栈指针SP程序计数器PC程序状态字PSW 145 3 4CPU模型 3 4 2模型机的指令系统2 寻址方式模型机常用寻址方式 146 3 4CPU模型 3 4 2模型机的指令系统2 寻址方式模型机常用寻址方式 续1 147 3 4CPU模型 3 4 2模型机的指令系统2 寻址方式模型机常用寻址方式 续2 148 3 4CPU模型 3 4 2模型机的指令系统3 指令类型 149 3 4CPU模型 3 4 3模型机的组成数据通路组成一个典型的CPU 需要有 六个主要寄存器 保存CPU运行时所需要的各类数据信息或运行状态信息 算术逻辑运算电路 ALU 和指令译码器 对寄存器中的数据进行加工处理 操作控制器 产生各种操作控制信号 以便在各寄存器之间建立数据通路 时序产生器 对各种操作控制信号进行定时 以便进行时间上的约束 150 3 4CPU模型 151 3 4CPU模型 3 4 3模型机的组成数据通路1 部件设置 寄存器 可编程寄存器 R0 R1 R2 R3 SP PSW PC 111 暂存器 C D 指令寄存器 IR 与主存的接口寄存器 MAR MDR 152 3 4CPU模型 3 4 3模型机的组成数据通路1 部件设置 运算部件 以ALU为核心 模型机ALU采用74181型结构 ALU输入端设置A B两个多路选择器 分别实现八选一 ALU输出端设置一个移位寄存器 它的逻辑结构也是一个多路选择器 利用对应位的连接关系实现直传 左移 左斜一位传送 右移 右斜一位传送 153 3 4CPU模型 3 4 3模型机的组成数据通路2 总线与数据通路结构 内总线单向内总线优点 简单 规整 控制集中 便于设置微命令缺点 只有一组基本数据通路 并行程度较低 154 3 4CPU模型 3 4 3模型机的组成数据通路2 总线与数据通路结构 系统总线采用同步控制方式 分为地址总线 数据总线和控制总线 CPU通过MAR向地址总线提供地址 以选择主存单元或外围设备 通过MDR向数据总线发送数据或从数据总线接收数据 CPU及外设向控制总线发出有关控制信号 155 3 4CPU模型 3 4 3模型机的组成数据通路3 各类信息的传送路径 指令信息传送M 数据总线 IR 156 3 4CPU模型 3 4 3模型机的组成数据通路3 各类信息的传送路径 地址信息传送 取指令地址PC 选择器A ALU 移位器 内总线 MAR 顺序执行时的后继指令地址PC A ALU 移位器 内总线 PCC0 157 3 4CPU模型 3 4 3模型机的组成数据通路3 各类信息的传送路径 地址信息传送 转移地址按寻址方式形成转移地址 送入PC 操作数地址按寻址方式形成操作数地址 送入MAR 158 3 4CPU模型 3 4 3模型机的组成数据通路3 各类信息的传送路径 数据信息传送 寄存器 寄存器Ri 选择器A B ALU 移位器 内总线 Rj 寄存器 主存Ri A B ALU 移位器 内总线 MDR 数据总线 M 159 3 4CPU模型 3 4 3模型机的组成数据通路3 各类信息的传送路径 数据信息传送 主存 寄存器M 数据总线 MDR B ALU 移位器 内总线 Rj CPU寄存器 外围设备Ri A B ALU 移位器 内总线 MDR 数据总线 I O接口 160 3 4CPU模型 3 4 3模型机的组成数据通路3 各类信息的传送路径 数据信息传送 外围设备 CPU寄存器I O接口 数据总线 MDR B ALU 移位器 内总线 Rj 161 3 4CPU模型 3 4 3模型机的组成数据通路3 各类信息的传送路径 数据信息传送 主存 主存M 源 数据总线 MDR B ALU 移位器 内总线 CC A B ALU 移位器 内总线 MDR 数据总线 M 目的 162 3 4CPU模型 3 4 3模型机的组成数据通路3 各类信息的传送路径 数据信息传送 主存 外围设备 通过传送指令实现 M 数据总线 MDRMDR 数据总线 I O接口通过DMA方式实现 M 数据总线 I O接口 163 3 4CPU模型 3 4 3模型机的组成数据通路4 微命令设置 数据通路操作 ALU输入选择R0 A MDR B等 ALU功能选择微命令S3 S0 M C0等 移位功能选择直传 左移 右移 结果分配打入脉冲CPR0 CPMAR等 164 3 4CPU模型 3 4 3模型机的组成数据通路4 微命令设置 访存操作EMAR R W SMDR SIR等 165 3 5组合逻辑控制方式 3 5 1组合逻辑控制器时序系统1 工作周期模型机设置六种工作周期状态 用六个周期状态触发器作为它们的标志 某一时期内只有其中一个周期状态触发器为1 指明CPU现在所处的工作周期状态 为该阶段的工作提供时间标志与依据 166 3 5组合逻辑控制方式 3 5 1组合逻辑控制器时序系统1 工作周期 取指周期FT完成取指操作 是每条指令都必须经历的公共操作 源周期ST若需要从主存中读取源操作数 则进入ST 形成源地址 读取源操作数 目的周期DT如果需要从主存中读取目的地址或目的操作数 则进入DT 执行周期ET在ET中 依据IR中操作码执行相应操作 167 3 5组合逻辑控制方式 3 5 1组合逻辑控制器时序系统1 工作周期 中断周期IT在响应中断请求后 到执行中断服务程序之前 需要一个过渡周期 称为中断周期IT 在IT中将直接依靠硬件进行关中断 保存断点 转中服入口等操作 168 3 5组合逻辑控制方式 3 5 1组合逻辑控制器时序系统1 工作周期 DMA周期DMAT响应DMA请求后 CPU进入DMAT 在DMAT中 CPU交出系统总线控制权 该由DMA控制器控制系统总线 实现主存与外围设备间的数据直传 169 3 5组合逻辑控制方式 3 5 1组合逻辑控制器时序系统2 时钟周期 节拍 模型机以主存访问周期所需时间为时钟周期宽度一个工作周期包含若干时钟周期 根据指令的不同 时钟周期数可变 设置时钟周期计数器T 其计数循环可随需要而变 170 3 5组合逻辑控制方式 3 5 1组合逻辑控制器时序系统3 工作脉冲模型机在每个时钟周期的末尾发一个工作脉冲P 作为各种同步脉冲的来源 工作脉冲P前沿作为打入寄存器的定时 标志着一次数据通路操作的完成 后沿作为时序转换的定时 171 3 5组合逻辑控制方式 3 5 2指令流程与操作时间表1 取指周期FT 进入FT的方式和条件 初始化置入复位初始化上电初始化 运算过程中同步打入正常执行响应DMA请求响应中断请求 172 3 5组合逻辑控制方式 3 5 2指令流程与操作时间表1 取指周期FT 取指流程 操作时间表 173 3 5组合逻辑控制方式 3 5 2指令流程与操作时间表2 MOV指令 174 3 5组合逻辑控制方式 3 5 2指令流程与操作时间表2 MOV指令 续1 175 3 5组合逻辑控制方式 3 5 2指令流
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 拜耳法溶出工三级安全教育(公司级)考核试卷及答案
- 排岩机操作工效率提升考核试卷及答案
- 2025租赁合同标准版新版
- 烧结配料工测试考核试卷及答案
- 2025装卸合同(简5)搬运承揽合同
- 钽铌精炼工专业知识考核试卷及答案
- 2025年屏蔽电磁波玻璃合作协议书
- 生物农药生产工作业指导书
- 推土犁司机作业指导书
- 小学美术教学中应用民间艺术资源的主要策略
- 通信原理第7版樊昌信版新版
- 口腔预防医学第九章其他口腔疾病的预防
- 盂兰盆供简易仪轨
- 一汽商用车企业级BOM技术方案V1.7
- JJF 1117-2010计量比对
- GB/T 13808-1992铜及铜合金挤制棒
- FZ/T 01093-2008机织物结构分析方法织物中拆下纱线线密度的测定
- 中国马克思主义与当代(社会问题)
- EMR术的配合要点
- 1844年经济学哲学手稿课件
- 厨房设备备品备件及专用工具库
评论
0/150
提交评论