Computer Science 152: Computer Architecture and Engineering

Spring 2010

Prof. Krste Asanović

Lectures: Tuesday and Thursday, 9:30AM-11:00AM, 310 Soda Hall
Section: Thursday, 2:00PM-3:30PM, 320 Soda Hall

Welcome to the Spring 2010 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 Tue Jan 19 L1: Introduction, Early Machines PPTX PDF    
Thu Jan 21 L2: Simple Machine Implementations, Microcoding PPTX PDF Ch. 1, App. B  
Thu Jan 21 No section    
2 Tue Jan 26 L3: From CISC to RISC PPTX PDF   PS 1 ZIP tar.gz
Thu Jan 28 L4: Pipelining PPTX PDF A.1-A.3 Lab 1 PDF ZIP tar.gz
Thu Jan 28 Section 1: Introduction to Simics simulator    
3 Tue Feb 2 L5: Pipelining part II PPTX PDF A.4  
Thu Feb 4 L6: Memory Hierarchy PPTX PDF C.1-C.3
Thu Feb 4 Section 2: Lab 1 Overview PPT Handout PDF    
4 Tue Feb 9 L7: Memory Hierarchy II PPTX PDF    
Thu Feb 11 L8: Memory Hierarchy III PPTX PDF   PS 1 due, Lab 1 due
Thu Feb 11 Section 3: PS 1 Review PPT   PS 1 solutions DOC PDF
5 Mon Feb 15 President's Day Holiday No Office Hours  
Tue Feb 16 Quiz 1: ISAs, microcode, simple pipelines Solutions: DOC PDF   PS 2 ZIP tar.gz
Lab 2 PDF ZIP tar.gz
Thu Feb 18 L9: Address Translation and Protection PPTX PDF    
Thu Feb 18 Section 4: Lab 2 overview  
6 Tue Feb 23 L10: Virtual Memory (Andrew) PPTX PDF    
Thu Feb 25 L11: Virtual Memory and Caches PPTX PDF    
Thu Feb 25 Section 5: Memory Hierarchy review PPT    
7 Tue Mar 2 L12: Complex pipelines PPTX PDF A.5-A.8  
Thu Mar 4 L13: Out-of-order issue, register renaming, branch prediction PPTX PDF Ch 2.1-2.5 PS 2 due, Lab 2 due
Thu Mar 4 Section 6: PS 2 Review   PS 2 solutions DOC PDF
8 Tue Mar 9 Quiz 2: Memory Hierarchies and Virtual Memory
  PS 3 DOC PDF
Lab 3 PDF ZIP tar.gz
Thu Mar 11 L14: Advanced Out-of-Order Superscalars PPTX PDF    
Thu Mar 11 Section 7: Lab 3 Overview PPT    
9 Tue Mar 16 L15: VLIW PPTX PDF    
Thu Mar 18 L16: Vectors PPTX PDF App. F PS 3 due, Lab 3 due
Thu Mar 18 Section 8: Complex Pipelining Review PPT   PS 3 solutions DOC PDF
10 Mar 22-26 Spring Break    
11 Tue Mar 30 Quiz 3: Complex Pipelining
Solutions: DOC PDF
  PS 4 DOC PDF
Lab 4 PDF ZIP tar.gz
Thu Apr 1 L17: Vectors Part II PPTX PDF App. F  
Thu Apr 1 Section 9: Lab 4 Overview    
12 Tue Apr 6 L18: Multithreading PPTX PDF    
Thu Apr 8 L19: Synchronization and Sequential Consistency (Andrew) PPTX PDF   PS 4 due, Lab 4 due
Thu Apr 8 Section 10: PS 4 Review   PS 4 solutions DOC PDF
13 Tue Apr 13 Quiz 4: VLIW, Vectors, Multithreading
Solutions: DOC PDF
  PS 5 PDF ZIP tar.gz
Lab 5 PDF ZIP tar.gz
Thu Apr 15 L20: Snoopy Caches PPTX PDF    
Thu Apr 15 Section 11: Lab 5 Overview    
14 Tue Apr 20 L21: Directory Protocols PPTX PDF    
Thu Apr 22 L22: Virtual Machines PPTX PDF   PS 5 due, Lab 5 due
Thu Apr 22 Section 12: PS 5 Review   PS 5 solutions DOC PDF
15 Tue Apr 27 L23: Putting it all Together: Intel Nehalem PPTX PDF    
Thu Apr 29 Quiz 5: Parallel Architectures
Solutions: DOC PDF