Jump to content

NetBurst

From Wikipedia, the free encyclopedia
(Redirected from Execution trace cache)

NetBurst
General information
LaunchedNovember 20, 2000; 24 years ago (November 20, 2000)
Performance
Max. CPU clock rate1.3 GHz to 3.8 GHz
FSB speeds100 MT/s to 1066 MT/s
Cache
L1 cache8 KB to 16 KB per core
L2 cache128 KB to 4096 KB
L3 cache4 MB to 16 MB shared
Architecture and classification
MicroarchitectureNetBurst
Instruction setx86-16, IA-32,
x86-64 (some)
Extensions
Physical specifications
Transistors
Cores
  • 1-2 (2-4 threads with hyper-threading)
Sockets
Products, models, variants
Models
  • Celeron
  • Celeron D
  • Pentium 4
  • Pentium D
  • Xeon
History
PredecessorP6
SuccessorsIntel Core
IA-64

The NetBurst microarchitecture,[1][2] called P68 inside Intel, was the successor to the P6 microarchitecture in the x86 family of central processing units (CPUs) made by Intel. The first CPU to use this architecture was the Willamette-core Pentium 4, released on November 20, 2000 and the first of the Pentium 4 CPUs; all subsequent Pentium 4 and Pentium D variants have also been based on NetBurst. In mid-2001, Intel released the Foster core, which was also based on NetBurst, thus switching the Xeon CPUs to the new architecture as well. Pentium 4-based Celeron CPUs also use the NetBurst architecture.

NetBurst was replaced with the Core microarchitecture based on P6, released in July 2006.

Technology

[edit]

The NetBurst microarchitecture includes features such as Hyper-threading, Hyper Pipelined Technology, Rapid Execution Engine, Execution Trace Cache, and replay system which all were introduced for the first time in this particular microarchitecture, and some never appeared again afterwards.

Hyper-threading

[edit]

Hyper-threading is Intel's proprietary simultaneous multithreading (SMT) implementation used to improve parallelization of computations (doing multiple tasks at once) performed on x86 processors. Intel introduced it with NetBurst processors in 2002. Later Intel reintroduced it in the Nehalem microarchitecture after its absence in the Core 2.

Quad-Pumped Front-Side Bus

[edit]

The Northwood and Willamette cores feature an external Front Side Bus (FSB) that runs at 100 MHz which transfers four bits per clock cycle, thus having an effective speed of 400 MHz. Later revisions of the Northwood core, along with the Prescott core (and derivatives) have an effective 800 MHz front-side bus (200 MHz quad pumped). [1]

Hyper-Pipelined Technology

[edit]

The Willamette and Northwood cores contain a 20-stage instruction pipeline. This is a significant increase in the number of stages compared to the Pentium III, which had only 10 stages in its pipeline. The Prescott core increased the length of the pipeline to 31 stages. A drawback of longer pipelines is the increase in the number of stages that need to be traced back in the event of a branch misprediction, increasing the penalty of said misprediction. To address this issue, Intel devised the Rapid Execution Engine and has invested a great deal into its branch prediction technology, which Intel claims reduces branch mispredictions by 33% over Pentium III.[3] In reality, the longer pipeline resulted in reduced efficiency through a lower number of instructions per clock (IPC) executed as high enough clock speeds were not able to be reached to offset lost performance due to larger than expected increase in power consumption and heat.

Rapid Execution Engine

[edit]

With this technology, the two arithmetic logic units (ALUs) in the core of the CPU are double-pumped, meaning that they actually operate at twice the core clock frequency. For example, in a 3.8 GHz processor, the ALUs will effectively be operating at 7.6 GHz. The reason behind this is to generally make up for the low IPC count; additionally this considerably enhances the integer performance of the CPU. Intel also replaced the high-speed barrel shifter with a shift/rotate execution unit that operates at the same frequency as the CPU core. The downside is that certain instructions are now much slower (relatively and absolutely) than before, making optimization for multiple target CPUs difficult. An example is shift and rotate operations, which suffer from the lack of a barrel shifter which was present on every x86 CPU beginning with the i386, including the main competitor processor, Athlon.

Execution Trace Cache

[edit]

Within the L1 cache of the CPU, Intel incorporated its Execution Trace Cache. It stores decoded micro-operations, so that when executing a new instruction, instead of fetching and decoding the instruction again, the CPU directly accesses the decoded micro-ops from the trace cache, thereby saving considerable time. Moreover, the micro-ops are cached in their predicted path of execution, which means that when instructions are fetched by the CPU from the cache, they are already present in the correct order of execution.[4] Intel later introduced a similar but simpler concept with Sandy Bridge called micro-operation cache (UOP cache).

Replay system

[edit]

The replay system is a subsystem within the Intel Pentium 4 processor to catch operations that have been mistakenly sent for execution by the processor's scheduler. Operations caught by the replay system are then re-executed in a loop until the conditions necessary for their proper execution have been fulfilled.

Branch prediction hints

[edit]

The Intel NetBurst architecture allows branch prediction hints to be inserted into the code to tell whether the static prediction should be taken or not taken, while this feature was abandoned in later Intel processors. According to Intel, NetBurst's branch prediction algorithm is 33% better than the one in P6.[5][6]

Scaling-up issues

[edit]

Despite these enhancements, the NetBurst architecture created obstacles for engineers trying to scale up its performance. With this microarchitecture, Intel planned to attain clock speeds of 10 GHz,[7] but because of rising clock speeds, Intel faced increasing problems with keeping power dissipation within acceptable limits. Intel reached a speed barrier of 3.8 GHz in November 2004 but encountered problems trying to achieve even that. Intel abandoned NetBurst in 2006 after the heat problems became unacceptable and then developed the Core microarchitecture, inspired by the P6 Core of the Pentium Pro to the Tualatin Pentium III-S, and most directly the Pentium M.

