Computation Structures
As taught in: Spring 2009
In this course, students are asked to design a CPU (central processing unit) starting at
gate level. See the Labs section for more details. (Image by Prof. Steve Ward.)
Instructors:
Prof. Steve Ward
MIT Course Number:
6.004
Level:
Undergraduate
Course Description
6.004 offers an introduction to the engineering of digital systems. Starting with MOS transistors, the course develops a
series of building blocks — logic gates, combinational and sequential circuits, finite-state machines, computers and
finally complete systems. Both hardware and software mechanisms are explored through a series of design examples.
6.004 is required material for any EECS undergraduate who wants to understand (and ultimately design) digital systems.
A good grasp of the material is essential for later courses in digital design, computer architecture and systems. The
problem sets and lab exercises are intended to give students "hands-on" experience in designing digital systems; each
student completes a gate-level design for a reduced instruction set computer (RISC) processor during the semester.
Syllabus
This course makes use of Athena, MIT's UNIX-based computing environment. OCW does not provide access to this environment.
Course Meeting Times
Lectures: 2 sessions / week, 1 hour / session
Recitations: 2 sessions / week, 1 hour / session
Course Description
6.004 offers an introduction to the engineering of digital systems. Starting with MOS transistors, the course develops a
series of building blocks — logic gates, combinational and sequential circuits, finite-state machines, computers and
finally complete systems. Both hardware and software mechanisms are explored through a series of design examples.
6.004 is required material for any EECS undergraduate who wants to understand (and ultimately design) digital systems.
A good grasp of the material is essential for later courses in digital design, computer architec