Back Next

Primary memory is directly addressable by CPU and electronics.

Wikipedia : "CPU cache"

  Register: 
    Internal to CPU.
    Architecturally defined.
      addressed by "name" (native operand).
      preset quantity and configuration.
    Very fast access.
    Expensive.
    Very small quantity.
  Main memory:
    External to CPU.
    Addressed by numeric values.
    Slower than CPU.
    Less expensive.
    Large quantities, limited by CPU/bus address width.
    Quantities vary, not required to fill full address range.

Principle of locality. 

Locality example :
  int I, 
  float num[100]
  for I = 0 to 99
  do
    num[i] = num[i] + num[i] * .05
  done

  Spacial - the num array is usually implemented as a set of adjacent
    memory cells and the set of values composing the instruction sequence
    are also stored together.
     i.e CSECTs (4K block).

  Temporal - the small set of instructions composing the loop are
    repeated 100 times as is access to the block of memory holding array.

Caching principles
  A cache is a small block of high speed memory that acts like 
    addressable primary memory, usually 16K - 256K.

  Caching works by providing enough high speed memory to handle the
    current task's data and code.

  This works because of the principle of locality.
    A workable sized block of high speed memory provided for a limited 
      but significant amount of time.