ECDL.web

Central Processing Unit

From ECDL.web

"Northwood" core Intel Pentium 4 processor
A central processing unit (CPU), or sometimes simply processor, is the component in a digital computer that interprets computer program instructions and processes data. CPUs provide the fundamental digital computer trait of programmability, and are one of the necessary components found in computers of any era, along with primary storage and input/output facilities. A CPU that is manufactured as a single integrated circuit is usually known as a microprocessor. Beginning in the mid-1970s, microprocessors of ever-increasing complexity and power gradually supplanted other designs, and today the term "CPU" is usually applied to some type of microprocessor.

The phrase "central processing unit" is a description of a certain class of logic machines that can execute computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage. However, the term itself and its initialism have been in use in the computer industry at least since the early 1960s (Weik 1961). The form, design and implementation of CPUs have changed dramatically since the earliest examples, but their fundamental operation has remained much the same.

Early CPUs were custom-designed as a part of a larger, usually one-of-a-kind, computer. However, this costly method of designing custom CPUs for a particular application has largely given way to the development of mass-produced processors that are suited for one or many purposes. This standardization trend generally began in the era of discrete transistor mainframes and minicomputers and has rapidly accelerated with the popularization of the integrated circuit (IC). The IC has allowed increasingly complex CPUs to be designed and manufactured in very small spaces (on the order of millimeters). Both the miniaturization and standardization of CPUs have increased the presence of these digital devices in modern life far beyond the limited application of dedicated computing machines. Modern microprocessors appear in everything from automobiles to cell phones to children's toys.

Contents

History

Prior to the advent of machines that resemble today's CPUs, computers such as the ENIAC had to be physically rewired in order to perform different tasks. These machines are often referred to as "fixed-program computers," since they had to be physically reconfigured in order to run a different program. Since the term "CPU" is generally defined as a software (computer program) execution device, the earliest devices that could rightly be called CPUs came with the advent of the stored-program computer.

The idea of a stored-program computer was already present during ENIAC's design, but was initially omitted so the machine could be finished sooner. On June 30, 1945, before ENIAC was even completed, Hungarian-born mathematician John von Neumann distributed the paper entitled "First Draft of a Report on the EDVAC." It outlined the design of a stored-program computer that would eventually be completed in August 1949 (von Neumann 1945). EDVAC was designed to perform a certain number of instructions (or operations) of various types. These instructions could be combined to create useful programs for the EDVAC to run. Significantly, the programs written for EDVAC were stored in high-speed computer memory rather than specified by the physical wiring of the computer. This overcame a severe limitation of ENIAC, which was the large amount of time and effort it took to reconfigure the computer to perform a new task. With von Neumann's design, the program, or software, that EDVAC ran could be changed simply by changing the contents of the computer's memory.

Being digital devices, all CPUs deal with discrete states and therefore require some kind of switching elements to differentiate between and change these states. Prior to commercial acceptance of the transistor, electrical relays and vacuum tubes (thermionic valves) were commonly used as switching elements. Although these had distinct speed advantages over earlier, purely mechanical designs, they were unreliable for various reasons.

The design complexity of CPUs increased as various technologies facilitated building smaller and more reliable electronic devices. The first such improvement came with the advent of the transistor. Transistorized CPUs during the 1950s and 1960s no longer had to be built out of bulky, unreliable, and fragile switching elements like vacuum tubes and electrical relays. With this improvement more complex and reliable CPUs were built onto one or several printed circuit boards containing discrete (individual) components.

During this period, a method of manufacturing many transistors in a compact space gained popularity. The integrated circuit (IC) allowed a large number of transistors to be manufactured on a single semiconductor-based die, or "chip." At first only very basic non-specialized digital circuits such as NOR gates were miniaturized into ICs. CPUs based upon these "building block" ICs are generally referred to as "small-scale integration" (SSI) devices. SSI ICs, such as the ones used in the Apollo guidance computer, usually contained transistor counts numbering in multiples of ten. To build an entire CPU out of SSI ICs required thousands of individual chips, but still consumed much less space and power than earlier discrete transistor designs. As microelectronic technology advanced, an increasing number of transistors were placed on ICs, thus decreasing the quantity of individual ICs needed for a complete CPU. MSI and LSI (medium- and large-scale integration) ICs increased transistor counts to hundreds, then thousands.

Transistor-based computers had several distinct advantages over their predecessors. Aside from facilitating increased reliability and lower power consumption, transistors also allowed CPUs to operate at much higher speeds because of the short switching time of a transistor in comparison to a tube or relay. Thanks to both the increased reliability as well as the dramatically increased speed of the switching elements (which were almost exclusively transistors by this time), CPU clock rates in the tens of megahertz were obtained during this period. Additionally, while discrete transistor and IC CPUs were in heavy usage, new high-performance designs like SIMD (Single Instruction Multiple Data) vector processors began to appear. These early experimental designs later gave rise to the era of specialized supercomputers like those made by Cray Inc.

Microprocessors

The introduction of the microprocessor in the 1970s significantly affected the design and implementation of CPUs. Since the introduction of the first microprocessor (the Intel 4004) in 1970 and the first widely used microprocessor (the Intel 8080) in 1974, this class of CPUs has almost completely overtaken all other central processing unit implementation methods. Mainframe and minicomputer manufacturers of the time launched proprietary IC development programs to upgrade their older computer architectures, and eventually produced instruction set compatible microprocessors that were backward-compatible with their older hardware and software. Combined with the advent and eventual vast success of the now ubiquitous personal computer, the term "CPU" is now applied almost exclusively to microprocessors.

