CS61C Great Ideas in Computer Architecture (Machine Structures). Spring 2012, UC Berkeley
P&HK&RWSC  
CS61C Spring 2012
TuTh 9:30-11 245 Li Ka Shing





Timely Announcements

2012-05-09 Final solutions

Solutions to the final are now available here. Final grades have been entered and are accessible through glookup. Your course grades should be accessible through BearFacts by the weekend.

2012-03-31 Project 4 has been posted. Good luck and start early!
2012-03-11 Project 3 spec has been updated
2012-03-07 Midterm solutions

The rubric is now available here. The midterms have been graded and grades are accessible via glookup. You can get a hardcopy of your exam from your TA during this week's lab or next week's discussion section.

2012-03-06 Project 3 has been posted
2012-03-04 Midterm review materials

Are here.

2012-03-03 HW5 Posted
2012-01-06 Welcome to CS61C Spring 2012!

You will find important announcements here. Please check this page often. Welcome to CS61C!




Lecture, Reading, and Assignment Calendar

Homeworks (HW) are graded on correctness and are due on Sundays by 23:59:59 (11:59:59pm) (except where noted otherwise)
Labs are to be completed during your 2-hour lab time! (unless your TA explicitly offers 'delayed-checkoff')
Policy on Assignments and Independent Work. With the exception of laboratories and assignments that explicitly permit you to work in groups, all homeworks and projects are to be YOUR work and your work ALONE. You are encouraged to discuss your assignments with other students, but we expect that what you hand in is yours. It is NOT acceptable to copy solutions from other students. It is NOT acceptable to copy (or start your) solutions from the Web. We have tools and methods, developed over many years, for detecting this. You WILL be caught, and the penalties WILL be severe. At the minimum a ZERO for the assignment, possibly an F in the course, and a letter to your university record documenting the incidence of cheating.

Wk Date Lecture Topic Reading Section Lab Assignment Due
1
01/17
Tu
Introduction:
Warehouse Scale Computers
(pdf) (pptx)
Warehouse-Scale Computers (PDF):
Ch 1, 3, 5.1-5.3
P&H (4th): 1.1-1.3
Section 1 Lab 1: Git/Accounts HW#1
Due: 01/22@23:59:59
01/19
Th
Parallelism:
Data Parallel Map-Reduce
(pdf) (pptx)
WSC: 2.4
2
01/24
Tu
Introduction to C:
Basic Language Elements
(pdf) (pptx)
Read K&R Ch 2, 3, 5.1, 5.3, 6.1, 6.2 Section 2 Lab 2: Map Reduce HW#2
Due: 01/29@23:59:59
01/26
Th
Introduction to C:
Pointers, Arrays, Strings
(pdf) (pptx)
Read K&R Ch 4.4, 4.5, 4.8-4.10, 5.2, 5.4, 5.5, 5.10
3
01/31
Tu
HW/SW Interface:
C to MIPS
(pdf) (pptx)
P&H (4th): 2.1-2.3, 2.7, 2.9 Section 3 Lab 3: EC2 HW#3
Due: 02/12@23:59:59
02/02
Th
HW/SW Interface:
MIPS Instructions, Operands, Strings
(pdf) (pptx)
P&H (4th): 2.8, 2.13, 2.14
4
02/07
Tu
HW/SW Interface:
Integers, Floats
(pdf) (pptx)
P&H (4th): 2.4, 3.5 (pp. 242-250) Section 4 Lab 4: C Practice & Debug Project#1: MapReduce
Due: 02/12@23:59:59
02/09
Th
HW/SW Interface:
Machine Instructions, Assembly,
Pseudo Instructions, Linking (pdf) (pptx)
P&H (4th): 2.12, B.1-B.4
5
02/14
Tu
Compilation, Interpretation,
Dynamic Linking, Moore's Law,
Components
(pdf) (pptx)
P&H (4th): 2.12 Section 5 Lab 5: Assembly Practice HW#4
Due: 02/19@23:59:59
02/16
Th
Performance and
Quantitative Evaluation
(pdf) (pptx)
P&H: (4th): 1.4
6
02/21
Tu
Memory Hierarchy:
Direct Mapped Caches
(pdf) (pptx)
P&H (4th): 5.1 Section 6 Lab 6: More Assembly Practice Project#2: MIPS Instruction Set Emulator
Part 1 Due: 02/19@23:59:59
Part 2 Due: 02/26@23:59:59
02/23
Th
Memory Hierarchy:
Writing, AMAT, Cache Blocking
(pdf) (pptx)
P&H (4th): 5.2 (pp. 457-470), 5.3 (pp. 474-479)
7
02/28
Tu
Data Level Parallelism:
Flynn Taxonomy,
Intel SSE SIMD
(pdf) (pptx)
P&H (4th): 1.5, 1.6, 7.1, 7.2 Section 7 Lab 7: Cache Blocking
03/01
Th
Data Level Parallelism:
Amdahl's Law, Loop Unrolling,
Checking Compiled Code
(pdf) (pptx)
P&H (4th): 7.4, 7.6
8
03/04
Su
Midterm Review, 2-5 PM, 2050 VLSB
Lab 8: Data Level Parallelism HW#5
Due: 03/11@23:59:59
03/06
Tu
Midterm, 6:40-9:40 PM, 2050 VLSB
03/08
Th
Thread Level Parallelism:
Cache Coherency, Data Races,
Synchronization
(pdf) (pptx)
P&H (4th): 7.3, 5.8
9
03/13
Tu
Thread Level Parallelism:
OpenMP
(pdf) (pptx)
P&H (4th): 2.11
OpenMP Summary Card
Section 9 Lab 9: Thread Level Parallelism Project#3: Optimizing Matrix Multiplication
Part 1 Due: 03/18@23:59:59
Part 2 Due: 04/01@23:59:59
03/15
Th
HW:
Transistors/Gates/Flip-flops
Boolean Algebra/Timing
(pdf) (pptx)
P&H (4th): C.2-C.3 (on CD); Logic Handout, State Handout
10
03/20
Tu
HW:
Timing, FSM, Logisim Demo
(pdf) (pptx)
Blocks Handout, SDS Handout Section 10 Lab 10: Logisim
03/22
Th
HW:
Single Cycle CPU Datapath and Control
(pdf) (pptx)
P&H (4th): 4.1, 4.3, 4.4

