CS3853, Computer Architecture, Spring 2021
Course Objectives and Schedule

Course Objectives

  1. Understand the design of instruction sets and the impact of this design.
  2. Understand the basic design of functional units to support instruction sets.
  3. Understand the design of a pipelined CPU and memory hierarchy.
  4. Understand of trade-offs in modern CPU design including issues affecting superscalar and speculative executions.
  5. Understand the basic designs of parallel processors.
  6. Experience with processor simulation to study microarchitecture features.

Syllabus

The following syllabus gives you a rough idea of the time spent on each topic. The syllabus may change depending on how quickly or slowly we move. Regardless, the tests and exams will be on the dates shown. Make any travel plans accordingly.

Week Topics Assignments & Exams Supplement Materials
Week 1: 01/18 Course introduction;

Video 1: Intro: What is Comp Arch?
Video 2: Intro: Why learn Comp Arch? And Architecture Types by Application
Video 3: Intro: Moore's Law and Dennard Scaling
Video 4: Intro: Design Metrics
Video 5: Intro: Theoretical Architectures
Week 2: 01/25 Instruction Set Architecture (part 1);

Video 6: ISA: Intro
Video 7: ISA: Operands
Video 8: ISA: Addressing Modes
Video 9: ISA: Instruction Length and Operand Count
Week 3: 02/01 Instruction Set Architecture (part 2);

Assignment 1: Instruction Set due.

Video 10: ISA: Good/bad ISAs
Video 11: ISA: CISC vs RISC (part 1)
Video 12: ISA: CISC vs RISC (part 2)
Video 13: ISA: SIMD
Video 14: ISA: VLIW
Video 15: ISA: Compiler Interaction
Week 4: 02/08 Computer Arithmetic;

Video 16: Comp Arithmetic: Binary/Hex Numbers
Video 17: Comp Arrithmetic: Two's Complement Encoding
Video 18: Comp Arrithmetic: Floating-point number Encoding
Video 19: Comp Arrithmetic: Basic ALU Design

Week 5: 02/15 Winter Storm, no class
Week 6: 02/22 Performance Models and Metrics
Assignment 2: ISA, Computer Arithmetic and Performance Metrics Due; Video 20: Perf. Measurement: Perf. Metrics (part 1)
Video 21: Perf. Measurement: Perf. Metrics (part 2)
Video 22: Perf. Measurement: CPU Perf. Equation
Video 23: Perf. Measurement: Amdahl's Law
Video 24: Perf. Measurement: Benchmarks
Video 25: Perf. Measurement: Simulators
Week 7: 03/01 CPU Data Path
Midterm Exam 1 on 03/04th, in class. Midterm 1 Preparation

Midterm1 Preparation Video

Video 26: Basic CPU: Five Exec Stages
Video 27: Basic CPU: Cycles and Control Signals
Video 28: Basic CPU: ALU Data Path (part 1)
Video 29: Basic CPU: ALU Data Path (part 2)
Video 30: Basic CPU: Memory data Path
Video 31: Basic CPU: Branch Data Path
Video 32: Basic CPU: All in One Picture
Video 33: Basic CPU: Control Signals and Multi-Cycle Impl.
Video 34: Basic CPU: Execptions and Micro-programming
Week 8: 03/08 Spring Break

Week 9: 03/15 Instruction Level Parallelism: Pipelining;
Video 35: Intro to Pipelining
Video 36: Structural Hazards
Video 37: Data Hazards (part 1)
Video 38: Data Hazards (part 2)
Video 39: Control Hazards
Video 40: Hazards Summary and Superscalar
Week 10: 03/22 Branch Prediction; Video 41: Speculative Execution: Introduction
Video 42: Speculative Execution: 2-Bit Counter
Video 43: Speculative Execution: Adv Branch Prediction
Week 11: 03/29 Branch Prediction; Assignment 3: Pipelines and Branch Prediction due

Video 44: Speculative Execution: Memory Disambiguation
Video 45: Speculative Execution: Security Implications

Assignment 3 Review
Week 12: 04/05 Introduction to Cache

Midterm Exam 2 on 04/08th, in class Midterm 2 Preparation

Video 46: Overview of Cache (part 1)
Video 47: Overview of Cache (part 1)
Video 48: Overview of Cache: Program Locality
Video 49: Overview of Cache: Terminologies
Video 50: Basic Cache Questions
Video 51: A Simple Cache Example
Video 52: Cache Perf. Equations
Week 13: 04/12 Cache Designs

Video 53: Introduction and Cacheline Addresses
Video 54: Direct Mapped Cache
Video 55: Direct Mapped Cache Example
Video 56: Direct Mapped Cache Pros/Cons
Video 57: Fully Associative Cache Introduction
Video 58: Fully Associative Cache Example and Pros/Cons
Week 14: 04/19 Cache Designs

Video 59: Set-Associative Cache Introuction
Video 60: Set-Associative Cache Example and Pros/Cons
Video 61: Set-Associative Cache Number of Ways Determination
Video 62: Compulsory, Capacity and Conflict Cache Misses
Video 63: Cache Replacement Policy - LRU
Video 64: Cache Replacement Policy - CAR
Video 65: Write-back Policy
Video 66: Write-through Policy
Video 67: Write miss Policies and Real Cache Examples
Week 15: 04/26 Parallel Processors:

GPU and SIMD

Bing and FPGA;slides

TPU;slides

Video 68: GPU (pt 1)
Video 69: GPU (pt 2)
Week 16: 05/03 Parallel Processors:

System-on-Chip A12X Bionic, M1, NVidia Xavier

Resource Disaggregation: Berkley Firebox; MS RSC; Microservices; HP: The Machine; Intel RSC; LegoOS

Wrap-up
Project Due.
Final Exam Thu, May 13th 2021, 01:00 pm - 02:50 pm Final Preparation

Final Review Video