| Class Period/Date | Topics/Links | Reading Due | Homework/Assignments |
| Day 1 / June 12 | Syllabus
& Policies
Computer Components/Parts Histroy of CS Architecture Intro to CS History |
Hw #1 Assigned / Solution | |
| Day 2 / June 13 | Video: The Machine
that Changed the World
(We can order Pizza?) |
1.1-1.8 | |
| Day 3 / June 14 | Finish CS History
Software System Hierarchy |
Appendix A, A.1-A.4
2.1-2.3, |
|
| Day 4 / June 15 | Intro. to Performance
SPEC 2000 Handout |
2.4-2.6 and SPEC 2000 handout | Hw #1
Due / Solution
Hw #2 Assigned / Solution |
| Day 5 / June 18 | Performance Continued | 2.7-2.9 | |
| Day 6 / June 19 | Intro. to Benchmarking | Hw #2
Due / Solution
Hw #3 Assigned / Solution |
|
| Day 7 / June 20 | Concluding Benchmarking
Intro to Numerical Representation: Unsigned Ints & Hexadecimal Learning Binary |
4.1 | |
| Day 8 / June 21 | Unsigned and Signed Integer Numbers | 4.2-4.3 | |
| Day 9 / June 22 | ASCII/Character
Representation
Floating Point (IEEE 754) Representation |
4.8 to pg 288 | |
| Day 10 / June 25 | Memory Structure
Endians |
Hw #3 Due / Solution | |
| Day 11 / June 26 | Review for Test #1
Moore's Law Paper (postscript) Quiz #1 |
3.1-3.2 | |
| Day 12 / June 27 | Test #1: Topics | 3.3-3.4 | |
| Day 13 / June 28 | Intro. to ASM
Basic CPU Architecture/Overview Register Basics Simple Math Instructions: add, sub Simple Math Equations Memory/Array Structure/Indexing |
A.2, A.5,A.7,A.8,A.9 (esp. pg A.48-49) | Hw #4 Assigned / Solution |
| Day 14 / June 29 | Alignment
Load & Store Instructions: lw, sw Equations with Array Elements Instruction Formats: R-Format & I-Format |
3.5, Hello World Handout | |
| Day 15
/ July 2
(Last day to drop without WD) |
MIPS Memory Segments
Labels, Constants, and Assembler Directives |
Hw #4
Due / Solution
Hw #5 Assigned / Solution |
|
| Day 16 / July 3 | Assembler Directives
Syscalls |
SPIM Manual | |
|
|
No Class | ||
| Day 17 / July 5 | Pseudo-Ops
System Interrupts & Services, Exceptions, Branching & Decision Instructions Hello World Handout |
3.6, A.6, Stack Usage Handout, | |
| Day 18 / July 6 | Branching and Decision Instructions
More Pseudo-Ops J-Format |
3.7 | Lab #1 Assigned |
| Day 19 / July 9 | Stack Usage Handout
Using SPIM SPIM Examples |
3.9, 3.10, 3.11 | Hw #5
Due / Solution
Hw #6 Assigned / Solution |
| Day 20 / July 10 | Procedure Calling Conventions, Functions, Recursion
Register Conventions Functions/Recursion Continued Arrays vs. Pointers |
3.8, 4.8 (pg 288-) | |
| Day 21 / July 11 | Addressing Styles Putting it all together
Floating Point Co-Processor and ASM Multi-Arg Functions and Large Return Vals: Depth & Examples |
3.15 | |
| Day 22 / July 12 | Floating Point Arguments | A.10-A.11 | Lab #1
Due
Lab #2 Assigned |
| Day 23 / July 13 | Finish Floating Point Intro. to Large Arguments |
3.13, 3.14 | |
| Day 24 / July 16 | Finish Larg Arguments/Return Value
Chapter Review/Test Topics |
Hw #6 Due / Solution | |
| Day 25 / July 17 | Logic Introduction/Review Gates & Intro. to Combinational Logic Propagation Delay Logic Equations |
B.1, B.2, B.3 | Hw #7 Assigned / Solution |
| Day 26 / July 18 | Quiz #2 Higher Components: Multiplexors, Decoders, Encoders, etc. Digital Logic Tutorial On-line digital systems tutorial Electronics tutorials for begginers links |
B.4 | |
| Day 27 / July 19 | Programmable Combinational Logic | B.5 | |
| Day 28 / July 20 | Test #2: Topics | ||
| Day 29 / July 23 | Memory Elements: Latch, Flip-Flop, RAM, SRAM, DRAM, etc. Register & Memory Element Structure |
B.6, 4.4 | Lab #2
Due Lab #3 Assigned |
| Day 30 / July 24
(Last day to drop) |
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) |
Hw #7 Due / Solution
Hw #8 Assigned / Solution |
|
| Day 31 / July 25 | Finish Memory
Intro. to State Machines |
||
| Day 32 / July 26 | More State Machines
Logic Operations in MIPS |
4.5 | |
| Day 33 / July 27 | Building a 1-bit ALU
Building a Multi-bit ALU |
4.6, 4.7 | Lab #4 Assigned |
| Day 34 Night/ July 30 | Finishing Addition/Multi-bit ALU | Hw #9 Assigned
/ Solution Lab #3 Due |
|
| Day 35 / July 31 | Supporting Multiplication | ||
| Day 36 / Aug 1 | Supporting Division
Big Picture - The Whole CPU/ALU and interaction. |
Hw #8 Due
/ Solution |
Hw #9 Due / Solution |
| Day 37 / Aug 2 | Quiz #3
Chapter Review |
Lab #4 Due | |
| Final / Aug 3 | 10:30-12:30 pm / Test #3 Topics |
CS234 WS1 Homepage
My notes, outlines, and assignments from WS1CS234 WS0 Homepage
My notes, outlines, and assignments from WS0CS234 FS0 Homepage
My notes, outlines, and assignments from FS0Slides
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.
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).The MIPS Programmer's Handbook by Farquhar and Bunce
(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)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.patsNachOS:
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)