CS61C Great Ideas in Computer Architecture (Machine Structures). Fall 2012, UC Berkeley
P&HK&RWSC  
CS61C Fall 2012
MWF 11-12 155 Dwinelle





Timely Announcements

2012-12-04 Final Room Assignment

220 Hearst Gym for logins ab-jl
230 Hearst Gym for logins jm-wh
242 Hearst Gym for logins wi-xm

2012-10-04 Midterm Room Assignment

1 Pimentel for logins ab-mk
2050 VLSB for logins mm-xm

2012-09-04 No discussion sections this week

Instead the TA's will be holding extra office hours, times are on piazza.

2012-09-03 HW1 Submission Grace Period

We are extending a grace period on submissions for hw1 until 11:59:59PM on 09/04/2012.

2012-09-01 Sung Roa's office hours have a new location

Sung Roa will be hosting his office hours in 411 Soda in the future.

2012-08-26 New sections have been added to Telebears

The three new sections now officially exist in the registration system.

2012-08-26 HW#1 is up

The first homework assignment has been posted.

2012-08-15 No Lab/Discussion First Week

Discussion and Lab will start the week of 08/27, not the week of 08/20.

2012-08-14 Welcome to CS61C Fall 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.

Lecture, Reading, and Assignment Calendar

Wk Date Lecture Topic Reading Section Lab Assignment Due
1
08.24
F
Course Introduction: Great Ideas in Architecture
(pptx) (pdf)
P&H (4th) 1.1 - 1.3, 1.6
2
08.27
M
Trends: WSC to Multicore Computers
(pptx) (pdf)
Warehouse Scale Computers (WSC): 1, 3, 5.1 - 5.3
Section 1
(Solutions)
Lab 1: Git HW#1
(Solutions)
08.29
W
Parallelism: Data Parallel Map-Reduce
(pptx) (pdf)
WSC: 2.4
08.31
F
Introduction to C: Basic Language Elements
(pptx) (pdf)
K&R: 1, 2, 3
3
09.03
M
Holiday   Lab 2: Map-Reduce HW#2
(Solutions)
09.05
W
Introduction to C: Pointers/Arrays/Strings
(pptx) (pdf)
K&R: 4, 5, 6
09.07
F
HW/SW Interface: C to MIPS
(pptx) (pdf)
P&H 2.1-2.3, 2.7
4
09.10
M
HW/SW Interface: Strings and Functions
(pptx) (pdf)
K&R: Ch 5 & 4;
P&H: 2.5, 2.8, 2.9, B.5, B.6;
Section 2
(Solutions)
Lab 3: EC2 Project#1a: Map-Reduce

HW#3
(Solutions)
09.12
W
HW/SW Interface: Functions and Numbers
(pptx) (pdf)
P&H: 2.4;
09.14
F
HW/SW Interface: Floats and Instructions
(pptx) (pdf)
P&H: 2.5, 3.5 (pp. 242-250);
5
09.17
M
Computer Components
(pptx) (pdf)
P&H 4.1-4.4 Section 3
(Solutions)
Lab 4: C Practice Project#1b: Map-Reduce
09.19
W
Performance
(pptx) (pdf)
P&H 1.4-1.5, 1.7
09.21
F
Assemblers, Linkers, Compilers
(pptx) (pdf)
P&H: B.1, B.2, B.3, B.4;
6
09.24
M
Compilers and Floating Point
(pptx) (pdf)
P&H: B.4, 3.5, 3.6 Section 4
(Solutions)
Lab 5: MIPS Assembly Project#2a: Instruction Set Emulator

