The Pentium (also referred to as P5, its microarchitecture, or i586) is a fifth generation, 32-bit x86
microprocessor
A microprocessor is a computer processor where the data processing logic and control is included on a single integrated circuit, or a small number of integrated circuits. The microprocessor contains the arithmetic, logic, and control circu ...
that was introduced by
Intel
Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California, Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the devel ...
on March 22, 1993, as the very first CPU in the
Pentium brand. It was instruction set compatible with the
80486 but was a new and very different microarchitecture design from previous iterations. The P5 Pentium was the first
superscalar x86 microarchitecture and the world's first superscalar microprocessor to be in mass productionmeaning it generally executes at least 2 instructions per clock mainly because of a design-first dual
integer
An integer is the number zero (), a positive natural number (, , , etc.) or a negative integer with a minus sign ( −1, −2, −3, etc.). The negative numbers are the additive inverses of the corresponding positive numbers. In the language ...
pipeline design previously thought impossible to implement on a CISC microarchitecture. Additional features include a faster
floating-point unit, wider
data bus, separate code and
data caches, and many other techniques and features to enhance performance and support security, encryption, and multiprocessing, for workstations and servers when compared to the next best previous industry standard processor implementation before it, the Intel 80486.
Considered the fifth main generation in the 8086 compatible line of processors, its implementation and
microarchitecture was called ''P5''. As with all new processors from Intel since the Pentium, some new instructions were added to enhance performance for specific types of workloads.
The Pentium was the first Intel x86 to build in robust hardware support for multiprocessing similar to that of large IBM mainframe computers. Intel worked closely with IBM to define this ability and then Intel designed it into the P5 microarchitecture. This new ability was absent in prior x86 generations and x86 copies from competitors.
To realize its greatest potential, compilers had to be optimized to exploit the instruction level parallelism provided by the new superscalar dual pipelines and applications needed to be recompiled. Intel spent substantial effort and resources working with development tool vendors, and major
independent software vendor
An independent software vendor (ISV), also known as a software publisher, is an organization specializing in making and selling software, as opposed to computer hardware, designed for mass or niche markets. This is in contrast to in-house softw ...
(ISV) and
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
(OS) companies to optimize their products for Pentium before product launch.
In October 1996, the similar Pentium MMX was introduced, complementing the same basic microarchitecture with the
MMX instruction set, larger caches, and some other enhancements.

