[net.arch] Storing into pipeline

thorinn@diku.UUCP (Lars Henrik Mathiesen) (09/22/86)

In article <697@mips.UUCP> mash@mips.UUCP (John Mashey) writes:
>In article <1115@masscomp.UUCP> hank@masscomp.UUCP (Hank Cohen) writes:
>>An even thornier problem arises if you allow self modifying code to be run
>>on your machine. i.e. You build a real Von Neuman machine.  The problem of
>>detecting stores into the instruction stream of  a pipelined processor is
>>even more difficult than detecting data interdependencies.

>A pleasant thing about doing an architecture from scratch is the ability to
>forbid the use of stores into the instruction stream. [Obviously, you must
>be able to create executable code, but you can require a system call to
>indicate weird cache manipulations.]

An example of this is the VAX *family* architecture - the instructions executed
are "UNPREDICTABLE" if they were written since last context switch OR return
from interrupt; this allows demand paging, but not self-modifying code, (at
least not without faking an rti). (ref: VAX-11 Architecture Reference Manual,
rev. 6.1, section 2.7: Separation of Procedure and Data.)
--
Lars Mathiesen, DIKU, U of Copenhagen, Denmark		..mcvax!diku!thorinn