🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: alt.folklore.computers
Article #625491

Re: S/360 addressing, was PDP 11/40 system manual

#625491
From: John Levine
Date: Sat, 11 Aug 2018 00:49
39 lines
3371 bytes
In article <c1165d5b-1d41-4f6b...@googlegroups.com>,
Quadibloc  <jsa...@ecn.ab.ca> wrote:
>On Thursday, August 9, 2018 at 3:54:51 PM UTC-6, Bob Eager wrote:
>> On Thu, 09 Aug 2018 17:36:24 -0400, Peter Flass wrote:
>
>> > System/360.
>
>> All that base register stuff...
>
>But surely that's unavoidable, if you want to have more than 64 K of memory?

The issue was that they wanted to have a single architecture that was
usable on a 16K 360/30 and a 4MB 360/70.  So it needed large addresses
in the architecture (should have been 32 bits but they wimped out and
limited it to 24 which was clearly a mistake), but they needed small
addresses in the instructions to make the instruction density high
enough.

Base+displacement addressing was a reasonable approach, but they made
two mistakes.  One is that code addressing should have been PC
relative rather than base relative so the RX and RS branch
instructions should have had 16 bit branch offsets.  This would have
allowed branches 64K in either direction (instructions are halfword
aligned so don't store the low zero bit) which is a lot of code.  They
fixed this much later by adding relative addressing to s/390.

The other was that they thought that base addressing gave them
position independent code, from what they said in the architecture
articles in the IBM SJ.  Branch addressing with BALR to set the base
register is position independent, but pointers stored in memory are
not.  This could have been addressed by disciplined programming (as it
was in TSS/360) but instructions like "load pointer and add base
register" would have given people a hint of how things were supposed
to work.

-- 
Regards,
John Levine, jo...@iecc.com, Primary Perpetrator of "The Internet for Dummies",
Please consider the environment before reading this e-mail. https://jl.ly
Technical Details
Message-ID: <pklbr2$1rlq$1@gal.iecc.com>
Path: mbox-mo1.pugleaf.net!k71-v6ni1527itk.0!nntp.google.com!border1.nntp.dca1.giganews.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news.iecc.com!.POSTED.news.iecc.com!not-for-mail
References: <21aaeee8-c41a-4442-a4eb-ea6a29b1e4f1@googlegroups.com> <1028478389.555543171.735142.peter_flass-yahoo.com@news.eternal-september.org> <ft3rh8F3aanU6@mid.individual.net> <c1165d5b-1d41-4f6b-935a-dc1a586ff9db@googlegroups.com>

Show Full Headers
Complete Article Headers
X-Received: by 2002:a24:552:: with SMTP id 79-v6mr2250625itl.16.1533948580204;        Fri, 10 Aug 2018 17:49:40 -0700 (PDT)
X-BeenThere: alt.folklore.computers@googlegroups.com
Received: by 2002:a24:b342:: with SMTP id z2-v6ls560777iti.1.gmail; Fri, 10 Aug 2018 17:49:39 -0700 (PDT)
X-Received: by 2002:a24:2fc8:: with SMTP id j191-v6mr2210255itj.27.1533948579215;        Fri, 10 Aug 2018 17:49:39 -0700 (PDT)
MIME-Version: 1.0
Path: mbox-mo1.pugleaf.net!k71-v6ni1527itk.0!nntp.google.com!border1.nntp.dca1.giganews.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news.iecc.com!.POSTED.news.iecc.com!not-for-mail
From: John Levine <jo...@taugh.com>
Newsgroups: alt.folklore.computers
Subject: Re: S/360 addressing, was PDP 11/40 system manual
Date: Sat, 11 Aug 2018 00:49:38 -0000 (UTC)
Organization: Taughannock Networks
Message-ID: <pklbr2$1rlq$1@gal.iecc.com>
References: <21aaeee8-c41a-4442-a4eb-ea6a29b1e4f1@googlegroups.com> <1028478389.555543171.735142.peter_flass-yahoo.com@news.eternal-september.org> <ft3rh8F3aanU6@mid.individual.net> <c1165d5b-1d41-4f6b-935a-dc1a586ff9db@googlegroups.com>
Injection-Date: Sat, 11 Aug 2018 00:49:38 -0000 (UTC)
Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="61114"; mail-complaints-to="ab...@iecc.com"
Cleverness: some
X-Newsreader: trn 4.0-test77 (Sep 1, 2010)
Originator: jo...@iecc.com (John Levine)
Bytes: 2841
Lines: 38
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit