The central processing unit (CPU) is the "brains" of a computer. It is the part of the computer which interprets and carries out instructions from the computer programs.
Modern desktop computers use microprocessors: complex integrated circuits containing millions of transistors and other electronic components. The microprocessor is mounted in a socket or slot on the mainboard (motherboard) so that it can be connected to other components.
Although microprocessors are becoming increasingly complex, at root its operation can be summed up as the repeated sequence of simple tasks: Fetch an instruction; Decode the instruction; Execute the instruction.
Each microprocessor recognizes a unique set of binary instructions which have been predefined and stored permanently in the chip. When the CPU receives an instruction it passes it to a unit known as the Decode unit which contains a sequence of operations which must be performed to complete the operation. The Decode unit passes the sequence of instructions to the Control Unit which holds tiny programs known as microcode for each operation the microprocessor had been designed to carry out.
The actual work of the microprocessor is carried out in the Arithmetic Logic Unit. Most of these operations are in fact performed by addition. To perform subtraction, the CPU first finds the complement of the number to be subtracted and then adds the two numbers. Multiplication and division can be performed by carrying out multiple addition or subtraction operations. To compare two numbers, the CPU will subtract them and then check to see if there is a remainder, and so on.
In order to carry out its operations, the processor has storage locations, called registers, for the numbers and instructions it is operating on. For example, to add two numbers, the first number mign be loaded into Register A, the second into Register B and the result stored in Register C. To speed up the operations of the processor, the Prefetch unit looks ahead in the program to find the next instructions and preloads them into registers, to cut down on time wasted waiting for the next instruction.
The microprocessor connects to the external components of the computer via "buses": sets of parallel conductors used to move data in the form of electrical pulses. There are three types of buses: the data bus carries the binary-coded information and instructions; the address bus carries binary-coded numbers which identify storage locations in main memory, much like the postal code on a letter; the control bus carries timing signals, read-write signals, interrupt requests and similar signals between the microprocessor and external devices.
To manage the flow of data into and out of the CPU, two other units are required: the Memory Management Unit, and the Bus Management Unit. To summarize, the essential sections of a microprocessor are:
Many of the refinements in modern microprocessors are designed to improve processor utilization and eliminate wasted clock cycles. The addition of cache memoryhigh-speed memory used for temporary storage of instructions and data; multiple "pipelines" so that more than one sequence of instructions can be performed at one time; Branch-prediction units which attempt to predict which branch of a program will be executed next so that the cache memory and extra piplines can be used efficiently.
There are several attributes of a microprocessor which determine its power and capabilities:
The earliest microprocessors could handle data only in bytes (8 bits). As the width of the data bus increases, the width of the data bus determines how much information can be moved in or out of the processor in one operation. It also determines the number and length of instructions which can be used.
The width of the address bus determines how much memory can be addressed. The Intel 8086 had a 20 bit address bus. Since a 20 bit binary number can represent 2 different numbers, the 8086 could address 1MB of memory. The 386 and 486 could address 4GB of memory using a 32-bit address bus, and the Pentium class processors have a 36-bit address bus capable of connecting 64GB of memory.
The width of the internal data bus and the storage registers may differ from the external data bus. The 386SX processor, for example had the same internal 32-bit registers as other 386s, but only a 16-bit external bus. The Pentium class processors, have an external 64-bit data bus, but the internal registers are only 32-bit. For this reason the Pentium processors are referred to as 32-bit. Workstation processors like the SPARC and Alpha are 64-bit, as is the next generation of Intel chips, the Itanium.
As processor speeds increased, the speed of main memory (RAM) could not keep up. To minimize size and cost, RAM memory uses Dynamic RAM (DRAM). Static RAM (SRAM) is much faster, but also more expensive, so it is used in small quantities as a temporary storage location for data on the microprocessor or closely connected to it. This high-speed memory is known as cache memory. It is operated by a cache controller which attempts to identify which data or instructions will be needed next and load them into the cache so that the processor will not have to stand idle while waiting for data to be retrieved from RAM. Today's microprocessors have cache memory in two levels, referred to as Level 1 (L1)and Level 2 (L2). The L2 cache was originally mounted on separate chips outside the CPU, and operated at a lower speed than the processor, but improvements in manufacturing technology have permitted the L2 cache to be moved onto the processor chip where it operates at the same speed as the processor. In processors like the Pentium III, an additional external bus operating at processor speed connects the L2 cache; this is known as the backside bus in contrast to the frontside bus which connects to main memory.
An oscillator mounted on the motherboard generates a series of electrical pulses which the computer uses to synchronize the operations of its many components. Each complete change in the signal, from positive to negative and back again is known as a cycle, and the number of cycles per second, or frequency, is measured in Hertz.
The speed of the processor is often a multiple of the external bus speed: for example a 500 MHz chip installed on a 100MHz mainboard will operate at 5x the bus speed.
The clock speed does not relate directly to the speed at which the CPU processes instructions. Early microprocessors required as many as 10 clock cycles to complete a single instruction. Modern microprocessors with what is called 'superscalar" architecture have dual or multiple 'pipelines' so that more than one instruction can be executed at once. Therefore, a more accurate measure of processor speed is MIPS (Millions of Instructions per Second), although the number of actual instructions processed rarely reaches the theoretical maximum.
Power consumption is an often overlooked measure of microprocessor performance. Much of the power consumed is given off as heat, which must be dissipated, or it will cause malfunctions. Low power consumption is also a critical factor in extending the life of batteries in notebook computers.
The formula for power consumption is Volts x Amps = Watts. However, a decrease in operating voltage also produces a drop in amperage (Ohm's Law). Older chips functioned at 5 volts, while Pentium class chips operate in the range of 2 volts. This results in a power saving of 84% without any other improvements in the circuitry.