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

EE 460N/EE382N.1
Fall, 2014
Yale Patt, Instructor
TAs: Stephen Pruett, Emily Bragg, Siavash Zangeneh
Course Outline
August 27, 2014

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

August 28 or 29: First Discussion Session. Bookkeeping, overview, expectations,
PL0.

Programming Lab 0 is due, Sunday night, August 31, 11:59pm.
(The program itself will be empty. The purpose of the assignment
is to make sure we are on the same page re: using the system.)

September 1: no class. Labor Day.

September 3: Lecture 2: Intro to Instruction Set Architecture, with examples
taken from many diverse ISAs. ISA tradeoffs. Detailed discussion of LC-3b,
with Assembly language constructs. The Assembler, how it works. PL1

September 4 or 5: Discussion Session. (Emphasis on ISA, LC-3b, the Assembly
Process, PL1)

September 8: Lecture 3: Microarchitecture, LC-3b data path, state machine

September 10: Lecture 4: Microarchitecture, continued.

September 11,12: Discussion Session. Emphasis on microarchitecture, PL1, PL2.

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

September 15: Lecture 5: Pipelining, Branch Prediction. The HEP.

Problem set 1 due before class, September 17. (Emphasis: ISA, uarch
of the LC-3b, the Assembly Process)

September 17: Lecture 6: The notion of Process, the unit of work managed by
the Operating System, and its implications on Interrupts and Exceptions and
Virtual memory.

September 18,19: Discussion Session: Performance issues, PL2.

Programming Lab 2 is due, Sunday night September 21, 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.)

September 22: Lecture 7: Input/Output.

September 24: Lecture 8: Single-thread parallelism (SIMD, VLIW); Vectors

September 25,26: Discussion Session: I/O, PL3.

September 29: Lecture 9: Single-thread parallelism (o-o-o, Tomasulo)

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

October 1: Lecture 10: Single-thread parallelism (HPS, Data Flow)

October 2,3: Discussion Session. Review for Exam.

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

October 6: Lecture 11: Review or catch up.

October 8: Lecture 12: Exam 1.

October 9,10: Discussion Session. Exam solution. PL3.

October 13: Lecture 13: Physical mem, unaligned access, interleaving, SRAM, DRAM

October 15: Lecture 14: Physical Memory (continued). Virtual Memory.

October 16,17: Discussion Session. Physical memory, PL4.

Problem set 3 due before class, October 20. (Physical memory)

October 20: Lecture 15: Virtual memory, page tables, tlb, VAX model,
IA32 model, contrast with segmentation.

October 22: Lecture 16: Virtual memory, continued.

October 23,24: Discussion Session. Emphasis on Virtual memory, PL4

Programming Lab 4 is due, Sunday night October 26, 11:59pm.
(Interrupts/Exceptions)

October 27: Lecture 17: Cache Memory

October 29: Lecture 18: Cache Memory, continued.

October 30,31: Discussion Section. Emphasis on Cache Memory, review for Exam 2.

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

November 3: Lecture 19: Review or catch up.

November 4: 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.

November 5: Lecture 20: Exam 2.

November 6,7: Discusssion Session: Go over Exam solution, PL5

November 10: Lecture 21: Integer Arithmetic

November 12: Lecture 22: Floating point arithmetic and the IEEE
Standard.

November 13,14: Discussion Session. Arithmetic, PL5

Programming Lab 5 is due, Sunday night November 16, 11:59pm.
(Virtual memory)

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

Problem set 5 due before class, November 19. Arithmetic.

November 19: Lecture 24: Interconnection networks, Cache Coherency,
Sequential Consistency.

November 20, 21: Discussion Session: Multiprocessing, PL6

November 24: Lecture 25: System Issues (BW, SMT, Power/Energy, Accelerators)

November 26: Lecture 26: Special topic, to be announced

November 27,28: Thanksgiving and Thanksgiving weekend. No discussion session.
Enjoy the holiday.

December 1: Lecture 27: Measurement Methodology.

December 3: Lecture 28: Last class, free for all!

December 4,5: Discussion Session. Review of the course.

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

Final exam: Probably Friday, December 12, 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.