CS61C Machine Structures. Spring 2005, UC Berkeley CS61C Spring 2005 MWF 1-2pm, 2050 VLSB News | Calendar | Schedule | Staff | Resources | Webcast | Newsgroup | AuthNews | Register PRS | Buy Used PRS

## Timely Announcements

 5-24 Midterm Clobbering: Here is the midterm clobber histogram. As you can see, about half the students benefited from this policy; one student gained almost 25 points. Again, clobbering only works in your favor, so if you did worse on the Midterm portion of the Final than on the Midterm itself (the left side of this histogram) your score was not changed. The midterm clobber will be reflected in your final grades (but not on glookup) which should be coming out shortly. 5-22 Final Exam Scores: If you haven't noticed by now, scores from the final exam have been entered into glookup. Statistics from the exam are as follows: The maximum possible points was 135. Actual Max: 125 Min: 28 Mean: 81.4 Median: 83 Mode: 83 Standard Deviation: 22.14 More info to come here once final grades are calculated. Don't panic after looking at your glookup total, there are a lot of factors that come into play when calculating final grades that aren't built into that system.

Old News

## Lecture, Reading, and Quiz Calendar

Homeworks (HW) are graded on correctness and are due on Wednesdays by 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 / Project Homework / Exam
1 01-17 M

Holiday

Lab1: Simple C and Number Rep.
(html)
----
01-19 W

Course Intro
(ppt, pdf, 6up-pdf)

01-21 F Number Representation
(ppt, pdf, 6up-pdf)
P&H Ch. 1, 3.1, 3.2 (exclude Fig. 3.1)
2 01-24 M Introduction to C
(ppt, pdf, 6up-pdf)
K&R Chapters 1-4 Quiz

Lab2: Ptrs & Strings (html)

Turn in HW0 to your TA in Discussion

01-26 W C pointers, arrays, strings
(ppt, pdf, 6up-pdf)
K&R Chapter 5
01-28 F C structures, scanf, malloc
(ppt, pdf, 6up-pdf)

Binky Pointer Fun Video
K&R Chapter 6
3 01-31 M

Memory management
(ppt, pdf, 6up-pdf)

K&R Sec 7.8.5, 8.7 Quiz Lab3: Malloc (html)

HW2 Due

02-02 W Memory mgmt. II
(ppt, pdf, 6up-pdf)
Hilfinger notes: 10.1-10.4
02-04 F MIPS Intro
(ppt, pdf, 6up-pdf)
P&H Sec2.1-2.3
4 02-07 M MIPS lw, sw, decisions
(ppt, pdf, 6up-pdf)
P&H Sec2.6, 2.9 (pgs 95 & 96 only) Quiz Lab4: Assembly Practice (html)

HW3 Due

02-09 W MIPS decisions II
(ppt, pdf, 6up-pdf)

02-11 F MIPS procedures I
(ppt, pdf, 6up-pdf)
P&H Sec2.7, A.6 (On CD)
5 02-14 M MIPS procedures II & logical ops
(ppt, pdf, 6up-pdf)
P&H Sec 3.3, 2.5 Quiz Lab5: Ptrs in Assembly Practice (html)
PROJ1 Due
02-16 W MIPS instruction format I
(ppt, pdf, 6up-pdf)
P&H Sec 2.4, 2.9
02-18 F MIPS instruction format II
(ppt, pdf, 6up-pdf)

6 02-21 M Holiday

Lab6: Experimenting with floating point & integer representation (html)

HW4 Due
02-23 W Floating Point I
(ppt, pdf, 6up-pdf)
P&H Sec 3.4 (pg 176, top 3 lines of 177, 181), 3.5 (pg 183, 188 (Divide in MIPS), 189), 3.6, 3.8

No Quiz

02-25 F Floating Point II
(ppt, pdf, 6up-pdf)
P&H Sec 3.10 (On CD)
7 02-28 M MIPS instruction format III
(ppt, pdf, 6up-pdf)
Quiz Lab7: Working with .o and a.out (html) PROJ2 Due
(ppt, pdf, 6up-pdf)
P&H Sec 2.10, A.1-A.4 (On CD)
(ppt, pdf, 6up-pdf)

MT Review
Sunday, March 6
2:00 - 5:00 pm
10 Evans

8 03-07 M Intro. to Synch. Digital Systems
(ppt, pdf, 6up-pdf)

Handout: (pdf, 2up-pdf)

No Quiz
Lab8: FSM (html)

MIDTERM
Monday, March 7
7:00 - 10:00 pm
1 Le Conte

03-09 W State Elements
(ppt, pdf, 6up-pdf)
P&H Appendix B.3-B.6 (On CD)
Handout: (pdf, 2up-pdf)
03-11 F Combinational Logic
(ppt, pdf)
P&H Sec 7.3
Handout: (pdf, 2up-pdf)
9 03-14 M " "

No Quiz
Lab9: Logisim Intro (html) HW5 Due
03-16 W Combinational Logic Blocks
(ppt, pdf)
Handout: (pdf, 2up-pdf)
03-18 F Combinational Logic Blocks II
(ppt, pdf, 6up-pdf)

