Spring 2024: CS/ECE 3810 Computer Organization

General Information:

School of Computing Guidelines

Class rosters are provided to the instructor with the student's legal name as well as "Preferred first name" (if previously entered by you in the Student Profile section of your CIS account). While CIS refers to this as merely a preference, I will honor you by referring to you with the name and pronoun that feels best for you in class, on papers, exams, etc. Please advise me of any name or pronoun changes (and please update CIS) so I can help create a learning environment in which you, your name, and your pronoun will be respected.

College Guidelines

The link above contains details on Appeals, Add/Drop/Withdrawals/Repeats, ADA Accommodations, and Safety.


The following is a tentative guideline and may undergo changes. Your total score for the semester will be a weighted sum of your midterm exam (30%), final exam (40%), and homeworks (30%). Your class rank (on the total score) will determine your final letter grade. Typically, the top 32% of students in the class receive A or A-, the next 40% of students receive B+, B, or B-, the next 15% of students receive C+, C, or C-. About 13% of students receive grades of D+ and lower. The exams will allow a single sheet of notes. There will be approximately 10 assignments. We have zero tolerance for cheating. TAs will be on the lookout for solution sets that appear very similar. Further, if your class rank in the assignments is significantly different from your class rank in the exams, only your rank in the exams will count towards your grade. We know you're juggling multiple activities and the assignment deadline may not always be favorable. I also anticipate students may be affected by illnesses, weddings, and travel within their immediate family. You are therefore allowed to skip two assignments -- use these freebies prudently. To be fair to the rest of the class, no exceptions to the above rule will be made. Late submissions will not be graded.

Cheating policy:

Working with others on assignments is a good way to learn the material and is encouraged. However, there are limits to the degree of cooperation that is permitted. Students may discuss among themselves the meaning of homework problems and possible approaches to solving them. Any written portion of an assignment, however, is to be done strictly on an individual basis. Note the Kahlert School of Computing's Academic Misconduct Policy. BOTTOM LINE: You may not copy from another student or from any other source, and you may not allow another student to copy your work!! Any violation of the above is considered to be cheating and will result in a reduced or a failing grade in the class. TAs will be on the lookout for solution sets that appear very similar. Also, if your class rank in the assignments is significantly different from your class rank in the exams, only your rank in the exams will count towards your final grade.

Homework Assignments:

Assignments will be posted here (almost) weekly. The schedule of assignments below is tentative. The deadline for assignments will typically be the start of class on Tuesday or Thursday. In all cases, you will turn in responses on Gradescope. All assignments will have an automatic 1.5 day penalty-free extension; beyond that, you will not be able to upload your submissions. There will be roughly 10 assignments, of which you are allowed to skip two (in other words, we will drop the lowest two scores among your 10 assignments).

Best Practices

YouTube screencasts for every lecture have already been posted below. Some of you may learn better by watching these videos before the lecture; others may prefer to watch videos after the lecture. Both approaches are fine -- you may want to try them both to see which works better. Most students additionally watch the videos to prepare for homeworks and exams. The (optional) textbook is a fun read, but can be verbose and detail-oriented at times. You may want to read relevant sections after the lecture/videos to consolidate your understanding of the concepts. I will not be recording in-class lectures. If you happen to miss the in-class lecture, I recommend watching the YouTube videos to catch up.

I will use Canvas regularly for various class announcements. Please feel free to use Canvas discussion forums to get your doubts clarified. Note that homework uploads will be on Gradescope.

The following lecture schedule is tentative. Updated lecture slides will be posted on the evening/morning before the lecture. If you like taking notes on paper, your best bet is to print the slides just before class (preferably, 4/6 slides per page so we save some trees).

Video Playlist on YouTube

Nicer playlist created by a 3810 student

Class Schedule

Date Lecture Topic Slides Reading Videos Assignment Due
Tue, Jan 9 Introduction to Computer Organization. ppt ; pdf Chapt 1 1 ; 2  
Thu, Jan 11 Measuring Performance. ppt ; pdf Chapt 1 3 ; 4  
Tue, Jan 16 Performance, Power, MIPS ISA intro. ppt ; pdf Chapt 2 5 ; 6 ; 7  
Thu, Jan 18 More MIPS ISA. ppt ; pdf Chapt 2 8 ; 9 ; 10 Homework 1
Tue, Jan 23 Control Instructions, Procedures. ppt ; pdf Chapt 2; Notes 11 ; 12  
Thu, Jan 25 Assembly Programs. ppt ; pdf Chapt 2, App A 13 ; 14  
Tue, Jan 30 Examples, MARS. ppt ; pdf Chapt 2, App A. MARS notes 15 ; 16 ; 17 Homework 2
Thu, Feb 1 Number Systems. ppt ; pdf Chapt 3. 18 ; 19 ; 20  
Tue, Feb 6 Addition, Multiplication, Division. ppt ; pdf Chapt 3 21 ; 22 ; 23 ; 24 ; 25 ; 26 Homework 3
Thu, Feb 8 Floating Point Representations & Operations. ppt ; pdf Chapt 3 27 ; 28  
Tue, Feb 13 Floating Point, Digital Design. ppt ; pdf Chapt 3, App B 29 ; 30 ; 31 ; 32  
Thu, Feb 15 Hardware for Arithmetic. ppt ; pdf App B 33 ; 34 ; 35 Homework 4
Tue, Feb 20 Adders, Sequential Circuits. ppt ; pdf App B 36 ; 37 ; 38 ; 39  
Thu, Feb 22 Sequential Circuits, FSMs. ppt ; pdf App B Notes 40 ; 41 ; 42 ; 43 Homework 5
Tue, Feb 27 CPU Organization and Design. ppt ; pdf Chapt 4 44 ; 45 ; 46  
Thu, Feb 29 Pipelining. ppt ; pdf Chapt 4 47 ; 48 ; 49 Homework 6
Tue, Mar 5 SPRING BREAK        
Thu, Mar 7 SPRING BREAK        
Tue, Mar 12 Review Session. ppt ; pdf      
Thu, Mar 14 Mid-term Exam   Chapt 1-3, App A, App B, lectures    
Tue, Mar 19 Pipelining Hazards. ppt ; pdf Chapt 4; Notes 50 ; 51 ; 52  
Thu, Mar 21 Data Hazard Examples. ppt ; pdf Chapt 4 53 ; 54 ; 55  
Tue, Mar 26 Control Hazards. ppt ; pdf Chapt 4 56 ; 57 ; 58 ; 59 Homework 7
Thu, Mar 28 Branch Predictors. ppt ; pdf Chapt 5; Notes 60 ; 61 ; 62 ; 63  
Tue, Apr 2 Out-of-Order, Cache Hierarchies. ppt ; pdf Chapt 5 64 ; 65 ; 66 ; 67 Homework 8
Thu, Apr 4 Cache examples. ppt ; pdf Chapt 5 68 ; 69  
Tue, Apr 9 Caching, Memory systems. ppt ; pdf Chapt 5 70  
Thu, Apr 11 Security, Virtual Memory. ppt ; pdf Chapt 5; Notes Meltdown ; Spectre ; 71 ; 72 Homework 9
Tue, Apr 16 Multiprocessors. ppt ; pdf Chapt 6 73 ; 74 ; 75 ; 76 ; 77 ; 78 ; 79  
Thu, Apr 18 Programming models, SMT, GPUs, accelerators, reliability. ppt ; pdf   80 ; 81 Homework 10
Tue, Apr 23 Review Session ppt ; pdf Comprehensive    
Wed, May 1, 10:30am - 12:30pm Final Exam   Comprehensive