• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/64

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

64 Cards in this Set

  • Front
  • Back
combinational element
An operational element, such as an and GATE OR an ALU
state element
A memory element such as a register or a memory
asserted
The signal is logically high or true
deasserted
The signal is logically low or false
clocking methodology
The approach used to determine when data is valid and stable relative to the clock
edge-triggered clocking
A clocking scheme in which all state changes occur on a clock edge
control signal
A signal used for mux selection or for directing the operation of a functional unit
data signal
contains information that is operated on by a functional unit
datapath element
A unit used to operate on or hold data within a processor.
In the MIPS implementation, datapath elements are; instruction and data memories, the register file, the ALU, and adders.
program counter
the register containing the address of the instruction in the program being executed
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.
sign-extend
used to 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
branch target address
The address specified in a branch, which becomes the new program counter if the branch is taken
(Sum of offset field and address of the instruction following the branch)
branch taken
A branch where the branch conditions is satisfied and the PC becomes the branch target
branch not taken (untaken branch)
A branch where the branch condition is false and the PC becomes the address of the instruction that follows the branch
delayed branch
A type of branch where the instruction immediately following the branch is always executed, regardless of if the branch condition is true or not
truth table
logic table with inputs and outputs
don't care term
An element of a logical function where the output does not depend on the values of all the inputs
opcode
the field that indicates the format and operation of an instruction
single-cycle implementation (single clockcycle implementation)
implementation where an instruction is executed in one clock cycle
pipelining
implementation technique where multiple instructions are overlapped in execution
Structural Hazard
When 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
Data Hazard (pipeline data hazard)
when a planned instruction cannot execute in the proper clock cycle because data that is needed to execute the instruction is not yet available
forwarding (bypassing)
method of resolving data hazard by retrieving the missing data element from internal buffers rather than waiting for it to arrive from programmer-visible registers or memory.
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
pipeline stall (bubble)
A stall initiated in order to resolve a hazard
control hazard (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;
the flow of instruction addresses is not what the pipeline expected
branch prediction
A method of resolving a branch hazard that assumes a given outcome for the branch and proceeds from that assumption rather than waiting to ascertain the actual outcome
latency
the number of stages in a pipeline or the number of stages between two instructions during execution
nop
An instruction that does no operation to change state
flush
To discard instructions in a pipeline, usually due to an unexpected event.
dynamic branch prediction
Prediction of branches at runtime using runtime information
branch prediction buffer(branch history table)
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.
branch delay slot
The slot directly after a delayed branch instruction, which in the MIPS architecture is filled by an instruction that doesn't affect the branch.
branch target buffer
Structure that caches the destination PC or destination instruction for a branch
correlation 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
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 ranch.
exception (interrupt)
An unscheduled event that disrupts program execution; used to detect overflow
interrupt
An exception that comes from outside of the processor (some processors use interrupt for all exceptions)
vectored interrupt
An interrupt for which the address to which control is transferred is determined by the cause of the exception
imprecise interrupt (imprecise exception)
interrupts or exceptions in pipelined computers that are not associated with the exact instruction that was the cause of the interrupt or exception.
precise interrupt (precise exception)
An interrupt or exception that is always associated with the correct instruction in pipelined computers
instruction-level parallelism
The parallelism among instructinos
multiple issue
A scheme whereby multiple instructions are launched in one clock cycle
static multiple issue
An approach to implementing a multiple issue processor where many decisions are made by the compiler before execution
dynamic multiple issue
An approach to implementing a multiple issue processor where many decisions are made by the compiler before execution
issue slots
The positions from which instructions could issue in a given clock cycle; by analogy, these correspond to positions at the starting blocks for a sprint.
Speculation
An approach whereby the compiler or processor guesses the outcome of an instruction to remove it as a dependence in execution other instructions
issue packet
The set of instructions that issues together in one clock cycle; the packet may be determined statistically by the compiler or dynamically by the processor.
Very Long Instruction Word (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 separated opcode fields
use latency
Number of clock cycles between a load instruction and an instruction that can use the result of the load with out stalling the pipeline
loop unrolling
A technique to get more performance from loops tat access arrays, in which multiple copies of the loop body are made and instructions from different iterations are scheduled together
register renaming
The renaming of registers by the compiler or hardware to remove antidependencies
Antidependence (name dependence)
An ordering forced by the reuse of a name, typically a register, rather than by a true dependence that carries a value between two instructions
superscalar
An advanced pipelining technique that enables the processor to execute more than one instruction per clock cycle by selecting them during execution
dynamic pipeline scheduling
hardware support for reordering the order of instruction execution so as to avoid stalls
commit unit
The unit in a dynamic or out of order execution pipeline that decides when it is safe to release the result of an operating to programmer-visible registers and memory
reservation station
A buffer within a functional unit that holds the operands and the operation
Reorder buffer
The buffer that holds results in a dynamically scheduled processor until it is safe to store the results to memory or a register
out-of-order execution
A situation in pipelined execution when an instruction blocked from executing does not caused the following instructions to wait
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
microarchitecture
The organization of the processor, including the major functional units, their interconnection and control
architectural registers
The instruction set of visible registers of a processor; for example in MIPS, these are the 32 integer and 16 floating point registers
instruction latency
The inherent execution time for an instruction