CS61C Machine Structures. Summer 2006, UC Berkeley
CS61C Summer 2006
MTWH 11am-12:30pm, 150 GSPP

News | Calendar | Schedule | Staff | Resources | Newsgroup | AuthNews | WebNews

Timely Announcements

Proj4 Grades: Proj4 grades are now entered. If you have any questions, see Michael's page for more information.

Final Grading: Grades for the final exam are now in glookup. Please refrain from discussing the final publicly or on the newsgroup, as some students have not yet taken it. The statistics for the exam (thus far) are:

Average: 64.1 out of 90
Standard Deviation: 13.7
Median: 66
Max: 87.5 out of 90

Grades for other assignments should be showing up shortly. Remember that your total shown in glookup is only a rough estimate of your final score in the course -- several factors are not accounted for. Your final grades should be appearing on BearFacts no later than Thursday. We are unable to release final grades over email.

Thank you all for a great semester. We hope you enjoyed it, and we wish you luck in your upper division courses!

- Andy, Michael, Chris, and Albert.

PROJ3 Grading: We have had a few issues grading project 3 submissions. Many of you forgot to submit your ALU circuit along with your cpu.circ, which is causing a dependency problem when we try to open it. Check your email or glookup to see if you are in this situation. If you are, email your alu circuit file to the reader at: albertchaecsreader@yahoo.com

Older News

Lecture, Reading, Assignment, and Exam Calendar

Homeworks (HW) are graded on correctness, due before midnight of the date indicated
Labs are to be completed during your 2-hour lab time!
(unless your TA explicitly offers 'delayed-checkoff')
Everything here is subject to change!

Wk Date Lecture Topic Reading Lab Homework
6-26 Course Intro & Number Rep
(ppt, pdf, 6up)
P&H Ch. 1, 3.1, 3.2 Lab1: Simple C and Number Rep (html) HW1
Due: 7-2
6-27 Introduction to C
(ppt, pdf, 6up)
K&R Chapters 1-4
6-28 C Pointers and Arrays
(ppt, pdf, 6up)
K&R Chapter 5
Supplemental Reading
Lab2: Pointers and Strings (html)

Due: 7-5

6-29 C Tutorial Session
(ppt, pdf, 6up)
7-3 C Structures, Malloc, Strings
(ppt, pdf, 6up)
K&R Chapter 6 Holiday -- No Lab HW3
Due: 7-10
7-4 Holiday -- No Lecture  
7-5 Memory Management
(ppt, pdf, 6up)
K&R Sec 7.8.5, 8.7
Hilfinger notes: 10.1-10.4
Lab3: Malloc (html) PROJ1
Due: 7-17
7-6 Introduction to MIPS
(ppt, pdf, 6up)
P&H Sec2.1-2.3
7-10 MIPS lw, sw and decisions
(ppt, pdf, 6up)
P&H Sec2.6, 2.9 Lab4: MIPS (html)    
7-11 MIPS Procedures
(ppt, pdf, 6up)
P&H Sec 2.5, 2.7, 3.3, A.6 (On CD)
7-12 MIPS Instruction Format
(ppt, pdf, 6up)
P&H Sec 2.4, 2.9 Lab5: Pointers in MIPS (html)  


7-13 Review 1  
7-17 Floating Point
(ppt, pdf, 6up)
P&H 3.4, 3.5, 3.6 (Ignore the hardware info for now) Lab6: Experimenting with Floats (html) HW4
Due: 7-21
7-18 Pseudo Instructions
(ppt, pdf, 6up)
P&H Sec 2.10
7-19 Compilation, Assembly, Linkage
(ppt, pdf, 6up)
P&H Appendix B.3-B.6 (On CD) Lab7: Working with .o and a.out (html) PROJ2
Due: 7-28
7-20 Digital Systems & Logic
(ppt, pdf, 6up)
P&H Sec 7.3
Handout: (pdf, 2up-pdf)
7-24 FSM & Combinational Logic Blocks
(ppt, pdf, 6up)
P&H Appendix B.3-B.6 (On CD)
Handout 1: (pdf, 2up-pdf) Handout 2: (pdf, 2up-pdf)
Lab8: FSM (html) HW5
Due: 8-2
In Lecture
7-25 CPU Design 1 -- Datapath
(ppt, pdf, 6up)
P&H Sec 5.3
7-26 CPU Design 2 -- Control
(ppt, pdf, 6up)
P&H Sec 5.4 Lab9: Logisim Intro (html) HW6
Due: 8-5
7-27 Pipelining 1
(ppt, pdf, 6up)
P&H Sec 6.1, 6.2, 6.3
(Section 5.5 is interesting and useful as well)
7-31 Pipelining 2
(ppt, pdf, 6up)
P&H Sec 6.4, 6.5, 6.6 Lab10: FSM in Logisim (html) PROJ3
Due: 8-8
8-1 Review 2
(ppt, pdf)
8-2 Cache 1
(ppt, pdf, 6up)
P&H Sec 7.1 Lab11: Pipeline (html)  


