P6 (microarchitecture)

Source: Wikipedia, the free encyclopedia.

P6
P5
SuccessorNetBurst
Support status
Unsupported

The P6 microarchitecture is the sixth-generation Intel x86 microarchitecture, implemented by the Pentium Pro microprocessor that was introduced in November 1995. It is frequently referred to as i686.[2] It was planned to be succeeded by the NetBurst microarchitecture used by the Pentium 4 in 2000, but was revived for the Pentium M line of microprocessors. The successor to the Pentium M variant of the P6 microarchitecture is the Core microarchitecture which in turn is also derived from P6.

P6 was used within Intel's mainstream offerings from the Pentium Pro to Pentium III, and was widely known for low power consumption, excellent integer performance, and relatively high instructions per cycle (IPC).

Features

The P6 core was the sixth generation Intel microprocessor in the x86 line. The first implementation of the P6 core was the Pentium Pro CPU in 1995, the immediate successor to the original Pentium design (P5).

P6 processors dynamically translate

Nx586
, introduced in 1994, did so earlier.

Other features first implemented in the x86 space in the P6 core include:

  • Speculative execution and Out-of-order execution (called "dynamic execution" by Intel), which required new retire units in the execution core. This lessened pipeline stalls, and in part enabled greater speed-scaling of the Pentium Pro and successive generations of CPUs.
  • Superpipelining, which increased from Pentium's 5-stage pipeline to 14 of the Pentium Pro and early model of the Pentium III (Coppermine), and eventually morphed into less than 10-stage pipeline of the Pentium M for embedded and mobile market due to energy inefficiency and higher voltage issues that encountered in the predecessor, and then again lengthening the 10- to 12-stage pipeline back to the Core 2 due to facing difficulty increasing clock speed while improving fabrication process can somehow negate some negative impact of higher power consumption on the deeper pipeline design.
  • A front-side bus using a variant of Gunning transceiver logic to enable four discrete processors to share system resources.[4]
  • Physical Address Extension (PAE) and a wider 36-bit address bus to support 64 GB of physical memory.[5]
  • Register renaming, which enabled more efficient execution of multiple instructions in the pipeline.
  • CMOV
    compiler optimization
    .
  • Other new instructions: FCMOV, FCOMI/FCOMIP/FUCOMI/FUCOMIP, RDPMC, UD2.
  • New instructions in Pentium II Deschutes core: MMX, FXSAVE, FXRSTOR.
  • New instructions in Pentium III: Streaming SIMD Extensions.

P6 based chips

P6 Variant Pentium M

P6 Pentium M
Enhanced Pentium M
Support status
Unsupported

Upon release of the Pentium 4-M and Mobile Pentium 4, it was quickly realized that the new mobile NetBurst processors were not ideal for mobile computing. NetBurst-based processors were simply not as efficient per clock or per watt compared to their P6 predecessors. Mobile Pentium 4 processors ran much hotter than Pentium III-M processors without significant performance advantages. Its inefficiency affected not only the cooling system complexity, but also the all-important battery life. Intel went back to the drawing board for a design that would be optimally suited for this market segment. The result was a modernized P6 design called the Pentium M.

Design Overview[6]

  • MT/s
    FSB first used in Pentium 4. The Dothan core moved to the 533 MT/s FSB, following Pentium 4's evolution.
  • Larger L1/L2 cache. L1 cache increased from predecessor's 32 KB to current 64 KB in all models. Initially 1 MB L2 cache in the Banias core, then 2 MB in the Dothan core. Dynamic cache activation by quadrant selector from sleep states.
  • SIMD
    Extensions 2 support.
  • A 10- or 12-stage Enhanced instruction pipeline that allows for higher clock speeds without lengthening the pipeline stage, reduced from 14 stage on Pentium Pro/II/III.
  • Dedicated register stack management.
  • Addition of global history, indirect prediction, and loop prediction to branch prediction table. Removal of local prediction.
  • Micro-ops Fusion of certain sub-instructions mediated by decoding units. x86 commands can result in fewer micro-operations and thus require fewer processor cycles to complete.

