CS5513, Computer Architecture, Spring 2019
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/14 Course introduction;

CInstruction Set Architecture: ISA design;
Week 2: 01/21 Instruction Set Architecture: impact on design;

Computer Arithmetic: binary representations;
Week 3: 01/28 Labor Day;

Computer Arithmetic: math in binary;

Computer Arithmetic: transistors;

Assignment 1: Instruction Set due.

Week 4: 02/04 Computer Arithmetic: ALU design;

Performance Models and Metrics

Assignment 2: Assembly Programming Due;
Week 5: 02/11 Basic CPU Implementation

Instruction Level Parallelism: Pipelines;

Assignment 3: ALU design Due;
Week 6: 02/18 Instruction Level Parallelism: Pipelines;

Midterm Exam 1 on 02/20th, in class.
Week 7: 02/25 Instruction Level Parallelism: Branch Prediction;

Out-of-Order Execution: Scoreboard
Assignment 4: Pipelines and Superscalar Due
Week 8: 03/04 Out-of-Order Execution: Tomasulo Algorithm;

Out-of-Order Execution: Reorder Buffer
Assignment 5: Branch Prediction due;

Week 9: 03/11 Spring Break;

Assignment 6: TLB due;

Week 10: 03/18 Limitations on ILP

Introduction to Cache

Project Information;
Assignment 7: Cache 1 due.
Week 11: 03/25 Cache Designs

Midterm Exam 2 on 03/27th, in class
Week 12: 04/01 Cache Designs

Project Progress Report.
Week 13: 04/08 Virtual Memory

Assignment 8: Cache 2 due.
Week 14: 04/15 Memory Controller and DRAM

Assignment 9: DRAM due;
Week 15: 04/22 Parallel Processor: GPU

Project Due.
Week 16: 04/29 Bing and FPGA;slides

TPU;slides

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

Wrap-up
Final Exam May 8th, 2019, 6:00-8:30 pm.