home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!pmafire!news.dell.com!swrinde!cs.utexas.edu!sun-barr!news2me.EBay.Sun.COM!exodus.Eng.Sun.COM!flayout.Eng.Sun.COM!tremblay
- From: tremblay@flayout.Eng.Sun.COM (Marc Tremblay)
- Newsgroups: comp.arch
- Subject: Re: DEC Alpha architecture issues
- Date: 19 Nov 1992 18:52:35 GMT
- Organization: Sun Microsystems, Mt. View, Ca.
- Lines: 28
- Message-ID: <lgnojjINN627@exodus.Eng.Sun.COM>
- References: <1992Nov18.112407.2518@doug.cae.wisc.edu> <1992Nov18.191730.1044@meiko.com>
- NNTP-Posting-Host: flayout
-
- In article <1992Nov18.191730.1044@meiko.com> richard@meiko.com (Richard Cownie) writes:
- >1. Conditional move instruction is certainly useful. I was involved
- > in writing a compiler for the Acorn RISC Machine (ARM), which has
- > the unusual feature that all instructions are conditionally
- > executed, with a 4-bit field to specify the condition (the most
- > common condition being "always"). Any conditional branch over
- > a short sequence of instructions was optimised into a short
- > sequence of conditionally-executed instructions, which reduced
- > the code size and saved flushing the pipeline (there was no smart
- > branch prediction or delayed branches).
-
- The last sentence is key here. If branches can be predicted with decent
- accuracy then it is hard to obtain benefits from conditional moves
- over using conditional branches. In cases where branches can be predicted,
- a good processor front-end can provide the correct instructions
- "most of the time" and basically eliminate branches ahead of time.
- If the branch is correctly predicted than the full scalarity of
- the processor is available for computation. With conditional moves,
- the general case is that half of the functional units are available
- since you have to duplicate each instruction (half for the setup
- and half for the conditional execution).
- For hard to predict branches (50% ~ 60%), with a small number of
- instructions to guard, then conditional moves may be useful only if the
- pipeline is designed to handle the forwarding of the data efficiently
- (not free, requires junk in the pipeline).
-
- - Marc Tremblay.
- Sun Microsystems.
-