Previous generations of CPUs were implemented as discrete components and numerous small integrated circuits (ICs) on one or more circuit boards. Microprocessors, on the other hand, are CPUs manufactured on a very small number of ICs; usually just one. The overall smaller CPU size as a result of being implemented on a single die means faster switching time because of physical factors like decreased gate parasitic capacitance. This has allowed synchronous microprocessors to have clock rates ranging from tens of megahertz to several gigahertz. Additionally, as the ability to construct exceedingly small transistors on an IC has increased, the complexity and number of transistors in a single CPU has increased dramatically. This widely observed trend is described by Moore's law, which has proven to be a fairly accurate predictor of the growth of CPU (and other IC) complexity to date.

While the complexity, size, construction, and general form of CPUs have changed drastically over the past sixty years, it is notable that the basic design and function has not changed much at all. Almost all common CPUs today can be very accurately described as von Neumann stored-program machines.

As the aforementioned Moore's law continues to hold true, concerns have arisen about the limits of integrated circuit transistor technology. Extreme miniaturization of electronic gates is causing the effects of phenomena like electromigration and subthreshold leakage to become much more significant. These newer concerns are among the many factors causing researchers to investigate new methods of computing such as the quantum computer, as well as to expand the usage of parallelism and other methods that extend the usefulness of the classical von Neumann model.

Notable CPU architectures

AMD Athlon 64 X2 E6 3800+
  • Microcomputer/PC CPU architectures
    • Intel's x86 and the related IA-16 and IA-32 architectures
      • x86-64 with AMD's AMD64 architecture and Intel's EM64T version of it
    • Motorola's 6800, 6809, and 68000 architectures
    • MOS Technology's 6502 architecture
    • Zilog's Z80 architecture
    • IBM and later the AIM alliance's PowerPC architecture (there are actually a handful of related, but distinct architectures that have been labeled "PowerPC")
    • The Advanced RISC Machines' (originally Acorn) ARM and StrongARM/XScale architectures
  • Workstation/Server CPU architectures
    • DEC's Alpha architecture
    • HP's PA-RISC architecture
    • IBM's POWER architecture
    • Intel IA-64 architecture
    • MIPS Computer Systems Inc.'s MIPS architecture
    • Sun Microsystems's SPARC architecture
  • Mini/Midrange/Mainframe CPU architectures
    • Burroughs large systems architecture (1961-present) currently supported in the Unisys ClearPath/MCP series.
    • IBM System/360 and AS/400 architectures (1964-present)
    • DEC's PDP-11 architecture, and its successor, the VAX architecture
    • UNIVAC 1100/2200 series architecture (currently supported by Unisys ClearPath IX computers)
    • MIL-STD-1750A - the U.S.'s military standard computer
    • AP-101 - the space shuttle's computer
  • Emerging CPU architectures
    • IBM's Cell architecture (Sony/IBM/Toshiba Cell processor)
    • CAS's Godson
    • Parallax Propeller, a 160 MIPS multicore simultaneous multiprocessing microcontroller with eight 32 bit "RISC" processors.
  • Embedded CPU architectures
    • ARM's ARM Architecture
    • Microchip's PIC architecture
    • Intel's 8051 architecture
    • Zilog's Z80 architecture
    • Western Design Center's 65816 architecture
    • Hitachi's SuperH architecture
    • National Semiconductor/AMD's Geode architecture
    • Axis Communications' ETRAX CRIS architecture
  • Historically important CPUs
  • EDSAC - the first practical stored-program computer
  • Apollo Guidance Computer, used in the moon flights
  • MIPS R4000 - the first microprocessor to use a 64-bit datapath
  • Intel 4004 - the first microprocessor

Parts of the CPU

There are three main components to the CPUs used in personal computers: the arithmetic-logic unit (ALU), control unit and on-board cache memory.

Control unit: The control unit is responsible for loading and interpreting the individual instructions that comprise the computer program. These instructions are in a language called machine code. Machine code is a pattern of ones and zeros. The control unit also has the task of getting the data needed by the instructions and returning the results of the processing after the instruction has been executed.

Arithmetic-logic unit: The ALU is responsible for carrying out arithmetic operations such as addition and subtraction as well as logical decisions such as whether one number is bigger than another. All programs consist of complex sets of arithmetic and logical operations. Another way of thinking of a logical operation is as a decision making operation.

On-board cache memory: Because the CPU can perform its operations much faster than data can be transferred from RAM, many CPUs have on-board cache memory. This is memory that the control unit can access very quickly and use for intermediate storage. Further, data and instructions can be loaded into cache before they are actually needed. When they are needed, the transfer is much faster than it would have been if RAM had been used.

Speed of the CPU: The CPU operates as a result of electronic pulses sent to it by another device on the motherboard called the clock. The speed of a CPU is measured by the maximum number of pulses it is able to handle. This is measured in MHz (megahertz) or millions of pulses per second or GHz (gigahertz) thousands of millions of pulses per second. An average personal computer in 2007 will use a CPU with a clock speed of over 2 GHz. This means it receives 2 000 000 000 million pulses every second from the CPU.

Previously CPUs could only do one operation per pulse. With improvements in technology, they have been able to improve on this. For example, they can do one operation at the start of the pulse and one at the end of the pulse.

Current mainstream CPUs

to be done -- PC processor names, price ranges

Upcoming CPUs

In other languages
Views
Personal tools