Welcome to the Spring 2020 CS152 and CS252 web page. This semester the undergraduate and graduate computer architecture classes will be sharing lectures, and so the course web page has been combined.
CS152 is intended to provide a foundation for students interested in performance programming, compilers, and operating systems, as well as computer architecture and engineering. Our goal is for you to better understand how software interacts with hardware, and to understand how trends in technology, applications, and economics drive continuing changes in the field. The course will cover the different forms of parallelism found in applications (instruction-level, data-level, thread-level, gate-level) and how these can be exploited with various architectural features. We will cover pipelining, superscalar, speculative and out-of-order execution, vector machines, VLIW machines, multithreading, graphics processing units, and parallel microprocessors. We will also explore the design of memory systems including caches, virtual memory, and DRAM. An important part of CS152 is series of lab assignments using real microprocessor designs implemented in the Chisel hardware description language, and running as simulators and FPGA emulators hosted in the Amazon cloud (FireSim). These simulators will give you an in-depth look at a variety of processor architectural techniques. Our objective is that you will understand all the major concepts used in modern microprocessors by the end of the semester.
CS252 is intended to provide essential background for students intending to pursue research in computer architecture or related fields, and also provides preparation for the Berkeley EECS computer architecture oral prelim examination. An important part of CS252 is reading and discussion of classic architecture papers, as well as a substantial course project.
Week | Date | Lecture |
Readings 5th Edition |
Readings 6th Edition |
Assignments / Handouts |
1 | Wed Jan 22 | L1: Introduction, Early Machines PPTX PDF | Ch. 1, App. A | Ch. 1, App. A | |
Fri Jan 24 | CS152 No section | ||||
2 | Mon Jan 27 | L2: Simple Machine Implementations, Microcoding PPTX PDF | |||
Mon Jan 27 | CS252 No Readings Discussion | ||||
Wed Jan 29 | L3: Pipelining PPTX PDF | App. C.1-C.3 | App. C.1-C.3 | PS 1 (PDF, DOC) | |
Fri Jan 31 | CS152 Section 1: Microcode, Lab 1 Overview PDF |
Lab 1 Worksheet 1 Handout 1 Blank microcode table |
|||
3 | Mon Feb 3 | L4: Pipelining II PPTX PDF | App. C.4-C.6 | App. C.4-C.6 | |
Wed Feb 5 | L5: Memory Hierarchy PPTX PDF | App. B.1-B.2, Ch. 2.1-2.3 | App. B.1-B.2, Ch. 2.1-2.2 | ||
Web Feb 5 | CS252 Readings Discussion, 380 Soda 1-2pm |
"Design
of the B5000 System", Lonergan, King, 1961
"Architecture of the IBM System/360", Amdahl, Blaauw, Brooks, 1964 |
|||
Fri Feb 7 | CS152 Section 2: Pipelining review PDF | Worksheet 2 | |||
4 | Mon Feb 10 | L6: Memory Hierarchy II PPTX PDF | App. B.3 | App. B.3 | PS 1 due at start of class |
Wed Feb 12 | L7: Memory Hierarchy III PPTX PDF |
PS 2 (PDF,
DOC) Handout 2 |
|||
Wed Feb 12 | CS252 Readings Discussion |
"The
Case for the Reduced Instruction Set Computer",
Patterson, Ditzel, 1980
Comments on the "The Case for the RISC", Clark, Strecker, 1980 "Performance from architecture: comparing a RISC and CISC with similar hardware organization", Bhandarkar, Clark, 1991 |
|||
Fri Feb 14 | CS152 Section 3: PS 1 Review and Memory Hierarchy PDF |
PS 1 solutions Worksheet 3 |
|||
5 | Mon Feb 17 | President's Day Holiday | |||
Wed Feb 19 | L8: Address Translation and Protection PPTX PDF | App. B.4-7 | App. B.4-7 | Lab 1 due | |
Fri Feb 21 | CS152 Section 4: Lab 2 Overview |
Lab 2 |
|||
6 | Mon Feb 24 | L9: Virtual Memory PPTX PDF | |||
Mon Feb 24 | CS252 Readings Discussion |
"IBM's
Single-Processor Supercomputer Efforts", Smotherman, Spicer,
CACM, 53(1), 2010 "Implementation of Precise Interrupts in Pipelined Processors" , Smith, Pleszkun, ISCA, 1985 (IEEE Trans. Computer Journal version) "Parallel Operation in the Control Data 6600", Thornton, Proceedings of the Fall Joint Computers Conference, vol 26, pp. 33-40, 1964 |
|||
Wed Feb 26 |
L10: Complex pipelines, out-of-order issue, register renaming
PPTX
PDF
Guest Lecturer: Albert Ou |
Ch. 3.1,3.4-3.5 | Ch. 3.1,3.4-3.6 |
PS 2 due. CS252 project proposals due. |
|
Fri Feb 28 | CS152 Section 5: Mid1 review and PS 2 review PDF |
PS 2 solutions Worksheet 4 |
|||
7 | Mon Mar 2 | Midterm 1: (L1-L9) Solutions | |||
Mon Mar 2 | CS252 No Readings Discussion | ||||
Wed Mar 4 | L11: Out-of-order execution PPTX PDF | Ch. 3.6, 3.8 | Ch. 3.6, 3.8 | PS 3 (PDF, DOC) | |
Fri Mar 6 | CS152 Section 6: Out-of-order Execution PDF |
Worksheet 5 |
|||
8 | Mon Mar 9 |
L12: Branch Prediction and Advanced Out-of-Order Superscalars
PPTX
PDF
Guest Lecturer: Jerry Zhao |
Ch. 3.3,3.9-3.10 | Lab 2 due | |
Mon Mar 9 | POSTPONED: CS252 Project Proposal Discussion | ||||
Wed Mar 11 |
L13: VLIW
PPTX
PDF
Guest Lecturer: Andrew Waterman |
Ch. 3.2,3.7 | Ch. 3.2,3.7 | ||
Fri Mar 13 | CS152 Section 7: Branch Prediction, Lab 3 Overview PDF |
Lab 3 Worksheet 6 [DOC] |
|||
9 | Mon Mar 16 | L14: Multithreading PPTX PDF | Ch. 3.12 | Ch. 3.11 | PS 3 due |
Mon Mar 16 | CS252 Readings Discussion |
"An
Efficient Algorithm for Exploiting Multiple Arithmetic units",
Tomasulo, IBM Journal, January 1967 "Decoupled Access/Execute Computer Architectures", Smith, ISCA 1982 (ACM TOCS version) "The MIPS R10000 Superscalar microprocessor", Yeager, IEEE Micro 16(2), 1996 |
|||
Wed Mar 18 | L15: Vectors PPTX PDF | Ch. 4.1-4.3 (App. G) | PS 4 (PDF, DOC) | ||
Fri Mar 20 | CS152 Section 8: Multithreading and Vectors PDF |
PS 3 Solutions
Worksheet 7 [DOC] |
|||
10 | Mar 23-27 | Spring Break | |||
11 | Mon Mar 30 | L16: GPUs PPTX PDF | Ch. 4.4-4.9 | Ch. 4.4-4.9 | |
Mon Mar 30 | CS252 Readings Discussion |
"Combining
Branch Predictors", McFarling, DEC WRL Technical Note TN-36,
1993 "Dynamic Branch Prediction with Perceptrons", Jimenez, Lin, HPCA 2001 " A case for (partially) TAgged GEometric history length branch prediction , Seznec, Michaud, Journal of Instruction Level Parallelism (JILP), 2006 |
|||
Wed Apr 1 | L17: Vectors II PPTX PDF | Ch. 4.1-4.3 (App. G) | Ch. 4.1-4.3 (App. G) | ||
Fri Apr 3 | CS152 Section 9: Vectors, GPUs, and Lab 4 Overview PDF |
Lab 4 RVV 0.9-draft [PDF] Worksheet 8 [DOC] |
|||
12 | Mon Apr 6 | L18: Cache Coherence PPTX PDF | Ch. 5.1-5.4 | Ch. 5.1-5.4 |
PS4 due
Lab 3 due |
Mon Apr 6 |
CS252 Readings Discussion |
"The CRAY-1 Computer System", Russel, CACM 1978 "Very Long Instruction Word Architectures and the ELI-512", Fisher, ISCA 1983 "A VLIW Architecture for a Trace Scheduling Compiler", Colwell et al., IEEE Trans. Computers, 1988 |
|||
Wed Apr 8 | L19: Synchronization and Memory Consistency Models PPTX PDF | Ch. 5.1, 5.5-5.6 | Ch. 5.1, 5.5-5.6 | ||
Fri Apr 10 | CS152 Section 10: Midterm 2 Review PDF |
PS 4 Solutions
Worksheet 9 [DOC] |
|||
13 | Mon Apr 13 | L20: 2017 Turing Award Lecture A New Golden Age for Computer Architecture: Domain-Specific Hardware/Software Co-Design, Enhanced Security, Open Instruction Sets, and Agile Chip Development, David Patterson and John Hennessy | Ch. 6 | Ch. 6 | |
Mon Apr 13 | CS252 Project Checkpoint | Project update | |||
Wed Apr 15 | Midterm 2: L10-17 Solutions | Ch. 5.4 |
PS 5
(PDF,
DOC) Handout 6 Handout 7 |
||
Fri Apr 17 | CS152 Section 11: Cache Coherence PDF |
Worksheet 10 [DOC] |
|||
14 | Mon Apr 20 | L21: Virtual Machines PPTX PDF | Ch. 5.2-5.3 | Ch. 5.2-5.3 |
Lab 5 Lab 4 due |
Mon Apr 20 | CS252 Readings Discussion |
"The Tera
Computer System", Alverson et al, ICS 1990 "Shared Memory Consistency Models: A Tutorial", Adve, Gharachorloo, DEC WRL TR, 1995 "The SGI Origin: a ccNUMA highly scalable server", Laudon, Lenoski, ISCA 1997 |
|||
Wed Apr 22 | L22: Synchronization Primitives PPTX PDF | ||||
Fri Apr 24 | CS152 Section 12: Memory Consistency PDF | Worksheet 11 [DOC] | |||
15 | Mon Apr 27 | L23: I/O and Warehouse-Scale Computing PPTX PDF | Ch. 7 | PS 5 due | |
Mon Apr 27 | CS252 Project Checkpoint | Project update | |||
Wed Apr 29 | L24: Last lecture: Putting it all together PPTX PDF | Please complete course evaluations online! | |||
Fri May 1 | CS152 Section 13: Final Review PDF |
PS 5 Solutions Final Review Part 1 [DOC] |
|||
16 | Mon May 4 | No lecture - RRR Week | Lab 5 due | ||
Wed May 6 | No CS152 lecture - RRR Week | ||||
Wed May 6 | CS 252 Final Project Presentations 10:40am-12:00pm PDT | ||||
Friday May 8 | CS152 Section 14: Final Review PDF |
Final Review Part 2
[DOC] |
|||
17 | Tues May 12 | CS 152 Final Exam: 3:00pm-6:00pm PDT Solutions | Course evaluations due! | ||
Fri May 15 | CS 252 Final Project Papers due, 11:59PM PDT | Email pdf to all instructors. |
This page uses the Holy Grail Liquid-Layout: No quirks mode by Matthew James Taylor.