CS61C Great Ideas in Computer Architecture (Machine Structures). Fall 2011, UC Berkeley
P&HK&R  
CS61C Fall 2011
MWF 2-3pm 105 Stanley





Timely Announcements (RSS)

2011-12-20 Final Exam Distribution
2011-12-07 Final Review session will be held in Dwinelle 145, Friday 4-7PM. Sample Final Sample Final Solutions
2011-11-18 An important note about resubmitting Project 2, part 1, has been added to Piazza here. The reading schedule has been updated (removing the CD portions). Also, since Project 4 will be autograded instead of handled face-to-face, we've swapped out the final week of labs to be a 'catch up' session for getting any outstanding lab assignments checked off.
2011-11-13 Project 4 has been posted. It is a two-week project due Sunday, November 27 at 23:59:59.
2011-11-04 Lab 11 has been posted. It asks you to design the arithmetic and logic unit for use in your processor design project.
2011-11-01 The midterm solutions and rubric are available here. Please get midterm regrade requests in before Friday. (Office hours are a great place to drop them off, and so is your lab section.)

Old News




Lecture, Reading, and Assignment Calendar

Lecture webcasts can be found here.

Wk Date Lecture Topic Reading Section Lab Assignment Due
1
08.26
F
Course Introduction:
Six Great Ideas Notes
HW0 (handed out in lecture Friday)

Turn in HW0 to your TA in lab

2
08.29
M
Number Representation Notes P&H (4th): 2.1-2.3, 2.6 Section 1:
Number Rep.
Handouts
Read K&R
Ch 2, Ch 3,
Ch 6: 6.1, 6.2
Lab 1:
C Environment and Number Representation
HW#1: C and Number Representation
Solution
Actual Solutions
Due Sunday, Sep 4, 2011 @ 23:59:59
08.31
W
Introduction to C:
Basic Language Elements Notes
P&H (4th): 2.9, 2.7
B. Harvey's Intro to C
09.02
F
Introduction to C:
Pointers, Arrays, Strings Notes
P&H (4th): 2.14, 2.8
C Reference Slides
3
09.05
M
Holiday Section 2:
HOLIDAY:
SECTION CANCELLED.
Please still read K&R
Ch 4, Ch 5
Lab 2:
GDB, Seg. Faults, and Strings
HW#2: rgrep
Solutions
TA: Eric Liang
Due Sunday, Sep 11, 2011 @23:59:59
09.07
W
MIPS Intro Notes P&H (4th): 2.4
09.09
F
MIPS lw, sw, Decisions I Notes P&H (4th): 2.9, 2.10
4
09.12
M
MIPS Decisions II Notes P&H (4th): 2.8, 2.10 (pg. 128-129 only), B.6 Section 3:
MIPS
Handouts
Lab 3:
Assembly Practice
Project#1: MIPS Instruction Set Emulator
TA: Paul Ruan
Part 1 - Due Sunday, Sep 18 @ 23:59:59
Part 2 - Due Sunday, Sep 25 @ 23:59:59
09.14
W
MIPS Instruction Format I
Notes
P&H (4th): 2.5, 2.10
09.16
F
MIPS Instruction Format II
Notes
5
09.19
M
MIPS Procedures I
Notes
P&H (4th): 2.8, B.6 Section 4:
MIPS Instructions and Procedures
Handouts
Lab 4:
Function Calls and Pointers in MIPS
09.21
W
MIPS Procedures II & Logic Ops
Notes
P&H (4th): 3.2, 2.6
09.23
F
Memory Hierarchy:
Direct Mapped Caches
Notes
P&H (4th): 5.1
6
09.26
M
Memory Hierarchy:
Cache-Memory Interface
Notes
P&H (4th): 5.2
(pg. 457-470)
Section 5:
Direct Mapped Caches
Handouts
Lab 5:
Cache Blocking
HW3: MIPS and Caches
TA: Sean
Due: Sunday, Oct 2
@23:55:00
09.28
W
Memory Hierarchy:
Cache Performance
Notes
P&H (4th): 5.3
(pg. 474-479)
9.30
F
Floating Point
Notes
P&H (4th): 2.14, 3.5, 3.8
IEEE 754 Simulator
10.01
Sa
HKN Midterm Review
3-5 PM, 306 Soda (HP Aud.)
7
10.03
M
Compilation, Assembly, Linking, Loading
Notes
P&H (4th): 2.12, B.1-B.4 Section 6:
Floating Point; C.A.L.L.
Handouts
Lab 6:
Hadoop: MapReduce
[Exam Week]
10.04
Tu
TA Midterm Review
[UPDATE:] 5-7 PM, 1 Pimentel
10.05
W
Datacenters and Cloud Computing
Notes
Warehouse-Scale Computers (PDF):
Ch 1, Ch 3, Ch 5.1-5.3
10.06
Th
Midterm (7-9 PM), Locations:
10 Evans for Labs 15, 17, 18, and 19
1 Pimentel for all other Labs
solutions/rubric
midterm
10.07
F
MapReduce
Notes
Warehouse-Scale Computers (PDF): Ch 2.4
8
10.10
M
Data Level Parallelism:
Flynn Taxonomy
Intel SSE SIMD Instructions Notes
P&H (4th): 1.5, 1.6, 7.1, 7.2, 7.4, 7.7 Section 7:
Set Associative Caches
Handouts
Lab 7:
Intel SIMD
Project 2: PageRank (MapReduce)
Two Weeks:
Part One, Due Sunday 10/16 @23:59:59
Part Two, Due Sunday 10/23 @23:59:59
10.12
W
Intel SIMD Continued,
Thread Level Parallelism
Notes
P&H (4th): 7.3, 5.8
10.14
F
Thread Level Parallelism
Notes
P&H (4th): 2.11
9
10.17
M
Thread Level Parallelism
Notes
Section 8:
Cache Coherency and Synchronization
Handouts
Lab 8:
Thread Parallelism
10.19
W
Intro to Synch. Digital Systems
Notes
SDS Handout
10.21
F
State and State Machines
Notes
P&H (4th): 4.2, C.3-C.6 (on CD),
State Handout
10
10.24
M
Combinational Logic
Notes
P&H (4th): C.2-C.3 (on CD),
Logic Handout
Section 9:
Logic & SDS
Handouts
Lab 9:
Logisim
HW 4: Digital Design and FSMs
Solutions
10.26
W
Combinational Logic Blocks
Notes
Blocks Handout
10.28
F (no Dan)
Single Cycle CPU Datapath
Notes
P&H (4th): 4.1, 4.3, 4.4
11
10.31
M
Single Cycle CPU Control
Notes
P&H (4th): 4.1, 4.3, 4.4 Section 10:
Single Cycle Datapath
Handouts
Lab 10: More logisim! Project 3: Performance Improvement
Two Weeks:
Part One, Due Sunday 11/6 @23:55:00
Part Two, Due Sunday 11/13 @23:55:00
11.02
W
Single Cycle CPU Control
Notes
P&H (4th): 4.1,4.3,4.4
11.04
F
Instruction Level Parallelism
Notes
P&H (4th): 4.5-4.6
12
11.07
M (no Dan)
Instruction Level Parallelism
Notes
P&H (4th): 4.7-4.8 Section 11:
Pipelining
Handouts
Lab 11: Logisim ALU
11.09
W
Instruction-Level Parallelism
Notes
P&H (4th): 4.7-4.8
11.11
F
Administrative Holiday
13
11.14
M
Virtual Memory
Notes
P&H (4th): 5.3-5.5, 5.10-5.12 Section 12:
Virtual Memory
Handouts
Lab 12: Malloc Project 4: Processor Design
Two Weeks:
Due Sunday, 11/27@23:59:59
11.16
W
Virtual Memory
Notes
P&H (4th): 5.3-5.5, 5.10-5.12
11.18
F
Virtual Memory
Notes
P&H (4th): 6.2
14
11.21
M
I/O Basics
Notes
P&H (4th): 6 Section 13:
Virtual Memory (contd)
Handouts
[no lab; Thanksgiving!]
11.23
W
I/O Networks
Notes
11.25
F
Thanksgiving Holidays
15
11.28
M
I/O Disk
Notes
Berkeley RAID Paper (PDF) Section 14:
I/O
Handouts
Catch-Up Labs  
11.30
W
Amdahl's Law and the
Economics of Parallelization
EC2 Usage Stat Hoedown Notes
12.02
F
Cal Cultural Heritage
Performance winners
Course Wrap-up Notes
Reading Week
[Date TBD] Final Exam Review, Dwinelle 145, Friday 4-7PM
Finals
12.15
Th
Final Examination, 3-6 PM, 1 Pimentel



