Preliminary calendar, subject to change!

Calendar

The Hardware Software Interface

Jan 21
Intro & What is Computer Architecture? [slides] [pdf]
Syllabus
Jan 22
No Lab
Jan 23
(re-)Introducing the HW-SW Interface [slides] [pdf]
H&P 1.3, 1.9
Jan 26
Data Representations & Assembly [slides] [pdf]
H&P A.1, A.2
Jan 28
Designing an Assembly Instruction [slides] [pdf]
S&L 1.2
Jan 29
Assembly Lab
Jan 30
Assembly Design, cont. [slides] [pdf]
H&P A.4, A.7 Check-In 1 in class HW1 Released
Feb 2
RISC v CISC [slides] [pdf]
TCftRISC
Last Day to Add Course!

Basic Processor Design

Feb 4
[Hardware Principles]
TBD
Feb 5
Processor Emulator Gear-Up Lab
Feb 6
[Building a Basic Processor (Part 1)]
TBD HW1 Part 1 due Tonight!
Feb 9
[Building a Basic Processor (Part 2)]
TBD
Feb 11
[Single Cycle Processor Control and Performance]
TBD
Feb 12
[GDB Lab]
Feb 13
[Building a Pipelined CPU]
TBD Check-In 2 in class
Feb 16
[Pipelined Processor (Part 2)]
TBD HW1 Part 2 due Tonight!
Feb 18
[Pipeline Pitfalls and Hazards]
TBD
Feb 19
[Intro to gem5 Lab]
Feb 20
[Managing Hazards]
TBD
Feb 23
[Introducing Processor Control]
TBD

Memory Hierarchy

Feb 25
[Memory Hierarchy Overview]
TBD HW1 Part 3 due Tonight!
Feb 26
[Cache Assignment Gear-Up Lab]
Feb 27
[Storage Devices]
TBD Check-In 3 in class HW2 released
Mar 2
[Cache Controller Construction (part 1)]
TBD
Mar 4
[Cache Controller Construction (part 2)]
TBD
Mar 5
[Cache Performance Lab]
Mar 6
[Understanding and Mitigating Misses]
TBD
Mar 9
[Coherence, continued]
TBD
Mar 11
[Shared Caches]
TBD Check-In 4 In-class
Mar 13
[Cache Security and Mitigations]
TBD
Mar 14
ISA Leakage Gear-Up Lab
Tomorrow is the last day to drop course!
Mar 16
No class, spring break!
Mar 18
No class, spring break!
Mar 20
No class, spring break!
Mar 23
[Cache Attacks, cont.]
TBD HW3 Released
Mar 25
[Cache Attack Mitigations]
TBD
Mar 26
[Cache Performance Lab]
Mar 27
[Cache Attack Mitigations (cont.)]
TBD
Mar 30
[Recontextualizing the Memory System]
TBD

Advanced Processing (Control Instructions)

Apr 1
[Basic Control Instructions]
TBD
Apr 2
[Lab: TBD]
Apr 3
[Constructing a Data path for Control Instructions]
TBD
Apr 6
[The Negative Impact of Branching]
TBD CHECK-IN 5 IN CLASS
Apr 8
[Strategies to Handle Branches]
TBD
Apr 9
ISA Assignment Gear-Up
Apr 10
[Motivating Branch Prediction]
TBD
Apr 13
[Speculative Execution Attacks (Part 1)]
TBD
Apr 15
[Speculative Execution Attacks (Part 2)]
TBD
Apr 16
[Branch Prediction Lab]
Apr 17
[Advanced Instruction Level Parallelism]
TBD

Modern Computer Architectures

Apr 20
[Multicore Architectures]
TBD HW4 Released
Apr 22
[More Multicore Architectures]
TBD
Apr 23
[Ahmdahl’s Law Lab]
Apr 24
[A (Very Brief) Overview of GPUs]
TBD
Apr 27
[GPUs cont.]
TBD
Apr 29
[Green Computing]
Apr 30
Lab: TBD
May 1
[Topics in Computer Architecture]
TBD
May 3
[Topics in Architecture Security]
TBD
May 5
[Course Summary]
TBD