Pentium 4 Intel® NetBurst™ Micro-architecture Details
Pentium 4处理器是Intel全新NetBurst微架构 的第一代处理器实现(其实也是最后一代)。本节详细介绍NetBurst微架构以及它在Pentium 4处理器上的运行细节。这些信息为后续章节中推荐的优化原则与编码规则提供了技术背景知识。
Intel NetBurst微架构的设计目标是高主频高性能的整型和浮点型计算,具有如下特性:
- 超深度流水线技术,允许高主频以及远超过1GHZ的升频潜力
- 急速执行引擎,减少基本的整型指令的延迟
- 高性能的4泵的总线接口,高达400MHz的系统总线频率
- 乱序地投机式执行,允许指令并行执行
- 超标量发射指令,运行并行性
- 硬件寄存器重命名机制,避免IA32寄存器名字空间的限制
- 高速缓存行长度是64字节或者128字节
- 硬件预取
Intel NetBurst Microarchitecture Design Consideration
Intel NetBurst微架构的两个主要设计目标是:(1) 高速地处理执行传统的IA32代码与基于SIMD技术的新程序;(2)运行在非常高的频率上,为将来升频至更高的主频预留空间。为了实现这个目标,Intel NetBurst微架构相比上一代P6微架构提供许多新的高级特性以及增强特性。
- 它采用了超深度流水线,允许非常高的运行频率,而且片上的不同部件可以运行在不同的频率上,有些部件比处理器标定频率更快,有些则低于标频。相比起Pentium III处理器,Pentium 4处理器可以达到非常高的时钟频率,实际上远超过1GHz。
- 通过对常用指令进行优化,流水线在常规情形(例如高速缓存命中)下可以高效的译码和执行这些指令,因此经常碰到的代码序列可以低延迟高吞吐的进行处理。
- 采用各种技术来代偿流水线停顿产生的性能损失,包括并行执行,缓冲技术,和投机执行技术。而且,由于Intel NetBurst微架构是动态地乱序执行指令,所以针对单条指令的执行时间不总是确定的(即不可预测)。由于执行时处理器状态的不同,相同代码序列的运行性能也可能会有所差异。
由于Intel NetBurst微架构“微妙的”复杂性,Pentium 4的优化文档推荐的优化原则与方法以及要避免的情况,只是给出了一个相对的优先考虑,通常并不代表绝对的可以量化的性能期望与性能损失。尽管在前几代有序的微架构实现上,量化是可行的,但是现在在Pentium 4处理器上,就不太可行了。