HW#4
(Solutions)
09.26
W
Memory Hierarchy: Direct-Mapped Caches
(pptx) (pdf)
P&H: 5.1-5.2
9.28
F
Memory Hierarchy: Cache Performance
(pptx) (pdf)
P&H: 5.3, 5.5
7
10.01
M
Memory Hierarchy: Cache Performance Programming
(pptx) (pdf)
No additional readings Section 5
(Solutions)
Lab 6: More MIPS Project#2b: Instruction Set Emulator
10.03
W
Data-Level Parallelism: Flynn Taxonomy
(pptx) (pdf)
P&H: 7.1-7.2,7.6
10.05
F
Data-Level Parallelism: Intel SSE SIMD
(pptx) (pdf)
No additional readings
8
10.7
Sun
Midterm Review, 3-5 PM, 2050 VLSB Section 6
(Solutions)
Midterm Solutions
Lab 7: Cache Blocking  
10.8
M
Thread-Level Parallelism: Multiprocessor Cache Coherency
(pptx) (pdf)
P&H: 7.3, 5.8
10.9
Tue
Midterm (8-10 PM)
1 Pimentel for logins ab-mk
2050 VLSB for logins mm-xm
10.12
F
Thread-Level Parallelism: OpenMP
(pptx) (pdf)
P&H: 2.11
OpenMP Summary Card
9
10.15
M
Thread-Level Parallelism: OpenMP
(pptx) (pdf)
No additional readings Section 7 Lab 8: Data-Level Parallelism Proj#3a: Matmul Performance Improvement

HW#5
(Solutions)
10.17
W
HW: Transistors to Gates
(pptx), (pdf)
P&H: C.2-C.3 (on CD); Logic Handout
10.19
F
HW: Timing and State Machines
(pptx), (pdf)
P&H: 4.1, 4.2; State Handout, SDS Handout
10
10.22
M
HW: Muxes and ALUs
(pptx), (pdf)
P&H: 4.3; Blocks Handout Section 8
(Solutions)
Lab 9: Thread-Level Parallelism Proj#3b: Matmul Performance Improvement
10.24
W
HW: Single Cycle CPU, Part I
(pptx), (pdf)
P&H: 4.4
10.26
F
HW: Single Cycle CPU, Part II
(pptx), (pdf)
P&H: 4.4
11
10.29
M
HW: Single Cycle CPU Control
(pptx), (pdf)
P&H: 4.4 Section 9
(Solutions)
Lab 10: Logisim HW#6
(Solutions)
10.31
W
Instruction-Level Parallelism: Pipelined Datapath
(pptx), (pdf)
P&H: 4.5
11.02
F
Instruction-Level Parallelism: Pipeline Control
(pptx), (pdf)
P&H: 4.6
12
11.05
M
Instruction-Level Parallelism: Multiple Instruction Issue
(pptx), (pdf)
P&H: 4.7, 4.8 Section 10
(Solutions)
Lab 11: More Logisim Project#4: Processor Design
11.07
W
In More Depth: Set-Associative Caches
(pptx) (pdf)
Review P&H: 5.1-5.3,5.5,5.8
11.09
F
C Memory Management
(pptx) (pdf)
K&R: 7.8.5, 8.7
13
11.12
M
Holiday Section 11
(Solutions)
Lab 12: C Mem Management Project#5: Matmul Extra Credit
11.14
W
In More Depth: Dependability, Parity, ECC, RAID
(pptx), (pdf)
P&H: 6.2, 6.9,
C65-67 (on CDROM)
11.16
F
In More Depth: Exceptions/Traps/Interrupts
(pptx), (pdf)
P&H: 4.9
14
11.19
M
In More Depth: Protection/Virtual Memory
(pptx), (pdf)
P&H: 5.4, 5.6 Section 12
(Solutions)
   
11.21
W
Virtual Memory Part II
(pptx), (pdf)
No additional readings.
11.23
F
Holiday
15
11.26
M
Programming Contest/Career Advice
(pptx), (pdf), (pptx), (pdf)
No additional readings Section 13
(Solutions)
   
11.28
W
Modern Microprocessors: Servers and Cellphones
(pptx), (pdf)
No additional readings
11.30
F
Course Wrap-up
(pptx), (pdf)
No additional readings./td>
Reading Week
12.05
W
Final Examination Review
12:00-3:00PM
1 Pimental
Finals
12.10
M
Final Examination (pdf) (answer key)
11:30 AM-2:30 PM

220 Hearst Gym for logins ab-jl
230 Hearst Gym for logins jm-wh
242 Hearst Gym for logins wi-xm



Weekly Schedule

Monday Tuesday Wednesday Thursday Friday
08:00-09:00       LAB 016 330 SODA
(Loc)
 
09:00-10:00   DIS 116 320 SODA
(Loc)
DIS 123 320 SODA
(Loc)
LAB 023 330 SODA
(Loc)
10:00-11:00   DIS 117 320 SODA
(James)
  LAB 017 330 SODA