03/27
Tu
Spring Break
03/29
Th
11
04/03
Tu
Instruction Level Parallelism
(pdf) (pptx)
P&H (4th): 4.5, 4.6 Section 11 Lab 11: Logisim ALU HW#6
Due: 04/08@23:59:59
04/05
Th
Instruction Level Parallelism
(pdf) (pptx)
P&H (4th): 4.7, 4.8
12
04/10
Tu
In More Depth:
Set-Associative Caches
(pdf) (pptx)
P&H (4th): Rest of 5.2, 5.3 Section 12 Lab 12: More Logisim Project#4: Processor Design
Due: 04/15@23:59:59
04/12
Th
In More Depth:
Dependability (ECC)
(pdf) (pptx)
P&H (4th): 6.2,
pp. C-65 to C-67 (on CD) 13
13
04/17
Tu
In More Depth:
Dependability (RAID)
(pdf) (pptx)
P&H (4th): 6.9
K&R 7.8.5
Section 13 Lab 13: C Memory Management Project#3EC: Matrix Multiply Extra Credit
Due 04/22@23:59:59
04/19
Th
In More Depth:
Virtual Machines
(pdf) (pptx)
P&H (4th): 5.6 Section 13
14
04/24
Tu
Programming Contest Results/Virtual Memory for Virtual Machines
(pdf) (pptx) (RISC Talk 1981)
P&H (4th): 5.4 (pp. 492-499) Section 14
04/26
Th
Course Retrospective/Berkeley Culture/HKN
(pdf) (pptx)
P&H (4th): 6.9
Reading Week
04/29 Final Exam Review, 2-5PM, 2050 Valley LSB
Finals
05/09
W
Final Examination, 11:30 AM-2:30 PM, 1 Pimentel



Weekly Schedule

Monday Tuesday Wednesday Thursday Friday
09:00-10:00   LEC 245 Li Ka Shing
(9:30-11:00)
  LEC 245 Li Ka Shing
(9:30-11:00)
LAB 015 330 Soda
(Alan)
10:00-11:00   DIS 115 385 LeConte
(Alan)
11:00-12:00     DIS 116 B56 Hildebrand
(Eric)
  LAB 016 330 Soda
