Stored-program concept
add t0, g, h
add t1, i, j
sub f, t0, t1
In C, each "variable" is a location in memory
In hardware, each memory access is expensive - if variable a
is accessed repeatedly, it helps to bring the variable into an on-chip scratchpad and operate on the scratchpad (registers)
To simplify the instructions, we require that each instruction (add, sub) only operate on registers
Note : the number of operands (variables) in a C program is very large; the number of operands in assembly is fixed..
$s0-$s7
(C/Java variables), $t0-$t9
(temporary variables)