Chapter 5 - The Processor Flashcards
an operation element, such as an AND gate or an ALU
Combinational element
a memory element, such as a register or a memory
State element
the approach used to determine when data is valid and stable relative to the clock
Clocking methodology
a clocking scheme in which all state changes occur on a clock edge
Edge-triggered clocking
a signal used for multiplexor selection or for directing the operation of a functional unit, contrast with a data signal, which contains information that is operated on by a functional unit
Control signal
the signal is logically high or true
Asserted
the signal is logically low or false
Deasserted
a unit used to operate on or hold data within a processor. In the LEGv8 implementation; includes the instruction and data memories, the register file, the ALU and adders.
Datapath element
the register containing the address of the instruction in the program being executed
Program counter
a state element that consists of a set of registers that can be read and written by supplying a register number to be accessed.
Register file
the address specified in a branch, which becomes the new program counter 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
Branch target address
a branch where the branch condition is satisfied and the program counter becomes the branch target. All unconditional branches are taken branches
Branch taken
a branch where the branch condition is false and the program counter becomes the address of the instruction that sequentially follows the branch
Branch not taken or (untaken branch)
form logic, 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
Truth table
an element of a logical function in which the output does not depend on the values of all the inputs. may be specified in different ways
Don’t-care term
also called single clock cycle implementation. An implementation in which an instruction is executed in one clock cycle. While easy to understand. It is too slow to be practical
Single-cycle implementation
an implementation technique in which multiple instructions are overlapped in execution, much like an assembly line
Pipelining
when a planned instruction cannot execute in the proper clock cycle because the hardware does not support the combination or instructions that are set to execute
Structural hazard
When a planned instruction cannot execute in the proper clock cycle because data that is needed to execute the instruction are not yet available
Data hazard (pipeline data hazard)
also called bypassing. A method of resolving a data hazard by retrieving the missing the data element from internal buffers rather than waiting for it to arrive from programmer visible registers or memory
Forwarding
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
Load-use data hazard
also called bubble. A stall initiated in order to resolve a hazard
Pipeline stall
also called branch hazard. When the 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
Control hazard
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
Branch prediction