CSCI 2321 (Computer Design), Spring 2017:
Review for Exam 2
The exam will be in class April 24. You will have 75 minutes.
Like the quizzes and Exam 1,
it is ``open book / open notes'',
which means you can
consult paper or electronic copies of the textbook and your notes,
sample solutions from this year only,
your own graded work, and anything on the course Web site.
You may not use other books, materials from this course from previous
years, a calculator or computer (except as needed to consult allowed
sources), or (of course) each other's papers.
Questions will mostly be similar in format to the ones in
quizzes, non-opinion minute essays, and homeworks;
difficulty/length will mostly be somewhere between quiz questions and
homework problems.
There will also likely be a few multiple-choice or true/false questions.
You are responsible for all material covered in class or in the
assigned reading from Chapter 4 and Appendix B of the textbook.
You should review in particular the following topics.
It would probably also be helpful to review sample solutions for
the quizzes, assignments, and any minute essays that have
well-defined answers.
- Combinational-logic blocks versus state elements.
- AND and OR gates and inverters, and how to use
them to implement Boolean functions.
- Finite state machines, at the level discussed in Appendix B.
- Design of an ALU.
- Design of a datapath for a single-cycle implementation of
our selected subset of MIPS instructions:
what elements are
needed, how to connect them, what control signals are needed.
- Generating control signals for our single-cycle
implementation -- what elements we need (two
combinational-logic blocks), their inputs and outputs,
how outputs depend on inputs (expressed via truth tables
and/or Boolean functions).
- How the completed single-cycle implementation (datapath
and control) executes example instructions.
- Why a single-cycle implementation isn't really practical.
- A little about pipelining --
how it can help, the basic idea (assembly-line analogy),
what makes it tricky (the ``hazards''),
basic idea of how it's implemented (divide single-cycle design
into stages and add ``pipeline registers'').
- A little about exceptions (interrupts) and what needs to be
added to the single-cycle implementation to support them;
a little about how they interact with pipelining.
You should have read, or at least skimmed,
all of the assigned reading from Chapter 4 and Appendix B,
but the focus will be on material presented or at least mentioned in
class.
Berna Massingill
2017-04-16