CSE 30321 – Computer Architecture

The information below is based on the Spring 2025 section of CSE 30321.

Course Goals

By the end of this course you should be able to:

  1. Describe the fundamental components required in a single core of a modern microprocessor as well as how they interact with each other, with main memory, and with external storage media.
  2. Suggest, compare, and contrast potential architectural enhancements by applying appropriate performance metrics.
  3. Apply fundamental knowledge about a processor’s datapath, different memory hierarchies, performance metrics, etc. to design a microprocessor such that it (a) meets a target set of performance goals and (b) is realistically implementable.
  4. Explain how code written in (different) high-level languages (like C, Java, C++, etc.) can be executed on different microprocessors (e.g., RISC-V, Intel, ARM, etc.) to produce the result intended by the programmer.
  5. Use knowledge about a microprocessor’s underlying hardware (or “architecture”) to write more efficient software.
  6. Describe the main architectural approaches to improve computer performance (circa 2004 and 2012).
  7. Explain and articulate why modern microprocessors now have more than one core and how software must adapt to accommodate the now prevalent multi-core approach to computing.

Grading

Homework35%Weighted equally by score as percentage
Readings5%zyBooks readings will be released on most class days.
Midterm Exam 117.5%Tuesday 2/18
Midterm Exam 217.5%Tuesday 4/8
Final Exam25%Wednesday 5/7 7:30-9:30pmSame format as the two midterms, but cumulative

Course Schedule

DateLectureReadingsHomework
Tu 01/14/25L01: Course Introduction; ISA and Processor ReviewReading 01: IntroductionHW01: ISA Review and RISC-V Intro assigned
Th 01/16/25L02: ISA Review and Performance IntroNone; review albaCore as needed or work ahead on next reading
Tu 01/21/25L03: PerformanceReading 02: Performance (open until Wed.)
Th 01/23/25L04: RISC-V Instructions and ProgrammingReading 03: RISC-V Instruction IntroductionHW01 due
HW02: Performance and Assembly Programming assigned
Tu 01/28/25L05: RISC-V Instruction Types and EncodingsReading 04: RISC-V Instructions (R-, I-, S-, SB-types)
Th 01/30/25L06: RISC-V Control and ProceduresReading 05: RISC-V Procedures (UJ-type, call/return, stack)HW03: RISC-V ISA and Function Calls
assigned
HW02 due
Tu 02/04/25L07: Recursive Function and Pipelining IntroductionReading 06: Pipelining Intro
Th 02/06/25L08: PipeliningReading 07: Pipelining DetailsHW04 Procedures, Pipelining, and Sorting assigned
HW03 due
Tu 02/11/25L09: Pipelining HazardsReading 08: Pipelining Hazards
Th 02/13/25L10: Exam 1 ReviewNo reading dueHW04 due
Tu 02/18/25Midterm Exam 1 (L11)No reading due
Th 02/20/25L12: Control HazardsReview Control Hazards from Reading 08HW05 Pipeline Control Hazards assigned
No HW due
Tu 02/25/25L13: Control Hazard Examples, Memory Hierarchy ReviewReading 09: Memory Hierarchy Intro/Review of Direct-mapped Caches
Th 02/27/25L14: Direct-mapped CachesReading 10: AMAT and Set Associative CachesHW06 Caches assigned
HW05 due
Tu 03/04/25L15: Associative Caches and Cache ExamplesNo reading due
Th 03/06/25L16: Cache Performance (no video)Reading 11: Improving Cache PerformanceHW06 due Friday
Tu 03/11/25Spring Break
Th 03/13/25Spring Break
Tu 03/18/25L17: Cache-Aware Programming and Virtual Memory IntroNo reading due
Th 03/20/25L18: Virtual Memory (Paging)Reading 13: Virtual MemoryHW07 Cache Performance assigned
Tu 03/25/25L19: VM Examples and PerformanceReading 14: VM Performance and the TLB
Th 03/27/25L20: VM Wrap-upNo reading dueHW07 due
HW08 Virtual Memory assigned
Tu 04/01/25L21: Out-of-order IntroductionReading 15: Multiple Issue, Static Scheduling
Th 04/03/25L22: Midterm Exam 2 ReviewNo reading dueHW08 due
Tu 04/08/25Midterm Exam 2 (L23)No reading due
Th 04/10/25L24: Dynamic SchedulingReading 16: Dynamic SchedulingHW09 Out of Order Execution assigned
Tu 04/15/25L25: Dynamic Scheduling ExamplesNo reading due
Th 04/17/25L26: Multi-core IntroductionReading 17: Cache Coherence (last reading)HW09 due
HW10 Cache Coherence assigned
Tu 04/22/25L27: Cache CoherenceNo reading due
Th 04/24/25L28: Cache Coherence ExamplesNo reading dueHW10 due
Tu 04/29/25L29: Wrap-up and Final Exam ReviewNo reading due