CS61C Machine Structures. Spring 2008, UC Berkeley
P&HK&R  
CS61C Spring 2008
MWF 3-4pm 2050 VLSB





Timely Announcements

5.29 Course Grades

Course grades have been assigned and will be submitted to bearfacts shortly. Have a great summer!

5.29 Midterm Clobber Results

The results of the midterm clobber are in. Remember clobbering can only help you, so negative scores mean zero midterm score change.

5.23 Final Histogram

The final has been graded and entered into glookup. Stay tuned for more info.

Old News




Lecture, Reading, and Quiz Calendar

Homeworks (HW) are graded on correctness and are due on Wednesdays by 2359 (11:59pm) (except where noted otherwise)
Quizzes are due Sunday at 2359 (11:59pm) the week after which they are listed (The week starts with Sunday)
Labs are to be completed during your 2-hour lab time! (unless your TA explicitly offers 'delayed-checkoff')

Wk Date Lecture Topic Reading Quiz Lab Homework / Exam
1 01.21 M Holiday Quiz 1 Lab 1: Simple C and Number Rep.

HW0 (handed out in lecture Friday)

Turn in HW0 to your TA in Section second week

01.23 W Course Introduction ---
01.25 F Number Representation P&H: 1, 3.1, 3.2 (exclude Fig. 3.1)
2 01.28 M Introduction to C K&R: Chapters 1-4
Brian Harvey Notes on C (pdf)
Quiz 2 Lab 2: Ptrs and Strings

HW1 - Matt

Due Friday

01.30 W C Pointers, Arrays, Strings K&R: Chapter 5
02.01 F C Structures, scanf, malloc K&R: Chapter 6
Binky Pointer Fun Video
3 02.04 M Memory Management I K&R: Sec. 7.8.5, 8.7 Quiz 3 Lab 3: Malloc

HW2 - Casey

Due Wednesday

02.06 W Memory Management II Hilfinger Notes: 10.1 - 10.4
02.08 F MIPS Intro P&H: 2.1-2.3
4 02.11 M MIPS lw, sw, Decisions I P&H: 2.6, 2.9 (pg. 95-96 only) Quiz 4 Lab 4: Assembly Practice

Proj1 - Matt and Casey

Due Saturday

Faux Exam 1 (7-9pm, 306 Soda) Exam and Solutions.
02.13 W MIPS Decisions II P&H: 2.7, 2.9 (pg. 95-96 only), A.6 (on CD)
02.15 F MIPS Procedures I P&H: 2.7, A.6 (on CD)
5 02.18 M Holiday Quiz 5 Lab 5: Ptrs in Assembly Practice

HW3 - Ben

Due Wednesday

02.20 W MIPS Procedures & Logic Ops P&H: Sect. 3.3, 2.5
02.22 F MIPS Instruction Format I P&H: Sec. 2.4, 2.9
6 02.25 M MIPS Instruction Format II --- Quiz 6 Lab 6: Floating Point & Integer Rep.

HW4 - Brian

Due Thursday

02.27 W Floating Point I (DaveJ) P&H: 3.4(pg 176, top 3 lines of 177, 181), 3.5 (pg 185, 188-divide-, 189), 3.6, 3.8
02.29 F Floating Point II (Keaton) P&H: 3.10 (on CD)
7 03.03 M MIPS Instruction Format III (Matt) --- --- Lab 7: Linking

Proj2 - Omar

Due Wednesday

03.05 W Compilation, Assembly, Linking I P&H: 2.10, A.1-A.4 (on CD)
03.07 F Compilation, Assembly, Linking II ---
03.08 Sa Midterm Review Session (2-5pm, 2050 VLSB) (Slides)
8 03.10 M Students solve the Midterm --- --- Lab 8: Finite State Machines

Midterm
SUNDAY, March 9 6-9pm 2050 VLSB

Exam and Solutions.

03.12 W Intro to Synch. Digital Systems (Scott Beamer) SDS Handout
π F State Elements(Scott Beamer) P&H: B.3-B.6 (on CD)
State Handout
9 03.17 M State Elements --- Quiz 9 Lab 9: Logisim Intro

HW5 - DaveJ

Due Friday

03.19 W Combinational Logic P&H: B.3-B.6 (on CD)
State Handout
03.21 F Intro to CPU Design Blocks Handout
10 03.24 M Spring Break
03.26 W
03.28 F
11 03.31 M CPU Design: Single-Cycle I P&H: 5.3 --- Lab 10: FSM in Logisim

HW6 - Ben

Due Saturday

04.02 W CPU Design: Single-Cycle II (Omar) P&H: 5.4
04.04 F CPU Design: Control (Ben) ---
12 04.07 M CPU Design: Pipelining I P&H: 6.1-6.3 (Sec. 5.5 is useful) Quiz 12 Lab 11: Pipelining

