Each S2 instruction can be breakdown in to "micro step". This is called register-transfer-level. It describes how data is flow from one register to other. This level of description is useful to understand the "timing" of the instruction execution. How long each instruction will take can be derived from this description (with some additional information).
<Figure S2 microarchitecture>
ld r1 ads
ir_ads -> MAR, Mread, x:r1, r:min,
Rwrite
ld r1 @10 ads
Rread, x:r2, c:#n, alu(add), m:alu_out,
-> MAR
Mread, r:min, rno:r1, Rwrite
ld r1 +r2 r3
Rread, x:r2, y:r3, c:y, alu(add),
m:alu_out, -> MAR
Mread, r:min, rno:r1, Rwrite
st r1 ads
mads:ir_ads, -> MAR
Rread, x:r1, Mwrite
st r1 @10 r2
Rread, x:r2, c:#n, alu(add),
mads:alu_out, -> MAR
Rread, x:r1, Mwrite
add r1 r2 r3
Rread, x:r2, y:r3, c:y, alu(add),
r:alu_out, rno:r1, Rwrite
add r1 r2 #n
Rread, x:r2, c:#n, alu(add),
r:alu_out, rno:r1, Rwrite
<to be continue>
last update 3 March 2015