CS471- Parallel Processing-Lecture 1-Pipelining Introduction
CS471 - Parallel Processing
Dr. Ahmed Hesham Mostafa
Lecture 1 - Pipelining Introduction
Parallel Processing
Definition: Execution of concurrent events in the computing process to achieve faster computational speed.
Purpose:
Speed up computer processing capability
Increase throughput, which is the amount of processing done in a given interval of time.
Cost Considerations:
Increased hardware requirements lead to higher system costs.
Technological advancements have significantly reduced hardware costs, making parallel processing economically feasible.
Parallel Processing According to Levels of Complexity
Lower Level:
Serial Shift Register vs. Parallel Load Registers
Higher Level:
Multiple functional units perform identical or different operations concurrently.
Parallel Processing Classification
Various classifications exist based on:
Internal organization of processors
Interconnection structures between processors
Flow of information through the system.
Flynn's Classification (1966): Organizes computer systems by the number of instructions and data items processed simultaneously.
Parallel Processing Operation
The normal computer operation consists of:
Instruction Fetching: Instructions are read from memory into an instruction stream.
Data Processing: Operations are performed on data in the processor leading to a data stream.
Parallel processing can occur in:
Instruction stream
Data stream
Both streams simultaneously.
Flynn's Classification of Architectures
Types of Architectures (1966):
SISD: Single Instruction Single Data
SIMD: Single Instruction Multiple Data
MISD: Multiple Instruction Single Data
MIMD: Multiple Instruction Multiple Data
Single Instruction Single Data (SISD)
Description:
Organization of a single computer with a control unit, processor unit, and memory unit.
Instructions executed sequentially; may have internal parallel processing capabilities.
Parallel processing achieved through:
Multiple functional units
Pipeline processing.
SISD Characteristics
Data Handling:
A single processor retrieves data from a single memory address, executing one instruction at a time.
Pipelining:
Possible, but still limited to one instruction execution at a time.
System Type:
All single-processor systems fall under SISD classification.
Advantages and Disadvantages of SISD
Advantages:
Cost-effective
Low power consumption
Disadvantages:
Limited speed due to single-core constraints
Uses:
Microcontrollers
Older mainframes
Single Instruction Multiple Data (SIMD)
Description:
Organization consisting of multiple processing units managed by a common control unit.
All processors receive the same instruction but operate on different data items.