MCSE-103 Advanced Computer Architecture
MCSE-103 Advanced Computer Architecture
- **Characteris cs**:
- **Examples**: Basic personal computers, simple microprocessors like the Intel 8086.
- Mul ple processing elements perform the same opera on on different data points simultaneously.
- **Characteris cs**:
- **Examples**: Vector processors like the Cray-1, GPUs used in graphics and AI applica ons.
- **Characteris cs**:
- Mul ple autonomous processors execute different instruc ons on different data.
- **Characteris cs**:
- Supports a wide range of applica ons and flexible task execu on.
- **Examples**: Mul core processors, clusters, and distributed systems like Google's cloud
infrastructure.
#### Handler's Classifica on of Parallel Compu ng Structures
- **Handler's Taxonomy**:
- Focuses on dis nguishing systems based on their interconnec on networks and processor control
mechanisms.
- **Categories**:
- **Defini on**:
- Technique where mul ple instruc on phases are overlapped to increase throughput.
- **Stages of Pipelining**:
- **Advantages**:
- **Challenges**:
- **Data Hazards**: Occur when instruc ons depend on the results of previous instruc ons.
- **Control Hazards**: Arise from branch instruc ons altering the flow of execu on.
- **Structural Hazards**: Happen when hardware resources are insufficient to support all stages.
#### Vector Processors
- **Defini on**:
- Processors that perform opera ons on en re vectors (arrays) of data simultaneously rather than scalar
opera ons.
- **Characteris cs**:
- **Single Instruc on Mul ple Data (SIMD)**: Executes the same instruc on on mul ple data points.
- **Applica ons**: Scien fic compu ng, engineering simula ons, graphics processing.
- **Examples**:
- **Cray-1**: One of the first vector processors, used for scien fic calcula ons.
- **Modern GPUs**: U lize vector processing for graphics rendering and AI computa ons.
- **Advantages**:
- **Challenges**:
- **Data Alignment**: Ensuring data is properly aligned in memory for efficient access.
- **Defini on**:
- Occur when instruc ons that exhibit data dependence modify data in different stages of a pipeline.
- **Read A er Write (RAW)**: A subsequent instruc on reads a register that a previous instruc on
writes to.
- **Write A er Read (WAR)**: A subsequent instruc on writes to a register that a previous instruc on
reads from.
- **Write A er Write (WAW)**: Two instruc ons write to the same register.
- **Resolu on Methods**:
- **Pipeline Interlocking**: Pauses subsequent instruc ons un l data dependencies are resolved.
- **Operand Forwarding**: Bypasses data from one pipeline stage to another to resolve RAW hazards.
- **Register Renaming**: Dynamically allocates physical registers to avoid WAW and WAR hazards.
- **Defini on**:
- Occur due to branch instruc ons that change the program counter, disrup ng the sequen al flow of
instruc ons.
- **Resolu on Methods**:
- **Branch Predic on**: Predicts the outcome of a branch to prefetch instruc ons.
- **Delayed Branching**: Delays the execu on of branch instruc ons un l the branch decision is made.
- **Specula ve Execu on**: Executes instruc ons before the branch decision is finalized, rolling back if
the predic on is wrong.
- **Defini on**:
- Single Instruc on stream, Mul ple Data streams (SIMD) architectures execute the same instruc on
across mul ple processing elements.
- **Characteris cs**:
- **Parallel Data Processing**: Suitable for tasks with high data parallelism.
- **Simplified Control**: Single control unit broadcasts instruc ons to all processing elements.
- **Applica ons**:
- **Scien fic Compu ng**: Matrix opera ons, simula ons, and other parallel data tasks.
- **Examples**:
- **GPUs**: Modern graphics processing units are a common example of SIMD architectures.
- **Vector Processors**: Early examples like the Cray-1.
- **Interconnec on Networks**:
- Networks that connect processors to memory modules and I/O devices, facilita ng communica on in
mul processor systems.
- **Bus-Based Networks**:
- **Crossbar Switches**:
- **Characteris cs**: Direct, non-blocking connec ons between inputs and outputs.
- **Characteris cs**: Mul ple stages of switches, allowing many-to-many connec ons.
- **Direct Networks**:
- Processors arranged in a grid, performing the same opera on on different data points.
- **Parallel Algorithms**:
- **Examples**:
- **Search Algorithms**:
- **Parallel Search**:
- **Characteris cs**: Divide-and-conquer approach, distribu ng the search task among mul ple
processors.
- Mul ple processors execute different instruc ons on different data streams simultaneously.
- **Applica ons**:
- Suitable for a wide range of applica ons from scien fic compu ng to databases.
- **Examples**:
- **Mul core Processors**: Each core can execute different instruc ons.
- **Defini on**:
- **Techniques**:
- **Dynamic Scheduling**: Tasks are allocated during execu on based on current system state.
- **Algorithms**:
- **Priority Scheduling**: Tasks are priori zed based on criteria like urgency, importance.
- **Defini on**:
- Distribu ng workload evenly across processors to avoid bo lenecks and op mize performance.
- **Techniques**:
- **Challenges**:
- **Task Granularity**: The size of tasks can impact load balancing efficiency. Fine-grained tasks allow
more flexibility in distribu on but may increase communica on overhead, whereas coarse-grained tasks
reduce communica on needs but may lead to imbalance.
- **Task Migra on**: Moving tasks from overloaded processors to underloaded ones.
- **Load Es ma on**: Con nuously monitoring processor loads to inform load balancing decisions.
#### Mul processing Control and Algorithms
- **Centralized Control**: A single control unit manages all processors. Simplifies design but can
become a bo leneck.
- **Decentralized Control**: Each processor has its control unit. Increases complexity but improves
scalability.
- **Bitonic Sort**: Suitable for parallel execu on. Works by repeatedly merging subsequences into a
bitonic sequence and then sor ng.
- **Parallel Depth-First Search (DFS)**: Suitable for applica ons like parallel tree traversal.
- **Strassen's Algorithm**: Breaks down matrix mul plica on into smaller mul plica ons which can
be done in parallel.
- **Work Stealing**: Idle processors dynamically take work from busy processors.
## Reference Books
- **Pipelined and Vector Processors**: Detailed explana on of pipelining stages and vector processing
units.
- **Data and Control Hazards**: Methods to iden fy and resolve hazards in pipelines.
- **SIMD Mul processor Structures**: Characteris cs and applica ons of SIMD architectures.
- **Interconnec on Networks**: Different types of networks and their performance implica ons.
- **Parallel Algorithms**: Algorithms designed for parallel execu on, including sor ng and matrix
mul plica on.
- **Pipelining and Performance**: How pipelining improves performance and the associated challenges.
- **Mul processor Systems**: Differences between mul processor and mul computer systems.
### Computer Architecture and Parallel Processing - Hwang and Briggs, TMH
- **Classifica on of Parallel Computers**: Detailed coverage of Flynn’s and Handler’s classifica ons.
- **Pipelined and Vector Processors**: Comprehensive study of pipelining and vector processing.
- **Data Dependence and Hazards**: In-depth analysis of data and control hazards in pipelines.
- **Interconnec on Networks**: Various network topologies and their applica ons in mul processor
systems.
- **Parallel Algorithms**: Algorithms for array processors, parallel search, and matrix opera ons.
- **Load Balancing and Scheduling**: Strategies and algorithms for balancing load and scheduling tasks
in mul processor systems.