Messages in this thread | | | Date | Wed, 16 Dec 1998 10:01:02 -0500 (EST) | From | "Mark H. Wood" <> | Subject | Re: NOP instruction |
| |
On Wed, 16 Dec 1998, Chris Wedgwood wrote: [quote snipped] > Several architectures have real NOPs -- Intel might be one of the few > that doesn't. > > (Hoping everyone will jump in with their favorite arch. now)
The PDP10 had more NOPs than I can (now) remember. SKIP, JUMP, SETMM come to mind. (One of my favorite grins re. PDP10s is that "SKIP doesn't skip, and JUMP doesn't jump".)
The SKIPx and JUMPx instructions are arithmetic tests, so SKIPLE AC,MEM advances over the next instruction if the content of register AC is not greater than the value at MEM and JUMPA EA is an unconditional (always) jump to EA. (But the canonical unconditional jump was JRST EA -- Jump and ReSTore but don't restore anything. JRST is faster than JUMPA. Interestingly enough, the halt instruction was JRST 4,ANYWHERE and would show ANYWHERE in the console lights for your edification -- you could put arbitrary codes on the console this way to distinguish your "can't get here" cases easily or display the results of an effective-address calculation. Much more informative than BSOD.)
SETMM (SET to Memory Memory) causes a memory read/write cycle but doesn't alter any values. (It reads the value at some location and then writes it back.) It probably DOES alter the pager database, by possibly causing pagefaults and setting dirty bits, but it was a reasonable no-op before VM was added to the architecture.
The PDP10 had lots of groups of instructions which included operations that didn't seem to have much use, because early models were built out of wirewrapped discrete logic and it was much simpler to do it that way than to put in all kinds of special cases to siphon off the nonsensical ops for other uses. Finding real uses for every single instruction was a favorite pastime of PDP10 programmers, but I think only one person is generally recognized as having achieved this particular Grail.
-- Mark H. Wood, Lead System Programmer mwood@IUPUI.Edu Innovation is only valuable if it improves one's life; otherwise it's just one more silly change to cope with.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |