home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!dtix!darwin.sura.net!wupost!bcm!rice!cliffc
- From: cliffc@rice.edu (Cliff Click)
- Newsgroups: comp.arch
- Subject: Re: trapping speculative ops
- Message-ID: <CLIFFC.92Aug26084159@medea.rice.edu>
- Date: 26 Aug 92 14:41:59 GMT
- References: <l8gi9jINNaad@exodus.Eng.Sun.COM>
- <1992Aug12.155317.27437@bcars64a.bnr.ca>
- <l8j0qkINNikb@exodus.Eng.Sun.COM> <BtEzrK.Jso.2@cs.cmu.edu>
- <GLEW.92Aug25180333@pdx007.intel.com>
- Sender: news@rice.edu (News)
- Organization: Center for Research on Parallel Computations
- Lines: 40
- In-Reply-To: glew@pdx007.intel.com's message of Wed, 26 Aug 1992 02:03:33 GMT
-
- In article <GLEW.92Aug25180333@pdx007.intel.com> glew@pdx007.intel.com (Andy Glew) writes:
- > ...what about traps while executing speculatively?
- > 1) Let the hardware do all the speculative execution. This puts it on
- > the hardware's head to not trap until it knows it really should have.
- > 2) Allow compiled code a way to postpone consequences until it
- > wants to know.
- > --
- > Don D.C.Lindsay Carnegie Mellon Computer Science
- > Andy Glew, glew@ichips.intel.com
-
- Yes to (2)!
-
- Let every register have some extra "trap" bits.
- A read of the register with it's trap bits set, causes the exception.
- A write to the register sets the trap bits according to the success of
- the operation.
-
- With this design, exceptions are triggered at the START of some operation,
- instead of in the middle of it.
-
- Pre-fetch for long-distance memory can be implemented with a simple LOAD.
- If a page fault is required for the LOAD the fault is delayed until the
- register is used. If the pre-fetch is speculative, no page fault occurs.
-
- Do you have a division with a zero-denominator guard test? Schedule the
- division as early as you like, and don't read the result register if the
- guard fails.
-
- If you require precise interupts, arrange to use the results of every
- possibly-faulting operation before a second control path merges with
- your current control path. Then the trap handler can back up the
- instruction stream until it finds the instruction which wrote to the
- faulting register. This gives precise interupts, but still allows some
- scheduling.
-
- Cliff
- cliffc@cs.rice.edu
- --
- The Sparc ABI has the most brain-damaged calling convention I've ever seen.
- Cliff Click (cliffc@cs.rice.edu) | Disclaimer: My lawyer made me say it.
-