Brief History of PDP Computers

(entropicthoughts.com)

25 points | by ibobev 1 day ago

7 comments

  • rahen 12 minutes ago
    A lot of mistakes in this article.

    There is a direct lineage from the PDP-1 to the PDP-4, and the 18-bit lineage ends with the PDP-15 (missing).

    The dual-mode PDP-12 (PDP-8 + LINC) is missing from the 12-bit lineage.

    The VAX (VAX-11 initially) was an offspring of the PDP-11 and the VAX-11 could natively run PDP-11 user-mode code.

    The PDP-11 and VAX software heritage lives on mostly in C and UNIX (NetBSD being the closest relative), and in VMS / NT. The PDP-10 heritage lives on mostly in Emacs.

    “However, even its most powerful configuration wasn’t powerful enough to attract many pdp-10 users.” They didn’t serve the same markets. The PDP-10 was a time-sharing system that shone more for LISP than FORTRAN.

    For heavy number crunching and matmuls, 16-bit PDP-11s were usually used, paired with an auxiliary array processor such as the AP-120B or the CSPI MiniMAP. Those array processors could deliver more than 10 MFLOPS back then.

    • jleyank 1 hour ago
      I would have thought the vax owed more to the pdp-11 culture than the pdp-10. If you don’t want to move the line add a second one. Berkeley Unix really helped things network and hack and that came from the 11 onto the vax.
      • DonHopkins 1 hour ago
        That's what I think too. The VAX is a lot more like the PDP-11 than the PDP-10. Hard core 36-bit PDP-10 programmers (like DIGEX, who I quoted in response to Walter's comment) were dismissive of and looked down on the 32 bit VAX.

        Doug Humphrey's nickname was DIGEX, and he had a PDP-10 in his living room in Westchester Tower Apartments that he acquired from a loading dock at the University of Maryland. It was challenging to haul up in the elevator! It had two power cords, and two of us had to plug them in at the same time, into outlets on different circuits, so it got both hot legs.

        He started one of the first ISPs by that name, which was later acquired by Worldcom:

        https://en.wikipedia.org/wiki/Digex

        The Digex Video! - Part 1:

        https://www.youtube.com/watch?v=IsgROO4MIvc

        DEF CON 12 - Doug Mohney, DIGEX At the Dawn of the Commercial Internet:

        https://www.youtube.com/watch?v=uxMq-x9rlJM

        The article also didn't mention the PDP-15, which was the fifth and last 18 bit DEC machine of the PDP-1 => 4 => 7 => 9 => 15 lineage.

      • tosti 3 hours ago

            > it wasn’t called a computer then, because the word “computer” back then meant big mainframe systems that ran batch calculations
        
        PDP being a minicomputer (at the time), it could do that too and cheaper. What I heard the reason for this was to circumvent procurement restrictions. The word "computer" meant a high level of scrutiny, but obviously a "Programmable Data Processor" isn't a computer because it doesn't have the word "computer" in it (duh). So just a sales / marketing trick.
        • WalterBright 1 hour ago
          I learned how to program on a PDP-10. Lots of great memories.
          • DonHopkins 1 hour ago
            "If you're not playing with 36 bits, you're not playing with a full DEC!" -Doug Humphrey (DIGEX) tormenting VAX weenies at DECUS
          • DonHopkins 1 hour ago
            I just made a PDP-7 and Type 340 vector graphics display emulator that runs in the web browser, based on SIMH, in order to reincarnate and run 128 pages of PDP-7 assembly language source code listings of a CAD system called PIXIE written at Cambridge by Heinz Lemke.

            It also boots PDP-7 UNIX, the one this article is about. Log in as ken, password ken:

            https://hyperties.org/cabinet/unix/

            Same cabinet runs DECUS DUEL (the spacewar), DEC's light pen test, a lunar lander, and guess-the-number, besides PIXIE and the Forth below.

            Here's a music video I cut from the 1969 films of that system running on the PDP-7 and Titan at Cambridge. PIXIE has the first known radial menus:

            https://www.youtube.com/watch?v=jDrqR9XssJI

            Cambridge librarian David Chapman digitized the uncut films from the Cambridge University Library:

            https://www.youtube.com/watch?v=j9R63T2xGCA

            https://www.youtube.com/watch?v=lCrl5QmQ9aA

            The listing the emulator runs was assembled 12 February 1972. I wanted to look and feel first hand how the radial menus work, so here's that code running in the browser:

            https://hyperties.org/cabinet/symelec/

            Here's the PDP-7 assembly source code I recovered. The page runs the image it assembles to:

            https://github.com/SimHacker/WillWrightShowForFood/blob/main...

            I asked Mitch Bradley, who is the Forth guru who wrote OpenFirmware, if there was a Forth system for the PDP-7, so in one day he and Claude created one, including a Turtle Graphics library for the Type 340 vector graphics display! It turns out that the PDP-7 instruction set is perfect for Forth, and its inner interpreter loop is only three instructions.

            Mitch Bradley's PDP-7 Forth:

            https://github.com/MitchBradley/pdp7forth

            How Mitch's Forth works, and my enhancements (full names, CREATE DOES>, PIXIE rings):

            https://github.com/SimHacker/WillWrightShowForFood/blob/main...

            Video demo of PIXIE and FORTH on the PDP-7 Cabinet Emulator with the Type 340 Vector Graphics Display:

            https://www.youtube.com/watch?v=lo8kdY-5i6c

            It's easy to make virtual real and fictional PDP-7 devices that, like the actual Type 340 vector graphics display, plug in custom IOT instructions and even perform DMA, like a Turing Machine co-processor, the Ultimate Machine (Minsky's design, which Claude Shannon built, that just turns itself off), and a Data Hand (like VPL's Data Glove) that tracks your hand with the webcam:

            Turing Machine (adds IOT instructions and uses DMA to run TM programs out of 18 bit core memory, which it animates with Forth turtle graphics and Type 340 display character generator):

            https://hyperties.org/cabinet/turing/

            Forth Turing Machine driver and renderer:

            https://github.com/SimHacker/WillWrightShowForFood/blob/main...

            Ultimate Machine (adds IOT instructions to control and monitor device that turns itself off, and animate it with Forth turtle graphics):

            https://hyperties.org/cabinet/ultimate/

            Forth Ultimate Machine driver and renderer:

            https://github.com/SimHacker/WillWrightShowForFood/blob/main...

            Minsky and Shannon's Ultimate Machine (sometimes called Useless, but Marvin considered it Ultimately useful):

            https://en.wikipedia.org/wiki/Useless_machine

            Data Hand (adds IOT instructions to read hand position, orientation, and pose, and draws hand with Forth turtle graphics):

            https://hyperties.org/cabinet/hand/

            Forth Data Hand driver and renderer:

            https://github.com/SimHacker/WillWrightShowForFood/blob/main...

            Ultimate Machine + Data Hand = Ultimate Hand (combines the above devices into an interactive Ultimate Machine that lets you turn it off with your own hand, animated with Forth turtle graphics):

            https://hyperties.org/cabinet/ultimate-hand/

            Forth Ultimate Hand demo putting it all together:

            https://github.com/SimHacker/WillWrightShowForFood/blob/main...

            The Type 340 was a real PDP-7 device. Shannon's box was a real box, and the DataGlove was a real glove, but neither was a PDP-7 peripheral. These are virtual devices that plug in the way a real one did: their own IOT instructions, and DMA.

            Here's the manifesto about the emulator design:

            https://github.com/SimHacker/WillWrightShowForFood/blob/main...

            >We control the horizontal. We control the vertical. The machine in the page is ours, all of it at once: every register, every word of core, every device, and the host around them. Nothing here is a black box we have to squint at through a keyhole. So when something would be better, we make it better, from whichever side is closest. The 1960s machine stays honest. Everything around it is ours to invent.

            Cabinet Design:

            https://github.com/SimHacker/WillWrightShowForFood/blob/main...

            >The rule throughout: instance first. Hardwire what SYMELEC needs, comment where the abstraction would go, generate it lazily when a second instance demands it. Work backwards from the software you want to run.

            Cabinet README:

            https://github.com/SimHacker/WillWrightShowForFood/blob/main...

            >An emulator: a stand-in for a cabinet, so the original program can run. PDP-7 is the first plug-in instruction set, for PIXIE. Type 340 on a canvas, light pen as a hit-test.

          • fsckboy 2 hours ago
            To round out the timeline I'd include the TX-0, first computer based on transistors, and essentially the experimental prototype/proof of concept of what became the PDP-1. https://en.wikipedia.org/wiki/TX-0

            then on the other end of the timeline, the DECSYSTEM-20 which wasn't any longer called PDP but it was simply an upgraded PDP-10. https://en.wikipedia.org/wiki/DECSYSTEM-20

            • earleybird 7 minutes ago
              The DEC 20 I was familiar with was a PDP-10 with a PDP-11 as a frontend (i/o) processor. I recall one of the cookie messages was "Help I'm trapped in a PDP-11"
            • DonHopkins 1 hour ago
              [dead]