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.