快速执行引擎(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行)
前端总线流水线(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不再需要清洗预取追踪。