Abstract


  • 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-instruction move $s0, $s1.

Branch Instruction


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

References