Computer Science 152: Computer Architecture and Engineering

Spring 2009

Prof. Krste Asanović

Lectures: Tuesday and Thursday, 5:00-6:30PM, *306 Soda*
Section: Friday, 12:00-1:00PM, 258 Dwinelle

Congrats on finishing CS 152!

Contact the TA by email if you want to collect your graded work

Welcome to the Spring 2009 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 techniques that take advantage of the predictability in real applications to accelerate execution or simplify hardware.

We made substantial changes to the CS152 course curriculum last Spring. Instead of a large FPGA-based design project, students will complete a series of lab assignments using a variety of computer architectures. Dropping the FPGA design project in CS152 allows us to remove the CS150 prerequisite and leaves more time to study more advanced topics in computer architecture, and in particular, the move to multicore parallel processing. Many of the topics we will cover were previously only offered in the CS252 graduate course.

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 20 L1: Introduction, ISA Design PPT PDF    
Thu Jan 22 S1: Introduction to Simics simulator PPT PDF    
Fri Jan 23 No section    
2 Tue Jan 27 L2: Simple Machine Implementations PPT PDF Ch. 1, App. B  
Thu Jan 29 L3: From CISC to RISC PPT PDF   Lab 1 PDF ZIP tar.gz
PS 1 ZIP tar.gz
Fri Jan 30 S2: Lab 1 overview PDF solutions    
3 Tue Feb 3 L4: Pipelining PPT PDF A.1-A.3  
Thu Feb 5 L5: Pipelining part II PPT PDF A.4  
Fri Feb 6 S3: Pipelining review PDF    
4 Tue Feb 10 L6: Memory Hierarchy PPT PDF C.1-C.3 PS 1 due, Lab 1 due
Wed Feb 11 S4: PS 1 review 3111 Etcheverry, 12-1pm   PS 1 solutions DOC PDF
Thu Feb 12 Quiz 1: ISAs, microcode, simple pipelines
Solutions: DOC PDF
5 Mon Feb 16 President's Day Holiday No Office Hours  
Tue Feb 17 L7: Memory Hierarchy II (in 320 Soda) PPT PDF   PS 2 ZIP tar.gz
Lab 2 PDF ZIP tar.gz
Thu Feb 19 L8: Memory Hierarchy III PPT PDF    
Fri Feb 20 S5: Lab 2 overview PDF solutions  
6 Tue Feb 24 L9: Address Translation and Protection PPT PDF    
Thu Feb 26 L10: Virtual Memory PPT PDF   PS 2 due, Lab 2 due
Fri Feb 27 S6: PS 2 review   PS 2 solutions DOC PDF
7 Tue Mar 3 Quiz 2: Memory Hierarchies
Solutions: DOC PDF
  PS 3 ZIP tar.gz
Lab 3 PDF ZIP tar.gz
Thu Mar 5 L11: Virtual Memory and Caches PPT PDF    
Fri Mar 6 S7: Lab 3 overview PDF    
8 Tue Mar 10 L12: Complex pipelines PPT PDF A.5-A.8  
Thu Mar 12 L13: Out-of-order issue, register renaming, branch prediction PPT PDF Ch 2.1-2.5 PS 3 due, Lab 3 due
Fri Mar 13 S8: PS 3 review   PS 3 solutions DOC PDF
9 Tue Mar 17 L14: Advanced Out-of-Order Superscalars (in 320 Soda) PPT PDF    
Thu Mar 19 Quiz 3: Virtual Memory
Solutions: DOC PDF
Lab 4 PDF ZIP tar.gz
Fri Mar 20 S9: Lab 4 overview PDF solutions    
10 Mar 23-27 Spring Break    
11 Tue Mar 31 L15: Out-of-Order Memory Accesses, Complex Superscalar Review PPT PDF    
Thu Apr 2 L16: VLIW PPT PDF   PS 4 due, Lab 4 due
Fri Apr 3 S10: PS 4 review   PS 4 solutions DOC PDF
12 Tue Apr 7 Quiz 4: Complex Pipelining
Solutions: DOC PDF
Lab 5 PDF ZIP tar.gz
Thu Apr 9 L17: Vectors PPT PDF App. F  
Fri Apr 10 S11: Lab 5 overview PDF    
13 Tue Apr 14 L18: Multithreading PPT PDF    
Thu Apr 16 L19: Synchronization and Sequential Consistency PPT PDF    
Fri Apr 17      
14 Tue Apr 21 L20: Snoopy Caches PPT PDF   PS 5 due, Lab 5 due
Wed Apr 22 S12: PS 5 review (in 310 Soda)   PS 5 solutions DOC PDF
Thu Apr 23 Quiz 5: VLIW, Vectors, Multithreading
Solutions: DOC PDF
  PS 6 ZIP tar.gz
Lab 6 PDF ZIP tar.gz
Fri Apr 24 S13: Lab 6 overview PDF    
15 Tue Apr 28 L21: Directory Protocols (Scott) PPT PDF    
Thu Apr 30 L22: Virtual Machines PPT PDF    
Fri May 1      
16 Tue May 5 L23: Putting it all Together: Nehalem   PS 6 due, Lab 6 due
Wed May 6 S14: PS 6 review (405 Soda, 12-1p)   PS 6 solutions DOC PDF
Thu May 7 Quiz 6: Parallel Architectures
Solutions: DOC PDF