Section 8.4
Review Questions
An instruction in micro-detail
-
The following sequence of control point assignments implements the
ADD instruction in the CSC-1. Circle those lines that implement the
four stages of the instruction cycle and label each circle:
1. MAR-MUX=01
2. MAR-LD=1
3. MAR-LD=0; MA=1; WR=0; MBR-MUX=10
4. MBR-LD=1
5. MBR-LD=0; MA=0; PC-INCR=1; IR-LD=1
6. IR-LD=0; PC-LD=1
7. PC-INCR=0; PC-LD=0
8. MAR-MUX=00
9. MAR-LD=1
10. MAR-LD=0; MA=1; WR=0; MBR-MUX=10
11. MBR-LD=1
12. MBR-LD=0; MA=0
13. TMP-LD=1
14. TMP-LD=0; F=101; SH=00
15. A-MUX=00
16. A-LD=1
17. A-LD=0
answer...
+--> 1. MAR-MUX=01
| 2. MAR-LD=1
1 | 3. MAR-LD=0; MA=1; WR=0; MBR-MUX=10
| 4. MBR-LD=1
| 5. MBR-LD=0; MA=0; PC-INCR=1; IR-LD=1
| 6. IR-LD=0; PC-LD=1
+--> 7. PC-INCR=0; PC-LD=0
2 (after 6)
+--> 8. MAR-MUX=00
| 9. MAR-LD=1
3 | 10. MAR-LD=0; MA=1; WR=0; MBR-MUX=10
| 11. MBR-LD=1
| 12. MBR-LD=0; MA=0
+-->13. TMP-LD=1
4 ---->14. TMP-LD=0; F=101; SH=00
15. A-MUX=00
16. A-LD=1
17. A-LD=0
1 = instruction fetch stage; 2 = instruction decode stage;
3 = operand fetch stage; 4 = execute stage
-
Which stage is included in some architectures but not an "official" stage
in the CSC-1's instruction cycle?
answer...
storeback
-
Why is it a good idea to turn off a control wire after it has been
turned on? For instance,
A-LD=0 explicitly follows A-LD=1 in step 17.
answer...
so that the wire doesn't stay on and load in a new value that might be
wrong
-
Which steps of the above sequence of control point assignments would be
done for every single instruction in the CSC-1?
answer...
steps 1-7 because we must always fetch the next instruction.
(PC-INCR is not always needed because the JMP, CAL, RET instructions
will overwrite PC anyway, but it is just simpler to increment PC to be
uniform.)
-
List several instructions that do not have a real execute stage in the
CSC-1.
answer...
NOP -- everything after step 7 is not done
LOD -- just get the operand and store into A
most of the JUMP instructions
-
Why would it be a good idea to make the control point sequence for an
instruction as short as possible?
answer...
to save time! also to minimize complexity in the hardware DFA.
-
Which lines in the original 17-line control point sequence were combined
to get the 13-line sequence shown at the end of Section 8.4?
answer...
1 and 17 were combined
7 and 8 were combined
12 and 13 were combined
14 and 15 were combined