Atitit 性能提升 流水线模式 流水线深度

Atitit 性能提升  流水线模式 流水线深度

 

 

1.1. 每一个具体步骤就是一条业务指令 1

2. 流水线的级(深度 2

2.1. 如何确定合适的级数  深度 2

3. 流水线深度 3级流水 5级别  15级别 2

4. 流水线深度过深的问题 3

4.1. 复杂度也不能一直细化划 3

4.2. 分支预测流水线冲刷(Pipeline Flush 3

5. 流水线其他概念 4

5.1. ”流水线停顿(pipeline stall)” 4

5.2. 两条指令之间的关系可以分为:数据相关和控制相关,数据相关分为; 4

5.3. 流水线互锁实现 5

5.4. 动态分支预测 5

 

 

1.1. 每一个具体步骤就是一条业务指令

 

流水线处理器性能的主要障碍是指令相关引起的流水线停顿,其中控制相关引起的分支开销是最重要的部分。

动态分支预测能减少这一部分的开销,预测成功时,流水线没有停顿。在检测到预测失败时,必须清空流水线。

减少从取指段到完成分支指令段的距离也可以减少分支指令引起的开销。

 

在流水线处理器设计中,不仅仅数据通道被流水化了,连控制通道也被流水化了,传统的数据通道和控制通道被合并到同一条流水线。

 

2. 流水线的级(深度

采用流水线技术后,并没有加速单条指令的执行,每条指令的操作步骤一个也不能少,只是多条指令的不同操作步骤同时执行,因而从总体上看加快了指令流速度,缩短了程序执行时间。

为了进一步满足普通流水线设计所不能适应的更高时钟频率的要求,高档次处理器中的流水线的深度(级数)在逐代增多。当流水线深度在5~6级以上时,通常称为超流水线结构SuperPipeline)。显然,流水线级数越多,每级所花的时间越短,时钟

 

 

2.1. 如何确定合适的级数  深度

 

产上的装配流水线。在CPU中由5—6个不同功能的电路单元组成一条指令处理流水线,然后将一条X86指令分成5—6步后再由这些电路单元分别执行,这样就能实现在一个CPU时钟周期完成一条指令,因此提高CPU的运算速度。经典奔腾每条整数流水线都分为四级流水,即取指令、译码、执行、写回结果,浮点流水又分为八级流水。

 

6 bit标识指令的操作码,即这条指令是干什么的,后面26 bit是这个跳转指令的跳转地址。指令是一串0、1序列,译码单元要将这条指令包含的有用数据解出来,如果是跳转指令,就要知道它的地址,如果是运算指令,就要知道的它的源操作数、目的操作数在哪,这样处理器才能进行后续的运算。

3. 流水线深度 3级流水 5级别  15级别

 

发展到 Cortex-A(32-bit)/ARMv7-A/Cortex-A8 已经支持多达 13 级流水线,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值