Department of Electrical and Computer Engineering
The University of Texas at Austin

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

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

Final exam: December 12.