Intro to Computer Systems

Chapter 4: Processors

System Processors

The vast majority of desktop CPUs supplied in computers for sale today (both IBM PC-compatible and Apple Macintosh) are from one of two processor families: Intel's Core, and AMD's Athlon lines. These two vendors provide CPUs which are software compatible; they can run the same software, although physically and electrically speaking, they are completely different.

The software a CPU can run depends on the instruction set it supports. The instruction set of the Intel and AMD desktop processor lines is called x86, in reference to the Intel 8086 processor (the first processor that supported it).

The Intel 8086 was first developed in 1978. Since then, its x86 instruction set has been added to many times in order to keep it relevant to modern processor technology.

Jargon like x86-64, IA32, MMX, SSE and 3DNow are the names of various extensions to the original x86 instruction set. They focus mainly on multimedia capabilities such as audio and video processing.

Most all modern desktop and notebook processors include two or more processing cores; this allows the processor to execute two sets of instructions at the one time.

Major Microarchitectures

Intel's Core Architecture

Core is the trading name for Intel's latest architecture for their mobile, desktop and workstation class CPUs. Confusingly, the processor family this architecture replaced was also called Core, and marketed as the "Core 2". The current processor range is known as Core i3 (low-end), Core i5 (mid-range) and Core i7 (high-end).

The name of the current microarchitecture (as opposed to marketing name) is Haswell. Haswell's primary contribution to the processor architecture was not so much raw computational performance, but power savings and an improved integrated graphics subsystem.

There are two Intel processor design bureaus: one in Oregon, United States; and another in Haifa, Israel. Microarchitectures (and many other Intel projects) are named by staff in the bureau that designed them; and are commonly named after local features.

This is why some names sound so different: some are from the US bureau (Willamette, Cedar Mill, etc.) and others from Israel (Dothan, Yonah, etc.)

Intel's design priorities changed from maximising processor speed with the Pentium 4, to maximising cycle efficiency and multi-core processing with the Core (and future) architectures.

An annotated picture of an Intel Haswell-based processor.
An annotated picture of an Intel Haswell-based processor. Credit: Intel

Intel's workstation and server processor families are built from the same architectures, but branded as Xeon.

AMD's K-series (and later) Microarchitectures

For a long time, AMD has been Intel's main competitor in the desktop processor market. With the arrival of their K7 architecture (and Athlon processor) line in 1999, they were finally able to produce products that were the equal of Intel's offering. Since then, the two companies have traded the "performance crown" many times as the levels of competition intensified. Another breakthrough of AMD's processor line up arrived in 2003 when it released its Opteron line of server processors (and later on, the Athlon 64 line of desktop processors.) This new architecture was the first to introduce some new features to the desktop computing world:

An architectural diagram of an AMD Steamroller-based processor.
An architectural diagram of an AMD Steamroller-based processor. Credit: AMD

The current AMD desktop processors are named AMD FX, with the most recent architecture is called Steamroller, released in early 2014. The diagram above is an architectural diagram (in the floating-point unit, FMAC stands for fused-multiply add capability; and MMX is Multimedia Extensions, a family of single-instruction multiple-data instruction sets that optimise media related computing tasks.)

ARM

ARM stands for Advanced RISC Machines, (the eventual name of) a British company that developed an instruction set that has proven to be very popular in the low-power computing sector for portable devices such as smartphones and tablets.

The ARM architecture has been widely licensed by electronics companies: ARM (the company) don't actually make any processors themselves. Common implementations of ARM System on Chips (SoCs) in today's market are Qualcomm Snapdragon, Samsung Exynos, and Apple A-series.

As it has a different instruction set, it cannot run desktop x86 operating systems or applications.

One innovation recently introduced to the mass market by ARM is a heterogeneous computing architecture called big.LITTLE, where full performance, relatively power-hungry cores are teamed with lighter weight, low power cores; and using them in a fashion that can most efficiently (in terms of power consumption) process a constantly changing processor load.

Processor Sockets

The computer's CPU fits into a socket on the motherboard. Each family of processor has its own unique socket design; this is because each architecture has its own electrical and signalling requirements.

Sockets are not the be-all and end-all of compatibility! In some cases, newer processors of a certain socket type may not be supported on older motherboards; or the motherboard may not be able to supply the power requirements of some processors in the family.
Socket 775 LGA   AMD Socket AM2 PGA
An Intel Socket 775 LGA (left), and AMD Socket AM2 PGA (right).

The traditional socket design is that the CPU has pins, which fit into a socket with holes. This is known as Pin Grid Array (PGA).

However, modern processors have the reverse: the motherboard has pins, and the CPU has a number of landing pads onto which the pins sit. This is Land Grid Array (LGA). The first such socket of this type was Socket 775, introduced for late-model Pentium 4 processors.