计算机体系结构——流水线技术(Pipelining)
本文导读:
一、并行技术
1.并行技术分类
2.新技术的设计与实现
3.指令周期
二、流水线技术
1.什么是流水线
2.指令重叠方式
3.流水工作设计
4.流水线的描述方法(时空图)
5.流水线特点
三、流水线的分类(了解)
四、流水线相关及冲突(重点)
1.流水线相关
2.流水线冲突
3.流水线冲突带来问题
4.数据冲突及其解决方案
5.结构冲突及其解决方案
6.控制冲突及其解决方案
五、流水线性能分析(含例题讲解)
1.流水线的基本参数——吞吐率
2.流水线的基本参数——加速比
3.流水线的基本参数——效率
4.结果分析
5.有关流水线性能的若干问题
六、循环展开优化
1.指令调度
2.循环展开
七、多指令流出技术(拓展了解)
1.超标量
2.超长指令字
一、并行技术
- 现流行的并行技术大都可以从三个方面实现:
- 资源重复:如多核
- 资源共享:如CPU分时技术
- 时间重叠:如流水线技术
- 新技术的设计与实现
- 引入新技术进行优化
- 出现新问题
- 解决新问题
采用一些机制可以解决
权衡
- 整体评估、反馈、再改进
- 指令周期
- 单周期处理机模型:一个周期完成一个指令(每个周期是等长的),指令长度可能不一样,会造成很大的浪费
- 多周期处理机模型:将一个指令的完成划分成若干个周期来实现
- 流水线模型
二、流水线技术
1. 什么是流水线?
- 计算机中的流水线是把一个重复的过程分解为若干个子过程,每个子过程与其他子过程并行进行。由于这种工作方式与工厂中的生产流水线十分相似, 因此称为流水线技术
- 从本质上讲,流水线技术是一种时间并行技术。
2.指令重叠方式
- 顺序执行:控制简单,节省设备;但是速度慢,功能部件的利用率低
- 重叠执行方式 :指令的执行时间缩短 ,功能部件的利用率明显提高 ;但是需要增加一些硬件;控制过程稍复杂
3.流水线工作设计
- 基本思想:延伸重叠方式,使指令解释过程进一步细化, 提高各部件的利用率,以提高指令执行速度
- 理想目标:完成任务的时间与操作处理过程无关,只与提供操作的速度有关(假设一个任务有n个指令,将完成一个指令分为m个段,每段执行时间为△t ,则理想目标是完成任务的时间是T=m△t+(n-1)△t;当n >> m时,T=(n-1)△t。 指令执行频率为 1 / △t: 即 与m无关,只和提供操作的速度△t有关)。
4.流水线的描述方法
- 时间—空间图 Ⅰ:
横坐标:表示时间,即各个任务在流水线中所经过的时间
纵坐标:表示空间,即流水线的各个子过程,也称为级、 段、流水线深度(Stage)
- 时间—空间图 Ⅱ:
横坐标:表示时间,即各个任务或指令在流水线中 所在该时刻所对应的子过程
纵坐标:表示某个任务或某条指令,即流水线依次 处理的任务或指令
IF:Instruction Fetch,取指令,用到部件:指令存储器,Adder( 全加器,full-adder,是用门电路实现两个二进制数相加并求出和的组合线路,称为一位全加器。一位全加器可以处理低位进位,并输出本位加法进位。多个一位全加器进行级联可以得到多位全加器。常用二进制四位全加器74LS283)
ID:Instruction Decode,译码(应该是取数同时译码的过程),用到部件:指令译码器寄存器堆读口(这里面的寄存器堆的读口和写口可以看作两个不同的部件),这块有大量寄存器,WB也是从写口将数据写到这块的寄存器中。
EX:Exec,执行,计算内存单元地址。用到部件:ALU,扩展器
MEM:访存,从数据存储器中读。用到部件:数据存储器。
WB:Write Back,写回,将数据写到寄存器中。用到部件:寄存器堆写口。
- 工作流程:分装入、流水、排空 三个流程
- 同步处理:功能部件 + 锁存器
- 硬件要求:
独立工作的各子功能部件;
各部件处理时间尽可能相等,争取最大工作频率;
解决访存冲突,即允许不同指令的同时读、写功能;
解决同步问题,保证以相同的速度处理
5.流水线特点
在流水线处理器中,连续任务是充分发挥流水线的效率必要条件之一
一个任务的执行过程可以划分成多个有联系的子任务,每个子任务由一个专门的功能部件实现
每个功能部件后面都有缓冲存储部件,用于缓冲本步骤的执行结果
同时有多个任务在执行;每个子任务的功能部件并行工作,但各个功能部件上正在执行的是不同的任务
各子任务执行的时间应尽可能相近
流水线有装入时间和排空时间,只有流水线完全充满时, 流水线的效率能得到充分发挥
三、流水线的分类(了解)
1.按处理级别
操作级流水操作重叠
指令级流水指令执行重叠
处理器级(宏流水线)任务重叠
2.按功能分
单功能流水线:流水线只完成一种固定功能
多功能流水线:流水线可以完成多种功能,如 TI公司的ASC机,8段流水线,能够实现:定点加减 法、定点乘法、浮点加法等功能
3.按同一时间内各段之间的连接方式分
静态多功能流水线 :同一时间内,多功能结构只能按一种功能的连接方式工作。
动态多功能流水线:在同一时间内,可以有多种功能的连接方式同时工作
4.按处理的数据类型
标量流水线
向量流水线
5.按控制方式
同步流水线
异步流水线:当Si功能段要向Si+1段传送数据时,首 先发出就绪信号,Si+1功能段收到信号后,向Si回送 一个回答信号。
6.按任务从输出端的流出顺序
顺序流水方式:指