22C:122/55:132, Lecture Notes and Schedule, Spring 2001
Douglas W. Jones
University of Iowa
Department of Computer Science
Lectures are at 9:30 Monday, Wednesday and Friday, Room 103, North Hall
with a video link to the Grant Wood room, Bldg 133, Rockwell Collins.
This schedule is preliminary expect revisions!
- Wed Jan 17
-- Introduction
- Fri Jan 19
-- A breakneck review of digital logic
- Mon Jan 22
-- A breakneck review of finite state automata
- Wed Jan 24
-- A breakneck review of register transfer components
- Fri Jan 26
-- Reduction of programs to register transfer systems
- Mon Jan 29
[Last free drop/add]
-- A hardware description language
- Wed Jan 31
-- The Ultimate RISC at the ISP level
- Fri Feb 2
-- The Ultimate RISC at the Register Transfer level
- Mon Feb 5
[Last add]
-- More Register Transfer design
- Wed Feb 7
-- Review of bus-level design
- Fri Feb 9
-- Bus Level Components for the Ultimate RISC
- Mon Feb 12
-- Information Theory and Instruction Coding
- Wed Feb 14
-- Stack machines: The Minimal CISC at the ISP and RT levels
- Fri Feb 16
-- Optimal Instruction Coding for Stack Machines
- Mon Feb 19
-- Fast addition
- Wed Feb 21
-- Fast multiplication
- Fri Feb 23
-- Class Cancelled! (Junior College Articulation Conference)
- Mon Feb 26
-- Fast Multiplication without hardware support!
- Wed Feb 28
-- BCD Arithmetic
- Fri Mar 2
-- Coprocessors (simple case of functional units)
- Mon Mar 5
-- review and wrap-up simple coprocessors
- Wed Mar 7
[Midterm]
-- Exam
- Fri Mar 9
-- Pipelined functional units, vector processors
- Mar 10-18
[Spring Break]
- Mon Mar 19
-- VLIW processors
- Wed Mar 21
-- VLIW processors with pipelines
- Fri Mar 23
-- Pipeline diagrams
- Mon Mar 26
-- A Classic Pipelined CPU
- Wed Mar 28
-- Implementing a pipelined CPU
- Fri Mar 30
-- Interlock conditions
- Mon Apr 2
[Last undergrad drop]
-- Interlock logic, branches and skips
- Wed Apr 4
-- Forwarding, out-of-order execution
- Fri Apr 6
-- Variable length instructions
- Mon Apr 9
[Passover, day 2]
-- Superscalar pipelines
- Wed Apr 11
-- Condition codes and conditional branches
- Fri Apr 13
[Good Friday]
-- Calls and interrupts
- Mon Apr 16
[preregistration]
-- Interrupts in pipelined systems, Imprecise Traps.
- Wed Apr 18
-- Bus Arbitration, Crossbar Switches
- Fri Apr 20
-- Use of Cache Memory
- Mon Apr 23
-- Implementing Associative and Cache Memory
- Wed Apr 25
-- Snooping caches
- Fri Apr 27
-- Banyan trees, cached and crossbar based
- Mon Apr 30
-- Branch prediction (more associative memory)
- Wed May 2
-- Alignment networks and Memory management units
- Fri May 4
-- Loose ends!
- Final Exam
- Fri May 11, 7:30 AM