Lecture students must hand in this assignment. Lab-only students need not do this assignment.
For this assignment, use the one-bus architecture shown on p.413 and the three-bus architecture shown on p.424.
; assume PC = 1000, R1 = 100, R2 = 2000, R3 = 300, R5 = 1000
1000: Move (R3), R4 ; R4 = R3
Add R3, R4 ; R4 = R3 + R4
Add (R1)+, R4 ; R4 = (R1) + R4, R1+4
Jump R2 ; jump to location in R2
2000: Increment R3 ; add 1 to R3
Move R3, (R3) ; mem[R3] = R3
Jump R5 ; jump to location in R5
list the sequence of microinstructions executed by the program on (A) the
one-bus architecture and (B) the two-bus architecture. For each architecture,
assume there are at least enough registers to write the program (say, 16).
Do not be concerned with what this assembly program does. It is contrived and meaningless.
Assume the ALU can perform at least the following set of operations:
<fetch>
1. (microinstructions
2. for
3. first
4. machine
5. instruction)
<fetch>
6. (next
7. machine
8. instruction)
<fetch>
9. (etc.)