General purpose CPU's, pipelining sweetspot?

Page 2 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

sao123

Lifer
May 27, 2002
12,648
201
106
Unfortunately - Jason is right.
100% isnt possible.
95% is about as best it gets. Anything above 95% takes too long to compute, to have the advantage of being right.
What you must remember is: every increment of guaranteed efficiency increases the prediction algorithm in size and running time.

Follow the example:

I have a secret number:
The computer can predict what it is with algorithm (X) in a small time period (T0) and be 95% accurate.
If the guess is incorrect, the computer must guess again. Which takes time T1.
or
The computer can predict what it is with algorithm (Y) in a larger time period (T0 + z), (z is significantly large in size compared to T0 & T1)
and be 98% accurate.
If the guess is incorrect, the computer must guess again. Which takes time T1.

.98(T0 + z) + .2(T0 + z + T1) >= .95(T0) + .5(T0 + T1)
T0 + z + .2(T1) >= T0 + .5(T1)
z > .3T1 (which we have already declared that z is significantly large in size compared to T0 & T1)
There is no performance gain here, actually a loss.
 

pm

Elite Member Mobile Devices
Jan 25, 2000
7,419
22
81
Unfortunately - Jason is right. 100% isnt possible. 95% is about as best it gets. Anything above 95% takes too long to compute, to have the advantage of being right.
What you must remember is: every increment of guaranteed efficiency increases the prediction algorithm in size and running time.
If you could tell the CPU what branch you plan on taking when (compiler branch hints) then you can achieve much higher values. Alternatively, using architectural methods such as predication you can eliminate the branch altogether.
 

Sohcan

Platinum Member
Oct 10, 1999
2,127
0
0
95% is about as best it gets. Anything above 95% takes too long to compute, to have the advantage of being right.
I disagree; the tournament predictor in the now 6-year old Alpha 21264 has yet to be matched. While most MPU designs tend to throw more entries into their 2-bit local predictors, there is an asymptotic behavior of misprediction rate vs. predictor size because it cannot account for global branch behavior. The EV6's multilevel tournament predictor adaptively combines local and global branch behavior, and achieves around a 1% mispredict rate in SPECint95 and 0.1% mispredict rate in SPECfp95 (H&P pg. 209). It uses a total of 29K bits, versus, for example, 4K bits (HP PA 8600), 8K bits (P4), and 32K bits (UltraSPARC III) for other MPUs' 2-bit branch prediction buffer schemes. At the same time the more sophisticated branch predict buffer scheme evidently doesn't prevent it from maintaining similar clock speed of its RISC competitors.

And in addition to what pm added, an instruction trace cache can attempt to remove the branch prediction process from the critical path, allowing for more sophisticated branch prediction schemes.
 

ynotravid

Senior member
Jun 20, 2002
754
0
0
sao, I'd be with you on this one but what your explaining is how things work now, while what I was suggesting is that there's no telling how things will be done in the future. Even now, look at Transmeta (not there stock ), they have an alternative way of doing things that require different optimizations when compared to traditional x86 CPUs.
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |