CS61C Machine Structures. Spring 2004, UC Berkeley
CS61C Spring 2004
MWF 1-2pm, 2050 VLSB

News | Calendar | Schedule | Staff | Resources | Webcast | Newsgroup | AuthNews | WebGrades | PRS

Timely Announcements

2004-06-05 The final exam has been graded, EPA! points calculated, and grades sent to Sproul. They should appear by the end of this week. Thanks for a great semester! Statistics to come... (We pushed grades up by 7 points after it was all done)
[Old News]

Lecture, Reading, and Quiz Calendar

Homeworks (HW) are graded on correctness and are due on Mondays at 11.59pm (except HW0, due in discussion, and HW1, due on Wednesday 2004-01-28)
Labs are to be completed during your 2-hour lab time!
(unless your TA explicitly offers 'delayed-checkoff')
Reading quizzes are due at 11am before lecture and are graded on effort

Wk Date Lecture Topic Reading Lab / Project Homework / Exam
1 01-19 M Holiday Lab1: Simple C and Number Rep. (html, pdf) ----
01-21 W Course Intro (pdf, pdf-6up, ppt)  
01-23 F Number Representation (pdf, pdf-6up, ppt) P&H Ch. 1, 4.1, 4.2 (exclude Fig. 4.2)
2 01-26 M Introduction to C (pdf, pdf-6up, ppt) K&R Chapters 1-4 Quiz Lab2: Ptrs & Strings (html) HW0, HW1 Due
HW1 Soln
01-28 W C pointers, arrays, strings (pdf, pdf-6up, ppt) K&R Chapter 5 Quiz
01-30 F C structures, scanf, malloc (pdf, pdf-6up, ppt) Binky Pointer Video K&R Chapter 6 Quiz
3 02-02 M Memory management (pdf, pdf-6up, ppt) K&R Sec 7.8.5, 8.7 Quiz Lab3: Malloc (html) HW2 Due
02-04 W Memory mgmt. II  (pdf, pdf-6up, ppt) Hilfinger notes: 10.1-10.4  
02-06 F MIPS Intro (pdf, pdf-6up, ppt) P&H Sec3.1-3.3 Quiz
4 02-09 M MIPS lw, sw, decisions (pdf, pdf-6up, ppt) P&H Sec3.5, 3.8 (pg 145 only)   Lab4: Assembly Practice (html) HW3 Due
Autograder Testcases
02-11 W MIPS decisions II (pdf, pdf-6up, ppt)   Quiz
02-13 F MIPS procedures I (pdf, pdf-6up, ppt) P&H Sec3.6, A.6 Quiz
5 02-16 M Holiday Lab5: Ptrs in Assembly Practice (html) PROJ1 Due
Autograder Testcases -- Grade Freeze: 3/6/04
02-18 W MIPS procedures II & logical ops (pdf, pdf-6up, ppt) P&H Sec4.3, 4.4 Quiz
02-20 F MIPS instruction format I (pdf, pdf-6up, ppt) P&H Sec3.4, 3.8 Quiz
6 02-23 M MIPS instruction format II (pdf, pdf-6up, ppt) Lab6: Experimenting with floating point & integer rep. (html) HW4 Due
HW4 Soln -- Grade Freeze: 4/9/04
02-25 W Floating Point I (pdf, pdf-6up, ppt) P&H Sec4.6 (pg 250, top 3 lines of 251, 264), 4.7(pg 265, 273), 4.8, 4.10 Quiz
02-27 F Floating Point II (pdf, pdf-6up, ppt) P&H Sec 4.12, 4.13 Quiz
7 03-01 M MIPS instruction format III (pdf, pdf-6up, ppt)     Lab7: Working with .o and a.out (html) PROJ2 Due
Autograder Testcases -- Grade Freeze: 3/17/04
03-03 W Compilation, Assembly, Linkage  (pdf, pdf-6up, ppt) P&H Sec3.9, A.2-A.4 Quiz
03-05 F Compilation, Assembly, Linkage  (pdf, pdf-6up, ppt)    

MT1 review
Sat March 6 5pm, 1 Leconte

8 03-08 M Caches (pdf, pdf-6up, ppt) P&H Sec7.1   Lab8: post-midterm review and survey MIDTERM
Monday 03/08
155 Dwinelle
03-10 W Caches II (pdf, pdf-6up, ppt) P&H Sec7.2 Quiz
03-12 F Caches III (pdf, pdf-6up, ppt) P&H Sec7.3 Quiz
9 03-15 M Caches IV & VM I (pdf, pdf-6up, ppt)     Lab9: Caches (txt) HW5 Due
HW5 Soln -- Grade Freeze: 4/16/04
03-17 W VM II (pdf, pdf-6up, ppt) P&H Sec7.8, 7.4 Quiz
03-19 F VM III (pdf, pdf-6up, ppt) P&H Sec7.5-7.7 Quiz
  03-22 M  

Spring Break

