Bill's CS234 B SS1 Homepage

    Online Gradebook - Check your current grade

     
    Class Period/Date  Topics/Links  Reading Due  Homework/Assignments 
    Day 1  / June 12 Syllabus & Policies 
    Computer Components/Parts 
    Histroy of CS Architecture 
    Intro to CS History
      Hw #1 Assigned / Solution
    Day 2  / June 13 Video: The Machine that Changed the World
    (We can order Pizza?) 
    1.1-1.8  
    Day 3  / June 14 Finish CS History
    Software System Hierarchy
    Appendix A, A.1-A.4
    2.1-2.3,
     
    Day 4  / June 15 Intro. to Performance 
    SPEC 2000 Handout
    2.4-2.6 and SPEC 2000 handout Hw #1 Due  / Solution
    Hw #2 Assigned / Solution
    Day 5  / June 18 Performance Continued  2.7-2.9  
    Day 6  / June 19 Intro. to Benchmarking  Hw #2 Due / Solution
    Hw #3 Assigned / Solution
    Day 7  / June 20 Concluding Benchmarking
    Intro to Numerical Representation: Unsigned Ints & Hexadecimal
    Learning Binary
    4.1   
    Day 8  / June 21 Unsigned and Signed Integer Numbers 4.2-4.3   
    Day 9  / June 22 ASCII/Character Representation 
    Floating Point (IEEE 754) Representation
    4.8 to pg 288  
    Day 10 / June 25 Memory Structure 
    Endians
      Hw #3 Due  / Solution
    Day 11 / June 26 Review for Test #1
    Moore's Law Paper (postscript)
    Quiz #1
    3.1-3.2  
    Day 12 / June 27 Test #1: Topics 3.3-3.4  
    Day 13 / June 28 Intro. to ASM 
    Basic CPU Architecture/Overview 
    Register Basics
    Simple Math Instructions: add, sub
    Simple Math Equations
    Memory/Array Structure/Indexing
    A.2, A.5,A.7,A.8,A.9 (esp. pg A.48-49) Hw #4 Assigned / Solution
    Day 14 / June 29 Alignment
    Load & Store Instructions: lw, sw
    Equations with Array Elements
    Instruction Formats: R-Format & I-Format
    3.5, Hello World Handout  
    Day 15 / July 2
    (Last day to drop without WD)
    MIPS Memory Segments
    Labels, Constants, and Assembler Directives
      Hw #4 Due / Solution
    Hw #5 Assigned / Solution
    Day 16 / July  3 Assembler Directives 
    Syscalls
    SPIM Manual  
    July 4 Holliday
    No Class    
    Day 17 / July 5 Pseudo-Ops
    System Interrupts & Services, Exceptions, Branching & Decision Instructions
    Hello World Handout
    3.6, A.6, Stack Usage Handout,   
    Day 18 / July 6 Branching and Decision Instructions
    More Pseudo-Ops
    J-Format
    3.7 Lab #1 Assigned
    Day 19 / July 9 Stack Usage Handout
    Using SPIM
    SPIM Examples
    3.9, 3.10, 3.11 Hw #5 Due / Solution
    Hw #6 Assigned / Solution
    Day 20 / July 10 Procedure Calling Conventions, Functions, Recursion
    Register Conventions
    Functions/Recursion Continued
    Arrays vs. Pointers
    3.8, 4.8 (pg 288-)  
    Day 21 / July 11 Addressing Styles Putting it all together
    Floating Point Co-Processor and ASM
    Multi-Arg Functions and Large Return Vals: Depth & Examples
    3.15   
    Day 22 / July 12 Floating Point Arguments A.10-A.11 Lab #1 Due
    Lab #2 Assigned
    Day 23 / July 13 Finish Floating Point
    Intro. to Large Arguments
    3.13, 3.14  
    Day 24 / July 16 Finish Larg Arguments/Return Value
    Chapter Review/Test Topics
      Hw #6 Due / Solution
    Day 25 / July 17 Logic Introduction/Review 
    Gates & Intro. to Combinational Logic
    Propagation Delay
    Logic Equations
    B.1, B.2, B.3 Hw #7 Assigned / Solution
    Day 26 / July 18 Quiz #2
    Higher Components: Multiplexors, Decoders, Encoders, etc.
    Digital Logic Tutorial
    On-line digital systems tutorial
    Electronics tutorials for begginers links
    B.4  
    Day 27 / July 19 Programmable Combinational Logic B.5  
    Day 28 / July 20 Test #2: Topics    
    Day 29 / July 23 Memory Elements: Latch, Flip-Flop, RAM, SRAM, DRAM, etc.
    Register & Memory Element Structure
    B.6, 4.4  Lab #2 Due
    Lab #3 Assigned
    Day 30 / July 24
    (Last day to drop)
    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 #7 Due / Solution
    Hw #8 Assigned  / Solution
    Day 31 / July 25 Finish Memory
    Intro. to State Machines
       
    Day 32 / July 26 More State Machines
    Logic Operations in MIPS
    4.5  
    Day 33 / July 27 Building a 1-bit ALU
    Building a Multi-bit ALU
    4.6, 4.7 Lab #4 Assigned
    Day 34 Night/ July 30 Finishing Addition/Multi-bit ALU   Hw #9 Assigned / Solution
    Lab #3 Due
    Day 35 / July 31 Supporting Multiplication    
    Day 36 / Aug 1 Supporting Division
    Big Picture - The Whole CPU/ALU and interaction.
    Hw #8 Due
    / Solution
    Hw #9 Due  / Solution
    Day 37 / Aug 2 Quiz #3
    Chapter Review
      Lab #4 Due
    Final  / Aug 3  10:30-12:30 pm / Test #3 Topics    

    External References/Help

    CS234 WS1 Homepage

    My notes, outlines, and assignments from WS1

    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)