

Two gigahertz isn’t quite the same milestone as when the 1GHz processors originally arrived in March 2000. But as Intel marketers have stated, getting to 1GHz took about 30 years, while the next GHz only took about a year and a half. It’s quite an impressive feat, and you have to admit that 2GHz is a nice round number that rolls off the tongue–plus saying “two gigahertz” is somehow more satisfying than saying “one point eight gigahertz”. Intel has pushed the 0.18 micron process pretty hard to get a shipping product capable of running at 2GHz. Given that it is a significant milestone, we devoted a fair amount of time to wringing out Intel’s latest offspring, using an expanded suite of benchmark tests that cover a broad array of application segments.

For reviews of shipping products and a different point of view on Intel’s 2 GHz P4, check out’s article “Deep Inside Intel’s 2-GHz Pentium 4“.

You may recall that we described the Pentium 4 architecture in-depth in J. Scott Gardner’s article on PC Processor Microarchitectures, so we won’t go too deep about the P4 internals. But here are the high points:

  • The Pentium 4 has a 20-stage pipeline, and can have as many as 126 instructions in flight simultaneously. When it works, the performance is stellar, but branch mispredictions can create significant pipeline stalls. To combat the mispredict penalty, the Pentium 4 contains significant logic to help predict if a branch will be taken or not taken, but it’s only accurate up to a point. However, the 20-stage pipeline enables higher clock rates, and Intel is certainly pushing ahead on that front. Also, the number of instructions per clock with code that’s optimized for the architecture is considerably higher than with code optimized for older processors.
  • There’s an 8-KB L1 cache and 256KB of L2 cache in this 0.18 micron chip. There’s also an execution trace cache that can hold up to 12K decoded micro-ops. If the code branches, and the branch address is in the trace cache, a smaller penalty is paid for the branch misprediction. However, some conditional branches may require target instructions not already decoded and cached in the in trace cache, which triggers a fetch from main memory, and that’s very expensive. Optimizing code to minimize branching is the key to good Pentium 4 performance. In fact, optimizing code this way helps any pipelined CPU, but since the Pentium 4 pays a greater penalty for branch mispredictions, it also benefits substantially from careful optimization. When the micro-ops needed by the CPU are present in the trace cache, precious instruction decode cycles are saved.
  • The SSE2 instruction set is a substantial evolution of SSE. It’s SIMD (single instruction, multiple data) functionality now includes the ability to execute two double-precision 64-bit floating point operations per clock; whereas the the original SSE was limited to four 32-bit single-precision operations. Many engineering and scientific applications need 64-bit floating-point precision. P4 also extends MMX integer SIMD instruction processing to 128 bits from 64 bits, so two 64-bit integer operations can be performed at once. Intel is positioning SSE2 as a sort of software-based successor to x87 floating point, though many floating point applications do not lend themselves well to SIMD processing and will still require standard x87 processing, also included in the Pentium 4. Tests have shown that its x87 FPU performance lags behind the FPU of AMD’s Athlon, for example. However, properly written SSE2 code can be quite speedy. Intel has a series of papers on using SSE2, including applications notes on coding up “large number” math (computations using exceptionally large mantissas), using SSE2 for double-precision floating point calculations and a lot more, (see Intel’s article).
  • The Pentium 4 supports a 100MHz frontside bus capable of shipping four 64-bit data samples per clock, for an effective FSB speed of 400MHz, and bandwidth of 3.2GB/sec. This matches nicely with the high bandwidth (3.2GB/sec) of dual-channel PC800 RDRAM. The Pentium 4 is designed to mate with high bandwidth memory, but as we’ve seen lately, that memory doesn’t necessarily have to be RDRAM.

The Pentium 4 is a substantial evolution of Intel’s IA-32 architecture. While it maintains backward compatibility, its full performance potential will only be realized with applications that have at least been recompiled with Pentium 4 aware compilers. Even better results will be obtained with fully optimized applications.

The 2GHz Pentium 4 we’re taking a look at today resembles past Pentium 4’s in that it still uses the 0.18 micron manufacturing process. This is probably the fastest P4 that will use the older process. The next generation of Pentium 4, code named “Northwood”, will be based on the 0.13 micron, copper-interconnect process that made its debut with the Tualatin Pentium III’s. Intel will scale the clock rate even higher with Northwood, but performance improvements will also occur due to a larger L2 cache (512KB) expected to be included.

The CPU we tested is based on the new socket 478 format (Figure 1), with the extra pins being used mostly for additional power and ground signals to provide more robust electrical signaling at higher clock rates. This is also the debut of the socket 478 format.

Figure 1

Despite the increased pin count, the socket and the CPU are far more compact than their predecessors, though the heat shield on the CPU itself is slightly larger. (Figures 2 and 3).

Figure 2
Figure 3

The older socket 423 CPU is on the left; the smaller socket 478 processor is on the right. Note how tightly the array of pins are packed in a much smaller space. This actually made the CPU a tad easier to insert than the older 423 pin processor into the older 423-pin socket. Of course, a 0.18 micron CPU running at two gigahertz generates just a little heat, so it comes with a fairly beefy active cooler (Figure 4).

Figure 4

The cooler is just a simple, machined aluminum affair–no copper slug, just a lot of surface area to make contact with the heat spreader on the P4 CPU. The fan now has two mounting clips, but it’s one of the easiest large coolers we’ve had to install.