Useful Notes: Central Processing Unit

The Central Processing Unit (CPU or 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). Modern ones may include a floating point unit (FPU) as well.
  • A memory management unit, which one of its functions is to store the results of an operation.
  • Registers to hold important bits of information.

All processors have a basic vocabulary known as an Instruction Set Architecture (ISA). Programs can run on different processors made for the same or similar ISA with little, if any, performance penalty. If the processor has a different ISA, then the same program can be run via emulation with a performance hit. Examples of widely used ISAs today are the x86/x64, POWER/PowerPC, ARM and MIPS.

The performance of a CPU can be increased by either increasing its Clock Speed, how many bits it can crunch at once, adding small amounts of high speed memory called cache, or by carefully engineering how it handles instructions on the ISA, in particular with branching and instruction issuing. All these components however take up space and increasing the frequency also increases the heat output of the part. By shrinking the transistors that make up the CPU, more can be put in less space and at the same time up the frequency, as smaller transistors allow faster operation while outputting less heat. As of 2012, the smallest transistors made for production CPUs is 22nm. Or about 4500 times smaller than the width of an average human hair.

A brief History

Early programmable computers were built with individual components, starting with vacuum tubes until discrete transistors were invented in the late 1950s. It wasn't until 1971 when Intel developed the first fully integrated (one chip) microprocessor, the Intel 4004 note . During the 1980s, microprocessor companies were finding more and more things to integrate into the same package until it evolved into the processor that exists today. Extensions of this include the microcontroller, which contains a CPU core with many peripherals such as timers, analog sampling, serial communication, and general purpose IO, to drive small embedded devices. The microcontroller later evolved into the System-on-a-Chip (SoC), which can be considered a self-contained computer. These power a lot of today's portable electronics.

See the analysis page for more in-depth information and the trivia page for a list of famous processors.