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

EE 460N/EE382N.1
Spring, 2013
Y. N. Patt, Instructor
TAs: Faruk Guvenilir, Sumedha Bhangale, Stephen Pruett
Course Outline
January 14, 2013

January 14: Lecture 1: Intro to the course. Levels of Transformations. Basic
architectural choices. Science of Tradeoffs.

January 16: Lecture 2: Intro to Instruction Set Architecture, with examples
taken from many diverse ISAs. Detailed discussion of LC-3b, with Assembly
language constructs.

January 17 or 18: First Discussion Session. Bookkeeping, overview, expectations.

January 21, no class. Martin Luther King Day.

January 23: Lecture 3: Translation from Assembly Language to ISA

January 24 or 25: Discussion Session. (Emphasis on ISA, LC-3b, the Assembly
Process, Programming Lab 1)

Problem set 1 due before class, January 28. (Emphasis: ISA, LC-3b,
the Assembly Process))

January 28: Lecture 4: Intro to Microarchitecture: Detailed discussion of an
LC-3b implementation.

January 30: Lecture 5: LC-3b microarchitecture, continued. Pipelining.

January 31, February 1: Discussion Session. Emphasis on Programming Lab 1.

Programming Lab 1 is due, Sunday night, February 3, 11:59pm.
(Write a program in LC-3b Assembly Language. Write an Assembler.
Assemble the program you have written)

February 4: Lecture 6: Performance enhancement: Branch Prediction, out-of-order

February 6: Lecture 7: Out-of-order execution, continued.

February 7 or 8: Discussion Session. Emphasis on Programming Lab 2.

Programming Lab 2 is due, Sunday night February 10, 11:59pm.
(Write a program in C that simulates at the instruction cycle level
the baseline LC-3b ISA. Test your simulator with the output of
the assembler for the application program written in Programming Lab 1.)

February 11: Lecture 8: Physical memory, unaligned access, interleaving, SRAM,

February 13: Lecture 9: Virtual memory, page tables, tlb, VAX model,
IA32 model, contrast with segmentation.

February 14 or 15: Discussion Session. (Emphasis on Physical, Virtual memory.
Branch Prediction, out-of-order exec.)

Problem set 2 due before class, February 18. (Emphasis:
Microarchitecture, Branch Prediction, Out-of-order execution.

February 18: Lecture 10: Virtual memory, continued.

February 20: Lecture 11: Cache Memory

February 21, 22: Discussion Section. Emphasis on Programming Lab 3.

Programming Lab 3 is due, Sunday night, February 24, 11:59pm.
(Finish the clock cycle level Simulator for the LC-3b.
Test it on the application program written in Programming Lab 1.)

February 25: Lecture 12: Cache Memory, continued.

February 27: Lecture 13: Interrupts/Exceptions.

February 28, March 1: Discussion Session. Emphasis on Virtual memory, caches.
preparation for exam 1.

Problem set 3 due before class, March 4.
(Emphasis: Physical Memory, Virtual Memory, Cache Memory)

March 4: Lecture 14: Review or catch up.

March 6: Lecture 15: Exam 1.

March 7 or 8: Discussion Session canceled -- Enjoy Spring break!

March 11-15: Spring Break

March 18: Lecture 16: I/O

March 20: Lecture 17: I/O, continued.

March 21 or 22: Discussion Session. Emphasis: I/E, I/O, Int Arith, Lab 4

March 25: Lecture 18: Integer Arithmetic

March 27: Lecture 19: Floating point arithmetic and the IEEE Standard.

March 28 or 29: Discussion Session. Emphasis: Lab 4

Programming Lab 4 is due, Sunday night March 31, 11:59pm.

April 1: Lecture 20: Floating point (continued)

April 3: Lecture 21: Alternative Models of Concurrency: The Uniprocessor
(SIMD, VLIW, DAE, HPS, Data Flow)

April 1: Last day an undergraduate student may, with the
dean’s approval, withdraw from the University or drop a class
except for urgent and substantiated, nonacademic reasons.
Last day to change grading to pass/fail.

April 4 or 5: Discussion Session. Emphasis on uniprocessor concurrency.

Problem set 4 due before class, April 8.
(Emphasis: Interrupts/Exeptions, I/O)

April 8: Lecture 22: Vector Processing.

April 10: Lecture 23: Alternative Models of Concurrency: The Multiprocessor
(Intro to Multiprocessing, Amdahl's Law, Speed-up, efficiency)

April 11 or 12: Discussion Session. Review for 2nd midterm exam.

Problem set 5 due before class, April 15.
(I/O, Arithmetic, Uniprocessor concurrency)

April 15: Lecture 24: Review for exam, or catch up!

April 17: Lecture 25: Exam 2

April 18 or 19: Discussion Session. Emphasis on Programming Lab 5.

April 22: Lecture 26: Interconnection networks, Cache Coherency,
Sequential Consistency.

Programming Lab 5 is due, Tuesday night April 23, 11:59pm.
(Virtual memory)

April 24: Lecture 27: Measurement Methodology.

April 25 or 26: Discussion Session. Emphasis on Programming Lab 6.

April 29: Lecture 28: Special lecture: TBD

May 1: Lecture 29: Last class, free for all!

May 2 or 3: Discussion Session. Review of the course.

Programming Lab 6 is due, Friday, May 3, 5:00pm. (Pipelining)
Problem set 6. A study guide, not to be turned in.

Final exam: Probably Friday, May 10, 7 to 10pm. (TENTATIVE) Note: The
Registrar has the right to change the dates of the final exams. Please keep
checking the Registrar's web site and our announcements to be sure when/where
the final exam will be given.