Welcome to the Spring 2013 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 real microprocessor designs implemented in the Chisel hardware description language, and running as simulators and (hopefully) FPGA emulators. 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.
Week | Date | Lecture |
Readings 5th Edition |
Readings 4th Edition |
Assignments |
1 | Tue Jan 22 | L1: Introduction, Early Machines PPTX PDF | Ch. 1, App. A | Ch. 1, App. B | |
Thu Jan 24 | L2: Simple Machine Implementations, Microcoding PPTX PDF | ||||
Fri Jan 25 | Section 1: Introduction, Abstraction Layers, Microcode Machines PDF | ||||
2 | Tue Jan 29 | L3: From CISC to RISC PPTX PDF |
PS 1
PDF
Lab 1 PDF (version A) |
||
Thu Jan 31 | L4: Pipelining PPTX PDF | App. C.1-C.3 | App. A.1-A.3 | ||
Fri Feb 1 | Section 2: Introduction to RISC-V tools and Lab 1 Overview PDF | ||||
3 | Tue Feb 5 | L5: Pipelining II PPTX PDF | App. C.4-C.6 | App. A.4-A.6 | |
Thu 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 | ||
Fri Feb 8 | Section 3: Pipelining review PDF | ||||
4 | Tue Feb 12 | L7: Memory Hierarchy II PPTX PDF | App. B.3 | App. C.3 | |
Thu Feb 14 | L8: Address Translation and Protection PPTX PDF | App. B.4-7 | App. C.4-7 | PS 1 due, Lab 1 due | |
Fri Feb 15 | Section 4: PS 1 Review PDF | PS 1 solutions PDF | |||
5 | Tue Feb 19 |
Quiz 1: ISAs, microcode, simple pipelines
Solutions: PDF |
PS 2
PDF
Handout PDF Lab 2 PDF (version A) |
||
Thu Feb 21 | L9: Virtual Memory PPTX PDF | ||||
Fri Feb 22 | Section 5: Lab 2 Overview | ||||
6 | Tue Feb 26 | 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 | |
Thu Feb 28 | L11: Out-of-order exceptions, branch prediction PPTX PDF | Ch. 3.6, 3.8 | Ch. 2.6, 2.8 | PS 2 due, Lab 2 due | |
Fri Mar 1 | Section 6: Memory hierarchy and PS 2 review | PS 2 solutions PDF | |||
7 | Tue Mar 5 |
Quiz 2: Memory Hierarchies and Virtual Memory Solutions: PDF |
PS 3
PDF
Lab 3 PDF (version C) |
||
Thu Mar 7 | L12: Advanced Out-of-Order Superscalars - PPTX PDF | ||||
Fri Mar 8 | Section 7: Lab 3 Overview PDF | ||||
8 | Tue Mar 12 | L13: VLIW PPTX PDF | Ch. 3.2,3.7 | Ch. 2.2,2.7 | |
Thu Mar 14 | L14: Multithreading PPTX PDF | Ch. 3.12 | Ch. 3.5 | PS 3 due, Lab 3 (directed portion) due | |
Fri Mar 15 | Section 8: PS 3 Review | PS 3 solutions PDF | |||
9 | Tue Mar 19 | Quiz 3: Complex Pipelining Solutions: PDF |
PS 4
PDF
Lab 4 (version B) PDF |
||
Thu Mar 21 | L15: Vectors PPTX PDF | Ch. 4.1-4.3 (App. G) | App. F | ||
Fri Mar 22 | Section 9: Lab 4 Overview | Lab 3 (open-ended portion) due | |||
10 | Mar 25-29 | Spring Break | |||
11 | Tue Apr 2 | L16: GPUs PPTX PDF | Ch. 4.4-4.9 | N/A | |
Thu Apr 4 | L17: Synchronization and Sequential Consistency PPTX PDF | Ch. 5.1, 5.5-5.6 | Ch. 4.1-4.4 | PS 4 due , Lab 4 due | |
Fri Apr 5 | Section 10: PS 4 review | PS 4 solutions PDF | |||
12 | Tue Apr 9 |
Quiz 4: VLIW, Vectors, Multithreading
Solutions: PDF |
PS 5
PDF
Handout1 PDF Handout2 PDF Lab 5 PDF (version B) |
||
Thu Apr 11 | L18: Snoopy Caches PPTX PDF | Ch. 5.2-5.3 | |||
Fri Apr 12 | Section 11: Lab 5 Overview | ||||
13 | Tue Apr 16 | L19: Directory Protocols PPTX PDF | Ch. 5.4 | ||
Thu Apr 18 |
L20: Warehouse-Scale Computing Luiz Barros, FCRC'11 Keynote video |
Ch. 6 | |||
Fri Apr 19 | Section 12: Parallel Architectures Review | ||||
14 | Tue Apr 23 | L21: Virtual Machines PPTX PDF | Ch. 2.4 | N/A | |
Thu Apr 25 |
L22: Putting it all Together
PPTX
PDF Hot Chips 24 archive |
PS 5 due | |||
Fri Apr 26 | Section 13: PS 5 Review |
PS 5 solutions
|
|||
15 | Tue Apr 30 | Section 14: Quiz Review | |||
Thu May 2 |
Quiz 5: Parallel Architectures
Solutions: PDF |
||||
Sun May 5 | Lab 5 due |
This page uses the Holy Grail Liquid-Layout: No quirks mode by Matthew James Taylor.