CS 61CL Machine Structures. Summer 2009, UC Berkeley
CS 61CL Summer 2009
MW 9:30-11am 277 Cory (LAB: 271 Soda)

Timely Announcements

8.18 Grades are done

There were 27 As (3 were +, 8 were -), 36 Bs (8 were +, 17 were -), 30 Cs (7 were +, 2 were -), and 4 Fs. Grades should be visible on BearFacts tomorrow.

On behalf of the entire CS61C staff, thank you for a great summer. Enjoy your week off, and have a great Fall.

8.09 Final Thursday

The CS61CL final is Thursday, August 13 from 9:00-12:00pm in 277 Cory(lecture room). If you have a conflict with another class and have not already resolved it with Jeremy, please e-mail him right away. You are allowed 2 books and a reasonable amount of notes.

8.07 Final Exam Review Round 2, A New Challenge, now available. I'll be going over these questions as well as the Round 1 questions, plus anything else you care to ask about during the review session on Wednesday.
8.07 Final Exam Review Round 1 now available. I'll be going over these questions (and more) in the review session on Wednesday.
7.27 Midterm solutions are available. Please hand in regrade requests to your TA by next Monday, August 3.
7.21 Homework 5 has been updated with submission instructions, and a bug in the code for Question 3 has been fixed. If you were having trouble with maxfloat, see this update.
7.16 Project 2 and Midterm Info

I've added a few clarification and tips to the bottom of the Project 2 spec.

Paul and James will be holding a Midterm review session on Saturday, July 18th, at 6 pm in 306 Soda. They will be going over the Spring 2008 midterm.

Paul will be holding additional office hours Friday from 12pm to 2 pm in 271 Soda.

6.24 Newsgroup

The course newsgroup is once again available. If you want to access it from home, use WebNews with your class account and subscribe to ucb.class.cs61c

Alternatively, you can use Thunderbird rather than the webnews client. Follow the same instructions that were given in lab, but set the following login and password in your server settings: username="usenet", password="gobears".

6.23 LAB 2

See this page if lab2 is not working in UCWISE.

6.22 Setup UC-WISE

Select your section time to setup your UC-WISE account and start working on your first lab:

Old News


Lecture, Reading, and Assignment Calendar

Assignments are due at the start of lecture on the day listed unless otherwise specified
Labs are to be completed during your 2-hour lab time! (unless your GSI explicitly offers you an exception)

Wk Date Lecture Topic Reading Homework Due
06.22 M
Course Introduction, Beginning C ---
06.24 W
The C Programming Language K&R: 1.1-1.9, All of Chapter 2, 3.1-3.7, 4.1, 4.2, 5.1-5.10, 6.1-6.3, 7.5
06.29 M
Memory Management
K&R: 6.4-6.7, appendices B1, B2, B3, B5, and B11
Pointer Fun with Binky
TA: Josh
07.01 W
MIPS I: Registers, Memory, and Decisions P&H (4th): 2.1-2.3, 2.7
P&H (3rd): 2.1-2.3, 2.6
HW2 (Due Thursday)
TA: James
3 07.06 M MIPS II: Procedures, Logic, and Instruction Format P&H (4th): 2.5-2.8, 2.10, 2.14
P&H (3rd): 2.4-2.7, 2.9, 2.15
TA: James
07.08 W Number Representation, Floating Point P&H (4th): 2.4, 3.2, 3.5, 3.7, 3.8, 2.12, B1-B3
P&H (3rd): 3.2, 3.3, 3.6, 3.7, 3.8, 2.10, A.1-A.3
Proj 1 (Due Friday)
TA: James
07.13 M
Compilation, Assembly, Linking P&H (4th): C.1-C.3, C.5-C.8
P&H (3rd): B.1-B.3, B.5-.B.8
TA: James
07.15 W
State Elements, Combinational Logic P&H (4th): C.9-C.11
P&H (3rd): B.9-B.11
Proj 2 (Due Friday)
TA: Josh
07.20 M
Midterm (covers lectures 1-7) Solutions ---

