CS/ECE 6810: Computer Architecture

Course Information

  • Time: Mon/Wed 11:50AM - 01:10PM
  • Location: WEB L103
  • Instructor: Mahdi Nazm Bojnordi, email: lastname@cs.utah.edu, office hours: email me for appoitment, MEB 3418
  • Teaching Assistants: Payal Guha Nandy, email: payalgn@cs.utah.edu, office hours: Thu 12:00 - 02:00PM, MEB 3115 (TA Lab.); Yomi Karthik Rupesh, email: yomikarthik@gmail.com, office hours: Tue 11:30AM - 01:30PM, MEB 3115 (TA Lab.)
  • Pre-Requisite: CS 3810 or equivalent
  • Textbook: Computer Architecture A Quantitative Approach - 5th Edition, John Hennessy and David Patterson
  • Canvas is the main venue for class announcements, homework assignments, and discussions.

Important Policies

Please refer to the College of Engineering Guidelines for disabilities, add, drop, appeals, etc. Notice that we have zero tolerance for cheating; as a result, please read the Policy Statement on Academic Misconduct, carefully. Also, you should be aware of the SoC Policies and 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, group projects, 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.

Grading

The following items will be considered for evaluating the performance of students.

Fraction Notes
Homework Assignments 40% as scheduled below
Midterm Exam 30% in-class, Mon., March 5th
Final Exam 30% 10:30AM - 12:30PM, Thu., April 26th

Homework Assignments

Homework assignments will be released on Canvas; all submissions must be made through Canvas. Only those submissions made before midnight will be accepted. Any late submission will be considered as no submission.

Release Date Submission Deadline
Homework 1 Jan. 17th Jan. 30th
Homework 2 Jan. 31st Feb. 13th
Homework 3 Feb. 14th Feb. 25th
Homework 4 Mar. 14th Mar. 27th
Homework 5 Mar. 28th Apr. 10th
Homework 6 Apr. 11th Apr. 18th

Class Schedule (subject to change)

The following is a tentative class schedule that may be updated on a week-by-week basis during the course semester.

Date Lecture Required Reading Recommended Reading Assignment Release
01/08 Logistics and Introduction Sections 1.1-1.4 Moore, "Cramming more components onto integrated circuits," Electronics Magazine, 1965.
01/10 Performance Metrics Sections 1.4-1.9
01/17 Instruction Set Architecture Appendix A Charles Price, "MIPS IV Instruction Set," MIPS Technologies, Inc., 1995 Homework 1
01/22 Pipelining: Introduction Appendix C.1
01/24 Pipelining: Hazards Appendix C.2
01/29 Pipelining: Branch and Multicycle Instructions Appendix C.4-C.5
01/31 ILP: Introduction Section 3.1 Homework 2
02/05 ILP: Compiler-based Techniques Section 3.2 Nicolau and Fisher, "Measuring the Parallelism Available for Very Long Instruction Word Architectures," IEEE Transactions on Computers, 1984
02/07 ILP: Control Flow Section 3.3
02/12 Branch Predictors Section 3.3
02/14 Dynamic Scheduling Section 3.4 Sodani and Sohi, "Dynamic Instruction Reuse," International Symposium on Computer Architecture, 1997 Homework 3
02/21 Out-of-Order Execution Section 3.5 Sohi, "Instruction Issue Logic for High-Performance, Interruptible, Multiple Functional Unit, Pipelined Computers," IEEE Transactions on Computers, 1990
02/26 Hardware-Based Speculation Sections 3.6-3.9
02/28 Load-Store Queue Sections 3.10-3.12
03/05 Mid-Term Exam
03/07 Memory Hierarchy Design Appendix B
03/12 Cache Architecture Appendix B Wilkes, "Slave Memories and Dynamic Storage Allocation," IEEE Transactions on Electronic Computers, 1965
03/14 Cache Optimization Sections 2.1-2.3 Akanksha Jain and Calvin Lin, "Back to the Future: Leveraging Belady's Algorithm for Improved Cache Replacement," International Symposium on Computer Architecture, 2016
03/19 Spring Break
03/21 Spring Break
03/26 Address Translation and TLB Section 2.5
03/28 Main Memory System Section 2.5 Homework 5
04/02 DRAM Controller Sections 4.1-4.3
04/04 Advanced Memory Controllers Sections 4.1-4.3 Mahdi Nazm Bojnordi and Engin Ipek. "PARDIS: A Programmable Memory Controller for the DDRx Interfacing Standards," International Symposium on Computer Architecture, 2012
04/09 Data-Level Parallelism Sections 4.1-4.3
04/11 Graphics Processing Units Section 4.4 Homework 6
04/16 Thread-Level Parallelism Sections 5.1-5.2 Tullsen et al., "Exploiting choice: instruction fetch and issue on an implementable simultaneous multithreading processor," International Symposium on Computer Architecture, 1996
04/18 Parallel Memory Architecture Sections 5.3-5.4
04/23 Shared Memory Systems Section 5.6 Sarita Adve and Kourosh Gharachorloo "Shared memory consistency models: A tutorial," Computer 29.12, pp. 66-76, 1995