Computer Architecture Flashcards
(37 cards)
Fill in the blank: A memory unit in Von Neumann Architecture stores _______.
data and instructions
What is pipelining in processor architecture?
Overlapping operations to improve efficiency
What problem occurs in in-order pipelines?
Pipeline stall / Execution Bubble
What are the types of instruction dependences?
- Read after Write (RAW)
- Write after Read (WAR)
- Write after Write (WAW)
What is out-of-order execution?
Allows instructions to be executed in a different order than they appear in the program to maximize resource utilization
What is the role of the Branch Prediction Unit (BPU)?
Tracks branch addresses and their statuses in a BTB (Branch Target Buffer) structure
What is the difference between a single and double bit branch predictor?
Double bit branch predictor takes last 2 predictions into account (vs. last) and changes prediction in case of 2 mispredictions (vs. 1).
Name 3 static branch predictions
if => not taken
for => taken
call / return => taken
What does SIMD stand for?
Single Instruction, Multiple Data
What is the purpose of SIMD execution?
To execute the same operation on multiple data elements
List the types of data supported by SIMD instruction sets.
- 8x long
- 16x int
- 32x short
- 64x char
What is a fused instruction in SIMD?
Combines two operations, such as multiply and add
What is the main advantage of superscalar execution?
Parallely executing different instructions or the same instruction on different data
What does Simultaneous Multi-Threading (SMT) aim to achieve?
Feed multiple instruction streams into execution units
What is the function of a Reorder Buffer in out-of-order execution?
Restores original instruction order before committing results
What is the effect of a pipeline bubble?
Pipeline stalls until the long operation is finished
What is an example of a dynamic branch predictor?
2-bit predictor (saturating counter)
Fill in the blank: In SIMD, load and store operations transfer data from _______ to registers.
memory/caches
What does the term ‘out-of-order pipelining’ refer to?
Exploiting instruction independence in a linear stream
How does branch prediction impact performance in pipelines?
Reduces stalls caused by conditional branches
What is the purpose of the instruction ‘vaddpd’?
To perform a vector addition of packed double-precision floating-point elements
‘vaddpd’ stands for Vector Add Packed Double-Precision Floating-Point.
What does ‘Fused Instructions’ refer to?
Two operations fused into one SIMD instruction
Example: multiply and add operations.
What is the significance of the number ‘256’ in the context of SIMD instructions?
It indicates the width of the SIMD instructions in bits
This often relates to the data that can be processed simultaneously.
What is the function of the ‘vfmadd213ps’ instruction?
It computes fused multiply-add of packed single-precision floating-point elements
This instruction performs multiplication followed by addition in one step.