03-24 W
03-26 F
10 03-29 M Intro. to Synch. Digital Systems (handout)   Lab10: FSM (html) HW6 Due
HW6 Soln
03-31 W State Elements (handout) P&H Appendix B.3-B.6 Quiz
04-02 F Combinational Logic  (handout)  
11 04-05 M Combinational Logic Blocks (pdf, pdf-6up, ppt) (handout)     Lab11: Verilog intro (html) HW7 Due
HW7 Soln
04-07 W Verilog I (pdf, pdf-6up, ppt) (Verilog Tutorial) P&H Appendix B.1, B.2 Quiz
04-09 F Verilog II (pdf, pdf-6up, ppt) (Verilog Tutorial) P&H Sec5.1-5.3(pg 351-352), 4.5 Quiz
12 04-12 M Single CPU Design: Datapath I (pdf, pdf-6up, ppt) P&H Sec5.1-5.3(pg 351-352), 4.5 Lab12: FSM in Verilog (pdf) HW8 Due
04-14 W Single CPU Design: Datapath II  (pdf, pdf-6up, ppt)
04-16 F Single CPU Design: Control I (pdf, pdf-6up, ppt)
13 04-19 M Single CPU Design: Control II (pdf, pdf-6up, ppt)     Lab13: Pipeline (txt) PROJ3 Due
04-21 W Pipelining I (pdf, pdf-6up, ppt) P&H Sec6.1  
04-23 F Recovery-Oriented Computing (archived webcast) (pdf, pdf-6up, ppt) (quizzes moved back) Quiz
14 04-26 M Pipelining II (pdf, pdf-6up, ppt) P&H Sec6.9 Quiz Lab14: Polling and I/O (htm) HW9 Due
04-28 W I/O Basics (Polling and Interrupts) (pdf, pdf-6up, ppt)    
04-30 F I/O Networks (pdf, pdf-6up, ppt) P&H 8.3 (up to top of pg 646, top of 651), 8.5 Quiz
15 05-03 M I/O Disks (pdf, pdf-6up, ppt) P&H 8.3 (pg 646-654), 8.9 Quiz Lab15: Ping and traceroute (pdf) PROJ4 Due
05-05 W Performance I (pdf, pdf-6up, ppt) P&H 2.1-2.6, 2.8 Quiz
05-07 F Performance II (pdf, pdf-6up, ppt)    
16 05-10 M Review and evaluations  (pdf, pdf-6up, ppt)      

FINAL EXAM: Saturday, 2004-05-22, 1230-330pm, 2050 VLSB


Weekly Schedule






8:00-9:00       011 Lab 271 Soda - Roy  
9:00-10:00   111 Dis 320 Soda - Roy 118 Dis 320 Soda - Roy 018 Lab 271 Soda - Roy
10:00-11:00   112 Dis 320 Soda - Chema OH 283 Soda - Roy 012 Lab 271 Soda - Chema
12:00-1:00       013 Lab 271 Soda - Jeremy    
1:00-2:00 Lecture 2050 VLSB 113 Dis 310 Soda - Jeremy Lecture 2050 VLSB OH 795 Soda - Prof Garcia
1:30-2:30pm only
Lecture 2050 VLSB
2:00-3:00   114 Dis 310 Soda - Alex OH 795 Soda - Prof Garcia 014 Lab 271 Soda - Alex  
3:00-4:00   OH 310 Soda - Alex      
4:00-5:00   115 Dis 320 Soda - Alex   015 Lab 271 Soda - Alex OH 511 Soda - Paul  
5:00-6:00   OH 320 Soda - Alex    
6:00-7:00     Cafe Nefeli - Chema
6:30-7:30pm only
016 Lab 271 Soda - Paul  
7:00-8:00 OH Cafe Strada - Jeremy 116 Dis 320 Soda - Paul  
8:00-9:00 117 Dis 320 Soda - Paul   017 Lab 271 Soda - Paul  


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


Dan Garcia
Lecturer PSOE
795 Soda Hall, (510) 642-9595, ddgarcia@cs.berkeley.edu
Office Hours: W2-3, Th130-230, 795 Soda
Asst: Sue DeVries/Cindy Palwick 385 Soda, 2-0930, 385-soda@cs


Name E-mail Discussions Labs Office Hrs
Jeremy Huddleston, Head TA (website) cs61c-tb 113 Tu1-2pm 013 Th12-2pm Mo7-9p, Cafe Strada
Paul Burstein cs61c-tc 116 Tu7-8pm, 117 Tu8-9pm 016 Th6-8pm, 017 Th8-10pm Th4-6pm, 511 Soda
Alexandre Joly (website) cs61c-te 114 Tu2-3pm, 115 Tu4-5pm 014 Th2-4pm, 015 Th4-6pm Tu3-4,5-6pm 320 Soda
Chema Gonzalez (website) cs61c-td 112 Tu10-11am 012 Th10-12pm W630-730pm, 523 Soda
Roy Wang (website) cs61c-tf 111 Tu9-10am, 118 W9-10am 011 Th8-10am, 018 F9-11am W10-12pm, 283 Soda


Name E-mail
Nemanja Isailovic cs61c-re
Manan Gosalia cs61c-rb
Mark Whitney cs61c-rd
Steven Kusalo cs61c-rc

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

We will be using the second edition of Patterson and Hennessy's Computer Organization and Design book ("COD").  Try to find the third printing. (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 make references 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: today)