




已阅读5页,还剩125页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章 中央处理器 第6章 中央处理器 CPU 是整个计算机的核心 它包括运算器和控制器 本章着重讨论CPU的功能和组成 控制器的工作原理和实现方法 微程序控制原理 基本控制单元的设计以及先进的CPU系统设计技术 第6章 6 1中央处理器的功能和组成6 2控制器的组成和实现方法6 3时序系统与控制方式6 4微程序控制原理6 5控制单元的设计6 6流水线技术6 7精简指令系统计算机 6 1中央处理器的功能和组成 6 1 1CPU的功能计算机的工作过程就是程序的运行过程 也就是在控制器的控制下逐条执行程序中各指令的过程 在程序运行过程中 计算机的各部件在控制器的控制下有条不紊地工作 在各部件之间流动的指令和数据形成了指令流和数据流 需要注意的是 这里的指令流和数据流都是程序运行的动态概念 它不同于程序中静态的指令序列 也不同于存储器中数据的静态分配序列 指令流指的是处理器执行的指令序列 数据流指的是根据指令操作要求依次存取数据的序列 6 1中央处理器的功能和组成 从程序运行的角度来看 控制器的基本功能是对指令流和数据流在时间与空间上实施正确的控制 对指令流的控制 指令流出的控制指令分析与执行的控制指令流向的控制 6 1中央处理器的功能和组成 对数据流的控制主要应包括对数据的流入与流出的控制 对数据变换 加工等操作的控制 对于冯 诺依曼结构的计算机而言 数据流是根据指令流的操作而形成的 也就是说数据流是由指令流来驱动的 6 1中央处理器的功能和组成 6 1 2CPU中的主要寄存器CPU中的主要寄存器是用来暂时保存在运算和控制过程中的中间结果 最终结果以及控制 状态信息的 它又可分为通用寄存器和专用寄存器两种 1 通用寄存器通用寄存器可用来存放原始数据和运算结果 有的还可以作为变址寄存器 计数器 地址指针等 通用寄存器一般可以由CPU直接访问 6 1中央处理器的功能和组成 2 专用寄存器专用寄存器是专门用来完成某一种特殊功能的寄存器 CPU中至少要有五个专用的寄存器 它们是 程序计数器 PC 指令寄存器 IR 存储器地址寄存器 MAR 存储器数据寄存器 MDR 状态标志寄存器 PSWR 6 1中央处理器的功能和组成 1 程序计数器程序计数器用来存放正在执行的指令地址或接着要执行的下条指令地址 对于顺序执行的情况 PC的内容应不断地增量 加 1 以控制指令的顺序执行 在遇到需要改变程序执行顺序的情况时 将转移的目标地址送往PC 即可实现程序的转移 在有些情况下除需要改变PC的内容外 还需要保留PC过去的内容 以便返回时使用 6 1中央处理器的功能和组成 2 指令寄存器指令寄存器用来存放从存储器中取出的指令 当指令从主存取出暂存于指令寄存器之后 在执行指令的过程中 指令寄存器的内容不允许发生变化 以保证实现指令的全部功能 3 存储器数据寄存器存储器数据寄存器用来暂时存放由主存储器读出的一条指令或一个数据字 反之 当向主存存入一条指令或一个数据字时 也暂时将它们存放在存储器数据寄存器中 6 1中央处理器的功能和组成 4 存储器地址寄存器存储器地址寄存器用来保存当前CPU所访问的主存单元的地址 由于主存和CPU之间存在着操作速度上的差别 所以必须使用地址寄存器来保持地址信息 直到主存的读 写操作完成为止 当CPU和主存进行信息交换 无论是CPU向主存存 取数据时 还是CPU从主存中读出指令时 都要使用存储器地址寄存器和数据寄存器 6 1中央处理器的功能和组成 5 状态标志寄存器状态标志寄存器用来存放程序状态字的 程序状态字的各位表征程序和机器运行的状态 是参与控制程序执行的重要依据之一 它主要包括两部分内容 一是状态标志 如 进位标志 C 结果为零标志 Z 等 大多数指令的执行将会影响到这些标志位 二是控制标志 如 中断标志 陷阱标志等 8086的状态标志寄存器共16位 包括九个标志位 其中六个为状态标志 三个为控制标志 6 1中央处理器的功能和组成 溢出标志位 符号标志位 零标志位 辅助进位标志位 校验标志位 进位标志位 方向标志 中断允许标志 陷阱标志 6 1中央处理器的功能和组成 6 1 3CPU的组成 6 1中央处理器的功能和组成 控制器的主要功能有 1 从主存中取出一条指令 并指出下一条指令在主存中的位置 2 对指令进行译码或测试 产生相应的操作控制信号 以便启动规定的动作 3 指挥并控制CPU 主存和输入 输出设备之间的数据流动方向 运算器的主要功能有 1 执行所有的算术运算 2 执行所有的逻辑运算 并进行逻辑测试 6 1中央处理器的功能和组成 6 1 4CPU的主要技术参数1 字长CPU的字长是指在单位时间内同时处理的二进制数据的位数 CPU按照其处理信息的字长可以分为 8位CPU 16位CPU 32位CPU以及64位CPU等 2 内部工作频率内部工作频率又称为内频或主频 它是衡量CPU速度的重要参数 CPU的主频表示在CPU内数字脉冲信号震荡的速度 与CPU实际的运算能力并没有直接关系 因此主频仅是CPU性能表现的一个方面 而不代表CPU的整体性能 6 1中央处理器的功能和组成 内部时钟频率的倒数是时钟周期 这是CPU中最小的时间元素 每个动作至少需要一个时钟周期 3 外部工作频率CPU除了主频之外 还有另一种工作频率 称为外部工作频率 它是由主板为CPU提供的基准时钟频率 6 1中央处理器的功能和组成 早期 CPU的内频就等于外频 例如 80486DX 33的内频是33MHz 它的外频也是33MHz 也就是说 80486DX 33以33MHz的速度在内部进行运算 也同样以33MHz的速度与外界沟通 目前 CPU的内频越来越高 相比之下主存的速度还很缓慢 如果外频设计得跟内频同步 则主存都将无法跟上CPU的速度 所以现在外频跟内频不再只是一比一的同步关系 从而出现了所谓的内部倍频技术 导致了 倍频 的出现 内频 外频和倍频三者之间的关系是 内频 外频 倍频理论上倍频是从1 5一直到无限 以0 5为一个间隔单位 6 1中央处理器的功能和组成 4 前端总线频率前端总线 FrontSideBus 通常用FSB表示 它是CPU和外界交换数据的最主要通道 主要连接主存 显卡等数据吞吐率高的部件 因此前端总线的数据传输能力对计算机整体性能作用很大 在Pentium4出现之前 前端总线频率与外频是相同的 因此往往直接称前端总线频率为外频 随着计算机技术的发展 需要前端总线频率高于外频 因此采用了QDR QuadDateRate 技术或者其他类似的技术 使得前端总线频率成为外频的2倍 4倍甚至更高 6 1中央处理器的功能和组成 5 QPI数据传输速率取代FSB的基于包传输的高速点到点连接技术QPI 快速通道互联 QPI抛弃了FSB易混淆的单位MHz 而使用GT s MT s 明确的表示总线实际的数据传输速率 而不是时钟频率 T s即transferspersecond 表示每秒数据传输的次数 QPI总线采用的是2 1比率 即实际的数据传输速率两倍于实际的总线时钟频率 QPI的时钟频率基于2 4GHz 3 2GHz 则QPI的数据传输速率为4 8GT s 6 4GT s 如时钟频率2 4GHz的QPI的数据传输速率是2 4GHz 2 4 8GT s 6 1中央处理器的功能和组成 一个基本的QPI数据包是80bit 需要四次传输完成每次整个数据包的传输 每次传输的20位数据中 有16位为有效数据 其余4位用于循环冗余校验 由于QPI是双向的 在发送的同时也可以接收另一端传输来的数据 这样 每个QPI总线总带宽 每秒传输次数 即QPI速率 每次传输的有效数据 即16bit 8 2Byte 双向 所以QPI速率为4 8GT s的总带宽 4 8GT s 2Byte 2 19 2GB s QPI速率为6 4GT s的总带宽 6 4GT s 2Byte 2 25 6GB s 不难发现 目前的QPI比以前最宽最快的FSB 还要快一倍 6 1中央处理器的功能和组成 6 片内Cache的容量片内Cache又称CPUCache 它的容量和工作速率对提高计算机的速度起着关键的作用 CPUCache可以分为L1Cache L2Cache 部分高端CPU还具有L3Cache L1Cache 位于CPU内核的旁边 是与CPU结合最为紧密的CPU缓存 一般来说 一级缓存可以分为一级数据缓存 DataCache D Cache 和一级指令缓存 InstructionCache I Cache 大多数CPU的一级数据缓存和一级指令缓存具有相同的容量 例如D Cache和I Cache各为64KB 总容量为128KB 6 1中央处理器的功能和组成 L2Cache是影响CPU性能的关键因素之一 在CPU核心不变化的情况下 增加L2Cache的容量能使性能大幅度提高 而同一核心CPU的高低端之分往往也是在L2Cache上有差异 目前CPU的L2Cache一般为1MB 最大可达4MB 8MB L3Cache是为读取L2Cache后未命中的数据设计的 种缓存 在拥有L3Cache的CPU中 只有约5 的数据需要从内存中调用 这进一步提高了CPU的效率 L3Cache的容量一般从8MB 16MB不等 6 1中央处理器的功能和组成 7 工作电压工作电压指的是CPU正常工作所需的电压 8 地址总线宽度地址总线宽度决定了CPU可以访问的最大的物理地址空间 简单地说就是CPU到底能够使用多大容量的主存 例如 Pentium有32位地址线 可寻址的最大容量为232 4096MB 4GB Itantium有44位地址线 可寻址的最大容量为244 16TB 6 1中央处理器的功能和组成 9 数据总线宽度数据总线宽度则决定了CPU与外部Cache 主存以及输入输出设备之间进行一次数据传输的信息量 如果数据总线为32位 每次最多可以读写主存中的32位 如果数据总线为64位 每次最多可以读写主存中的64位 数据总线和地址总线是互相独立的 数据总线宽度指明了芯片的信息传递能力 而地址总线宽度说明了芯片可以访问多少个主存单元 6 1中央处理器的功能和组成 10 制造工艺线宽是指芯片内电路与电路之间的距离 可以用线宽来描述制造工艺 线宽越小 意味着芯片上包括的晶体管数目越多 Pentium 的线宽是0 35 m 晶体管数达到7 5兆个 Pentium 的线宽是0 25 m 晶体管数达到9 5兆个 Pentium4的线宽是0 18 m 晶体管数达到42兆个 近年来线宽已由0 15 m 0 13 m 90nm 65nm一直发展到目前主流的45nm和32nm 而22nm的制造工艺将是新一代CPU的发展目标 第6章 6 1中央处理器的功能和组成6 2控制器的组成和实现方法6 3时序系统与控制方式6 4微程序控制原理6 5控制单元的设计6 6流水线技术6 7精简指令系统计算机 6 2控制器的组成和实现方法 控制器是计算机系统的指挥中心 它把运算器 存储器 输入 输出设备等部件组成一个有机的整体 然后根据指令的要求指挥全机的工作 6 2控制器的组成和实现方法 6 2 1控制器的基本组成 6 2控制器的组成和实现方法 1 指令部件指令部件的主要任务是完成取指令并分析指令 指令部件包括 1 程序计数器 PC 2 指令寄存器 IR 3 指令译码器 ID 指令译码器又称操作码译码器或指令功能分析解释器 暂存在指令寄存器中的指令只有在其操作码部分经过译码之后才能识别出这是一条什么样的指令 并产生相应的控制信号提供给微操作信号发生器 6 2控制器的组成和实现方法 4 地址形成部件根据指令的不同寻址方式 用来形成操作数的有效地址 在微 小型机中 一般不设专门的地址形成部件 而是利用运算器来进行有效地址的计算 6 2控制器的组成和实现方法 2 时序部件时序部件能产生一定的时序信号 以保证机器的各功能部件有节奏地进行信息传送 加工及信息存储 时序部件包括 1 脉冲源脉冲源用来产生具有一定频率和宽度的时钟脉冲信号 为整个机器提供基准信号 6 2控制器的组成和实现方法 2 启停控制逻辑启停控制逻辑的作用是根据计算机的需要 可靠地开放或封锁脉冲 控制时序信号的发生或停止 实现对整个机器的正确启动或停止 启停控制逻辑保证启动时输出的第一个脉冲和停止时输出的最后一个脉冲都是完整的脉冲 3 节拍信号发生器节拍信号发生器又称脉冲分配器 脉冲源产生的脉冲信号 经过节拍信号发生器后产生出各个机器周期中的节拍信号 用以控制计算机完成每一步微操作 6 2控制器的组成和实现方法 3 微操作信号发生器一条指令的取出和执行可以分解成很多最基本的操作 这种最基本的不可再分割的操作称为微操作 微操作信号发生器也称为控制单元 CU 不同的机器指令具有不同的微操作序列 4 中断控制逻辑中断控制逻辑是用来控制中断处理的硬件逻辑 6 2控制器的组成和实现方法 6 2 2控制器的硬件实现方法控制器的输入是机器指令代码 输出是微操作控制信号 因此微操作信号发生器是控制器的核心 根据产生微操作控制信号的方式不同 控制器可分为3种 它们的根本区别在于微操作信号发生器的实现方法不同 而控制器中的其它部分基本上是大同小异的 6 2控制器的组成和实现方法 6 2控制器的组成和实现方法 1 组合逻辑型这种控制器称为常规控制器或硬布线控制器 它是采用组合逻辑技术来实现的 其微操作序列形成部件是由门电路组成的复杂树形网络 组合逻辑控制器的最大优点是速度快 但是微操作信号发生器的结构不规整 使得设计 调试 维修较困难 难以实现设计自动化 一旦微操作信号发生器构成之后 要想增加新的控制功能是不可能的 6 2控制器的组成和实现方法 2 存储逻辑型这种控制器称为微程序控制器 它是采用存储逻辑来实现的 也就是把微操作信号代码化 使每条机器指令转化成为一段微程序并存入一个专门的存储器 控制存储器 中 微操作控制信号由微指令产生 微程序控制器的设计思想和组合逻辑设计思想截然不同 它具有设计规整 调试 维修以及更改 扩充指令方便的优点 易于实现自动化设计 已成为当前控制器的主流 但是 由于它增加了一级控制存储器 所以指令执行速度比组合逻辑控制器慢 6 2控制器的组成和实现方法 3 组合逻辑和存储逻辑结合型这种控制器称为PLA控制器 它是组合逻辑技术和存储逻辑技术结合的产物 它克服了两者的缺点 是一种较有前途的方法 第6章 6 1中央处理器的功能和组成6 2控制器的组成和实现方法6 3时序系统与控制方式6 4微程序控制原理6 5控制单元的设计6 6流水线技术6 7精简指令系统计算机 6 3时序系统与控制方式 时序系统是控制器的心脏 其功能是为指令的执行提供各种定时信号 6 3 1时序系统1 指令周期和机器周期指令周期是指取指令 分析指令到执行完该指令所需的全部时间 由于各种指令的操作功能不同 有的简单 有的复杂 因此各种指令的指令周期不尽相同 机器周期通常又称CPU周期 通常把一条指令划分为若干个机器周期 每个机器周期完成一个基本操作 6 3时序系统与控制方式 指令周期 i 机器周期通常 每个机器周期都有一个与之对应的周期状态触发器 机器运行在不同的机器周期 其对应的周期状态触发器被置 1 显然 在机器运行的任何时刻只能建立一个周期状态 因此 有一个且仅有一个触发器被置 1 6 3时序系统与控制方式 2 节拍在一个机器周期内 要完成若干个微操作 这些微操作有的可以同时执行 有的需要按先后次序串行执行 因而需要把一个机器周期分为若干个相等的时间段 每一个时间段对应一个电位信号 称为节拍电位信号 节拍的宽度取决于CPU完成一次基本操作的时间 6 3时序系统与控制方式 由于不同的机器周期内需要完成的微操作内容和个数是不同的 因此 不同机器周期内所需要的节拍数也不相同 节拍的选取一般有以下几种方法 1 统一节拍法以最复杂的机器周期为准定出节拍数 每一节拍时间的长短也以最繁的微操作作为标准 这种方法采用统一的 具有相等时间间隔和相同数目的节拍 使得所有的机器周期长度都是相等的 因此称为定长CPU周期 6 3时序系统与控制方式 2 分散节拍法按照机器周期的实际需要安排节拍数 需要多少节拍 就发出多少节拍 这样可以避免浪费 提高时间利用率 由于各机器周期长度不同 又称为不定长CPU周期 6 3时序系统与控制方式 3 延长节拍法在照顾多数机器周期要求的情况下 选取适当的节拍数 作为基本节拍 如果在某个机器周期内统一的节拍数无法完成该周期的全部微操作 则可以延长节拍 6 3时序系统与控制方式 4 时钟周期插入在一些微型机中 时序信号中不设置节拍 而直接使用时钟周期信号 一个机器周期中含有若干个时钟周期 时钟周期的数目取决于机器周期内完成微操作的多少及相应功能部件的速度 一个机器周期的基本时钟周期数确定之后 还可以不断插入等待时钟周期 6 3时序系统与控制方式 6 3时序系统与控制方式 3 工作脉冲在节拍中执行的有些操作需要同步定时脉冲 为此 在一个节拍内常常设置一个或几个工作脉冲 作为各种同步脉冲的来源 工作脉冲的宽度只占节拍电位宽度的1 n 并处于节拍的末尾 只要能保证所有触发器都可靠 稳定地翻转就可以了 在只设置机器周期和时钟周期的微型机中 一般不再设置工作脉冲 因为时钟周期既可以作为电位信号 其前后沿又可以作为脉冲触发信号 6 3时序系统与控制方式 4 多级时序系统小型机中常采用机器周期 节拍 工作脉冲三级时序系统 每个机器周期M中包括若干节拍 每个节拍内有一个脉冲 在机器周期间 节拍电位间 工作脉冲间既不允许有重叠交叉 也不允许有空隙 应该是一个接一个的准确连接 6 3时序系统与控制方式 三级时序系统 6 3时序系统与控制方式 时钟周期时序系统 6 3时序系统与控制方式 6 3 2控制方式1 同步控制方式同步控制方式即固定时序控制方式 各项操作都由统一的时序信号控制 在每个机器周期中产生统一数目的节拍电位和工作脉冲 由于不同的指令 操作时间长短不一致 同步控制方式应以最复杂指令的操作时间作为统一的时间间隔标准 6 3时序系统与控制方式 这种控制方式设计简单 容易实现 但是对于许多简单指令来说会有较多的空闲时间 造成较大数量的时间浪费 从而影响了指令的执行速度 在同步控制方式中 各指令所需的时序由控制器统一发出 所有微操作都与时钟同步 所以又称为集中控制方式或中央控制方式 6 3时序系统与控制方式 2 异步控制方式异步控制方式即可变时序控制方式 各项操作不采用统一的时序信号控制 而根据指令或部件的具体情况决定 需要多少时间 就占用多少时间 异步控制采用不同时序 没有时间上的浪费 因而提高了机器的效率 但是控制比较复杂 6 3时序系统与控制方式 由于这种控制方式没有统一的时钟 而是由各功能部件本身产生各自的时序信号自我控制 故又称为分散控制方式或局部控制方式 6 3时序系统与控制方式 3 联合控制方式这是同步控制和异步控制相结合的方式 实际上现代计算机中几乎没有完全采用同步或完全采用异步的控制方式 大多数是采用联合控制方式 通常的设计思想是 在功能部件内部采用同步方式或以同步方式为主的控制方式 在功能部件之间采用异步方式 6 3时序系统与控制方式 6 3 3指令执行的基本过程一条指令执行过程可以分为三个阶段 取指令阶段 分析取数阶段和执行阶段 1 取指令阶段取指令阶段完成的任务是将现行指令从主存中取出来并送至指令寄存器中去 具体的操作为 将程序计数器 PC 中的内容送至存储器地址寄存器 MAR 并送地址总线 AB PC MAR 6 3时序系统与控制方式 由控制单元 CU 经控制总线 CB 向主存发读命令 Read 从主存中取出的指令通过数据总线 DB 送到存储器数据寄存器 MDR M MAR MDR 将MDR的内容送至指令寄存器 IR 中 MDR IR 将PC的内容递增 为取下一条指令做好准备 PC 1 PC 6 3时序系统与控制方式 6 3时序系统与控制方式 以上这些操作对任何一条指令来说都是必须要执行的操作 所以称为公共操作 2 分析取数阶段取出指令后 机器立即进入分析指令阶段 指令译码器ID可识别和区分不同的指令类型及各种获取操作数的方法 由于各条指令功能不同 寻址方式也不同 所以分析取数阶段的操作是各不相同的 6 3时序系统与控制方式 3 执行阶段执行阶段完成指令规定的各种操作 形成稳定的运算结果 并将其存储起来 计算机的基本工作过程可以概括成为取指令 分析取数 执行指令 然后再取下一条指令 如此周而复始 直至遇到停机指令或外来的干预为止 6 3时序系统与控制方式 6 3 4指令的微操作序列控制器在实现一条指令的功能时 总要把每条指令分解成为一系列时间上先后有序的最基本 最简单的微操作 即微操作序列 微操作序列是与CPU的内部数据通路密切相关的 不同的数据通路就有不同的微操作序列 6 3时序系统与控制方式 1 加法指令ADDR1 R0这条指令完成的功能是把R0的内容作为地址送到主存以取得第一操作数 再与R1的内容相加 最后将结果送回主存中 即实现 R0 R1 R0 6 3时序系统与控制方式 字母加下标in表示该部件的接收控制信号 实际上就是该部件的输入开门信号 字母加下标out表示该部件的发送控制信号 实际上就是该部件的输出开门信号 6 3时序系统与控制方式 1 取指周期 PCout和MARin有效 完成PC经CPU内部总线送至MAR的操作 记作 PC MAR 通过控制总线 图中未画出 向主存发读命令 记作Read 存储器通过数据总线将MAR所指单元的内容 指令 送至MDR 记作M MAR MDR MDRout和IRin有效 将MDR的内容送至IR 记作 MDR IR 至此 指令被从主存中取出 其操作码字段开始控制CU 使PC内容加1 记作 PC 1 PC 6 3时序系统与控制方式 这条指令的微操作序列的第 步为取指令阶段的公共操作 它完成的任务为 PC MARReadM MAR MDR IR PC 1 PC 6 3时序系统与控制方式 2 取数周期取数周期要完成取操作数的任务 被加数在主存中 加数已放在通用寄存器R1中 R0out和MARin有效 完成将被加数地址送至MAR的操作 记作 R0 MAR 向主存发读命令 记作Read 存储器通过数据总线将MAR所指单元的内容 数据 送至MDR 同时MDRout和Yin有效 记作M MAR MDR Y 6 3时序系统与控制方式 3 执行周期执行周期完成加法运算的任务 并将结果写回主存 R1out和ALUin有效 同时CU向ALU发 ADD 控制信号 使R1的内容和Y的内容相加 结果送寄存器Z中 记作 R1 Y Z Zout和MDRin有效 将运算结果送MDR 记作 Z MDR 向主存发写命令 记作Write 6 3时序系统与控制方式 2 转移指令JCA这是一条条件转移指令 若上次运算结果有进位 C 1 就转移 若上次运算结果无进位 C 0 就顺序执行下一条指令 设A为位移量 转移地址等于PC的内容加位移量 相应的微操作序列如下 1 取指周期与上条指令的微操作序列完全相同 6 3时序系统与控制方式 2 执行周期如果有进位 C 1 则完成 PC A PC的操作 否则跳过以下几步 PCout和Yin有效 记作 PC Y C 1 AdIRout和ALUin有效 同时CU向ALU发 ADD 控制信号 使IR中的地址码字段A和Y的内容相加 结果送寄存器Z 记作Ad IR Y Z C 1 Zout和PCin有效 将运算结果送PC 记作 Z PC C 1 第6章 6 1中央处理器的功能和组成6 2控制器的组成和实现方法6 3时序系统与控制方式6 4微程序控制原理6 5控制单元的设计6 6流水线技术6 7精简指令系统计算机 6 4微程序控制原理 微程序设计技术的实质是将程序设计技术和存储技术相结合 即用程序设计的思想方法来组织操作控制逻辑 将微操作控制信号按一定规则进行信息编码 代码化 形成控制字 微指令 再把这些微指令按时间先后排列起来 存放在一个只读存储器中 6 4微程序控制原理 每一条机器指令对应一段 程序 该 程序 被存放在一个只读的控制存储器中 因为每段 程序 的执行结果是实现了一条机器指令的功能 所以我们将这些 程序 称为指令的微程序 6 4微程序控制原理 6 4 1微程序控制的基本概念1 微程序设计的提出与发展微程序设计的概念和原理最早是由英国剑桥大学的M V Wilkes教授于1951年提出来的 1964年 IBM公司在IBM360系列机上成功地采用了微程序设计技术 解决了指令系统的兼容问题 70年代以来 由于VLSI技术的发展 推动了微程序设计技术的发展和应用 目前 大多数计算机都采用微程序设计技术 6 4微程序控制原理 2 基本术语 1 微命令和微操作一条机器指令可以分解成一个微操作序列 这些微操作是计算机中最基本的 不可再分解的操作 微命令是控制计算机各部件完成某个基本微操作的命令 微命令和微操作是一一对应的 微命令是微操作的控制信号 微操作是微命令的操作过程 6 4微程序控制原理 微命令有兼容性和互斥性之分 兼容性微命令是指那些可以同时产生 共同完成某一些微操作的微命令 而互斥性微命令是指在机器中不允许同时出现的微命令 兼容和互斥都是相对的 一个微命令可以和一些微命令兼容 和另一些微命令互斥 对于单独一个微命令 谈论其兼容和互斥都是没有意义的 6 4微程序控制原理 2 微指令 微地址微指令是指控制存储器中的一个单元的内容 即控制字 它是若干个微命令的集合 存放控制字的控制存储器的单元地址就称为微地址 一条微指令通常至少包含两大部分信息 操作控制字段 又称微操作码字段 用以产生某一步操作所需的各微操作控制信号 顺序控制字段 又称微地址码字段 用以控制产生下一条要执行的微指令地址 6 4微程序控制原理 微指令有垂直型和水平型之分 垂直型微指令接近于机器指令的格式 每条微指令只能完成一个基本操作 水平型微指令则具有良好的并行性 每条微指令可以完成较多的基本操作 6 4微程序控制原理 3 微周期从控制存储器中读取一条微指令并执行相应的微命令所需的全部时间称为微周期 4 微程序一系列微指令的有序集合就是微程序 一条机器指令对应于一段微程序 6 4微程序控制原理 程序 指令的集合 指令 微程序 微指令的集合 微指令 微命令的集合 微命令 6 4微程序控制原理 微程序和程序是两个不同的概念 微程序是由微指令组成的 它用于描述机器指令 实际上是机器指令的实时解释器 它是由计算机的设计者事先编制好并存放在控制存储器中的 对于程序员来说 计算机系统中微程序一级的结构和功能是透明的 而程序则最终由机器指令组成 它是由软件设计人员事先编制好并存放在主存或辅存中的 6 4微程序控制原理 所以说 微程序控制的计算机涉及到两个层次 一个是机器语言或汇编语言程序员所看到的传统机器层 包括 机器指令 工作程序 主存储器 另一个是机器设计者看到的微程序层 包括 微指令 微程序和控制存储器 6 4微程序控制原理 6 4 2微指令编码法微指令编码法指的就是操作控制字段的编码方法 各类计算机的微指令编码法不同 1 直接控制法 不译码法 操作控制字段中的各位分别可以直接控制计算机 不需要进行译码 操作控制字段的每一个独立的二进制位代表一个微命令 该位为 1 表示这个微命令有效 为 0 表示这个微命令无效 每个微命令对应并控制数据通路中的一个微操作 6 4微程序控制原理 这种方法结构简单 并行性强 操作速度快 但是微指令字太长 若微命令的总数为N个 则微指令字的操作控制字段就要有N位 另外 在N个微命令中 有许多是互斥的 不允许并行操作 将它们安排在一条微指令中是毫无意义的 只会使信息的利用率下降 6 4微程序控制原理 2 最短编码法最短编码使得微指令字最短 这种方法将所有的微命令统一编码 每条微指令只定义一个微命令 若微命令的总数为N 操作控制字段的长度为L 则 L log2N 6 4微程序控制原理 最短编码法的微指令字长最短 但要通过一个微命令译码器译码以后才能得到需要的微命令 微命令数目越多 译码器就越复杂 这种方法同一时刻只能产生一个微命令 不能充分利用机器硬件所具有的并行性 使得机器指令对应的微程序变得很长 而且对于某些要求在同一时刻同时动作的组合性微操作将无法实现 6 4微程序控制原理 3 字段编码法前两种编码法的一个折衷的方法 既具有两者的优点 又克服了它们的缺点 这种方法将操作控制字段分为若干个小段 每段内采用最短编码法 段与段之间采用直接控制法 这种方法又可进一步分为字段直接编码法和字段间接编码法 6 4微程序控制原理 1 字段直接编码法各字段都可以独立地定义本字段的微命令 而和其他字段无关 因此又称为显式编码或单重定义编码方法 这种方法缩短了微指令字 因此得到了广泛的应用 6 4微程序控制原理 2 字段间接编码法字段间接编码法是在字段直接编码法的基础上 用来进一步缩短微指令字长的方法 间接编码的含义是 一个字段的某些编码不能独立地定义某些微命令 而需要与其他字段的编码来联合定义 因此又称为隐式编码或多重定义编码方法 6 4微程序控制原理 6 4微程序控制原理 字段编码法中操作控制字段的分段原则 把互斥性的微命令分在同一段内 兼容性的微命令分在不同段内 这样不仅有助于提高信息的利用率 缩短微指令字长 而且有助于充分利用硬件所具有的并行性 加快执行的速度 6 4微程序控制原理 应与数据通路结构相适应 每个小段中包含的信息位不能太多 否则将增加译码线路的复杂性和译码时间 一般每个小段还要留出一个状态 表示本字段不发出任何微命令 因此当某字段的长度为三位时 最多只能表示七个互斥的微命令 通常用000表示不操作 6 4微程序控制原理 例如 运算器的输出控制信号有直传 左移 右移 半字交换等四个 这四个微命令是互斥的 它们可以安排在同一字段编码 同样 存储器的读和写命令也是一对互斥的微命令 还有象A C B C A B C都是寄存器 这样的一类微命令也是互斥的微命令 它们不允许在同一时刻出现 6 4微程序控制原理 假设某计算机共有256个微命令 如果采用直接控制法 微指令的操作控制字段就要有256位 而如果采用最短编码法 操作控制字段只需要8位就可以了 如果采用字段直接编码法 若4位为一个段 共需18段 操作控制字段只需72位 而且在同一时刻可以并行发出18个不同的微命令 6 4微程序控制原理 6 4 3微程序控制器的组成和工作过程1 微程序控制器的基本组成微程序控制器比组合逻辑控制器多出以下几个部件 1 控制存储器 CM 这是微程序控制器的核心部件 用来存放微程序 2 微指令寄存器 IR 用来存放从CM取出的正在执行的微指令 6 4微程序控制原理 3 微地址形成部件用来产生初始微地址和后继微地址 4 微地址寄存器 MAR 它接受微地址形成部件送来的微地址 为在CM中读取微指令作准备 6 4微程序控制原理 2 微程序控制器的工作过程微程序控制器的工作过程实际上就是在微程序控制器的控制下 计算机执行机器指令的过程 6 4微程序控制原理 1 执行取指令公操作 取指令的公共操作通常由一段取指微程序来完成 这个取指微程序也可能仅由一条微指令组成 具体的执行是 在机器开始运行时 自动将取指微程序的入口微地址送 MAR 并从CM中读出相应的微指令送入 IR 微指令的操作控制字段产生有关的微命令 用来控制实现取机器指令的公共操作 取指微程序的入口地址一般为CM的0号单元 当取指微程序执行完后 从主存中取出的机器指令就已存入指令寄存器IR中了 6 4微程序控制原理 2 由机器指令的操作码字段通过微地址形成部件产生出该机器指令所对应的微程序的入口地址 并送入 MAR 3 从CM中逐条取出对应的微指令并执行之 4 执行完对应于一条机器指令的一段微程序后又回到取指微程序的入口地址 继续第 1 步 以完成取下条机器指令的公共操作 以上是一条机器指令的执行过程 如此周而复始 直到整个程序执行完毕为止 6 4微程序控制原理 6 4 4微程序入口地址的形成每条机器指令对应一段微程序 当公用的取指微程序从主存中取出机器指令之后 由机器指令的操作码字段指出各段微程序的入口地址 初始微地址 这是一种多分支 或多路转移 的情况 由机器指令的操作码转换成初始微地址的方式主要有三种 1 一级功能转换如果机器指令操作码字段的位数和位置固定 可以直接使操作码与入口地址码的部分位相对应 6 4微程序控制原理 例如 某机有16条机器指令 指令操作码由4位二进制数表示 现以字母 表示操作码 令微程序的入口地址为 11B 各微程序的入口地址相差4个单元 11 MOV指令 0000 ADD指令 0001 7 SUB指令 0010 B 6 4微程序控制原理 2 二级功能转换当同类机器指令的操作码字段的位数和位置固定 而不同类机器指令的操作码的位数和位置不固定时 就不能再采用一级功能转换的方法 所谓二级功能转换是指第一次先按指令类型标志转移 以区分出指令属于哪一类 如 是单操作数指令 还是双操作数指令等 因为每一类机器指令中操作码字段的位数和位置是固定的 所以第二次即可按操作码区分出具体是哪条指令 以便找出相应微程序的入口微地址 6 4微程序控制原理 3 通过PLA电路实现功能转换当机器指令的操作码位数和位置都不固定时 可以采用PLA电路将每条机器指令的操作码翻译成对应的微程序入口地址 这种方法对于变长度 变位置的操作码显得更有效 而且转换速度较快 6 4微程序控制原理 6 4 5后继微地址的形成找到初始微地址之后 可以开始执行微程序 每条微指令执行完毕都要根据要求形成后继微地址 后继微地址的形成方法对微程序编制的灵活性影响很大 它主要有两大基本类型 增量方式和断定方式 6 4微程序控制原理 1 增量方式 顺序 转移型微地址 这种方式和机器指令的控制方式很类似 它也有顺序执行 转移和转子之分 顺序执行时后继微地址就是现行微地址加上一个增量 通常为1 转移或转子时 由微指令的顺序控制字段产生转移微地址 因此 在微程序控制器中应当有一个微程序计数器 PC 为了降低成本 一般情况下都是将微地址寄存器 MAR改为具有计数功能的寄存器 以代替 PC 6 4微程序控制原理 2 断定方式断定方式的后继微地址可由微程序设计者指定 或者根据微指令所规定的测试结果直接决定后继微地址的全部或部分值 这是一种直接给定与测试断定相结合的方式 其顺序控制字段一般由两部分组成 非测试段和测试段 6 4微程序控制原理 1 非测试段 可由设计者指定 一般是微地址的高位部分 用来指定后继微地址在CM中的某个区域内 2 测试段 根据有关状态的测试结果确定其地址值 一般对应微地址的低位部分 这相当于在指定区域内断定具体的分支 所依据的测试状态可能是指定的开关状态 指令操作码 状态字等 6 4微程序控制原理 测试段如果只有一位 则微地址将产生两个分支 若有两位 则最多可产生四个分支 依此类推 测试段为n位最多可产生2n个分支 6 4微程序控制原理 6 4 6微程序设计微程序设计方法 1 水平型微指令及水平型微程序设计水平型微指令是指一次能定义并能并行执行多个微命令的微指令 它的并行操作能力强 效率高 灵活性强 执行一条机器指令所需微指令的数目少 执行时间短 但微指令字较长 增加了控存的横向容量 同时微指令和机器指令的差别很大 设计者只有熟悉了数据通路 才有可能编制出理想的微程序 一般用户不易掌握 6 4微程序控制原理 2 垂直型微指令和垂直型微程序设计垂直型微指令是指一次只能执行一个微命令的微指令 它的并行操作能力差 一般只能实现一个微操作 控制一 二个信息传送通路 效率低 执行一条机器指令所需的微指令数目多 执行时间长 但是微指令与机器指令很相似 所以容易掌握和利用 编程比较简单 不必过多地了解数据通路的细节 且微指令字较短 第6章 6 1中央处理器的功能和组成6 2控制器的组成和实现方法6 3时序系统与控制方式6 4微程序控制原理6 5控制单元的设计6 6流水线技术6 7精简指令系统计算机 6 5控制单元的设计 6 5 1简单的CPU模型 6 5控制单元的设计 6 5 2组合逻辑控制单元设计1 微操作的节拍安排安排微操作节拍时应注意以下几点 有些微操作的次序是不容改变的 故安排微操作节拍时必须注意微操作的先后顺序 凡是被控制对象不同的微操作 若能在一个节拍内执行 应尽可能安排在同一个节拍内 以节省时间 如果有些微操作所占的时间不长 应该将它们安排在一个节拍内完成 并且允许这些微操作有先后次序 6 5控制单元的设计 2 组合逻辑设计步骤组合逻辑设计控制单元时 首先根据上述微操作的节拍安排 列出微操作命令的操作时间表 然后写出每一个微操作命令 控制信号 的逻辑表达式 最后根据逻辑表达式画出相应的组合逻辑电路图 6 5控制单元的设计 6 5 3微程序控制单元设计微程序控制单元的设计步骤 1 确定微程序控制方式根据计算机系统的性能指标 主要是速度 确定微程序控制方式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版供电设备检修维护合同范本
- 2025版互联网企业数据安全责任劳动合同
- 二零二五年电工电气设备维护保养服务合同
- 2025版电子产品线下零售代理销售合同范本
- 2025版金融机构信贷资产证券化合同模板
- 二零二五年度火锅店装修与装修材料质量保证合同
- 二零二五版人工智能芯片研发股权投资合同
- 2025版网络设备销售与集成合同
- 2025版汽车抵押贷款中介服务合同模板
- 二零二五年度中小学教室使用租赁合同范本
- 2024-2025学年吉林省吉林十二中高一(下)期末数学试卷(含答案)
- 2025年《幼儿园工作规程》《教师专业标准》《指南》模拟测试题(附答案)
- 2025年全国招标采购专业技能大赛(央企组)复习题及答案-竞赛类
- 疾病诊断讲课
- 2025年武汉市中考英语试卷真题(含答案)
- DGTJ08-85-2020 地下管线测绘标准
- 端粒长度预测模型-洞察及研究
- 2025新《治安管理处罚法》解读
- 浙江省舟山市2024-2025学年高二下学期6月期末物理+答案
- 执法办案培训课件
- 气候变化对水资源供需关系的动态演变分析
评论
0/150
提交评论