ee 306 syllabus

4
Department of Electrical and Computer Engineering The University of Texas at Austin EE 306, Fall, 2011 Yale Patt, Instructor TAs: Faruk Guvenilir, Milad Hashemi, ... Course Outline August 24, 2011 August 24: Lecture 1. Overview of EE 306. The computer -- a complex system organized in levels of interpretation. The computer -- a universal computational device; given enough time and space it can do anything any other computational device does. August 26: Discussion Session. Orientation to the LRC system, tools. August 29: Lecture 2: Bits and operations on bits. -- The bit as a unit of information. -- Encoding of bits: Binary numbers (integer data type, ASCII characters. -- Negative numbers, 2’s complement representation, sign-extension. -- hex representation of binary numbers. -- Arithmetic operations on numbers. ADD, SUB. [Note that x+x = left shift] -- Logical operations on bits. AND, OR, NOT. August 31: Lecture 3. Bits and operations on bits (continued). September 2: Discussion Session. Emphasis on Chapters 1,2. September 5: Labor Day. No class. Problem set 1, due before class, September 7. September 7: Lecture 4. Basic Logic Structures. -- The transistor as a switch -- Basic Gates (AND, OR, NOT) -- Truth table representations -- Any arbitrary function can be built out of these gates (no attempt at minimization. Just an awareness exercise) -- full ADDER, MUX, DECODER September 9:Discussion Session. Emphasis on Chapter 2,3. September 12: Lecture 5. Storage elements. -- Basic storage element (Gated RS latch) -- A register -- a logic circuit to implement a small piece of memory (perhaps 2**2 x 3) -- concept of memory: address space, addressability September 14: Lecture 6. Finite State Control and Sequential Machines.

Upload: count3r5tr1ke

Post on 02-Oct-2015

11 views

Category:

Documents


0 download

DESCRIPTION

UT Austin Dr. Yale Patt

TRANSCRIPT

  • Department of Electrical and Computer EngineeringThe University of Texas at Austin

    EE 306, Fall, 2011Yale Patt, InstructorTAs: Faruk Guvenilir, Milad Hashemi, ...Course OutlineAugust 24, 2011

    August 24: Lecture 1. Overview of EE 306.The computer -- a complex system organized in levels of interpretation.The computer -- a universal computational device; given enough time and space it can do anything anyother computational device does.

    August 26: Discussion Session. Orientation to the LRC system, tools.

    August 29: Lecture 2: Bits and operations on bits.

    -- The bit as a unit of information.-- Encoding of bits: Binary numbers (integer data type, ASCII characters.-- Negative numbers, 2s complement representation, sign-extension.-- hex representation of binary numbers.-- Arithmetic operations on numbers. ADD, SUB. [Note that x+x = left shift]-- Logical operations on bits. AND, OR, NOT.

    August 31: Lecture 3. Bits and operations on bits (continued).

    September 2: Discussion Session. Emphasis on Chapters 1,2.

    September 5: Labor Day. No class.

    Problem set 1, due before class, September 7.

    September 7: Lecture 4. Basic Logic Structures.

    -- The transistor as a switch-- Basic Gates (AND, OR, NOT)-- Truth table representations-- Any arbitrary function can be built out of these gates

    (no attempt at minimization. Just an awareness exercise)-- full ADDER, MUX, DECODER

    September 9:Discussion Session. Emphasis on Chapter 2,3.

    September 12: Lecture 5. Storage elements.

    -- Basic storage element (Gated RS latch)-- A register-- a logic circuit to implement a small piece of memory (perhaps 2**2 x 3)-- concept of memory: address space, addressability

    September 14: Lecture 6. Finite State Control and Sequential Machines.

  • -2-

    -- The notion of state-- State diagram, Next State table, State Assignment-- Implementation example: sequential machine

    September 16: Discussion Session. Emphasis on Chapter 3.

    Problem set 2, due before class, September 19.

    September 19: Lecture 7. Introduction to Von Neumann model. Emphasis on memory.

    -- the basic structure of the Von Neumann model, showing the basic flow.-- instruction = opcode, operands-- encoding of instructions and data-- instruction cycle (Fetch, Decode, EA, Fetch data, Execute, Store result)-- organization of memory-- address space, addressability revisited (MAR, MDR)

    September 21: Lecture 8. ISA Specification of the LC-3

    -- instruction formats-- operates-- LD/ST (also, indirects)-- control (condition codes: N,Z,P)-- The datapath necessary to implement the LC-3-- How I/O works at a very simple level [Ke yboard in, screen out]-- KBDR, KBSR, DDR, DSR (ready bit, interrupt enable bit)-- Conversion

    September 23: Discussion Session: Review for Exam 1.

    Problem set 3, due before class, September 26.

    September 26: Lecture 9. Review.

    September 28: Lecture 10. Exam 1.

    September 30: Discussion Session: Introduction to the LC-3 Simulator.

    October 3: Lecture 11. Problem Solving and On-Line Debugging.-- Elements of Problem Solving (stepwise refinement, systematic decomposition, etc.)-- Fundamentals of Debugging (setting breakpoints, single-step, deposit, examine, etc.)

    October 5: Lecture 12. A stored program in the LC-3 ISA

    -- the control structure of a stored program (sequential, conditional, iteration)-- a detailed example in machine language-- example will use keyboard input, crt output.-- example will include entering data via the keyboard and outputting on the monitor

    October 7: Discussion Session: Emphasis on Programming lab 1.

    Extra office hours will be held on Sunday, October 9 and Tuesday, October 11 re: the first programming lab.

    October 10: Lecture 13. Moving up a level, Assembly Language and the Assembler.

  • -3-

    Programming Assignment 1 due, 11:59pm, October 11.

    October 12: Lecture 14. Detailed example of Lecture 12, in Assembly Language.

    -- going from higher to lower level: interpretation vs. translation-- translation: what do assemblers and compilers do?-- hand assemble programs from earlier lectures.

    October 14: Discussion Session: Emphasis on Chapter 7.

    October 17: Lecture 15. Physical I/O.

    Problem set 4, due before class, October 19.

    October 19: Lecture 16. Physical I/O, continued.

    October 21: Discussion Session: Emphasis on Programming Lab 2

    Programming Assignment 2 due, 11:59pm, October 23.

    October 24: Lecture 17. The TRAP instruction and I/O Service Routines

    -- Keyboard and Monitor Data and Status Registers-- Polling and Interrupt driven processing-- ASCII/binary conversion

    October 26: Lecture 18. Subroutines (JSR/RET mechanism)

    October 28: Discussion Session: Chapter 8,9. Prepare for Exam 2.

    Problem set 5, due before class, October 31.

    October 31: Lecture 19. Review or catch up.

    November 2: Lecture 20. Exam 2.

    November 4: Discussion Session: Deep breath: General review.

    November 7: Lecture 21. Stacks. Parameters. How are they passed?

    November 9: Lecture 22. Interrupt processing

    November 11: Discussion Session: Programming lab 3.

    Programming Assignment 3 due, 11:59pm, November 13.

    November 14: Lecture 23. ASCII/binary Conversion.

    November 16: Lecture 24. The Calculator Example (pulling it all together).

    November 18: Discussion Session: Emphasis on Programming Lab 4.

    November 21: Lecture 25. A new ISA, the Motorola 6812. (Preview of EE 319K)

  • -4-

    Programming Assignment 4 due, 11:59pm, November 22.

    November 23: Lecture 26. Special lecture -- to be announced.

    November 24,25: Thanksgiving Day recess. Enjoy the holiday.

    November 28: Lecture 27. Parallelism. The latest hot button!

    November 30: Lecture 28. Any OTHER questions!December 2: Discussion Session: Last discussion session before final exam.

    Programming Assignment 5 due, 5pm, December 2, 5pm.

    Problem set 6, not to be handed in, use for final exam preparation.

    December 9. Final Exam, 7 to 10pm. (according to the Registrars Course Schedule, which he canchange.)

    Programming Assignments:

    1st programming assignment (machine language) -- Due: October 11, 11:59pm.2nd programming assignment (assembly language) -- Due: October 23, 11:59pm.3rd programming assignment (assembly language) -- Due: November 13, 11:59pm.4th programming assignment (assembly language) -- Due: November 22, 11:59pm.5th programming assignment (assembly language) -- Due: December 2, 5pm.

    Problem Sets:

    1st problem set, (emphasis on Chapters 1,2). Due: just before class, September 7.2nd problem set, (emphasis on Chapter 3). Due: just before class, September 19.3rd problem set, (emphasis on Chapter 4,5). Due: just before class, September 26. (Note: exam on Sept 28)4th problem set, (emphasis on Chapter 5,6,7). Due: just before class, October 19.5th problem set, (emphasis on Chapters 8-9). Due: just before class, October 31. (Note: exam on Nov 2)6th problem set, (emphasis on Chapter 10). Not to turn in.