Module 8 - CPU Design Choices Flashcards

1
Q
What is the maximum speedup (upper limit) of an N-stage pipelined processor?
  N/2
  N*N
  N
  4
A

N

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q
Question 2
1 / 1 pts
Pipelined processor designs increase performance, but at the cost of:
  Increased RAM utilization.
  Increased processor design complexity.
  Decreased heat output.
  Decreased clock rate.
A

Increased processor design complexity.

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

The speedup of a pipelined processor is due to the:

Increased throughput.
Reduced latency of executing each instruction.
Reduced complexity of processor hardware.
Increased instruction count.

A

Increased throughput.

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

Where do we save the control signals for different instructions in a pipelined datapath?
In the stack.
In the 32 floating-point registers.
In pipeline registers between the stages.
In the 32 integer registers

A

In pipeline registers between the stages.

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

Pipeline registers store (select all that apply):

The results of pipeline stage execution
The instruction word in every stage of the pipeline
Control signals related to the instruction
Instruction data necessary for the execution of later stages.

A

The results of pipeline stage execution
Control signals related to the instruction
Instruction data necessary for the execution of later stages.

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

Forwarding (bypassing) alone can completely avoid stall (bubble) caused by: (select all that apply)

  Arithmetic Instructions
  Load Instruction
  Store Instruction
  All Instructions
  Branching Instructions
A

Arithmetic Instructions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q
What MIPS instruction will always cause a stall if the next instruction uses its result?
  BEQ
  SW
  Add
  LW
A

LW

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

A branch instruction can cause a stall, because:
The memory read operation takes too long
Two instructions use the same memory address
The memory write operation takes too long
The address of the next instruction is unknown
It cannot cause a stall.

A

The address of the next instruction is unknown

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

Which of the following techniques can reduce the effect of the hazards in this piece of code (Select all that apply):

lw $s1, 0($s0)
lw $s2, 4($s0)
add $s3, $s1, $s2
sw $s3, 12($s0)
lw $s4, 8($s0)
add $s5, $s1, $s4
  Branch Prediction
  Forwarding
  Early Decision
  Stall
  Overflow Handling
A

Forwarding

Stall

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q
What types of hazards does a pipelined processor need to deal with specifically? Select all that apply.
  Overflow Hazards
  Exceptions
  Structure Hazards
  Data Hazards
  Control Hazards
A

Structure Hazards
Data Hazards
Control Hazards

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

Which of the following describes 1-bit history table branch prediction?
A history table is used to store multiple bits, mapped to the branch instruction address, indicating the history of the branch behavior. A state machine is used to update the table.
A history table is used to store a single bit mapped to the branch instruction address, indicating that the branch was previously taken or untaken.
The next instruction to load after a branch instruction is randomly chosen from instruction memory.
Hardware designer specifies to always predict a taken or untaken branch.

A

A history table is used to store a single bit mapped to the branch instruction address, indicating that the branch was previously taken or untaken.

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

What is an advantage of a dynamic branch prediction method, like history table? (Select all that apply)

Increases hardware complexity.
High branch prediction accuracy (better than chance)
Low branch prediction accuracy (no better than chance).
Simple implementation.
Increased performance.

A

High branch prediction accuracy (better than chance)

Increased performance.

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

Which of the following describes 2-bit history table branch prediction?
Hardware designer specifies to always predict a taken or untaken branch.
A history table is used to store multiple bits, mapped to the branch instruction address, indicating the history of the branch behavior. A state machine is used to update the table.
The next instruction to load after a branch instruction is randomly chosen from instruction memory.
A history table is used to store a single bit mapped to the branch instruction address, indicating that the branch was previously taken or untaken.

A

A history table is used to store multiple bits, mapped to the branch instruction address, indicating the history of the branch behavior. A state machine is used to update the table.

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

What is a disadvantage of a dynamic branch prediction method, like history table? (Select all that apply)
Simple implementation.
High branch prediction accuracy (better than chance)
Increased performance.
Increases hardware complexity.
Low branch prediction accuracy (no better than chance).

A

Increases hardware complexity.

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

Which of the following describes static branch prediction?

The next instruction to load after a branch instruction is randomly chosen from instruction memory.
A history table is used to store multiple bits, mapped to the branch instruction address, indicating the history of the branch behavior. A state machine is used to update the table.
Hardware designer specifies to always predict a taken or untaken branch.
A history table is used to store a single bit mapped to the branch instruction address, indicating that the branch was previously taken or untaken.

A

Hardware designer specifies to always predict a taken or untaken branch.

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