Beruflich Dokumente
Kultur Dokumente
What is a CPU?
The CPU is certainly the most important PC component. CPU stands for Central
Processing Unit. Let us briefly study that name:
When we now look at all the CPUs from a broader perspective, we can see that:
The CPU history is closely tied to the companies IBM and especially Intel.
The CPUs have their roots back to Intel's chip 4004 from 1971.
You can identify seven or eight CPU generations up till today.
The compatibility concept has been important throughout the
development.
CPUs - brief review
CPU history starts in 1971, when a small unknown company, Intel, for the first
time combined multiple transistors to form a central processing unit - a chip
called Intel 4004. However, it was 8 years before the first PC was constructed.
PCs are designed around different CPU generations. Intel is not the only
company manufacturing CPUs, but by far the leading one. The following table
shows the different CPU generations.
They are predominantly Intel chips, but in the 5th generation we see
alternatives:
PC CPUs Year Number transistors
The CPU is centrally located on the motherboard. Since the CPU carries out a
large share of the work in the computer, data pass continually through it. The
data come from the RAM and the units (keyboard, drives etc.).
After processing, the data is send back to RAM and the units.
Data have a path to the CPU. It is kind of a data expressway called the system
bus. You can read more about the system bus in module 2b.
Two types of data
The CPU is fed long streams of data via the system bus. The CPU receives at
least two types of data:
Instructions on how to handle the other data.
Data, which must be handled according to the instructions.
What we call instructions is program code. That includes those messages, which
you continuously send to the PC from the mouse and keyboard. Messages to
print, save, open, etc.
Data are typically user data. Think about the letter, which you are writing to Aunt
Karen. The contents, letters, images, etc., are user data. But if you click "print,"
you are then sending program code (instructions):
8086 compatible instructions
The biggest job for the CPU consists of decoding the instructions and localizing
data. The calculations themselves are not heavy work.
The decoding consists of understanding the instructions, which the user program
sends to the CPU. All PC CPUs, are "8086 compatible." This means that the
programs communicate with the CPU in a specific family of instructions.
These instructions, originally written for the Intel 8086 processor, became the
blueprint for the "IBM compatible PC" concept. The 8086 from 1978 received its
instructions in a certain format.
Since there was a desire that subsequent CPU generation should be able to
handle the same instructions which the 8086 could, it was necessary to make the
instruction sets compatible. The new CPUs should understand the same
instructions. This backwards compatibility has been an industry standard ever
since. All new processors, regardless of how advanced, must be able to handle
the 8086 instruction format.
Thus, the new CPUs must use much effort to translate the 8086 instruction
format to internal instruction codes:
CISC, RISC, and VLIW instructions and their handling
The first CPUs had a so called Complex Instruction Set Computer (CISC). This
means that the computer can understand many and complex instructions. The
X86 instruction set, with its varying length from 8 to 120 bit, was originally
developed for the 8086 with its mere 29000 transistors.
More instructions have been added within new generations of CPUs. The 80386
had 26 new instructions, the 486 added 6 and the Pentium another 8 new
instructions. This meant, that programs had to be rewritten to use these new
instructions. This happened for example with new versions of Windows . Hence,
some programs require a 386 or a Pentium processor to function.
You should also see module 3e09 on MMX, 3DNow! and other extensions to the
set of instructions.
5th and 6th generation CPUs can execute more than one of those operations in
one clock tick, since they contain more processing lines (pipelines), which work
parallel:
Floating point unit FPU
The first CPUs could only work with whole numbers. Therefore, it was necessary
to add a mathematical co-processor (FPU), when better math power was
needed. Later, this FPU was built into the CPU:
CPU FPU
8086 8087
80286 80287
80386 80387
80486DX Built in
80486SX None
It is said that Intel's CPUs have by far the best FPU units. Processors from AMD
and Cyrix definitely have a reputation for providing sub standard performance in
this area. But, you may not utilize the FPU. That depends on the applications
(user programs) you are using. Common office programs do not use the floating
point operations, which the FPU can handle. However, 3D graphics programs
like AutoCad do. And all 3D-games like Quake rely heavily on FPU perfomance!
Therefore, if you use your PC in advanced design applications, the FPU
performance becomes significant. For some users, it is only of limited
importance.