Background reading
In CS380C, we assume that you have taken an undergraduate course in
compilers and in machine architecture.
In particular, you should know the following concepts.
Compilers:
- Basic front-end material: lexical analysis, parsing, intermediate
code generation, symbol tables
- Stack execution model for a C-like language
- Elementary graph algorithms: spanning tree for rooted directed
graphs, depth-first and breadth-first walks of graphs, properties of
DFS trees
Aho, Sethi, Ullman is a good reference for this material.
Architecture:
- Instruction-set architectures (ISA)
- Execution model for a simple non-pipelined RISC architecture
- Memory hierarchies: cache organization, classification of misses
(cold,capacity,conflict), miss ratios
Hennessy and Patterson's book on architecture is a good reference for
this material.