Module 6: Instruction Set Architecture Flashcards
address space
number of drawers
addressability
number of bits per drawer
data memory
memory where we store data (not instructions)
decoder
takes instruction apart and determines necessary control signals
Instruction Set Architecture
programmer visible components and operations
- everything needed to create a program for CPU
- serves as “contract” between programmer and CPU designer
- different implementations of the same ISA and “binary compatible”
opcode
the portion of a machine language instruction that specifies the operation to be performed; abbreviated from operation code, also known as instruction syllable, instruction parcel, or opstring
process status word register (PSR)
16-bit register where the lower 3 bits store the NZP bits. the PSR[15] stores the privilege level that the CPU is currently operating in
program memory
where we store our instructions
sign extension
the operation (in computer arithmetic) of increasing the number of bits of a binary number while preserving the number’s positive/negative sign and value
NZP broken into 3 parts
3 parts:
- NZP tester (3-bits out): tests the output of the ALU for negative, zero, or positive
- NZP register (3-bits out, stored in the PSR, bits [2:0], NZP.WE = 1 for ANY instruction that writes to RegFile or PSR[15]
- TEST (1 bit out): top input: I[11:9} (3 bit user condition), bottom input: the output of the NZP (previous ALU’s value’s negative zero or positive)
7 instruction categories
- Arithmetic instructions (ADD, SUB, MUL, DIVIDE, etc)
- Logical instructions (BITWISE AND, OR, etc.)
- Shift instructions
- Comparison instructions
- Load/store instructions
- Loading constants
- Program control
- branches
- jumps
- TRAP, RTI: operating system calls
von Neumann Loop
- Fetch instruction at PC
- Decode instruction (convert to control signals)
- Execute instruction (read inputs, operate, write output)
- Update PC
For each instruction, consider:
- whether or not it modifies the register
- whether or not it modifies the program status register, including the NZP bits
- Whether or not it modifies data memory
- How it can change the PC
True/False: Every instruction changes the state of the processor in some way
TRUE