(James)
11:00-12:00 LEC 01 155 Dwinelle   LEC 01 155 Dwinelle LEC 01 155 Dwinelle
12:00-1:00 DIS 124 310 SODA
(Brandon)
  LAB 011 330 SODA
(Anirudh)
  LAB 018 330 SODA
(James)
 
1:00-2:00 DIS 111 320 SODA
(Anirudh)
DIS 118 320 SODA
(James)
LAB 024 200 SDH
(Brandon)
 
2:00-3:00 DIS 112 320 SODA
(Sung Roa)
DIS 119 320 SODA
(Brandon)
LAB 012 330 SODA
(Sung Roa)
LAB 019 330 SODA
(Brandon)
 
3:00-4:00 DIS 125 320 SODA
(William)
  LAB 025 200 SDH
(William)
 
4:00-5:00     LAB 013 330 SODA
(Ravi)
LAB 020 330 SODA
(Alan)
 
5:00-6:00 DIS 113 405 SODA
(Ravi)
DIS 120 320 SODA
(Alan)
   
6:00-7:00 DIS 114 405 SODA
(Anirudh)
DIS 121 320 SODA
(Alan)
LAB 014 330 SODA
(Anirudh)
LAB 021 330 SODA
(Alan)
 
7:00-8:00 DIS 126 320 SODA
(Sung Roa)
DIS 122 320 SODA
(Ravi)
 
8:00-9:00 DIS 115 320 SODA
(William)
  LAB 015 330 SODA
(William)
  LAB 022 330 SODA
(Ravi)
 
9:00-10:00     LAB 026 200 SDH
(Sung Roa)
 
10:00-11:00          



Staff

Krste Asanovic

Krste Asanovic
Instructor
krste@eecs.berkeley.edu
Office Hours: Monday 5PM-6PM, 579 SODA (email to confirm)

 

Randy H. Katz

Randy H. Katz
Instructor
randy@cs.berkeley.edu
Office Hours: M, 2PM-3PM, 449 SODA;
W 10AM-11AM, 449 SODA

 

Alan Christopher
alanchristopher@berkeley.edu
Discussion Sections: 120, 121
Lab Sections: 020, 021
OH: Thu 2-4PM,
Location: 283E Soda
Loc Thi Bao Do
locdo@berkeley.edu
Discussion Sections: 116, 123
Lab Sections: 016, 023
OH: Mon 8-10AM,
Location: 651 Soda
James Ferguson
jferguson@berkeley.edu
Discussion Sections: 117, 118
Lab Sections: 017, 018
OH: Tue 11AM-1PM,
Location: 651 Soda
Anirudh Garg
anirudh.garg@berkeley.edu
Discussion Sections: 111, 114
Lab Sections: 011, 014
OH: Thu 4-6PM,
Location: 651 Soda
 
William Ku
williamku@berkeley.edu
Discussion Sections: 115, 125
Lab Sections: 015, 025
OH: Mon 4-6PM,
Location: 651 Soda
Brandon Luong
bluong@berkeley.edu
Discussion Sections: 119, 124
Lab Sections: 019, 024
OH: Fri 2-4PM,
Location: 283E Soda
Ravi Punj
ravipunj@berkeley.edu
Discussion Sections: 113, 122
Lab Sections: 013, 022
OH: Fri 12-2PM, Location:
Free Speech Move.(FSM) Cafe
Sung Roa Yoon
sungroa@berkeley.edu
Discussion Sections: 112, 126
Lab Sections: 012, 026
OH: Wed 7-9PM,
Location: 411 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 Randy or Krste in office hours
  6. Ask Randy or Krste in lecture
  7. Send your TA email
  8. Send Randy or Krste 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
Drew Zagieboylo cs61c-ra ab-dy dzag1600@berkeley.edu
Victor Lymar cs61c-rb dz-je victorl@berkeley.edu
Stephen Chen cs61c-rc jf-oc stephenjchen@berkeley.edu
Insuk Lee cs61c-rd od-ua kevinsuklee@gmail.com
Joyjit Daw cs61c-re ub-xz jdaw@ocf.berkeley.edu



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, 26-Nov-2012 15:22:00 PST)