Path: utzoo!mnetor!uunet!husc6!mailrus!nrl-cmf!ukma!gatech!ncar!noao!mcdsun!nud!anasaz!john
From: john@anasaz.UUCP (John Moore)
Newsgroups: comp.arch
Subject: Re: Do RISC Compilers Consider Multiprogramming?
Message-ID: <1016@anasaz.UUCP>
Date: 7 May 88 03:03:47 GMT
References: <620@speedy.mcnc.org% <10707@steinmetz.ge.com% <1002@ima.ISC.COM>
Reply-To: john@anasaz.UUCP (John Moore)
Organization: Anasazi Inc, Phoenix AZ
Lines: 25
Keywords: RISC compiler context-switch architecture multiprogramming

In article <1002@ima.ISC.COM% johnl@ima.UUCP (John R. Levine) writes:
%%  Interesting thought from the past... the GE 600 series allowed
%%interrupts on an instruction fetch from an even location (since the bus
%%was 72 bits wide that was every other instruction). This resulted in the
%%ability to preserve context throught a few instructions.
This, by the way, let to a rather bizarre bug in an old GECOS-3 module.
Seems that a module had been written where the programmer saved all
registers with one instruction (it's been too long... don't remember the op).
Much later the code wanted to restore all registers. However, on a
multiprocessing 635 the processor number had to be in register 7 when
in master mode. So... the clever programmer preceded the multiple load
instruction with one which stored register seven into the register save
area. ... I later added code to the module, causing the register store to slide
from an even boundary (where it was safe due to the effect mentioned above)
to an odd boundary. Naturally, at some point the module was switched from
on processor to another BETWEEN THOSE TWO INSTRUCTIONS. The operating system
kernel crashed when it discovered that it had two processors numbered 1 and
no processor zero. So.... use something other than even/odd addresses if
you don't want to drive folks crazy! (and, if you are a programmer, don't
count on such a sneaky trick!)
-- 
John Moore (NJ7E)   hao!noao!mcdsun!nud!anasaz!john
(602) 870-3330 (day or evening)
The opinions expressed here are obviously not mine, so they must be
someone else's.