InstructorSteven Swanson
Office: EBU3B 3212 Office Hours: Mon. 12:00-1:00; Thur. 12:30-1:30 UCSD homepage Teaching AssistantHung-Wei Tseng
Office: EBU3B B260A Office Hours: Monday 4:00p-5:00p, Wednesday 11:00a-12:00p, or by appointment UCSD homepage Course discussion board: cse141. Required reading. Get signed up. |
![]() |
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 141L. Unless you have discussed it with you me, you should be in enrolled in both.
In addition to the contributions below, class participation (speaking up in class, attending office hours, etc.) can raise your grade up to one "notch" (e.g., B to B+).
Homework | 10% | Homeworks will be assigned through the course. They are due on Thursdays. |
Quizzes | 10% | Every Thursday there will be a quiz. |
Project | 15% | Design your own ISA! See below |
Midterm | 25% | The midterm is on November 3rd. |
Final | 35% | The final will be cummulative. |
Class participation | 5% | Speak up in class. Contribute to the web board. Come to office hours. |
Additional notes about grades in this course:
Calculating grades I compute grades using an Excel spread sheet. In the interests of transparancy, the current grade sheet (with identifying information removed) is avaiable in either XLS or PDF format. The grade sheet contains all the information about curves and how the grades are computed. It is somewhat sophisticated, if you find bugs please bring them to my attention. Please note that some versions of OpenOffice do not perform the calculations properly, and will give incorrect results.
The grading systems is based on a 13 point (F through A+) scale. For each assignment/test/etc, the sheet computes the letter grade (rounding up, when needed) according to a curve for each assignment (specified at the bottom of each assignments column). Your final grade is the weighted average of these grades.
We do our best to record grades accurately, but you should double-check.
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 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.
For arithmetic errors (adding up points etc.) you do not need to submit anything in writing, but the one week limit still applies.
Final grades If you have a problem with your
I will post the slides for most lectures. Since the slides contain material I am not allowed to distribute publically, they are password protected. I have posted the username and password to the web board.
Reading should be done before class on the day they are listed. It is essential that you do the readings. I will not cover everything you are responsible for in class.
Date | Topic | Readings | Slides | Due | Notes |
---|---|---|---|---|---|
Thursday, September 24 | Introduction and Administrivia | 00_Introduction.pdf | |||
Tuesday, September 29 | Instruction Set Design | 01_ISA.pdf | |||
Thursday, October 1 | Instruction Set Design |
02_ISA.pdf, 03_project.pdf, 04_quizzes_hw_microprojects.pdf, MP0_ISA.pdf |
Assignment 1-1; Assignment 1-2; | ||
Tuesday, October 6 | Instruction Set Design |
05_ISA.pdf, S_x86_64.pdf |
|||
Thursday, October 8 | Measuring Performance |
06_Performance.pdf, 01_CodeAnalysisExample.pdf |
Assignment 2; | ||
Tuesday, October 13 | Measuring performance | 07_Performance.pdf | |||
Thursday, October 15 | Performance/Single Cycle processors |
Q02_key.pdf, MP1_WhereAmI.pdf, 08_Performance.pdf, 09_SingleCycle.pdf |
Assignment 3-1; Assignment 3-2; | ||
Tuesday, October 20 | Single Cycle to Pipelining |
10_SingleCycle.pdf, 11_Pipelining.pdf |
|||
Thursday, October 22 | Data hazards; SRAM |
12_DataHazards.pdf, 13_MemAndSRAM.pdf |
Assignment 4; Project 1; | ||
Tuesday, October 27 | Control hazards; DRAM |
14_ControlHazards.pdf, 15_DRAM.pdf |
|||
Thursday, October 29 | Midterm Review |
Q03_key.pdf, Q04_key.pdf, Q05_key.pdf |
Assignment 5; | ||
Tuesday, November 3 | TBA | Assignment 6; | |||
Thursday, November 5 | Branch Prediction | 08_Branches.pdf | |||
Tuesday, November 10 | Introduction to caching | TBA |
09_Cache_Intro.pdf, 09_x86Memory..pdf |
||
Thursday, November 12 | Memory Systems | 16_cache_details.pdf | Assignment 7-1; Assignment 7-2; | ||
Tuesday, November 17 | Advanced caching and VM |
17_Cache_advanced.pdf, Q07_key.pdf |
|||
Thursday, November 19 | Virtual Memory | TBA |
18_VirtualMemory.pdf, MB2_popcount.pdf, popcount_test.cpp |
Assignment 8; | |
Tuesday, November 24 | I/O | 19_IO.pdf | |||
Thursday, November 26 | Thanksgiving! No class! | ||||
Tuesday, December 1 | Multiprocessors/Advanced Pipelining |
20_SuperScalarSMT.pdf, 21_CMPs.pdf |
|||
Thursday, December 3 | CMPs/Wrap up and Final review | TBA |
Q09_key.pdf, Q08_answer.pdf, 22_CMPs.pdf |
Assignment 9; | |
Monday, December 7 | Assignment 10; |