Lecture Notes

Lecture 1: Basics of Information (PDF)
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)