微处理器重要技术之——流水线

本文深入探讨了CPU流水线技术,包括基本概念、流水线深度的影响、流水冒险的类型(结构冒险、数据冒险、分支冒险)及其解决策略,如延迟分支和静态/动态分支预测。此外,还介绍了异常处理机制和多周期指令的处理方法,展示了如何在提高处理器性能的同时应对复杂挑战。
摘要由CSDN通过智能技术生成

引言

作为电路设计的一种技术,流水线(pipeline 采用沿着数据通路引入流水线锁存器的方法来减小 有效关键路径(Effective Critical Path,从而提高时钟速度或采样速度,或者在同样的速度下降低功耗。与流水线经常作比较的另一种高速度或低功耗技术是并行处理。当一组互不相关的计算能够在一个流水线系统中按交替方式计算时,则它们也能够利用复制硬件的方式按并行处理的模式计算。而流水线其实是 重定时(retiming 技术的一种特殊情况,在此不再展开。在这里插入图片描述

首先,一个架构的速度(或时钟周期)由任意两个锁存器间、或一个输入与一个锁存器间、或一个锁存器与一个输出间、或输入与输出间路径中最长的组合逻辑路径限定。其次,这个最长的路径或 “关键路径” 可以通过在架构中适当插入流水线锁存器来减小,这就是流水线技术的基础。流水线技术的缺点是增加了锁存器数目(电路面积增大)和增加了系统的迟滞(latency1

一个流水线例子

虽然很少在数字电路或 CPU 之外的领域听到流水线技术,但是利用流水线的模数转换器(ADC)其实非常流行。在这里插入图片描述
在上图所示的流水线 ADC 结构中,输人 V I N V_{IN} VIN 首先被采样-保持(S&H)电路所采样,同时第一级的闪速 ADC 把它量化为3位,然后把此3位输出传递给一个3位的 DAC(具有12位精度),输人信号减去此 DAC 的输出,放大4 倍传递给下一级(第二级)。继续重复上述过程,每级提供3位,直到它到达最后一级4 位闪速 ADC,该 ADC 解析最后4个 LSB。对应某一次采样,由于每级在不同的时问得到变换结果,因此在进行数宇误差校正前用移位奇存储器对各级的结果先按时间对准。只要某一级完成了某一采样的变换,得到结果并把差值传递给下一级,它就可以开始处理从每一级的采样一保持电路中接收到的下一个采样。因此流水线操作提高了处理能力。

CPU 流水线

基本概念

在 CPU 中,流水线主要用于实现多条指令重叠执行,在计算机体系结构的书中称之为指令级并行(Instruction level parallelism,ILP。如果流水线各级达到完美平衡(每个步骤执行时间相等),那么
每 条 指 令 在 流 水 线 处 理 器 中 的 时 间 = 非 流 水 线 机 器 上 每 条 指 令 的 执 行 时 间 流 水 线 级 数 每条指令在流水线处理器中的时间=\tfrac{非流水线机器上每条指令的执行时间}{流水线级数} 线=线线当然实际流水线不会达到如此效果,因为流水线控制会产生开销,延迟会变大(增加的流水线寄存器的时间开销),流水级之间存在失衡(流水线的处理时间受限于最慢的处理步骤),流水线会遇到冒险等问题,但是总体上流水线技术会缩短每条指令时钟周期数(Cycles per Instruction,CPI
C P I = 程 序 的 C P U 时 钟 周 期 数 指 令 数 CPI=\tfrac{程序的 CPU 时钟周期数}{指令数} CPI=C

  • 5
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值