Competitors included the
Motorola 68040,
Motorola 68060,
PowerPC 601, and the
SPARC,
MIPS,
Alpha families, most of which also used a superscalar in-order dual instruction pipeline configuration at some time.
Intel discontinued the P5 Pentium processors (sold as a cheaper product since the release of the
Pentium II in 1997) in early 2000 in favor of the
Celeron processor, which had also replaced the
80486 brand.
Development
The P5 microarchitecture was designed by the same Santa Clara team which designed the 386 and 486. Design work started in 1989; the team decided to use a
superscalar architecture, with on-chip cache, floating-point, and branch prediction. The preliminary design was first successfully simulated in 1990, followed by the
laying-out of the design. By this time, the team had several dozen engineers. The design was
taped out, or transferred to silicon, in April 1992, at which point beta-testing began. By mid-1992, the P5 team had 200 engineers. Intel at first planned to demonstrate the P5 in June 1992 at the trade show
PC Expo, and to formally announce the processor in September 1992, but design problems forced the demo to be cancelled, and the official introduction of the chip was delayed until the spring of 1993.
John H. Crawford, chief architect of the original 386, co-managed the design of the P5, along with Donald Alpert, who managed the architectural team. Dror Avnon managed the design of the FPU.
Vinod K. Dham was general manager of the P5 group.
Intel's
Larrabee multicore architecture project uses a processor core derived from a P5 core (P54C), augmented by
multithreading,
64-bit instructions, and a 16-wide
vector processing unit. Intel's low-powered
Bonnell microarchitecture employed in early
Atom
Every atom is composed of a nucleus and one or more electrons bound to the nucleus. The nucleus is made of one or more protons and a number of neutrons. Only the most common variety of hydrogen has no neutrons.
Every solid, liquid, gas ...
processor cores also uses an in-order dual pipeline similar to P5.
Intel used the Pentium name instead of 80586, because it discovered that numbers cannot be
trademarked.
Improvements over the i486
The P5 microarchitecture brings several important advances over the prior i486 architecture.
* ''Performance'':
**
Superscalar architecture – The Pentium has two datapaths (pipelines) that allow it to complete two instructions per clock cycle in many cases. The main pipe (U) can handle any instruction, while the other (V) can handle the most common simple instructions. Some
reduced instruction set computer (RISC) proponents had argued that the "complicated" x86 instruction set would probably never be implemented by a tightly pipelined
microarchitecture, much less by a dual-pipeline design. The 486 and the Pentium demonstrated that this was indeed possible and feasible.
**
64-bit external databus doubles the amount of information possible to read or write on each memory access and therefore allows the Pentium to load its code cache faster than the 80486; it also allows faster access and storage of 64-bit and 80-bit
x87
x87 is a floating-point-related subset of the x86 architecture instruction set. It originated as an extension of the 8086 instruction set in the form of optional floating-point coprocessors that worked in tandem with corresponding x86 CPUs. These ...
FPU FPU may stand for:
Universities
* Florida Polytechnic University, in Lakeland, Florida, United States
* Franklin Pierce University, in New Hampshire, United States
* Fresno Pacific University, in California, United States
* Fukui Prefectural Univ ...
data.
** Separation of code and data caches lessens the fetch and operand read/write conflicts compared to the 486. To reduce access time and implementation cost, both of them are
2-way associative, instead of the single 4-way cache of the 486. A related enhancement in the Pentium is the ability to read a contiguous block from the code cache even when it is split between two cache lines (at least 17 bytes in worst case).
** Much faster
floating-point unit. Some instructions showed an enormous improvement, most notably FMUL, with up to 15 times higher throughput than in the 80486 FPU. The Pentium is also able to execute a FXCH ST(x) instruction in parallel with an ordinary (arithmetical or load/store) FPU instruction.
** Four-input address adders enables the Pentium to further reduce the address calculation latency compared to the 80486. The Pentium can calculate full addressing modes with ''segment-base'' + ''base-register'' + ''scaled register'' + ''immediate offset'' in a single cycle; the 486 has a three-input address adder only, and must therefore divide such calculations between two cycles.
** The
microcode can employ both pipelines to enable auto-repeating instructions such as REP MOVSW perform one iteration every clock cycle, while the
80486 needed three clocks per iteration (and the earliest x86 chips significantly more than the 486). Also, optimization of the access to the first microcode words during the decode stages helps in making several frequent instructions execute significantly more quickly, especially in their most common forms and in typical cases. Some examples are (486→Pentium, in clock cycles): CALL (3→1), RET (5→2), shifts/rotates (2–3→1).
** A faster, fully hardware-based multiplier makes instructions such as MUL and IMUL several times faster (and more predictable) than in the 80486; the execution time is reduced from 13 to 42 clock cycles down to 10–11 for 32-bit operands.
** Virtualized interrupt to speed up
virtual 8086 mode.
** Branch prediction
* ''Other features'':
** Enhanced debug features with the introduction of the Processor-based debug port (see ''Pentium Processor Debugging'' in the Developers Manual, Vol 1).
** Enhanced self-test features like the L1 cache parity check (see ''Cache Structure'' in the Developers Manual, Vol 1).
** New instructions: CPUID, CMPXCHG8B, RDTSC, RDMSR, WRMSR, RSM.
** Test registers TR0–TR7 and MOV instructions for access to them were eliminated.
* The later Pentium MMX also added the
MMX instruction set, a basic integer ''single instruction, multiple data'' (
SIMD) instruction set extension marketed for use in
multimedia applications. MMX could not be used simultaneously with the
x87
x87 is a floating-point-related subset of the x86 architecture instruction set. It originated as an extension of the 8086 instruction set in the form of optional floating-point coprocessors that worked in tandem with corresponding x86 CPUs. These ...
FPU instructions because the registers were reused (to allow fast context switches). More important enhancements were the doubling of the instruction and data cache sizes and a few microarchitectural changes for better performance.
The Pentium was designed to execute over 100 million
instructions per second (MIPS), and the 75 MHz model was able to reach 126.5 MIPS in certain benchmarks. The Pentium architecture typically offered just under twice the performance of a 486 processor per clock cycle in common benchmarks. The fastest 80486 parts (with slightly improved microarchitecture and 100 MHz operation) were almost as powerful as the first-generation Pentiums, and the
AMD Am5x86, which despite its name is actually a 486-class CPU, was roughly equal to the Pentium 75 regarding pure ALU performance.
Errata
The early versions of 60–100 MHz P5 Pentiums had a problem in the floating-point unit that resulted in incorrect (but predictable) results from some division operations. This flaw, discovered in 1994 by professor Thomas Nicely at Lynchburg College, Virginia, became widely known as the
Pentium FDIV bug
The Pentium FDIV bug is a hardware bug affecting the floating-point unit (FPU) of the early Intel Pentium processors. Because of the bug, the processor would return incorrect binary floating point results when dividing certain pairs of high-pr ...
and caused embarrassment for Intel, which created an exchange program to replace the faulty processors.
In 1997, another erratum was discovered that could allow a malicious program to crash a system without any special privileges, the "
F00F bug". All P5 series processors were affected and no fixed steppings were ever released, however contemporary operating systems were patched with workarounds to prevent crashes.
Cores and steppings
The Pentium was Intel's primary microprocessor for personal computers during the mid-1990s. The original design was reimplemented in newer processes and new features were added to maintain its competitiveness, and to address specific markets such as portable computers. As a result, there were several variants of the P5 microarchitecture.
P5

