| Class Period/Date | Topics/Links | Reading Due | Homework/Assignments |
| Day 1 / Aug 21 | Syllabus
& Policies
Computer Components/Parts Histroy of CS Architecture Intro to CS History |
||
| Day 2 / Aug 23 | Video: The Machine
that Changed the World
(I'll bring donuts) Finish CS History |
1.1-1.8 | Hw #1 Assigned / Solution |
| Day 3 / Aug 28 | 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 / Aug 30 | Performance Continued
Benchmarking & SPEC 2000 |
2.4-2.6 and SPEC 2000 handout | |
| Day 5 / Sept 4 | Concluding Benchmarking
Intro to Numerical Representation: Unsigned Ints & Hexadecimal |
2.7-2.9
4.1-4.2 (pg 215) |
Hw #2
Due / Solution
Hw #3 Assigned / Solution |
| Day 6 / Sept 6 | Unsigned Int Math
Signed Int Representations Integer Arithmatic Learning Binary Bill's Guide to binary numbers |
4.2 (pg 215)-4.3 (pg 223) | |
| Day 7 / Sept 11 | Finishing Binary Integers | Pg 142, 4.8 to pg 288 | |
| Day 8 / Setp 13 | ASCII/Character
Representation
Floating Point (IEEE 754) Representation Review for Test #1 Moore's Law Paper (postscript) |
Hw #3 Due 9-13-1 at Noon / Solution | |
| Day 9 / Sept 18 | Quiz #1 |
A-5, 3.1-3.2 | |
| Day 10 / Sept 20 | Test #1: Topics | ||
| Day 11 / Sept 25 |
Intro. to ASM
Basic CPU Architecture/Overview/Review Basic structure/syntax of ASM programs Labels, Constants, and Assembler Directives Register Basics Simple Math Instructions: add, sub Simple Math Equations Instruction Formats: R-Format |
3.3-3.4 | Hw #4 Assigned / Solution |
| Day 12 / Sept 27
(Last day to Drop without WD) |
Load & Store Instructions: lw, sw
Memory/Array Structure/Indexing Alignment Equations with Array Elements Instruction Formats: I-Format System Interrupts, Services, & Exceptions SPIM syscalls for I/O Hello World Handout - Type / Try! |
A.2,A.7,A.8,A.9 (esp. pg A.48-49) | Hw #4 Due Monday 10-1-1
/ Solution
Hw #5 Assigned / Solution |
| Day 13 / Oct 2 |
Memory Instructions
Alignment Pseudo-Ops |
3.5, Hello World Handout | Lab #1 Assigned |
| Day 14 / Oct 4 |
Branching & Decision Instructions
J-Format Memory Segments How the assembler "places" parts of the prog. |
3.6, A.6, MIPS Manual | Hw #5 Due Monday 10-8-1
/ Solution
Hw #6 Assigned / Solution |
| Day 15 / Oct 9 | Using SPIM
SPIM Examples Stack & Register Usage Handout Procedure Calling Conventions |
Stack/Register Usage Handout | |
| Day 16 / Oct 11
(Midterm) |
Using SPIM Continued Register Conventions |
3.7,3.8,3.11 | Hw #6 Due (10-12-1 noon)
/ Solution
Hw #7 Assigned / Solution |
| Day 17 / Oct 16 | Functions and Recursion |
3.9, 3.10, 3.13, 3.14, 4.8 (pg 288-) | Lab #1 Due
Lab #2 Assigned |
| Day 18 / Oct 18 | Functions Continued
Arrays vs. Pointers Addressing Styles Putting it all together |
3.15 | Hw #7 Due
/ Solution
Hw #8 Assigned |
| Day 19 / Oct 23 | Functions Continued
Arrays vs. Pointers Addressing Styles Putting it all together Floating Point Co-Processor and ASM Example of Floating point function Multi-Arg Functions and Large Return Vals: Depth & Examples |
A.10-A.11 | |
| Day 20 / Oct 25 |
Multi-Arg Functions and Large Return Vals: Depth & Examples
Addressing Styles Putting it all together Floating Point Co-Processor and ASM |
Appendix B B.1,B.2, Handout? | Lab #2 Due
Lab #3 Assigned Hw #8 Due |
| Day 21 / Oct 30 |
Floating Point Co-Processor and ASM
Example of Floating point function Multidimensional Arrays Chapter Review/Test Topics Quiz #2 Solution |
||
| Day 22 / Nov 1 |
Gates & Intro. to Combinational Logic
Propagation Delay Logic Equations |
B.3, B.4 | |
| Day 23 / Nov 6 | Test #2: Topics | 4.4,4.5 | Hw #9 Assigned / Solution |
| Day 24 / Nov 8 |
Basic Gates Higher Components: Multiplexors, Decoders, Encoders, etc. Digital Logic Tutorial On-line digital systems tutorial Introductory Digital Electronics How stuff works: Boolean Logic Digital Logic Programmable Combinational Logic |
B.5 | Lab #3 Due |
| Day 25 / Nov 13
(Last day to drop) |
Logic Operations in MIPS
Basic Adders & Chaining |
Hw #10 Assigned
/ Solution
Lab #4 Assigned |
|
| Day 26 / Nov 15 |
1-Bit ALU Intro. to Multi-Bit ALU and Bit Cells Latches, Flip-Flops and other memory elements |
B.6 | Hw #9 Due / Solution |
| Day 27 / Nov 20 |
More Multi-Bit ALU, Subtraction, Overflow and SLT
Latches - The RS Latch Behavior |
Hw #10 Due / Solution | |
| No Class / Nov 22 | Thanksgiving Break | ||
| Day 28 / Nov 27 |
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) |
4.6,4.7 | Hw #11 Assigned / Solution |
| Day 29 / Nov 29 |
Register & Memory Element Structure
RAM Structure: SRAM, DRAM, etc. State Machines |
||
| Day 30 / Dec 4 | Finish State Machines
Supporting Multiplication & Division Attendance Quiz |
Lab #4 Due | |
| Day 31 / Dec 6 |
Finish Multiplication and Division
Big Picture - The Whole CPU/ALU and interaction. Chapter Review |
Hw #11 Due / Solution | |
| Final / Dec 12 | 4:00-6:00 pm / Test #3 Topics |
My notes, outlines, and assignments from previous semesters:
CS234 SS0 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 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)