Software applications residing on a computer's CD-ROM drive, hard disk drive, or similar memory storage device send instructions to the CPU. These programs help to temporarily govern the CPU's activities.
Network operating systems are designed to support multiple processors. Although the operating system can automatically distribute the workload between processors, this is not always the best situation. An administrator can force the operating system to run applications on specific processor. This is known as setting processor affinity.
As a program is executed, a CPU can receive instructions from the computer program or from an external peripheral device such as a keyboard or scanner. Instructions are separated and given a unique address that determines their memory location. A CPU uses individual memory addresses to isolate pieces of data and find specific data or instructions.
Program and peripheral device instructions, including their addresses, are passed from the CPU into the computer's main memory—RAM (Random Access Memory). From RAM, the data travels to the CPU's control unit, which decodes the data, interprets it, and then implements the instructions.
The decoded data is sent from the CPU's control unit to its Arithmetic Logic Unit (ALU), where calculations and comparisons are made. As the ALU speeds through its operations, data may temporarily be stored in the ALU's register or in the CPU cache for quick and easy retrieval during operations.
As the ALU receives data, it performs calculations such as addition, multiplication, division, subtraction, and conditional tests. When the calculations are complete, the ALU sends the data back to RAM or stores it in the CPU's register for later use. During this process, a program counter monitors each instruction to ensure that the CPU followed each in the correct order.
When the instruction is to be carried out, data is sent to the appropriate component. This entire process, from data input to output, occurs in a fraction of a second.
A CPU has tens of millions of transistors that change states hundreds of millions of times per second. This activity generates a large quantity of heat, causing the CPU to become extremely hot and painful to the touch. If the heat is not dissipated, the CPU will overheat until it is destroyed.
A heat sink, attached to the CPU, absorbs and transfers heat away from the processor. In addition, a fan is usually attached to the heat sink to dissipate heat more quickly.