Author: Tom Kerrigan
Date: 15:22:35 02/19/03
Go up one level in this thread
On February 19, 2003 at 00:29:06, Robert Hyatt wrote: >On February 18, 2003 at 13:33:12, Tom Kerrigan wrote: > >>On February 16, 2003 at 03:03:03, Matt Taylor wrote: >> >>>On February 15, 2003 at 21:28:39, Tom Kerrigan wrote: >>> >>>>On February 13, 2003 at 19:40:45, Matt Taylor wrote: >>>> >>>>>You're not getting it. Logic on the processor for static branch prediction is >>>>>80% accurate because auxillary information available to the compiler is thrown >>>>>out. Consider the following loop: >>>>>for(i = 0; i < 1000; i++) >>>>> do_something(); >>>> >>>>You're the one who's not getting it if you think processors have logic for >>>>static branch prediction (hint: processors do dynamic prediction) or if you >>>>think these are the kinds of branches that matter for execution or compilation. >>>>(Any branch prediction scheme would predict your branch with 99.9% accuracy.) >>> >>>Doesn't matter what you call it. AMD seems to think my Athlon has static branch >>>prediction. I'm not sure why you disagree. >> >>I'm not sure why. Static prediction is defined as before runtime, at least for >>all the definitions I've seen. Maybe they're referring to data that the Athlon >>can collect for use with static predictors, i.e., profile directed compiling. > > >Static can also mean "based on previous results". IE a killer move is a >static move ordering idea, it is based on history, not on what is happening >_right now_... I don't know that that is what they mean, of course. Obviously not. Look up any dynamic branch prediction scheme and you will see that it's based on the history of whether or not the branch has been taken. Dynamic, in the case of branch prediction, means that it's done while the program is running (moving, so to speak), i.e., what processors do. -Tom
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.