CS 4330: Advanced Computer Architecture

Lecture Time/Location: Tu/Th 3:30pm-4:45pm @ Olsson 005
The goal of this course is to introduce undergraduate students to key design optimizations in modern processor architectures through a semester-long hands-on design project. By taking this course, students will:
  • become conversant with state-of-the-art microarchitectural design mechanisms and optimizations,
  • be able to read and evaluate specs of modern architectures, and
  • gain experience optimizing a baseline architecture, measure performance improvements, and report findings.
Required Textbook:
    Patterson and Hennessy, "Computer Organization and Design: The Hardware/Software Interface", Fifth Edition
Other textbooks and online resources:

Contact

Instructor: Teaching Assistants:

Grading

The grading breakdown for this course is:

Note: We will NOT use an absolute grading scale for this course. Your final letter grades will be assigned based on your overall performance, relative to the class average.

Course Project

The bulk of the course will involve a semester-long project (in C++) on designing microarchitectural optimizations (potentially involving multiple forms of parallelism and speculation) for a baseline general-purpose processor that will be provided at the beginning of the semester.  Students will work on 3-4 design optimizations (one baseline optimization and 2-3 custom optimizations) in pairs, measure the performance improvements on a set of target benchmarks provided, and then present their findings to the class at the end of the semester.  Students can choose from a suggested list of optimizations below (most of which will be covered in in-class lectures) or could come up with their own novel optimizations.

List of Suggested Design Optimizations:

Guidelines and Policies:

Assignments

There will be 3 homework assignments (to be completed individually and submitted to Gradescope before class on the due date). Each homework assignment will involve 4-5 exercise problems from the textbook. Links to assignments:

Schedule

Date Topic Assignment
Jan 13 Introduction, Motivation, and Course Logistics
Background Preparation: Brush up concepts covered in CSO1 and CSO2
-
Jan 15 Instruction Set Architecture
Reading: Chapters 1.3, 2.2, 2.3, 2.5, 2.6, 2.7, and 2.8
-
Jan 20 Quantitative Analysis in Computer Architecture
Reading: Chapters 1.6 and 1.10
Project and HW1 out
Jan 22 Review of the Single-Cycle Processor Design
Reading: Appendix B, Chapters 4.3 and 4.4
-
Jan 27 Review of Pipelined Datapath and Control
Reading: Chapters 4.5 and 4.6
HW1 due
Jan 29 Pipelining: Data Hazards
Reading: Chapter 4.7
-
Feb 3 Pipelining: Forwarding
Reading: Chapters 4.7
Project Checkpoint-1 due
Feb 5 Control Hazards
Reading: Chapters 4.8
-
Feb 10 Branch Prediction
Reading: Chapter 4.10
-
Feb 12 More Branch Prediction
Reading: Chapter 4.10
HW2 due
Feb 17 Superscalar Execution
Reading: Chapters 4.10
Feb 19 Static and Dynamic Scheduling
Reading: Chapters 4.11
Project Checkpoint-2 (Baseline Optimization) due
Feb 24 Out-Of-Order Execution
Reading: Chapters 4.11
Mar 3-5 Spring Break
Mar 10-12 Milestone Reviews
-
Mar 17 Memory Disambiguation and Value Prediction
-
Mar 19 Evolution of the Modern Microprocessor
-
Mar 24 Cache Review and Policies
Reading: Chapter 5
Project Checkpoint-3 due, HW3 out
Mar 26 Cache Optimizations
-
Mar 31 Data and Instruction Prefetching
-
Apr 2 Data-Parallel Execution
Reading: Chapters 6.2 and 6.3
HW3 due
Apr 7-9 Milestone Reviews
-
Apr 14 Multicore Processors and Cache Coherence
-
Apr 16-23 Student-led Design Presentations
-
Apr 28 Final Review
Full Project (code and report) due
May 4 Final Exam
-

Honor Code

