Schedule

Week 0
Date Topic Reading Activities Work Due
8/25
  • Read after class
  • 1.1: Introduction
  • 1.2: Below Your Program
  • 1.3: Under the Covers
Week 1
Date Topic Reading Activities Work Due
8/28
  • Circuits & Transistors
  • Logic Gates
  • (notes)
8/30
  • No reading
9/1
  • Gates, Truth Tables, & Boolean Algebra
  • (notes)
  • Quiz 1 (Building Logic Gates)
Week 2
Date Topic Reading Activities Work Due
9/4
  • Combinational Logic
  • C.3: Combinational Logic
9/6
  • No reading
9/8
  • 2.4: Signed and Unsigned Numbers
  • 3.2: Addition and Subtraction
  • Quiz 2 (Using Logic Gates and Karnaugh Maps)
Week 3
Date Topic Reading Activities Work Due
9/11
  • C.5: Constructing a Basic Arithmetic Logic Unit
9/13
  • No reading
9/15
  • C.7: Clocks
  • C.8: Memory Elements: Flip-Flops, Latches, and Registers
  • Quiz 3 (Combinational Logic)
Week 4
Date Topic Reading Activities Work Due
9/18
  • C.9: Memory Elements: SRAMs and DRAMs
9/20
  • No reading
9/22
  • Exam 1
  • No reading
Week 5
Date Topic Reading Activities Work Due
9/25
  • Assembly Language & Machine Code
  • (notes)
  • 2.1: Introduction
  • 2.2: Operations of the Computer Hardware
  • 2.3: Operands of the Computer Hardware
  • 2.5: Representing Instructions in the Computer
9/27
  • Lab Day
  • No reading
9/29
  • 2.6: Logical Operations
  • 2.7: Instructions for Making Decisions
Week 6
Date Topic Reading Activities Work Due
10/2
  • 2.8: Supporting Procedures in Computer Hardware
10/4
  • Lab Day
  • No reading
10/6
  • Strings, Arrays, and Addressing
  • (notes)
  • 2.9: Communicating with People
  • 2.10: MIPS Addressing for 32-Bit Immediates and Addresses
  • 2.14: Arrays versus Pointers
  • Quiz 5 (Implementing Procedures)
Week 7
Date Topic Reading Activities Work Due
10/9
  • 2.12: Translating and Starting a Program
  • 2.13: A C Sort Example to Put It All Together
10/11
  • Lab Day
  • No reading
10/13
  • Exam 2
  • No reading
Fall Break
Week 8
Date Topic Reading Activities Work Due
10/23
  • No reading
10/25
  • Lab Day
  • 2.16: Real Stuff: ARM Instructions
  • 2.17: Real Stuff: x86 Instructions
  • 2.18: Fallacies and Pitfalls
  • 2.19: Concluding Remarks
10/27
  • The Datapath
  • 4.1: Introduction
  • 4.2: Logic Design Conventions
  • 4.3: Building a Datapath
Week 9
Date Topic Reading Activities Work Due
10/30
  • 4.4: A Simple Implementation Scheme
11/1
  • Lab Day
  • No reading
11/3
  • 4.5: An Overview of Pipelining
  • 4.6: Pipelined Datapath and Control
  • Quiz 7 (The Datapath)
Week 10
Date Topic Reading Activities Work Due
11/6
  • No reading
11/8
  • Lab Day
  • No reading
11/10
  • 4.7: Data Hazards: Forwarding versus Stalling
  • 4.8: Control Hazards
  • 4.9: Exceptions
  • Quiz 8 (Pipelining)
Week 11
Date Topic Reading Activities Work Due
11/13
  • Superscalar and Out-of-Order Execution
  • (notes)
  • 4.10: Parallelism and Advanced Instruction-Level Parallelism
  • 4.11: Real Stuff: the AMD Opteron X4 (Barcelona) Pipeline
  • 4.13: Fallacies and Pitfalls
  • 4.14: Concluding Remarks
11/15
  • No reading
11/17
  • Exam 3
  • No reading
Week 12
Date Topic Reading Activities Work Due
11/20
  • 5.1: Introduction
  • 5.2: The Basics of Caches
  • 5.3: Measuring and Improving Cache Performance
  • 5.7: Using a Finite-State Machine to Control a Simple Cache
11/22
  • Lab Day
  • No reading
Week 13
Date Topic Reading Activities Work Due
11/27
  • Virtual Memory and Storage
  • 5.4: Virtual Memory
  • 6.1: Introduction
  • 6.2: Dependability, Reliability, and Availability
  • 6.3: Disk Storage
  • 6.4: Flash Storage
11/29
  • Lab Day
  • No reading
12/1
  • Parallelism
  • Quiz 9 (Caches and Virtual Memory)
Week 14
Date Topic Reading Activities Work Due
12/4
  • Parallelism, Continued
  • No reading
12/6
  • Lab Day
  • TBD
12/8
  • No reading
Finals Week
Date Topic Reading Activities Work Due
12/15
  • Final Exam: 9am–noon
  • No reading