Path: ...!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: moi Newsgroups: comp.arch Subject: Re: ancient OS history, ARM is sort of channeling the IBM 360 Date: Mon, 1 Jul 2024 02:13:30 +0100 Lines: 39 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: individual.net HI9x+BgHxY1xP6hTWHIDIQJdkrTGhyWKvrLldMj0dIuP3HW7ZO Cancel-Lock: sha1:te/ybnHhpCt/DkWUTTfsgbvMWuo= sha256:ilU9h+NZfPd5g14U5PHd0pPgkchd0rh2xi3hmkvTcbI= User-Agent: Mozilla Thunderbird Content-Language: en-GB In-Reply-To: Bytes: 2361 On 30/06/2024 19:44, MitchAlsup1 wrote: > Stephen Fuld wrote: > >> John Dallman wrote: >> >>> In article , tkoenig@netcologne.de >>> (Thomas Koenig) wrote: >>> >>>> Imagine a process which resides at a certain address.  It contains >>>> code, data, and pointers to data.  Now you swap it out and want >>>> to reload it.  You can use the same base address, then everything >>>> is fine.  Or you can use a different one, where do the pointers >>>> point, especially registers which contain addresses? >>>> >>>> The /360 tried to solve this via base pointers, which all addresses >>>> were supposed calculated relative to to.  Hence the RX and RS >>>> instraction all had a base register + 12 bit offset for their >>>> addressing modes - swapping out the base registers (if you knew >>>> which ones they were, was this info in the executable?)  should have >>>> worked.  But the SS instructions for decimal arithmetic did not have >>>> base pointers, so that solution did not work in the general casse. >>> >>> And only a 12-bit offset, to boot. I've read of systems with base and >>> limit registers, where all accesses were offsets from the base (or >>> separate base registers for code and data). >> >> Yes, e.g. Univac 1108. > > S.E.L 32/65 but not 32/67 or 32/87 > CDC 6600 7600 > CRAY-1 1/S Ferranti Orion 1960 EE KDF9 1960 ICT 1900 Series 1964 -- Bill F.