Article View: comp.arch
Article #11433short forward branch
From: Mitch Alsup
Date: Mon, 23 Nov 1992 18:48
Date: Mon, 23 Nov 1992 18:48
47 lines
3319 bytes
3319 bytes
willmore@iastate.edu (David Willmore) writes: keiths@cae.wis> c.edu (Keith Scidmore) writes: > > >1. The DEC Alpha includes a conditional move instruction that they claim > > can be used to avoid using branches and the associated branch penalties. > > I'm trying to evaluate the usefulness of this feature. Can someone tell > > me where I might find articles that discuss this or raw data that can be > > used to calculate the advantages of such an instruction. I'm not into > > compilers, and I need to know what kinds of situations an optimizing > > compiler could make use of this instruction. Is it even practical? Are > > there any compiler writers out there with opinions on this? > > You might try asking the HP people. They were discussing the benefit of > their conditional execution 'branches'. Other people to ask, if you're > brave enough, are the ARM people. In their assembler, almost every inst. > is conditional. If one checks Guri Sohi's litterature, they will find that many architects are rushing to find mechanisms to deal with these situations. In particular, almost all of these situations manifest themselves in where a small number of instructions are skipped by a short forward branch. Depending on the scale of the fetch machine, the target of the branch instruction may already be inbound from the instruction cache. In these cases, there is no faster way to arrive at the target of the branch than simply to wait for these instruciton to arrive. THERE IS NO REASON TO DISRUPT THE FETCH MACHINE! In onder to effect the taking or not taking of the branch, one must be able to identify those instructions in the shadow of the branch. When one determines the outcome of the branch, then one can execute these instructions or discard them. THERE IS NOT REASON TO BACK UP THE MACHINE DUT TO THE SHORT FORWARD BRANCH MISPREDICTION! This means that branches are predicted accordint to three patterns; short forward branches are predicted to be not taken and execution canceled follwing branch determination, other branches are predicted and the machine is backed up on a misprediction. The key payoff is that the short forward branches are manipulated ins such a way as to avoid disrupting the fetch machine. The number of instructions under the short forward branch is implementation dependent as it should be! The addition of conditional move/... instrucitons is a cluttering of instruciton sets and their decoders. ------------------------------------------------------------------------------------- Mitch Alsup mitch@ross.com (512)-892-7802x231 ROSS Technology (512)-263-5086 Evenings Disclaimer: I speak for myself. -------------------------------------------------------------------------------------
Technical Details
Message-ID:
<1992Nov23.184856.20432@ross.COM>Path:
arc1-ca.pugleaf.net!sparky!uunet!elroy.jpl.nasa.gov!swrinde!news.dell.com!natinst.com!cs.utexas.edu!loyola!ross.COM!sparhawk!mitchShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!elroy.jpl.nasa.gov!swrinde!news.dell.com!natinst.com!cs.utexas.edu!loyola!ross.COM!sparhawk!mitch From: mitch@ross.com (Mitch Alsup) Newsgroups: comp.arch Subject: short forward branch Summary: conditional move not necessary Message-ID: <1992Nov23.184856.20432@ross.COM> Date: 23 Nov 92 18:48:56 GMT Sender: news@ross.COM Distribution: usa Organization: ROSS Technology, Inc. Austin, Tx. Lines: 47 Originator: mitch@sparhawk Nntp-Posting-Host: sparhawk