Spring 2023: CS/ECE 3810 Computer Organization

General Information:

Covid Guidelines:

Please see the University's guidelines for Covid precautions. In particular, I'd like to emphasize the following: (i) You are all encouraged to get vaccinated, wear masks, and social distance when appropriate. Such practices will keep you and your fellow students safe, and minimize Covid-related disruptions. (ii) Please stay home if you're unwell (you can watch compressed lecture videos to catch up). Please get tested and follow the protocol if you receive a positive Covid test. (iii) Please don't hesitate to reach out to me in case of any problems or if you need any accommodations.

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

SafeU Information

The University of Utah values the safety of all campus community members. To report suspicious activity or to request a courtesy escort, call campus police at 801-585-COPS (801-585-2677). You will receive important emergency alerts and safety messages regarding campus safety via text message. For more information regarding safety and to view available training resources, including helpful videos, visit SAFEU.

Special Needs:

The University of Utah seeks to provide equal access to its programs, services and activities for people with disabilities. If you will need accommodations in the class, reasonable prior notice needs to be given to the Center for Disability Services, 162 Olpin Union Building, 581-5020 (V/TDD). CDS will work with you and the instructor to make arrangements for accommodations. All written information in this course can be made available in alternative format with prior notification to the Center for Disability Services.


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. The exams will be open-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 in 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 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 as a pdf file on Canvas. 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. 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.

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