The Pentium M was the most power efficient x86 processor for notebooks for several years, consuming a maximum of 27 watts at maximum load and 4-5 watts while idle. The processing efficiency gains brought about by its modernization allowed it to rival the Mobile Pentium 4 clocked over 1 GHz higher (the fastest-clocked Mobile Pentium 4 compared to the fastest-clocked Pentium M) and equipped with much more memory and bus bandwidth.[6]

The first Pentium M family processors ("Banias") internally support PAE but do not show the PAE support flag in their CPUID information; this causes some operating systems (primarily Linux distributions) to refuse to boot on such processors since PAE support is required in their kernels.[7] Windows 8 and later also refuses to boot on these processors for the same reason, as they specifically require PAE support to run properly.[8]

Banias/Dothan variant

P6 Variant Enhanced Pentium M

P6 Enhanced Pentium M
General information
Launched2006
Performance
Max.
Pentium M
SuccessorIntel Core
Support status
Unsupported

The Yonah CPU was launched in January 2006 under the

Xeon LV. These processors provided partial solutions to some of the Pentium M
's shortcomings by adding:

  • SSE3 Support
  • Single- and dual-core technology with 2 MB of shared L2 cache (restructuring processor organization)
  • Increased FSB speed, with the FSB running at 533 MT/s or 667 MT/s.
  • A 12-stage instruction pipeline.

This resulted in the interim microarchitecture for low-voltage only CPUs, part way between P6 and the following Core microarchitecture.

Yonah variant

Successor

On July 27, 2006, the

Core 2 processor. Subsequently, more processors were released with the Core microarchitecture under Core 2, Xeon, Pentium and Celeron brand names. The Core microarchitecture is Intel's final mainstream processor line to use FSB, with all later Intel processors based on Nehalem and later Intel microarchitectures featuring an integrated memory controller and a QPI or DMI
bus for communication with the rest of the system. Improvements relative to the Intel Core processors were:

  • A 14-stage instruction pipeline that allows for higher clock speeds.
  • SSE4.1 support for all Core 2 models manufactured at a 45 nm lithography.
  • Support for the 64-bit x86-64 architecture, which was previously only offered by Prescott processors, the Pentium 4 last architectural installment.
  • Increased FSB speed, ranging from 533 MT/s to 1600 MT/s.
  • Increased L2 cache size, with the L2 cache size ranging from 1 MB to 12 MB (Core 2 Duo processors use a shared L2 cache while Core 2 Quad processors having half of the total cache is shared by each core pair).
  • Dynamic Front Side Bus Throttling (some mobile models), where the speed of the FSB is reduced in half, which by extension reduces the processor's speed in half. Thus the processor goes to a low power consumption mode called Super Low Frequency Mode that helps extend battery life.
  • Dynamic Acceleration Technology for some mobile Core 2 Duo processors, and Dual Dynamic Acceleration Technology for mobile Core 2 Quad processors. Dynamic Acceleration Technology allows the CPU to overclock one processor core while turning off the one. In Dual Dynamic Acceleration Technology two cores are deactivated and two cores are overclocked. This feature is triggered when an application only uses a single core for Core 2 Duo or up to two cores for Core 2 Quad. The overclocking is performed by increasing the clock multiplier by 1.

While all these chips are technically derivatives of the Pentium Pro, the architecture has gone through several radical changes since its inception.[9]

See also

References

  1. ^ "Pentium® Pro Processor at 150 MHz, 166 MHz, 180 MHz and 200 MHz" (PDF). Intel Corporation. November 1995. p. 1. Archived from the original (PDF) on April 12, 2016.
  2. ^ Hutchings, Ben (September 28, 2015). "Defaulting to i686 for the Debian i386 architecture". debian-devel (Mailing list).
  3. ^ Gwennap, Linley (February 16, 1995). "Intel's P6 Uses Decoupled Scalar Design" (PDF). Microprocessor Report. 9 (2).
  4. .
  5. .
  6. ^ a b Shimpi, Anand Lal (July 21, 2004). "Intel's 90nm Pentium M 755: Dothan Investigated". AnandTech.
  7. ^ "PAE - Community Help Wiki". Ubuntu Help.
  8. ^ This Does Not Compute. Can You Install Windows 10 on a Pentium II?. YouTube. Section starts at 32:35.
  9. ^ "Pat Gelsinger talk at Stanford, Jun 7th 2006". Archived from the original on June 3, 2011.