Central Processing Unit
The Central Processing Unit (CPU, or simply “the processor”) is essentially the “brain” of a computer.
Overview
Overall, most central processing units contain:
- A fetcher to grab instructions or data
- A decoder that maps the instructions to the CPU's operation codes.
- An execution unit, which at the minimum is an Arithmetic and Logic Unit (ALU). Quite a few modern processors have a Floating Point Unit (FPU) as well.
- A memory management unit, which one of its functions is to store the results of the data.
- Registers to hold important bits of information.
All processors have a basic vocabulary known as an Instruction Set Architecture (ISA). Different processors sharing the same or similar architectures can run each others' software with little or no speed penalty. In contrast, running software written for a different architecture requires Emulation, and imposes an enormous speed penalty. Examples of popular ISAs today are 80x86, POWER/PowerPC, ARM/XScale and MIPS.
A CPU is usually made faster by increasing its Clock Speed, by increasing the word length or "bit number", by designing it so that it can handle different stages of multiple instructions at one time (called “pipelining”), or by adding a small "cache" of high-speed memory to store frequently-used instructions and data. Higher clocked and more complex chips run hotter, which is typically dealt with by shrinking the manufacturing process of their components (called a “process shrink.”) The core component out of which CPU circuits are created, the MOSFETs, in CPUs of 2014 are as small as 14 nanometers[1] across, source to drain.[2] As of 2024, 3nm chips are hitting the market for high end devices, and 5 and 7nm chips are in common use.
A brief History
Architectural
The first CPUs were not very centralized at all. Instead, they were comprised of multiple chips, and even basic electronics that did some logic were done with discrete chips that did Binary Logic. These systems were also only capable of integer math at a reasonable speed. In order to do complex math faster, specialized chips such as Floating Point Units and Digital Signal processors were used. When the original Intel 4004 was released, it was called the first "Integrated Microprocessor" because it contained both the logical part and arithmetic part in the same package. During the 80s, processor manufacturers were finding more and more chips to put into the CPU in order to keep system costs down. Eventually this accumulated to the the microcontroller, which contains a CPU, memory, and plenty of configurable I/O ports. The evolution of this is the System-on-a-Chip (SoC), which, for all intents and purposes, is a self contained computer with human-friendly user interfaces (such as a GPU to drive a display).
Multitasking
A problem that has plagued computer engineers is the fact that despite looking otherwise, the CPU is only capable of doing one thing at a time. There's also the idea of what to do when a task has to wait for something. The first consumer computers were found that only a fraction of the time doing a job was spent number crunching. Reading those punch cards and printing out the result took the most time. Thus, reading, executing, and printing were separated so the executing part could be used as much as possible. Then when computers became more powerful and capable of doing other things, the "timesharing" mechanic was invented. While there are multiple implementations, it basically boils down to the CPU gives a program some slice of time to run before working on something else. This happens so fast, it appears the CPU is doing multiple things at once.
Other things to improve multitasking were the superscalar pipeline and the Multi Core Processor.
Instruction Sets
In the old days, memory couldn't keep up with the processor as fast. Which meant that memory was both small in size and slower. To deal with this, instruction sets were made typically to support the operations of high level programming languages, such as looping, procedure calls, and complex addressing schemes. So while instructions typically took a few clock cycles to complete, programs were smaller. After coming up with another method of making instruction sets, this paradigm was called Complex Instruction Set Computing, or CISC. Typically when this type of architecture is employed, the instructions themselves are translated into microcode of some kind, before being executed.
Once memory got fast enough and with higher capacity, engineers thought it made more sense to do simpler instructions that could be done in one clock cycle. This was named Reduced Instruction Set Computing. However there's some debate as to what constitutes a RISC or CISC architecture, as both can exhibit properties commonly found in the other (for instance, floating point instructions in a RISC system are complicated). The general consensus is that something is RISC if and only if data in RAM can only be access with a load or store instruction. All data that operations need must be reside in registers. RISC is now the dominant form of architecture.
The one issue with CISC and RISC is that the instruction execution is linear, i.e., one after another. In certain cases (particularly, branching), this method suffers from poorer performance. To get around it, two approaches were developed: Very Long Instruction Word (VLIW) and No Instruction Set Computing (NISC). The idea is at run time, recompile the program based on a predictable scheduler. Since instructions are sorted for execution ahead of time, a hardware scheduler is no longer necessary. In the case of VLIW, many instructions are stuffed into, as exactly what the name says, a very long instruction word. In the case of NISC, the instruction word from the compiler itself is the instruction the computer executes directly. Both types are mostly used in application specific areas (modern GPUs use one or the other), though VLIW has gained some momentum in generic CPUs.
Some famous CPUs over the years:
Pre-1970s
Vacuum tubes (1890s-1910s): The first electronic components.
- Clock Speed: Tens to hundreds of KHz
- Word length: Varied enormously
- Address space: Up to 16 bits
- Used in: Early computers of the 1940s and '50s.
Discrete circuts (1950s): Transistors, diodes (both previously vacuum tubes, now much smaller solid-state components), resistors, and capacitors wired together to build logic modules.
- Clock Speed: Tens of KHz to 10 MHz
- Word length: Varied
- Address space: Usually 12-18 bits
- Used in: 1950s and '60s Mainframes and Minicomputers, including the DEC PDP series.
- Magnavox Odyssey
Logic chips (1960s): The first chips were simple one-operation logic modules, like digital LEGO bricks.
- Clock Speed: Hundreds of KHz to tens of MHz (at the time they were popular; development has continued, and today they are in the GHz).
- Word length: Whatever you wanted. This is when word length began to be standardized using powers of 2 (8 bit/16 bit/32 bit etc.), but there were still a lot of other lengths in use, left over from earlier times. The DEC PDPs, for instance, used anywhere from 12 to 36 bit words.
- Address space: Again, whatever you wanted. The first computers with 32-bit address spaces appear here.
- Used in: 1960s and '70s mainframes and minicomputers.
- The first Atari arcade games, before 1976.
- Pong machines.
- Prototyping most of the CPUs, GPUs, sound chips, and other custom chips of the '70s and '80s.
- Widely used as 'glue logic' in consoles and computers from the 1970s onward; modern CMOS versions of the 7400 TTL chips are still produced and very common, as are the CD 4000 chips (which were CMOS to begin with).
1970s
Intel 4004 (1971): First complete (CU and ALU) CPU.
- Clock Speed: 740 KHz
- Word length: 4 bits
- Address space: 12 bits
- Used in: Calculators; it was originally commissioned by a calculator manufacturer called Busicom.
Intel 8008 (1972): First 8-bit CPU.
- Clock Speed: 500-800 KHz
- Word length: 8 bits
- Address space: 14 bits
- Used in: Mainframe terminals; like the 4004, the 8008 was also a commission, this time by San Antonio terminal maker Datapoint. In an interesting twist, Datapoint had already designed the CPU and simply asked Intel to make a single-chip version of it; when this didn't pan out and Datapoint used their original discrete-component CPU, Intel got to keep the 8008, and the rest is history.
Intel 8080 (1974): First truly usable CPU, and the first to be used in hobbyist microcomputers, the ancestors of today's PCs.
- Clock Speed: 2 MHz
- Word length: 8 bits
- Address space: 16 bits
- Used in: MITS Altair, IMSAI 8080
Motorola 6800 (1974): First Motorola CPU.
- Clock Speed: 1-2 MHz
- Word length: 8 bits
- Address space: 16 bits
- Used in: Several hobbyist kit-computers, and the Sphere 1, the Trope Maker for the "Ctrl-Alt-Del" reset sequence on the IBM Personal Computer.
MOS 6502 (1975): First cheap CPU. An improved Motorola 6800. The standard CPU for 8-bit videogame consoles and early home computers.
- Clock Speed: 1-2 MHz
- Word length: 8 bits
- Address space: 16 bits
- Used in:
- Atari 2600: MOS 6507, a chopped-down version with a 13-bit address space.
- Atari 5200: Atari custom 6502C.
- Atari 7800: Atari custom 6502C.
- Atari Lynx: 4 MHz version.
- Nintendo Entertainment System: Ricoh RP2A03, a 6502 core with sound generators and some other extra features.
- TurboGrafx-16: Hudson Soft HuC6280, based on the Western Design Center 65C02, a faster version of the 6502 also equipped with a sound generator.
- Acorn System 1
- Apple II (and its kit-computer predecessor, the Apple I)
- Atari 8 Bit Computers: Either the stock 6502 or the Atari custom 6502C.
- BBC Micro
- VIC 20
- Commodore 64: MOS 6510, a 6502 with an extra register, used for bank switching.
- The Commodore 1541 Floppy Drive, one of the Commodore 64's most popular peripherals, used a 6502 as its controller and DOS processor.
- Commodore 128: MOS 8502, a faster and improved 6510, when running in Native Mode and C64 compatibility mode.
- SNES: The Sony SPC700, a 6502 derivative, was used as the processor in the sound module.
- The SPC700 has also shown up as a core in a bunch of unrelated Sony hardware, particularly VCRs.
- The Space Shuttle
- Apple Macintosh IIfx: As an I/O coprocessor.
Zilog Z80 (1976): An improved Intel 8080. The main competitor to the MOS 6502.
- Clock Speed: 2-6 MHz
- Word length: 8 bits
- Address space: 16 bits
- Used in:
- ColecoVision
- Game Boy: Sharp LR35902, a cross between an Intel 8080 and a Z80.
- Game Boy Color
- GX 4000
- Sega SG-1000
- Sega Master System
- Game Gear
- Sega Genesis: As a coprocessor, and to provide backwards compatibility with the Master System.
- SNK Neo Geo: As a coprocessor
- Amstrad CPC
- MSX
- Tandy TRS-80
- ZX Spectrum
- NEC PC-8801: NEC custom µPD780 or µPD70008.
- Sharp X1
- Commodore 128: As a 2nd CPU, for running in CP/M Mode. Unlike other systems, the Commodore 128 could not run both this and the MOS 8502 simultaneously (as in multiprocessing).
- Embedded systems and consumer electronics
- Early arcade systems, e.g. Pac-Man
- Electronic Music products such as Synthesizers, Drum Machines, and MIDI Sequencers.
Motorola 6809 (1978): Similar to the 6800, but with some 16-bit registers.
- Clock Speed: 1-2 MHz
- Word length: 8 bits
- Address space: 16 bits
- Used in:
- TRS-80 Color Computer
- Fujitsu FM-7
- Vectrex
- Thomson MO5
Intel 8086 (1978): First in Intel's long line of x86 processors.
- Clock Speed: 5-10 MHz
- Word length: 16 bits
- Address space: 20 bits
- Almost 100% software-compatible (though not binary-compatible) with the Zilog Z80, a quirk noticed by NEC and used in their V20 processors (which could run as either a Z80 or an 8086, and were slightly faster).
- Used in:
- IBM Personal Computer: Used the Intel 8088, comparable to the 8086 in most respects except for the external data bus being reduced from 16 bits to 8 bits. Some later "turbo" PCs such as the AT&T PC 6300 and IBM PS/2 Model 30 did have the actual 8086.
- IBM's DisplayWriter dedicated word processor
- NEC PC-9801: Used the 8086 in its earliest years, switching first to NEC's faster clone V30 and then to later Intel processors.
- Wonder Swan: SPGY-1002, a clone of NEC's clones.
- Noted for its quirk in how it calculated addresses. It added two numbers together to get the actual address, and a certain combination resulted in a wrap around. Programmers took note of this, using the upper portion of memory for their program. When the address wrapped around, it pointed to the lowest portion, where most I/O memory was at. This bug was known as the A20 Line.
Motorola 68000 (1979): First in Motorola's 68k family.
- Clock Speed: 8-20 MHz
- Word length: 32 bits internally, 16 bits externally
- Address space: 32 bits internally, 24 bits externally
- Used in:
- Atari Jaguar
- Philips CDi: Custom version.
- Sega Genesis
- SNK Neo Geo
- Amiga 500, 600, 1000, 2000, Commodore CDTV
- Apple Macintosh
- Atari ST
- Sharp X68000
- Many arcade boards, e.g. Sega System 16, Capcom CP System
1980s
Intel 80186 (1981): A slightly upgraded version of the 8086 (with an 8-bit version, the 80188), it integrated a lot of the external chips used with the 8086. It wasn't any faster per clock than its predecessor, meaning that most PC makers skipped over it and went straight to the 80286, but it saw wide use in embedded devices due to the integration of the other chips.
- Clock Speed: 5-25 MHz
- Word length: 16 bits
- Address space: 20 bits
- Used in: Embedded systems
Intel 80286 (1982): The x86 processor that introduced Protected Mode, thanks to an integrated memory mapping unit (MMU) as well as Memory Addressing beyond 1MB. Its performance was double that of its predecessor. However, its design was somewhat rushed (due to Intel putting most of its resources toward the i432 "micro-mainframe"), and it had a number of quirks that had to be worked around for the sake of 8088 compatibility, particularly the "A20 line" issue (which was later put to good use on AT-class machines as the "high memory area"). Also, there was no way to return to real mode from protected mode; the OS had to crash the CPU, then reload its state from memory -- something the PC/AT BIOS allowed for, but still took time.
- Clock Speed: 4-25 MHz
- Word length: 16 bits
- Address space: 24 bits
- Used in: IBM PCs and compatibles (starting with the IBM PC/AT).
Motorola 68020 (1984): A fully 32-bit 68000.
- Clock Speed: 16-50 MHz
- Word length: 32 bits
- Address space: 32 bits
- Used in:
- Amiga 1200, CD32: Both used the chopped-down 68EC020, with a 24-bit address space.
- Apple Macintosh II
Western Design Center 65816 (1984): A 16-bit derivative of the MOS 6502.
- Clock Speed: 1-20 MHz
- Word length: 16 bits
- Address space: 24 bits
- Used in:
- Super Nintendo Entertainment System: Ricoh 5A22, a 65816 with some extra features.
- Apple IIGS
Intel 80386 (1985): The first 32-bit x86 processor, the 80386 also fixed several of the 80286's deficiencies; it could switch from protected mode to real mode without intentionally crashing the machine, and it supported 32-bit segments, meaning that the 80286's rather odd segmenting model could be avoided almost entirely. The 80386 also added "virtual 8086" mode, a way to run 16-bit code and 32-bit code simultaneously while in protected mode, which paved the way for Windows 3.x/9x's and 32-bit Windows NT's DOS box support. Came in two variants: the more powerful DX version (actually the original design), and the lower cost SX version with a 16-bit data bus (because most motherboards at the time were 16-bit).
- Clock Speed: 12-40 MHz
- Word length: 32 bits (DX version), 32 bits internally, 16 bits externally (SX version)
- Address space: 32 bits (DX version), 24 bits (SX version)
- Used in: IBM PCs and compatibles, NEC PC-9801, FM Towns, FM Towns Marty, the very first BlackBerry PDAs
MIPS R2000 (1986): First in the MIPS family of RISC CPUs.
- Clock Speed: 8-15 MHz
- Word length: 32 bits
- Address space: 32 bits
- Used in: Silicon Graphics workstations
Acorn ARM2 (1986): First in the ARM family of RISC CPUs, the most produced CPU family in history.
- Clock Speed: 8-12 MHz
- Word length: 32 bits
- Address space: 26 bits
- Used in: Acorn Archimedes
Motorola 68030 (1987): A 68020 with an integrated memory controller.
- Clock Speed: 16-50 MHz
- Word Length: 32 bits
- Address Space: 32 bits
- Used in:
- Apple Macintosh SE/30
- Apple Macintosh IIfx
- Apple Macintosh Color Classic
- Amiga 3000 and 3000T
MIPS R3000 (1988)
- Clock Speed: 20-33 MHz
- Word length: 32 bits
- Address space: 32 bits
- Used in: PlayStation
- PlayStation 2 for backwards compatibility with the PS1, as well as the I/O processor.
Intel 80486/i486 (1989): First x86 processor with built-in level-1 cache and a built-in Floating Point Unit (except the SX variant, where it was a 486 with a faulty FPU), introduced Pipelining, and one of the first CPUs to have a multiplier. Due to its performance in games (notably with the FPU), it was in high demand in the early 90s.
- Clock Speed: 16-100 MHz
- Word length: 32 bits
- Address space: 32 bits
- Used in: IBM PCs and compatibles
1990s
Motorola 68040 (1990): Motorola's first 680x0 CPU with a built-in FPU. Faster than the i486 clock-per-clock, but ran notoriously hot (and thus was among the first desktop CPUs to require a heat sink). Came in several variants: the EC version (which dropped the FPU and MMU) used in Embedded Systems, and the low cost LC version (which dropped just the FPU; however this proved to be its undoing as buggy software searching for the FPU would crash the system).
- Clock Speed: 20-40 MHz
- Word Length: 32 bits
- Address Space: 32 bits
- Used in:
- Apple Macintosh Quadra
- Apple Macintosh Centris
- Apple Macintosh Performa
- Amiga 4000 and 4000T
- NeXT
- Embedded Systems (EC variant)
MIPS R4000 (1991)
- Clock Speed: 100 MHz
- Word length: 32 or 64 bits
- Address space: 36 bits
- Used in: PlayStation Portable
Advanced RISC Machines ARM6 (1992)
- Clock Speed: 12-33 MHz
- Word length: 32 bits
- Address space: 32 bits
- Used in: 3DO Interactive Multiplayer
Apple-IBM-Motorola PowerPC 601 & 603 (1992): The first two major forms of the PowerPC family. The 603 addressed and corrected most of the 601's flaws, and then fixed the remainder of them in its revised incarnation, the 603e. Still lacked official support for multiprocessing, though that didn't stop some resourceful designers.
- Clock Speed: 50-120 MHz (601), 75-100 MHz (603), 200-300 MHz (603e, 603ev)
- Word length: 32 bits
- Address space: 32 bits
- Used in: Power Macintosh (PCI), BeBox (multi-processing), Apple Pippin (underclocked 603)
DEC Alpha (1992): The first famous 64-bit CPU, and the champion of Clock Speed and floating-point performance throughout the 1990s. Was killed by Compaq after the DEC merger in favor of HP and Intel's then-upcoming Itanium CPU.
- Clock speed: 192-1.3 GHz
- Word length: 64 bits
- Address space: 64 bits
- Used in: DEC workstations and servers, supercomputers
Intel Pentium (1993): The first superscalar x86 processor, with an integrated cache controller and a 64-bit data bus for faster memory access. Later introduced the "MMX" instruction set.
- Clock Speed: 60-300 MHz
- Word length: 32 bits (64-bit memory access)
- Address space: 32 bits
- Used in: PCs, NEC PC-9821
Hitachi SH-2 (1993): Another low-cost RISC CPU.
- Clock Speed: ~29 MHz
- Word length: 32 bits
- Address space: 32 bits
- Used in: Sega 32X, Sega Saturn
Advanced RISC Machines ARM7TDMI (1994): Gained fame as one of the most widely used embedded applications processors.
- Clock Speed: 17-70 MHz
- Word length: 32 bits
- Address space: 32 bits
- Used in:
Motorola 68060 (1994): Motorola's last 680x0 CPU before venturing full time into the PowerPC family. Was actually more famously used in TV Character Generator systems. Like its predecessor the '040 (there was never a 68050), it came in EC and LC variants. Notably, Apple skipped this CPU entirely and went straight to the PowerPC.
- Clock Speed: 50-75 MHz
- Word Length: 32 bits
- Address Space: 32 bits
- Used in:
- Character Generators
- Amiga 4000T
- PBX Systems
MIPS R4300i (1995)
- Clock Speed: 100-133 MHz
- Word length: 32 or 64 bits
- Address space: 32 bits
- Used in: Nintendo 64: Licensed-built NEC VR4300
Intel Pentium Pro (1995): RISC architecture with a CISC interpreter for the x86 ISA. Optimized for fully 32-bit OSes such as NT and UNIX, where it was an excellent performer, but failed in the desktop market due to its high production cost and lackluster performance under Windows 3.x and 95.
- Clock Speed: 150-200 MHz
- Word length: 32 bits (64-bit memory access)
- Address space: 36 bits
- Used in: PCs, particularly servers and high-end workstations
Cyrix 6x86 (1995): The first non-cloned x86 processor to pose a serious threat to Intel. Noted for its low price and excellent integer performance; however, its floating-point performance was lackluster, which became a problem as more games started to make use of FP code. It sold very well for its first two years, allowing Cyrix to take second place in the CPU market for a while. Unfortunately, Cyrix failed to significantly update the design (other than a relatively small refresh with the 6x86MX in 1998), meaning that it soon got left in the wake of the Celeron and K6-2 as the decade went on, and Cyrix dropped out of the market in 2000.
- Clock Speed: 75-250 MHz
- Word length: 32 bits (64-bit memory access)
- Address space: 32 bits
- Used in: PCs
Hitachi SH-4 (1997)
- Clock Speed: 200 MHz
- Word length: 32 bits internally, 64 bits externally
- Address space: 32 bits
- Used in: Sega Dreamcast
AIM PowerPC 740/750 (1997), aka PowerPC G3: An evolutionary derivative of the PowerPC 603e, the 740 was completely pin-compatible with the 603e and was therefore available from some after-market vendors as a drop-in upgrade. The major improvement that the 740 and 750 both had over the 603e was the addition of the PowerPC 604ev "Mach V" chip's extensive dynamic branch-prediction logic. However, because the G3 was based on the 603ev, it lacked the PowerPC 604's support for multiprocessing.
- Clock Speed: 200 MHz to 1 GHz
- Word length: 32 or 64 bits
- Address space: 32 bits
- Used in:
- Nintendo GameCube: Custom "Gekko" with extra instructions
- Wii: Custom "Broadway"
- Power Macintosh G3, PowerBook G3, iMac, iBook, Genesi Pegasos
AMD K6 (1997): AMD's first real challenge to Intel since the 486 days, and the beginning of its run as a Worthy Opponent. Eventually expanded into the K6-2 with "3DNow!" (floating-point SIMD) capability to make up for its somewhat weak standard FPU, and the rare but fast K6-3 with built-in level-2 cache.
- Clock speed: 166 MHz to 500 MHz
- Word size: 32 bits (64-bit memory access)
- Address space: 32 bits
- Used in: PCs
Cyrix MediaGX (1997): This featured the same CPU core as the 6x86, but added graphics, sound, memory and PCI controllers onto the very chip itself. While it was ahead of its time in many aspects, it had the bad luck of being launched when the 3D accelerator revolution was taking place, and the combination of a rather basic 2D graphics controller and the CPU's uninspiring 3D gaming performance meant it only found any usage in laptops and bargain-basement PCs. In retrospect, this chip may have been Cyrix's shining achievement; while the rest of their CPU line was purchased by Via for a relatively low price, this one actually got purchased by AMD, who continue to sell it to this day under the "Geode" name.
- Clock Speed: 120 MHz to 300 MHz
- Word length: 32 bits (64-bit memory access)
- Address space: 32 bits
- Used in: PCs, laptops, embedded devices
Intel Pentium II (1997) and Pentium III (1999): Improved versions of the Pentium Pro, with the 16-bit speed problems fixed and a new, easier-to-make cartridge design. The Pentium III added "SSE" instructions for floating-point DSP work (following AMD's lead with "3DNow!"), and spawned a minor controversy over the use of embedded serial numbers that Intel eventually dropped. Later versions of the III were available in much smaller "flip-chip" packages, which were easier to install and cool. The Pentium II was made especially famous by what was probably Intel's craziest publicity gimmick in the form of their "Dancing Bunny Suit" advertisements.
- Clock Speed: 233 MHz to 1.4 GHz
- Word length: 32 bits (64-bit memory access)
- Address space: 36 bits
- Used in: Xbox, PCs
- The Pentium III appears to be invoking the Excited Episode Title trope, since the branding officially looks like "Pentium !!!"
Intel Celeron (1998): A cheaper version of the Pentium II (and later III). The initial version flopped, as it performed worse than the original Pentium, but the second version pioneered the use of on-die level 2 cache (in the Pentium Pro and II it had been on the package but off-die), meaning it performed as well as its more expensive brethren and become known as the Hypercompetent Sidekick of the CPU world.
- Clock Speed: 266 MHz to 1.2 GHz
- Word length: 32 bits (64-bit memory access)
- Address space: 36 bits
- Used in: PCs
AMD Athlon & Athlon XP (1999): The processor that finally bested Intel, with much-improved floating-point performance over the K6 and a system bus design borrowed from the DEC Alpha to avoid legal issues with Intel. Later versions of the Athlon included the XP, MP (dual-processor capable) and value-priced Sempron. It was also the first processor to challenge the notion that clock speed meant performance. So much so that AMD named all of their processors with a "PR number", which supposedly represented the level it matched at against Pentium 4 at the speed of the number.
- Clock speed: 500 MHz to 1.4 GHz (Athlon)
- Clock speed: 1.33 GHz to 2.33 GHz (Athlon XP)
- Word size: 32 bits (64-bit memory access)
- Address space: 36 bits
- Used in: PCs
Sony Emotion Engine (1999): Based on MIPS ISA.
- Clock Speed: ~300 MHz
- Word length: 128 bits, though external interfaces are either 16, 32, or 64 bits
- Address space: Probably 32 bits
- Used in:
- PlayStation 2
- Early Play Station 3, for backward compatibility
Motorola PowerPC 7400/7410/744X/745X (1999): Motorola's solo venture in the PowerPC family. As IBM was falling back on designing the successor, Apple went with Motorola's design. It added multiprocessing support and a new feature that Motorola had branded AltiVec, the answer to Intel's SSE and AMD's 3DNow!. It was notably marketed by Apple, supposedly performing at 1GFLOP and being banned for export due to being a "weapons grade supercomputer". Indeed one demonstration that Apple referred to as "Debunking the Megahertz Myth," a side-by-side comparison was made of an operation on Adobe Photoshop running on an 867 MHz PowerMac G4 and on a 1.7 GHz Pentium 4 PC, with the G4 performing faster.
- Clock Speed: 350 MHz to 1.67 GHz, some aftermarket upgrades advertised as running at up to 2 GHz
- Word Length: 32 or 64 bits
- Address Space: Usually 32 bits
- Used In: Power Macintosh G4, PowerBook G4, iMac, iBook, early Mac Mini, Genesi Pegasos II, other PowerPC based Amiga clones
2000s
Intel Pentium 4 (2000): Intel's first major blunder. The processor was marketed for its Clock Speed alone and the first generation of processors (a.k.a. Willamette) performed on par, or worse than its predecessors. The high clock speed also made the processor run ridiculously hot as well. Intel's under-the-table deals kept AMD from winning overnight however, later causing Intel massive legal backlash. While things improved with the second generation (Northwood), it got worse with the third, known as Prescott. Notable for being both a power hog and a very hot processor. However, to mitigate issues, Intel created HyperThreading, which simulated a Multi Core Processor and SpeedStep, which clocked down the processor when it wasn't doing much to save power. Later models of the Prescott also introduced the "Land Grid Array" (LGA) chip, where the chip's pins are now in the socket while the chip itself had mere copper lands that rested on the pins.
- Clock Speed: 1.2 GHz to 3.8GHz
- Word length: 32 bits (64 internally); later increased to true 64-bit on "Prescott"
- Address space: 36 bits; later increased to 42 bits on 64-bit "Prescott" models
- Used in: PCs
AMD Duron (2000): AMD's response to Intel's Celeron. Essentially a low cost Athlon.
- Clock Speed: 600 MHz to 1.8 GHz
- Word size: 32 bits (64-bit memory access)
- Address space: 36 bits
- Used in: PCs
Intel Itanium (2001): Intel's second major blunder. On paper it looked good with 64-bit technology, massive floating-point performance, the ability to access ludicrous amounts of memory, and back-compatibility with existing 32 bit code. In practice however, the first version barely even equaled a similarly-clocked Pentium III in native mode, and couldn't even convincingly outperform an 80486[3] in 32-bit mode. Subsequent editions were more successful, but it remained a very niche product due to its high price and the difficulty of generating optimal code for the architecture, and the Itanium gradually sank into irrelevancy as multi-core x86-64 chips equalled and surpassed its performance for a much lower price point.
- Clock Speed: 733 MHz to 1.6GHz
- Word length: 64 bits (32 bits via hardware emulation; later editions swapped this for a software emulator)
- Address space: 50 bits
- Used in: Servers, supercomputers
Transmeta Crusoe (2001): Perhaps more noted for the years of hype that surrounded its introduction, but noteworthy for being the first CPU designed from the ground up for laptops. Rather than using the CRISC design, the Crusoe used a Very Long Instruction Word (VLIW) design and had software to handle the instruction translation. Transmeta claimed that when their hardware and software became mature enough, they would be able to produce CPUs that were cheaper, much faster and much more power efficient than anything their rivals could make. Unfortunately, they never got the chance; after the Crusoe got a decidedly mixed reaction (it indeed had a very low power draw, but also pretty low performance, which is a problem when you're sitting around waiting for your laptop to do stuff on limited battery power), Intel, AMD and newcomers Via quickly moved into the "ultraportable laptop" market which the Crusoe had helped solidify, and Transmeta left the business in 2005.
- Clock Speed: 500 MHz to 800 MHz
- Word length: 64 bits (32 bits via software emulation)
- Address space: 32 bits
- Used in: Laptops
Via C3 (2001): Via's debut in the CPU market, and a somewhat more successful implementation of what Transmeta had tried with the Crusoe. Initially this was branded the Cyrix III, but changed after troubles in the development process[4]. Initially it was just another budget CPU design, but Via quickly emphasised its low power usage, creating very small CPU packages and the still widely-used Mini ITX case design to allow PCs to be built in the kind of space that had not previously been possible.
- Clock Speed: 500 MHz to 1.2 GHz
- Word length: 32 bits (64 internally)
- Address space: 32 bits
- Used in: Laptops, Small Form Factor PCs
IBM PowerPC 970 (G5) (2003): The first 64-bit-capable PowerPC CPU intended for desktop use, the PowerPC 970 was announced by IBM in 2002. It was a cut-down, single-core version of IBM's POWER4 server CPU, with PowerPC compatibility and Motorola's AltiVec instructions added. Dubbed the "G5" by Apple, it first appeared in the Power Mac G5 in 2003, with single and dual-processor versions available. Apple was never quite pleased with the G5. While it was a powerful CPU, it was also a power hog and required extreme cooling measures because it ran so hot; some machines even shipped with water cooling stock, something that had never been needed before on a consumer-level machine. Apple lobbied IBM and Motorola to make a low-power version of the G5, something that would be suitable for the PowerBook, but neither was interested, forcing Apple to consider ARM and Intel. They went with Intel, and history was made; see the Core entry for more.
- Clock speed: 1.6-2.7 GHz
- Word length: 64 bits
- Address space: 64 bits
- Used in: Power Mac G5, iMac G5, IBM servers
Intel Pentium M (2003): Intel's Ensemble Darkhorse during the age of the Pentium 4. Before, Intel took their desktop processors and tweaked them for laptops. This, however, was the first one designed from the ground-up for laptops. Superficially it looks like a Pentium III with the Pentium 4's system bus and a huge cache bolted on, but every aspect of the chip was carefully hand-tuned to provide the best possible balance of performance and efficiency. As a result, it outperformed everything on the market in terms of performance-per-watt on release and humiliatingly for Intel it often outperformed the "Prescott" Pentium 4 models even at stock speeds. This led to companies producing desktop Pentium M boards for enthusiasts who wanted to get in on the act. The Pentium M would subsequently form the basis for the Core 2 line which eventually took the market back for Intel, and many believe that had Intel not had the Pentium M in development when they did, they would probably have never regained the performance lead.
- Clock Speed: 1 GHz to 2.26 GHz
- Word length: 32 bits (64 internally)
- Address space: 32 bits
- Used in: Laptops, some PCs
AMD Athlon 64 (2003): Introduced the x86-64 (also known as AMD64 and Intel64) instruction set, giving the x86 64-bit capabilities while remaining backwards compatible with 32-bit x86 programs. Also the first x86 processor to have the memory controller on-die, making access faster than it would be by going through the system bus. Noted for being by far the most successful AMD processor and probably remembered more fondly by enthusiasts than any other CPU, ever. The impact of its server counterpart, Opteron was even more keenly felt (64-bit addressing being more useful there), and AMD dominated that market for most of the decade.
- Clock Speed: 1.8 GHz to 3.0 GHz
- Word length: 32 or 64 bits; built-in memory controller
- Address space: 36 or 64 bits (limited to 48 due to practicality)
- Used in: PCs
AMD Sempron (2004): The successor to the AMD Duron. Initially these were severely crippled Athlon 64s, with only one memory channel and no 64-bit support, but after the introduction of multi-core Athlon 64s the brand instead began to be used for AMD's single-core chips.
- Clock Speed: 1-2.9 GHz
- Word Length: 32 or 64 bits (32-bit only on earlier versions)
- Address Space: 36 or 64 bits (limited to 48 due to practicality)
- Used in: PCs
IBM Xenon (2005): Based on PowerPC.
- Clock Speed: 3.2 GHz
- Word length: 32 or 64 bits
- Address space: Probably 32 or 42 bits
- Used in: Xbox 360
- Fun trivia: The Xenon processor is actually based on the PPE unit of the Cell Broadband Engine.
Intel Core (2006): The point where Intel started to be taken somewhat seriously again. The basic cores (of which there were two) were pretty much the same as the one designed three years earlier for the Pentium M, but the already-good performance of that chip combined with incremental improvements meant that the Core was able to draw level with the Athlon 64 by most measures. Other innovations included being able to downclock one of the two cores to save power, and a single cache that was shared by both cores. Notable also for Intel's debut on Apple Macintosh computers, which now enabled them to run much faster than the PowerPC series, and to the delight of many, be fully compatible with Microsoft Windows. A server version was also produced, but was generally ignored in this market due to the lack of 64-bit functionality; a problem which Intel would address quickly.
- Clock Speed: 1-2.13 GHz
- Word length: 32 bits
- Address space: 36 bits
- Used in: Laptops, early Intel iMacs
Sony-Toshiba-IBM Cell Broadband Engine (2006): Based on PowerPC.
- Clock Speed: 3.2 GHz
- Word length: 32 or 64 bits
- Address space: 64 bits
- Used in: Play Station 3, IBM BladeCenter, IBM Roadrunner supercomputer.
- There is a case where the Cell was used in a media encoding add-in card that performed really well for the task.
Intel Core 2 (2006): Intel leap-frogs AMD after a 6-year dalliance with the inefficient and impractically hot-running Pentium 4. This processor went back to Intel's roots by overhauling the Pentium M and Core 1's design, making it faster, and adding AMD's x86-64 instructions. Also the first Intel processor (along with the cheaper Pentium D, based on the Pentium 4's architecture) to use multiple cores. In addition, Intel would continue to create lower power-consumption mobile variants for laptops, each designated M in their product numbering, a trend continued in subsequent generations to this very day. The Pentium brand, meanwhile, was reintroduced as a low-end CPU line, only a rung above the Celeron.
- Clock speed: 1.0 to 3.4 GHz
- Core count: 2/4 (Core 2 Quad)
- Word length: 32 or 64 bits
- Address space: 36 or 64 bits (with the same 48-bit caveat as the Athlon 64)
- Used in: PCs, lower end models in Sega's arcade systems.
AMD Phenom (2007): The successor to the Athlon 64, and the world's first native four-core chip (Intel's competing Core 2 Quads were a pair of Core 2 Duos slapped together on the same chip). In addition to this, it was the first CPU that allowed the individual cores to be clocked wholly independently of one another (Core and Core 2 offered downclocking options, but at fixed clock rates), or even powered down altogether. The first version was late to the market, clocked far too slow to compete with Intel's offerings, and suffered a glitch which could crash the whole system in certain rare circumstances. However, the second revision was much more successful; while it couldn't convincingly outperform the Core 2 or later Core i7, AMD were able to offer more cores for the same price as an equivalent Intel chip, meaning that they dominated the low-end for several years.
- Clock Speed: 2.2 GHz to 3.6 GHz
- Word length: 32 or 64 bits; built-in memory controller
- Address space: 36 or 64 bits (limited to 48 due to practicality)
- Used in: PCs
ARM Cortex (2008): ARM's most widely used processor for embedded applications and consumer electronics. This family is as ubiquitous in those ares as the x86/x64 is to laptops and desktops.
- Clock Speed: 8MHz for the low end, and about 1.6GHz to even 2.0GHz.
- Word length: 32-bit
- Address space: 32-bit
- Used in (notably):
- Apple's iPhone, iPod Touch, and iPad
- Most Android based devices
- Sony's Play Station Vita
First generation Intel Core i3/i5/i7 (2008-2010): Intel consolidated many of the features of the x86 processors into one, including an on-die memory controller and HyperThreading for some models. Quad-cores were now on a single die, in contrast to the dual module Core 2 Quads. They also added Turbo Boost, an ability for the processor to overclock some cores if needed. It also introduced unlocked clock multipliers (locked since the early 90s) on selected mainstream and performance models (these were given the K suffix), as opposed to only the "Extreme Edition" parts. This generation also marked the introduction of on-board GPUs on the i3 series as well as dual core i5s that would debut the following year with the 32nm die shrink, though it wasn't fully integrated into the core yet (instead using the "on-chip but off-die" approach Intel had taken to cache on the Pentium Pro and II). The one downsides to this family were a slightly unclear branding scheme[5] and the fact that it boasted one of the more notable motherboard socket, and market, splits between the enthusiast (the i7-9xx chips) and mainstream markets, which drew particular criticism from fans of AMD and their consistently supported AM3 design[6].
- Clock speed: 2.66 to 3.6 GHz
- Core count: 2/4/6
- Word length: 32 or 64 bits
- Address space: 36 or 64 bits (48-bit in practice)
- Fab process: 45nm; 32nm (tick)
- Used in: PCs
MCST Elbrus 2K (2000-) A Russian attempt to revive its dying microelectronics industry, this CPU was in development since early 2000, but was largely sidelined by a lack of modern production facilities, as Russian laws at the time prevented its large-scale production on the foreign plants, and their major application was in military. Another attempt to create a competitive VLIW-based CPU, this looks like it was finally done right: back in 2005 one of this chips, clocked at 300 MHz, outpaced a 500 MHz Pentium III in x86 compatibility mode, and was competitive with 2 GHz P4 when running a native code. Modern iterations of the same core, clocked at 1-1.2 GHz, are noted for their extremely high efficiency: while getting a comparable performance to the similarly clocked Intel Atom chips, they radiate only around six watts of waste heat, compared to the Atom's ~25 W. During The Oughties all produced chips went to military applications, but starting from 2012, as the first native fabs are coming online, the producer plans to release the CPU on the market.
- Clock Speed: 300 MHz - 1.2 GHz
- Core Count: 1 - 4
- Word Length: 32 or 64 bits
- Address Space: 32 or 64 bits (see above)
- Fab Process: 130 or 90 nm (65 nm planned with plants upgrade)
- Instruction Set: Native or x86 compatibility mode
- Used In: Military computers.
2010s
Second Generation Intel Core i3/i5/i7 (aka Sandy Bridge/Ivy Bridge) (2011): During this generation, Intel, knowing full well of their competition and the future that lay in smaller computer devices, began a two-front assault against ARM and AMD, focusing more on improving power efficiency and on-die graphics than improving performance. This allowed for, among other things, smaller form notebooks as part of their new Ultrabook initiative, inspired in no small part by the Macbook Air. The onboard graphics not only now encompassed the entire line, but also vastly improved to be able to taken somewhat seriously, if not enough to rival AMD/ATi (see below). What's more, they now eclipsed high-end graphics cards at video transcoding via QuickSync. Late in the year, Intel released the high-end variant of the platform, Sandy Bridge-E, which nixed the onboard graphics, but has a maximum of 8 possible cores.
- Clock speed: 2.8 to 3.5 GHz (3.9 GHz with turbo)
- Core count: 2/4/6
- Word length: 64-bits
- Address space: 64-bits (again, limited to 48-bits)
- Fab process: 32 nm (Sandy Bridge); 22 nm (Ivy Bridge)
- Used in: PCs
AMD Fusion (Bobcat/Llano) (2011): After AMD bought ATi in 2006, AMD had goals to merge the logical portion of the processor, with the computational powerhouse of the GPU. AMD eventually came out with a similar solution to that of Intel's in 2011 named Fusion. AMD's solution has more of a GPU focus, die shots showing that AMD's "Accelerated Processing Units" (APU) are roughly half GPU and half CPU. These features are rather popular with laptops, as graphical and computing performance increases dramatically, with little impact to battery life.
- Clock speed: 2.4GHz to 3.0GHz
- Core count: 2-4
- Word length: 64-bits
- Address space: 64-bits (again, limited to 48-bits)
- Used in: PCs
AMD FX-series (2011): AMD takes a radical approach to CPU organization in the processor. Instead of a "core", this processor has "modules", consisting of two basic execution units, with a shared FPU. There was claim that this used die space more efficiently. While it does excel in multi-threaded tasks (up to the same performance as Intel's second generation Core i7 in some cases), in other tasks, it's only slightly better (or even slightly slower) than its predecessor.
- Clock speed: 3.2GHz to 3.6GHz (4.2GHz with turbo)
- Module/core count: 2-4/4-8
- Word length: 64-bits
- Address space: 64-bits (again, limited to 48-bits)
- Used in: PCs
Early RISC-V Processors (2014 for ISA): the mid to late 2010s saw the first RISC-V processors. While not comparable to the performance of other chips being produced at the time, the openISA offered a number of advantages making it compelling for embedded controllers.
- Clock speed: Varied by Implementation
- Module/core count: Varied by implementation
- Word length: 32-bit
- Address space: 32-bit or 64-bit
- Used in: Embedded systems
AMD Zen (Summit Ridge) (2017): A new design by AMD that lead to rapid gains in the market against Intel, which at the time had not truly faced a serious high performance rival for about a decade.
- Clock speed: 2-3.6GHz (4.1GHz with Turbo)
- Module/core count: 2-32
- Used in: PCs, Workstations, Servers
- The follow-up Zen 2 would be used in the PlayStation 5, Xbox Series S and Series X, and the Steam Deck.
2020s
Apple M1 (2020): Apple transitioned their Mac line from x86_64 to ARM by using a custom in house system on a chip, leading to large gains in device efficiency.
- Clock speed: Up to 3.2 GHz
- Module/core count: 8-20
- Used in: Macs
- ↑ That's 1.4 millionths of a centimeter
- ↑ At least, according to this: "Intel Discloses Newest Microarchitecture and 14 Nanometer Manufacturing Process Technical Details"
- ↑ And we don't mean that "it couldn't outperform an 80486 clock-for-clock." We mean it couldn't outperform an 80486. Period.
- ↑ Basically, the original version which they purchased along with the remnants of Cyrix turned out to be a pretty dismal failure, and so was replaced by a design from IDT, another minor CPU player that Via had purchased
- ↑ Most blatantly with the Core i5; while the best known version was a quad-core processor without Hyperthreading, the vast majority of i5s were actually just Core i3s with a slightly faster graphics core
- ↑ Not that AMD are entirely innocent themselves on this count; the initial high-end Athlon 64s also used a different socket to their desktop counterparts, as did their short-lived Quad FX platform