Review: computers
 

  • Recall from CS255 that a computer is a programmable calculator:

              

What's involved in the computing process ?
 

  • To perform a computation, we need:

      1. The operation (we need to know what to do !)

      2. The operands (you cannot perform a computation (e.g., add) without knowing the operands !)

Different ways to perform parallel computing
 

  • Parallel computing or parallel execution:

      • performing multiple computations simultaneously (i.e., at the same time)

  • Parallel computing can be done in 2 ways:

      1. A single operation (= instruction) is applied to multiple (different) operands (= data)

        SIMD processor = Single Instruction Multiple Data processor

      2. Multiple operations (instructions) is applied to multiple (different) operands (= data)

        MIMD processor = Multiple Instructions Multiple Data processor

A taxomony of CPUs

CPUs can be categorized as follows:

Note: MISD does not make sense - we never compute 3+4, 3−4, 3×4, 3/4 on the same data

The SISD computer

The SISD computer executes 1 instruction on 1 (set of) input data:

The SISD computer is the classic (traditional) computer that you have studied so far.

 

Example:

    add r10, r0, r1

    The (one) operation is:          add
    The (one set of) input data is:  r0, r1

The SIMD computer

The SIMD computer executes 1 instruction on multiple input data set:

The SIMD computer is known as a vector computer

Example:

    +- -+   +- -+   +- -+
    | 3 |   | 1 |   | 4 |   The one instruction is add 
    | 5 | + | 2 | = | 7 |
    | 7 |   | 1 |   | 8 |   3 sets of operands are added !!
    +- -+   +- -+   +- -+

The MIMD computer

The SISD computer executes different instruction on different (set of) input data:

The SISD computer is a multi-processor computer.

 

Example:

    // Note: each CPU has it's own registers !! 
    CPU1 executes:  add r10, r0, r1 
    CPU2 executes:  sub r10, r0, r1
    CPU3 executes:  add r5,  r4, r3
    CPU4 executes:  mul r5,  r2, r1