(Eric)
12:00-1:00        
1:00-2:00       LAB 011 330 Soda
(Rimas)
LAB 017 330 Soda
(Eric)
2:00-3:00   DIS 111 85 Evans
(Rimas)
DIS 117 B56 Hildebrand
(Eric)
3:00-4:00   DIS 112 3107 Etcheverry
(Scott)
DIS 118 3102 Etcheverry
(Paul)
LAB 012 330 Soda
(Scott)
LAB 018 330 Soda
(Paul)
4:00-5:00      
5:00-6:00   DIS 113 3113 Etcheverry
(Ian)
DIS 119 3113 Etcheverry
(Paul)
LAB 013 330 Soda
(Ian)
LAB 019 330 Soda
(Paul)
6:00-7:00        
7:00-8:00   DIS 114 B56 Hildebrand
(Ian)
  LAB 014 330 Soda
(Ian)
 
8:00-9:00        



Staff

David A. Patterson

David A. Patterson
Instructor
pattrsn@cs.berkeley.edu
Office Hours: Tue 3-4, 465D SODA

 

Rimas Avizienis
Discussion Sections: 111
Lab Sections: 011
OH: Mon 12pm-2pm, 751 Soda
Scott Beamer
Discussion Sections: 112
Lab Sections: 012
OH: Thu 11am-12pm, 751 Soda
Alan Christopher
Discussion Sections: 115
Lab Sections: 015
OH: Fri 4pm-6pm, 751 Soda
 
Eric Liang
Discussion Sections: 116, 117
Lab Sections: 016, 017
OH: Wed 3pm-5pm, 411 Soda
Paul Ruan
paul.ruan@gmail.com
Discussion Sections: 118, 119
Lab Sections: 018, 019
OH: Tue 4pm-5pm, 751 Soda and 6pm-7pm, 411 Soda
Ian Vonseggern
ianvonseggern@berkeley.edu
Discussion Sections: 113, 114
Lab Sections: 013, 014
OH: Wed 12pm-2pm, 751 Soda

If you have a question, here are the ways to get an answer, rated from best to worst:

  1. Search for the answer yourself. Far too often students ask a question whose answer is available on this very page or on the top of assignment handouts
  2. Ask a fellow classmate
  3. Look for your question on Piazza, ask a new one if necessary
  4. Ask your TA in discussion section, lab, or office hours
  5. Ask Dave in office hours
  6. Ask Dave in lecture
  7. Send your TA email
  8. Send Dave email. Note that this is by far the worst way to ask a question. Email as a communications medium simply does not scale to 300+ students.

Readers

Name Account Grading Accounts E-mail
Achal Soni cs61c-rb ab-ca achalsoni@berkeley.edu
Casey Lawler cs61c-rf cb-er clawler@berkeley.edu
Joyjit Daw cs61c-rc es-gy jdaw@ocf.berkeley.edu
James Ferguson cs61c-rd gz-ir jferguson@berkeley.edu
Thanh Hai Mai cs61c-re is-mz thanhhaipmai@gmail.com



Resources and Handouts

Floating Point Java Demos: html
MIPS Green Sheet pdf
Hilfinger notes: pdf
Reference card for GDB version 5: pdf | ps | dvi

P&HK&RWSC We will be using the revised fourth edition of Patterson and Hennessy's Computer Organization and Design book ("P&H"), ISBN 0123747503.  This book is new; in fact, it has a 2012 copyright! (Don't get "Computer Architecture: A Quantitative Approach"  by the same authors; it is intended for CS152!).

Beware buying from a site that imports books from Asia, since the content of that book is different (ARM instruction set instead of MIPS, for example). These companies often lie about what version they are selling, sometimes taking the image of the US edition and claiming it is the same. For example, one says "International edition. Book printed on cover third edition same content as fourth edition." That would have saved me a lot of time, but they made that up to sell books.

We are also requiring The C Programming Language, Second Edition by Kernighan and Ritchie ("K&R"), and will reference its sections in the reading assignments. Other books are also suitable if you are already comfortable with them, but our lectures will be based on K&R.

The subjects covered in this course include performance measurement, parallelism, computer organization, pipelining, caches, cloud computing, how higher level programs are translated into machine language, C and assembly language programming, and related topics. The only prerequisite is that you have taken Computer Science 61B, or at least have solid experience with a C-based programming language.




CS61C, http://inst.eecs.berkeley.edu/~cs61c/ (Last Updated: Monday, 05-Mar-2012 13:07:00 PDT)