I trust every student in this course to fully abide by the University's Honor Code and pledge to not commit academic fraud. You are allowed to discuss, collaborate, and brainstorm only with your partner, but not outside of your group. You're also allowed to use AI resources to work on your assignments, as long as you keep a detailed history of the prompts you used to help with your assignments and submit it along with your assignment. However, you're not allowed to plagiarize solutions/text from another student's assignment or from the internet. If you're using AI, the onus is on you to ensure that your submission is devoid of plagiarism. Cheating will be taken seriously and will be reported to the honor committee. All suspected honor violations will receive a failing grade (F) in the course regardless of any action taken by the Honor Committee.

    Please let me know if you have any questions regarding the course Honor policy. If you believe you may have committed an Honor Offense, you may wish to file a Conscientious Retraction by calling the Honor Offices at (434) 924-7602. For your retraction to be considered valid, it must, among other things, be filed with the Honor Committee before you are aware that the act in question has come under suspicion by anyone. More information can be found here. Your Honor representatives can be found at this link

    Learning Accommodations

    Students with disabilities or learning needs
    It is my goal to create a learning experience that is as accessible as possible. If you anticipate any issues related to the format, materials, or requirements of this course, please meet with me outside of class so we can explore potential options. Students with disabilities may also wish to work with the Student Disability Access Center (SDAC) to discuss a range of options to removing barriers in this course, including official accommodations. We are fortunate to have an SDAC advisor, Courtney MacMasters, physically located in Engineering. You may email her at cmacmasters@virginia.edu to schedule an appointment. For general questions please visit the SDAC website. If you have already been approved for accommodations through SDAC, please send me your accommodation letter and meet with me so we can develop an implementation plan together.

    Religious accommodations
    It is the University's long-standing policy and practice to reasonably accommodate students so that they do not experience an adverse academic consequence when sincerely held religious beliefs or observances conflict with academic requirements. Students who wish to request academic accommodation for a religious observance should submit their request in writing directly to me as far in advance as possible. Students who have questions or concerns about academic accommodations for religious observance or religious beliefs may contact the University’s Office for Equal Opportunity and Civil Rights (EOCR) at UVAEOCR@virginia.edu or (434) 924-3200.

    Harassment, Discrimination, and Interpersonal Violence
    The University of Virginia is dedicated to providing a safe and equitable learning environment for all students. If you or someone you know has been affected by power-based personal violence, more information can be found on the UVA Sexual Violence website that describes reporting options and resources available.
    The same resources and options for individuals who experience sexual misconduct are available for discrimination, harassment, and retaliation. UVA prohibits discrimination and harassment based on age, color, disability, family medical or genetic information, gender identity or expression, marital status, military status, national or ethnic origin, political affiliation, pregnancy (including childbirth and related conditions), race, religion, sex, sexual orientation, or veteran status. UVA policy also prohibits retaliation for reporting such behavior.
    If you witness or are aware of someone who has experienced prohibited conduct, you are encouraged to submit a report to Just Report It or contact EOCR, the office of Equal Opportunity and Civil Rights.
    If you would prefer to disclose such conduct to a confidential resource where what you share is not reported to the University, you can turn to Counseling & Psychological Services (“CAPS”) and Women’s Center Counseling Staff and Confidential Advocates (for students of all genders).
    As your professor and as a person, know that I care about you and your well-being and stand ready to provide support and resources as I can. As a faculty member, I am a responsible employee, which means that I am required by University policy and by federal law to report certain kinds of conduct that you report to me to the University's Title IX Coordinator. The Title IX Coordinator's job is to ensure that the reporting student receives the resources and support that they need, while also determining whether further action is necessary to ensure survivor safety and the safety of the University community.

    Absences, illnesses, and career development It is in the best interest of everyone in our community to keep the spread of infectious disease to a minimum. Please stay away from class if you are sick with a communicable illness. If this results in you missing a scheduled in-class activity such as the hacking workshop or an exam, please contact the course staff (the instructor and the TA) so we can schedule an alternate time for you to complete the missed work. In case of exams, please note that an alternate make-up exam will be provided, albeit with the same level of difficulty. As for class participation, you will still receive credit as long as you -- (1) do not miss more than 6 lectures, and (2) participate in at least half of the lectures you attend.

    Support for your career development
    Engaging in your career development is an important part of your student experience. For example, presenting at a research conference, attending an interview for a job or internship, or participating in an extern/shadowing experience are not only necessary steps on your path but are also invaluable lessons in and of themselves. I wish to encourage and support you in activities related to your career development. To that end, please notify me by email as far in advance as possible to arrange for appropriate accommodations.

    Community and Identity
    The Center for Connection (The Connect) is a dedicated student space within UVA Engineering that fosters academic success and personal growth. Through its programs and initiatives, The Connect helps students strengthen their engineering identity while providing resources to help them thrive during their studies and beyond. Our work centers on three key areas: student belonging and development, academic support, and community programming grounded in intentional, data-driven strategies. The Connect features an open study area, a flexible event space, and on-site staff who provide direct support and advising to students. It is part of the Office of Community, Opportunity, and Engagement.