Beruflich Dokumente
Kultur Dokumente
AH Computing
Introduction
6502
8 bit processor, 16 bit address bus
Intel8086/88 (1979)
IBM PC
16-bit data and address buses
Motorola 68000
16-bit data and 24-bit address
PowerPC (1992)
Incorporated pipelining and superscaling
8086
Introduction
Technological developments
RISC processors
SIMD
Pipelining
Superscalar processing
CISC and RISC
CISC- Complex Instruction Set Computer
Microprogramming complex
instructions are split into a series of
simpler instructions
When a complex instruction is executed,
the CPU executes a small microprogram
stored in a control memory
This simplifies design of processor and
allows the addition of new complex
instructions
RISC
Characteristics
of RISC processor
Review Questions
Q6 7
2010 14a-c
Parallel Processing
At least two microprocessors handle parts of an
overall task.
A computer scientist divides a complex problem into
component parts using special software specifically
designed for the task.
He or she then assigns each component part to a
dedicated processor.
Each processor solves its part of the overall
computational problem.
The software reassembles the data to reach the end
conclusion of the original complex problem.
Single Instruction, Single Data (SISD)
computers have one processor that handles
one algorithm using one source of data at a
time. The computer tackles and processes
each task in order, and so sometimes people
use the word "sequential" to describe SISD
computers. They aren't capable of performing
parallel processing on their own.
SIMD
Single Instruction, Multiple Data (SIMD)
computers have several processors that follow
the same set of instructions, but each
processor inputs different data into those
instructions. SIMD computers run different
data through the same algorithm. This can be
useful for analyzing large chunks of data
based on the same criteria. Many complex
computational problems don't fit this model.
SIMD
A single computer instruction performing the same
identical action (retrieve, calculate, or store)
simultaneously on two or more pieces of data.
Typically this consists of many simple processors,
each with a local memory in which it keeps the data
which it will work on.
Each processor simultaneously performs the same
instruction on its local data progressing through the
instructions in lock-step, with the instructions issued by
the controller processor.
The processors can communicate with each other in
order to perform shifts and other array operations.
SIMD
SIMD Example
2008 Q15
Pipelining
time
Execution of instructions with a
pipeline
time
Example - 5 Stage Pipeline
Instruction Length
In CISC-based designs, instructions can
vary in length
A long slow instructions can hold up the
pipeline
Less of a problem in RISC-based
designs as most instructions are fairly
short
Problems with Pipelining 2
Data dependency
If one instruction relies on the result
produced by a previous instruction
Data required for the 2 nd instruction may
not yet be available because the 1st
instruction is still being executed
Pipeline must be stalled until data is
ready for the 2nd instruction
Problems with Pipelining 3
Branch instructions
BCC 25 - branch 25 bytes ahead if the
carry flag is clear
If the carry flag is set, the next
instructions is carried out as normal
If the carry flag is clear then the
instruction 25 bytes ahead is next
Instruction 3 is a
Branch Instruction
requiring a jump to
instruction 15 so 4
instructions are
flushed from the
pipeline
Optimising the Pipeline
Techniques include
Branch prediction
Data flow analysis
Speculative loading of data
Speculative execution of instructions
Predication
Optimising the Pipeline
Branch prediction
Some processors predict branch "taken"
for some op-codes and "not taken" for
others.
The most effective approaches,
however, use dynamic techniques.
Optimising the Pipeline
Speculative execution
Processor carries out instructions before
they are required
Results stored in temporary registers
Discarded if not required
Optimising the Pipeline
Predication
Tackles conditional branches by
executing instructions from both
branches until it knows which branch is
to be taken
Optimising the Pipeline
Review Questions
Q8-14
2011 13a,b,c
2009 13e
2008 17
2006 18c