Archived Versions

6.004 Computation Structures

As taught in: Spring 2009

Cartoon of a student taking a part out of the Beta Kit and wondering where it goes.

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.)




Prof. Steve Ward

Course Features

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.

Technical Requirements

Special software is required to use some of the files in this course: .jsim, .tgz, .jar, .uasm, .bin, and .el.