PiDP11 sighting

69 views
Skip to first unread message

Milo Velimirović

unread,
Aug 6, 2026, 8:47:18 PMAug 6
to pid...@googlegroups.com
In a pretty bad (AI-generated?) YouTube video about early microprocessors and their lack of hardware multiply there’s an appearance of a pdp11 complete with wooden support stand making an appearance as the narration drones on about digital offering multiply and divide as add-on options on some -11 models (for the second time in the video.)

[pidp11 shows up at about 11:05.]

Jonathan Harston

unread,
Aug 8, 2026, 10:10:57 AMAug 8
to [PiDP-11]
As a human being, I lack a hardware multiply and also have to
do multiplies longhand, other than simple shifts, just like a CPU
without a hardware multiply. It's entirely unremarkable, and
certainly not "crippling" as the video asserts. The absense of
a JSR instruction would justify being called crippling.

Paul Koning

unread,
Aug 8, 2026, 1:40:38 PMAug 8
to [PiDP-11]
JSR missing would be mildly annoying, but not a big  deal.  A lot of early computers have subroutine call instructions sufficiently primitive or limited to be unusable for certain scenarios.  For example, the CDC 6000 series subroutine call writes the return address into the top of the function, as do a number of other machines.  The EL-X1 has a set of 16 "return registers", the call references one of those and the function exit has to use that same one.  All these play havoc with any kind of recursion or reentrance.  But that didn't stop the X1 from being the first platform for ALGOL 60 -- it simply means that the compiler had to manage a return stack "manually" instead of letting a single instruction like JSR do the work.

Johnny Billquist

unread,
Aug 8, 2026, 1:43:56 PMAug 8
to pid...@googlegroups.com
I would argue that those examples do have a JSR. The fact that they
don't have a stack, and can't natively do recursion is a different issue
than not having a JSR.

The PDP-8 is the same. Return address is written to the first address of
the routine.

However, not having a JSR at all would be very annoying.

Johnny

On 2026-08-08 19:40, Paul Koning wrote:
> JSR missing would be mildly annoying, but not a big  deal.  Alot of
> https://www.youtube.com/watch?v=6bT5dyEBK0s <https://
> www.youtube.com/watch?v=6bT5dyEBK0s>
>
> [pidp11 shows up at about 11:05.]
>
> --
> You received this message because you are subscribed to the Google
> Groups "[PiDP-11]" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to pidp-11+u...@googlegroups.com
> <mailto:pidp-11+u...@googlegroups.com>.
> To view this discussion visit https://groups.google.com/d/msgid/
> pidp-11/9017e20c-953c-4931-afcd-a1ef5a974d5an%40googlegroups.com
> <https://groups.google.com/d/msgid/pidp-11/9017e20c-953c-4931-afcd-
> a1ef5a974d5an%40googlegroups.com?utm_medium=email&utm_source=footer>.

--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: b...@softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol

Paul Koning

unread,
Aug 8, 2026, 2:02:16 PMAug 8
to [PiDP-11]
Not having a JSR at all isn't any different from having some flavor of subroutine call that the compiler can't use because it has the wrong semantics.  And that is certainly the case with recursive languages such as ALGOL or C, running on machines like the X1 or the CDC mainframes.

Johnny Billquist

unread,
Aug 8, 2026, 3:03:18 PMAug 8
to pid...@googlegroups.com
If you have a JSR, but no stack. You can certainly have the compiler
just call a routine which implements a stack like semantics. So it
becomes very trivial to get something that works like a stack.
However, if you don't have any JSR, you can't even do that trick.
So it's a huge difference.

Take a PDP-8 for example, and try to do anything complex without the JSR
instruction. Can't be done.
You can write a program that goes around all over the place, have
conditional code and so on. But you will need to have everything that is
done repeatedly either done with the help of a state machine, or else
repeat the code every time you need it. Because you can't have a
subroutine, since you have no way of returning back to where you were
called from.

Stack is just one way of doing subroutines. One that easily allows
recursion. But if you have any sort of subroutine ability, you can then
easily implement whatever using this.

