CHAPTER 5: The Processor Flashcards

1
Q

combinational element

A

operational element, such as an AND gate or an ALU

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

state element

A

memory element, such as a register or a memory

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

clock methodology

A

approach used to determine when data is valid and stable relative to the clock

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

edge-triggered clocking

A

clocking scheme in which all state changes occur on a clock edge

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

control signal

A

signal used for multiplexor selection or for directing the operation of a functional unit; contrasts with a data signal, which contains information that is operated on by a functional unit

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

asserted

A

signal is logically high or true

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

deasserted

A

signal is logically low or false

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

datapath element

A

unit used to operate on or hold data within a processor. In the LEGv8 implementation, the datapath elements include the instruction and data memories, the register file, the ALU, and adders

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

program counter

A

register containing the address of the instruction in the program being executed

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

register file

A

state element that consists of a set of registers that can be read and written by supplying a register number to be accessed

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

sign-extend

A

increase the size of a data item by replicating the high-order sign bit of the original data item in the high-order bits of the larger, destination data item

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

branch target address

A

address specified in a branch, which becomes the new program counter (PC) if the branch is taken. In the LEGv8 architecture, the branch target is given by the sum of the offset field of the instruction and the address of the branch

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

branch taken

A

branch where the branch condition is satisfied and the program counter (PC) becomes the branch target. All unconditional branches are taken branches

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

branch not taken (untaken branch)

A

branch where the branch condition is false and the program counter (PC) becomes the address of the instruction that sequentially follows the branch

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

truth table

A

a representation of a logical operation by listing all the values of the inputs and then in each case showing what the resulting outputs should be

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

don’t-care term

A

element of a logical function in which the output does not depend on the values of all the inputs. Don’t-care terms may be specified in different ways

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

opcode

A

field that denotes the operation and format of an instruction

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

single cycle implementation (single clock cycle implementation)

A

implementation in which an instruction is executed in one clock cycle. While easy to understand, it is too slow to be practical

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

pipelining

A

implementation technique in which multiple instructions are overlapped in execution, much like an assembly line

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

structural hazard

A

planned instruction cannot execute in the proper clock cycle because the hardware does not support the combination of instructions that are set to execute

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

data hazard (pipeline data hazard)

A

planned instruction cannot execute in the proper clock cycle because data that is needed to execute the instruction are not yet available

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

forwarding (bypassing)

A

method of resolving a data hazard by retrieving the missing data element from internal buffers rather than waiting for it to arrive from programmer-visible registers or memory

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

load-use data hazard

A

specific form of data hazard in which the data being loaded by a load instruction has not yet become available when it is needed by another instruction.

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

pipeline stall (bubble)

A

stall initiated in order to resolve a hazard

25
Q

control hazard (branch hazard)

A

proper instruction cannot execute in the proper pipeline clock cycle because the instruction that was fetched is not the one that is needed; that is, the flow of instruction addresses is not what the pipeline expected

26
Q

branch prediction

A

method of resolving a branch hazard that assumes a given outcome for the conditional branch and proceeds from that assumption rather than waiting to ascertain the actual outcome

27
Q

latency (pipeline)

A

the number of stages in a pipeline or the number of stages between two instructions during execution.

28
Q

nop

A

instruction that does no operation to change state

29
Q

flush

A

discard instructions in a pipeline, usually due to an unexpected event

30
Q

dynamic branch prediction

A

prediction of branches at runtime using runtime information

31
Q

branch prediction buffer

A

small memory that is indexed by the lower portion of the address of the branch instruction and that contains one or more bits indicating whether the branch was recently taken or not

32
Q

branch target buffer

A

structure that caches the destination PC or destination instruction for a branch. It is usually organized as a cache with tags, making it more costly than a simple prediction buffer.

33
Q

correlating predictor

A

branch predictor that combines local behavior of a particular branch and global information about the behavior of some recent number of executed branches

34
Q

tournament branch predictor

A

branch predictor with multiple predictions for each branch and a selection mechanism that chooses which predictor to enable for a given branch

35
Q

vectored interrupt

A

interrupt for which the address to which control is transferred is determined by the cause of the exception

36
Q

imprecise interrupt (imprecise exception)

A

Interrupts or exceptions in pipelined computers that are not associated with the exact instruction that was the cause of the interrupt or exception

37
Q

precise interrupt (precise exception)

A

interrupt or exception that is always associated with the correct instruction in pipelined computers

38
Q

instruction-level parallelism

A

parallelism among instructions

39
Q

multiple issue

A

scheme whereby multiple instructions are launched in one clock cycle

40
Q

static multiple issue

A

approach to implementing a multiple-issue processor where many decisions are made by the compiler before execution

41
Q

dynamic multiple issue

A

approach to implementing a multiple-issue processor where many decisions are made during execution by the processor

42
Q

issue slots

A

positions from which instructions could issue in a given clock cycle; by analogy, these correspond to positions at the starting blocks for a sprint

43
Q

speculation

A

approach whereby the compiler or processor guesses the outcome of an instruction to remove it as a dependence in executing other instructions

44
Q

issue packet

A

set of instructions that issues together in one clock cycle; the packet may be determined statically by the compiler or dynamically by the processor.

45
Q

very long instruction work (VLIW)

A

style of instruction set architecture that launches many operations that are defined to be independent in a single wide instruction, typically with many separate opcode fields

46
Q

use latency

A

number of clock cycles between a load instruction and an instruction that can use the result of the load without stalling the pipeline

47
Q

loop unrolling

A

technique to get more performance from loops that access arrays, in which multiple copies of the loop body are made and instructions from different iterations are scheduled together

48
Q

register renaming

A

renaming of registers by the compiler or hardware to remove antidependences

49
Q

antidependence (name dependence)

A

ordering forced by the reuse of a name, typically a register, rather than by a true dependence that carries a value between two instructions

50
Q

superscalar

A

advanced pipelining technique that enables the processor to execute more than one instruction per clock cycle by selecting them during execution

51
Q

dynamic pipeline scheduling

A

hardware support for reordering the order of instruction execution to avoid stalls

52
Q

commit unit

A

unit in a dynamic or out-of-order execution pipeline that decides when it is safe to release the result of an operation to programmer-visible registers and memory

53
Q

reservation station

A

buffer within a functional unit that holds the operands and the operation

54
Q

reorder buffer

A

buffer that holds results in a dynamically scheduled processor until it is safe to store the results to memory or a register

55
Q

out-of-order execution

A

situation in pipelined execution when an instruction blocked from executing does not cause the following instructions to wait

56
Q

in-order commit

A

commit in which the results of pipelined execution are written to the programmer visible state in the same order that instructions are fetched

57
Q

fallacy: pipelining is easy

A
58
Q

fallacy: pipelining ideas can be implemented independent of technology

A