Tom Kelliher, CS 240
Apr. 21, 1999
Due in 1 week. 6.2, 6.3, 6.4, 10 pts. each. 6.32 or 6.33, 20 pts.
Reviewed midterm
Caches.
A pipelined datapath:

Observations:
Example: unified L1 cache/memory.

Solutions:
Static prediction. Truly static. Compile-time determined.
Dynamic prediction. Branch history tables. One-, two-bit counters.
Assumes you know branch outcome early.
Code scheduling:

Consideration: deeper pipelines.
Data not available when needed.
ALU example:

Fixed by forwarding.
Memory example:

How can this be fixed?
Dynamic scheduling:

Logical vs. physical registers.
Generic structure of Pentium Pro, PowerPC 604:
