2011考研计算机组成原理
111 111 1111111111 第五章 中央处理器
设计实现 + ∧ ∨ 的 ALU 线路
一位的ALU的线路设计:1、首先画出其组成示意图 设计实现 +∧∨ 的ALU线路
一位的ALU的线路设计:2、接着写出功能的真值表 运算器的基本功能
* 完成算术、逻辑运算,产生运算结果
ALU执行 +、?a、×、÷、∧、∨、? 并给出运算结果的状态信息 C、Z、V、S
* 暂存运算所用操作数
寄存器组、立即数、数据总线 * 暂存运算的中间结果
寄存器组,专用寄存器,移位线路 * 输出运算结果
寄存器组、数据总线 两种不同类型的运算器
运算器包括 定点运算器 和 浮点运算器 两种类型
定点运算器:
主要完成对整数类型数据的算术运算、逻辑类型数据的逻辑运算
浮点运算器:
主要完成对浮点类型数据的算术运算,也用于完成长整数、BCD等类型的数据运算 定点运算器功能与组成
* 完成算术与逻辑运算功能 算术逻辑单元(ALU)
* 暂存参加运算的数据和中间结果 通用寄存器组
* 乘除法运算的硬件支持线路 乘商寄存器(Q寄存器) * 接收数据输入和送出运算结果
第46页 共65页
2011考研计算机组成原理
作为处理机内部数据通路(Data PathMIPS机的硬件系统组成
控制器的功能概述
控制器组成和在整机中的地位 控制器的组成概述 ① 程序计数器 PC 存放指令地址,有 增量 或 接收新值功能 ② 指令寄存器 IR 存放指令内容:操作码与操作数地址 ③ 指令执行步骤标记线路 指明每条指令的执行步骤和相对次序关系 ④ 控制信号产生线路
给出计算机各功能部件协同运行所需要的控制信号 两种不同类型的控制器
硬连线控制器组成与运行原理 MIPS机的指令格式和功能 MIPS计算机硬件系统的组成 MIPS机指令的执行步骤 硬连线控制器特点
用与-或两级构成的逻辑电路生成控制信号 线路延时小,指令执行性能好
适合实现比较精简的指令系统(早期) 常用于实现 RISC 机 (当前) 较容易实现并行
可扩展性差,制作系列机时较难实现 * 微程序控制器的基本组成
* ① 程序计数器 PC 存放指令地址,有 增量 或 接收新值的功能
第47页 共65页
2011考研计算机组成原理
② 指令寄存器 IR 存放指令内容:包括指令操作码与操作数地址两部分 ③ 微指令下地址逻辑 形成并提供出读控制存储器要使用的微指令的地址,其作用与硬连线控制器的节拍发生器有些类同。
④ 控制存储器和微指令寄存器
控制存储器用于保存由全部微指令构成的微程序,读控制存储器得到的微指令将首先存入微指令寄存器,之后才能送到各被控制部件,这一部分的作用与硬连线控制器的控制信号产生部件有些类同。 微程序控制器基本组成框图 微程序控制器的基础知识 微程序控制器的运行原理
微程序控制器的组成与运行原理 微指令下地址字段与指令执行步骤 把微程序安排到控制存储器中 下地址的形成方式和必要信息
有多种得到下条微指令地址的方式:
顺序执行时,下地址为本条微指令地址+1;
无条件转移时,可以在微指令的下地址字段直接给出这一转移地址; 条件转移时,按条件选择顺序执行或转向某一地址,下地址字段要给出转移条件和微转移地址;
多路转移时,下地址要从多个微指令地址中选择; 微子程序调用与返回,要使用到微堆栈; 根据指令操作码分支时,一般通过专门硬件映射指令操作码到该指令对应的微程序入口地址实现。
综上所述,需要在下地址字段中提供得到下地址的方式,用到的微转移判断条件,微指令的地址值等信息,要和下地址逻辑的硬件线路组成相吻合。 微指令中的下地址字段的信息 微指令中微命令字段的内容 微指令格式和字段划分设计 微程序控制器特点
采用 ROM 存储控制信号
可扩展性好,系列机的兼容性易实现 容易实现复杂的指令系统 性能比较低 并行性不太好
主要用在 CISC 中
组合逻辑与微程序控制器比较 相同点
完成相同的控制功能,控制信号基本相同
组成部分都有程序计数器 PC,指令寄存器 IR 都分成几个步骤完成一条指令的具体功能 不同点
第48页 共65页
2011考研计算机组成原理
控制信号生成方式不同
组合逻辑:由组合逻辑电路直接给出所需要的控制信号
微程序: 需要的控制信号是从控制存储器中读出来的,并经过一个微指令寄存器送到被控制部件
指令步骤标记实现方式不同
组合逻辑:节拍发生器状态指明指令执行步骤
微程序: 通过微指令的地址来解决指令执行步骤 性能和设计实现难度不同
组合逻辑:优点是运行速度快,缺点是设计与实现复杂
微程序: 缺点是运行速度慢,优点是设计与实现简单 流水线的基本概念
* 指令的几种执行方式 流水线的基本概念
* 如果取指令、分析指令、执行指令的时间都相等,每段的时间都设为t,那么n条指令所用的时间为:
* 顺序执行 * 一次重叠执行 * 两次重叠执行 流水线的特点
* 第一,把一个任务(一条指令或一个操作)分解为几个有联系的子任务,每个子任务由一个专门的功能部件来实现。
* 第二,流水线每一个功能段部件后面都要设置缓冲寄存器,或称为锁存器,其作用是保存本流水段的结果。 流水线的特点
* 第三,流水线中各功能段的时间应尽量相等,否则将引起堵塞、断流。要求流水线的时钟周期不能快于最慢的流水段。
* 第四,只有连续不断地提供同一种任务时才能发挥流水线的效率,所以在流水线中处理的必须是连续任务。
* 第五,流水线需要有装入时间和排空时间。装入时间是指第一个任务进入流水线到输出流水线的时间。排空时间是指第n个(最后一个)任务进入流水线到输出流水线的时间。 流水线的性能指标
* 流水线的吞吐率:单位时间内完成的任务数量
* 流水线的实际吞吐率为:
* 当连续输入的任务n→∞时,得最大吞吐率为: * 最大吞吐率与实际吞吐率的关系是: 流水线的性能指标
* 流水线的加速比:比不用流水线提高了多少处理能力
* 如果流水线各段执行时间都相等,则一条k段流水线完成n个连续任务实际加速比为: * 上述情况下的最大加速比为: 流水线的性能指标
* 流水线的效率:资源利用效率如何
* 如果流水线的各段执行时间均相等,而且输入的n个任务是连续的,则一条k段流水线的效率为:
第49页 共65页
2011考研计算机组成原理
* 在流水线的各段执行时间均相等,输入到流水线的任务是连续的情况下,流水线的最高效率为: 流水线的性能指标 * 流水线的最佳段数
* 增加流水线段数k时,流水线的吞吐率和加速比都能提高。但每一流水段输出端必须设置一个锁存器,当流水段数增多时,锁存器的总延迟时间也将增加;并且流水线的价格也会增加。为此,要综合考虑各方面的因素,根据总价性能价格比来选择流水线最佳段数。
* 目前,一般处理机中的流水线段数在3到12之间,极少有超过15段的流水线。一般把8段或超过8段的流水线称为超流水线,采用8段以上流水线的处理机有时也称为超流水线处理机。 流水线的相关问题
* 什么是流水线中的“相关”?
* 在流水线中经常有一些被称为―相关‖的情况发生,它使得指令序列中下一条指令无法按照设计的时钟周期执行,这些―相关‖可能会降低流水线可以获得的理想性能。 * 流水线中的相关可以分为以下三种类型
* 第一种是结构相关,是指令在重叠执行的过程中,硬件资源满足不了指令重叠执行的要求,发生硬件资源冲突而产生的相关。
* 第二种是数据相关,是指在同时重叠执行的几条指令中,一条指令依赖于前面指令执行结果数据,但是又得不到时发生的相关。 * 第三种是控制相关,它是指流水线中的分支指令或者其他需要改写PC的指令造成的相关。
* 解决流水线中“相关”问题的重要性
* 流水线相关问题是流水线执行过程中的主要障碍,会给流水线中指令序列的顺利执行带来许多不利的影响。如果不能较好的处理流水线相关问题,就可能影响流水线的性能,甚至使程序运行产生错误的结果。 结构相关和相应解决方法 * 解决结构相关的基本方法
* 结构相关的起因是资源争用,那么可以考虑采用资源重复设置的方法来避免结构相关。
* 例如:解决存储器争用冲突的办法
* (1)如果指令和数据放在同一个存储器,可使用双端口存储器,其中一个端口存取数据,另一个端口取指令。
* (2)设置两个存储器,其中一个作为数据存储器,另一个作为指令存储器。 * 上述两种方案中,取指令和访问数据可以并行进行,不会发生结构相关。 数据相关和相应解决方法
* 定向(旁路)技术解决数据相关,主要思想是:在某条指令产生一个计算结果之前,其他指令并不真正需要使用这个计算结果,如果能够从这个计算结果产生的地方直接将它送到后续指令需要使用它的地方,那么就可以避免暂停 控制相关和相应解决方法
* 流水线的控制相关是因为程序执行转移类指令而引起的相关,如无条件转移、条件转移、子程序调用指令等,它们属于分支指令,执行中可能改变程序的方向,从而造成流水线
第50页 共65页