+ All Categories
Home > Documents > Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed...

Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed...

Date post: 12-Jan-2016
Category:
Upload: anthony-little
View: 259 times
Download: 1 times
Share this document with a friend
Popular Tags:
48
Pipeline And Vector Processing
Transcript
Page 1: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

Pipeline And Vector Processing

Page 2: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

Parallel Processing

The purpose of parallel processing is to speed up the computer processing capability and increase its throughput, that is, the amount of processing that can be accomplished during a given interval of time.

Execution of Concurrent Events in the computing process to achieve faster Computational Speed

The amount of hardware increases with parallel processing, and with it, the cost of the system increases.

However, technological developments have reduced hardware costs to the point where parallel processing techniques are economically feasible.

Page 3: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

Parallel processing according to levels of complexity

Multiplicity of functional units that performer identical or different operations simultaneously.

Serial Shift register VS parallel load registers

At the lower level

At the higher level

Page 4: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

Parallel Computers

Page 5: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

SISD COMPUTER SYSTEMS

Page 6: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

Von Neumann Architecture

Page 7: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

MISD COMPUTER SYSTEMS

Page 8: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

SIMD COMPUTER SYSTEMS

Page 9: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

MIMD COMPUTER SYSTEMS

Page 10: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

PIPELINING

A technique of decomposing a sequential process into suboperations, with each subprocess being executed in a partial dedicated segment that operates concurrentlywith all other segments.

A pipeline can be visualized as a collection of processing segments through which binary information flows.

The name “pipeline” implies a flow of information analogous to an industrial assembly line.

Page 11: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

Example of the Pipeline Organization

Page 12: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

OPERATIONS IN EACH PIPELINE STAGE

Page 13: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

GENERAL PIPELINE

Page 14: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

Cont.

Page 15: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

Speedup ratio of pipeline

Page 16: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

Cont.

Page 17: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

PIPELINE AND MULTIPLE FUNCTION UNITS

Page 18: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

Cont.

Page 19: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

ARITHMETIC PIPELINE

Page 20: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

Cont.

See the example in P. 310

Page 21: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

INSTRUCTION CYCLE

Page 22: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

INSTRUCTION PIPELINE

Page 23: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

INSTRUCTION EXECUTION IN A 4-STAGE PIPELINE

Page 24: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

Pipeline

Page 25: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

Space time diagram

Page 26: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

Structural hazards (Resource Conflicts):

Hardware resources required by the instructionssimultaneous overlapped execution cannot be met.

MAJOR HAZARDS IN PIPELINED EXECUTION

Data hazards (Data Dependency Conflicts):

An instruction scheduled to be executed in thepipeline requires the result of a previous instruction,which is not yet available.

Control hazards (Branch difficulties):

Branches and other instructions that change the PCmake the fetch of the next instruction to be delayed.

Page 27: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

Data hazards

Control hazards

Page 28: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

STRUCTURAL HAZARDS

Occur when some resource has not been duplicated enough to allow all combinations of instructions in the pipeline to execute.

Example:With one memory-port, a data and an instruction fetch cannot be initiated in the same clock.

The Pipeline is stalled for a structural hazard <- Two Loads with one port memory -> Two-port memory will serve without stall

Page 29: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

DATA HAZARDS

Page 30: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

FORWARDING HARDWARE

Page 31: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

INSTRUCTION SCHEDULING

Page 32: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

CONTROL HAZARDS

Page 33: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

CONTROL HAZARDS

Page 34: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

CONTROL HAZARDS

Page 35: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

VECTOR PROCESSING

There is a class of computational problems that are beyond the capabilities of conventional computer.

These problems are characterized by the fact that they require a vast number of computations that will take a conventional computer days or even weeks to complete.

Page 36: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

VECTOR PROCESSING

Page 37: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

VECTOR PROGRAMMING

Page 38: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

VECTOR INSTRUCTIONS

Page 39: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

Matrix Multiplication

The multiplication of two nxn matrices consists of n2 inner products or n3 multiply-add operations.

In general, the inner product consists of the sum of k product terms of the form

C = A1B1+A2B2+A3B3+…+Ak Bk

This requires 3 multiplications and 3 additions. The total number of multiply-add required to compute the matrix product is 9x3=27.

c11= a11b11+a12b21+a13b31

Example: Product of two 3x3 matrices

Page 40: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

C = A1B1+A5B5+A9B9+A13 B13+…

+A2B2+A6B6+A10B10+A14 B14+…

+A3B3+A7B7+A11B11+A15 B15+…

+A4B4+A8B8+A12B12+A16 B16+…

Page 41: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

VECTOR INSTRUCTION FORMAT

Page 42: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

MULTIPLE MEMORY MODULE AND INTERLEAVING

Page 43: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

MULTIPLE MEMORY MODULE AND INTERLEAVING

Page 44: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

MULTIPLE MEMORY MODULE AND INTERLEAVING

Page 45: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

ARRAY PROCESSOR

Page 46: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

attached array processor with host computer

Page 47: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

SIMD array processor Organization

Page 48: Pipeline And Vector Processing. Parallel Processing The purpose of parallel processing is to speed up the computer processing capability and increase.

Don’t forget,

try to solve the questions of the

chapter


Recommended