P6 (microarchitecture)

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
Die shot of Deschutes core
General information
LaunchedNovember 1, 1995; 29 years ago (November 1, 1995)
Performance
Max. CPU clock rate150[1] MHz to 1.40 GHz
FSB speeds66 MHz to 133 MHz
Cache
L1 cachePentium Pro: 16 KB (8 KB I cache 8 KB D cache)
Pentium II/III: 32 KB (16 KB I cache 16 KB D cache)
L2 cache128 KB to 512 KB
256 KB to 2048 KB (Xeon)
Architecture and classification
MicroarchitectureP6
Instruction setx86-16, IA-32
Extensions
  • MMX (Pentium II/III/M)
    SSE (Pentium III/M)
    SSE2 (Pentium M)
Physical specifications
Transistors
Cores
  • 1
Sockets
Products, models, variants
Models
  • Pentium Pro Series
  • Celeron II Series
  • Pentium II Series
  • Pentium II Xeon Series
  • Celeron III Series
  • Pentium III Series
  • Pentium III Xeon Series
History
PredecessorP5
SuccessorNetBurst
Support status
Unsupported

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

edit

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 IA-32 instructions into sequences of buffered RISC-like micro-operations, then analyze and reorder the micro-operations to detect parallelizable operations that may be issued to more than one execution unit at once.[3] The Pentium Pro was the first x86 microprocessor designed by Intel to use this technique, though the NexGen 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 completion (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 instructions, which are heavily used in 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

edit

P6 Variant Pentium M

edit
P6 Pentium M
 
General information
LaunchedMarch 12, 2003
Performance
Max. CPU clock rate600 MHz to 2.26 GHz
FSB speeds400 MT/s to 533 MT/s
Cache
L1 cache64KB (32 KB I Cache 32 KB D cache)
L2 cache512 KB to 2048 KB
Architecture and classification
MicroarchitectureP6
Instruction setx86-16, IA-32
Extensions
Physical specifications
Transistors
Cores
  • 1
Socket
Products, models, variants
Models
  • A100 Series
  • EP80579 Series
  • Celeron M Series
  • Pentium M Series
History
PredecessorNetBurst
SuccessorEnhanced 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]

  • Quad-pumped front-side bus. With the initial Banias core, Intel adopted the 400 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.
  • SSE2 Streaming 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

edit

P6 Variant Enhanced Pentium M

edit
P6 Enhanced Pentium M
General information
Launched2006
Performance
Max. CPU clock rate1.06 GHz to 2.33 GHz
FSB speeds533 MT/s to 667 MT/s
Cache
L1 cache64 KB
L2 cache1 MB to 2 MB
2 MB (Xeon)
Architecture and classification
MicroarchitectureP6
Instruction setx86-16, IA-32
Extensions
Physical specifications
Transistors
Cores
  • 1-2
Socket
Products, models, variants
Models
  • Celeron M Series
  • Pentium Dual-Core Series
  • Core Solo Series
  • Core Duo Series
  • Xeon LV Series
History
PredecessorPentium M
SuccessorIntel Core
Support status
Unsupported

The Yonah CPU was launched in January 2006 under the Core brand. Single and dual-core mobile version were sold under the Core Solo, Core Duo, and Pentium Dual-Core brands, and a server version was released as 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

edit

Successor

edit

On July 27, 2006, the Core microarchitecture, a derivative of P6, was launched in form of 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

edit

References

edit
  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. ^ Pentium and Pentium Pro Processors and Related Products. Intel Corporation. December 1995. pp. 1–10. ISBN 1-55512-251-5.1-10&rft.pub=Intel Corporation&rft.date=1995-12&rft.isbn=1-55512-251-5&rft_id=https://archive.org/details/bitsavers_intelpentiumandPentiumProProcessorsandRelatedProdu_116045973&rfr_id=info:sid/en.wikipedia.org:P6 (microarchitecture)" class="Z3988">
  5. ^ Brey, Barry (2009). The Intel Microprocessors (PDF) (8th ed.). Upper Saddle River, N.J.: Pearson Prentice Hall. p. 754. ISBN 978-0-13-502645-8.
  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.