The framework of a computer consists of the processor, memory, input and output units. The processor has the following components.

Arithmetic logic unit

The arithmetic-logic unit (ALU) in which all arithmetic and logic operations are carried out.

Program Counter

Contains the memory address of the next instruction to be executed.

Control Unit

Coordinates all the activities taking place in the CPU, the memory and added peripherals. It does this by sending control signals to the devices.

Current instruction register

Contains the current instruction to be run.

Status register

Contains information about interrupts but also contains the output of the previous instruction, a different bit would be set for a different results. From this the CPU would decide if to branch out of a given sequence.

Memory address register

Holds the address of the memory location from which data will be read or to which data will be written. The MAR may sometimes hold the address of the instruction to be read.

General purpose registers

Used for performing arithmetic functions, CPUs can contain only one or a number of general purpose registers. A set of instructions could be the following where the numbers are memory locations.

  1. Load contents of 1000 into the accumulator
  2. Add the contents of 1001 to the accumulator
  3. Store contents of accumulator in 1002
Memory data register or Memory buffer register

Used to temporarily store information read from or written to the memory. All transfers from memory to the CPU go via the memory data register. Serving as a buffer region to compensate for the difference in speed between the CPU and memory.

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.

Log in or registerto write something here or to contact authors.