Computer Architecture Flashcards

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
Q

What does ‘Conditional Evaluation’ mean in SIMD instructions?

A

It limits the effect of instructions to a subset of SIMD elements using a mask register

This allows selective processing of data.

26
Q

Fill in the blank: The instruction ‘vbroadcast’ is used to _______.

A

[assign a scalar value to all SIMD elements]

27
Q

What is the purpose of shuffle and swizzle instructions in SIMD?

A

To modify data layout in the SIMD register

Examples include separating real and imaginary parts of complex numbers.

28
Q

What does ‘vpermilpd’ do?

A

It permutes packed double-precision floating-point elements within a single operand

This instruction allows for specific reordering of data elements.

29
Q

What is the role of ‘vperm2f128’?

A

To permute 128-bit chunks from two source operands into a destination

This is useful for rearranging data in SIMD processing.

30
Q

What is the meaning of ‘Non-uniform memory access’ in the context of processor architecture?

A

It refers to memory access times that vary based on the memory location relative to the processor

This affects performance and efficiency in memory-intensive applications.

31
Q

How does branch prediction help?

A

helps avoid pipeline stalls by speculating the correct execution path and determining in advance which instruction should be fetched next

32
Q

What are the 2 locality principles of caches?

A

Temporal Locality: data items accessed will be accessed again in the future

Spacial Locality: data items accessed are close to each other

33
Q

What is the difference between inclusive and non-inclusive cache?

A

Inclusive caches keep copy of a cache line in each level
Non-inclusive caches evict higher cache levels copy

34
Q

Name 2 cache issues

A

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
Q

Which effect do memory fences have?

A

re-ordering of mem operations in the out-of-order engine is restricted

36
Q

What should be considered when using a shared variable among threads given a relaxed consistency model?

A

OOO execution might rearrange load and store operations depending on the memory consistency model

37
Q

What is snoop filtering?

A

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