Summary

  • This is an advanced course that teaches how a computer works at a hardware level.
  • The schedule on this page lists the topics we will cover by date.

Required Materials

  • Laptops will be required in class. Please bring your laptop to class every day. We'll be using them for labs. Minimum system requirements:
    • 8GB RAM
    • Intel/AMD CPU
  • Textbook: Computer Organization and Design: The Hardware-Software Interface

Office Hours

  • Doyle 309
  • Tuesday: Noon - 1PM
  • Or by appointment

Labs

  • Thursday: 4PM - 6PM
  • Doyle 314

Grading

  • Treat this course like a job where you are trying to get promoted. If you show up and do your work, you will get a good grade.
  • No partial credit for code that does not compile.
    • Homework: 20 %
    • Participation: 10 %
    • Progress: 10 %
    • Checkins & Quizzes: 20 %
    • Project: 40 %
    Percentage Letter Grade
    91+ A
    89-90 A-
    87-88 B+
    77-86 B
    75-76 B-
    73-74 C+
    62-72 C
    60-61 C-
    50-59 D
    Below 50 F

Scheduling Conflicts

  • If you have a (legitimate) scheduling conflict with a quiz or exam, it is possible to schedule a makeup session. You must let me know at least two weeks prior to the quiz/exam date. Legitimate scheduling conflicts include religious observances.
  • LUC's academic calendar can be found here.

Mandatory Reporter Statment

  • Each faculty and staff member at Loyola University Chicago is required to report any incidents of gender-based misconduct that they are made aware of, even if it happened in the past. Gender-based misconduct includes discrimination based on actual or perceived sex, sexual orientation, gender expression or identity, or pregnancy or parenting status; dating and domestic violence; sexual misconduct (including sexual assault, sexual harassment, and sexual exploitation); and stalking.

Tools

Collaboration

  • Students are expected to write their own code for homework assignments. No copying or code sharing is allowed. Copying code from the Internet is also not allowed.

Course Schedule

Tenative

Date Topic Details
Mon 08/24 Intro; Review of Instruction Execution Homework: Install the RISCV toolchain
Homework 1 Assigned
Wed 08/26 Performance: Speedup, Benchmarks, MIPS, the Iron Law, Amdahl's Law Further Reading:
  • Patterson & Hennesy Chapter 1.6
Fri 08/28 Instruction Set Intro
Further Reading:
  • Patterson & Hennesy 2.1-2.3
Mon 08/31 Machine Code, Stacks, and Endianness Homework 1 Due
Homework 2: 2-1/4-1 Muxes and Full Adder in Verilog
Further Reading:
  • Patterson & Hennesy 2.5
Wed 09/02 Verilog Tutorial Further Reading:
  • Patterson & Hennesy A.2-A.4
Fri 09/04 Verilog Tutorial Video: Synthesizing a Simple Design on the DE10-Lite
Mon 09/07 Ripple Carry and Carry Select Adders Homework 2 Due
Homework 3: Implement (1) 32-bit Barrel Shifter, (2) an ALU & (3) Register File in Verilog
Wed 09/09 Carry Lookahead Adder Further Reading:
  • Patterson & Hennesy A.6
Fri 09/11 ALUs Further Reading:
  • Patterson & Hennesy A.5
Mon 09/14 Single-Cycle Processor Datapath Homework 3 Due
Start working on Project Schematic Further Reading:
  • Patterson & Hennesy 4.1-4.3
Wed 09/16 Single Cycle Processor Control Path memory2c.v
Further Reading:
  • Patterson & Hennesy 4.4
Fri 09/18 Data Dependences
Mon 09/21 Project Design Review
Wed 09/23 Pipeline Datapath Further Reading:
  • Patterson & Hennesy 4.6
Fri 09/25 Pipeline Control
Mon 09/28 Pipelining: Control Dependences & Branch Delay Slot Further Reading:
  • Patterson & Hennesy 4.7-4.8
Wed 09/30 Exceptions Further Reading:
  • Patterson & Hennesy 4.9
Fri 10/02 Cache Concepts Further Reading:
  • Patterson & Hennesy 5.1-5.2
Mon 10/05 Cache Design Further Reading:
  • Patterson & Hennesy 5.3
Wed 10/07 Cache Design
Fri 10/09 Cache Performance
Mon 10/12 Phase I Demo Day Project Phase I Due
Wed 10/14 Virtual Memory Further Reading:
  • Patterson & Hennesy 5.7
Fri 10/16 Main Memory Further Reading:
  • Patterson & Hennesy A.9
Mon 10/19 I/O
Wed 10/21 Superscalar Further Reading:
Fri 10/23 Superscalar
Mon 10/26 Out of order
Wed 10/28 Booth's Algorithm for Multiplication
Fri 10/30 Floating Point
Mon 11/02 Phase II Demo Day
Wed 11/04
Fri 11/06
Mon 11/09
Wed 11/11
Fri 11/13
Mon 11/16
Wed 11/18
Fri 11/20
Mon 11/23
Wed 11/25
Fri 11/27
Mon 11/30
Wed 12/02
Fri 12/04 Phase III Demo Day