计算机体系结构——流水线技术

计算机体系结构——流水线技术(Pipelining)

本文导读:

复制代码

一、并行技术
1.并行技术分类
2.新技术的设计与实现
3.指令周期

二、流水线技术
1.什么是流水线
2.指令重叠方式
3.流水工作设计
4.流水线的描述方法(时空图)
5.流水线特点

三、流水线的分类(了解)

四、流水线相关及冲突(重点)
1.流水线相关
2.流水线冲突
3.流水线冲突带来问题
4.数据冲突及其解决方案
5.结构冲突及其解决方案
6.控制冲突及其解决方案

五、流水线性能分析(含例题讲解)
1.流水线的基本参数——吞吐率
2.流水线的基本参数——加速比
3.流水线的基本参数——效率
4.结果分析
5.有关流水线性能的若干问题

六、循环展开优化
1.指令调度
2.循环展开

七、多指令流出技术(拓展了解)
1.超标量
2.超长指令字

复制代码

 

一、并行技术

  1. 现流行的并行技术大都可以从三个方面实现:
  • 资源重复:如多核
  • 资源共享:如CPU分时技术
  • 时间重叠:如流水线技术

 

  1. 新技术的设计与实现
  • 引入新技术进行优化
  • 出现新问题
  • 解决新问题

           采用一些机制可以解决

           权衡

  • 整体评估、反馈、再改进

 

  1. 指令周期
  • 单周期处理机模型:一个周期完成一个指令(每个周期是等长的),指令长度可能不一样,会造成很大的浪费
  • 多周期处理机模型:将一个指令的完成划分成若干个周期来实现
  • 流水线模型

 

二、流水线技术

     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.按任务从输出端的流出顺序

     顺序流水方式:指令

  • 6
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
很抱歉,作为人工智能,我无法提供思维导图。但我可以为您介绍一下流水线工作原理和冲突处理方法。 计算机体系结构流水线的工作原理: 流水线是一种计算机结构,用于提高指令处理速度。流水线将一个指令处理分成若干个流水段,每个流水段负责执行一个指令处理的一部分。同时,多条指令可以在不同的流水段同时处理,从而提高了处理效率。 流水线中一般包含以下五个流水段: 1. 取指令(IF):从内存中读取指令。 2. 指令译码(ID):将指令翻译为计算机可以理解的指令。 3. 执行指令(EX):执行指令的操作。 4. 存储访问(MEM):访问内存来获取数据。 5. 写回结果(WB):将执行的结果写回内存或寄存器中。 冲突处理方法: 1. 数据相关(Data Hazards):当一条指令需要用到另一条指令才能执行时,就会出现数据相关。 解决方法: ① 前推技术(Forwarding):让结果直接流动到需要的地方,绕过数据相关的指令。 ② 排队技术(Stalling):将流水线暂停,等待需要的数据指令完成。 2. 控制相关(Control Hazards):当分支指令的结果未知时,即分支指令的条件尚未满足,就会出现控制相关。 解决方法: ① 预测分支指令的结果,提前预测好接下来的指令,以减少等待时间。 ② 延迟槽技术(Delayed Branch):在分支指令之后加入一个无操作指令,使得下一条指令一定会执行。 以上是计算机体系结构流水线的相关与冲突处理方法的介绍,希望对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值