Computer Architecture

Taught with Charles Reiss PhD 

Gradebook Viewer: [GradeBook]            Quiz Tool:  [List of Quizzes]
Submission Tool :[Submit]                         The hclrs README

All Quizzes due Before Lecture,  All Homework due 11:59pm on Tuesday
All Labs due  11:59pm on Wednesday
The schedule is tentative. (It is only valid 2 weeks in advance)

Lecture Topic Slides Assignment / Labs Video
08/27/19 Intro & Compilation Pipeline —
2PM (browser | webm | audio); 3:30PM (browser | webm | audio)
Reading: Chapter 1
[PDF] Lab 1: Getting C
Due: 08/28/19 (Wed)
08/29/19 Brief Assembly Refresher
Reading: 3.4.1, 3.5.1, 3.6.1-3, Figure 3.2, 3.3
[PDF]   [Video]
09/03/19 C & Bitwise Operations
2PM (browser | webm | audio); 3:30PM (browser | webm | audio)
Reading:  2.1.6-7, 2.1.9 & 3.6.5, 3.6.7;
[PDF] Quiz: 1  Due: 09/03/19 (Tues)
Lab 2: Bomb Due: 09/04/19 (Wed)
09/05/19 Bitwise con’t & ISAs
2PM (browser | webm | audio);
Reading: Section 4-4.1
[PDF]   [Video]
09/10/19 ISAs, Y86-64, Single Cycle Processor I
Reading:  4.2.2-3, 4.2.5, 4.3-4.3.2
[PDF] Quiz: 2  Due: 09/10/19 (Tues)
Lab 3 Bits:  Due: 09/11/19 (Wed)
HW: Bomb   Due: 09/10/19 (Tues)
09/12/19 Single Cycle Processor II
Reading: Section 4.2.* , 4.3.3 HCLRS writeup
[PDF]   [Video]
09/17/19 Single Cycle Processor III
2PM (browser | webm | audio);
Reading: 4.3.3-4.3.4
[PDF] Quiz: 3  Due: 09/17/19 (Tues)
HW Bits: Due: 09/17/19 (Tues)
Lab 4: HCL I    Due: 09/18/19 (Wed)
09/19/19 Single Cycle processor IV / Pipelined Processor I
2PM (browser | webm | audio); 3:30PM (browser | webm | audio)
Reading: 4.3.3-4.3.4, 4.4-4.4.3
[PDF]   [Video]
09/24/19 Midterm I Review
[2pm (or as webm)]
[3:30pm (or as webm)]
  Past Exams: [Exams]
