Re: Branch prediction
- From: Tim Roberts <spamtrap@xxxxxxxxxx>
- Date: Thu, 28 Feb 2008 05:14:55 GMT
"robertwessel2@xxxxxxxxx" <spamtrap@xxxxxxxxxx> wrote:
Try the Intel docs, including the optimization guides - there's a lot
of information there. In addition, there are bunches of white papers
online describing internals.
...
It's not really that the CPU is emulating any instructions, it's just
trying to execute more of them, and all sorts of things are done to
allow a nominally sequential stream of instructions to execute in
parallel. For example register renaming to eliminate sequential
dependencies, etc. For example, the CPU might detect that it can
issue the next three add instructions in a row all in parallel, since
they don't conflict. Obviously a conditional branch presents a
barrier to that sort of thing, unless you can predict which way the
branch is going to go. And since you can't (usually) predict that
with 100% certainty, the CPU has to be able to back out a bad guess.
Although, unless my memory has gone completely faulty, the more recent
processors actually use register renaming to execute BOTH paths of the
conditional, and simply discard half of the results when the result of the
jump is finally known.
--
Tim Roberts, timr@xxxxxxxxx
Providenza & Boekelheide, Inc.
.
- Follow-Ups:
- Re: Branch prediction
- From: robertwessel2@xxxxxxxxx
- Re: Branch prediction
- References:
- Branch prediction
- From: Muscipula
- Re: Branch prediction
- From: robertwessel2@xxxxxxxxx
- Branch prediction
- Prev by Date: Re: [Clax86list] Seg fault with hla 1.99 on Fedora 8 linux
- Next by Date: Re: Branch prediction
- Previous by thread: Re: Branch prediction
- Next by thread: Re: Branch prediction
- Index(es):
Relevant Pages
|