计算机组成原理
第五章 中央处理器
author:slightwjq
2022年12月27日
5.1CPU功能和基本结构
CPU由运算器和控制器组成。具体功能包括:指令控制、操作控制、时间控制、数据加工、中断处理。
运算器主要由算术逻辑单元ALU、暂存寄存器、累加寄存器ACC、通用寄存器组、程序状态字寄存器PSW、移位器、计数器CT等组成。
控制器是系统的指挥枢纽,分为硬布线控制器和微程序控制器两种。
5.2 指令执行过程
指令周期
CPU从主存取出并执行一条指令的时间称为指令周期,常用若干机器周期表示,一个机器周期又包含若干时钟周期。
一个完整的指令周期包括取值、间址、执行、中断4个周期。
取值周期:根据PC中的内容从主存中取出指令代码并存放在IR中。FE = 1。
间址周期:取操作数有效地址,将指令中的地址码送到MAR并送至地址总线,此后向存储器发出读命令,以获取有效地址并送入MDR。IND = 1。
执行周期:取操作数并执行。EX = 1。
中断周期:处理中断请求。INT = 1。
指令间并行执行的方案称为流水线方案。
5.3 数据通路的功能和基本结构
数据在功能部件之间的传送的路径称为数据通路。
- 寄存器之间的数据传送。
- 主存与CPU之间的数据传送。
- 执行算术或逻辑运算。
5.4 控制器的功能和工作原理
硬布线控制器
根据指令要求、当前的时序及外部和内部的状态,按时间的顺序发送一系列微操作控制信号。
指令的操作码是决定控制单元CU发出不同命令(控制信号)的关键。
CPU有同步控制、异步控制、联合控制三种方式。
微程序控制器
每条机器指令编写成一个微程序,每个微程序包含若干微指令,每条微指令对应一或几个微操作的命令。
- 微操作是计算机中最基本的不可再分的操作。
- 微命令和微操作一一对应,微命令有相容性和互斥性之分。
- 微指令是若干微命令的集合,存放微指令的控制机存储单元地址称为微地址。
- 微周期是指从控制器中读取一条微指令并执行相应的微操作所需的时间。
微程序和程序是两个概念,微程序是由微指令组成的,用于描述机器指令,实际上是机器指令的实时解释器。
5.5 中断和异常
详见操作系统。
5.6 指令流水线
时间上并行称为流水线技术,空间上并行称为超标量处理机。
指令执行分为:取址(IF)、译码/读寄存器(ID)、执行/计算地址(EX)、访存(MEM)、写回(WB)5个阶段。
理想情况下,每个时钟周期都有一条指令进入指令流水线,每个时钟周期都有一条指令完成,CPI均为1.
为便于实现指令流水线,指令集应有以下特征:
- 指令长度尽量一致。
- 指令格式尽量规整,尽量保证源寄存器的位置相同。
- 采用Load/Store指令访存。
- 数据和指令对齐存放。
流水线的冒险与处理
- 结构冒险:多条指令在同一时刻争用同一资源。解决:
- 前一指令访存时,其后指令暂停一个周期 。
- 单独设置数据和指令存储器。
- 数据冒险:下一条指令会用到当前指令的计算结果。解决:
- 后序指令暂停一至几个周期。
- 设置相关专用通路,称为数据旁路技术。
- 调整指令顺序。
- 控制冒险:遇到会改变指令执行顺序的情况。解决:
- 分支预测。
- 预取两种情况。
- 加快和提前形成条件码。
- 提高转移方向猜准率。
- 本文作者: 魏静崎
- 本文链接: https://slightwjq.github.io/2023/10/17/计算机组成原理-第五章/
- 版权声明: 该文章来源及最终解释权归作者所有