On Sun, Nov 28, 2021 at 07:19:08PM -0500, Clem Cole wrote:
To me, the PDP-111 ISA is the epitome the *minimal
computer architecture*
- just want you to need to get the job done be it commercial or scientific
and it was affordable as you said. The solution is elegant, nothing fancy,
little extra added - just the right set of features for a system to do real
work. It was also extremely regular as Larry points out, so it was not
filled with a ton of special cases.
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 remember Ken trying to
get me to see how uniform it all was and I guess I sort of got it but
what I remember the most is his passion for it. We were pretty friendly
and if I had some big octal listing that wasn't working, he'd come over
and drink a beer and read through it. For him, it was just faster to
read the octal than to look at my tortured assembly.
64 bit PDP-11
That would be pretty cool. Your comments about minimalist approaches ring
really true for me. The last conversation I had with Greg Chesson was
a 2 hour rant from him about the fact that nobody who is doing anything
these days understands the value of a minimalist approach, it's one
complex framework or whatever after another.
There is a reason that the people I respect the most tend to spend a lot
of time on what not to put in, rather than what to put in. I became
friends with Linus Torvalds because we spent probably almost a year
talking about what not to put in to LMbench, we wanted to get it right.
I know people look at Linux and recoil in horror, it's a long way from
v6 or v7. But v7 was a uniprocessor Unix that had no networking. Linux
scales pretty well on SMPs with lots of CPUs, it has generalized NUMA
support, it has a /proc that I'd argue is way more true to Unix than
the SysV /proc (I don't know Ron Gomes but I was friends with Rodger
Faulkner), the Linux /proc is all strings, it's so useful. Linux
just handles way way way way way more than v7 could even imagine
handling. Pretty much all of the supercomputers are Linux so it
scales up and it scales down to a rasberry pi.
A thing that blew my mind in Linux was drivers. PCI drivers.
They were portable to different byte order machines. I was so
used to drivers being specific to the CPU, that was eye opening.
I'd say more but the wife is calling, I just wanted you to know
that Linus definitely understands the minimalist approach, Linux
started that way but it has been asked to do a lot so you get what
you get.
--lm