Spring 2023: CS/ECE 3810 Computer Organization
General Information:
- Venue: WEB L104
- Time: Tuesday, Thursday 9:10am-10:30am
- Instructor: Rajeev Balasubramonian, email: rajeev@cs.utah.edu, MEB 3414, office hours: Tue/Thu 10:30 - 11:30am or by appointment
- Pre-Requisite: knowledge of structured programming languages such as C/Java
- TAs (email/office hours):
Nikhil Kala (u1319777@utah.edu / Mon 3-5pm)
Sharad Bhat (u1418984@utah.edu / Tue 12-2pm)
Sydney Andrus (u1429280@utah.edu / Wed 11am-1pm)
Pupul Pradhan (u1319905@utah.edu / Wed 2-4pm, but not available 1/18)
Aditya Gattu (u1418754@utah.edu / Thu 2-4pm)
Alex Richins (u1208522@utah.edu / Fri 10am-12pm)
Lin Jia (u1091732@utah.edu / Fri 12-2pm)
Please use the TA Queue to get in line during TA office hours, which will be held in the CADE Lab.
- Textbook (optional): Computer Organization and Design -- The Hardware/Software Interface -- 5th or 6th Edition, David Patterson and John Hennessy.
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.
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.
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.
Grading:
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).
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 |
|
|