引言
现代CPU有运算器,cache ,控制器三部分组成称为中央处理器
CPU具有的功能
- 指令控制:
- 操纵控制:
- 时间控制:操作定时
- 数据加工:对数据进行算逻运算
CPU的组成
控制器(CU)
- 组成
- 程序计数器(PC):指示指令在存储器中的存放位置
- 指令寄存器(IR): 用来存放正在执行的指令,输出包括操作码信息和地址信息
- 指令译码器:识别指令的功能
- 时序产生器:
- 操作控制器
- 功能
- 从指令cache中取出一条指令,并指出下一条指令在指令cache中的位置
- 对指令进行译码/测试,以便启动规定的动作
- 指挥并控制CPU,数据cache和输入输出之间数据流动的方向
运算器
组成
- 算术逻辑单元
- 通用寄存器
- 数据缓冲寄存器
- 状态寄存器(PSW):记录先行程序的运行状态和指示程序的工作方式
功能
- 执行所有算术运算
- 执行所有逻辑运算
cpu 的结构
借鉴别人的图像
CPU控制信息的传送方式
- 程序输入输出方式
- 中断方式
- DMA方式
- 通道方式
指令周期
概念
- 计算机的工作过程就是执行程序的过程,也即指令执行的过程。
- 计算机之所以能自动工作,是因为CPU能从存放程序的内存里取出一条指令并执行这条指令,这是一个循环
- 一个指令周期通常包含若干CPU周期
- CPU周期(机器周期):CPU访问一次内存花时间较长,因此通常用从内存中读取一条指令字的最短时间来定义
- 时钟周期(节拍脉冲,T周期):一个CPU周期包含若干时钟周期。时钟周期是处理操作的最基本时间单位
各类指令的执行步骤
非访内指令
需要两个CPU周期
- 第一个CPU周期取指令阶段,完成三件事情
- 送指令地址并对程序计数器PC+1,以便为取下一条指令做好准备
- 从内存取出地址
- 对指令操作码进行译码或测试,以便确定进行什么操作
- 第二个CPU周期即执行指令阶段,cpu根据对指令操作的译码或测试,进行指令所要求的操作
直接访内指令
由三个CPU周期组成
- 第一个CPU周期是取指令周期
- 第二个CPU周期将操作数的地址送往地址寄存器并完成地址译码
- 第三个CPU周期从内存取出操作数并执行相应的操作
间接访存指令
由四个CPU周期组成
- 取指令
- 送地址指示器
- 取出操作数地址
- 取操作数并执行相应的操作
程序控制类指令
由两个指令周期组成
- 取值
- 执行指令
数据通路
1. 概念
指令执行过程中,数据所经过的路径(包括路径中的部件),是指令的执行部件
2.作用
- 描述了信息从什么地方开始,中间经过那个寄存器或多路开关,最后传送到那个寄存器
- 其中专门进行数据运算的部件称为执行部件(功能部件),数据通路由控制部件控制
- 实现CPU内部的运算器与寄存器,以及寄存器之间的数据交换
3.基本结构
数据通路的基本结构:CPU内部单总线方式,CPU内部三总线方式和专用数据通路方式
- CPU内部单总线
- 将所有寄存器的输入端和输出端都连接到一条公共通路上,优点是结构简单易于实现,缺点是数据传输时存在较多的冲突现象
- CPU内部三总线
- 将所有寄存器的输入和输出端都连接到多条公共通路上,像这种CPU内部不止一条总线的称为多总线结构,相比单总线结构好处是可以同时传送不同的数据从而提高效率
- 专用数据通路
- 根据指令执行过程中的数据和地址流动方向安排线路,避免使用共享的总线,性能较高,缺点是硬件量大
- 内部总线是指同一部件,如CPU内部连接各寄存器以及运算部件之间的总线;系统总线是指一台计算机系统的各部件,如CPU,内存,通道和各类I/O接口间相互连接的总线
两种控制器
硬布线控制器
概念
- 定义:基本原理是根据指令的要求,当前的时序和外部以及内部的状态,按时间顺序产生一系列微操作控制信号。
- 通常由复杂的组合逻辑门电路和一些触发器构成,因此又称为组合逻辑控制器
- 其控制单元结构文字描述:CU的左边是节拍发生器,右边标志,上是IR输出操作码译码到CU 下面输出
- 指令操作码是决定控制单元发出控制信号的关键,CU的输入信号来源:
- 经指令译码器译码产生的指令信息
- 时序系统产生的机器周期信号和节拍信号
- 来自执行单元的反馈信息(标志)
- 来自控制总线的控制信号(中断请求)
时序系统及微操作
时钟周期:用时钟信号控制节拍发生器产生宽度为一个时钟周期的节拍
机器周期:通常以存取周期作为基准时间,即内存中读取一个指令字的最短时间作为机器周期
指令周期:一条指令从主存取出到执行完成的时间
微操作命令
- 控制单元发出一系列用于控制功能部件执行相关功能的操作信号,必须按一定顺序发出才能让机器有序地工作
- 一条指令分为三个工作周期:取值,间址,执行
CPU控制方式
同步控制:指系统有一个统一时钟,所有控制信号均来自这个统一时钟信号;通常以最长的微操作序列和最繁琐的微操作作为标准
异步控制:不存在基准时标信号,各部件按自身固有的速度工作,通过应答方式联络;
联合控制:对不同指令的微操作大部分同步,小部分异步;
设计步骤
微程序控制器
定义
- 微程序控制器通过将微操作信号代码化,使每条机器指令转换为一段微程序并存放在专门的控制存储器,微操作控制信号由微指令产生;因此微程序控制用存储逻辑实现
- 设计思想:将每条机器指令编写成微程序,每个微程序包含若微指令,每条微指令对应一个或多个微操作命令
相关术语
指令流水线
三种冲突
结构资源相关
- 引起方式:
- 不同指令争用同一部件引起得冲突
- FO取指和FI取操作数会引发访存冲突
- 解决办法
- 流水线完成前一条指令对数据的存储器访问时,暂停取后一条指令
- 设置独立存储器存放操作数和指令
- 采用指令预取技术,将指令预取到指令队列中,这样取操作数操作便可以独占存储器访问
数据相关
- 引起方式:不同指令得重叠操作,可能改变对操作数得读写访问顺序
- 写后读相关
- 读后写相关
- 写后写相关
- 解决办法
- 后推法 遇到数据相关时,停顿后继指令运行,直到前面指令结果已经生成
- 定向技术 旁路技术 将某条指令执行结果不送回寄存器而是直接送到其他指令所需的地方
控制相关
引起方式:
- 由转移指令引起 若是条件转移指令,则转移目标地址可能发生跳转,影响流水线效率。
解决办法
- 尽早判别转移是否发生,尽早生成转移目标地址
- 预取转移成功和不成功两个方向的目标指令
- 加快和提前形成条件码

