Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Questions about branch predictions.

Author: Vincent Diepeveen

Date: 15:30:24 08/08/03

Go up one level in this thread


On August 08, 2003 at 18:15:04, Gerd Isenberg wrote:

In assembly one should trivially put this one to be a not taken branch.
My assumption is the PGO will find about this one for the C code.

I assume the penalty of a K7 here is pretty big for straightforward compile of
the code and for the opteron even more.

However it is trivial the P4 wins the coin here.

>I'm not quite sure about the branch prediction issue in Vincent's inner loops.
>E.g. the "if ( color[u] == xside )" expression.
>
>I learned that there are two kinds of branch predictions. Static and dynamic.
>Static is done, if no BPT-entry is found, by simple heuristics like branching
>short backward by jxx to a do-while body, but no jxx-branch foreward.
>
>I guess dynamic branch prediction is implemented by a branch prediction table.
>It maps ip of branch instruction with ip of branchtarget done recently with some
>recent counter. Is that correct so far?
>
>Does a frequently asked, but long time constant condition affects branch
>prediction in seldom reached code with the same well known and often computed
>condition but ip and branch target not in BPT?
>
>How does the pipe length interact with branch prediction, eg. on P4, K7 or
>Opteron?  Eg. if a condition is already computed and flags are set, but the
>conditional jump is not even decoded, due to some further not modifying flag
>instructions?
>
>Thanks in advance,
>Gerd



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.