CSCI 2321 (Principles of Computer Design), Spring 2004:
Review for Final
The exam will be at the scheduled exam period, May 5 at 6:30pm.
It will be about twice the length of the midterm and so
should take about two hours, but you will have the whole
three-hour exam period if you need it.
You may use your textbook and any notes or papers you care to bring,
but you may not use other books,
a calculator or computer, or (of course) each other's papers.
The exam will be comprehensive but will focus on material since
the midterm (approximately two-thirds of the questions/points will
be about material from the second half of the course).
Most questions will be similar in form to those in the homework
assignments, quizzes, and midterm.
You are responsible for all material covered in class,
but the following is a summary of
topics I think are most important.
- (Review) Terminology from chapter 1;
the five classic components of a computer.
- (Review) Defining and measuring performance;
relationship among execution time,
clock rate, cycle time, and cycles per instruction.
- (Review) Idea of ``instruction set architecture''
(as the interface between hardware and software).
- (Review) MIPS instructions described in chapter 3 --
usage and binary (machine-language) representation.
- (Review) Compilers, assemblers, linkers, and loaders.
- (Review) MIPS conventions for procedure calls.
- (Review) Binary, decimal, and hexadecimal number systems;
two's complement notation.
- (Review) Computer arithmetic (on integers):
addition, subtraction, multiplication and division
(basic ideas only, not details of algorithms), overflow.
- (Review) MIPS instructions for manipulating bits
(sll, srl, and, or, etc.).
- (Review) AND and OR gates and inverters, and how to use
them to implement Boolean functions.
- (Review) Design of an ALU.
- (Review) Floating-point representation and arithmetic
(basic ideas only, not details).
- Combinational-logic blocks versus state elements.
- State elements and the clock cycle.
- 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.
- Design of a datapath for a multiple-cycle implementation of
our selected subset of MIPS instructions --
what elements are
needed, how to connect them, what control signals are needed,
how to break instructions down into single-cycle steps.
- Generating control signals for our multiple-cycle
implementation -- how to express what we want as a
finite state machine, how to implement a FSM,
how to express what we want in terms of microprogramming,
(briefly) how to implement microprogramming.
- How the completed multiple-cycle implementation (datapath
and control) executes example instructions.
- Extending the datapath and control to support exceptions
(interrupts).
- A little about pipelining --
how it can help, the basic idea (assembly-line analogy),
what makes it tricky (the ``hazards'').
- A very little about memory hierarchies (caching and
virtual memory), buses and I/O, and multiple processors.
See Lecture Topics and Assignments
for a complete list of reading.
The following is a list of sections to read more carefully
and/or review.
- (Review) In chapter 1: 1.2.
- (Review) In chapter 2: 2.1, 2.2, and 2.3.
- (Review) In chapter 3: 3.1, 3.2, 3.3, 3.4,
3.5, 3.6, 3.8, and 3.9.
- (Review) In chapter 4: 4.1, 4.2, 4.3, 4.4,
4.10 (first two pages), 4.11.
- In chapter 5: 5.1, 5.2, 5.3 (except material on
performance), 5.4 (except material on performance),
5.5, and 5.6.
- In appendix B: B.1 through B.6 (except
pages B-10 through B-17 and B-27 through B-35).
- In appendix C: C.3 (up through page C-12) and C.4.
- In chapters 6 through 9: Just skim the assigned sections,
skipping anything that isn't mentioned in the class notes.
Berna Massingill
2004-04-30