home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.arch
- Path: sparky!uunet!email!mips.complang.tuwien.ac.at!anton
- From: anton@mips.complang.tuwien.ac.at (Anton Martin Ertl)
- Subject: Re: trapping speculative ops (LONG)
- Message-ID: <1992Sep10.080446.16268@email.tuwien.ac.at>
- Sender: news@email.tuwien.ac.at
- Nntp-Posting-Host: mips.complang.tuwien.ac.at
- Organization: Institut fuer Computersprachen, Technische Universitaet Wien
- References: <1992Aug31.224611.5196@odin.diku.dk> <1992Sep1.143155.636@bcars64a.bnr.ca> <1992Sep9.121701.13208@odin.diku.dk>
- Date: Thu, 10 Sep 1992 08:04:46 GMT
- Lines: 28
-
- In article <1992Sep9.121701.13208@odin.diku.dk>, thorinn@diku.dk (Lars Henrik Mathiesen) writes:
- |> One would hope so. As a reality check, I looked at the 21064 data
- |> sheet (it was handy). As far as I can see, destination conflicts do
- |> stall the pipeline on that chip. Of course, currently, compilers have
- |> no reason to write the same register twice without intervening reads,
- |> so chip designers have no reason to build a preemption mechanism.
-
- This is true in straight-line code, but generally a write to a
- register is only redundant if *all* possible execution paths that
- execute it write to the register another time before reading it.
-
- |> I agree with the point raised by Anton Ertl, that trap bits on source
- |> operands should not unconditionally cause a trap, but should propagate
- |> to the result instead, because this allows the compiler to move a
- |> greater part of an expression.
-
- This is an interesting idea, but how do we know which instruction
- caused the exception? Our solution is somewhat different. We check the
- trap bit of the original trap-noting instruction. This means of course
- that the compiler has to keep the trap bit alive, which restricts
- register allocation, if the trap bit is associated with the
- destination register. We did not discuss subroutines and interrupts,
- but most solutions discussed here would be applicable.
-
- - anton
- --
- M. Anton Ertl Some things have to be seen to be believed
- anton@mips.complang.tuwien.ac.at Most things have to be believed to be seen
-