Johnny
> www.youtube.com/watch?v=6bT5dyEBK0s> <https://
> > www.youtube.com/watch?v=6bT5dyEBK0s <http://www.youtube.com/
> watch?v=6bT5dyEBK0s>>
> >
> > [pidp11 shows up at about 11:05.]
> >
> > --
> > You received this message because you are subscribed to the Google
> > Groups "[PiDP-11]" group.
> > To unsubscribe from this group and stop receiving emails from it,
> send
> > an email to pidp-11+u...@googlegroups.com
> > <mailto:pidp-11+u...@googlegroups.com>.
> > To view this discussion visit https://groups.google.com/d/msgid/
> <https://groups.google.com/d/msgid/>
> > pidp-11/9017e20c-953c-4931-afcd-a1ef5a974d5an%40googlegroups.com
> <http://40googlegroups.com>
> > <https://groups.google.com/d/msgid/pidp-11/9017e20c-953c-4931-
> afcd- <https://groups.google.com/d/msgid/pidp-11/9017e20c-953c-4931-
> afcd->
> > a1ef5a974d5an%40googlegroups.com?
> utm_medium=email&utm_source=footer <http://40googlegroups.com?
> utm_medium=email&utm_source=footer>>.
>
> --
> Johnny Billquist || "I'm on a bus
> || on a psychedelic trip
> email: b...@softjar.se || Reading murder books
> pdp is alive! || tryin' to stay hip" - B. Idol
>
> --
> You received this message because you are subscribed to the Google
> Groups "[PiDP-11]" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to pidp-11+u...@googlegroups.com
> <mailto:pidp-11+u...@googlegroups.com>.
> To view this discussion visit https://groups.google.com/d/msgid/
> pidp-11/3fe7a178-26e5-4ef1-b74d-2ccdc789b96fn%40googlegroups.com
> <https://groups.google.com/d/msgid/pidp-11/3fe7a178-26e5-4ef1-
> b74d-2ccdc789b96fn%40googlegroups.com?utm_medium=email&utm_source=footer>.

Clem Cole

unread,
Aug 8, 2026, 4:01:44 PMAug 8
to Milo Velimirović, pid...@googlegroups.com
Interesting video, although I think the author really misses the boat on a number of points.  Intel came to Kahan after he wrote a BASIC program and after he sent some letters and papers discussing the problem.   That work (in BASIC) was actually fairly simple, and it led us (his students in his computer arithmetic seminar) to develop a FORTRAN program he called 'paranoia' [https://www.netlib.org/paranoia/](paranoia was later rewritten in a few other languages†).  But Intel just happened to want to add mathematical support around the time Kahan published his work, picking on the different manufacturers for doing such a poor job at computer arithmetic (Seymour's designs at both CDC and Cray were notorious for this).

Not having full support for all arithmetic operations was pretty standard, as the author of this video points out, but it was hardly a fatal flaw.  For instance, Cray-1 lacked a hardware divide, and relied on reciprocal approximation tables.  Cray was famous for saying, "If you were plowing a field, which would you rather use? Two strong oxen or 1024 chickens?" — he wanted raw, unbridled horsepower. But by substituting precision for speed (such as by missing the last few bits of mantissa precision in complex loops), he drove numeric analysts like Kahan up the wall.   FWIW: Georg Hager has a great piece about this topic [ https://blogs.fau.de/hager/archives/5260 ].

The fact that Intel finally decided to add one was nothing special.  What was good was that their folks decided to get help, hired Kahan as a consultant, and listened to him.   The fact that it took longer than they would have liked/planned only tells me, as a retired Intel person, that at the time Intel management was tolerating it; it wasn't a priority.  

Coming back to the video itself, many of the pictures in it are fairly well known.  I'm not sure why the pic of Ken and Dennis in front of their 11/45, or so many of the others, really told much of the story, so I'm scratching my head a little when I think about that.    But I will state that about 25.5 mins in, it was fun to see a really good picture of the late George Goble (a.k.a. ghg in the Unix community)‡ at the console to the CDC 6500 at Purdue at the time (which I believe is the system that the late Seattle Living Computer Museum restored — there is a wonderful story about that restoration WRT to the US Gov, but that belongs on COFF not here).



† Remember FORTRAN was built for math, while the Algol/C lineage treated it as an appendage. When you look at it through that lens, writing Paranoia in strictly conforming FORTRAN-IV/66 was the only mathematically rigorous way to ensure the test itself wouldn't be corrupted or limited by the language's own nascent floating-point abstractions. You couldn't test the hardware if the language compiler itself was dropping bits before it even hit the silicon.

‡ For any of you that don't know anything about George. Besides being a great guy with a broad range of interests.   One of our mutual friends (Mike Zuhl) described ghg as the kind of guy who would take a rocket engine, strap 4 wheels to it, and try to see how fast he could make it run.  Some of his other work included splicing a PDP-11 onto the UBA of his 780 to write a monitor/debugger, discovering several interesting 'zero-day issues,' and identifying places where Joy was being rather wasteful in the kernel.  But he also used it to create the "Purdue Dual Vax 780" (plus its M/S version of MP 4.1BSD UNIX).  He is also known for developing the first commercially viable replacement for Freon (ghg-12) in his apartment sink, as well as for Dave Barry writing about him setting the world record for lighting BBQ grills.

--
You received this message because you are subscribed to the Google Groups "[PiDP-11]" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pidp-11+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/pidp-11/6CD1C871-0754-416E-B732-B37635A13812%40gmail.com.
Reply all
Reply to author
Forward
0 new messages