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

Level:

Undergraduate

Instructors:

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.