CS61C Great Ideas in Computer Architecture (Machine Structures). Fall 2010, UC Berkeley
P&HK&R  
CS61C Fall 2010
MWF 10-11am 10 Evans





Timely Announcements

2010-12-15 Final solutions/rubric posted Final solutions/rubric
2010-12-9 Review Session problems posted

Questions (solutions)

2010-12-8 Project 3 Rubric

See these instructions for scoring rubric.

2010-10-23 Project 3 Extra Credit Details

See these instructions for extra credit details.

2010-10-22 Project 3 Extra Credit VM instructions

See these instructions if you want to have a dedicated machine to do performance optimizations for Project 3.

2010-10-27 Project 1 Rubric Posted

Rubric. We have detailed an appeals process for obtaining a regrade. Please check the document for details. The deadline for appeals is 11/3.

2010-10-19 Lab 4b Posted
2010-10-13 Grading Issues

Regrade requests for the Midterm are due to your TA by Tuesday, 10/19.

Grading complaints for everything except project 4 are due by December 1.

2010-10-12 Midterm solutions

Solutions and rubrics for the midterm have been posted.

2010-10-12 Lab 4A posted
2010-10-09 Project 2 Posted

Project 2 has been posted. A first checkpoint is due next Saturday, 10/16, at 23:59:59.

2010-10-07 Lab 3B posted
2010-10-04 HW2 Rubric, HW3 solutions posted

Get 'em while they're hot.

2010-10-04 Midterm Review Session!

Monday, October 4 in 100 GPB from 6-8pm

2010-09-29 HW3

HW3 has been posted. It is due on Sunday one second before midnight.

2010-09-29 Lab 3, Part 1

Lab 3, part 1 has been posted.

2010-09-13 HW #1

Solutions posted here.

2010-09-12 Project 1

Posted. See link below. This is a two week assignment with an intermediate checkpoint due Friday. Start early.

2010-09-08 HW and Project Late Policy

Homework assignments are to be submitted electronically by the indicated due time. Late submissions will not be credited!
Projects may be submitted up to two days late at a 20% penalty.
Projects later than two days (e.g., past midnight Sunday) will not be credited!
HW and Project electronic submission instructions are here.

Old News




Lecture, Reading, and Assignment Calendar


