Bill's CS234 B FS1 Homepage

    Online Gradebook - Check your current grade

     
    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    

    External References/Help

    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.

    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)