|
|
|
|
|
|
|
(Due) |
|
|
|
|
|
UT Cancelled | ||||
|
|
|
|
UT Cancelled |
||||
|
|
|
L2 | Handout
#0:
Motivation for this course: to be covered later in
the semester:
Handout #1: Course Operations Handout #2: Overview Slides (4 on 1 pg) Discuss: Introduction to this unusual and fun course Computer System Abstractions |
Patt &Patel Ch 1, Supplemental reading on: positional notation, bases, base conversion, |
|||
|
|
|
L3
|
Handout
#3: Data
Representation Slides (4 on 1pg) Discuss: Overview Wrap-up Overview, focusing on the compiler, ISA, and the micro-architecture.
Discuss: intro to Data Representation
|
Overview
P&P: focus on 1.7 Data Representation 2.1-2.2, Hdt #3 For fun: The history of the term "bit" from IEEE Annals of History of Computing |
|||
|
|
|
|
Handout
#4: Supplement on Data Representation (Oops:
the copier ran out of staples, so anyone attending the 11a.m. lecture
may not have both pages (4 sides). Extra copies are outside
my
office.) Discuss: Data Representation
|
Data
Representation 2.2, 2.3, 2.7.4, 2.7.3 (and pg441) (Note: 2.4 describes only conversions between decimal and a 2's complement encoding of signed integers) |
|||
|
|
|
|
Discuss:
|
||||
|
|
|
|
Handout
#5:
Data
Representation Slides (4 on 1pg) Discuss: Data Representation Wrap-up signed integers: 2's complement (the theory of why it works, using mod2n), motivation for the excess signed integer strategy, and BCD. Why we use Hex digits, but debuggers never indicate the "minus" sign. Character and String representatons: Notes on Strings
|
additional
reading: Supplement Handout #4, 2.5, 2.6 |
HW1 MQ1 |
||
|
|
|
L6
|
Handout
#6: Transistor
Slides (4 on 1pg) Handout #7: Transistors Supplement (not online) Discuss:
|
Floating
Point
data representation Supplement on Floating Point , P/P 2.7.2 Transistors 3.1, Supplement on Transistors Story on Intel's New 45nm Transistor> (i.e. the last 3 pages of Handout 7, without photos of the 2 transistors) |
MQ1 | ||
|
|
|
|
Discuss: Transistor
components and building simple logic gates: AND, OR, NOT, XOR, NAND,
NOR. |
3.1-3.2 |
|||
|
|
|
|
Discuss: Floating Point practice Bitwise Operators: focus on AND Transistor Practice Build a logic circuit with transistors Notes on the above topics. |
the and
bitwise operator and "the bit- mask" 2.6 java's shift operator: >>> See wikipedia's logical shift 3.1-3.2 |
|||
|
|
|
|
Handout
#8: CombLogicSlides
(4 on 1pg) Handout #9: Addition/Subtraction Slides (4 on 1pg) Discuss: Wrap-up Transistors (Device Level) Circuits: Logic Gates Circuits: Combinational Logic: n-bit Ripple Carry Adder, and the 1bit Full Adder. |
3.3, 2.5 |
HW2 | Hw1 |
|
|
|
|
|
Discuss: Addition/Subtraction for
2's comp signed integers and for unsigned integers Decoders, Multiplexors
|
3.3, 3.4 | MQ2 | ||
|
|
|
|
Handout #10: Storage Elements
Slides (4 on 1pg) Discuss: Storage Elements |
3.3 | MQ2 | ||
|
|
|
|
Discuss: HW2 Questions, Review Signed Integer Addition, Subtraction, Overflow Unsigned Integer addition, subtraction, Overflow/Underflow. Multiplexors Notes on the above topics. |
||||
|
|
|
|
Handout
#11: Memory
Slides (4 on 1pg) Discuss: Storage Elements & Memory
|
3.4 memory topics: 3.5 |
|||
|
|
|
|
Handout
#12: Memory
Supplement Discuss: Memory and Multi-byte values
|
3.5, Memory Supplement |
HW2 | ||
|
|
|
|
Handout
#13: Sequential Logic (FSM) Slides (4 on 1pg) Discuss: Finite State Machine (FSM) Wrapup: CPU's Datapath with Combinational Logic examples, Storage Elements, and a FSM, and a simple memory. |
3.6, 3.7 |
HW3 | ||
|
|
|
|
Handout #14: Partial Solutions to Hmwk1Q123 (not online) Practice on:
|
||||
|
|
|
|
Handout
#15: Memory Reading: ROM, RAM, and Memory Hierarchy
Supplement (not online) Handout #16: MicroArchitecture/Instruction Cycle Slides (4 on 1pg) Handout #17: Introduction to the ISA Supplement, not online) Discuss: MicroArchitecture
|
Handout #15, 4.1-4.2 |
|||
|
|
|
|
Discuss:
ISA
|
4.3, 4.4 (ignore the LDR and JMP details) |
|||
|
|
|
|
Handout
#18: ISA
Taxonomy#1
Slides (4 on 1pg) Handout #19: Partial Solution to Hmwk2 (not online) Handout #20: Exam 1 Objectives Discuss: ISA Taxonomy of operands |
Handout #17, Handout #18 Ch 5.1 |
|||
|
|
|
|
Practice:
|
||||
|
|
|
|
News: Study
Quiz1 (a 10 minute activity to give you feedback, before the exam) Handout #21: Solutions to Hmwk3 (not online) Discuss: Study Quiz 1 Answers Discuss Solutions to Hmwk3 Extra Copies of Handouts that are not online are outside TAY 4.136. |
EXAM 1 review |
10:30 HW3 no late hw's |
||
|
|
|
|
Yes, we'll have class on Monday:
|
Handout #17, Ch 5.2 |
|||
| 2/26 |
EX1 |
Exam #1: 7-9:30pm |
|||||
|
|
|
|
Handout
#22: front: LC-3 reference, back: LC3 Program 1 worksheet Handout #23: LC3 ISA and intro to ASM Language Slides (4 on 1pg) Discuss: LC-3 ISA and Introduction to the LC-3 Assembly Language |
Ch 5.1-5.2, 7.1-7.2.2, and Appendix A3 (for ADD, AND, NOT, LD, LEA, ST, BRcc, and TRAP). | |||
|
|
|
|
Discuss: Focus
on the LC-3 ISA and assembly language statements, and practice
compiling HLL code into asm. language:
|
Handout #22, 23, and Appendix A3 (for ADD, AND, NOT, LD, LEA, ST, BRcc, and TRAP). |
|||
|
|
|
|
Handout
#24: Solution
to LC-3 Program 1 Handout #25: Flow of Control Slides (4 on 1pg) Homework 4 partA Discuss: LC-3 ISA and "flow of control":
|
Appendix A3: BRcc TRAP 5.4.6 |
HW4 | ||
|
|
|
|
Handout
#26: Array
Slides part1 (4 on 1pg) Paper copy of: Homework4 PartB Discuss: Implementing HLL concepts:
|
Appendix A3 for LDR and STR instruction | |||
|
|
|
|
Handout
#27: Array
Slides part2 (4 on 1pg) Discuss: Arrays
|
LDR/STR pg104, 5.3.3 Array Examples 5.4.2 - 5.4.4, figure 5.16, 7.2.3 |
|||
|
|
|
|
Handout
#28: Solutions to Exam1 (not online) Discuss: Programming with 1D Arrays Notes: LC-3 Program 4 |
||||
|
|
|
|
Handout #29:
Assembler
Slides (4 on 1pg) Discuss: The Assembler Assemblers Notes on Assemblers |
7.3 |
HW4 | ||
|
|
3/16 |
|
Spring
Break - half way! |
||||
|
|
|
|
Handout
#30: 'Structure/Record'
Slides (4 on 1pg) Discuss: Arrays and Structures Review: Assemblers and Arrays NEW: Programming with arrays (random access) Record/Structures (accessing data members of an object) Notes (1st half on Structure Memory Layout) |
|
|||
|
|
|
|
Handout: First 4
pages of Hmwk5 Question1 Discuss: Wrapup Structures. Reading/writing multi-byte Quantities: Every ISA needs a unique load instruction for each multi-byte size supported in the ISA. Notes (2nd half on Programming Structures)
|
Handout #17 (Section 4.3) |
|
||
|
|
|
|
Discuss:
|
||||
|
|
|
|
Handout
#31: Function
Call Supplement Handout #32: Solutions to Hw4Q1,Q4,Q6 (not online, outside my office). Back of the handout: For FUN story by Dijkstra on Recursion. Handout #33: Function slides Part 1 (4on1pg) Hard copy of: Hmwk 5Q2 Assignment Discuss: "Function Calls" aka "Method Calls" What NEW instructions do we need? and Why? What values must be stores (somewhere) per function call??? |
new instructions for "invoking a
method" Appendix A.3 for JSR, RET, and JMP instructions. pp 5.4.5, 228-232 |
HW5 Q2 | ||
|
|
|
|
Handout
#34: Function
slides Part 2 (4on1pg) Discuss:
|
stacks: P/P 10.1 Supplement #31 |
|||
|
|
|
|
Worksheet
for in-class discussion, based on Function Supplement #31
(Page 5 and 6) Discuss:
|
stack
frame P/P: 14.3, and Supplement #31. |
HW6 | ||
|
|
|
|
Discuss:
|
Supplement #31 | |||
|
|
|
|
Handout
#35: Solutions to Hmwk 5 Q2 (not online, outside TAY
4.136) Discuss: Wrap-up Function Calls by writing the code together in class for a CS310 Complete Stack Frame. Here's the Solution. |
Supplement #31 Notes from Disc10 |
|||
|
|
|
|
Handout #36: Addressing Mode Slides (4 on 1pg) Discuss: Addressing Modes (not on Exam2) |
LC3 initial Addr Modes: register indirect JMP, JSRR... |
|||
|
|
|
|
Handout
#37: Preparing for
Exam 2 Handout #38: Sample Reference Sheet for Exam2 Discuss: Addressing Modes:
|
Handout #36 PC-relative Addr Mode LD, ST, BR, LEA, JSR Memory Indirect Addressing Modes: LDI/STI
|
|||
|
|
|
|
Discuss: Exam
2 Practice
|
||||
|
|
|
|
Handout #39:
Sample Exam2 Problems
Discuss: What does a compiler symbol table would look like besides symbol name and value??? Study Quiz 2 (focusing on Arrays and Assemblers) Notes on Compiler Symbol Table plus... |
Local variables 12.5 |
|||
|
|
|
|
Handout
#40: Solution to Hmwk 6 (partial) Handout #41: Bit Manipulation Supplement Last Minute Questions on Exam Discuss: Where is your Data? Local Variables, Heap, Global Variables... Notes on Compiler Symbol Table plus Introduction to Global Data, and Memory Layout: Code, Global Data, Heap, and Runtime Stack |
Whole
program layout: 12.5, 19.4 |
|||
| 4/9 |
Ex2 |
Exam 2, WEL 3.502,
7-9+ |
|||||
|
|
|
|
Handout
#42: Addressing Mode Supplement (not online) (Handout #43) Hmwk 7 Question 1: Recursive Call Discuss: Bit Manipulation Motivation and Algorithms
|
Bit Manipultion Handout #41, P/P 2.6, 2.7.2 |
HW7 Q1 |
||
|
|
|
|
Addressing Modes Bit Manipulation Notes: Bit Manipulation and Addressing Modes |
Handout #42 Handout #41 |
|||
|
|
|
|
(Handout
#44: HW7Q2) Handout #45: In-Class Worksheet (A sample stack frame with a local array, and P/P figure 12.7) Handout #46: Buffer Overflow Attack Slides (4 on 1pg) Discuss: Stack Buffer Overflow |
Stack Buffer Overflow and Preventions Handout #0 |
HW7 |
||
|
|
|
|
Handout
#47: I/O Part 1 Slides (4 on 1pg) HW7Q3 Input/Output Micro-architecture |
Input/Output MicroArchitecture P/P 8.1 |
HW7 Q3 | ||
|
|
|
|
News:
Exam2 returned today Handout #48: Traps: Slides (4 on 1pg) Discuss: Input/Output Memory-mapped I/O "Ports" Programming: Polling using an input example: the keyboard. Discuss: Traps (briefly) |
Input/Output Polling P/P 8.1-8.3 Traps 9.1 |
|||
|
|
|
|
Handout
#49: Solutions to Exam2 (not online) Discuss: Input/Output: Focus on an Output example using a modem. Write a polling routine How the trap instruction works Writing a trap function Notes |
8.1-8.3, 9.1 | |||
|
|
|
|
Handout
#50: Mystery
Question 7: Turn in on Monday Discuss: Motivation for Traps Motivation for Interrupts Notes on Motivation for Traps |
Interrupt Motivation P/P p211 |
HW7 | ||
|
|
|
|
Handout
#51: Interrupt ISA/Micro-architecture Slides (4 on 1pg) Hmwk8Q1: Java bit manipulation program Discuss: Interrupt Micro-architecture |
Interrupt MicroArchitecture P/P 8.5, 10.2 |
HW8 | ||
|
|
|
|
Handout
#52: Interrupt Motivation and Software Architecture (not
online) Handout #53: Interrupt Architecture Supplement Discuss: Programming: Device Drivers for Interrupts |
Interrupt Software and MicroArchitecture Handout #53 |
|||
|
|
|
|
Discuss: Interrupts:
|
||||
|
|
|
|
Handout
#54: Linking Part1 Slides (4 on 1pg) Also: Overview of the TRIPS Architecture (my paper copy emphasized pgs 44,46-49, including Figure 1 and 2) Discuss: Questions on Hmwk7,8, and all other topics Interrupt Software Code Linking/Loading Introduction
|
Interrupt Software Handout #53 Linking/Loading P/P 7.4 |
|||
|
|
|
|
Handout #55: Linking/Loading Supplement Handout #56: Linking/Loading Part2 Slides (4 on 1pg) Handout #57: Exam3 Description Handout #58: Partial Solutions to HW7 (not online) Discuss: Linking Pass1, Pass2 |
Linking P/P 9.2.5, Linking Supplement |
|||
|
|
|
|
Study Quiz 3 Discuss: Linking Libraries, including the concept of Dynamic Linked Libraries; Loading |
HW8 | |||
|
|
|
|
Handout #59: Partial Solutions to Hmwk 8 Q2/Q5/Q6 Discuss: Linking/Loading Worksheet, and other Questions. TA Evaluations |
||||
|
|
|
|
Mystery Question 9: Which key concepts did you particularly enjoy, or have impact, or want to explore more on your own??? Discuss: Exam 3 Review If time: Threads, Context Switching, JVM, Intel ISA CLASS Evaluation |
||||
| 5/4 |
EX3 |
Exam 3, 7-9p.m. WEL 3.502 |