Revisions

[edit]
Revision Processor Brand(s) Pipeline stages
Willamette (180 nm) Celeron, Pentium 4, Xeon 20
Northwood (130 nm) Celeron, Pentium 4, Pentium 4 HT, Pentium 4 HT Extreme Edition, Xeon 20
Prescott (90 nm) Celeron D, Pentium 4, Pentium 4 HT,
Pentium 4 HT Extreme Edition, Xeon
31
Cedar Mill (65 nm) Celeron D, Pentium 4 HT 31
Smithfield (90 nm) Pentium D, Xeon 31
Presler (65 nm) Pentium D, Xeon 31

Intel replaced the original Willamette core with a redesigned version of the NetBurst microarchitecture called Northwood in January 2002. The Northwood design combined an increased cache size, a smaller 130 nm fabrication process, and Hyper-threading (although initially all models but the 3.06 GHz model had this feature disabled) to produce a more modern, higher-performing version of the NetBurst microarchitecture.

In February 2004, Intel introduced Prescott, a more radical revision of the microarchitecture. The Prescott core was produced on a 90 nm process, and included several major design changes, including the addition of an even larger cache (from 512 KB in the Northwood to 1 MB, and 2 MB in Prescott 2M), a much deeper instruction pipeline (31 stages as compared to 20 in the Northwood), a heavily improved branch predictor, the introduction of the SSE3 instructions, and later, the implementation of Intel Extended Memory 64 Technology (EM64T), Intel's branding for their compatible implementation of the x86-64 64-bit version of the x86 microarchitecture (as with hyper-threading, all Prescott chips branded Pentium 4 HT have hardware to support this feature, but it was initially only enabled on the high-end Xeon processors, before being officially introduced in processors with the Pentium trademark). Power consumption and heat dissipation also became major issues with Prescott, which quickly became the hottest-running, and most power-hungry, of Intel's single-core x86 and x86-64 processors. Power and heat concerns prevented Intel from releasing a Prescott clocked above 3.8 GHz, along with a mobile version of the core clocked above 3.46 GHz.

Intel also released a dual-core processor based on the NetBurst microarchitecture branded Pentium D. The first Pentium D core was codenamed Smithfield, which is actually two Prescott cores in a single die, and later Presler, which consists of two Cedar Mill cores on two separate dies (Cedar Mill being the 65 nm die-shrink of Prescott).

Roadmap

[edit]

Successor

[edit]

Intel had Netburst-based successors in development called Tejas and Jayhawk with between 40 and 50 pipeline stages, but ultimately decided to replace NetBurst with the Core microarchitecture,[8][9] released in July 2006; these successors were more directly derived from the Pentium Pro (P6 microarchitecture). August 8, 2008 marked the end of Intel NetBurst-based processors.[10] The reason for NetBurst's abandonment was the severe heat problems caused by high clock speeds. While some Core- and Nehalem-based processors have higher TDPs, most processors are multi-core, so each core gives off a fraction of the maximum TDP, and the highest-clocked Core-based single-core processors give off a maximum of 27 W of heat. The fastest-clocked desktop Pentium 4 processors (single-core) had TDPs of 115 W, compared to 88 W for the fastest clocked mobile versions. Although, with the introduction of new steppings, TDPs for some models were eventually lowered.

The Nehalem microarchitecture, the successor to the Core microarchitecture, was supposed to be an evolution of NetBurst according to Intel roadmaps dating back to 2000.[citation needed] Nehalem reimplements certain features of NetBurst, including the Hyper-Threading technology first introduced in the 3.06 GHz Northwood core, and L3 cache, first implemented on a consumer processor in the Gallatin core used in the Pentium 4 Extreme Edition.

NetBurst-based chips

[edit]

See also

[edit]

References

[edit]
  1. ^ Carmean, Doug (Spring 2002). "The Intel Pentium 4 Processor" (PDF). Intel. Archived from the original (PDF) on April 19, 2018.
  2. ^ "Replay: Unknown Features of the NetBurst Core". XbitLabs. March 6, 2016. Archived from the original on March 6, 2016.
  3. ^ "The Trace Cache Branch Prediction Unit". Intel's New Pentium 4 Processor. Tom's Hardware. November 20, 2000. Retrieved April 30, 2021.
  4. ^ "Entering The Execution Pipeline - Pentium 4's Trace Cache, Continued". Intel's New Pentium 4 Processor. Tom's Hardware. November 20, 2000. Retrieved April 30, 2021.
  5. ^ Fog, Agner (December 1, 2016). "The microarchitecture of Intel, AMD and VIA CPUs" (PDF). p. 36. Retrieved March 22, 2017.
  6. ^ Milenkovic, Milena; Milenkovic, Aleksandar; Kulick, Jeffrey. "Demystifying Intel Branch Predictors" (PDF).
  7. ^ Shimpi, Anand Lal. "The future of Intel's manufacturing processes". Retrieved April 4, 2018.
  8. ^ "Intel says Adios to Tejas and Jayhawk chips". The Register.
  9. ^ Goodwins, Rupert. "Intel cancels Tejas and Jayhawk". ZDNet. Retrieved August 21, 2019.
  10. ^ Shilov, Anton (May 21, 2007). "The Era of Intel's NetBurst Micro-Architecture Comes to End". XbitLabs. Archived from the original on October 17, 2015. Retrieved November 29, 2015.
[edit]