HW7 - Keaton

Due Thursday

Faux Exam 2 (5-8pm, 100 GPB) (Exam and Soln).
04.09 W CPU Design: Pipelining II P&H: 6.4-6.6
04.11 F Caches I P&H: 7.1
13 04.14 M Caches II P&H: 7.2 Quiz 13 Lab 12: Caches

Proj3 - Ben and Brian

Due Friday

04.16 W Caches III P&H: 7.3
04.18 F Virtual Memory I P&H: 7.3-7.8
14 04.21 M Virtual Memory II --- Quiz 14 Lab 13: VM

HW8 - Omar

Due Wednesday

Faux Exam 2.5 (7-10pm, 100 GPB) (Exam and Solutions and Soln Corrections)
04.23 W I/O Basics: Polling and Interrupts P&H: 8.1, 8.5
04.25 F I/O Networks (Brian) P&H: 8.3 (on CD)
15 04.28 M I/O Disks P&H: 8.2, 8.10 --- Lab 14: Polling and I/O

Proj4 - Keaton

Due Thursday

04.30 W Performance P&H: Chapter 4
05.02 F Writing Really Fast Programs (Casey) ---
16 05.05 M Parallelism in Processor Design --- --- Lab 15: Parallelism

Performance Contest - DaveJ

Due Monday, May 12

05.07 W Intra-machine Parallelism: pthreads (Matt) ---
05.09 F Inter-machine Parallelism: mpi/map reduce ---
17 05.12 M Summary, Review, and Evaluation --- --- --- ---
18 05.18 Su Final Review (2-5pm, 10 Evans) --- --- ---
05.19 M Final Exam (5-8pm, 1 Pimentel)



Weekly Schedule

Monday Thuesday Wednesday Thursday Friday
9:00-10:00         016 LAB 271 Soda - Matt
10:00-11:00   111 DIS 310 Soda - DaveJ 116 DIS 320 Soda - Matt 011 LAB 271 Soda - DaveJ
11:00-12:00     117 DIS 320 Soda - Keaton 017 LAB 271 Soda - Keaton
12:00-1:00 OH 511 Soda - Ben 112 DIS 205 Dwinelle - Ben   012 LAB 271 Soda - Ben
1:00-2:00     118 DIS 320 Soda - Brian OH 511 Soda - Ben 018 LAB 271 Soda - Brian  
2:00-3:00   OH 751 Soda - Casey OH 795 Soda - Dan 013 LAB 271 Soda - Casey OH 511 Soda - DaveJ OH 751 Soda - Keaton
3:00-4:00 LEC 2050 VLSB 113 DIS 310 Soda - Casey LEC 2050 VLSB OH 751 Soda - Omar LEC 2050 VLSB
4:00-5:00 OH 511 Soda - Matt OH 751 Soda - Brian   014 LAB 271 Soda - Omar  
5:00-6:00   114 DIS 320 Soda - Omar    
6:00-7:00   115 DIS 320 Soda - Ben   015 LAB 271 Soda - Ben  
7:00-8:00        



Staff

Dan Garcia

Dan Garcia
Lecturer SOE (bio)
795 Soda Hall, (510) 642-9595, ddgarcia@cs.berkeley.edu
Office Hours: W 2-3pm (795 Soda)
Asst: Alexandra Falchi 385 Soda, 642-7699, afalchi@eecs

 

David Jacobs
Head TA -- cs61c-ta (bio)
Section: 1
OH: 511 Soda Th 2-3pm
Matt Johnson (TAiT James)
cs61c-tm (bio)
Section: 6
OH: 511 Soda M 4-5pm
Ben Sussman
cs61c-tb (bio)
Sections: 2 & 5
OH: 511 Soda M12-1p W1-2p
Casey Rodarmor
cs61c-tc (bio)
Section: 3
OH: 751 Soda Tu 2-3pm
Omar Akkawi (TAiT Andrew)
cs61c-to (bio)
Section: 4
OH: 751 Soda Th 3-4pm
Keaton Mowery (TAiT George)
cs61c-tk (bio)
Section: 7
OH: 751 Soda F 2-3pm
Brian Zimmer
cs61c-th (bio)
Section: 8
OH: 751 Soda Tu 4-5pm

Readers

Name Accounts E-mail
Hongcheng Chang cs61c-([a-b]*|c[a-r]|j*|i[x-z]) cs61c-rd
Timothy Wu cs61c-(d[l-z]|[g-h]*|i[a-q]) cs61c-rb
James Liao cs61c-(c[s-z]|d[a-j]|[e-f]*|i[r-w]) 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 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.




Resources and Handouts

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 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: 2008-04-11 @ 02:00)