Unit 5 Flashcards
For every instruction, the first two steps are identical: Name them.
Send the program counter (PC) to the memory that contains the code and fetch the instruction from that memory.
Read one or two registers, using fields of the instruction to select the registers to read. For the LDUR and CBZ instructions, we need to read only one register, but most other instructions require reading two registers.
3rd step for memory-reference instructions
Use ALU for address calculation
3rd step for arithmetic-logic instructions
Use ALU for operation execution
Every instruction must first be fetched from memory, based on the value of the blank.
program counter
Every instruction reads one or two blank
registers
3rd step for branch instructions
use ALU for comparison
The blank stores the program that is to be executed.
instruction memory
The blank stores the data needed by the running programs.
data memory
The blank commands the datapath according to the instructions of the program by setting the control lines for each of the major functional units.
control unit
The blank elements include the instruction and data memories, the register file, the ALU, and adders.
datapath
An operational element, such as an AND gate or an ALU.
Combinational element
A memory element, such as a register or a memory.
State element
A blank element has at least two inputs and one output.
state
The elements that operate on data values are all blank, which means that their outputs depend only on the current inputs.
combinational
A sequential element is another name for a _____ element.
state
A clock input is present on a _____ element.
state
An ALU is a _____ element.
combinational
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; contrasts 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
An blank allows us to read the contents of a register, send the value through some combinational logic, and write that register in the same clock cycle.
edge-triggered methodology
For the 64-bit LEGv8 architecture, nearly all of these state and logic elements will have inputs and outputs that are blank, since that is the width of most of the data handled by the processor
64 bits wide
A rising clock edge refers to the clock changing from blank
0 to 1
A unit used to operate on or hold data within a processor. In the LEGv8 implementation, the blank include 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 (PC)
To execute any instruction, we must start by blank.
fetching the instruction from memory
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
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.
Sign-extend
There are two details in the definition of branch instructions (see COD Chapter 2 (Instructions: Language of the Computer)) to which we must pay attention:
The instruction set architecture specifies that the base for the branch address calculation is the address of the branch instruction.
The architecture also states that the offset field is shifted left 2 bits so that it is a word offset; this shift increases the effective range of the offset field by a factor of 4.
The address specified in a branch, which becomes the new program counter (PC) if the branch is taken. In the LEGv8 architecture, the blank 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 (PC) becomes the branch target. All unconditional branches are taken branches.
Branch taken
A branch where the branch condition is false and the program counter (PC) becomes the address of the instruction that sequentially follows the branch.
Branch not taken or (untaken branch)
This simplest blank will attempt to execute all instructions in one clock cycle.
datapath
The normal case of fetching the next instruction memory requires blank, not PC + 1.
PC + 4,
The blank must be able to take inputs and generate a write signal for each state element, the selector control for each multiplexor, and the ALU control.
control unit
For load register and store register instructions, we use the ALU to compute the memory address by blank .
addition
For the R-type instructions, the ALU needs to perform one of the four actions (blank, blank, blank or blank), depending on the value of the 11-bit opcode field in the instruction (
AND, OR, subtract, or add
If the instruction is STUR, then ALUOp should be _____
00
If the instruction is STUR, then the ALU’s four control inputs should be _____.
0010
For LDUR and STUR instructions, the ALU function _____.
the same
If the instruction is ORR, then ALUOp should be _____.
10
If the instruction is ORR, then as well as examining the ALUOp bits, the ALU control will also examine _____.
instruction’s opcode field (Instruction[31:21])
If the instruction is ORR, then the ALU control will (after examining the ALUOp and opcode bits) output _____.
0001
From 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. Don’t-care terms may be specified in different ways.
Don’t-care term
The blank, which as we saw in COD Chapter 2 (Instructions: Language of the computer), is between 6 and 11 bits wide and found in bits 31:26 to 31:21.
opcode field
The blank is always in bit positions 9:5 (Rn) for both R-type instructions and for the base register for load and store instructions.
first register operand