Computer Architecture Flashcards

(37 cards)

1
Q

Fill in the blank: A memory unit in Von Neumann Architecture stores _______.

A

data and instructions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is pipelining in processor architecture?

A

Overlapping operations to improve efficiency

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What problem occurs in in-order pipelines?

A

Pipeline stall / Execution Bubble

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the types of instruction dependences?

A
  • Read after Write (RAW)
  • Write after Read (WAR)
  • Write after Write (WAW)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is out-of-order execution?

A

Allows instructions to be executed in a different order than they appear in the program to maximize resource utilization

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the role of the Branch Prediction Unit (BPU)?

A

Tracks branch addresses and their statuses in a BTB (Branch Target Buffer) structure

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the difference between a single and double bit branch predictor?

A

Double bit branch predictor takes last 2 predictions into account (vs. last) and changes prediction in case of 2 mispredictions (vs. 1).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Name 3 static branch predictions

A

if => not taken
for => taken
call / return => taken

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What does SIMD stand for?

A

Single Instruction, Multiple Data

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is the purpose of SIMD execution?

A

To execute the same operation on multiple data elements

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

List the types of data supported by SIMD instruction sets.

A
  • 8x long
  • 16x int
  • 32x short
  • 64x char
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is a fused instruction in SIMD?

A

Combines two operations, such as multiply and add

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is the main advantage of superscalar execution?

A

Parallely executing different instructions or the same instruction on different data

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What does Simultaneous Multi-Threading (SMT) aim to achieve?

A

Feed multiple instruction streams into execution units

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the function of a Reorder Buffer in out-of-order execution?

A

Restores original instruction order before committing results

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is the effect of a pipeline bubble?

A

Pipeline stalls until the long operation is finished

17
Q

What is an example of a dynamic branch predictor?

A

2-bit predictor (saturating counter)

18
Q

Fill in the blank: In SIMD, load and store operations transfer data from _______ to registers.

A

memory/caches

19
Q

What does the term ‘out-of-order pipelining’ refer to?

A

Exploiting instruction independence in a linear stream

20
Q

How does branch prediction impact performance in pipelines?

A

Reduces stalls caused by conditional branches

21
Q

What is the purpose of the instruction ‘vaddpd’?

A

To perform a vector addition of packed double-precision floating-point elements

‘vaddpd’ stands for Vector Add Packed Double-Precision Floating-Point.

22
Q

What does ‘Fused Instructions’ refer to?

A

Two operations fused into one SIMD instruction

Example: multiply and add operations.

23
Q

What is the significance of the number ‘256’ in the context of SIMD instructions?

A

It indicates the width of the SIMD instructions in bits

This often relates to the data that can be processed simultaneously.

24
Q

What is the function of the ‘vfmadd213ps’ instruction?

A

It computes fused multiply-add of packed single-precision floating-point elements

This instruction performs multiplication followed by addition in one step.

25
What does 'Conditional Evaluation' mean in SIMD instructions?
It limits the effect of instructions to a subset of SIMD elements using a mask register ## Footnote This allows selective processing of data.
26
Fill in the blank: The instruction 'vbroadcast' is used to _______.
[assign a scalar value to all SIMD elements]
27
What is the purpose of shuffle and swizzle instructions in SIMD?
To modify data layout in the SIMD register ## Footnote Examples include separating real and imaginary parts of complex numbers.
28
What does 'vpermilpd' do?
It permutes packed double-precision floating-point elements within a single operand ## Footnote This instruction allows for specific reordering of data elements.
29
What is the role of 'vperm2f128'?
To permute 128-bit chunks from two source operands into a destination ## Footnote This is useful for rearranging data in SIMD processing.
30
What is the meaning of 'Non-uniform memory access' in the context of processor architecture?
It refers to memory access times that vary based on the memory location relative to the processor ## Footnote This affects performance and efficiency in memory-intensive applications.
31
How does branch prediction help?
helps avoid pipeline stalls by speculating the correct execution path and determining in advance which instruction should be fetched next
32
What are the 2 locality principles of caches?
Temporal Locality: data items accessed will be accessed again in the future Spacial Locality: data items accessed are close to each other
33
What is the difference between inclusive and non-inclusive cache?
Inclusive caches keep copy of a cache line in each level Non-inclusive caches evict higher cache levels copy
34
Name 2 cache issues
Compulsory Cache Miss (initial access to data will always be a miss) Capacity Cache Miss (data evicted before it can be reused because too large for the cache)
35
Which effect do memory fences have?
re-ordering of mem operations in the out-of-order engine is restricted
36
What should be considered when using a shared variable among threads given a relaxed consistency model?
OOO execution might rearrange load and store operations depending on the memory consistency model
37
What is snoop filtering?
Snoop filtering reduces unnecessary coherence traffic by tracking which cache lines are present in each core’s cache, preventing redundant snoop requests when a cache miss occurs