8-3 Cache 2
(ppt, pdf, 6up)
P&H Sec 7.2
8-7 Cache 3
(ppt, pdf, 6up)
P&H Sec 7.3 Lab12: Caches (html) PROJ4
Due: 8-15
8-8 VM 1
(ppt, pdf, 6up)
P&H Sec 7.4, 7.8
8-9 VM 2
(ppt, pdf, 6up)
P&H Sec 7.5 - 7.7 Lab13: VM (html)    
8-10 I/O Basics
(ppt, pdf, 6up)
P&H 8.1, 8.5
8-14 I/O Networks & Disks
(ppt, pdf, 6up)
P&H 8.2, 8.3 (On CD), 8.10 Lab14: I/O and Final Survey (html) HW7
Due: 8-17
8-15 Performance
(ppt, pdf, 6up)
P&H Chapter 4
8-16 Parallel Processing + Summary
(ppt, pdf, 6up)
  Lab15: Open Office Hours/Final Exam Review in 271 Soda   Final Exam
August 18
11:00 - 2:00
10 Evans
8-17 Review 3

Weekly Schedule






10:00-11:00 OH 283H Soda - Andy OH 283H Soda - Andy      
11:00-12:00 Lecture 150 GSPP Lecture 150 GSPP Lecture 150 GSPP Lecture 150 GSPP  
1:00-2:00 OH 711 Soda - Michael 101 Lab 271 Soda - Michael   OH 711 Soda - Michael 101 Lab 271 Soda - Michael  
2:00-3:00 101 Dis 320 Soda - Michael OH 283H Soda - Andy 101 Dis 320 Soda - Michael  
3:00-4:00 102 Dis 320 Soda - Chris 102 Lab 271 Soda - Chris 102 Dis 320 Soda - Chris 102 Lab 271 Soda - Chris  
4:00-5:00 OH 511 Soda - Chris  
5:00-6:00       OH 271 Soda - Chris  




Andy Carle
Office: 360 Hearst Mining, (510) 642-1268
Alternate Office: 283H Soda Hall
Email: acarle at cs
Office Hours
Monday, 10:00 - 11:00, 283H Soda Hall
Tuesday, 10:00 - 11:00, 283H Soda Hall
Tuesday, 2:00 - 3:00, 283H Soda Hall




Michael Le
Disc: 101
Lab: 101
OH: Monday & Wednesday, 1-2. 711 Soda
Chris Portka
Disc: 102
Lab: 102
OH: Monday, 4-5 511 Soda Thursday, 5-6 271 Soda


Name E-mail
Albert Chae albertchaecsreader@yahoo.com

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, ucb.class.cs61c
    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 Andy in office hours
  6. Ask Andy in lecture
  7. Send your TA email
  8. Send Andy email

This is not to say that you should never email your TA or Andy with a question. It should just be saved until after other efforts have been made -- otherwise we will get too swamped to answer any emails at all.

Resources and Handouts

Course Syllabus: pdf
Policy on Academic Honesty: pdf
Hilfinger notes: pdf
Reference card for GDB version 5: pdf | ps | dvi (This is the version installed on the lab machines)

We will be using the third edition of Patterson and Hennessy's Computer Organization and Design book ("P&H").  This is the newer edition with the blue cover. The older (second) edition is not recommended -- the content has changed significantly and homework assignments may reference the new edition. (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 K&R is a book you'll want on your shelf eventually either way.

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-related programming language.

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

CS61C, http://inst.eecs.berkeley.edu/~cs61c/su06/ (Last Updated: 2006-08-16 AJC )