Course Highlights
This course offers virtually all of its materials online, including a complete set of lecture slides, lab assignments, and other materials used by students in the course.
» Download the complete contents of this course.
Course Description
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. Before taking 6.004, students should feel comfortable using computers; a rudimentary knowledge of programming language concepts (6.001) and electrical fundamentals (6.002) is assumed.
Technical Requirements
Java® plug-in software is required to run the Java® files found on this course site.
Lecture Notes
Lecture 2: Digital Abstraction (PDF)
Lecture 3: CMOS Technology (PDF)
Lecture 4: Gates (PDF)
Lecture 5: Logic Synthesis (PDF - 2.2 MB)
Lecture 6: Sequential Logic (PDF - 2.4 MB)
Lecture 7: (Synchronous) Finite State Machines (PDF)
Lecture 8: Synchronization, Metastability and Arbitration (PDF)
Lecture 9: Pipelining (PDF)
Lecture 10: Cost/Performance Tradeoffs (PDF)
Lecture 11: Programmability (PDF)
Lecture 12: Designing an Instruction Set (PDF)
Lecture 13: Machine Language, Assemblers,and Compilers (PDF)
Lecture 14: Stacks and Procedures (PDF)
Lecture 15: Building the Beta (PDF)
Lecture 16: Pipelining the Beta (PDF)
Lecture 17: Pipeline Issues (PDF)
Lecture 18: The Memory Hierarchy (PDF)
Lecture 19: Cache Issues (PDF)
Lecture 20: Interconnect and Communication (PDF)
Lecture 21: Virtual Memory (PDF)
Lecture 22: Operating System Kernel (PDF)
Lecture 23: Processes and Synchronization (PDF)
Lecture 24: Interrupts and Real Time (PDF)
Lecture 25: Parallel Processing (PDF)
No comments:
Post a Comment