| Class Period/Date | Topics/Links | Reading Due | Homework/Assignments |
| Day 1 / Jan 15 |
Syllabus, Policies, & Expectations Computer Components/Parts Histroy of CS Architecture History of Improtatn CS Figures |
||
| Day 2 / Jan 17 | Video: The Machine
that Changed the World (I'll bring donuts) Finish CS History |
1.1-1.8 | Hw #1 Assigned / Solution |
| Day 3 / Jan 22 | Components of the Computer Software System Hierarchy |
Appendix A, A.1-A.4 2.1-2.3, |
|
| Day 4 / Jan 24 | Intro to Performance Analytical Performance Analysis |
2.4-2.6 | Hw #1 Due / Solution Hw #2 Assigned / Solution |
| Day 5 / Jan 29 | Finishing Analytical Performance Intro to Benchmarking |
2.7-2.9 SPEC 2000 Handout, 4.1-4.2 (pg 215) |
|
| Day 6 / Jan 31 | Finishing Benchmarking and SPEC 2000 Intro. to Numerical Representation Integers & Sign Representation Learning Binary Bill's Guide to binary numbers |
4.2 (pg 215)-4.3 (pg 223) |
Hw #2 Due / Solution Hw #3 Assigned / Solution |
| Day 7 / Feb 5 | Continue Binary Integers & Sign | Pg 142, 4.8, pg 275 to pg (top) 288 | |
| Day 8 / Feb 7 | Binary Math (Singed and Unsigned) ASCII /Character Representation |
||
| Day 9 / Feb 12 |
Floating Point (IEEE 754) Representation Moore's Law Paper (postscript) Test #1 Review |
Hw #3 Due Wed 2-13-2 by 5pm / Solution | |
| Day 10 / Feb 14 |
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 #4 Assigned / Solution Quiz #1 / Solution |
| Day 11 / Feb 19 | Test #1: Topics | ||
| Day 12 / Feb 21 (Last day to drop w/o a WD) |
Load & Store Instructions: lw, sw Register Basics Memory/Array Structure/Indexing Equations with Array Elements Instruction Formats: I-Format |
A.5,A.7-A.9 (esp. pg A.48-49) |
Hw #4 Due Fri. 2-22-2 by 5pm / Solution Hw #5 Assigned / Solution |
| Day 13 / Feb 26 | lb/sb Alignment Labels Branching & Decision Instructions Hello World Handout - Type / Try! |
||
| Day 14 / Feb 28 |
Pseudo-Ops Basic structure/syntax of ASM programs Labels, Constants, and Assembler Directives J-Format |
3.6, A.6, 3.5, Hello World Handout | Hw #5 Due / Solution Hw #5 Part B Assigned / Solution Lab #1 Assigned |
| Day 15 / Mar 5 |
System Interrupts, Services, & Exceptions SPIM syscalls for I/O Improved Syscall Table! |
SPIM Manual |
Hw #5 Part B Due / Solution |
| Day 16 / Mar 7 (Midterm) |
Memory Segments How the assembler "places" parts of the prog. Using SPIM SPIM Examples |
Stack/Register Usage Handout, 3.7 | Hw #6 Assigned / Solution |
| Day 17 / Mar 12 |
Stack & Register Usage Handout Procedure Calling Conventions Register Conventions Functions, Recursion, & the Stack (Examples) |
3.9, 3.10, 3.13, 3.14, 4.8 (pg 288-301) |
Lab #1 Due Lab #2 Assigned |
| Mar 14 - Spring Recess |
|||
| Day 18 / Mar 19 | Functions Continued |
3.8, 3.11, 3.15 |
Hw #6 Due / Solution
Hw #7 Assigned / Solution |
| Day 19 / Mar 21 | Functions continued |
A.10-A.11 | |
| Mar 26/28 Spring Break |
|||
| Day 20 / Apr 2 | More Functions / Stack Arrays vs. Pointers Addressing Styles Putting it all together Multi-Arg Functions and Large Return Vals: Depth & Examples |
Appendix B B.1,B.2, Handout? |
Hw #7 Due / Solution Lab #3 Assigned |
| Day 21 / Apr 4 |
Putting it all together Multi-Arg Functions and Large Return Vals: Depth & Examples Floating Point Co-Processor and ASM Example of Floating point function MIPS Addressing Styles |
Lab #2 Due |
|
| Day 22 / Apr 9 |
Breakpoints in SPIM Multidimensional Arrays C, C++, and ASM: Inlining, Locals, Globals, Initilizing, Pointers/Arrays, Pass by Value/Pass by reference, Short Circuit Evaluation, Multi Dim Arrays Chapter Review/Test Topics Quiz #2 |
B.3, B.4 | Quiz #2 / Solution |
| Day 23 / Apr 11 | Test #2: Topics | 4.4,4.5 | Hw #8 Assigned / Solution |
| Day 24 / Apr 16 |
Gates & Intro. to Combinational Logic Propagation Delay Logic Equations Higher Components: Multiplexors, Decoders, Encoders, etc. Digital Logic Tutorial On-line digital systems tutorial Introductory Digital Electronics How stuff works: Boolean Logic Digital Logic |
B.5 |
Lab #3 Due Lab #4 Assigned |
| Day 25 / Apr 18 (Last day to drop) |
Logic Continued Intro to Programmable Combinational Logic |
Hw #8 Due / Solution Hw #9 Assigned / Solution |
|
| Day 26 / Apr 23 | Finishing Programmable Logic Logic Operations in MIPS Basic Adders & Chaining 1-Bit ALU |
B.6 | |
| Day 27 / Apr 25 |
Intro. to Multi-Bit ALU and Bit Cells |
||
| Day 28 / Apr 30 |
More Multi-Bit ALU, Subtraction, Overflow and SLT Latches - The RS Latch Behavior Latches, Flip-Flops and other memory elements 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 #10 Assigned / Solution |
| Day 29 / May 2 | Register & Memory Element Structure RAM Structure: SRAM, DRAM, etc. State Machines |
Lab #4 Due Hw #9 Due / Solution |
|
| Day 30 / May 7 | Finish State Machines Attendance Quiz |
||
| Day 31 / May 9 | Finish Multiplication and Division Big Picture - The Whole CPU/ALU and interaction. Chapter Review |
Hw #10 Due / Solution | |
| Final / May 14 | 4:00-6:00 pm / Test #3 Topics |
My notes, outlines, and assignments from previous semesters:
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)