Due Friday@23:59:59
Wk Date Lecture Topic Reading Section Lab Assignment Due
1
08.27
F
Introduction and C vs. Assembly--
Introduction (2 up), (6 up)
2
08.30
M
HW/SW Interface: C vs. Assembly--
Operands (2 up), (6 up)
P&H (4th): 2.1-2.3, 2.6 Section 1:
Read K&R
Ch 2, Ch 3,
Ch 6: 6.1, 6.2
Lab 1, Part 1:
C Environment and Strings
HW#1: HW/SW interface
Solution
09.01
W
HW/SW Interface: C vs. Assembly--
Characters (2 up), (6 up)
P&H (4th): 2.9, 2.7
09.03
F
HW/SW Interface: C vs. Assembly--
Functions (2 up), (6 up)
P&H (4th): 2.14, 2.8
3
09.06
M
Holiday Section 2:
Read K&R
Ch 4, Ch 5
Lab 1, Part 2:
More C: Pointers and Number Representation
HW#2: rgrep
Due Friday@23:59:59
rubric
09.08
W
HW/SW Interface: C vs. Assembly--
Numbers (2 up), (6 up)
P&H (4th): 2.4, 3.5 (pp. 242-250
09.10
F
HW/SW Interface: C vs. Assembly--
Instructions (2 up), (6 up)
P&H (4th): 2.4, 2.5, 2.9, 2.10,
2.12 (pp. 139-142), 2.13, 3.5 (pp. 242-250, 259-266), 3.8
4
09.13
M
Floating Point and Pointers Revisited (2 up), (6 up) P&H (4th): 2.14, 3.5, 3.8 Section 3 Lab 2, Part 1:
Assembly Practice
Project#1: MIPS Instruction Set Emulator
Two Weeks, Due Saturday 9/18 (Part 1),
9/25 (Part 2)@23:59:59
Rubric
09.15
W
Technology Trends and
Components of a Computer
(2 up), (6 up)
P&H (4th): 1.1-1.3
09.17
F
Datacenters and Cloud Computing
(2 up), (6 up)
Warehouse-Scale Computers (PDF):
Ch 1, Ch 3, Ch 5.1-5.3
5
09.20
M
Request and Data-Level Parallelism
(2 up), (6 up)
WSC: 2.4 Section 4 Lab 2, Part 2:
More Assembly Practice
09.22
W
Compilation vs. Interpretation
(2 up), (6 up)
P&H (4th): 2.12, B.1-B.4
09.24
F
Quantitative Evaluation
(2 up), (6 up)
6
09.27
M
Quantitative Evaluation
(2 up), (6 up)
Section 5 Lab 3, Part 1:
Cache Blocking
HW#3: C/MIPS and Caches
Solution
09.29
W
Memory Hierarchy:
Direct Mapped Caches
(2 up), (6 up)
P&H (4th): 5.1
10.01
F
Memory Hierarchy:
Cache-Memory Interface
(2 up), (6 up)
P&H (4th): 5.2
(pg. 457-470)
7
10.04
M
Memory Hierarchy:
Cache Performance
(2 up), (6 up)
P&H (4th): 5.3
(pg. 474-479)
Section 6 Lab 3b: EC2
10.06
W
Midterm (6-9 PM), Pimental 1
solutions/rubric
10.08
F
Data Level Parallelism:
Flynn Taxonomy
(2 up), (6 up)
P&H (4th): 1.5, 1.6, 7.1, 7.2
8
10.11
M
Data Level Parallelism:
Intel SSE SIMD Instructions (2 up), (6 up)
P&H (4th): 7.4, 7.7 Section 7 Lab 4, Part 1:
Data Parallelism
Project 2: PageRank (MapReduce)
Two Weeks:
Part One, Due Saturday 10/16@23:59:59
Part Two, Due Saturday, 10/23@23:59:59
10.13
W
Thread Level Parallelism
(4 up) (6 up) (.pptx)
P&H (4th): 7.3, 5.8
10.15
F
Thread Level Parallelism
(4 up) (6 up) (.pptx)
P&H (4th): 2.11
9
10.18
M
Thread Level Parallelism
(4 up) (6 up) (.pptx)
Section 8 Lab 4, Part 2:
Thread Parallelism
10.20
W
Transistors to Gates
(2 up), (6 up)
P&H (4th): C.2-C.3 (on CD),
Logic Handout
10.22
F
State and State Machines
(2 up), (6 up)
P&H (4th): 4.2, C.3-C.6 (on CD),
State Handout
10
10.25
M
Multiplexers and ALUs
(2 up), (6 up)
Blocks Handout; SDS Handout Section 9 Lab 5: Logisim HW 4: Digital Design and FSMs
Solution
10.27
W
Single Cycle CPU Datapath
(2 up), (6 up)
10.29
F
Single Cycle CPU Datapath (cont.)
(2 up), (6 up)
11
11.01
M
Single Cycle CPU Control
(2 up), (6 up)
P&H (4th): 4.1, 4.3, 4.4 Section 10 Lab 5, part 2: More logisim! Project 3: Performance Improvement
Two Weeks, Due Saturday, 11/13@23:59:59
11.03
W
Instruction Level Parallelism
(4 up), (6 up), (.pptx)
P&H (4th): 4..1, 4.3, 4.4
11.05
F
Instruction Level Parallelism
(4 up), (6 up), (.pptx)
P&H (4th): 4.5-4.6
12
11.08
M
Instruction Level Parallelism
(4 up), (6 up), (.pptx)
P&H (4th): 4.7-4.8 Section 11 Optional logisim lab (no official lab due to Veterans' day)
11.10
W
Set-Associative Caches
(2 up), (6 up)
P&H (4th): Rest of 5.2, 5.3
11.12
F
Multi-Level Caches
(2 up), (6 up)
P&H (4th): 5.8
13
11.15
M
C Malloc and Free
(2 up), (6 up)
P&H (4th): 5.3-5.5, 5.10-5.12 Section 12 Lab 6: Free Store and Debugging Project 4: Processor Design
Two Weeks, Due Saturday, 11/27@23:59:59
11.17
W
Virtual Memory
(4 up), (6 up), (.pptx)
P&H (4th): 5.3-5.5, 5.10-5.12
P&H (4th): C.8
11.19
F
Virtual Memory
(4 up), (6 up), (.pptx)
P&H (4th): 6.2,
P&H (4th): C.8 (pg. C-65 to C-67)
14
11.22
M
Traps, Virtual Machines
(4 up), (6 up), (.pptx)
Section 13
11.24
W
Economics of Cloud Computing
(2 up), (6 up)
Warehouse-Scale Computers (PDF):
Ch 1, Ch 3, Ch 5.1-5.3
11.26
F
Thanksgivings Holiday
15
11.29
M
Anatomy of a Modern Microprocessor
A Personal History of RISC
(4 up), (6 up), (.pptx), 1981 RISC talk slides
Section 14 EC Due Date 11/29@23:59:59 Face to Face Project 4 Grading (during lab time)
12.01
W
Programming Contest Results
A Personal History of RAID
(2 up), (6 up)
Berkeley RAID Paper (PDF)
12.03
F
Cal Cultural Heritage
(4 up), (6 up), (.pptx)
Course Wrap-up
(2 up), (6 up)
Reading Week
12.06
M
Final Exam Review, 2-5 PM, 10 Evans Questions (solutions)
Finals
12.13
M
Final Examination, 8-11 AM, 220 Hearst Gym



Weekly Schedule

Monday Tuesday Wednesday Thursday Friday
09:00-10:00       LAB 011 200 Dai  
10:00-11:00 LEC 10 Evans DIS 111 75 Evans LEC 10 Evans LEC 10 Evans
11:00-12:00   DIS 112 75 Evans   LAB 012 200 Dai  
12:00-1:00        
1:00-2:00       LAB 013 200 Dai  
2:00-3:00   DIS 113 2 Evans    
3:00-4:00   DIS 114 2 Evans   LAB 014 200 Dai  
4:00-5:00        
5:00-6:00   DIS 115 71 Evans   LAB 015 200 Dai  
6:00-7:00        
7:00-8:00   DIS 116 385 Le Conte   LAB 016 200 Dai  
8:00-9:00        



Staff

Randy H. Katz

Randy H. Katz
Instructor
randy@cs.berkeley.edu
Office Hours: M 11-12 449 Soda

 

David A. Patterson

David A. Patterson
Instructor
patterson@cs.berkeley.edu
Office Hours: W 11-12 449 Soda

 

Andrew Gearhart
cs61c-tb
Discussion Sections: 114, 116
Lab Sections: 014, 016
OH: F 11-1, 6th Floor Soda Alcove
Michael Greenbaum
cs61c-tc
Discussion Section: 111
Lab Section: 011
OH: W 12-1, 7th Floor Soda Alcove (751)
Conor Hughes
cs61c-td
Discussion Section: 113
Lab Section: 013
OH: W 2-3, 611 Soda (6th floor alcove)
Charles Reiss
cs61c-te
Discussion Sections: 112, 115
Lab Sections: 012, 015
OH: F 1-3, 6th Floor Soda Alcove

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 Google group, 61CFall2010UCB
    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 Randy or Dave in office hours
  6. Ask Randy or Dave in lecture
  7. Send your TA email
  8. Send Randy or 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 100+ students.

Readers

Name Section E-mail
Leah Dorner 111 cs61c-ra
Omar Rehmane 112 cs61c-rb
Paul Ruan 113 cs61c-rc
Paul Ruan 114 cs61c-rc
Frank Gan 115 cs61c-rd
Omar Rehmane 116 cs61c-rb



Resources and Handouts

Don't have a course login? instructions
Floating Point Java Demos: html
Obscure C notes: txt
Hilfinger notes: pdf
Reference card for GDB version 5: pdf | ps | dvi
Course newsgroup: instructions | web client

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




CS Illustrated

Integer Representations Comparing Integer Representations Comparing Integer Representations 2 Comparing Integer Representations 3
Floating Point Floating Point Interpretations Floating Point Number Line Caching Overview
Cache Types Cache Misses Pointers and Arrays Illustrations by

Ketrina Yim

csillustrated.berkeley.edu


CS61C, http://inst.eecs.berkeley.edu/~cs61c/ (Last Updated: Thursday, 2-Dec-2010 09:04:52 PDT)