Back Lectures
Tricks and improvements.
 
  Wider data bus.
    Single read of larger chunk of memory.

  Serialized bus.
    Bits transferred sequentially but at very high speeds.
 
  Networked switched bus with point to point interfaces.
    Quick-interconnect (Intel)
    Hypertransport (AMD and others)

  Caching.
    Limited quantity of faster memory.
    Harvard architecture  (program and data in separate blocks of memory)

  Parallel processing - 
    Symmetrical 
      Multiprocessor systems - up to thousands of CPUs 
        Single task in parallel (large arrays of data). 
        May have multiple paths to memory and I/O.
        CPUs or cores often of simpler design.

      Multi core CPUs 
        Multiple identical units.
        Single path connecting CPU chip to rest of system - Single I/O system.
        Individual level 1 caches but single shared level 2 cache.

        Different parts of a task or different tasks in parallel.
        * Commonly runs multiple programs at same time.
  
      Super-scalar - single CPU.
        Multiples of the slowest and most complex logic (ALU)

        SIMD 
          Single instruction applied to multiple elements of a data set. 

    Asymmetrical
      Math Co-processors, Video cards, sound cards, DMA.
        Slightly varied data-path inside an individual CPU.

    * as parallel processing gets more complex, overhead increases.
    * but still allows different circuits to function at same time.
    * programs need to be aware for optimal use.


  Moore's law (observation, 1965) 
    - density of transistors doubles every 18-24 months 
    - by implication the power of the system doubles every 18 months.
    Wikipedia topic : Moore's law  - includes mention of related improvements
      in storage and networking.

  Rock's law - cost of equipment to manufacture chips doubles every 4 years.

  Amdahl's law - performance enhancement possible from a given improvement 
    is limited by the amount the improvement is used. 

    This is a law and includes algorithms for determining cost effectiveness
      of a particular improvement.

  Also, some things can not be speed up.

    If pouring a section of sidewalk takes a day to pour and harden, then
      you hire ten workers to pour a 10 sections at the same time, but 
      hiring a 100 workers won't make the sections harden any faster.

  Brook's "Mythical Man Month"