intel历代架构演进2——NetBurst微架构

Intel在奔腾4芯片家族使用了该架构,NetBurst架构提供如下功能:

  • 快速执行引擎(The Rapid Execution Engine)

    • —  算数逻辑单元 (ALUs) 运行速率是cpu频率的两倍。

    • —  基本整形计算可以在处理器1/2个时钟周期分发完成。

  • 超流水线技术(Hyper-Pipelined Technology)

    • —  深度流水线来保证行业领先的台式机和服务器的时钟频率。

    • —  频率提升空间和可扩展性继续引领未来

  • 高级动态执行器(Advanced Dynamic Execution)

    • —  深入,无序,投机的执行引擎

      • 提升到126条指令集

      • 流水线提升到48路加载和24路存储

    • —  增强分支预测能力(Enhanced branch prediction capability)

      • 减少了无效预测

      • 高级分支预测算法

      • 4K-entry branch target array

  • 新的cache子系统

    • —  一级缓存

      • 先进的缓存存储解码指令执行跟踪

      • 执行器追踪缓存从主执行循环中移除解码延迟。

      • 执行器追踪缓存集成程序路径执行流为一个单一行。

      • 低延迟数据缓存

    • —  二级缓存

      • 全速,统一的八路芯片级的高级转换缓存。

      • 和处理器主频之间的带宽和性能的提升。

  • 高性能,4倍并发总线接口 

    • —  支持4倍并发技术,可扩展的总线时钟,实现了4倍的有效速度。

    • —  带宽提升到了8.5GByte/second

  • 支持并行的超级体系结构

  • 扩大硬件寄存器,并且重新定义了寄存器的名字避免寄存器命名空间的限制。

  • 64-byte 每行缓存(转换数据提升到每个sector2行)

下图是 NetBurst微架构的总览。该架构的流水线由3部分组成1.前端总线流水线。2.乱序执行引擎3.回退单元

前端总线流水线(The Front End Pipeline)

前端支持乱系指令执行内核,提供功能如下:

  • 预取有可能被执行的指令

  • 获取未被预取的指令

  • 通过微操(micro-operations)解码指令

  • 为复杂指令和专用代码生成微代码

  • 从执行器的追踪缓存投递解码指令。

  • 使用高级算法预测分支

流水线用来解决常见的问题,两个问题导致主要来源的延迟:
  • 从目标获取指令解码的时间

  • 分支或者分支目标从缓存行中获取浪费的带宽。

  • 操作流水线的追踪缓存来解决这些问题。指令被不断从翻译引擎中获取和解码 (part of the fetch/decode logic) 并且构建成有序的微操叫做追踪。在任何时候,多个追踪(代表预取的分支)被存储到追踪缓存中。追踪缓存被用来查找指令,该指令跟随活跃分支。如果指令像第一个指令一样在预取分支中出现, 从内存体系结构停止和预取分支中获取和解码指令成为新的指令源。

    追踪缓存和翻译引擎在分支预测硬件中合作。The trace cache and the translation engine have cooperating branch prediction hardware. 目标分支在他们的线性地址中被预测并且使用分支目标缓存(BTBs)并且尽可能快的获取。

乱序执行引擎内核(Out-Of-Order Execution Core)

乱序执行引擎内核的能力是乱序执行指令来达到并行的关键因素。该特性让处理器的指令重排,如果一个micro-op被delay,其他around的micro-op会被执行。处理器使用数个缓冲区让指令流平滑执行。

设计的核心是促使并行执行。可以在一个周期分发6个微操(这已经超过了追踪缓存和回退微操的带宽). 不少流水线可以在每个周期执行一个新的微操,很多指令可以在每个管道中快速执行。大量的算术逻辑单元(ALU)可以在两个周期内启动 ;很多浮点指令可以在2个周期内启动。 

回退单元(Retirement Unit)

回退单元从乱序指引引擎内核中接收执行微操的结果,并且处理结果,所以通过最初的程序顺序来更新架构状态。

当一个微操执行完成并且回写了结果,将进行回退。一个周期内将会回退3个微操。重排缓冲区(ROB)是处理器的单元用于缓存执行完成的微操,按顺序更新架构状态,并且管理异常的顺序。回退部分仍然保持分支的trak并且发送更新分支目标信息到BTB。BTB不再需要清洗预取追踪。



版权声明:本文为lingqi1818原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。