Lecture 4B: Modern CPU Hardware Architectures Flashcards

1
Q

Define the term: Superscalar Processor.

A

A CPU that implements a form of parallelism called instruction-level parallelism within a single processor.

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

A superscalar processor can execute more than one instruction during a ____ ____ by simultaneously dispatching multiple ________ to different ________ units on the processor.

A

A superscalar processor can execute more than one instruction during a [clock cycle] by simultaneously dispatching multiple [instructions] to different [execution units] on the processor

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

What extra hardware is required to support Superscalar Processors?

A

Extra Functional Units are required to issue and execute multiple instructions in parallel.

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

Define the term: Superpipelining.

A

A technique for improving the performance of a processor by splitting instructions into many separate “pipelines” that can be executed more or less in parallel.

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

Superscalar Processors can execute only _______ instructions in parallel whereas _______ instructions are often _______.

A

Superscalar Processors can execute only [independent] instructions in parallel whereas [adjacent] instructions are often [dependent].

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

Name the limitations of Superscalar Processors

A

Can only process independent instructions, require extra hardware.

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

Define the term: Out-of-order execution.

A

Execute independent instructions in a different, more efficient order.

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

What happens if a hazard causes stall cycles?

A

All instructions up to the offending instruction are stalled.

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

What can help to prevent stall cycles?

A

Forwarding, branch prediction, and other techniques can reduce the number of stall cycles, but sometimes it is unavoidable.

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

What are speculative instructions?

A

All execution within the instruction window is speculative (i.e., side-effects are not applied outside the CPU until it is committed.

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

Advantages of Out-of-order execution.

A

Better performance.
> Exploit instruction-level parallelism (ILP)
> Hide latencies (e.g. L1 data cache miss, divide)

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

Disadvantages of Out-of-order execution.

A

Hardware is much more complex, expensive, requires a larger chip area and has higher power consumption.

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

Define the term: Dispatch. (out-of-order execution)

A

New instructions are added to the instruction window - reservation stations (RS)

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

What happens in a Reservation Station? (out-of-order execution)

A

Instructions wait for their inputs. If instruction operands are ready they are sent to the FU. Otherwise, check on the bypass network and wait for operands.

Functional units (FU) > ALUs, AGUs, FPU

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

What does a Bypass Network do? (out-of-order execution)

A

Broadcast computes values back to the reservation stations.

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

What does a Reorder Buffer do? (out-of-order execution)

A

It allows instructions to be committed in order.

De-speculates execution, mostly by committing instructions in order.

Flushes the speculative instructions when a misprediction is discovered.

17
Q

What happens during the Commit process? (out-of-order execution)

A
  • All execution within the instruction window is speculative (i.e., side-effects are not applied outside the CPU) until it is committed.
  • Instructions can write to memory only when it is certain they should have been executed.
  • Instructions must not affect the machine state while they are speculative.
  • Instructions enter and leave the instruction window in program order, and instruction can only leave the window when it is the oldest instruction in the window and it has been completed.
  • The instruction window is instantiated as RS & ROB.
18
Q

What is required in order for the Store Buffer dispatch a store? (Out-of-Order execution)

A

The store buffer dispatches a store only when the store has both it’s address and its data ready and there are no older stores awaiting dispatch.

19
Q

What are the features of a ‘Brainiac Design’ Processor?

A

Extra Hardware to achieve more Instruction Level Parallelism (ILP) out of code, millions of extra transistors, more design effort, consume more power.

20
Q

What are the features of a ‘Speed Demon’ Processor?

A

Run at higher clock speeds because they are simpler, have simple hardware design, have Less chip area, less power consumption.

21
Q

Define the term: ISA.

A

ISA provides commands to the processor, to tell it what to do, e.g., add, load, store.

22
Q

Define the term: CISC.

A

Complex instruction set computer (CISC)

Note: Complex instructions can execute several low-level operations such as load from memory, arithmetic, and a memory store.

23
Q

Define the term: RISC.

A

Reduced instruction set computer (RISC)

Note: Simple and 1 cycle instructions.

24
Q

What are the differences between RISC and CISC?

A

CISC:
• CISC puts emphasis on hardware.
• CISC was developed to make compiler development simpler.
• CISC is typically used for general-purpose computers.

RISC:
• RISC puts emphasis on software.
• RISC was developed to make hardware simpler.
• Typically used in smartphones.