| Class Period/Date | Topics/Links | Reading Due | Homework/Assignments |
| Day 1 / Jan 16 | Syllabus &
Policies Computer Components/Parts Histroy of CS Architecture Intro to CS History |
Hw #1 Assigned / Solution | |
| Day 2 / Jan 18 | Video:
The Machine that Changed the World (I'll bring donuts) Finish CS History |
1.1-1.8 | |
| Day 3 / Jan 23 | Software System Hierarchy Intro. to Performance SPEC 2000 Handout |
Appendix A, A.1-A.4 2.1-2.3, |
Hw#1 Due /
Solution Hw#2 Assigned / Solution |
| Day 4 / Jan 25 | Performance Continued Benchmarking & SPEC 2000 |
2.4-2.6 and SPEC 2000 handout | |
| Day 5 / Jan 30 | Concluding Benchmarking Intro to Numerical Representation: Unsigned Ints & Hexadecimal |
2.7-2.9 4.1 |
Hw#2 Due
/ Solution |
| Day 6 / Feb 1 | Unsigned Int Math Signed Int Representations Integer Arithmatic Learning Binary |
4.2-4.3 | Hw #3 Assigned / Solution |
| Day 7 / Feb 6 | ASCII/Character Representation Floating Point (IEEE 754) Representation |
4.8 to pg 288 | |
| Day 8 / Feb 8 | Catch-up Review for Test #1 Moore's Law Paper (postscript) Quiz #1 |
Hw #3 Due / Solution | |
| Day 9 / Feb 13 | Test #1: Topics | ||
| Day 10 / Feb 15 | Intro. to ASM Basic CPU Architecture/Overview Register Basics Endians Simple Math Instructions: add, sub Simple Math Equations |
3.1-3.2 | Hw #4 Assigned / Solution |
| Day 11 / Feb 20 | Memory/Array Structure/Indexing Alignment Load & Store Instructions: lw, sw Equations with Array Elements Instruction Formats: R-Format & I-Format |
3.3-3.4 | |
| Day 12 / Feb 22 | Instruction Formats Continued SPIM syscalls for I/O MIPS Memory Segments Labels, Constants, and Assembler Directives Using SPIM Hello World Handout |
A.2, A.5,A.7,A.8,A.9 (esp. pg A.48-49) | Hw #4 Due /
Solution Hw #5 Assigned / Solution |
| Day 13 / Feb 27 | System Interrupts & Services, Exceptions,
Branching & Decision Instructions Pseudo-Ops Stack Usage Handout |
3.5, Hello World Handout | Lab #1 Assigned |
| Day 14 / Mar 1 | Branching Continued Using SPIM SPIM Examples |
3.6, A.6, Stack Usage Handout, SPEC Manual | Hw #5 Due / Solution Hw #6 Assigned / Solution |
| Day 15 / Mar 6 | Procedure Calling Conventions Functions, Recursion Register Conventions |
Lab #1 Due Lab #2 Assigned |
|
| Day 16 / Mar 8 (Middle of Term) |
Functions/Recursion Continued | 3.7,3.8,3.11 | Hw #6 Due / Solution Hw #7 Assigned / Solution |
| Day 17 / Mar 13 |
Arrays vs. Pointers Addressing Styles Putting it all together Floating Point Co-Processor and ASM |
3.9, 3.10, 3.13, 3.14, 4.8 (pg 288-) | Lab #2 Due |
| (St. Pat's: Mar 15) | No Class | ||
| Day 18 / Mar 20 | Multi-Arg Functions and Large Return Vals: Depth & Examples | 3.15 | Hw #7 Due / Solution Lab #3 Assigned |
| Day 19 / Mar 22 | (Revised) Example of Floating point function
ERROR CORRECTION Chapter Review/Test Topics |
A.10-A.11 | |
| (Spring Break: Mar 27 & 29) | No Class | ||
| Day 20 / Apr 3 | Logic Review Gates & Intro. to Combinational Logic Propagation Delay Quiz #2 |
Appendix B B.1,B.2, Handout? | Lab #3 Due Lab #4 Assigned |
| Day 21 / Apr 5 | Test #2: Topics | Hw #8 Assigned / Solution | |
| Day 22 / Apr 10 | More Comb. Logic Logic Equations Higher Components: Multiplexors, Decoders, Encoders, etc. Digital Logic Tutorial On-line digital systems tutorial Electronics tutorials for begginers links |
B.3, B.4 | |
| Day 23 / Apr 12 | Programmable Combinational Logic Memory Elements: Latch, Flip-Flop, RAM, SRAM, DRAM, etc. |
B.5 | Hw #8 Due
/ Solution Hw #9 Assigned / Solution |
| Day 24 / Apr 17 | Register & Memory Element Structure Intro. to State Machines RS Latch Timing (note: this RS latch is made from NAND gates, so it works slightly differently than the one discussed in class which worked from NOR gates) D Latch Demo/Timing RS Latch and D-Latch with timing info (pdf) |
B.6 | |
| Day 25 / Apr 19 | Finish Memory Intro. to State Machines |
4.4 | Hw #9 Due
/ Solution Hw #10 Assigned / Solution |
| Day 26 / Apr 24 | More State Machines Logic Operations in MIPS |
4.5 | Lab #5 (Extra Credit) Assigned |
| Day 27 / Apr 26 | Building a 1-bit ALU Building a Multi-bit ALU |
4.6, 4.7 | Hw #10 Due / Solution Hw #11 Assigned / Solution |
| Day 28 / May 1 | Finishing Addition/Multi-bit ALU | Lab #4 Due |
|
| Day 29 / May 3 | Supporting Multiplication Attendance Quiz |
Hw #11 Due / Solution | |
| Day 30 / May 8 | Quiz #3 Solution Supporting Division Big Picture - The Whole CPU/ALU and interaction. Chapter Review |
Lab #5 (Extra Credit) Due | |
| Day 31 / May 10 | Potential time for Test #3 Topics | ||
| Final / May 18 | 8:00-10:00 am / Test #3 (if we need more time) |
CS234 WS0 Homepage
My notes, outlines, and assignments from WS0
CS234 FS0 Homepage
My notes, outlines, and assignments from FS0
Slides
Publisher's Slides: Postscript / Powerpoint (95)
David Patterson's Lecture Slides (One of the authors)Computer Organization and Design: The Hardware/Software Interface, Second Edition
Text book website - References & notes from the text as well as updates and more current information.
Some Selections of material may be handed out in class:
Basic Digital Electronics from Radio Shack for about $10
A little introductions to the basics of Digital Electronics. In particular you may find the following useful: Chapters 4 (How Temporary Storage Circuits Work), 6 (More Permanent Storage Elements), and 7 (A Tour Through IC).
The New Turing Omnibus by A.K. Dewdney for about $25
A Must Read for any Comp. Sci. - Covers all the interesting C.S. topics. You may find want to look into Chapters 13 (Boolean Logic), 20 (Karnaugh Maps), 28 (Encoders and Multiplexors), 38 (Sequential Circuits), 17 (The Random Access Machine), 3 (Systems of Logic), and 48 (The SCRAM).
(Really - this is a great source of background material for all C.S. courses. It makes a lot of the more interesting work & theory easy to read and understand)The MIPS Programmer's Handbook by Farquhar and Bunce
An assembly language programmer's guide to programming the MIPS architecture. Only Chapter 2 and parts of the appendices may might be used.
Spim Software & Homepage
Bill's PC SPIM.exe which correctly prints the console out
The MIPS simulator will be using for several of our homework and lab assignments. There are versions for Windows, Unix, and Mac. The Unix version is installed on the C.S. Departments Sun Workstations, and a the Windows version is installed in the CS 207 lab.
NEdit
Those of you using Unix and X-Windows may be interested in the syntax highlighting scheme for NEdit developed by Allan Crain: mipsasm.pats
NachOS:
A simulated operating system built around a simulated MIPS R2000 Instructions set. (This isn't going to be used in class, but if you want to get a feel for the real low level OS details, give it a try)