CS 161 Design and Architecture of Computer Systems, Spring 2021


Time: Monday, Wednesday, and Friday 8:00 - 8:50 AM

Instructor: Elaheh Sadredini, Email: elaheh@cs.ucr.edu
Instructor office hours: Friday 9:00-10:00 AM or by appointment

TA: Jason Zellmer, Email: jzell001@ucr.edu
TA office hours: Wednesday, 9:00 - 11:00 AM
Discussion sessions: Tuesday 12:00 - 12:50 PM, Tuesday 1:00 - 1:50 PM



Important links to access class, office hours, and discussion sessions: Link to Canvas

Discussion Forum on Piazza, Find the Access-code here.



Course Overview

This course will provide an introduction to the design of computer archtiecture. It covers the technical foundation of how a computing platform is designed, how software and hardware interact, and how hardware makes programs execute faster.

Learning objectives:
- Understand the functionality and operation of the basic elements of a computer system including processor, memory and input/output
- Reason about first-order performance
- Understand the hardware/software interface


Course Prerequisite(s)

CS 120A / EE 120A


Textbook and Reading Material

The textbook and reading material are optional, and may be helpful supplement to the material covered in the lectures and assignments.
- Patterson & Hennessy, Computer Organization and Design: The Hardware/Software Interface, 5th Edition
- Reading material will be available on the course website


Discussion Forum

We will be using Piazza as our class forum, and our primary way of communication outside of class. All general inquiries must be made on Piazza. For group-specific questions or private questions, you can either email me or post a private question on Piazza.

Grading and Policies

Grading Breakdown

- Homework assignments: 25% (HW0: 1%, HW2-Hw9: each 4%, two homeworks with lowest scores will be dropped)
- Mini Exams (throughout the course): 75% (HW1-HW8: each 12.5%, two mini-exams with lowest scores will be dropped)
- Bonus points for in-class activities: 5%



Class Policies

Late submission: We do not accept any late submission for assignments and mini exams. You are allowed to skip two of the assignments and two of the mini exams with no penalty. Use these freebies prudently. If you choose to submit all the assignments or all the mini exams, the two lowest scores of the assignments and mini exams will be dropped.

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. You may not copy from another student or from any other source, and you may not allow another student to copy your work. Exams should be done individually and no collaboration in any form with others are permitted. Any violation of the above is considered to be cheating and will result in a failing grade in the class (no exceptions).

Errors in grading: If you feel there has been an error in how an assignment or test was graded, you have one week from when the assignment is returned to bring it to our attention. You must submit (via email to the instructor and the TA) a written description of the problem. Neither I nor the TAs will discuss regrades without receiving an email from you about it first.

Solutions: The solutions to the homework assignments and exams will be discussed in the discussion sessions.

Grades: Your score will be available on Canvas.



Grading Scale

A+: 96 and above
A: 93-95.9
A-: 90-92.9
B+: 87-89.9
B: 83-86.9
B-: 80-82.9
C+: 77-79.9
C: 73-76.9
C-: 70-72.9
D+: 67-69.9
D: 63-66.9
D-: 60-62.9
F: Below 60



Academic Integrity

Here at UCR we are committed to upholding and promoting the values of the Tartan Soul: Integrity, Accountability, Excellence, and Respect. As a student in this class, it is your responsibility to act in accordance with these values by completing all assignments in the manner described, and by informing the instructor of suspected acts of academic misconduct by your peers. By doing so, you will not only affirm your own integrity, but also the integrity of the intellectual work of this University, and the degree which it represents. Should you choose to commit academic misconduct in this class, you will be held accountable according to the policies set forth by the University, and will incur appropriate consequences both in this class and from Student Conduct and Academic Integrity Programs. For more information regarding University policy and its enforcement, please visit: http://conduct.ucr.edu.



Student Resources

◆ If you need special accomodation, please either contact me or find more information here: "UCR campus resources"

Course Schedule

The following schedule is tentative and is subject to change.


Week Date Topic Slides Recording Reading Assignments Mini Exams
1 March 29

March 31

April 2
Introduction and Basics

Fundamental Concepts

Fundamental Concepts








Chapter 1



HW0 Release



HW0 Due (11:59pm)




2 April 5

April 7

April 9
ISA 1

ISA 1

ISA 1








Chapter 2

Chapter 2

Chapter 2




HW1 Release




3 April 12

April 14

April 16
ISA 2

ISA 2

ISA 2








Chapter 2

Chapter 2

Chapter 2




HW1 Due (11:59pm), HW2 Release




4 April 19

April 21

April 23
ISA 2

Arithmetic

Logic








Chapter 2

Chapter 3

Chapter 4.1-4.2




HW2 Due (11:59pm), HW3 Release
Mini Exam #1,
Release: Apr 21, 6pm
Due: Apr 22, 6pm
5 April 26

April 28

April 30
Processor Control and Datapath

Processor Control and Datapath

Processor Control and Datapath








Chapter 4.3







HW3 Due (11:59pm), HW4 Release
Mini Exam #2,
Release: Apr 28, 6pm
Due: Apr 29, 6pm
6 May 3

May 5

May 7
Processor Pipelining

Processor Pipelining

Processor Pipelining








Chapter 4.4-4.6







HW4 Due (11:59pm), HW5 Release
Mini Exam #3,
Release: May 5, 6pm
Due: May 6, 6pm
7 May 10

May 12

May 14
Processor Pipelining

Pipeline Hazards

Pipeline Hazards










Chapter 4.7-4.9

Chapter 4.7-4.9




HW5 Due (11:59pm), HW6 Release
Mini Exam #4,
Release: May 12, 6pm
Due: May 13, 6pm
8 May 17

May 19

May 21
Caches

Caches

Caches








Chapter 5.3,5.4







HW6 Due (11:59pm), HW7 Release
Mini Exam #5,
Release: May 19, 6pm
Due: May 20, 6pm
9 May 24

May 26

May 28
Caches

Virtual Memory

Virtual Memory










Chapter 5.7

Chapter 5.7




HW7 Due (11:59pm), HW8 Release
Mini Exam #6,
Release: May 26, 6pm
Due: May 27, 6pm
10 May 31

Jun 2

Jun 4
Holiday - No Class

Virtual Memory

Virtual Memory
















HW8 Due (11:59pm)
Mini Exam #7,
Release: Jun 2, 6pm
Due: Jun 3, 6pm
11























Mini Exam #8,
Release: Jun 9, 6pm
Due: Jun 10, 6pm