CSCI 2321 (Principles of Computer Design):
Lecture Summaries
(Numbers following topics reference chapter(s) and section(s)
in the textbook.)
- January 16: About the course.
- January 18: Overview/introduction (1).
- January 21: Defining and measuring performance (2).
- January 23: Machine-level instructions (3.1 - 3.3).
- January 25: Machine-level instructions, continued (3.1 - 3.3).
- January 28: Machine-level instructions, continued (3.4 - 3.5).
- January 30: Machine-level instructions, continued (3.5);
support for procedures (3.6).
- February 1: Support for procedures, continued (3.6).
- February 4: Support for procedures, continued (3.6).
- February 6: Other data formats (3.7);
addressing formats (3.8).
- February 8: Addressing formats, continued (3.8);
arrays versus pointers (3.11).
- February 11: Compilers, assemblers, linkers, and loaders (3.9).
- February 13: Binary, decimal, and hexadecimal (4.2);
two's complement notation (4.2).
- February 15: Sign extension and unsigned numbers (4.2);
addition and subtraction (4.3).
- February 18: Overflow in signed arithmetic (4.3);
logical operations (4.4).
- February 20: Exam 1.
- February 22: Building an ALU (4.5).
- February 25: Building an ALU (4.5), continued.
- February 27: Recap/review;
CMOS inverter (not in textbook, optional);
multiplication (4.6).
- March 1: Division (4.7).
- March 4: Floating-point representation and arithmetic (4.8).
- March 6: Building a datapath (5.1, 5.2), introduction.
- March 8: Combinational logic blocks (appendix B).
- March 18: No class.
- March 20: State elements (appendix B).
- March 22: State elements (appendix B);
building a datapath (5.2), continued.
- March 25: Building a datapath (5.2), continued.
- March 27: Building a datapath (5.2), continued;
generating control signals (5.3).
- April 1: Generating control signals (5.3), continued.
- April 3: Generating control signals (5.3), continued.
- April 5: Generating control signals (5.3), continued.
- April 8: Generating control signals (5.3), continued.
- April 10: A multiple-cycle implementation (5.4),
introduction.
- April 12: Exam 2.
- April 15: A multiple-cycle implementation (5.4),
continued.
- April 17: A multiple-cycle implementation (5.4),
continued.
- April 19: A multiple-cycle implementation (5.4),
continued.
- April 22: Generating control signals for
a multiple-cycle implementation using
a finite state machine (5.4).
- April 24: Generating control signals for
a multiple-cycle implementation using
microprogramming (5.5).
- April 26: Exceptions and interrupts (5.6).
- April 29: Course wrap-up and evaluations.