CSE142: Computer Architecture: Software Perspective (2024 Summer Session II)

In-person Lecture: MTuWTh 2:00p – 3:20p @ PCYNH 121
Youtube Channel: https://www.youtube.com/profusagi
Discussion session: F 1p-2:50p @ PCYNH 121

Schedule and SlidesAssignmentsLogisticsCurrent Grade

Instructor

Hung-Wei Tseng
email: htseng @ ucsd.edu
Office Hours: WTh 3:30p-4:30p @ CSE 2138
Online Office Hour: Th 9:30p-10:30p @ Zoom Office Hour Link (in Google Calendar)

Teaching Assistant & Tutors

Fucheng Shang, Peeyush Jha, Will Luo, Jian Chen Yan
email: cse142_su24 @ escalab.org
Office Hours: Please check the calendar

Other important links

Quizzes, Assignments: Gradescope
Discussion Forum on Piazza: https://piazza.com/ucsd/summer2024/cse142_s224_a00/home
YouTube Channel: https://www.youtube.com/profusagi
Check grades: https://www.escalab.org/my_grades/

Course Overview

This course will describe the basics of modern processor operation. Topics include computer system performance, instruction set architectures, pipelining, branch prediction, memory-hierarchy design, and a brief introduction to multiprocessor architecture issues. This course is taught in tandem with CSE142L: Software Projects of Computer Architecture (2024 Summer Session II). Unless you have discussed it with you me, you should be in enrolled in both.

Text books

Required:

Grading

  • Course Agreement
    • Please review and complete the course agreement before you start working on the class. Any effort made prior to the course agreement does not count toward your final grade.
  • Assignments 25%
    • Assignments will be assigned throughout the course. We will drop your lowest one.
    • You’re strongly encouraged to watch this video before you start
    • Our assignments will be based on Jupyterhub/Jupyter notebooks — everyone is supposed to have a unique turnin. There is no group submission or collaboration allowed.
    • There is no regrading on assignments except for obvious grading errors. Please make sure your answers are clearly comprehensible to our grading staffs and follow the guideline of answering assignment questions.
    • Peer instruction/Participation
      • This class uses “peer instruction” as our teaching method
      • To encourage your participation in peer instructions, we count your participation in peer instructions throughout the summer session as one assignment.
      • If you opt out from peer instructions, this one will become the one that is dropped from your assignments.
      • To participate in peer instructions, we require each of you to download poll everywhere App or navigate/login to their website during the class if you would like to earn credits from participating in peer instructions.
      • You must login with @ucsd.edu account. If you didn’t do it right, you won’t get credits.
      • You need to answer 50% of the poll questions to receive full credits on peer instructions.
  • Reading Quizzes 15%
    • We will have reading quizzes on GradeScope
    • Only one shot, but time unlimited. We will drop your lowest two quizzes as well.
  • Midterm 25%
  • Final 35%
    The final will be cumulative.
  • Additional notes about grades in this course
    • Your score will be available https://www.escalab.org/my_grades/. Your final grade is the weighted average of these grades.
      We do our best to record grades accurately, but you should double-check.
    • Late submission: We do not accept any late submission, including quiz, assignments, projects.
    • Errors in grading: If you feel there has been an error in how an assignment or test was graded, you have 3 days from when the assignment is return to bring it to our attention. You must submit (via email to the instructor and the appropriate TAs) a written description of the problem through gradescope. Neither I nor the TAs will discuss regrades without receiving a gradescope request from you about it first.
    • For midterm and final: We do not regrade on a single problem. We will re-grade your whole test. The 3-day regrading window still applies.
    • Final grades: If you have a problem with your final grade in the course, send me email and we can set up an appointment to discuss it.

Schedule and Slides


Topic Reading Slides
(Preview)
Slides (Release) Due Note
08/05/2024Introduction: the Big Picture of ComputersP&H 1.1-1.5, 2.1 – 2.5, 2.12, 2.14, 2.17, 2.18, 2.19, 2.20, 2.21
(1) Introduction to CSE142

Demo: Myths of Computer Architectures

Assignment #1 Released

How to start working on an assignment
08/06/2024Performance: What does “Perfect” mean?P&H 1.6
x86-64 Machine-Level Programming
Performance
(Preview)
(2) Performance (1): What’s perfect?

Demo: Is FLOP a good metric?
Reading quiz for P&H 1.6
due before class

08/07/2024Performance (II): What can make things perfect?(3) Performance (2): What can makes things perfect?

Demo: How programmers/PL/compilers changes CPI

08/08/2024Performance (III): Amdahl’s Law and its implicationsB&O 1.9.1(4) Performance (3): What’s the right thing to do?

Demo: Amdahl’s Law has a moving target
Reading quiz for B&O 1.9.1 due before class

