一.CPU的功能和结构
一.CPU的功能
1.指令控制:完成取指令、分析指令和执行指令的操作,即程序的顺序控制。
2.操作控制:一条指令的功能往往是由若干操作信号的组合来实现的。CPU管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作。
3.时间控制:对各种操作加以时间上的控制。时间控制要为每条指令按时间顺序提供应有的控制信号。
4.数据加工:对数据进行算术和逻辑运算。
5.中断处理:对计算机运行过程中出现的异常情况和特殊请求进行处理。
二.CPU的基本结构
三.运算器的基本结构
1.算术逻辑单元:主要功能是进行算术/逻辑运算。
2.通用寄存器组:如AX、BX、CX、DX、SP等,用于存放操作数(包括源操作数、目的操作数及中间结果)和各种地址信息等。SP是堆栈指针,用于指示栈顶的地址。
问题:如果直接用导线连接,相当于多个寄存器同时并且一直向ALU传输数据,那么每一个输入端接收到的是一个叠加的信号,无法分辨谁在传输信号。
3.专用数据通路方式:根据指令执行过程中的数据和地址的流动方向安排连接线路。性能较高,基本不存在数据冲突现象,但结构复杂,硬件量大,不易实现。
方法1:使用多路选择器,根据控制信号选择一路输出
方法2:使用三态门可以控制每一路是否输出
如:R0out为1时R0中的数据输出到A端,R0out为0时R中的数据无法输出到B端
4.CPU内部单总线方式:将所有寄存器的输入端和输出端都连接到一条公共的通路上。
四.控制器的基本结构
二.指令执行过程
一.指令周期
指令周期:CPU从主存中每取出并执行一条指令所需的全部时间。指令周期常常用若干机器周期来表示,机器周期又叫CPU周期。
一个机器周期又包含若干时钟周期(也称为节拍、T周期或CPU时钟周期,它是CPU操作的最基本单位)。
二.指令周期流程
三.指令周期的数据流
一.取指周期
有时候说PC存放的当前指令的地址,有时候说存放的是下一条指令的地址,主要是看取指令开始阶段还是取指令执行结束的阶段。
二.间址周期
三.中断周期
四.指令执行方案
方案1:单指令周期
对所有指令都选用相同的执行时间来完成。指令之间串行执行;指令周期取决于执行时间最长的指令的执行时间。
对于那些本来可以在更短时间内完成的指令,要使用这个较长的周期来完成,会降低整个系统的运行速度。
方案2:多指令周期
对不同类型的指令选用不同的执行步骤来完成。指令之间串行执行;可选用不同个数的时钟周期来完成不同指令的执行过程。
需要更复杂的硬件设计。
方案3:流水线方案
在每一个时钟周期启动一条指令,尽量让多条指令同时运行,但各自处在不同的执行步骤中。指令之间并行执行。
三.数据通路的功能和基本结构
一.CPU内部单总线方式
一.结构
内部总线:指同一部件,如CPU内部连接各寄存器及运算部件之间的总线。
系统总线:指同一台计算机系统的各部件,如CPU、内存、通道和各类l/O接口间互相连接的总线。
二.CPU内部单总线例题
二.专用数据通路方式
一.取指周期
四.控制器
一.功能和结构
控制器是计算机系统的指挥中心,控制器的主要功能有:
- 1.从主存中取出一条指令,并指出下一条指令在主存中的位置。
- 2.对指令进行译码或测试,产生相应的操作控制信号,以便启动规定的动作。
- 3.指挥并控制CPU、主存、输入和输出设备之间的数据流动方向。
二.控制单元的输入和输出
三.硬布线控制器
硬布线工作原理:微操作控制信号由组合逻辑电路根据当前的指令码、状态和时序,即时产生
四.CPU的控制方式
CPU的控制方式:产生不同微操作命令序列所用的时序控制方式。
1.同步控制方式:整个系统所有的控制信号均来自一个统一的时钟信号。同步控制方式的优点是控制电路简单,缺点是运行速度慢。
2.异步控制方式:异步控制方式不存在基准时标信号。各部件按自身固有的速度工作,通过应答方式进行联络。异步控制方式的优点是运行速度快,缺点是控制电路比较复杂。
3.联合控制方式:对各种不同的指令的微操作实行大部分采用同步控制、小部分采用异步控制的办法。
五.安排微操作时序
一.原则
原则一:微操作的先后顺序不得随意更改
原则二:被控对象不同的微操作尽量安排在一个节拍内完成
原则三:占用时间较短的微操作尽量安排在一个节拍内完成,并允许有先后顺序
二.安排微操作时序-取值周期
三.安排微操作时序-间址周期
四.安排微操作时序-执行周期
五.安排微操作时序-中断周期
五.组合逻辑设计
画出逻辑图
六.微程序
一.基本思想
微程序工作原理:事先把微操作控制信号存储在一个专门的存储器(控制存储器)中,将每一条机器指令编写成一个微程序,这些微程序可以存到一个控制存储器中,用寻址用户程序机器指令的办法来寻址每个微程序中的微指令。
二.微程序控制的基本概念
三.基本结构
四.控制存储器
五.微指令格式
1.水平型微指令
2.垂直型微指令
3.混合型微指令
在垂直型的基础上增加一些不太复杂的并行操作。微指令较短,仍便于编写;微程序也不长,执行速度加快。
六.微指令地址形成方式
七.微指令地址形成方式-断定方式
七.硬布线于微程序比较
五.指令流水
一.指令流水定义
一条指令的执行过程可以分成多个阶段(或过程)。根据计算机的不同,具体的分法也不同。
如:取指——分析——执行(每个阶段使用的硬件不一样)
- 取指:根据PC内容访问主存储器,取出一条指令送到IR中。
- 分析:对指令操作码进行译码,按照给定的寻址方式和地址字段中的内容形成操作数的有效地址EA,并从有效地址EA中取出操作数。
- 执行:根据操作码字段,完成指令规定的功能,即把运算结果写到通用寄存器或主存中。
设取指、分析、执行3个阶段的时间都相等,用t表示,按以下几种执行方式分析n条指令的执行时间:
二.流水线表示方法
三.流水线性能指标
四.机器周期设置
五.影响流水线的因素
1.资源冲突
2.数据冲突
硬件stall阻塞效果
软件NOP效果
例题
3.控制冲突
六.流水线分类
1.按流水线使用的级别分类:
- 部件功能级流水就是将复杂的算术逻辑运算组成流水线工作方式。例如,可将浮点加法操作分成求阶差、对阶、尾数相加以及结果规格化等4个子过程。
- 处理机级流水是把一条指令解释过程分成多个子过程,如前面提到的取指、译码、执行、访存及写回5个子过程。
- 处理机间流水是一种宏流水,其中每一个处理机完成某一专门任务,各个处理机所得到的结果需存放在与下一个处理机所共享的存储器中。
2.按流水线可以完成的功能
- 单功能流水线指只能实现一种固定的专门功能的流水线;
- 多功能流水线指通过各段间的不同连接方式可以同时或不同时地实现多种功能的流水线。
3.按同一时间内各段之间的连接方式
- 静态流水线指在同一时间内,流水线的各段只能按同一种功能的连接方式工作。
- 动态流水线指在同一时间内,当某些段正在实现某种运算时,另一些段却正在进行另一种运算。这样对提高流水线的效率很有好处,但会使流水线控制变得很复杂。
4.按流水线的各个功能段之间是否有反馈信号
- 线性流水线中,从输入到输出,每个功能段只允许经过一次,不存在反馈回路。
- 非线性流水线存在反馈回路,从输入到输出过程中,某些功能段将数次通过流水线,这种流水线适合进行线性递归的运算。
七.流水线的多发技术