Unit 4 Flashcards
Flynn’s classification of parallel processing systems:
SISD (Single Instruction Stream, Single Data Stream) – A single processor that executes instructions sequentially.
SIMD (Single Instruction Stream, Multiple Data Stream) – Multiple processors executing the same instruction on different data.
MISD (Multiple Instruction Stream, Single Data Stream) – Multiple processors executing different instructions on a single data stream (theoretical, no practical systems).
MIMD (Multiple Instruction Stream, Multiple Data Stream) – Multiple processors executing different instructions on different data streams simultaneously.
arithmetic pipeline
Compare Exponents: Subtract the exponents to find the difference. Choose the larger exponent as the result.
Align Mantissas: Shift the smaller mantissa to the right based on the exponent difference.
Add/Subtract Mantissas: Perform addition or subtraction on the aligned mantissas.
Normalize Result: Shift the result’s mantissa if necessary and adjust the exponent to maintain a normalized form.
Example:
For X = 0.9304 × 10³ and Y = 0.8600 × 10²:
Exponent comparison: 3 - 2 = 1. Choose exponent 3.
Align Y’s mantissa: Y becomes 0.0860 × 10³.
Add mantissas: Z = 1.0164 × 10³.
Normalize: Z becomes 0.10164 × 10⁴.
RISC Pipeline
Few Instructions – Simple and limited instruction set.
Few Addressing Modes – Limited ways to access memory.
Memory Access – Only load/store instructions access memory.
Register Operations – All operations are done in CPU registers.
Fixed-Length Instructions – Easy to decode.
Single-Cycle Execution – Most instructions execute in one clock cycle.
Hard-Wired Control Unit – Faster than micro-programmed control.
Pipeline Stages:
I: Instruction Fetch
A: ALU Operation
E: Execute (Write result)
Q: How does pipeline timing work in RISC?
A:
Data Conflict – Happens when a needed result isn’t available yet (can delay execution).
Delayed Load – A no-operation (NOP) is inserted to avoid conflicts, wasting a clock cycle.
vector processing
Vector Processing: Executes instructions on multiple data items simultaneously.
Vector: An ordered set of one-dimensional data (e.g., A = (A1, A2, A3, …An)).
Control Unit: Executes instructions sequentially, but each operates on multiple data.
Vector ALU: Performs parallel operations on entire vectors.
Applications: Includes weather forecasting, petroleum exploration, medical diagnosis, AI, and image processing.
Memory Interleaving: Partitions memory into modules for simultaneous access by multiple sources.Three-address instruction: Specifies base addresses of operands.
Vector Length Field: Indicates the number of elements in the vectors.
Operands: Two n-element vectors as input.
Array Processors
Attached Array Processor:
An auxiliary processor connected to a general-purpose computer to improve performance by providing vector processing for complex arithmetic problems.
It operates as a back-end machine, driven by the host computer, and communicates via an input-output controller.
SIMD Array Processor:
Contains a set of identical processing elements (PEs), each with local memory and an ALU for parallel data processing.
The master control unit coordinates operations in the PEs, and vector operands are distributed to local memories for parallel execution.