Abstract
- It specifies how different parts of an instruction are organised within a binary code word
Fixed-length Instruction
- Simplifies Pipelining & Instruction-Level Parallelism
Variable-length Instruction
- More flexible but more complicated Pipelining & Instruction-Level Parallelism
- Requires multi-step Fetch and Decode
Opcode
- Configuration for the Control Unit’s Control Signals to specify the desired operation to be carried out
Example
In MIPS, it is 6-bits, so total different arrangements.
Benefits of fixed-size opcode
- Instruction decode is more efficient
- Easier to design hardware
- Does NOT guarantee a smaller set of assembly code, actually bigger
- Does NOT guarantee faster processing time (this depends on the cpu implementation)
Expanding Opcode
- The Opcode has variable lengths for different Instruction. This is a good way to maximise instruction bits
Example
Instruction Operand
- Can be Register Address, Memory Address or Immediate Value