This is a graduate-level course on how the computer works. In this course, we will review fundamental structures in modern microprocessor and computer system architecture design. We will cover computer organization, instruction set design, memory system design, pipelining, cache coherence protocols, memory schedulers, power/energy, prefetching and other techniques to explore instruction level parallelism and thread level parallelism. We will also cover system level topics such as storage subsystems. We will also have case studies as to how modern microprocessors are designed.
The course will be a combination of lectures, student presentation, and separate brainstorming sessions in which we will collectively explore and develop new ideas on each topic. The students will do a project based on one of these ideas.
There are no pre-requisites for the course but students will be expected to be comfortable with a) basic computer organization, and b) programming in a language such as Python or C/C++. The course is open to both PhD and MS students. Undergraduate students require permission from the instructor.
Students will be evaluated based on the following rubric. For the details on each item please refer to its corresponding page.
|In-class participation/Surprise quizzes||5%|
Two or three students will be responsible to transcribe each session of the class. These detailed transcripts will be distributed to all of the students as the class notes. Each individual scribe needs to write her own transcript of the class and then get together with the other scribes and generate a merged document. You will only have two days after each session to generate the merged transcript. We will randomly select each session's scribes. Please use the following word file as the template for the session transcript. Make sure you take enough notes to generate a comprehensive and detailed transcript. Feel free to take pictures of the whiteboard to inclue in the transcript.
There is no required textbook. All relevant materials will be made available online.
Students are expected to abide by the UC San Diego Honor Code. Honest and ethical behavior is expected at all times. All incidents of suspected dishonesty will be reported to and handled by the office of student affairs. You will have to do all assignments individually unless explicitly told otherwise. You may discuss it with classmates but you may not copy any solution (or any part of a solution).