Weekly Schedule




Staff

Dan Garcia

Dan Garcia
Instructor
ddgarcia@cs.berkeley.edu
Bio
Office Hours: W 11-12, 777 Soda

 

Michael J. Franklin

Michael J. Franklin
Instructor
franklin@cs.berkeley.edu
Office Hours: T 10-11 465 Soda

 

Brian Gawalt
Email Bio
Discussion Sections: 115, 117, 118, 119 (alternates with Paul)
Lab Sections: 015, 017
OH: Th 2-4, 330 Soda
Eric Liang
Email Bio
Discussion Section: 114
Lab Section: 014
OH: Th 12-1, 330 Soda
Paul Ruan
Bio
Discussion Section: 115, 117, 118, 119 (alternates with Brian)
Lab Section: 018, 019
OH: F 8-10 AM, 330 Soda
Sean Soleyman
Email Bio
Discussion Sections: 111, 116
Lab Sections: 011, 016
OH: F 12-2, 246 Cory Hall
Anirudh Todi
Email Bio
Discussion Sections: 112, 113
Lab Sections: 012, 013
OH: Th 4-6, 330 Soda
Ian Vonseggern
Email
Discussion Sections: 120
Lab Sections: 020
OH: Th 1-2, 330 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. Our Piazza group, located here.
    1. First read it to see if your question has already been asked
    2. If not, ask it and check back for your answer
  4. Ask your TA in discussion section, lab, or office hours
  5. Ask Dan or Michael in office hours
  6. Ask Dan or Michael in lecture
  7. Send your TA email
  8. Send Dan or Michael email. Note that this is a dodgy proposition -- emails from 200+ students can pile up quick, and yours might be on the bottom of the stack.

Readers

Name Reader Acct. Grading Accounts E-mail
Omar Rehmane rb aa - ck reader.omar@gmail.com
Alan Christopher rc cl - eu alanchristopher@berkeley.edu
Casey Lawler re ev - hk, nk-ob clawler@berkeley.edu
Gideon Chia rf hl - kc gideonchia@berkeley.edu
Minh Luong rd kd - nj minh.luong@berkeley.edu



Resources and Handouts

Don't have a course login? instructions
The Green Sheet: pdf
Floating Point Java Demos: html
Hilfinger notes: pdf
Reference card for GDB version 5: pdf | ps | dvi

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

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 C and assembly language programming, how higher level programs are translated into machine language, the general structure of computers, interrupts, caches, address translation, CPU design, 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.

An alumni-run alternative to the usual bookstores can be found at www.cTextbook.com





CS61C, http://inst.eecs.berkeley.edu/~cs61c/ (Last Updated: Wednesday, 24-Aug-2011)