Welcome to the Spring 2012 CS152 web page. The course 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 the course is a series of lab assignments using detailed simulation tools to evaluate and develop architectural ideas while running real applications and operating systems. Our objective is that you will understand all the major concepts used in modern microprocessors by the end of the semester.
Supplemental Handouts
Extra course materials
Week | Date | Lecture |
Readings 5th Edition |
Readings 4th Edition |
Assignments |
1 | Tue Jan 17 | CANCELLED | |||
Thu Jan 19 | L1: Introduction, Early Machines PPTX PDF | Ch. 1, App. A | Ch. 1, App. B | ||
Fri Jan 20 | No section | ||||
2 | Tue Jan 24 | L2: Simple Machine Implementations, Microcoding PPTX PDF |
PS 1
PDF
Lab 1 PDF (ver. b) |
||
Thu Jan 26 | L3: From CISC to RISC PPTX PDF | ||||
Fri Jan 27 | Section 1: Introduction to RISC-V tools and Lab 1 Overview PDF | ||||
3 | Tue Jan 31 | L4: Pipelining PPTX PDF | C.1-C.3 | A.1-A.3 | |
Thu Feb 2 | L5: Pipelining II PPTX PDF | App. C.4-C.6 | App. A.4-A.6 | ||
Fri Feb 3 | Section 2: Pipelining review PDF | ||||
4 | Tue Feb 7 | L6: Memory Hierarchy PPTX PDF | App. B.1-B.2, Ch. 2.1-2.3 | App. C.1-C.2, Ch. 5.1-5.3 | |
Thu Feb 9 | L7: Memory Hierarchy II PPTX PDF | App. B.3 | App. C.3 | PS 1 due, Lab 1 due | |
Fri Feb 10 | Section 3: PS 1 Review PDF | PS 1 solutions PDF | |||
5 | Tue Feb 14 |
Quiz 1: ISAs, microcode, simple pipelines
Solutions: PDF |
PS 2
PDF
Handout
PDF
Lab 2 PDF ZIP |
||
Thu Feb 16 | L8: Address Translation and Protection PPTX PDF | App. B.4-7 | App. C.4-7 | ||
Fri Feb 17 | Section 4: Lab 2 Overview PDF | ||||
6 | Tue Feb 21 | L9: Virtual Memory PPTX PDF | |||
Thu Feb 23 | L10: Complex pipelines, out-of-order issue, register renaming PPTX PDF | Ch. 3.1,3.4-3.5 | Ch 2.1,2.4-2.5 | ||
Fri Feb 24 | Section 5: Memory hierarchy review PDF Handout Solutions | ||||
7 | Tue Feb 28 | L11: Out-of-order exceptions, branch prediction PPTX PDF | Ch. 3.6, 3.8 | Ch. 2.6, 2.8 | |
Thu Mar 1 | L12: Advanced Out-of-Order Superscalars PPTX PDF | PS 2 due, Lab 2 due | |||
Fri Mar 2 | Section 6: PS2 review PDF | PS 2 solutions PDF | |||
8 | Tue Mar 6 |
Quiz 2: Memory Hierarchies and Virtual Memory Solutions: PDF |
PS 3
PDF
Lab 3 PDF ZIP |
||
Thu Mar 8 | L13: VLIW PPTX PDF | Ch 3.2,3.7 | Ch 2.2,2.7 | ||
Fri Mar 9 | Section 7: Lab 3 Overview PDF | ||||
9 | Tue Mar 13 | L14: Multithreading PPTX PDF | Ch 3.12 | Ch 3.5 | |
Thu Mar 15 | L15: Vectors PPTX PDF | Ch. 4.1-4.3 (App. G) | App. F | ||
Fri Mar 16 | Section 8: Complex pipelining review PDF | ||||
10 | Tue Mar 20 | L16: GPUs PPTX PDF | Ch. 4.4-4.9 | N/A | |
Wed Mar 21 | Section 9: PS 3 review, Lab 4 overview PDF |
PS 3 solutions
PDF |
|||
Thu Mar 22 |
Quiz 3: Complex Pipelining
Solutions: PDF |
PS 3 due, Lab 3 due PS 4 PDF Lab 4 PDF |
|||
Fri Mar 23 | No section | ||||
11 | Mar 26-20 | Spring Break | |||
12 | Tue Apr 3 | L17: Synchronization and Sequential Consistency PPTX PDF | Ch 4.1-4.4 | ||
Thu Apr 5 | L18: Snoopy Caches PPTX PDF | PS 4 due | |||
Fri Apr 6 | Section 10: PS 4 Review PDF | PS 4 solutions PDF | |||
13 | Tue Apr 10 |
Quiz 4: VLIW, Vectors, Multithreading
Solutions: PDF |
Lab 4 due PS 5 PDF ZIP Lab 5 PDF (rev A) |
||
Thu Apr 12 | L19: Directory Protocols PPTX PDF | ||||
Fri Apr 13 | Section 11: Lab 5 Overview PDF | ||||
14 | Tue Apr 17 | L20: Putting it all Together: Intel Sandy Bridge & AMD Bulldozer | |||
Thu Apr 19 | L21: Warehouse-Scale Computing | Ch. 6 | N/A | ||
Fri Apr 20 | Section 12: Parallel architectures review PDF | ||||
15 | Tue Apr 24 | Section 13: PS 5 review |
PS 5 due, Lab 5 due
PS 5 solutions PDF |
||
Thu Apr 26 |
Quiz 5: Parallel Architectures
Solutions: PDF |