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 |