By: Sylvain Collange (full.name.delete.delete@this.this.gmail.com), July 8, 2015 5:30 am
Room: Moderated Discussions
Patrick Chase (patrickjchase.delete@this.gmai.com) on July 7, 2015 10:49 am wrote:
> 2. Do existing branch predictors really have that information? I thought that
> even modern ones still tended to keep a fairly small amount of per-context state
> (where "context" is a catch-all for the branch address, histories, etc).
Modern predictors can generally provide a confidence estimate for each prediction. However, the conditions of select/cmov-like instructions are generally not part of the history.
A related issue is that selectively predicting select/cmov may cause history corruption, which degrades the overall branch prediction accuracy.
These issues are discussed in more detail in this paper: http://hal.inria.fr/hal-00910335/
> 2. Do existing branch predictors really have that information? I thought that
> even modern ones still tended to keep a fairly small amount of per-context state
> (where "context" is a catch-all for the branch address, histories, etc).
Modern predictors can generally provide a confidence estimate for each prediction. However, the conditions of select/cmov-like instructions are generally not part of the history.
A related issue is that selectively predicting select/cmov may cause history corruption, which degrades the overall branch prediction accuracy.
These issues are discussed in more detail in this paper: http://hal.inria.fr/hal-00910335/