【计算机组成原理】中央处理器总结——基本知识要点汇总

halo~我是bay_Tong桐小白
本文内容是桐小白个人对所学知识进行的总结和分享,知识点会不定期进行编辑更新和完善,了解最近更新内容可参看更新日志,欢迎各位大神留言、指点

【更新日志】

最近更新:

  • 暂时没有编辑记录,后续会持续完善优化
计算机统考408考纲要求

2021计算机统考408考纲计算机组成原理学科考察目标

  • 理解单处理器计算机系统中各部件的内部工作原理、组成结果以及相互连接方式,具有完整的计算机系统的整机概念
  • 理解计算机系统层次化结构概念,熟悉硬件与软件之间的界面,掌握指令集体系结构的基本知识和基本实现方法
  • 能够综合运用计算机组成的基本原理和基本方法,对有关计算机硬件系统中的理论和实际问题进行计算、分析,对一些基本部件进行简单设计,并能对高级程序设计语言(如C语言)中的相关问题进行分析

2021计算机统考408计算机组成原理考纲变动情况
在这里插入图片描述
2021计算机统考408考纲对中央处理器部分考察要求
在这里插入图片描述

CPU的功能和基本结构

功能: 指令控制(包括取指令、分析指令、执行指令等操作,即程序的顺序控制)、操作控制、时间控制、数据加工、中断处理

基本结构:

从整体功能划分:运算器、控制器(现代CPU中往往还附有Cache)

从部件划分:主要包含若干寄存器、算术逻辑单元ALU、控制单元CU、中断系统
在这里插入图片描述
不同CPU中寄存器的数量和名词通常也均不同,大体上可以分为通用寄存器、专用寄存器

通用寄存器可以存放初始数据、中间结果、最终结果,用途广泛,对用户可见

专用寄存器有专门用途,主要包含:

  • 程序计数器PC/指令指针寄存器IP:存放下一条要读取的指令的地址,对用户可见
  • 指令寄存器IR:存放刚读取的一条指令
  • 存储单元地址寄存器MAR:存放一个内存地址
  • 存储单元数据寄存器MDR:存放要写入内存的数据或存放从内存读取的数据
  • 标志寄存器FR/程序状态字PSW:寄存器的不同位代表CPU的某些不同状态,由CPU每执行1条指令后自动设置,这些状态作为条件供后面的转移指令做判断用

在这里插入图片描述
简单来说,CPU整体上可分为运算器、控制器(现代CPU中往往还附有Cache)

运算器主要完成对数据的加工,详细内容可见本栏文章《数据的表示和运算器总结——基本知识要点汇总》

控制器主要完成对指令控制(包括取指令、分析指令、执行指令等操作,即程序的顺序控制)、操作控制、时间控制、中断处理等信号的控制,详细内容见下文指令周期、控制器功能和工作原理等部分

从部件上主要包含若干寄存器、算术逻辑单元ALU、控制单元CU、中断系统,各器件之间主要通过内部总线进行联系,详细见下文数据通路的功能和组成部分

在这里插入图片描述

数据通路的功能和组成

数据通路:在CPU内部实现各个期间之间数据信息交换,可分为共享通路(总线型)和专用通路两大类

共享通路(总线型):

  • 主要部件都连接在公共总线上,各部件间通过总线进行数据传输
  • 结构简单,实现容易,但并发性较差,需分时使用总线,效率低

专用通路:

  • 并发度高,性能佳,设计复杂,成本高,根据指令执行过程中的数据和地址的流动方向安排连接线路
  • 可以看做多总线结构

CPU内部的若干器件通过内部总线实现信息流动,内部总线结构可以有单总线方式、双总线方式、三总线方式、专用数据通路方式

指令周期及指令执行过程

时钟周期: CPU的基本时间计量单位,是CPU一切操作的计时标准和基本控制信号,由计算机的主频决定

机器周期(CPU周期): CPU通过总线从内存读取一个机器字的时间称为一个CPU周期,一般需要4个时钟周期,分别称为T1、T2、T3、T4状态
在这里插入图片描述

指令周期: 执行一条指令需要经过读取指令、指令译码、指令执行的过程,把执行一条指令所需要的时间称为指令周期。不同指令的指令周期是不等长的,最短时间为两个机器周期,一个机器周期取指令,一个机器周期执行指令;有的复杂的指令需要更多机器周期
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
取值周期: 取指令操作
在这里插入图片描述

间址周期: 取得有效地址
在这里插入图片描述

执行周期: 取得操作数完成具体操作

中断周期: 保存程序断点
在这里插入图片描述

控制器的功能和工作原理

控制器部件从数据总线接收指令信息,从运算器部件接收指令转移地址,送出指令地址到地址总线,还要向系统中的部件提供它们运行所需要的控制信号
在这里插入图片描述
即完成以下功能:

  • 从主存中取出一条指令,并指出下一条指令在主存中的位置
  • 对指令进行移码或测试,产生相应的操作控制信号,以便启动规定的动作
  • 指挥并控制CPU、主存、输入和输出设备之间的数据流向

控制器的设计方法主要有两种:

  • 硬布线控制器:采用时序逻辑技术实现
  • 微程序控制器:采用存储逻辑实现

硬布线控制器

由上述提到的指令周期的概念可知,CPU将一个机器周期分为分为若干个更小的时间段(1 个机器周期一般等于4 个时钟周期),同时规定在1个时间段内CPU的动作。这种时间的约束对CPU来说是必要的而且非常严格,这种时间约束就是时序控制,是由时序产生器的时序信号来控制的

硬布线控制器是早期设计控制器的一种方法。这种方法是把控制部件看作为产生时序控制信号的逻辑电路,这种逻辑电路是一种由门电路和触发器构成的复杂树形逻辑网络,故称之为硬布线控制器

