Computer Science 152: Computer Architecture and Engineering

Spring 2011

Prof. Krste Asanović

Lectures: Monday and Wednesday, 9:30AM-11:00AM, 320 Soda Hall
Section: Friday, 9:30AM-11AM, 405 Soda Hall

Welcome to the Spring 2011 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 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 commercial simulation tools to evaluate and develop architectural ideas while running real applications and operating systems.

More detailed course info

Extra course materials

Course Calendar with Handouts

Note: Tentative, schedule subject to change!

Week Date Lecture Readings Assignments
1 Wed Jan 19 L1: Introduction, Early Machines PPTX PDF    
Fri Jan 21 No section    
2 Mon Jan 24 L2: Simple Machine Implementations, Microcoding PPTX PDF Ch. 1, App. B  
Wed Jan 26 L3: From CISC to RISC PPTX PDF   PS 1 ZIP tar.gz Lab 1 PDF ZIP tar.gz
Fri Jan 28 Section 1: Introduction to Simics simulator and Lab 1 Overview PDF    
3 Mon Jan 31 L4: Pipelining PPTX PDF A.1-A.3
Wed Feb 2 L5: Pipelining II PPTX PDF A.4  
Fri Feb 4 Section 2: Pipelining review PDF    
4 Mon Feb 7 L6: Memory Hierarchy PPTX PDF C.1-C.3
Wed Feb 9 L7: Memory Hierarchy II PPTX PDF   PS 1 due, Lab 1 due
Fri Feb 11 Section 3: PS 1 Review PDF   PS 1 solutions PDF
5 Mon Feb 14 Quiz 1: ISAs, microcode, simple pipelines Solutions: PDF    
Wed Feb 16 L8: Address Translation and Protection PPTX PDF C.4-C.8 PS 2 PDF Handout PDF Lab 2 PDF ZIP tar.gz
Fri Feb 18 Section 4: Lab 2 overview PDF  
6 Mon Feb 21 President's Day Holiday No Office Hours  
Wed Feb 23 L9: Virtual Memory PPTX PDF    
Fri Feb 25 Section 5: Memory Hierarchy review PDF Handout PDF Sols PDF    
7 Mon Feb 28 L10: Complex pipelines, out-of-order issue, register renaming PPTX PDF A.5-A.8  
Wed Mar 2 L11: Out-of-order exceptions, branch prediction PPTX PDF Ch 2 PS 2 due, Lab 2 due
Fri Mar 4 Section 6: PS 2 Review PDF   PS 2 solutions PDF
8 Mon Mar 7 Quiz 2: Memory Hierarchies and Virtual Memory
Solutions: PDF
  PS 3 PDF Lab 3 PDF ZIP tar.gz
Wed Mar 9 L12: Advanced Out-of-Order Superscalars PPTX PDF Ch. 3.1-3.4  
Fri Mar 11 Section 7: Lab 3 Overview, and complex pipeline review PDF    
9 Mon Mar 14 L13: VLIW PPTX PDF App. G  
Wed Mar 16 L14: Multithreading PPTX PDF Ch 3.5-3.9 PS 3 due, Lab 3 due
Fri Mar 18 Section 8: PS 3 Review PDF   PS 3 solutions PDF
10 Mar 21-25 Spring Break    
11 Mon Mar 28 Quiz 3: Complex Pipelining
Solutions: PDF
Lab 4 PDF ZIP tar.gz
Wed Mar 30 L15: Vectors PPTX PDF Draft of 5th edition Chapter 4  
Fri Apr 1 Section 9: Lab 4 Overview PDF    
12 Mon Apr 4 L16: GPUs PPTX PDF    
Wed Apr 6 L17: Synchronization and Sequential Consistency PPTX PDF Ch 4.5-4.6 PS 4 due, Lab 4 due
Fri Apr 8 Section 10: PS 4 Review PDF   PS 4 solutions DOC PDF
13 Mon Apr 11 Quiz 4: VLIW, Vectors, Multithreading
Solutions: PDF
  PS 5 PDF ZIP Lab 5 PDF ZIP tar.gz
Wed Apr 13 L18: Snoopy Caches PPTX PDF Ch 4.1-4.4  
Fri Apr 15 Section 11: Lab 5 Overview    
14 Mon Apr 18 L19: Directory Protocols PPTX PDF    
Wed Apr 20 L20: Putting it all Together: Intel Sandy Bridge & AMD Bulldozer    
Fri Apr 22 Section 12: PS 5 Review PDF   PS 5 due, Lab 5 due
PS 5 solutions PDF
15 Mon Apr 25 L21: Virtual Machines    
Wed Apr 27 Quiz 5: Parallel Architectures