InstructorSteven Swanson
Office: EBU3B 3212 Office Hours: Tues. 6:30-7:30 (EBU3 B230); Thur. 10:30-11:30 (ebu3b 3212); or by appointment UCSD homepage Teaching AssistantsSanath Kumar
Office: B260A Office Hours: Tuesday, Thursday: 11.00a - 12.00p, or by appointment Bharathan Balaji
Office: B260A Office Hours: Monday: 2.00p - 3.00p, Wednesday: 4.00p - 5.00p, or by appointment Vineet Kumar
Office: B240A Office Hours: Monday, Wednesday: 10.00a-11.00a, or by appointment 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% | Self explanatory. |
| 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 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 |
|---|---|---|---|---|---|
| Tuesday, January 4 | Introduction and Administrivia | 00_Introduction.pdf | |||
| Thursday, January 6 | Instruction Set Design | 01_ISA.pdf | |||
| Tuesday, January 11 | Instruction Set Design |
03_ISA.pdf, 04_Project.pdf |
Assignment 1-1; Assignment 1-2; | ||
| Thursday, January 13 | Instruction Set Design |
S_x86_64.pdf, 05_ISA.pdf, ../x86, ToolsOverview.pdf |
|||
| Tuesday, January 18 | Measuring Performance |
06_performance.pdf, Q01_key.pdf |
|||
| Thursday, January 20 | Measuring performance |
07_performance.pdf, MP0_ISA.pdf, S_MemAndSRAM.pdf |
Assignment 2; | ||
| Tuesday, January 25 | Performance/Single Cycle processors |
08_SingleCycleProcessor.pdf, 09_CodeAnalysisExample-opt.xls, x86Instructions.pdf, Q02_key.pdf, Q03_key.pdf |
|||
| Thursday, January 27 | Single Cycle to Pipelining |
08-5_SingleCycleProcessor.pdf, S_DRAM.pdf, S_ProjectAlgorithm.pdf |
|||
| Tuesday, February 1 | Data hazards; SRAM |
10_Pipelining.pdf, 11_Hazards.pdf, Q04_key.pdf |
|||
| Thursday, February 3 | Control hazards; DRAM |
12_Branches.pdf, MP2_WhereAmI.pdf |
Assignment 3-1; Assignment 3-2; | ||
| Tuesday, February 8 | Branch Prediction, Introduction to Caching |
13_Branches.pdf, 14_Caches_intro.pdf, Midterm.pdf, Q05_key.pdf |
Project 1; | ||
| Thursday, February 10 | Miterm review | Q06_key.pdf | Assignment 4; | ||
| Tuesday, February 15 | TBA | ||||
| Thursday, February 17 | TBA | 15_Caches_detail.pdf | Assignment 5; | ||
| Tuesday, February 22 | Memory Systems |
16_Cache_advanced.pdf, 17_Caches_detail.pdf |
|||
| Thursday, February 24 | Advanced caching and VM |
18_MidtermGrades.pdf, 19_VirtualMemory.key.pdf, 20_x86Memory.pdf |
Assignment 6; | ||
| Tuesday, March 1 | Virtual Memory | TBA |
21_VirtualMemory.pdf, 22_IO.pdf |
||
| Thursday, March 3 | I/O | 23_IO.pdf | Assignment 7; | ||
| Tuesday, March 8 | Multiprocessors/Advanced Pipelining |
Q08_key.pdf, Q09_key.pdf, 26_CMPs.pdf, 24_Moneta.pdf, 25_SuperScalarSMT.pdf |
|||
| Thursday, March 10 | CMPs/Wrap up and Final review | TBA |
Q10_key.pdf, 26_CMPs.pdf, 2011WinterCSE141Midterm-key.pdf |
Assignment 8; Assignment 9; | |
| Thursday, March 17 |