Computer Science 220
Assembly Language & Computer Architecture

Fall 2011, Siena College

Course Schedule

"COD" indicates readings from Computer Organization and Design, The Hardware/Software Interface, Fourth Edition, Patterson and Hennessy. Additional readings will be given occasionally. Links will be added here with additional information about lectures, labs, and other assignments. All assignment dates are subject to change, and are provided only as a general guideline until the actual assignment is handed out in class.

Date

Topic and/or Event Readings
Sept. 6 Lecture 0x00: Introduction and Overview; Bits and Numbers COD Ch. 1; Topic Notes: Introduction and Overview; Topic Notes; Bits and Numbers
Sept. 6/7 Lab 0: C and Unix Introduction
Sept. 8 Lecture 0x01: Binary Arithmetic; Signed Representations; Signed Arithmetic COD Ch. 2.4
Sept. 13 Lecture 0x02: Logical and Bitwise Operations COD Ch. 3.5
Sept. 13/14 Lab 1: C and Bitwise Operations
Sept. 15 Lecture 0x03: Floating Point Representations; vonNeumann Architectures; Introduction to MIPS ISA Topic Notes: MIPS ISA
Sept. 20 Lecture 0x04: MIPS ISA COD Ch. 2.5-2.7
Sept. 20/21 Lab 10: Decoding MIPS Instructions
Sept. 22 Lecture 0x05: Introduction to MIPS Programming
Sept. 27 Lecture 0x06: MIPS Programming Topic Notes: MIPS Programming; COD Ch. 2.8
Sept. 27/28 Lab 11: MIPS Programming with SPIM
Sept. 29 Lecture 0x07: Advanced MIPS Programming COD Ch. 2.9-2.10
Oct. 4 Lecture 0x08: MIPS Subroutines
Oct. 4/5 Lab 100: Advanced MIPS Programming
Oct. 6 Lecture 0x09: MIPS Programming Wrapup
Oct. 11 Lecture 0x0a: Introduction to Digital Logic Topic Notes: Digital Logic; COD App. C.1-C.2 (on the CD)
Oct. 12/13 Lab 101: Real MIPS Programming
Oct. 13 Lecture 0x0b: Exam Review; Combinational Circuits COD App. C.3
Oct. 18 Lecture 0x0c: Exam Review; Exam 1 Out (take home)
Oct. 18/19 No Lab Meetings: Exam in progress (slots available as office hours)
Oct. 20 Lecture 0x0d: Exam 1 Due; Encoders and Decoders; Adders COD App. C.5-C.6
Oct. 25 Lecture 0x0e: Exam and Assignment Recap
Oct. 25/26 Lab 110: TTL Circuit Introduction
Oct. 27 Lecture 0x0f: Adders; Introduction to Sequential Circuits Topic Notes: Sequential Circuits; COD App. C.7-C.8
Nov. 1 Lecture 0x10: Latches and Flip-Flops; Counters COD App. C.9
Nov. 1/2 Lab 111: Intermediate Circuits
Nov. 3 Lecture 0x11: Building Memory Topic Notes: Building Memory
Nov. 8 Lecture 0x12: Building Memory; Error Correction
Nov. 8/9 Lab 1000: A Simple Memory System with TTL
Nov. 10 Lecture 0x13: Introduction to Microarchitecture: Data Paths and Control Topic Notes: Data Paths and Control; COD Ch. 4.1-4.3, App. C.5
Nov. 15 Lecture 0x14: MIPS Single-Cycle Implementation COD Ch. 4.4
Nov. 15/16 Lab 1000 continues (meet to construct circuits)
Nov. 17 Lecture 0x15: Lab and Lecture Assignment Recaps
Nov. 22 Lecture 0x16: Exam Review; Single-Cycle Wrapup; Lab 1001 Out: Single-Cycle MIPS Subset Simulation
Nov. 22/23 No Labs: Happy Thanksgiving!
Nov. 24 No Class: Happy Thanksgiving!
Nov. 29 Lecture 0x17: Exam Review; Exam 2 Out
Nov. 29/30 No Lab Meetings: Exam in progress (slots available as office hours)
Dec. 1 Lecture 0x18: Exam 2 Due; Pipelines; Hazards; Branch Prediction Topic Notes: Pipelines; COD Ch. 4.5-4.8
Dec. 6 Lecture 0x19: Pipeline Datapath and Control
Dec. 6/7 Lab 1010: ISA Comparisons COD 2.17
Dec. 8 Lecture 0x1a: Memory Hierarchy and Cache Topic Notes: Memory Hierarchy; COD Ch. 5
Dec. 15-19 Take-home Final Exam