Text: Computer Organization & Design: The Hardware/Software Interface, ARM edition, Hennessy and Patterson
MW 1:20-2:35 314 McGregory
MW 2:45-4:00 314 McGregory
M 4:00-6:00 314 McGregory
W 11:20-1:10 314 McGregory
Office Hours: Mon 12:15-1:00, or by appointment
The purpose of this course is to develop an understanding of how an abstract specification of a method for solving a problem, a computer program, can be instantiated in a physical system, hardware, which carries out the method and provides an answer. This will include the study of the physical devices which provide the basic mechanism, transistors, the arrangement of transistors into circuits which provide basic logical operations, the combination of logical gates and other devices into more complex circuits which can instantiate the operations and memory of a computer, the representations of data and instructions for such devices, and the languages used to communicate with the computing devices. We will also consider the basis of design decisions for building a computer, some of the trade-offs that are made to develop a powerful, yet efficient system.
Working with a machine is an integral part of such a course. Our text uses as its example architecture the ARMv8 architecture, an architecture common in many contemporary devices such as smart phones and tablets. The ARMv8 architecture embodies the principles of RISC design. We will build circuits that form parts of a simplified ARMv8 CPU using the LogiSim circuit simulator.
Labs are due no later than the following lab on Monday/Wednesday. There will be a 20% penalty for late homework and labs. Any assignment more than a week late will not be accepted. Quizzes must be done by the due date.
Lab grade is based solely on the labs