The first Pentium microprocessor core was code-named "P5". Its product code was 80501 (80500 for the earliest
steppings Q0399). There were two versions, specified to operate at 60 MHz and 66 MHz respectively, using
Socket 4. This first implementation of the Pentium used a traditional 5-volt power supply (descended from the usual
transistor-transistor logic (TTL) compatibility requirements). It contained 3.1 million
transistor
upright=1.4, gate (G), body (B), source (S) and drain (D) terminals. The gate is separated from the body by an insulating layer (pink).
A transistor is a semiconductor device used to Electronic amplifier, amplify or electronic switch, switch ...
s and measured 16.7 mm by 17.6 mm for an area of 293.92 mm
2.
[Case, Brian (March 29, 1993). "Intel Reveals Pentium Implementation Details". '' Microprocessor Report''.] It was fabricated in a
0.8 μm bipolar complementary metal–oxide–semiconductor (
BiCMOS) process. The 5-volt design resulted in relatively high energy consumption for its operating frequency when compared to the directly following models.
P54C

The P5 was followed by the P54C (80502) in 1994, with versions specified to operate at 75, 90, or 100 MHz using a 3.3 volt power supply. Marking the switch to
Socket 5, this was the first Pentium processor to operate at 3.3 volts, reducing energy consumption, but necessitating voltage regulation on mainboards. As with higher-clocked 486 processors, an internal clock multiplier was employed from here on to let the internal circuitry work at a higher frequency than the external address and data buses, as it is more complicated and cumbersome to increase the external frequency, due to physical constraints. It also allowed two-way multiprocessing, and had an integrated
local APIC and new power management features. It contained 3.3 million transistors and measured 163 mm
2.
It was fabricated in a BiCMOS process which has been described as both 0.5 μm and
0.6 μm due to differing definitions.
P54CQS
The P54C was followed by the P54CQS in early 1995, which operated at 120 MHz. It was fabricated in a
0.35 μm BiCMOS process and was the first commercial microprocessor to be fabricated in a 0.35 μm process.
[Gwennap, Linley (March 27, 1995). "Pentium is First CPU to Reach 0.35 Micron". '' Microprocessor Report''.] Its transistor count is identical to the P54C and, despite the newer process, it had an identical die area as well. The chip was connected to the package using
wire bonding, which only allows connections along the edges of the chip. A smaller chip would have required a redesign of the package, as there is a limit on the length of the wires and the edges of the chip would be further away from the pads on the package. The solution was to keep the chip the same size, retain the existing
pad-ring, and only reduce the size of the Pentium's logic circuitry to enable it to achieve higher clock frequencies.
P54CS
The P54CQS was quickly followed by the P54CS, which operated at 133, 150, 166 and 200 MHz, and introduced
Socket 7. It contained 3.3 million transistors, measured 90 mm
2 and was fabricated in a 0.35 μm BiCMOS process with four levels of interconnect.
P24T
The P24T
Pentium OverDrive for
486
__NOTOC__
Year 486 ( CDLXXXVI) was a common year starting on Wednesday (link will display the full calendar) of the Julian calendar. At the time, it was known as the Year of the Consulship of Basilius and Longinus (or, less frequently, year 12 ...
systems were released in 1995, which were based on 3.3 V 0.6 μm versions using a 63 or 83 MHz clock. Since these used
Socket 2/
3, some modifications had to be made to compensate for the 32-bit data bus and slower on-board L2 cache of 486 motherboards. They were therefore equipped with a 32
KB L1 cache (double that of pre-P55C Pentium CPUs).
P55C

The P55C (or 80503) was developed by Intel's Research & Development Center in
Haifa, Israel. It was sold as Pentium with
MMX Technology (usually just called Pentium MMX); although it was based on the P5 core, it featured a new set of 57 "MMX" instructions intended to improve performance on multimedia tasks, such as encoding and decoding digital media data. The Pentium MMX line was introduced on October 22, 1996, and released in January 1997.
The new instructions worked on new data types: 64-bit packed vectors of either eight 8-bit integers, four 16-bit integers, two 32-bit integers, or one 64-bit integer. So, for example, the PADDUSB (Packed ADD Unsigned Saturated Byte) instruction adds two vectors, each containing eight 8-bit unsigned integers together, elementwise; each addition that would
overflow ''saturates'', yielding 255, the maximal unsigned value that can be represented in a byte. These rather specialized instructions generally require special coding by the programmer for them to be used.
Other changes to the core include a 6-stage pipeline (vs. 5 on P5) with a return stack (first done on Cyrix 6x86) and better parallelism, an improved instruction decoder, 16KB L1 data cache + 16KB L1 instruction cache with Both 4-way associativity (vs. 8KB L1 Data/instruction with 2-way on P5), 4 write buffers that could now be used by either pipeline (vs. one corresponding to each pipeline on P5) and an improved
branch predictor taken from the Pentium Pro,
with a 512-entry buffer (vs. 256 on P5).
It contained 4.5 million transistors and had an area of 140 mm
2. It was fabricated in a 0.28 μm CMOS process with the same metal pitches as the previous 0.35 μm BiCMOS process, so Intel described it as "0.35 μm" because of its similar transistor density.
[Slater, Michael (March 5, 1996). "Intel's Long-Awaited P55C Disclosed". '' Microprocessor Report''.] The process has four levels of interconnect.
While the P55C remained compatible with
Socket 7, the voltage requirements for powering the chip differ from the standard Socket 7 specifications. Most motherboards manufactured for Socket 7 before the establishment of the P55C standard are not compliant with the dual voltage rail required for proper operation of this CPU (2.8 volt core voltage, 3.3 volt
input/output
In computing, input/output (I/O, or informally io or IO) is the communication between an information processing system, such as a computer, and the outside world, possibly a human or another information processing system. Inputs are the signals ...
(I/O) voltage). Intel addressed the issue with OverDrive upgrade kits that featured an interposer with its own voltage regulation.
Tillamook
Pentium MMX notebook CPUs used a ''mobile module'' that held the CPU. This module was a
printed circuit board
A printed circuit board (PCB; also printed wiring board or PWB) is a medium used in electrical and electronic engineering to connect electronic components to one another in a controlled manner. It takes the form of a laminated sandwich str ...
(PCB) with the CPU directly attached to it in a smaller form factor. The module snapped to the notebook motherboard, and typically a
heat spreader was installed and made contact with the module. However, with the 0.25 μm ''Tillamook'' Mobile Pentium MMX (named after a
city in Oregon), the module also held the
430TX chipset along with the system's 512 KB
static random-access memory
Static random-access memory (static RAM or SRAM) is a type of random-access memory (RAM) that uses latching circuitry (flip-flop) to store each bit. SRAM is volatile memory; data is lost when power is removed.
The term ''static'' differe ...
(SRAM) cache memory.
Models and variants
Competitors
After the introduction of the Pentium, competitors such as
NexGen, AMD,
Cyrix, and
Texas Instruments announced Pentium-compatible processors in 1994. ''
CIO magazine'' identified NexGen's Nx586 as the first Pentium-compatible CPU, while ''
PC Magazine'' described the
Cyrix 6x86 as the first. These were followed by the
AMD K5, which was delayed due to design difficulties. AMD later bought NexGen to help design the
AMD K6, and Cyrix was bought by
National Semiconductor.
Later processors from AMD and Intel retain compatibility with the original Pentium.
List
*
AMD K5,
AMD K6
*
Cyrix 6x86
*
WinChip C6
* NexGen
Nx586
* Rise
mP6
See also
*
List of Intel CPU microarchitectures
*
List of Intel Pentium processors
*
Cache on a stick (COASt), L2 cache modules for Pentium
*
IA-32 instruction set architecture
In computer science, an instruction set architecture (ISA), also called computer architecture, is an abstract model of a computer. A device that executes instructions described by that ISA, such as a central processing unit (CPU), is called an ...
(ISA)
*
Intel 82497 cache controller
References
External links
CPU-Collection.de- Intel Pentium images and descriptions
The Pentium Timeline ProjectThe Pentium Timeline Project maps oldest and youngest chip known of every s-spec made. Data are shown in an interactive timeline.
Intel datasheets
Pentium (P5)Pentium (P54)Pentium MMX (P55C)Mobile Pentium MMX (P55C)Mobile Pentium MMX (Tillamook)
Intel manuals
These official manuals provide an overview of the Pentium processor and its features:
* Pentium Processor Family Developer's Manua
Pentium Processor (Volume 1)(Intel order number 241428)
* Pentium Processor Family Developer's Manual
tp://download.intel.com/design/pentium/manuals/24319101.PDF Volume 2: Instruction Set Reference (Intel order number 243191)
* Pentium Processor Family Developer's Manual
tp://download.intel.com/design/pentium/manuals/24143004.pdf Volume 3: Architecture and Programming Manual(Intel order number 241430)
{{Authority control
Computer-related introductions in 1993
Intel x86 microprocessors
Intel microarchitectures
Superscalar microprocessors
32-bit microprocessors