Author: Robert Hyatt
Date: 12:16:26 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. > >-- >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...
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.