The
CPU: Your Computer's Core
by Lee Alexander
The
core of a PC is its CPU (Central Processing Unit). What is a CPU?
It is an IC (Integrated Circuit) of tiny transistors arranged in
logic gates to perform the Boolean operations that carry out the
instructions of the software code. Popularly, the type of the PC
is identified by the CPU's development. A 386 PC meant the CPU was
an 80386 unit. The next progression was the 80486 and Intel dropped
the five digit numerical designation with its Pentium (5- series)
chip.
IC's
are fabricated by a complex process involving photolithography and
the doping (adding positive and negative materials) of a thin, single
crystal, silicon wafer. The generations of the CPU are astounding
in their growth parameters. The aforementioned 80286, in 1982, was
comprised of 134,000 transistors using 1.5 micron technology. The
1.5 microns refers to the smallest line width of the process. A
micron is one millionth of a meter (0.000001 m), equivalent to 0.000004
inches. A human hair is about 0.002 inches thick; one hair would
cover 2000 side-by-side lines. Jumping ahead to 1993, Intel's Pentium
CPU contained 3.1 million transistors and used 0.8 micron lines.
The present top Pentium, the P4, has 55 million transistors and
employs 0.13 micron technology and runs at just over 3 GHz (Gigahertz).
What's
inside and what does it do?
Address
a number used within the CPU to locate a specific piece of data.
Often used in place of the actual value, it can be more compact
and act quicker.
Bus
an arrangement of conductors to carry data between logical units
in the CPU. Buses are specified in terms of bit-width, the number
of bits transmitted simultaneously. Intel's buses are 32 bits wide.
Cache
Memory there are two types: L1 (primary) resides on the
CPU chip and is much faster than the off-chip L2 in the Pentium
II and III CPU's. The latest P4 PGA (Pin Grid Array) has the L2
cache on-chip but in a separate location for efficiency.
Clock
Speed the frequency of cycles performed by the CPU in
the tick of the clock on the mother board. Noted in MHz or GHz (Mega/Gigahertz),
it is not always a direct indication of performance.
Logic
Gate a circuit of transistors that outputs a signal (data)
depending upon the data input. Gates come in a variety of configurations:
AND, OR, NAND (not AND), and NOR. Basically, the computer sees the
output as TRUE or FALSE.
RAM
not part of the CPU. It is the destination for the instructions
and data from the CPU.
Registers
small elements of memory within the CPU. They hold the temporary
data for the internal workings of the CPU. This allows for a much
faster operation than looking up an address of main RAM and fetching
its contents.
Transistor
in the case of the most common FET's (Field Effect Transistors),
three elements comprise the solid state switch: the Source, the
Drain, and the Gate. The signal to the gate toggles the device on/off
(open/closed).
ALU
(Arithmetic Logic Unit) the area in the CPU where arithmetic
(!) and Boolean logic operations are carried out; such as incrementing
a counter or summing values. The intermediate results are kept in
registers.
Control
Unit implements the four basic steps for an instruction:
Fetch -sending the address of the next word in
the instruction over the address bus and placing the value in the
proper register.
Decode -transferring the data to the Decoder where
the machine language is translated into binary code.
Execute -performing the math and logic that controls
the data flow.
Store -recording the results in the correct registers.
FPU
(Floating Point Unit) - the ALU can only perform integer math, using
whole numbers. Some applications, notably CAD and other graphic
intensive programs (games) require fractional values. Prior to the
486 family, this was a separate chip on the mother board.
Instruction
Set machine language code stored permanently within the
CPU. It comes in two flavors: CISC (Complex Instruction Set Computer)
and RISC (Reduced Instruction Set Computer). RISC has fewer commands
and they are all the same word length for faster operations - but
require more transmissions. Intel CPUs use CISC.
Prefetch
unit a small core of memory holds the next instruction
and compares it to the contents of the cache and CPU's main memory.
This occurs while the Decode and Execute units go about their tasks.
Let's
follow some action on your PC. Suppose you reach a point where the
OS (Operating System) requests a password and you have previously
set the PW to AardVark. Hitting the A on the keyboard sends the
data through RAM to the processor. As this is not an instruction,
the CPU recognizes it as data but does not know what to do with
it. It therefore sends the data to the Prefetch unit, where it joins
the line of pending data/instructions. The Prefetch unit scans the
CPU's main memory for an instruction, wherein the software tells
the Prefetch to send the code via the data bus to the instruction
cache. There it is assigned an address for future use. The Prefetch
unit then sends the address and the data code to the Decode unit.
The Decode unit translates the data, the instruction with it, and
its address into binary code. The translated information is then
sent to the Control unit, which is told to store the data in the
Data cache and wait for further instructions. Almost simultaneously,
the letter A appears on your monitor (due to the built in instructions)
via the Data bus. The process is repeated for the remaining seven
letters of your password.
When
you hit Enter, a new procedure begins. The BIOS (Basic Input/Output
System) runs the command to read through the Data bus to the Prefetch
unit. Checking the Instruction cache it finds none and goes on to
main memory. The OS sends the Prefetch the collected data of eight
letters and a command to compile (translate) and compare the data
with a known stored value. The new instruction, addresses, and data
are sent to the Decode unit where it again converted to binary code.
All this is now passed on to the ALU for processing. The Control
unit sends the first letter of the stored password (in the OS) as
binary code along with the address of your first typed letter, which
has been stored in the Data cache. The ALU runs a Boolean compare
on each bit of the binary code for the first letter. The result,
a TRUE or FALSE, is stored in a memory register until the comparison
is complete for each character.
A
parallel computation has found an instruction in the main memory
to provide access if the information from the Prefetch unit, the
Instruction cache, and the Decode unit all result in a final condition
of TRUE from the ALU. Now you can proceed or gracefully quit.
For
a more detailed view of CPUs and their features, visit www.pcmag.com
and scroll down to Comparison: CPU Road Map.
ANSI
(American National Standards Institute) 8 bit (0 through 255 decimal)
code is used for characters. The number zero (0) is assigned 48
10 , upper case A is 65 10 , lower case a' is 97 10. The corresponding
binary values are 0011 000, 0100 0001, and 0110 0001
|