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