07.22 W
CPU Design I P&H (4th): 4.1-4.4
P&H (3rd): 5.1-5.4
HW5 (Due Thursday)
TA: Josh
6 07.27 M CPU Design II P&H (4th): 4.5-4.8
P&H (3rd): 6.1-6.6
TA: Paul
07.29 W Caches P&H (4th): 5.1-5.3
P&H (3rd): 7.1-7.3
HW7 (Due Thursday)
TA: Paul
7 08.03 M Virtual Memory P&H (4th): 5.4-5.5
P&H (3rd): 7.4-7.5
Proj 3 (Due Monday)
TA: Paul
08.05 W More Caching/VM, Evaluation --- HW8 (Due Thursday)
TA: James
8 08.10 M I/O P&H (4th): 6.1-6.7. B.7, B.8
P&H (3rd): 8.1-8.6, A.7, A.8
Proj 4
TA: James
08.12 W Parallelism, Final Review ---

08.13 Th Final (9-12 277 Cory)


Weekly Schedule

Monday Tuesday Wednesday Thursday

 Lecture, 277 Cory

Lecture, 277 Cory
10:00-11:00 Discussion, 277 Cory
Lab 101
271 Soda
Jeremy's OH, 535 Soda Lab 101
271 Soda
Jeremy's OH, 535 Soda Lab 101
271 Soda
Jeremy's OH, 535 Soda Lab 101
271 Soda

Jeremy's OH, 535 Soda
12:00-1:00 Paul's OH, 611 Soda
Paul's OH, 611 Soda
1:00-2:00 Lab 102
271 Soda
 Lab 102
271 Soda
Lab 102
271 Soda
Lab 102
271 Soda
3:00-4:00 Lab 103
271 Soda

Lab 103
271 Soda

Tony's OH, 
651 Soda

Lab 103
271 Soda
Lab 103
271 Soda

4:00-5:00Josh's OH,
273 Soda
Josh's OH,
273 Soda
5:00-6:00 LAB 104
271 Soda
James' OH, 611 Soda
LAB 104
271 Soda
James' OH, 611 Soda  LAB 104
271 Soda
James' OH, 611 Soda LAB 104
271 Soda
James' OH, 611 Soda



Jeremy Huddleston
535 Soda Hall, jeremyhu@EECS.Berkeley.EDU
Office Hours: 535 Soda Hall- M, Tu, W 11-12, Th 11:30-1


Josh Hug
Office Hours: Location 273 Soda - Tu, Th 4-5
Lab Section: 5-7 PM
Paul Pearce
Office Hours: Location 611 Soda - M 12-1
Discussion Section: Location 320 Soda - W 12-1
Lab Section: 1-3 PM
James Tu
Office Hours: Location 611 Soda - M, Tu, W, Th 5-6
Lab Sections: 11-1 PM, 3-5 PM


Name Section
11-1 PM

1-3 PM, 3-5 PM, 5-7 PM

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 newsgroup is located here, see here for information on connection to the newsgroup
    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 Jeremy in office hours
  6. Ask Jeremy in lecture
  7. Send your TA email
  8. Send Jeremy email. Note that this is by far the worst way to ask a question. Email as a communications medium simply does not scale to 120+ students.

Resources and Handouts

Book Errata: txt
Unix Help: html
Emacs Reference: pdf
Floating Point Java Demos: html
Obscure C notes: txt
Hilfinger notes: pdf
Reference card for GDB version 5: pdf | ps | dvi (This is the version installed on the lab machines)
Reference card for GDB version 4: pdf | ps

P&HK&R We will be using the third or fourth editions of Patterson and Hennessy's Computer Organization and Design book ("P&H").  (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 pre-lecture quizzes 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 61CL, http://inst.eecs.berkeley.edu/~cs61c/ (Last Updated: 2009-07-08 @ 13:08)