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.