CIS 371 (Spring 2013): Computer Organization and Design

Instructor:Prof. Milo Martin
Lecture:Tuesday/Thursday 12-1:20pm
Lecture TA:Laurel Emurian
Lab TAs:Mishal Awadah, Jinyan Cao, Connie Ho, Jason Mow, Allison Pearce, Alex Zhang

Course Schedule

Lecture Notes


Online eBook for Patterson and Hennessy, "Computer Organization and Design: The Hardware Software Interface" (the most recent edition).




Course Syllabus

Course Description

The description from the course catalog:

(Prerequisite(s): CIS 240, knowledge of at least one programming language).
This is the second computer organization course and focuses on computer
hardware design. Topics covered are: (1) basic digital system design
including finite state machines, (2) instruction set design and simple RISC
assembly programming, (3) quantitative evaluation of computer performance,
(4) circuits for integer and floating-point arithmetic, (5) datapath and
control, (6) micro-programming, (7) pipelining, (8) storage hierarchy and
virtual memory, (9) input/output, (10) different forms of parallelism
including instruction level parallelism, data-level parallelism using both
vectors and message-passing multi-processors, and thread-level parallelism
using shared memory multiprocessors. Basic cache coherence and


CIS240 is an absolute prerequisite for this course.

Academic Misconduct

Academic misconduct such as cheating will not be tolerated. The work you submit in this class is expected to be your own. If you submit work that has in part or in whole been copied from some published or unpublished source (including current or former students), or that has been prepared by someone other than you, or that in any way misrepresents somebody else's work as your own, you will face severe discipline by the university. (Adapted from text appearing at the Office of Student Conduct page.)

Any detected cases of cheating will be pursued. Penalties can include: receiving a zero on the assignment (the minimum penalty), failing the course, having a note placed in your permanent academic record, suspension, and ultimately expulsion.

See Penn's Code of Academic Integrity for more information.