Instruction Set Architectures (1) Flashcards
What are the different types of MIPS registers and their purposes?
General-purpose registers include temporary ($t), saved ($s), argument ($a), return address ($ra), global pointer ($gp), stack pointer ($sp), and frame pointer ($fp)
What is the purpose of the Arithmetic and Logic Unit (ALU) in the Processing Unit?
It performs arithmetic and logical operations on data
What are the fundamental components of the von Neumann model?
- Memory
- Processing Unit
- Input
- Output
- Control Unit
How is an addition operation represented in MIPS assembly language?
Using the ‘add’ instruction: add $d, $s, $t, where $d is the destination and $s, $t are source operands
How does the MIPS assembly handle the loading of immediate values?
Using the ‘li’ (load immediate) instruction, or through a combination of ‘lui’ (load upper immediate) and ‘ori’ (OR immediate)
What key functions does the Control Unit perform in a computer system?
It directs the operation of the processor and coordinates the activities of the other components
How does MIPS handle temporary variables during function calls?
Temporary variables can be stored in $t registers, which are not preserved across function calls
How do data movement instructions in MIPS function?
They read data from memory or write data to memory
What role do immediate values play in MIPS instructions?
Immediate values provide constants directly in the instruction for operations without requiring a separate load
What are the conventions surrounding caller and callee functions in MIPS?
The caller passes arguments and jumps to the callee, which must return the result without overwriting essential registers
What is the major difference between RISC and CISC architectures?
RISC (Reduced Instruction Set Computer) uses a small, highly optimised instruction set, while CISC (Complex Instruction Set Computer) uses a larger set of instructions, including more complex ones
What is the significance of the ‘shamt’ field in the R-format instruction?
The ‘shamt’ field specifies the amount of shift for shift operations in R-format instructions
How many types of instructions are defined in the MIPS ISA?
Three main types: Operate instructions, Data movement instructions, and Control flow instructions
How is a MIPS function call executed with the jump and link (jal) instruction?
‘jal’ saves the return address in $ra and jumps to the specified function
What is meant by ‘word length’ in the context of the MIPS architecture?
In MIPS, word length is 32 bits, meaning integers and addresses are typically 32 bits long