Schedule


  • This is a general timetable for Compsci / ECE 250, it is updated as I go and may change.
  • Readings are from the required text Computer Organization and Design: The Hardware/Software Interface 5th edition and are indicated in the () after the topic for each lecture. Notation is generally chapter.section:pages in section. If no pages are listed then you should read the entire section(s).
  • Slides and lecture recordings will be made available after class.
  • Lecture recordings.
  • A few slides are based on material from Drew Hilton, Dan Sorin, Amir Roth, and Gershon Kedem (via Randy Katz).
  • Access to slides and recitation material is limited via Duke NetID.
  • Monday
    Class
    Wednesday
    Class
    Recitation
    (See Sakai for Material)
    8/29 Introduction / Data & Memory Basics (1.1-1.4)
    slides
    8/31 Data Representations (2.4,3.1,3.2:pages 178-179, 3.5:pages 196-202)
    slides
      UNIX/Linux environment
    9/5 C Programming: Online Tutorial: Intro - C-style Strings
    slides
    9/7 C Programming: Online Tutorial: File IO - recursion
    slides
      C Programming
    9/12 Instruction Set Architecture & MIPS (Ch 2.1-2.3,2.5-2.7)
    slides
    9/14 MIPS Assembly Language (A.2, A.9, A.10:pages A-45-A-49)
    slides
      Assembly: SPIM
    9/19 Procedure Calls (2.8, A.6: A-22-A-26, 2.13)
    slides
    9/21 Recursion (A.6:A-27-A-33)
    slides
      Assembly: calling conventions & recursion
    9/26 Memory and Pointers (2.9-2.10, 2.14)
    slides
    9/28 Link/load, Other ISAs (2.12, 2.16-2.17)
    slides
      Assembly: pointers & Review
    10/3 Midterm I
    10/5 Boolean Algebra, Logic Gates (B.1-B.3)
    slides
      Digital Logic Design & Logisim
    10/10
    Fall Break!
    10/12 ALU & Storage Elements (B.5, B.7-B.8, ignore verilog sections)
    slides
      Using Logisim for larger projects
    10/17 Finite State Machines (B.10)
    slides
    10/19 Building a Datapath (4.1-4.3)
    slides
      Logic Design & Finite State Machines
    10/24 Datapath (4.3)
    slides
    10/26 Datapath Control (4.4)
    slides
      Register file and ALU
    10/31 Memory Hierarchies (5.1-5.2:pages 374-381 SRAM & DRAM)
    slides
    11/2 Cache Memory (5.4:pages 398-409)
    slides
      Memory Hierarchies & Review
    11/7 Midterm II
    11/9 Caches & Performance (5.4:pages 410-end)
    slides
      Caches
    11/14 Virtual Memory (5.7:pages 427-439)
    slides
    11/16 Virtual Memory & Caches, start exceptions (5.7:pages 440-end, 5.8)
    slides
      Caches & virtual memory
    11/21 Exceptions, Interrupts, I/O (A.7-A.8)
    slides
    11/23
    Thanksgiving

    11/28 Storage (5.2:pages 381-383 Flash & Disk)
    slides
    11/30 Pipelined Datapath (4.6-4.7)
    slides
      Exceptions
    12/5 Pipelined Control, Exceptions, parallelism (4.8-4.9, 5.10)
    slides
    12/7 Multicore processors (6.1, 2.11 & 6.5); Q&A
    slides
      Pipelining
    Final Exam: December 18, 2pm to 5pm