L2: Architectures Flashcards
What is Flynns Taxonomy (1 : 5)
Classifies multi-processor computer architectures according to two independent dimensions.
Instruction Stream
Data Stream
Two possible states:
Single or Multiple.
4 Classifications.
SISD - Single instruction, Single Data. What is it, features ? ( 4 : 6 )
Serial Computer
Single instruction
- Only one instruction stream is being acted on
Single data
- One data stream is used during one clock cycle
- Good for real time apps
- Traditional single processor/core CPU
SIMD - Single instruction, multiple data. What is it, features? ( 4 : 7 )
Parallel computer
Single Instruction
- All processing units execute same instruction at a clock cycle
Multi data
- Each unit can operate on a different data element
- Modern CPU and GPU
- Best for problems with high degree of regularity
- OpenCL
MIMD - What is it, features ? ( 4: 8)
A type of parallel computer
Multiple Instructions
• every processor may be executing a different instruction stream
Multiple Data
• every processor may be working with a different data stream
Notes
• most common type of parallel computer, multi-core CPUs, computing clusters and grids
• many MIMD architectures also include SIMD execution sub-components
MISD - What is it, features? (4 : 9 )
A type of parallel computer
Multiple Instruction
• each processing unit operates on the data independently via separate instruction streams
Single Data
• a single data stream is fed into multiple processing units
Notes
• multiple cryptography algorithms attempting to crack a single coded message
• very uncommon architecture and rare applications
Two different memory architectures for SIMD/MIMD (2 : 10)
Shared • processors operate independently but share the same memory – global address space • changes in memory by one processor are visible to all other processors
Distributed • processors operate independently but have their own local memory • memory addresses in one processor do not map to another processor – no global address space
Pros and Cons of Shared and Distributed Memory Architectures (8 : 11 )
Shared • Pros • global address space is easy to use/program • data sharing between tasks is fast due to proximity of memory to CPUs • Cons • adding more CPUs can increase traffic on shared memory-CPU path • programmer responsible for synchronization to ensure "correct" access to global memory
Distributed
• Pros • each processor can rapidly access its own memory without interference • memory is scalable; increase number of processors and size of memory increases • Cons • programmer responsible for data communication between processors • non-uniform memory access times
What is a GPU ? ( 4 : 13)
-Designed for manipulating computer graphics and image processing -Highly parallel structure -More efficient than CPUs when processing large blocks of visual data in parallel -Different realizations • dedicated expansion video card • integrated into the CPU die • embedded on motherboard
What is a GPGPU? ( 1 : 15)
General Purpose GPU.
Application of GPU for applications other than
graphics, with large datasets and complex
computations
• everywhere where large vectors/matrices are used
• physics simulation, AI, weather forecasting
Required hardware changes (shaders, texture units,
FP arithmetics) so that standard code could be
executed.
Also software frameworks hiding the
graphics-specific functionality from the
programmer (e.g. CUDA, OpenCL).