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