<div dir="ltr"><div>That's right. An attempt to execute a word with anything but "command convolution" results in an exception. There were system calls ("extracodes" in BESM-6 parlance) to store individual words as instructions and to switch store mode back and forth.<br><br></div>Leo<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Feb 11, 2015 at 12:23 AM, Pontus Pihlgren <span dir="ltr"><<a href="mailto:pontus@update.uu.se" target="_blank">pontus@update.uu.se</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">If I understand it correctly, you have four combinations:<br>
<br>
11 -- illegal<br>
10 -- data<br>
01 -- instruction<br>
00 -- illegal<br>
<br>
And memory locations market illegal or data wont be executed?<br>
<br>
This reminds me of the more modern terms "DEP" - Data Execution<br>
Prevention, "NX" - No-eXecute, "XD" - eXecute Disable, "XN" - eXecute<br>
Never. DEP and NX seems to be a generic terms and the others are<br>
platform specific. Different OSs that take advantage of this calls it<br>
different things.<br>
<br>
Not quite the same as the DEP is usually enforced on memory pages.<br>
<br>
/P<br>
<div><div class="h5"><br>
On Mon, Feb 09, 2015 at 12:32:47PM -0800, Leo Broukhis wrote:<br>
> Dear colleagues,<br>
><br>
> There is an implementation detail in the BESM-6 architecture the name of<br>
> which we've struggled to translate adequately.  There is a feature<br>
> preventing execution of arbitrary data as instructions implemented using<br>
> two parity bits per word, for the upper and the lower half-word. The<br>
> overall parity must be odd, and one of the valid parity bit configurations<br>
> denotes an instruction, and the other denotes data. In the original<br>
> documentation this mechanism was called<br>
> <a href="https://translate.google.com/#ru/en/%D1%81%D0%B2%D0%B5%D1%80%D1%82%D0%BA%D0%B0" target="_blank">https://translate.google.com/#ru/en/%D1%81%D0%B2%D0%B5%D1%80%D1%82%D0%BA%D0%B0</a><br>
> (the two forms were called literally "command convolution" and "number<br>
> convolution").<br>
><br>
> Unlike a tagged architecture, there isn't a fixed tag value to indicate<br>
> instructions or data.<br>
><br>
> Is there a standard term for this? "Convolution" sounds too mathematical.<br>
><br>
> Thanks,<br>
> Leo<br>
<br>
</div></div>> _______________________________________________<br>
> Simh mailing list<br>
> <a href="mailto:Simh@trailing-edge.com">Simh@trailing-edge.com</a><br>
> <a href="http://mailman.trailing-edge.com/mailman/listinfo/simh" target="_blank">http://mailman.trailing-edge.com/mailman/listinfo/simh</a><br>
<br>
</blockquote></div><br></div>