All lecture notes are in PDF format unless noted otherwise.
When you printout the lecture notes, make sure to
use the mpage command. For example,
mpage -2 -Pprintername filenamewill print the notes out with two notes pages on each page of output.
REMINDER: we will have an in-class short quiz on
grammars on Feb 15th
Answers available now.
Reminders
DCS Open House, 9:30am-4:00pm, Friday, March 5, 1999
Examples of SPIM programs: hello
world, a for loop, More about SPIM can be learned either from the most current Final grades and the final exam grade distribution are
now available on line.
Lecture 14 is on Sunday, March 7, 3:00-4:30pm in ARC 105;
No lecture on Monday, March 8th.
Midterm Exam, Weds, March 10th in class
Covers material through Lecture 13
Context switching, Register saving conventions,
Dealing with recursion, Use of the display, Dynamic scope
Covered slides RuntimeSys: #15-22, RuntimeSys2: #1-11, IntermedRep: #1-3
A chart of the midterm grades distribution is provided.
No
letter grades will be assigned until all the points earned during
the semester are assessed.
More on frames, frames and registers in SPIM
SPIM Manual (if you print this out, use mpage -2)
Covered slides RuntimeSys3:#1-15
Runtime Systems, More about context switching in SPIM,
Example of factorial function,
Intermediate Representations,
Machine independent translation.
3 address code, Tiger's expression trees,
Tiger intermediate code examples.
NOTE: Intermediate Representations lecture has changed as of 3/26/99.
Please print out NEWEST version.
Covered slides RuntimeSys3: #16-23, IntermedRep#1-18.
Slides last updated 3/29/99, RuntimeSys3: #20,22,23, IntermedRep #6.
Slides last updated 4/5/99, RuntimeSys3: #19-23
Memory, High level translation of control structure,
Loops with/without breaks, Midterm answers
Covered slides IntermedRep#19-26.
Slides last updated 4/5/99, IntermedRep #24.
and our target language
Covered slides Spim #1-17.
floating point instructions (we don't
use these in Ocelot),
factorial with
debugging output.
documentation provided in the Appendix of Hennessey and Patterson's
architecture book, SPIM Appendix (if you print this out,
use mpage -2) or from an earlier version the SPIM manual,
which seems to be consistent with SPIM 6.0 (our version).
Notes on running SPIM are available.
Factorial example (SPIM); Canonical Tree objects for better code
generation, Expression trees and how to translate them well.
Covered slides Spim #17-22, codeGeneration #1-13.
Professor Uli Kremer will be lecturing for Prof Ryder while she is away,
on top-down parsing, LL(1), and recursive descent parsers,
You will be responsible for this material on the final exam.
Copies of Prof Kremer's slides from Lecture 21
and from Lecture 22 are now available.
Sethi-Ullman register use estimation algorithm,
Covered slides codeGeneration #14-23.
Slides updated 4/19/99: codeGeneration #18,26,27, added new slides: 21,22.
Instruction scheduling for handling pipeline delays,
Local register allocation with instruction scheduling.
Covered slides codeGeneration #21-27.
Global register allocation
Covered slides registerAlloc #1-25.
Slides updated 4/24/99: registerAlloc # 4,7,9-10,13-15.
Data-flow analysis, Reaching definitions,
Live Uses of Variables,
Def-use chains, Constant propagation
Covered slides registerAlloc #9,13-15 example; machIndepOpts#1-11
Example of Optimizations, Code motion,
Global common subexpression elimination.
Covered slides machIndepOpts#12-14, machIndepOpts2 #1-24
FINAL EXAM REVIEW, Wednesday, May 5, 1999, 7:00-8:30pm,
Core A (3rd floor of CoRe building, room opposite the elevators).
FINAL EXAM, Friday, May 7, noon - 3:00pm, SERC 208
Anyone with a conflict or 3 exams within 24 hours must see Prof Ryder
asap.
You are allowed to bring 1 page of notes (back and front) to the
exam.