CS61C Machine Structures. Summer 2007, UC Berkeley
CS61C Summer 2007
MTuWTh 11am-12:30pm 60 Evans

Timely Announcements

8.23 Final Grades
The final course grades have been computed for a few days, but currently there are some issues between Soda and Sproul. It seems like they may take a few more days to resolve, so here are the course grades.
8.18 Proj4 Rubric
Here is the Proj4 rubric
8.14 HKN Course Survey
The department course survey will be given during the last lecture. As usual, Scott can't see the results until well after grades are due and it is completely anonymous. To encourage students to come to lecture and take the survey, HKN will make a list of who completes the survey and those students will get an extra 2 points added on to their final grade.
8.14 Scott's OH
Scott is holding extra OH today from 4-6 in 329 Soda.
8.13 Final Review Session
There will be a Final Review Session TODAY 4-7 in 60 Evans.
8.13 Scott's OH
Scott's OH today will be moved to 1-2pm in 329 Soda (to avoid review).
8.7 Proj4
It is an individual project. Disregard the past spec saying it is groups.

Old News

Lecture, Reading, and Assignment Calendar

Homeworks (HW) are graded on correctness and are due on Wednesdays or Sundays by 2359 (11:59pm) (except where noted otherwise)
Labs are to be completed during your 2-hour lab time! (unless your TA explicitly offers 'delayed-checkoff')

Wk Date Lecture Topic Reading Lab Homework / Exam
1 6.25 M Course Introduction &
Number Representation
--- Lab1: Simple C and Number Rep.


TA: Clark

Due 7/1

6.26 Tu Number Representation (cont) &
Introduction to C
P&H: 1, 3.1, 3.2 (exclude Fig. 3.1)
K&R: Chapters 1-4
6.27 W C Strings, Arrays, & Malloc
Brian Harvey notes on C (pdf)
K&R: Chapters 5 & 6 Lab2: Ptrs & Strings
6.28 Th C Memory Management I K&R: 7.8.5, 8.7
Hilfinger notes: 10.1 - 10.4
2 7.2 M Memory Management II &
MIPS Intro
P&H: 2.1-2.3, 2.6 Lab3: Malloc HW2
TA: Valerie
Due 7/5
7.3 Tu MIPS Intro (cont) &
P&H: 2.1-2.3, 2.6
7.4 W Holiday Lab 4: Assembly Practice HW3
TA: Clark
Due 7/8
7.5 Th MIPS Decisions P&H: 2.7, 2.9 (pg 95-96 only), A.6 (On CD)
3 7.9 M MIPS Procedures P&H: 2.4-2.5, 3.3 Lab 5: Ptrs in Assembly Practice Proj1
TA: Valerie
Due 7/12
7.10 Tu MIPS Logical/Shift &
Instruction Format I
P&H: 2.9
7.11 W Instruction Format II &
Floating Point I
P&H: 3.4 (pg 176, top 3 lines of 177, 181),
3.5 (pg 182, 188 (divide), 189), 3.8
Lab 6: Floating Point & Integers Rep. HW4
TA: Scott
Due 7/15
7.12 Th Floating Point II P&H 3.6
4 7.16 M MIPS Instruction Format III &
Compilation, Assembly, Linking I
P&H: 3.10 Lab 7: Linking Proj2
TA: Clark
Due 7/20
7.17 Tu Compilation, Assembly, Linking II P&H: 2.10, A.1-A.4 (On CD)
7.18 W Intro to Synchronous Digital Systems SDS Handout Lab 8: Finite State Machines Midterm
7/23 @ 7-10pm
10 Evans

7.19 Th SDS Intro Redone &
State Elements
P&H: B.3-B.6 (On CD)
State Handout
5 7.23 M Combinational Logic P&H: B.7 (on CD)
Boolean Handout
Lab 9: Logisim Intro HW5
TA: Valerie
Due 7/26
7.24 Tu Combinational Logic Blocks P&H: B.7 (on CD)
Blocks Handout
7.25 W Intro to CPU Design P&H: 5.3 Lab 10: FSM in Logisim HW6
TA: Clark
Due 7/29
7.26 Th CPU Datapath P&H: 5.4
6 7.30 M CPU Control P&H: 5.4 Lab 11: Pipelining HW7
TA: Valerie
Due 8/2
7.31 Tu CPU Pipeline I P&H: 5.5, 6.1-6.3
8.1 W CPU Pipeline II &
Cache Intro
P&H: 6.4-6.6 Lab 12: Caches Proj3
TA: Clark
Due 8/5
Grading Signup
8.2 Th Cache I P&H: 7.1
7 8.6 M Cache II P&H: 7.2 Lab 13: VM Proj4
TA: Clark
TA: Valerie
Due 8/12
8.7 Tu VM I P&H: 7.3-7.8
8.8 W VM II --- Lab 14: Polling and I/O
8.9 Th IO Basics & Networking P&H: 8.1, 8.5
8 8.13 M I/O Networks & Disks P&H: 8.2, 8.3 (on CD), 8.10 Lab 15: Networking HW8
TA: Clark
Due 8/14
8.14 Tu Performance & Parallel Intro P&H: Chapter 4
8.15 W Parallel --- --- Final
8/16 @ 7-10pm
10 Evans
8.16 Th Summary &
Course Survey

Weekly Schedule

Lecture MTuWTh 11am-12:30pm (60 Evans)

Section 1 (Clark) Dis: MW 2-3pm (320 Soda), Lab: TuTh 1-3pm (271 Soda)

Section 2 (Valerie) Dis: MW 3-4pm (320 Soda), Lab: TuTh 3-5pm (271 Soda)

Section 3 (Clark) Dis: MW 5-6pm (320 Soda), Lab: TuTh 5-7pm (271 Soda)


Name Role E-mail OH
Scott Beamer Instructor sbeamer MW 4-5pm, Tu 10-11am, F 11-12 329 Soda
Clark Leung TA cs61c-tb MW 1-2 711 Soda; TuTh 3-4 271 Soda
Valerie Ishida TA cs61c-tc TuTh 5-6pm 271 Soda
Abhishek Karwa Reader cs61c-rb
Michael Shuh Reader cs61c-rc

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 Scott in office hours
  6. Ask Scott in lecture
  7. Send your TA email
  8. Send Scott email. Note that this is by far the worst way to ask a question. Email as a communications medium simply does not scale to many students.

Resources and Handouts

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 edition of Patterson and Hennessy's Computer Organization and Design book ("P&H").  This book is brand new; in fact, it has a 2005 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 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

CS61C, http://inst.eecs.berkeley.edu/~cs61c/ (Last Updated: 2007-08-23 @ 10:39)