Static Pipelining #2 and Goodbye To Computer Architecture: Prof. Lawrence Rauchwerger
Static Pipelining #2 and Goodbye To Computer Architecture: Prof. Lawrence Rauchwerger
Static Pipelining #2 and Goodbye To Computer Architecture: Prof. Lawrence Rauchwerger
Based on Lectures by
Prof. David A. Patterson
UC Berkeley
Review #1: Hardware versus
Software Speculation Mechanisms
• To speculate extensively, must be able to
disambiguate memory references
– Much easier in HW than in SW for code with pointers
• HW-based speculation works better when control
flow is unpredictable, and when HW-based branch
prediction is superior to SW-based branch prediction
done at compile time
– Mispredictions mean wasted speculation
• HW-based speculation maintains precise exception
model even for speculated instructions
• HW-based speculation does not require compensation
or bookkeeping code
Review #2: Hardware versus Software
Speculation Mechanisms cont’d
• Compiler-based approaches may benefit from the
ability to see further in the code sequence,
resulting in better code scheduling
• HW-based speculation with dynamic scheduling
does not require different code sequences to
achieve good performance for different
implementations of an architecture
– may be the most important in the long run?
Review #3: Software Scheduling
200
Clock cycles
160
147
150
102
100
56
50
0
Trimedia PowerPC PA-8000 w Trimedia TI Pentium II
CPU64 w Altivec MAX2 TM-1000 320C620x w. MMX
• Note that the Trimedia results are based on compilation, unlike many of the others.
The year 2000 clock rate of the CPU64 is 300 MHz . The 1999 clock rates of the
others are about 400 MHz for the PowerPC, PA-8000, and Pentium II, with the TM-
1000 at 100 MHz and the TI 320620x at 200 MHz.
Transmeta Crusoe MPU