Assignment #1 due 8/10 midnight

08/12/2024Memory Hierarchy (I): Inside Out of Memory HierarchyO&B 6.2, 6.3Memory Hierarchy
(Preview)
(5) Memory Hierarchy (1): Inside Out Our Memory Hierarchy

Demo: Localities
Reading quiz for O&B 6.2, 6.3, 6.4Assignment #2 released
08/13/2024Memory Hierarchy (II)O&B 6.4(6) Memory Hierarchy (2): The A, B, Cs of our caches

Demo: Partition the address
08/14/2024Memory Hierarchy (III)(7) Memory Hierarchy (3): Cache misses and how to address them

Demo: Cache miss rate on NVIDIA Tegra and Intel Core i7

Demo: Data Layout, Loop Structure and Performance
Reading quiz for O&B 6.5, 9.1, 9.2, 9.3, 9.6
08/15/2024Memory Hierarchy (IV)O&B 6.5Matrix Tiling (Preview)

Virtual Memory (Preview)
(8) Memory (4): Cache misses and how to address them (2)

Demo: Matrix Tiling and Prefetching
Assignment #2 due 8/17 midnight
08/19/2024MidtermAssignment #3 Released
08/20/2024Virtual MemoryO&B , 9.1, 9.2, 9.3, 9.6Virtual Memory (Preview)(9) Virtual Memory: Just an Illusion

Demo: virtual memory
08/21/2024Modern Processor Design (I)O&B 4.4, 4.5, P&H 4.6Basic Processor Design (Preview)(10) Basics of Modern Processors: In the pipeline

Demo: why is bitwise not faster?
Reading quiz for O&B 4.4 & 4.5 and P&H 4.6 & 4.9
08/22/2024Modern Processor Design (II)P&H 4.9 Branch Prediction (Preview)(11) Branch Predictions: I guess I just feel like

Demo: Branch Predictor
Assignment #3 due 8/24 midnight
08/26/2024Modern Processor Design (III)O&B 5.7, P&H 4.11Data hazards, data forwarding, super scalar, dynamic execution (preview)(12) Data Hazards: Whenever you’re ready

Demo: Loop Unrolling
Reading quiz for O&B 5.7, P&H 4.11

Assignment #4 released

08/27/2024Modern Processor Design (IV)OoO & SuperScalar (Preview)(13) Dynamic OoO Execution: Try everything

Demo: Linked List

08/28/2024Programming on Modern ProcessorsP&H 6.1-6.5Programming on Modern Processors (Preview)(14) Programming on Modern Processors

Demo: Linked List

Demo: Popcount
Reading quiz for P&H 5.10. 6.1-6.5 & O&B 12.1 & 12.3
08/29/2024Parallel architectures and parallel programming (I)O&B 12.1 & 12.3Parallel Architectures & Parallel Programming (Preview)(15) Parallel Architectures and Parallel Programming (1)

Demo: Cache Coherence
Assignment #4 due 8/31 midnight
Assignment #5 released
09/02/2024Labor Day
09/03/2024Parallel architectures and parallel programming (II)P&H 6.6(16) Parallel Programming (2) and the Dark Silicon problem

Demo: Cache coherence, false sharing, and consistency
Reading quiz for P&H 6.6-6.7
09/04/2024Dark silicon and the future of parallel, domain-specific architecturesP&H 6.7New Golden Age of Computer Architecture (Preview)
(17) The New Golden Age of Computer Architecture

Demo: Power & Performance

Demo: big.Little architecture

Demo: GPTPU

09/05/2024Final Review
(18) Final ReviewAssignment #5 due 9/5 midnight
09/06/2024Final Exam (3p-6p)

Assignments

Please watch https://youtu.be/7PTzdq3l4E4 before you start!

  • Cheating WILL be taken seriously. Doing otherwise is not fair to honest students. It is also not fair to allow the cheater to thing that it is a reasonable alternative in life.
  • Please review the UCSD student handbook for more details on Academic Integrity.
  • Anyone copying information or having information copied during a test will receive an F for the class and will not be allowed to drop. They will be reported to their college dean. If you can prove non-cooperative copying took place, your grade may be restored, but you must prove it to the dean–I don’t want to be involved. Anyone caught cheating or falsely representing the work of others on the homework will not be allowed to turn in further homework. Your grade will be based exclusively on the tests with a penalty of 25% OR GREATER applied.
  • We photocopy a random sampling of the exams in order to ensure that students do not modify their tests after they have been returned.
  • Online solutions, etc.: A solutions manual exists for this text. Using it, or any solutions you may find on the internet elsewhere IS CHEATING and will be dealt with accordingly. We know what the solution manual solutions look like. Homework is a small fraction of your grade, so cheating on it is unproductive.