由于硬布线控制器采用完全的逻辑电路来实现,一旦控制部件构成后,除非重新设计和物理上对它重新布线,否则要想增加新的控制功能是不可能的

基本原理:
在这里插入图片描述
基本架构:
在这里插入图片描述

微程序控制器

由上述提到的指令执行过程可知,1条指令的处理执行过程可分为读取指令、指令译码、指令执行几个步骤

微程序设计需明确以下几个概念:

微程序: 每条机器指令对应一段微程序, 这段微程序执行完毕, 该指令规定的功能也就完成了

微指令: 微指令是指在微程序控制的计算机中,同时发出的控制信号所执行的一组微操作

微命令: 构成控制信号序列的最小单位(即一条微指令中的每一位对应就是一种微命令)

【简单说即,程序由一组指令组成;指令由一个微程序实现;微程序由一组微指令实现;微指令由一组微操作(即微命令)实现】

微程序设计技术是利用软件方法来设计硬件的一门技术。即仿照通常的解题程序的方法,把操作控制信号编成所谓的 “ 微指令 ” ,存放到一个只读存储器里。当机器运行时一条又一条地读出这些 “ 微指令 ” ,从而产生全机所需要的各种操作控制信号,使相应部件执行所规定的操作

以TEC-8微程序控制器为例:

指令:LD R0,[R3];对应十六进制为53H

功能:将R3寄存器中的内容作为内存地址,将相应内存地址的内容送至R0寄存器

如下图TEC-8微程序控制器控制信号序列每一位即为一个微命令,一组微命令组成一条微指令,一组微指令形成一个微程序,微程序实现的功能即为指令的功能

指令LD R0,[R3];对应十六进制为53H,对应微程序由如下的微指令组成
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

指令流水线

基本概念

核心:并行处理技术

并行和并发的含义:

  • 并行性:两个以上事件在 同一时刻 发生。例如在多 CPU 系统中,同一时刻多个进程在运行
  • 并发行:两个以上事件在 同一间隔内 发生。如某一时刻 CPU 中只有一个进程运行,而一个时间段内多个进程同时运行

并行性的三种形式:

  • 时间并行: 让多个处理过程在时间上相互错开,轮流地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。时间并行性概念的实现方式就是采用流水处理部件
  • 空间并行:设置重复资源,同时工作。空间并行技术主要体现在多处理器系统和多计算机系统
  • 时间并行+空间并行:时间重叠和资源重复的综合应用

在这里插入图片描述
在这里插入图片描述

影响流水线的因素

设一条指令流水线包含5个子过程:取指令(IF)、指令译码(ID)、计算有效地址(EX)、取操作数(MEM)、结果回写(WB)

结构相关(资源冲突): 多条指令在同一时刻争用同一资源而形成的冲突
在这里插入图片描述
解决方法:

  • 前一指令访存时,使后一条相关指令(及其后续指令)暂停一个时钟周期
  • 单独设置数据存储器和指令存储器,使两项操作各自在不同的存储器中进行(属于资源重复配置)

数据相关(数据冲突): 指在一个程序中,存在必须等前一条指令执行完才能执行后一条指令的情况,则这两条指令为是数据相关,当多条指令重叠处理时就会发生冲突
在这里插入图片描述
解决方法:

  • 数据旁路技术:设置相关专用通路,即不等前一条指令把计算结果写回寄存器组,下一条指令也不再读寄存器组,而是直接把前一条指令的ALU的计算结果作为自己的输入数据开始计算过程,使本来需要暂停的操作变得可以继续执行
  • 把遇到数据相关的指令及其后续指令都暂停1到n个时钟周期,直到数据相关问题消失后再继续执行。可分为硬件阻塞和软件插入“NOP”指令两种方法
  • 通过编译器对数据相关的指令编译优化的方法,调整指令顺序来解决数据相关

控制相关: 当执行转移指令时,依据转移条件的产生结果可能顺序取下条指令,也可能转移到新的目标地址取指令,从而使流水线发生断流

解决方法:

  • 延迟转移法:基本思想是“先执行再转移”,即发生转移取时并不排空指令流水线,而是让紧跟在转移指令之后已进入流水线的少数几条指令继续完成。如果这些指令是与结果有关的指令,那么延迟损失时间片正好得到了有效的利用,否则将结果丢弃
  • 转移预测法:用硬件方法来实现,依据指令过去的行为来预测将来的行为。通过记录产生转移的指令和转移地址,将转移预测提前到取指阶段进行,使用转移取和顺序取两路指令预取队列器,以获得良好的效果

流水线性能指标

吞吐率TP
在这里插入图片描述
n 是任务数;Tk是处理完成 n 个任务所用的时间在这里插入图片描述
▲t为时钟周期

加速比: 完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比称为流水线的加速比
在这里插入图片描述
T0表示不使用流水线时的执行时间,即顺序执行所用的时间;Tk表示使用流水线时的执行时间

效率:
在这里插入图片描述

超级标量、超级流水线、超长指令字

超级标量技术:CPU内配备多个执行部件,能够同时执行多条指令的取指令、译码、执行
在这里插入图片描述

超级流水线技术:多数流水线的每个步骤实际需要时间不到分配的时间段的一半,因此增加1个内部时钟,它的频率是原时钟信号的n倍。使指令的每个步骤按这个内部时钟信号运行,这种流水线方式即为超级流水线
在这里插入图片描述
超长指令字:将多条能并行操作的指令组合成一条具有多个操作码字段的超长指令字

持续更新中……
我是桐小白,一个摸爬滚打的计算机小白

猜你喜欢

转载自blog.csdn.net/bay_Tong/article/details/113062382