CSC 258 exam topics
My further office hours
My regular office hours are now over (as classes are over).
Also ending are the TA office hours
(ending on Friday December 5th).
My further office hours between the end of classes and the exam will be
posted here.
Please e-mail me any suggestions you have about times when people are
likely to attend.
The exam
The exam covers everything in the lectures, assignments, and labs.
Everything, in other words.
With just a few exceptions, noted below.
If you've missed some lectures, meet someone else in the class and get copies
of their notes.
It is "cumulative".
The format is much like the midterm, but longer (3 hours).
No aids are allowed,
but the boolean identities handout will be attached to the exam, as will
the one-bus architecture handout (diagram with accompanying text).
Any other specific information you need will be provided as well
(for example, opcodes if relevant).
You should not have to memorize any tables of stuff.
If you're not clear on whether or not you have to memorize something, ask in
e-mail; my usual answer will be "if you asked me that question during the
exam, I would tell you the answer".
Exam timetable
Please check your seat assignment in advance if possible, in the
netgrade system.
The exam will potentially cover:
- logic gates and gate schematics
- boolean algebra
- combinational circuits
- sequential circuits (latches, flip-flops, registers, counters (except not
ripple counters))
- two's-complement representation
- arithmetic, two's-complement algorithm
- arithmetic overflow, other condition code flags (N, Z, C, V)
- memory organization, addresses, kinds of memory
- machine language (assembly language): VELMA, and general concepts
- Please know the DIV op. Example problem for preparation: convert
9296 seconds into 2 hours, 34 minutes, and 56 seconds, by dividing twice.
(That's 22120 seconds in base 8, and the results would be 2, 42, 70 in
base 8.)
- subroutine linkage (the method with JSR and with the parameters pushed
on the stack)
- cpu organization, microprogramming
- i/o programming (but you don't have to remember specific examples;
details of appropriate hardware, memory addresses, and functions will be
provided as needed)
- interrupts (general concepts plus some practicality, e.g. understanding
of that assignment 4 question)
- RISC design strategies (again, you probably don't need to memorize much,
but you should understand it;
see sample RISC questions
for clarifications on what you have to know)
I do mean "potentially" --
obviously a three-hour exam can't be comprehensive over this range of material.
Not included:
IEEE 754 floating-point format;
gate construction;
physical limits/constraints on CPU design;
and
anything I might have mentioned
near the end about parallel computing or quantum computing.
And as with the midterm,
you don't need to know Karnaugh maps specifically so
long as you have some way to minimize boolean expressions; but you
do need to be able to perform and to recognize algebraic manipulations
of boolean formulas.
Attached to the exam: boolean identities handout, simple one-bus architecture
handout.
BRING YOUR STUDENT PHOTO ID CARD.
You will have to put it face up on your desk.