Textbook:
The Elements of a Computing System: Building a Computer from First Principles (ECS)
by Noam Nisan and Shimon Schocken
Companion Website
Computer Architecture and Organization: An Integrated Approach by M. Murdocca and V. Heuring (CAO)
Companion Website
The PDP-8 Emulator Program User's Manual (Blue Book)
Essential Intel 80x86 Assembly Language Programming (Green Book)

Weekly Syllabus - Comp 255 - Spring 2013

Week: Calender Dates Topic Reading Assignments - Due Date
1: Mon Jan 7 - Fri Jan 11 M: Course Overview
T: Lab 01:Python to C/C++ Programming
W: A History of Computers
F: Fixed Point Representation
M:
T: Python to C/C++
W: CAO Ch 1
F: CA0 Ch 2.1
2: Mon Jan 14 - Fri Jan 18 M: Floating Point Representation
T: Lab 02: Parameter Passing in C
W: Computer Arithmetic - Addition & Subtraction
F: PDP-8 ISA
M: CAO Ch 2.2 & 2.4
T:
W: CAO Ch 3.1
F: CAO Ch 4.1; PDP-8 Ch. 1 - 2
3: Mon Jan 21 - Fri Jan 25 M: MLK Holiday - No Class
T: Lab 03: PDP-8 Machine Code
W: PDP-8 ISA
F: Computer Arithmetic - Multiplication & Division
M:
T: PDP-8 Ch. 3
W: PDP-8 Ch. 4
F: CAO- Ch 3.2
4: Mon Jan 28 - Fri Feb 1 M: PDP-8 Assembler
T: Lab Cancelled - Faculty Retreat
W: PDP-8 I/O & Subroutines
F: catch-up
M: PDP-8 Ch. 4 - 5
T: PDP-8 Ch. 4 - 5
W: PDP-8 Ch. 6 - 7
F:
5: Mon Feb 4 - Fri Feb 8 M: Intro to Digital Logic - Combinatorial Circuits
T: Lab 04: Simple Circuits
W: Sequential Circuits
F: Test #1
M: CAO Appendix A.1 - A. 10 but skip A.9
T:
W: CAO Appendix A.11
F:
6: Mon Feb 11 - Fri Feb 15 M: Boolean Logic - HDL Coding
T: Lab 05: Building Components with HDL
W: Boolean Arithmetic
F: Boolean Arithmetic
M: ECS Preface, Introduction, Ch 1
T: ECS Ch 1
W: ESC Ch 2
F: ESC Ch 2
7: Mon Feb 18 - Fri Feb 22 M: ECS: Sequential Logic
T:
W:
F: ECS: The HACK ISA
M: ESC Ch 3
T:
W: ESC Ch 4
F:
8: Mon Feb 25- Fri Mar 1 M: HACK Assembly Language
T: Lab 07: HACK Assembly Language
W: HACK ComputerArchitecture
F:
M:
T:
W: ESC: Ch 5
F:
-: Mon Mar 4 - Fri Mar 8 M: Spring Break
T:
W:
F:
M:
T:
W:
F:
9: Mon Mar 11 - Fri Mar 15 M: Intro to ARC ISA
T: Lab 08: ARC Assembly Language
W:
F: ARC I/O; Addressing Modes
    Class Exercise
M: CAO Ch 4.2
T:
W: CAO Ch 4.3 - 4.4
F: CAO Ch 4.5 - 4.6
10: Mon Mar 18 - Fri Mar 22 M: ARC Subroutines & Parameter Passing
T: Lab 09: More ARC Assembly Language Programming
W: Micro-Architecture
F: Test #2
M: CA0 Ch 4.7
T:
W: CAO Ch 5.1 - 5.2
F:
11: Mon Mar 25- Fri Mar 29 M: Microprogramming
T: Lab 10: ARC Assembly Language I/O Programming
W: The Hardwired ARC
F: Good Friday - No Class
M: CAO Ch 5.2 - 5.2
T:
W: CAO Ch 5.4
F:
12: Mon Apr 1 - Fri Apr 5 M: Compilation
T: Lab 11: Intro to Intel 80x86 Assembly Language Programming
W: Assemblers, Linkers & Loaders
F: MAA Meeting - No Class
M: CAO Ch. 6.1
T: Essential Intel 80x86 Ch 1,2 and 4
W: CAO Ch 6.2 - 6.3
F:
13: Mon Apr 8 - Fri Apr 12 M: From Quantitative Analysis of Execution to Pipelines
T: Lab 12: Intel 80x86 Branching
W: Conditional Branching
F: Memory
M: CAO Ch 6.5 - Ch 6.7
T: Essential Intel 80x86 Ch 5
W: CAO Ch 7.1 - 7.3
F: CAO Ch 7.1 - 7.3
14: Mon Apr 15 - Fri Apr 19/TD> M: Cache Memory
T: Lab 13: Reading and Writing Hex and Decimal Integers
W: Addressing Modes and Subroutines
F: Parameter Passing
M: CAO Ch 7.4
T: Essential Intel 80x86 Ch 6
W: Essential Intel 80x86 Ch 7
F: Essential Intel 80x86 Ch 8
      CAO Ch 6.6
15: Mon Apr 22 - Fri Apr 26 M: Interruptps and Traps
T: Lab 14: Intel 80x86 Programming: Parameter Passing
W:
F: Test #3
M:
T:
W:
F:
16: Mon Apr 29 - Fri May 3 M: Buses, I/O, Error Detection
T: Lab 15: Java ByteCode (A Register Architecture)
W: Error Detection cont; Review
F:
M: CAO Ch 8.1 - 8.3, Ch 9.3
T: Java Virtual Machine Engine User's Manual
W:
F:
Monday May 6
12:00 - 3:00 PM
Final Exam Review & Study