andrew@frip.wv.tek.com (Andrew Klossner) (04/12/89)
[] "Time yet again for expression of one of my favorite architectural "gimmicks": provide a mask that is implicitly ANDed with any {instruction,data} address before use -- this way you could place tag bits in the low bits, in the high bits, or in any bit you wanted (and not have to rely on features like "The 68000 only implements 24 address bits", etc.)." We used this approach in implementing Smalltalk on a 68020-based workstation. Everything was fine until a system call in which the process passed a tagged address to the kernel. We looked at the work involved in teaching the kernel to apply the mask to every user address that it ever sees, and threw up our hands. The compromise was to mask the address on a page fault, but to require the application explicitly to mask addresses passed through syscalls. -=- Andrew Klossner (uunet!tektronix!orca!frip!andrew) [UUCP] (andrew%frip.wv.tek.com@relay.cs.net) [ARPA]
shs@uts.amdahl.com (Steve Schoettler) (04/13/89)
In article <11271@tekecs.GWD.TEK.COM> andrew@frip.wv.tek.com (Andrew Klossner) writes: >[] > > "Time yet again for expression of one of my favorite > architectural "gimmicks": provide a mask that is implicitly > ANDed with any {instruction,data} address before use In the early masks of the Rockwell 6502, unimplemented opcodes were not trapped, and often did some crazy things. One of the "reserved" opcodes performed X & PC -> SP. Maybe they were before their time :-). Steve -- Steve Schoettler shs@uts.amdahl.com {sun,decwrl,pyramid,ames,uunet}!amdahl!shs Amdahl Corp., M/S 213, 1250 E. Arques Ave, Sunnyvale, CA 94088