Download Advanced Computer Architecture: Understanding Parallel Computers and Their Design Issues and more Assignments Advanced Computer Architecture in PDF only on Docsity!
Advanced Computer Architecture
The Architecture ofParallel Computers
Computer Systems
ApplicationSoftwareOperatingSystemHardwareArchitecture
No ComponentCan be TreatedIn IsolationFrom the Others
Operating System Issues
- Allocating and Managing Resources• Access to Hardware Features
- Multi-Processing– Multi-Threading
- I/O Management• Access to Peripherals• Efficiency
Applications Issues
- Compiler/Linker Support• Programmability• OS/Hardware Feature Availability• Compatibility• Parallel Compilers
- Preprocessor– Precompiler– Parallelizing Compiler
Flynn’s Classification
- Consider Instruction Streams and Data
Streams Separately.
- SISD - Single Instruction, Single Data
Stream
- SIMD - Single Instruction, Multiple Data
Streams
- MIMD - Multiple Instruction, Multiple Data
Streams.
- MISD - (rare) Multiple Instruction, Single
Data Stream
SISD
- Conventional Computers.• Pipelined Systems• Multiple-Functional Unit Systems• Pipelined Vector Processors• Includes most computers encountered in
everyday life
MIMD
- Multiple Processors cooperate on a single
task
- Each Processor runs a different program• Each Processor operates on different data• Many Commercial Examples Exist
MISD
- A Single Data Stream passes through
multiple processors
- Different operations are triggered on
different processors
- Systolic Arrays• Wave-Front Arrays
Performance Issues
- Clock Rate / Cycle Time =
τ
- Cycles Per Instruction (Average) = CPI• Instruction Count = I
c
c^
×
CPI
×
τ
- p = Processor Cycles, m = Memory Cycles,
k = Memory/Processor cycle ratio
c^
×
(p + m
×
k)
×
τ
Performance Issues II
- Ic & p affected by processor design and
compiler technology.
- m affected mainly by compiler technology
τ
affected by processor design
- k affected by memory hierarchy structure
and design
Parallelizing Code
- Implicitly
- Write Sequential Algorithms– Use a Parallelizing Compiler– Rely on compiler to find parallelism
- Explicitly
- Design Parallel Algorithms– Write in a Parallel Language– Rely on Human to find Parallelism
Multi-Processors
- Multi-Processors generally share memory,
while multi-computers do not.– Uniform memory model– Non-Uniform Memory Model– Cache-Only
Vector Computers
- Independent Vector Hardware• May be an attached processor• Has both scalar and vector instructions• Vector instructions operate in highly
pipelined mode
- Can be Memory-to-Memory or Register-to-
Register
SIMD Computers
- One Control Processor• Several Processing Elements• All Processing Elements execute the same
instruction at the same time
- Interconnection network between PEs
determines memory access and PEinteraction