V22.0201-001: Comp. Sys. Org. I (Honors)
Final Exam Study Guide
The final exam will be given on December 19, 2000, from 2:00
to 3:50, in Room 109 WWH.
It will be worth 22 points (out of a total of 100 for the
It will be an open book / notes exam. Computers (including
PDAs and remote messaging devices) and cell phones are not allowed;
calculators are allowed (but probably not needed).
It is cumulative, so there may be questions on
For logic design, you are responsible (as on quiz 2) for
x86 programming (Dewar notes)
JVM programming (class handouts + IJVM description in Tannenbaum)
logic design at the gate level
For microarchitectures, you should know (all from Chap. 4
What basic gates do (Tanenbaum 3.1.2)
How to design a circuit from basic gates, given a truth table
Multiplexers(Tan. p. 130)
Half-adders, full adders, and multi-bit adders (Tan. p. 135-137,
How to compute the delay of a circuit, given the delay of
the individual gates
The exam will emphasize topics which either proved difficult
on previous exams or which were not covered on previous exams (see "study
questions"). These include
Delays in microarchitectures (like homework 5, question 2).
You should be able to go back and forth between time and frequency.
Writing microcode for MIC-1, MIC-2, or MIC-3
Advantage of MIC-4 over MIC-3
limits on pipelining: branch hazards and data hazards (pp.
As before, programs are graded primarily on correctness.
There will be no penalty for small differences in efficiency, although
we may penalize for grossly inefficient programs or programs with totally
useless instructions. Comments on programs are encouraged, both to make
grading easier, and to allow for assignment of partial credit.
using "masks" and logical operators to extract bit fields
how flags are set after particular operations (mid-term question)
creating microcode for MIC-1/2/3 for a JVM instruction
Write an x86 procedure WRITEHEX which takes a 16-bit number, passed in
AX, converts it to a hexadecimal number, and writes it on the screen starting
at position (0,0).
What are the values of the S, Z, O, and C flags after executing
Write the MIC-1, -2, and -3 microcode for the DLOAD instruction.
It has a 1-byte address field and pushes the local variable at this address
onto the stack. It then pushes the local variable at the next higher
address onto the stack. (Tanenbaum 4.18).