This document outlines the course schedule for EE 306, Fall 2011 at the University of Texas at Austin, taught by Professor Yale Patt. The course covers digital logic and computer organization topics through lectures and discussion sessions. Key topics include bits and binary representation, basic logic gates, storage elements, finite state machines, the Von Neumann model, assembly language, I/O, and parallelism. Students complete five programming assignments in assembly language and six problem sets throughout the semester, with exams on September 28 and November 2. The final exam is scheduled for December 9.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
169 views4 pages
Problem Set 1, Due Before Class, September 7
This document outlines the course schedule for EE 306, Fall 2011 at the University of Texas at Austin, taught by Professor Yale Patt. The course covers digital logic and computer organization topics through lectures and discussion sessions. Key topics include bits and binary representation, basic logic gates, storage elements, finite state machines, the Von Neumann model, assembly language, I/O, and parallelism. Students complete five programming assignments in assembly language and six problem sets throughout the semester, with exams on September 28 and November 2. The final exam is scheduled for December 9.
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, 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 [Keyboard 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 can change.) 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.