Central Processing Unit

*** also see Microsoft's I/O, Processor, and Memory Designs page (huge library of info)

 


Socket 370 & Socket 7 CPU's


Slot 1 CPU

 

*** see Intel's Processor Hall of Fame - excellent !!

Layman's Explanation and Analogy

The CPU processes bits of data, and uses memory to temporarily store items.  It has some special circuitry for math operations, called the ALU (Arithmetic Logic Unit).  It has some very high-speed memory called an L2 cache which it uses for high-speed swapping of data.  It has some larger but slower memory a little farther away on the motherboard called RAM (Random Access Memory).  If these two memory locations are full, it uses the hard drive for long-term storage.   The CPU will use the hard drive to simulate memory, in a special reserved empty file on the drive, called the "swap file".

The CPU also has a number of hardware interrupt lines feeding into it from various devices.  The devices (such as the sound card, keyboard, video card, etc.) send a interrupt signal to notify CPU when they need to be serviced, and then they wait their turn.

The best way to explain the CPU is to use an analogy.  Imagine you are working feverishly at a table with a number of beads and a calculator, trying to perform additions and subtractions of the beads, and also save certain special combinations of beads.  There are a number of people around you that occasionally need beads to do some of their own work - they have special cards they can hand you to request some beads.  You have 3 places where you can store beads  .  .  .  a bowl, a pail, and a crate.

L2 Cache analogy - you have a small bowl right next to you, that you can quickly drop a few beads in, and then retreive them - that would be the same as the L2 cache that resides either in the CPU or right next to it on the motherboard.

RAM analogy - You also have a large pail in the corner of the room which you can store and retrieve beads in.  That would be equivalent to RAM, which sits on the motherboard.  RAM is not nearly as fast as the L2 cache, but it is much larger.

Hard Drive analogy - In the basement you have a large crate.  In case the pail becomes full, or if you need to store a huge number of beads for a while, you can go down to the basement, to store them in the crate or retrieve them.  This is very slow, since you have to go up and down the stairs.  Similarly, the hard drive is much slower than RAM and the L2 cache.  But it is ever so much larger - in the same way as the crate is much larger than the pail or the bowl.

ALU analogy - the calculator that you can use to quickly add and subtracts numbers of beads.  

Interrupt analogy - when the assistants need some beads, or want you to process some beads they have, they realize you are busy, and they slip you a card to let you know they need help - or to "interrupt" you.  When you get a chance you help them out.  This is an analogy of the various devices inside the PC that require the CPU to help them process data, such as the video card and the keyboard

Integrating the L2 Cache into the CPU Core - 

Intel's first attempt to integrate the L2 cache directly into the processor failed, because the sheer mass of processor rejects drove the manufacturing costs for the Pentium Pro through the roof. While its successor, the Pentium II, also had an integrated L2 cache, the same difficulties prevented it from being integrated directly into the processor core. Instead, Intel integrated the processor onto a small circuit board, added memory components for the L2 cache, wrapped it all up in a plastic box, and dubbed it the "Slot 1." The processor had morphed into a clunky plug-in board that was more expensive than its socket-based rivals.

Once 0.25 µm manufacturing methods were introduced, though, Intel was able to integrate the L2 cache into the core, stepping up performance considerably. The first processor to benefit from this then-innovative technique was the Celeron Mendocino (128 KB L2 cache). It was not until many months later that the second one, the Pentium III with a Coppermine core (256 KB), came out.

 

Modern CPU's

By far, the most common CPU's out there amongst the masses are the Pentium-Class processors and AMD K5 and K6.  I am still an Intel fan, and unless there is a major reason, I will never buy an AMD chip.

The older Pentiums were the Socket 7 architecture, and the newer ones have the "Slot 1" format.  The speeds have increased dramatically.  At the time of this writing (Oct 2000), Intel just release a 1.13 GHz PIII chip !!!

For a fantastic, detailed look at old and new CPU's of every flavor and variety, as well as reviews, go to Tom's Hardware Guide   For information on the actual brand name CPU's check out the manufacturer pages at Intel, AMD  .  .  .  the only other major CPU manufacturer, Cyrix, has basically gone out of business.  It's a good thing too, since they were very poor performers.

Socket 7 is a flat square, which mounts into a white plastic square - with many pins which fit exactly into the many holes.  One pin in one corner is missing, so that the processor can only go in one way.  The slot 1 CPU is small and square, similar to the Socket 7 - however, it is surrounded by a large plastic housing and heat sink - and the mounting is actually a thin card, which slides into a slot on the motherboard (hence the term, "Slot 1") :

Socket 7, Pentium, 133 MHz

           

Slot 1, Pentium II, 350 MHz

 

Slot 1, Pentium II, 350 MHz with Heat Sink

History of CPU's

Without the CPU, there would be no PC. Like all other hardware components, the CPUs are continually undergoing further development. You can see the explosive technological development in data processing most clearly in the development of newer and faster CPUs. The CPUs have for years doubled their performance about every 18 months (Moore's Law), and there are no indications that this trend will stop.

When we now look at all the CPUs from a broader perspective, we can see that:

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
Numberof transistors
1st. Generation 8086 and 8088 1978-81
29,000
2nd. Generation 80286 1984
134,000
3rd. Generation 80386DX and 80386SX 1987-88
275,000
4th. Generation 80486SX, 80486DX,
80486DX2 and 80486DX4
1990-92
1,200,000
5th. Generation Pentium
Cyrix 6X86
AMD K5
IDT WinChip C6
1993-95
1996
1996
1997

3,100,000
--
 
--
 
3,500,000

Improved
5th. Generation
Pentium MMX
IBM/Cyrix 6x86MX
IDT WinChip2 3D

1997

1997

1998

4,500,000

6,000,000 

6,000,000

6th. Generation Pentium Pro
AMD K6
Pentium II
AMD K6-2
1995
1997
1997
1998

5,500,000

8,800,000

7,500,000

9,300,000

Improved 6th. Generation Pentium III
AMD K6-3
1999
1999
?
7th. Generation AMD K7 Athlon 1999/2000
22,000,000
8th Generation Pentium 4
AMD Athlon XP
2002

???

We will start by looking at what the CPU really does: 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.

The CPU continually receives instructions to be executed. Each instruction is a data processing order. The work itself consists mostly of calculations and data transport.  

Data must have a path to the CPU. It is kind of a data expressway called the system bus.  

 

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:

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 then you say "print," you are 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 were originally written for the Intel 8086 processor, which founded the concept "the IBM compatible PC." 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 compatability 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 and RISC 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.

Reduced Instruction Set Computer (RISC)

The RISC instructions are brief and the same length (for example 32 bit long, as in Pentium Pro), and they process much faster than CISC instructions. Therefore, RISC is used in all newer CPUs. However, the problem is that the instructions arrive at the CPU in 8086 format. Thus, they must be decoded

For every new CPU generation, the instruction set has been expanded. The 386 came with 26 new instructions, the 486 with 6 new instructions, and Pentium with 8 new instructions. These changes mean that some programs require at least a 386 or a Pentium processor to work.

More work per clock stroke

There is also a continuous optimizing of the instruction handling process. One is that the clock frequency increases, as we will see later - the faster, the better. But what can the CPU do in one clock tick. That is critical to its performance. For example, a 386 needed 6 clock ticks to add a number to a sub total. A job which the 486 manages in only two clock ticks, because of more effective instruction decoding.

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
Pentium and thereafter Built in

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! Read more of this subject here.

Therefore, if you use your PC in advanced design applications, and even games, the FPU performance becomes significant.