EE 360N
Fall, 2003
Y. N. Patt, Instructor
TAs: Santhosh Srinath, Daniel Lynch
Course Outline
August 27, 2003
August 27: Intro to the course. Levels of Transformations. Basic architectural choices. Science of Tradeoffs.
September 1: Labor Day, no class
September 2: Intro to Instruction Set Architecture, with examples taken from many diverse ISAs. Detailed discussion of LC-3b, with Assembly language constructs.
September 3: Translation from Assembly Language to ISA
Problem set 1 due before class, September 8
(Emphasis: ISA, LC-3b, Assembly process)
September 8: Intro to Microarchitecture: Detailed discussion of an LC-3b implementation.
September 9, Discussion: the first programming lab
September 10 LC-3b microarchitecture, continued.
Programming Lab 1 is due, Sunday night Sep 14, 11:59pm.
(Write a program in LC-3 Assembler. Write an Assembler. Assemble the program you have written)
September 15: Physical memory, unaligned access, interleaving, SRAM, DRAM
September 16: Discussion.
September 17: Virtual memory, page tables, tlb, VAX model, IA32 model, contrast with segmenation.
Problem set 2 due before class, September 22
(Emphasis: Microarchitecture, Physical memory)
September 22: Virtual memory, continued
September 23: Discussion
September 24: Cache Memory
September 29: Cache Memory, continued
September 30: Discussion
Problem set 3 due before class, October 1
(Emphasis: Virtual Memory, Cache Memory)
October 1: Interrupts/Exceptions
October 6, No class: a little slack to allow you to complete the program
October 7: Discussion
October 8: I/O
Programming Lab 2 is due, Thursday night, 9 Oct, 11:59pm
(Finish the LC-3b)
October 11: UT vs. Oklahoma, nothing due this weekend.
Drive carefully.
October 13: Introduction to Performance Improvement. Metrics, Pipelining.
October 14: Discussion
Problem set 4 due before class, October 15
(Emphasis: I/E, I/O)
October 15: Review for exam
October 20, Exam 1
October 21: Discussion
October 22: Performance Improvement: Out-of-order execution, Vector Processing
October 22: Last day to Q drop without petition.
October 27: Performance Improvement: Branch Prediction
October 28: Discussion
October 29: Integer Arithmetic
Programming Lab 3 is due, Sunday night November 2
(Interrupts/Exceptions)
November 3: Floating Point, and the IEEE Standard
November 4: Discussion
November 5: Measurement Methodology
Programming Lab 4 is due, Sunday night November 9
(Virtual memory)
November 10: Intro to Multiprocessing, interconnection networks, Amdahl's Law, consistency models (basically everything except cache coherency)
November 11: Discussion
November 12: Cache Coherency
Problem set 5 due before class, November 17
(Emphasis: Pipelining, ooo, vectors, branch prediction, arithmetic, MP basics)
November 17: Review for exam
November 18: Discussion
November 19, Exam 2
November 24: Alternative Models of Concurrency: SIMD, MIMD, VLIW, Data Flow, new wrinkles
November 25: Alternative Models, continued
November 26, Day before Thanksgiving: Review
December 1: A case study: microarchitecture of a state-of-the-art microprocessor
December 2, Last class
December 3: Discussion
Programming Lab 5 is due, Friday, December 5, 5:00pm
(Pipelining)
Final exam: December 12.