Abstract
/assets/instruction.gif)
- Also known as Machine Codes
- Bit String, which is passed to CPU, gets translated to carry out Operation
- Doesn’t specify which CPU Datapath does what, just specify what outputs are expected with a given input
- The instruction lifecycle can be broken down into Instruction Stages
Pseudo Instruction
- Syntactic sugar for a set of Instruction, so it is easier for programmers to use
Assigning value from one variable to another in MIPS
Instead of
add $s0, $s1, $zero, we have pseudo-instructionmove $s0, $s1.
Branch Instruction
/assets/branch_instruction.gif)
- An Instruction that causes CPU to jump to a different location in the codes of Process (进程), instead of executing instruction sequentially
Fused Multiply-Add Instruction
- It combines a multiply and an add into a single operation (
a*b + c). - This makes sense because many AI and graphics workloads are dominated by this exact pattern (
a*b + c), and performing it as a fused operation not only doubles throughput but also reduces rounding error. Since rounding happens only once, when the result is finally written back to a register.
Terminologies
Single Instruction Multiple Data
- This allows one Instruction to operate on multiple data at once and have multiple outputs essentially
- This can reduce the number of instructions in a program significantly, and have more data processed without the involvement of the inefficient Main Memory
