Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Here ya go

Author: Vincent Diepeveen

Date: 17:07:13 06/05/01

Go up one level in this thread


On June 05, 2001 at 14:47:04, Gian-Carlo Pascutto wrote:

>On June 05, 2001 at 14:17:03, Robert Hyatt wrote:
>
>>Part of that looks wrong.  The usual idea has always been "If a branch target
>>has not been seen previously (which means no prediction entry is avaliable) then
>>look at the _direction_ of the jump.  If it is backward, assume it will be
>>taken (a safe assumption since a backward branch is likely a loop) while if it
>>is forward, assume it is not taken.
>>
>>I had seen someone from Intel claim this is what they do, although I am not
>>certain.  That is easier to do in the hardware than to assume that if it is
>>taken, move it to ST and go from there...
>
>A simple explanation would be that your method is used when
>no or insufficient prediction information for that branch
>is available.
>
>Actually, I'm pretty sure that's how it works. With 20 instruction
>deep pipelines you need something more clever than a static criterion.

And for a chessprogram we need more as 512 entry BTB too. I'm pretty
sure a 512000 entry BTB is more nearer to what we need as a 512
entry BTB :)

Note the K7 has 2048 branch table entries, but the penalty for
misprediction is also way higher on that CPU. Not to mention alpha.
Also has only 2048 entries which reference each other as a kind of
'killermoves'.

So chance is nihil that a branch is inside it in general, and all
you have left then is fall through prediction.

That's like tossing a coin... ...so the 50% rule always applies
for zombie code

>--
>GCP



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.