Path: utzoo!utgpu!water!watmath!ccplumb From: ccplumb@watmath.waterloo.edu (Colin Plumb) Newsgroups: comp.arch Subject: Re: Prefix instructions (Was: RPM-40 microprocessor; data from ISSCC) Summary: Is a prefix an instruction for skips or delay slots? Message-ID: <17192@watmath.waterloo.edu> Date: 2 Mar 88 00:10:25 GMT References: <9651@steinmetz.steinmetz.UUCP> <9678@steinmetz.steinmetz.UUCP> <1199@microsoft.UUCP> <448@imagine.PAWL.RPI.EDU> Reply-To: ccplumb@watmath.waterloo.edu (Colin Plumb) Organization: U of Waterloo, Ontario Lines: 58 Confusion: U. of Waterloo, Ontario beowulf!lunge!steinmetz.UUCP!jesup wrote: >In article <1199@microsoft.UUCP> ccplumb@watmath (Colin Plumb) writes: >>The only funny question is the semantics: what does a prefix do to an >>instruction without an immediate constant? > >In the RPM-40, nothing. Goes to the great bit-bucket in the sky. >In the more general case you mentioned, you COULD seperate prefixes from their >instructions, but it would really make the reorganizer hard to write (I >know, I've written them!) Also, the prefix logic would be more >complicated (and thus slower/bigger). Well, what happens if you conditionally skip an instruction with prefixes? There are two appraoches: Skip until the next non-prefix instruction, so skip prefix operation would work, or allow prefixes to span skips, so you could have prefix skip operation Both would take the same time, but I don't know which would be easier to implement. For chips with delayed jumps, prefix instructions are a pain, since you can't put a prefix-using instruction into the delay slot. Another special case for the code reorganizer to worry about. And can you put a prefix instruction into the delay slot? If it's the target of the jump, it's advantageous to move it back to the no-op, but a bit confusing. Essentially, prefix instructions add non-register context which is, as a general rule, A Bad Thing. However, they simplify instruction decode, A Good Thing. It really only becomes a problem when you're dealing with skip instructions or delay slots, where you're applying special-case logic to *one* instruction? Is a prefix a full-fledged instruction, or part of a larget unit? I hope I've made my concerns clear; now can someone soothe them? I'd love to see a really neat solution to all this. > > //Randell Jesup Lunge Software Development > // Dedicated Amiga Programmer 13 Frear Ave, Troy, NY 12180 > \\// beowulf!lunge!jesup@steinmetz.UUCP (518) 272-2942 > \/ (uunet!steinmetz!beowulf!lunge!jesup) BIX: rjesup > >(-: The Few, The Proud, The Architects of the RPM40 40MIPS CMOS Micro :-) -- -Colin (watmath!ccplumb) Zippy says: I've got a COUSIN who works in the GARMENT DISTRICT...