03-21 M Holiday
03-23 W
03-25 F
10 03-28 M Single CPU Design: Datapath I
(ppt, pdf, 6up-pdf)

No Quiz
Lab10: FSM in Logisim (html) HW6 Due
03-30 W Single CPU Design: Datapath II
(ppt, pdf, 6up-pdf)
P&H Sec 5.3
04-01 F Single CPU Design: Control I
(ppt, pdf, 6up-pdf)
P&H Sec 5.4
11 04-04 M

Single CPU Design: Control II
(ppt, pdf, 6up-pdf)

" "

Lab11: Pipeline (html)

HW7 Due

04-06 W Pipelining I
(ppt, pdf, 6up-pdf)
P&H Sec 6.1, 6.2, 6.3
(Section 5.5 is interesting and useful as well)
04-08 F Pipelining II
(ppt, pdf, 6up-pdf)
P&H Sec 6.4, 6.5, 6.6
12 04-11 M Caches
(ppt, pdf, 6up-pdf)
P&H Sec 7.1 Lab12: Caches (txt) HW8 Due 4-18
04-13 W Caches II
(ppt, pdf, 6up-pdf)
P&H Sec 7.2
04-15 F Caches III
(ppt, pdf, 6up-pdf)
P&H Sec 7.3
13 04-18 M Caches IV
(ppt, pdf, 6up-pdf)
Lab 13: VM (html) PROJ3 Due 4-27
04-20 W VM I
(ppt, pdf, 6up-pdf)
P&H Sec 7.4, 7.8
04-22 F VM II
(ppt, pdf, 6up-pdf)
P&H Sec 7.5 - 7.7
14 04-25 M I/O Basics (Polling and Interrupts)
(ppt, pdf, 6up-pdf)
P&H 8.1, 8.5
No Quiz
Lab14: Polling and I/O (html)
04-27 W I/O Networks
(ppt, pdf, 6up-pdf)
P&H 8.2
04-29 F I/O Disks
(ppt, pdf, 6up-pdf)
P&H 8.3 (On CD), 8.10
15 05-02 M Performance I
(ppt, pdf, 6up-pdf)
P&H Chapter 4
No
Quiz
Lab15: Ping and traceroute (html) PROJ4 Due 5-9
05-04 W Performance II
(ppt, pdf, 6up-pdf)
" "
05-06 F Parallel Computing
(ppt, pdf, 6up-pdf)

16 05-09 M Summary, Review, and Evaluation
(ppt, pdf, 6up-pdf)

No
Quiz

Final Exam Review
Sunday, May 8, 2pm
10 Evans

FINAL EXAM: Saturday, May 14, 12:30 - 3:30pm -- 220 Hearst Gym

## Weekly Schedule

### Friday

8:00-9:00
9:00-10:00       018 Lab 271 Soda - Steven
10:00-11:00   112 Dis 405 Soda - Steven    012 Lab 271 Soda - Danny
11:00-12:00
12:00-1:00     118 Dis 320 Soda - Danny 013 Lab 271 Soda - Casey
1:00-2:00 Lecture 2050 VLSB 113 Dis 320 Soda - Casey Lecture 2050 VLSB Lecture 2050 VLSB
2:00-3:00 OH 551 Soda - Danny OH 345 Soda - Casey 114 Dis 320 Soda - Casey  OH 795 Soda - Prof Garcia 014 Lab 271 Soda - Casey OH 795 Soda - Prof Garcia  OH 511 Soda - Andy
3:00-4:00     OH 551 Soda - Danny   OH 271 Soda - Steven
4:00-5:00   115 Dis 320 Soda - Danny OH 345 Soda - Casey   015 Lab 271 Soda - Danny
5:00-6:00
6:00-7:00       016 Lab 271 Soda - Andy
7:00-8:00   116 Dis 320 Soda - Andy

## Staff

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

Andy Carle
Disc: 116: T 7-8
Lab: 016: H 6-8
OH: F 2-3 @ 511 Soda
Steven Kusalo
cs61c-te
Disc: 112: T 10-11 @ 405
Lab: 018: F 9-11 @ 271
OH: F 3-4 @ 271 Soda
Danny Krause
cs61c-td
Disc: 115: T 4-5, 118: W 12-1 @ 320
Lab: 012: H 10-12, 015: H 4-6 @ 271
OH: M 2-3 & W 3-4 @ 551 Soda
Casey Ho
cs61c-tc
Disc: 113: 1-2, 114: 2-3 @ 320
Lab: 013: 12-2, 014: 2-4 @ 271
OH: M 2-4 & Tu 4-5 @ 345 Soda

 Name E-mail Michael Le cs61c-rc Mark Whitney cs61c-rd Benjamin Mellblom cs61c-re

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
3. Our newsgroup, ucb.class.cs61c
5. Ask Dan in office hours
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

 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 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: 2005-05-09 AJC )