Computer Science 152: Computer Architecture and Engineering

Spring 2008

Prof. Krste Asanović

Lectures: Tuesday and Thursday, 2:00-3:30PM, 320 Soda
Section: Wednesday, 10:00AM-11:00AM, 2 Evans

Latest announcements.
Fri, April 25: Lab 6 and PS 6 posted.

Welcome to the Spring 2008 CS152 web page. We have made substantial changes to the course curriculum this semester. Our goal is for you to better understand how software interacts with hardware. 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. Instead of a large FPGA-based design project, students will complete a series of lab assignments using a variety of computer architectures. A separate follow-on lab course will be offered in Fall 2008, focusing exclusively on advanced processor implementation using FPGA prototyping (for which both CS150 and CS152 will be a prerequisite). Dropping the design project in CS152 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 this semester were previously only offered in the CS252 graduate course. We have also removed the CS150 prerequisite for the new CS152.

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.

More detailed course info

Course Calendar with Handouts

Note: Schedule subject to change.

Week Date Lecture Readings, Assignment Due
1 Tue Jan 22 L1: Introduction, ISA Design PPT PDF    
Wed Jan 23 No section    
Thu Jan 24 L2: Simple Machine Implementations PPT PDF Ch. 1, App. B  
2 Tue Jan 29 S1: Introduction to Simics PPT PDF    
Wed Jan 30 No section    
Thu Jan 31 L3: From CISC to RISC PPT PDF    
3 Tue Feb 5 L4: Pipelining PPT PDF A.1-A.3,
Lab 1 PDF ZIP tar.gz
PS 1 ZIP tar.gz
Wed Feb 6 S2: Lab 1 overview. Section problem set and solutions  
Thu Feb 7 L5: Pipelining part II PPT PDF A.4  
4 Tue Feb 12 L6: Memory Hierarchy PPT PDF C.1-C.3,
PS 1 solutions DOC PDF
PS 1 due
Wed Feb 13 S3: PS 1 Review    
Thu Feb 14 L7: Memory Hierarchy II PPT PDF    
Fri Feb 15   PS 2 ZIP tar.gz
Lab 1 due, 5pm in 645 Soda
5 Mon Feb 18 President's Day Holiday No Office Hours  
Tue Feb 19 Quiz 1: ISAs, microcode, simple pipelines Lab 2 PDF ZIP tar.gz  
Wed Feb 20 S4: Lab 2 overview    
Thu Feb 21 L8: Memory Hierarchy III PPT PDF    
6 Tue Feb 26 L9: Address Translation and Protection PPT PDF Quiz 1 solutions DOC PDF
PS 2 solutions DOC PDF
PS 2 due
Wed Feb 27 S5: PS 2 review Section handouts PDF  
Thu Feb 28 L10: Virtual Memory PPT PDF PS 3 ZIP tar.gz Lab 2 due
7 Tue Mar 4 Quiz 2: Memory Hierarchies Lab 3 PDF ZIP tar.gz  
Wed Mar 5 S6: Lab 3 overview    
Thu Mar 6 L11: Virtual Memory and Caches PPT PDF    
8 Tue Mar 11 L12: Complex pipelines PPT PDF A.5-A.8 PS 3 due
Wed Mar 12 S7: PS 3 review PS 3 solutions DOC PDF
Section problems solutions
Thu Mar 13 L13: Out-of-order issue and register renaming PPT PDF Ch 2.1-2.5 Lab 3 due
9 Tue Mar 18 Quiz 3: Virtual Memory Lab 4 PDF ZIP tar.gz
Wed Mar 19 S8: Lab 4 overview    
Thu Mar 20 L14: Branch Prediction PPT PDF    
10 Mar 24-28 Spring Break    
11 Tue Apr 1 L15: Advanced Superscalars PPT PDF    
Wed Apr 2 No Section    
Thu Apr 3 L16: VLIW PPT PDF    
12 Tue Apr 8 L17: Vectors PPT PDF   PS 4 due, Lab 4 due
Wed Apr 9 S9: PS 4 review PS 4 solutions DOC PDF  
Thu Apr 10 Quiz 4: Complex Pipelining Lab 5 PDF ZIP tar.gz
13 Tue Apr 15 L18: Multithreading PPT PDF    
Wed Apr 16 S10: Lab 5 overview    
Thu Apr 17 L19: Synchronization and Sequential Consistency PPT PDF Quiz 4 solutions DOC PDF  
14 Tue Apr 22 L20: Snoopy Caches PPT PDF   PS 5 due, Lab 5 due
Wed Apr 23 S11: PS 5 review PS 5 solutions DOC PDF  
Thu Apr 24 Quiz 5: VLIW, Vectors, Multithreading Lab 6 PDF ZIP tar.gz
PS 6 ZIP tar.gz
15 Tue Apr 29 L21: Directory Protocols PPT PDF    
Wed Apr 30 S12: Lab 6 overview    
Thu May 1 No lecture    
16 Tue May 6 L22: Final lecture PPT PDF PS 6 solutions DOC PDF PS6 due, Lab 6 due
Wed May 7 S13: PS 6 review    
Thu May 8 Quiz 6: Parallel Architectures