Computer Science 152: Computer Architecture and Engineering

Spring 2012

Prof. Krste Asanović

Lectures: Tuesday and Thursday, 2-3:30pm, *306* Soda Hall
Section: Friday, 9-10AM, *306* Soda Hall

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.


More detailed course info

Supplemental Handouts

Extra course materials


Course Calendar with Handouts


Note: Tentative, schedule subject to change!

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