Parallel Processor Systems Presentation

advertisement
Computer Architecture and
the Fetch-Execute Cycle
Parallel Processor Systems
Learning Objectives
Discuss parallel processing systems (coprocessor, parallel processor and array
processor), their uses, their advantages
and their disadvantages.
A Von Neumann Architecture
instruction can be in one of three
phases:
1. Fetched (from memory).
2. Decoded (by the control unit).
3. Executed (by the control unit).
Disadvantages of Von Neumann
Architecture
Executes instructions serially.
Limited by the time it takes to process
each instruction.
Some registers are idle (not being used)
during the Fetch - Decode - Execute Reset cycle.
Pipelining
Overlaps the three phases of a Von Neumann
Architecture instruction and uses idle registers.
This helps with the speed of throughput unless the
next instruction in the pipe is not the next one that
is needed.

E.g. Instruction 2 is a jump to Instruction 10.
Then Instructions 3, 4 and 5 need to be removed from the pipe &
Instruction 10 needs to be loaded into the fetch part of the pipe.
Thus, the pipe will have to be cleared and the cycle restarted.
Effect of pipe lining
Three instructions dealt with at the same time.
Registers no longer idle.
This SHOULD reduce the execution times considerably
(to approximately 1/3 of the standard times), however,
this would only be true for a very linear program.
Once jump instructions are introduced the problem
arises that the wrong instructions are in the pipe line
waiting to be executed, so every time the sequence of
instructions changes, the pipe line has to be cleared and
the process started again.
Parallel Processor Systems
An alternative to Von Neumann
Architecture (serial processors) with many
independent processors (or ALUs – see array
processor later in this presentation) working in
parallel on the same run of a program /
job.
Parallel Processing is needed when
applications are:
Time sensitive (results are needed in a very
short period of time).
Contain vast quantities of data.
Require large amounts of processing /
calculations.
Processes are interrelated.
Calculations can be done at same time which
speeds up processing.
e.g. Weather Forecasting (next slide)
Weather Forecasting
Data collected about present conditions to
include wind / speed / humidity / temperature /
pressure.
Also details about conditions close to required
location.
Predictions made (forecast) matched against
actual results.
Hone predictions next time.
Data collected by weather balloons / satellites /
weather stations.
Types of
“Parallel Processing System”
Processors
“Parallel Processing System”
Processors
True Parallel Processors
(serial processors in parallel)
Array Processor
Coprocessors
(one serial type processor
with multiple ALUs)
(Not general-purpose
processors in their own right)
Maths Coprocessors
Floating Point Coprocessors
True Parallel Processors
Many processors to perform a single job /
program.

Each processor is a general-purpose
processor in its own right.
Serial processors in parallel.
Used to perform any task which is a part
of the entire problem.
An
Array processor
One main processor but with many ALUs.
Allows a single instruction to be carried out
simultaneously on a number of data locations in
an array and is used to process all the values in
the array at the same time.
Note: A kind of sub form of a parallel processing system: not a true parallel
processor as cannot process all tasks which are part of an entire problem,
only multiple values in an array (e.g. cannot fetch multiple instructions from
memory, execute multiple program flow control instructions, do multiple input/output
operations, etc…).
Coprocessor/s
Not general-purpose processors in their own right (a kind of sub
form of a parallel processing system).
Cannot fetch instructions from memory, execute program flow control
instructions, do input/output operations, etc….
They require the host main processor to fetch the instructions and
handle all other operations aside from the coprocessor’s specific
functions.
They basically offload the burden of carrying out certain
operations from the main processor.

There are two types:
Maths Coprocessors

Separate units which carry out all mathematical operations.
e.g. floating point arithmetic, graphics, signal processing, string
processing or encryption.
Floating Point Coprocessors

Separate units which can carry out only calculations on floating point values.
These only carry out all mathematical operations including floating point
calculations whereas Floating Point Coprocessors can only carry out
floating point calculations but not other mathematical operations.
What's a bus?
Early computer buses were literally
parallel electrical wires with multiple
connections, but the term is now used for
any transmission path.

A wire basically.
Types of Buses
1. Address
2. Data
3. Control
Control
Control
Control
Control
Address
Control
Data
1
Address
3
Control
2
Data
Single headed arrow = Uni-directional
Double headed arrow = Bi-directional
Data
4
http://en.wikipedia.org/wiki/File:Computer_system_bus.svg
Types of Buses
1. Address

Carries the address of a memory location.
e.g. Address of location in memory from MAR.
2. Data

To carry data from one location to another in
processor.
e.g. from MDR to CIR
3. Control

Carries control signals around processor to
synchronise the operation of the processor
components.
e.g. Memory read/write completed.

In reality there are many lines/wires and each line carries a
different signal.
Plenary
How does pipelining speed up the
processing done by a computer?
Plenary
All instructions have three phases which
are treated separately, by different parts of
the processor so that more than one
instruction can be being dealt with
simultaneously.
Plenary
What type of instruction would cause the
pipeline system to be reset and why?
Plenary
Jump instruction

The instructions in the pipeline are no longer
the ones to be dealt with next so the pipeline
has to be reset.
Plenary
How does parallel processing differ from
serial processing?
Plenary
Many processors are used simultaneously
all doing some processing required by the
application.
Special non-linear programs must be
produced.
Plenary
Why is parallel architecture needed when
processing some simulations?

Give an example application.
Parallel Processing is needed when
applications are:
Time sensitive (results are needed in a very
short period of time).
Contain vast quantities of data.
Require large amounts of processing /
calculations.
Processes are interrelated.
Calculations can be done at same time which
speeds up processing.
e.g. Weather Forecasting.
Download