Bill's CS234 B WS1 Homepage

    Online Gradebook - Check your current grade

    Class Period/Date Topics/Links Reading Due Homework/Assignments
    Day 1  / Jan 16 Syllabus & Policies
    Computer Components/Parts
    Histroy of CS Architecture
    Intro to CS History
      Hw #1 Assigned / Solution
    Day 2  / Jan 18 Video: The Machine that Changed the World
    (I'll bring donuts)
    Finish CS History
    1.1-1.8  
    Day 3  / Jan 23 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  / Jan 25 Performance Continued
    Benchmarking & SPEC 2000
    2.4-2.6 and SPEC 2000 handout  
    Day 5  / Jan 30 Concluding Benchmarking
    Intro to Numerical Representation: Unsigned Ints & Hexadecimal
    2.7-2.9
    4.1
    Hw#2 Due / Solution
    Day 6  / Feb  1 Unsigned Int Math
    Signed Int Representations
    Integer Arithmatic
    Learning Binary
    4.2-4.3 Hw #3 Assigned / Solution
    Day 7  / Feb  6 ASCII/Character Representation
    Floating Point (IEEE 754) Representation
    4.8 to pg 288  
    Day 8  / Feb  8 Catch-up
    Review for Test #1
    Moore's Law Paper (postscript)
    Quiz #1
      Hw #3 Due / Solution
    Day 9  / Feb 13 Test #1: Topics    
    Day 10 / Feb 15 Intro. to ASM
    Basic CPU Architecture/Overview
    Register Basics
    Endians
    Simple Math Instructions: add, sub
    Simple Math Equations
    3.1-3.2 Hw #4 Assigned / Solution
    Day 11 / Feb 20 Memory/Array Structure/Indexing
    Alignment
    Load & Store Instructions: lw, sw
    Equations with Array Elements
    Instruction Formats: R-Format & I-Format
    3.3-3.4  
    Day 12 / Feb 22 Instruction Formats Continued
    SPIM syscalls for I/O
    MIPS Memory Segments
    Labels, Constants, and Assembler Directives
    Using SPIM
    Hello World Handout
    A.2, A.5,A.7,A.8,A.9 (esp. pg A.48-49) Hw #4 Due / Solution
    Hw #5 Assigned / Solution
    Day 13 / Feb 27 System Interrupts & Services, Exceptions, Branching & Decision Instructions
    Pseudo-Ops
    Stack Usage Handout
    3.5, Hello World Handout Lab #1 Assigned
    Day 14 / Mar  1 Branching Continued
    Using SPIM
    SPIM Examples
    3.6, A.6, Stack Usage Handout, SPEC Manual Hw #5 Due / Solution
    Hw #6 Assigned / Solution
    Day 15 / Mar  6 Procedure Calling Conventions
    Functions, Recursion
    Register Conventions
      Lab #1 Due
    Lab #2 Assigned
    Day 16 / Mar  8
    (Middle of Term)
    Functions/Recursion Continued
    3.7,3.8,3.11 Hw #6 Due / Solution
    Hw #7 Assigned / Solution
    Day 17 / Mar 13 Arrays vs. Pointers
    Addressing Styles Putting it all together
    Floating Point Co-Processor and ASM
    3.9, 3.10, 3.13, 3.14, 4.8 (pg 288-) Lab #2 Due
    (St. Pat's: Mar 15) No Class    
    Day 18 / Mar 20 Multi-Arg Functions and Large Return Vals: Depth & Examples 3.15 Hw #7 Due / Solution
    Lab #3 Assigned
    Day 19 / Mar 22 (Revised) Example of Floating point function
    ERROR CORRECTION
    Chapter Review/Test Topics
    A.10-A.11  
    (Spring Break: Mar 27 & 29) No Class    
    Day 20 / Apr  3 Logic Review
    Gates & Intro. to Combinational Logic
    Propagation Delay
    Quiz #2
    Appendix B B.1,B.2, Handout? Lab #3 Due
    Lab #4 Assigned
    Day 21 / Apr  5 Test #2: Topics   Hw #8 Assigned / Solution
    Day 22 / Apr 10 More Comb. Logic
    Logic Equations
    Higher Components: Multiplexors, Decoders, Encoders, etc.
    Digital Logic Tutorial
    On-line digital systems tutorial
    Electronics tutorials for begginers links
    B.3, B.4  
    Day 23 / Apr 12 Programmable Combinational Logic
    Memory Elements: Latch, Flip-Flop, RAM, SRAM, DRAM, etc.
    B.5 Hw #8 Due / Solution
    Hw #9 Assigned / Solution
    Day 24 / Apr 17 Register & Memory Element Structure
    Intro. to State Machines
    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)
    B.6  
    Day 25 / Apr 19 Finish Memory
    Intro. to State Machines
    4.4 Hw #9 Due / Solution
    Hw #10 Assigned / Solution
    Day 26 / Apr 24 More State Machines
    Logic Operations in MIPS
    4.5 Lab #5 (Extra Credit) Assigned
    Day 27 / Apr 26 Building a 1-bit ALU
    Building a Multi-bit ALU
    4.6, 4.7
    Hw #10 Due / Solution
    Hw #11 Assigned / Solution
    Day 28 / May  1 Finishing Addition/Multi-bit ALU   Lab #4 Due
    Day 29 / May 3 Supporting Multiplication
    Attendance Quiz
      Hw #11 Due / Solution
    Day 30 / May 8 Quiz #3 Solution
    Supporting Division
    Big Picture - The Whole CPU/ALU and interaction.
    Chapter Review
      Lab #5 (Extra Credit) Due
    Day 31 / May 10 Potential time for Test #3 Topics    
    Final  / May 18 8:00-10:00 am / Test #3
    (if we need more time)
       

    External References/Help

    CS234 WS0 Homepage

    My notes, outlines, and assignments from WS0

    CS234 FS0 Homepage

    My notes, outlines, and assignments from FS0

    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.

    Recommended Reading

    Some Selections of material may be handed out in class:

    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).
    (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)

    The MIPS Programmer's Handbook by Farquhar and Bunce

    An assembly language programmer's guide to programming the MIPS architecture. Only Chapter 2 and parts of the appendices may might be used.

    Software

    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.pats

    NachOS:

    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)