|
深管线—处理器最重要的管线之一,分支预报和防御管线在Pentium 4中是20个进程的深度,这整整是PIII的两倍,P4还对每一个管线的复杂进程进行了简化。
改进的分支预报单元——Intel 声称NetBurst 错误预报削减了P6设计原预计性能的33%之多。P4处理器改进了其精确度,并存储更多的关于过去分支信息在一个更大的容量中,4K 分支目标缓冲器是PIII的8倍,这对于分支预报提供了更好的算法。两倍时钟的运算器——NetBurst 有一对简单的算术逻辑单元(ALUs),它用于处理特定的整数运算。这些单元运行速度是处理器的两倍。例如,在1.5GHz Pentium 4处理器中,他的运行速度是3GHz。两倍时钟速度是一个巧妙的设计,深管线的P4 需要它来保持它的工控。执行轨迹追踪缓冲——像PIII和Athlon这些同时代的x86处理器的译码x86指令更小,处理它们之前执行bite-sized操作(Inter 称之为微操作)。这允许x86处理器有更多RISC-like 设计,但是译码的x86指令执行要用时间。NetBurst 的执行踪迹缓存代替常规的L1指令缓存,它储存了micro-ops 而不是x86指令。Intel 关于踪迹缓存的准确的大小不是很大,但是他们宣称它可以存储12,000micro-ops。
P4的NetBurst L1 数据缓存仅仅是奔腾III 的大小的一半, 仅 8K。远小于Athlon 的64K 数据缓冲。这个设计是因为更较小的缓存有更低的传输延迟时间,所以Intel 选择这个缓存的大小。如果Athlon 和PIII 数据缓存是3周期传输延迟时间,那么P4的L1数据缓存传输延迟时间是2周期。这是P4保持深管线很好的储存计划的一部分。
P4的 L2 缓存是 256K, 和Athlon和PIII相仿, 但是它的发热更少。P4的L2缓存接口是256比特带宽,它在每时钟周期上发送数据。 而1.4GHz的奔腾4的带宽是44.8GB/sec。几乎是1GHZ的PIII L2缓冲的4倍带宽。而Athlon它 L2 缓存仍然很慢,但是我看到 AMD 工程师宣称 Athlon L2 缓存没有实际的带宽限制。无论怎样,P4的L2缓存仍然惊人。
100MHz的四芯导线泵的前端总线—— NetBurst 总线每一时钟循环发送数据4次,因此大家总是谈论'400MHz 总线' 。但我们只将其作为一个100MHz时钟频率来谈论,P4拆分处理事务总线在400MHz可以以每秒有3.2GB 数据传输,或可以说这是在100MHz下得到的。
SSE2 SIMD 扩展名——一个计算低工控最好的方法是让每指令执行更多的工作。到P4设计结束为止,Intel 增加了一套包括144条新建指令的SSE2指令集。像最早的SIMD 扩展指令集,SSE2涉及了多重的数据目标上立刻执行一单个的指令(即 SIMD)。最重要的是SSE2能处理128位和两倍精密浮点数学运算。处理更精确浮点数的能力使SSE2成为加速多媒体程序、3D处理工程以及工作站类型任务的基础配置。但重要的是软件是否能适当的优化利用它。
相对简单的浮点处理器—— 奔腾 4的浮点运算单元设计和奔腾 III不同,而是与Athlon 宿主浮点运算器有些相似。P4的FPU 无法与Athlon同样的执行工作程序,但在一些情况下有更高的传输延迟时间。为SSE2优化的程序将能在许多情形中绕过P4的FPU处理弱点。
通过这些对P4设计的分析可以看出,P4确实相当的优秀。P4的管道的深度,与它的less-than-stellar FPU 结合,将保持它的工控或clock-for-clock 性能。由于优化的 SSE2, 多媒体应用软件在P4上运行如飞。 |
|