Each of the quizzes took place in recitation one day after the listed lecture.
Abbreviations
CMOS = complementary metal-oxide-semiconductor
ALU = arithmetic logic unit
OS = operating system
| LEC # | TOPICS | LABS | QUIZZES |
|---|---|---|---|
| 1 | Course overview and mechanics, basics of information | ||
| 2 | Digital abstraction, combinational logic, voltage-based encoding | ||
| 3 | CMOS technology, gate design, timing | ||
| 4 | Canonical forms; synthesis, simplification | ||
| 5 | Sequential logic | Lab 1 (CMOS) due | Quiz 1 |
| 6 | Storage elements, finite state machines | ||
| 7 | Synchronization, metastability | Lab 2 (Adder) due | |
| 8 | Pipelining; throughput and latency | ||
| 9 | Case study: multipliers | Lab 3 (ALU) due | |
| 10 | Beta instruction set architecture, compilation | Quiz 2 | |
| 11 | Machine language programming issues | ||
| 12 | Models of computation, programmable architectures | Lab 4 (Turing machine) due | |
| 13 | Stacks and procedures | ||
| 14 | Non-pipelined Beta implementation | Lab 5 (Assembly language) due | |
| 15 | Multilevel memories; locality, performance, caches | ||
| 16 | Cache design issues | Quiz 3 | |
| 17 | Virtual memory: mapping, protection, contexts | ||
| 18 | Virtual machines: timesharing, OS kernels, supervisor calls | Lab 6 (Beta) due | |
| 19 | Devices and interrupt handlers, preemptive interrupts, real-time issues | ||
| 20 | Communication issues: busses, networks, protocols | Lab 7 (Trap handler) due | Quiz 4 |
| 21 | Communicating processes: semaphores, synchronization, atomicity, deadlock | ||
| 22 | Pipelined Beta implementation, bypassing | ||
| 23 | Pipeline issues: delay slots, annulment, exceptions | Lab 8 (Tiny OS) due | Quiz 5 |
| 24 | Parallel processing, shared memory, cache coherence, consistency criteria | ||
| 25 | Wrapup lecture | Project due |
