S0: Fetch Instr
Reset
S1: Decode
S2: MemAdr
ALUSrcA=10
ALUSrcB=01
ALUOp=00
S3: MemRead
ResultSrc=00
AdrSrc=1
S4: MemWB
ResultSrc=01
RegWrite
S5: MemWrite
ResultSrc=00
AdrSrc=1
MemWrite
op=0000011 (lw)
op=0100011 (sw)
op=0000011
or
op=0100011
S6: Exe R-Type
ALUSrcA=10
ALUSrcB=00
ALUOp=10
op=0110011 (R)
S7: ALUWB
ResultSrc=00
RegWrite
AdrSrc=0
IRWrite
ALUSrcA=00
ALUSrcB=10
ALUOp=00
ResultSrc=10
PCUpdate
S8: beq
ALUSrcA=10
ALUSrcB=00
ALUOp=01
ResultSrc=00
branch
op=1100011
ALUSrcA=01
ALUSrcB=01
ALUOp=00