1. 1
Hardware and Software Parallelism
Dept. of Computer Science & Engineering
2013-2014
Presented by
Prashant Dahake
Mtech 1st
sem (CSE)
Sub:- High Performance Computer
Architecture
1
A
Presentation on
G.H. Raisoni College of Engineering Nagpur
1
2. What is Parallelism ?
ï Performing more than one task at a time.
ï It speed up the process.
ï More work in less time .
ï It reduces the cost of work.
3. ï§ Modern computer architecture implementation
requires special hardware and software support for
parallelism.
Types of parallelism
ï Hardware parallelism
ï Software parallelism
4. Hardware Parallelism:
ï This refers to the type of parallelism defined by the machine
architecture and hardware multiplicity.
ï Hardware parallelism is a function of cost and performance tradeoffs. It
displays the resource utilization patterns of simultaneously executable
operations. It can also indicate the peak performance of the processors.
ï One way to characterize the parallelism in a processor is by the number
of instruction issues per machine cycle.
ï In a modern processor, two or more instructions can be issued per
machine cycle. e .g i960CA was a 3-issue processor.
5. Software Parallelism:
ï It is defined by the control and data dependence of programs.
ï The degree of parallelism is revealed in the program profile or in the
program flow graph.
ï Software parallelism is a function of algorithm, programming style, and
compiler optimization.
ï The program flow graph displays the patterns of simultaneously
executable operations.
ï Parallelism in a program varies during the execution period. It limits the
continuous performance of the processor.
6. Mismatch between H/W and S/W parallelism
Example:
A= L1*L2 + L3*L4
B= L1*L2 - L3*L4
Software Parallelism
There are 8 instructions;
FOUR Load instructions (L1, L2, L3 & L4).
TWO Multiply instructions (X1 & X2).
ONE Add instruction (+)
ONE Subtract instruction (-)
The parallelism varies from 4 to
three cycles.
Average s/w parallelism = 8/3 =2.67
7. Hardware Parallelism:
Parallel Execution:
âą
âą
Using TWO-issue processor:
The processor can execute
one memory access (Load
or Store) and one arithmetic
operation (multiply, add,
subtract) simultaneously.
The program must execute
in cycles.
âą 7
âą The h/w parallelism average
is 8/7=1.14.
This demonstrate the
mismatch between h/w and
s/w parallelism.
âą
G
8. Example:
ï§ A h/w platform of a Dual-Processor system,
single issue processors are used to execute the
same program.
ï§ Six processor cycles are needed to execute the
12 instructions by two processors.
ï§ S1 & S2 are two inserted store operations.
ï§ L5 and L6 are two inserted load operation.
ï§ The added instructions are needed for inter-
processor communication through the shared
memory
9. Conclusion
To achieve parallelism joint efforts between
hardware designer and software programmer
are needed which further upgrade computer
performance.