home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!pmafire!news.dell.com!swrinde!zaphod.mps.ohio-state.edu!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: Optimizing Old Code for i586
- Date: 7 Nov 1992 18:11:14 GMT
- Organization: Sun Microsystems, Mt. View, Ca.
- Lines: 23
- Message-ID: <lfo1m2INNsls@exodus.Eng.Sun.COM>
- References: <1992Nov6.194508.9171@tc.cornell.edu>
- NNTP-Posting-Host: flayout
-
- In article <1992Nov6.194508.9171@tc.cornell.edu> elan@tasha.cheme.cornell.edu (Elan Feingold) writes:
- >Write a program that takes a .exe file and performs the following analysis
- >on it:
- > a) Break up the code into windows, bounded by branches.
- > b) Rearrange the code within the windows following the i586
- > idea of being able to execute two instructions in a cycle if
- > there are no dependancies.
-
- This basic block scheduling is very limited since branches occur approximately
- every 5 instructions (integer programs running on SPARC). It will buy you
- some (around 10%) but much better performance can be achieved if the code
- is recompiled with a compiler that can schedule instructions across basic
- blocks, especially for integer programs. Key instructions to move "up"
- in the code are loads, since they may have a long latency due to a cache
- miss. Moving loads pass conditional branches introduces problems such
- as possible additional page faults, segmentation error, etc. That's why
- it is desirable to have some kind of support for speculative loads,
- which brings the question:
-
- Does the P5 have support for speculative loads?
-
- - Marc Tremblay.
- Sun Microsystems.
-