Review notes [2pm] [3:30pm+drawing]
09/26/19 Midterm      
10/01/19 Pipelined Processor II
Reading: 4.4-4.4.4, 4.5.1-4.5.3
[PDF] Quiz: 4  Due: 10/01/19 (Tues)
HW: HCL II  Due: 10/01/19 (Tues)
Lab 5: HCL III  Due: 10/02/19(Wed)
10/03/19 Pipelined Processor III
Reading: 4.5.4-5
[2pm (or as webm)]
[3:30pm (or as webm)]
[PDF]   [Video]
10/08/19 Reading Day      
10/10/19 Pipelined Processor IV & Cache I
Reading: 4.5.8, 6.2-3
[PDF]   [Video]
Drop Deadline
Cache II
Reading: 6.4-6.4.4
[PDF] Quiz: 5  Due: 10/15/19 (Tues)
HW: HCL IV Due: 10/15/19 (Tues)
Lab: 6 Pipe I   Due: 10/16/19 (Wed)
10/17/19 Cache III
Reading: 6.4.5-7, 6.5
[2pm (or as webm)]
[3:30pm (or as webm)
[PDF]   [Video]
10/22/19 Cache performance
Reading: 6.6.2
[PDF] Quiz: 6  Due: 10/22/19 (Tues)
HW: Pipe I Due: 10/22/19 (Tues)
Lab7 : Pipe II  Due: 10/23/19 (Wed)
10/24/19 Optimization I
Reading: 5.2, 5.7-5.8
[2pm (or as webm)]
[3:30pm (or as webm)
[PDF]   [Video]
10/29/19 Optimization II
Reading: 5.1-3, 5.4-6, 5.8
[2pm (or as webm)]
[3:30pm (or as webm)]
[PDF] Quiz: 7 Due: 10/29/19 (Tues)
Lab: 8 Cache  Due: 10/30/19 (Wed)
10/31/19 Midterm II Review
[2pm (or as webm)]
[3:30pm (or as webm)]
CR Review notes: [2pm] [3:30pm] [Video]
11/05/19 Midterm II   Past Exams: [Exams]  
11/07/19 Optimizations III
Reading: page 546 aside ‘SIMD’,  5.14.1,
[PDF]   [Video]
11/12/19 Exceptions
Reading: 8-8.3
[PDF] Quiz: 8 Due: 11/12/19 (Tues)
HW: Pipe II Due: 11/12/19 (Tues)
Lab: 9   Due: 11/13/19 (Wed)
11/14/19 Virtual Memory I
Reading: 9.1-9.3.3
[tentative PDF]    
11/19/19 Virtual Memory II
Reading: 9.6.3
DG Quiz: 9 Due: 11/19/19 (Tues)
HW: Rotate   Due: 11/19/19 (Tues)
HW: Smooth I Due: 11/19/19 (Tues)
Lab: 10  Due: 11/20/19 (Weds)
11/21/19 Virtual Memory III
Reading: 9.6-9.6.1, 9.3.4-9.3.6, 9.4-5
11/26/19 Virtual Memory IV
Reading: 9.6.2, 9.6.4, 9.7
DG Quiz: 10 Due: 11/26/19 (Tues)
HW: Smooth II  Due: 11/26/19 (Tues)
11/28/19 Thanksgiving break      
12/03/19 Processor Optimizations CR Quiz: 11 Due: 12/03/19 (Tues)
HW Mem HW 
12/05/19 Exam Review DG/CR Past Exams: [Exams]  
12/13/19 Final Exam 7pm      

You will need

  • A copy of Bryant & O’Halleron’s Computer Systems: a Programmer’s Perspective, third edition. The changes to chapters 3, 4, and 5 make the 2nd edition strongly discouraged. The first edition will not work.
  • To be able to come to every lab.
  • Time.

    The intent is to meet policy PROV-022, which provides a minimum standard of 1 credit ≥ 3 hours of academic work per week for 15 weeks. We target a level of work where the median student will spend approximately the following each week:

    • 2.5 hours lecture
    • 1.25 hours lab
    • 3 hours reading and online open-book quizzes
    • 2.25 hours homework in weeks with homework; in other weeks, this time will be expected to be spent reading and otherwise studying.

    We encourage you to set aside this time on your weekly calendar in advance.

Office Hours

  • Professor Reiss’s office hours are in his office (Rice 205)
  • Other office hour locations are indicated on the schedule below or, if not indicated, are in Thorton Stacks.
  • Busy office hours in Thorton Stacks may use this office hour queue.

All professor office hours are open, meaning we will not close the door and have a private conversation during office hours. If you have sensitive matters to discuss, please email your professor to set up a separate time to visit about them.

Find Grades

This course has its own gradebook page where feedback on labs and homework can be found.
Quiz grades can be seen on the quiz page.

Grading Policy

Grading is one of the aspects of a course that instructors enjoy even less than students. Still, we are stuck with them, so here goes.

Portion of course Percentage of Final Grade
Quizzes 10%
Exam 1 15%
Exam 2 15%
Final Exam 20%
Homework + Labs 40%

Your final grade is computed based on the percentage of points you have earned and is designed to match the GPA value of each letter.
For some reason, that is not a linear scale: for example, A-B+ = 0.4-grade points while B+B = 0.3 grade points.
For some even more obscure reason, the most common grading scale I have seen is also not linear but differently spaced than the grade points.

You get if you score Which is worth
A+ near the top 4.0
A ≥ 93% 4.0
A− ≥ 90% 3.7
B+ ≥ 86% 3.3
B ≥ 83% 3.0
B− ≥ 80% 2.7
C+ ≥ 76% 2.3
C ≥ 73% 2.0
C− ≥ 70% 1.7
D+ ≥ 66% 1.3
D ≥ 63% 1.0
D− ≥ 60% 0.7
F otherwise

We do not round grades. 92.99% is not ≥ 93% and is thus an A−, not an A.

We do not curve grades: if you all fail, you all fail; if you all ace, you all ace.
However, rubrics for assignments are not linear: instead, we determine how well we expect a passing student to perform and assign a per-assignment rubric to match.
This is common practice for homework in CS; it is less common for exams.
Our exams might feel unusually difficult as a consequence.

Late homework submissions will receive a 10% penalty up to 48 hours late, and a 15% penalty up to 72 hours late, and will not be accepted past that time.
Late quizzes will not be accepted, but approximately 10% of quiz scores (probably two quizzes) will be dropped.
Late labs will usually not be accepted.
Exams makeups will be handled case-by-case as needed.

Academic Honesty

We expect all homework and quizzes to be completed individually except for some homework which we explicitly allow to be done with partners. You may not share code or consult assignment solutions from previous semesters. You may not share quiz questions before the quiz deadline. You are encouraged, however, to discuss the assignments in general and provide advice to other students that does not amount to sharing code, pseudocode, or instructions that otherwise essentially solve the assignment. We may use automated tools to look for similarities between homework submissions that suggest an excessive collaboration.

Labs may be done collaboratively, including sharing code. Your lab submissions should indicate who you worked with.

Quizzes are open-book and open-notes. Exams are closed-book, closed-notes, and administered in-class time.

Your submissions for labs and homework should not make extensive use of code found online. Incidental use (utility code that does not solve a significant part of any of the objectives of the assignment) is okay, but must be clearly cited. If you are unsure whether something would qualify as “incidental”, please consult the course staff first.

If we believe you have created, we may apply an arbitrarily harsh grade penalty up to and including an F in the course.
This penalty is independent of (and potentially in addition to) any findings of the University Honor System.



I trust every student in this course to fully comply with all of the provisions of the University’s Honor Code. By enrolling in this course, you have agreed to abide by and uphold the Honor System of the University of Virginia, as well as the following policies specific to this course.

· All graded assignments must be pledged.

· All suspected violations will be forwarded to the Honor Committee, and you may, at my discretion, receive an immediate zero on that assignment 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 at Your Honor representatives can be found at: Additionally, [Support Officer, if any enrolled], an Honor support officer enrolled in this class, is also available for questions.