Computer Science (Undergraduate)
This course is intended to show you how a computer is put together --
how, starting with such simple components as wires and switches, we
can create a machine which can execute assembly language programs.
Over the course of the semester, we will develop a machine design
layer-by-layer, starting with switches and gates and gradually moving
to processors and memories.
This will also allow us to understand some of the performance
constraints of machine design and how they are addressed through
caches, pipelining, multicore designs, and processor connection networks.
We will use a graphical logic design tool, LogiSim, to build our machine.
For more details, see the 2012 course information.
Note that we will be using the 5th edition of the Patterson and Hennessy text this fall.