diff --git a/docs/2a/ece222.md b/docs/2a/ece222.md index 95f5d13..b1f108b 100644 --- a/docs/2a/ece222.md +++ b/docs/2a/ece222.md @@ -103,5 +103,11 @@ To execute an instruction, the following steps are observed: - decode fields like the op-code, offset - read recoded registers 3. Execute (EX) - - ALU shenanigans + - ALU calculates ADD, SUB, etc, as well as addresses for LDR/STR, sets zero status for CBZ + - branch adder calculates any branch target addresses +4. Memory (ME) + - if memory needs to be reached, either `Write` or `Read` must be asserted to prepare for it + - write to memory +5. Writeback (WB) + - write results to registers from memory, the ALU, or another register