| Class Period/Date | Topics/Links | Reading Due | Homework/Assignments |
| Day 1 / Aug 27 | Syllabus, Policies, & Expectations Computer Components/Parts Histroy of CS Architecture History of Important CS Figures |
||
| Day 2 / Aug 29 | Video: The
Machine that Changed the World (I'll bring donuts) Finish CS History |
1.1-1.8 | Hw #1 Assigned / Solution |
| Day 3 / Sept 3 | Components of the Computer Software System Hierarchy Intro to Performance |
A.1-A.4 |
|
| Day 4 / Sept 5 | Analytical Performance Analysis Intro. to Benchmarking SPEC 2000 Handout |
2.1-2.5 | |
| Day 5 / Sept 10 | Analytical Performance Analysis Intro. to Benchmarking SPEC 2000 |
SPEC 2000 Handout 2.7-2.9 4.1-4.2 (pg 215) |
Hw #1 Due / Solution Hw #2 Assigned / Solution |
| Day 6 / Sept 12 | Benchmarking Conclusions Intro. to Numerical Representation Integers & Sign Representation Learning Binary Bill's Guide to binary numbers Binary Math (Singed and Unsigned) |
4.2 (pg. 215)-4.3 (pg 223) | |
| Day 7 / Sept 17 | ASCII
/Character Representation Moore's Law Paper (postscript) |
pg 142 | |
| Day 8 / Sept 19 | Finish Integer Arithmatic Intro to. Floating Point |
4.8-(pg 288) | Hw #2 Due - Fri. 9-20-2 / Solution |
| Day 9 / Sept 24 | Finish Floating Point Representation Test #1 Review |
Quiz #1 / Solution |
|
| Day 10 / Sept 26 | Test #1: Topics |
||
| Day 11 / Oct 1 | Intro. to ASM: Basic CPU Architecture/Overview/Review Simple Math Instructions: add, sub Simple Math Equations Instruction Formats: R-Format |
3.1-3.4 | Hw #3 Assigned / Solution |
| Day 12 / Oct 3 |
Register Basics Memory: Basic Memory Structure Load & Store Instructions: lw, sw Instruction Formats: I-Format Alignment Memory/Array Structure/Indexing Equations with Array Elements |
A.5 | |
| Day 13 / Oct 8 Last day to Drop without WD |
lb & sb Basic structure/syntax of ASM programs Labels, Constants, and Assembler Directives Immeadiate Instructions Branching & Decision Instructions Pseudo-Ops |
Hw #3 Due / Solution Hw #4 Assigned / Solution |
|
| Day 14 / Oct 10 |
More Pseudo-Ops Instruction Formats: J-Format Hello World Handout - Type / Try! System Interrupts, Services, & Exceptions |
3.5 |
Lab #1 Assigned |
| Day 15 / Oct 15 |
SPIM syscalls for I/O Improved Syscall Table! Memory Segments How the assembler "places" parts of the prog. Using SPIM SPIM Examples Stack/Register Usage Handout |
SPIM Manual Hello World Handout A.8-A.9 (esp. pg A.48-49) |
Hw #4 Due / Solution Hw #5 Assigned / Solution |
| Day 16 / Oct 17 |
Procedure Calling Conventions Register Conventions Functions,
Recursion, & the Stack (Examples) Functions |
3.6, A.6-A.7 Stack/Register Usage Handout |
Lab #2 Assigned |
| Day 17 / Oct 22 | More Functions / Stack Large Argument / Return Value Handout |
Lab #1 Due |
|
| Day 18 / Oct 24 | Arrays vs. Pointers Putting it all together Multi-Arg Functions and Large Return Vals: Depth & Examples |
3.7-3.11 Large Argument / Return Value Handout |
|
| Day 19 / Oct 29 | Floating Point Co-Processor and ASM Example of Floating point function MIPS Addressing Styles |
4.8 (pg 288-301), 3.13-3.14 |
Hw #5 Due / Solution |
| Day 20 / Oct 31 | Breakpoints in SPIM Multidimensional Arrays |
A.10-A.11 |
Lab #2 Due Lab #3 Assigned |
| Day 21 / Nov 5 | C, C++, and ASM: Inlining, Locals, Globals, Initilizing, Pointers/Arrays,
Pass by Value/Pass by reference, Short Circuit Evaluation, Multi Dim Arrays Test #2 Review |
||
| Day 22 / Nov 7 |
Quiz #2 Solution Logic Review Gates & Intro. to Combinational Logic Propagation Delay Logic Equations Higher Components: Multiplexors, Decoders, Encoders, etc. Digital Logic Tutorial On-line digital systems tutorial How stuff works: Boolean Logic Digital Logic |
|
|
| Day 23 / Nov 12 |
Test #2: Topics Extra Credit Extra Credit Solution |
B.1-B.3 |
Lab #3 Due Nov. 13 by 4:00pm |
| Day 24 / Nov 14 | Logic
Continued Intro. to Programmable Combinational Logic (And Two Level Logic) |
Hw #6 Assigned / Solution |
|
| Day 25 / Nov 19 Last day to Drop |
Finishing Programmable Logic Logic Operations in MIPS Basic Adders & Chaining 1-Bit ALU |
4.4-4.5 (pg 241) |
Lab #4 Assigned / Checklist Hw #6 Due / Solution / Functions |
| Day 26 / Nov 21 | Intro. to Multi-Bit ALU and Bit Cells |
||
| Day 27 / Nov 26 | More Multi-Bit ALU, Subtraction, Overflow and SLT Latches - The RS Latch Behavior 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) Latches, Flip-Flops and other memory elements D Latch Demo/Timing RS Latch and D-Latch with timing info (pdf) |
4.3 |
Hw #7 Assigned / Solution |
| Day 28 / Dec 3 | Register & Memory Element Structure RAM Structure: SRAM, DRAM, etc. |
B.4-B.5 | |
| Day 29 / Dec 5 | State Machines |
B.6 | Lab #4 Due Fri. Dec 6th / Checklist / Functions |
| Day 30 / Dec 10 | Finish State Machines |
B.7 |
Hw #7 Due Wed. Dec 11th / Solution
|
| Day 31 / Dec 12 |
Finish Multiplication and Division Big Picture - The Whole CPU/ALU and interaction. Test #3 Review |
4.6-(pg 259), 4.7 |
Attendance Quiz |
| Section A Final Dec 17 4:00pm-6:00pm |
Test #3 Topics Study Materials!!! |
||
| Section B Final Dec 19 / 10:30am-12:30pm |
Test #3 Topics Study Materials!!! |
My notes, outlines, and assignments from previous semesters:
CS234 SS2 Homepage
CS234 WS2 Homepage
CS234 FS1 Homepage
CS234 SS1 Homepage
CS234 WS1 Homepage
CS234 WS0 Homepage
CS234 FS0 Homepage
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.
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 pcspim.exe which fixes an error in syscall 9 (memory allocation) (this fixes a minor logic error in mem.c - Unix users may want to download mem.c and recompile)
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)