The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: <pbirkel@gmail.com>
To: "'TUHS main list'" <tuhs@minnie.tuhs.org>
Cc: 'Eugene Miya' <eugene@soe.ucsc.edu>
Subject: [TUHS] Encoding an ISA: Random Logic vs. Control Stores
Date: Tue, 30 Nov 2021 03:07:15 -0500	[thread overview]
Message-ID: <010901d7e5c1$4a0c7c20$de257460$@gmail.com> (raw)

I believe that the PDP-11 ISA was defined at a time when DEC was still using
random logic rather than a control store (which came pretty soon
thereafter).  Given a random logic design it's efficient to organize the ISA
encoding to maximize its regularity.  Probably also of some benefit to
compilers in a memory-constrained environment?

I'm not sure at what point in time we can say "lots of processors" had moved
to a control store based implementation.  Certainly the IBM System/360 was
there in the mid-60's.  HP was there by the late 60's.

-----Original Message-----
From: TUHS <tuhs-bounces@minnie.tuhs.org> On Behalf Of Larry McVoy
Sent: Monday, November 29, 2021 10:18 PM
To: Clem Cole <clemc@ccc.com>
Cc: TUHS main list <tuhs@minnie.tuhs.org>; Eugene Miya <eugene@soe.ucsc.edu>
Subject: Re: [TUHS] A New History of Modern Computing - my thoughts

On Sun, Nov 28, 2021 at 05:12:44PM -0800, Larry McVoy wrote:
> I remember Ken Witte (my TA for the PDP-11 class) trying to get me to 
> see how easy it was to read the octal.  If I remember correctly (and I 
> probably don't, this was ~40 years ago), the instructions were divided 
> into fields, so instruction, operand, operand and it was all regular, 
> so you could see that this was some form of an add or whatever, it got 
> the values from these registers and put it in that register.

I've looked it up and it is pretty much as Ken described.  The weird thing
is that there is no need to do it like the PDP-11 did it, you could use
random numbers for each instruction and lots of processors did pretty much
that.  The PDP-11 didn't, it was very uniform to the point that Ken's
ability to read octal made perfect sense.  I was never that good but a
little google and reading and I can see how he got there.

...

--lm


             reply	other threads:[~2021-11-30  8:09 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-30  8:07 pbirkel [this message]
2021-11-30 15:19 ` Ron Natalie
2021-11-30 15:30   ` arnold
2021-11-30 15:39     ` Ralph Corderoy
2021-11-30 18:50     ` Jon Steinhart
2021-11-30 21:45       ` Humm
2021-11-30 23:07         ` Jon Steinhart
2021-11-30 23:18           ` Henry Bent
2021-12-01  5:00             ` Jon Steinhart
2021-12-01  6:27               ` pbirkel
2021-12-01 16:42                 ` ron minnich
2021-12-01 17:08                   ` Ron Natalie
2021-12-01 21:56                   ` [TUHS] Encoding an ISA Warren Toomey
2021-12-01 13:59 [TUHS] Encoding an ISA: Random Logic vs. Control Stores Paul Ruizendaal
2021-12-01 14:55 Douglas McIlroy
2021-12-01 20:27 ` Jon Steinhart
2021-12-01 21:14 ` Lawrence Stewart
2021-12-01 22:09   ` Jon Steinhart

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='010901d7e5c1$4a0c7c20$de257460$@gmail.com' \
    --to=pbirkel@gmail.com \
    --cc=eugene@soe.ucsc.edu \
    --cc=tuhs@minnie.tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).