Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Here ya go

Author: Vincent Diepeveen

Date: 17:12:12 06/05/01

Go up one level in this thread


On June 05, 2001 at 15:16:26, Robert Hyatt wrote:

>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.
>>
>>--
>>GCP
>
>Maybe I didn't explain what I meant very well.  The web page said simply that
>if a branch target has not been seen before, the branch is predicted to be not
>taken, period.  _that_ was what I disagreed with.  I believe that the
>'direction' of the branch is used to predict when the BTB doesn't have that
>address in it.  The normal 4-state stuff is used once a BTB entry has been
>made...

Exactly forget all nice branch prediction tables of processors.

The only interesting thing is fall through prediction, as that's what
in 99% of the cases happens.

Best regards,
Vincent





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.