CPU

The CPU is the centerpiece of any modern day computer. They are the small piece of silicon that everything revolves around. Located on your mainboard usually with a big heat sink over it, the CPU does all the calculating and a lot of the data transfer in your computer. Most processors nowadays would be considered microprocessors, and if they run a computer they are CPU's. They can be networked, distributed systems, multiprocessors, or multicomputers. Which all involves parallel programming. Examples of large collections of CPU's involves ASCII White and TeraGrid.

Types

Below is an incomplete list of various processors and the company that marketed them. Most current types are included, server, workstation, desktop, mobile, and some embedded. This is an incomplete random list, historical processors are not listed here. If there is a processor you want to see on this list /msg me.

ARM
ARM1
ARM2
ARM3
ARM6
ARM7

Intel
Pentium Pro
Pentium II or Pentium 2
Pentium III or Pentium !!!
Pentium 4
Xeon
Itanium / Itanium 2
StrongArm (initially acquired from DEC)
StrongArm 2
IXP 1200
IXP 220/225

AMD
K6
K6-2
Athlon
Athlon 4
Athlon XP
Duron
Sledgehammer/Opteron

Apple
G3
G4 or PowerPC
M68000

Sun
Sparc
UltraSparc II
UltraSparc III

DEC
Alpha 21164

Cray
Cray T3E
Cray MTA
Cray SV1
Cray SV2
Cray SX-6

NEC

The Insides


Common Von Neumann Central Processing Unit

  +---------+     +----+     +----------+ 
  | Control |<--->| PC |     |          |
  |   Unit  |     +----+     | Datapath |
  |         |<---------------|          |
  |         |--------------->|          |
  +---------+                +----------+
     | ^                        ^ |
     | |                        | |Memory
     | |                        | | Bus
     | |                        | V
     | |                     +----------+
     | +---------------------|          |
     +---------------------->|  Memory  |
                             |          |
                             +----------+

The datapath is further broken down into :
  (PC & Control Word From Control Unit)
     |  |
     |  |
     V  V
  +-----------+     +----------+      +----------+
  |           |     |          |      |          |
  |Instruction|---->| Register |----->|   ALU    |--+-->|To Memory / Cache
  |  Fetch    |     |   File   |      |          |  |
  |           |     |          |      |          |  |
  +-----------+     +----------+      +----------+  |
                          ^                         |
                          |      WriteBack          |
                          +-------------------------+         
This is a large oversimplification for modern superscalar processors. Actual architecture may differ slightly from this floor plan as far as where memory accesses occur and how the stages are pipelined. Also possibly included in modern processors but not shown above are:

ISA

ISA, or an Instruction Set Architecture is the assembly language that a processor runs on. See assembly code for some examples of how it works. Here are some common ISA's. Then you have the ISA extensions used to emulate parallel vector processors with SIMD operations, such as MMX, SSX, and 3DNow!. Checkout MMX Optimization Guide for more information. Of course all assembly languages are plagued with the little-endian and big-endian notation problems.

Creation

Silicon, semiconductor, transistor, lithography, solid state physics, p-n junction, diode, FAB, IEEE, and of course Silicon Valley

It's All about the Pentiums

This is a work in progress. Suggestions on errors, additions, removals, broken links, etc. are readily welcomed.


Things to still be included: how they are made, parallel, applications, languages, developments, codenames, intricate parts (btb etc), uses.