Princeton University
Computer Science Dept.

Computer Science 597d
Advanced Topics in Computer Science: Synergistic Hardware-Compiler Architecture Design

David August

Fall 1999


The lecture material below contains the copyrighted material of a number of authors. This material is intended solely for use in this class. Permission has not been granted for any other use.

Lecture 1:

Orientation

Lecture 2:

Hardware Dynamic Branch Prediction

Lecture 3:

Compiler Dynamic Branch Prediction
Mahlke MICRO29 Talk
August HPCA3 Talk

Lecture 6:

Branch Handling Hardware for Profiling

Lecture 7:

EPIC

Lecture 9:

Sentinel Scheduling

Lecture 11:

Modulo Scheduling

Lecture 12:

Speculative Hedge Scheduling

Lecture 13 and 14:

Predication
Loop Peeling

Lecture 15:

Fully Resolved Predicates/Node Splitting/Partial Reverse If Conversion

Lecture 16:

Interview Talk - Program Decision Logic Optimization

Lecture 17: