[HN Gopher] The historical significance of DEC and the PDP-7, -8...
       ___________________________________________________________________
        
       The historical significance of DEC and the PDP-7, -8, -11 and VAX
        
       Author : lproven
       Score  : 99 points
       Date   : 2021-07-08 10:19 UTC (1 days ago)
        
 (HTM) web link (liam-on-linux.livejournal.com)
 (TXT) w3m dump (liam-on-linux.livejournal.com)
        
       | nickjj wrote:
       | If anyone wants to go down memory lane around 4 years ago I wrote
       | a blog post on how you can run a PDP-11 simulator through Docker
       | with a 1 liner. That's at: https://nickjanetakis.com/blog/run-
       | the-first-edition-of-unix...
       | 
       | It still works today.
        
       | a3n wrote:
       | That was excellent. Concise, informative and interesting.
        
       | WalterBright wrote:
       | > This OS and its shell later inspired Digital Research's CP/M
       | OS, the first industry-standard OS for 8-bit micros.
       | 
       | The irony here is that MS-DOS was routinely derided for having
       | "stolen" from CP/M. Having used the PDP-10 and PDP-11 before
       | CP/M, I knew that CP/M was based on DEC's ideas.
        
         | zh3 wrote:
         | As a 60+ year old programmer who's pretty familiar with writing
         | code for PDP-11s (down to device driver level) I'm interested
         | in the link from PDPs to CP/M, which (as with MSDOS) I've also
         | written for at a low level. While the link from CP/M to
         | QDOS/MSDOS is clear to me, the jump from PDP11 trap
         | instructions to CP/M's BDOS invocation is less clear. Is is the
         | general idea of system calls/returns, or a deeper connection
         | I've missed?
        
           | cmrdporcupine wrote:
           | What I remember reading is that Gary Kildall was a big RT-11
           | and OS-8 user and so it's more that the shell/command line
           | was patterned after some things he was familiar with there. I
           | don't think anybody has made the claim that CP/M's internals
           | were patterned off of PDP OS internals as much. More
           | interface conventions.
        
             | zh3 wrote:
             | I didn't know that; having RT-11 at work and running CP/M
             | at home, there was a 'sort of' similiarity there but not
             | like the same kind of underlying structure between CP/M and
             | DOS (hence the reason I was asking). Thanks!
        
           | WalterBright wrote:
           | I don't see any conceptual difference between the methods
           | used to interface with the OS. It's more one of detail.
        
           | zabzonk wrote:
           | I'm also a 60+ year old programmer (let's make that 60++),
           | but I'm not clear what you are asking. I was quite proud of a
           | Forth-like language I wrote using CP/M (Wordstar, assembler)
           | back round about 1980 - but once it was loaded into memory
           | (via CP/M) it didn't use CP/M BDOS at all, system calls or
           | trap instructions.
        
             | zh3 wrote:
             | That's interesting, how did you do I/O? Bypassing the OS
             | was a lot easier back then :)
        
               | zabzonk wrote:
               | Direct memory access, BIOS (such as it was). I was
               | actually toying with a version that would be fully CP/M
               | hosted, so that it could read and write CP/M files but
               | then I got a proper paying programming job - previously I
               | was a microbiologist, moonlighting, and who could resist
               | the delights of a DecSystem10? And then an IBM 4381?
        
         | retrac wrote:
         | CP/M could probably be fairly described as "heavily inspired"
         | by the likes of TOPS-10, right down to borrowing some command
         | names and some architectural ideas.
         | 
         | DOS 1.0 could probably be fairly described as a CP/M clone --
         | it was intended to be binary compatible basically, such that
         | translated (perhaps automatically - the 8086 had similar
         | compatibility goals) 8080 CP/M programs would run directly on
         | DOS without much if any change.
        
           | TheOtherHobbes wrote:
           | The PDP-10 - and TOPS-10 - were also used by Gates and Allen
           | (and Davidoff) to write their version of BASIC.
           | 
           | The lineage is more like OS-8 -> TOPS-10 -> CP/M -> DOS,
           | although TOPS-10 did a lot more than CP/M etc because it was
           | running on a small mainframe and not a micro.
           | 
           | PDP-10s were also one of the foundations of ARPANET. And also
           | used in early AI research. And also an influence on RMS.
           | 
           | There was also a separate TOPS-20 lineage. TOPS-20 was the
           | successor to TOPS-10 and (more or less) the anti-UNIX. It was
           | designed to be as friendly as possible with command
           | completion and other niceties like versioning and a kind of
           | trash can - although it was quite verbose and had some
           | strange command names of its own. (Like EXPUNGE.)
           | 
           | Some of the philosophy of TOPS-20 made it into VMS. Cutler
           | famously hated UNIX, but by the time he was done with NT the
           | remains of VMS had been thoroughly Microsofted and it was
           | hard to see any of the TOPS-20 lineage left in the UX.
           | 
           | DEC shot itself in the kneecaps when it killed the PDP-10
           | line in 1983 and went all-in on the VAX. The VAX was a
           | perfectly fine computer, but _culturally_ it wasn 't in the
           | same space. PDP-10s were almost proto-Macs in the mainframe
           | market - very popular with academics and creative
           | researchers.
           | 
           | The VAX felt more like a functional but unexciting proto-PC
           | product. A lot of PDP-10 customers - and not a few PDP-10
           | engineers and developers - never forgave DEC for the move.
        
         | bluGill wrote:
         | Well IBM wanted CP/M, but couldn't get DR to talk to them, so
         | they ask Bill Gates if he could do something. Between Bill
         | Gates already knowing CP/M (he wrote the basic that everyone
         | used including on CP/M systems) and IBM wanting CP/M it isn't a
         | surprised what inspired MSDOS 1.0.
        
           | rst wrote:
           | Except that Microsoft didn't write DOS 1.0; they bought it.
           | It was a relabeled version of a CP/M clone originally called
           | QDOS (quick and dirty OS) that was written by Tim Paterson,
           | for a company called Seattle Computer Products, reportedly in
           | about six weeks.
        
             | EvanAnderson wrote:
             | Here's a nice video of Tim Paterson talking about QDOS /
             | 80DOS, Seattle Computer Products (and their x86 hardware):
             | 
             | https://www.youtube.com/watch?v=R2Qh0O3Dt10
        
       | blt wrote:
       | Unless I missed something, the article does not concretely state
       | what the VAX is.
        
         | tyingq wrote:
         | It would have been helpful if it mentioned things like VAX
         | clustering, versioned files, built-in KV store (indexed files),
         | and so on.
        
         | vaxman wrote:
         | The TL;DR is that the VAX was the first and most powerful line
         | of 32-bit computer systems ever developed, the culmination of
         | 20 long years of work by the world's best team of computer
         | scientists (at DEC) competing day and night against the world's
         | second best team of computer scientists (at Data General). On a
         | technical level, the VAX platform came under attack when Sun
         | Microsystems (now Oracle) brought out the more limited, but
         | much faster, RISC-based SPARC architecture (that no CISC based
         | architecture, even the VAX, could compete with) running UNIX
         | (that lacked decades of advancements made by the VAX's
         | operating system, VMS). DEC's elite team responded to Sun's
         | SPARC with its 64-bit Alpha architecture, but DEC was allegedly
         | betrayed when DEC showed Intel the design for its new Alpha
         | chips so that Intel could evaluate whether to become a "second
         | source" producer of Alpha chips and their revolutionary new
         | design wound up in something called the "Intel Pentium Pro"
         | that suddenly and unexpectedly revived the all but dead 808x
         | architecture (that even Microsoft had spent millions porting
         | Windows away from). Intel has been unable to create a viable
         | successor so today we have 11th generation Core i9 whereas even
         | Apple has moved on to its own chips (that ironically are
         | licensed from what is the descendant of DEC's other
         | architecture, called StrongARM). DEC's lead operating system
         | engineer for the VAX (Dave Cutler) had already jumped to
         | Microsoft and suddenly Microsoft now had access to an
         | 808x-compatible chip as powerful and scalable as DEC's
         | proprietary Alpha chip and the rest is history. While DEC
         | settled the allegations against Intel, DEC never really
         | recovered financially and wound up being acquired by Compaq and
         | destroyed by the CEO of its long time nemesis HP, as HP
         | acquired Compaq.
        
           | cstross wrote:
           | ARM was originally Acorn RISC Machines, a spin-out from
           | British computer firm Acorn, who set it up in conjunction
           | with Apple (who wanted a low-power RISC cpu for the Newton):
           | Acorn produced the RISC PC as a successor to the BBC Model
           | "B" family of 8-bit 6802-based micros that were popular in
           | the UK, but failed to compete effectively against Amiga and
           | Atari ST or to move up into the workstation market. In the
           | end, Acorn ended up supplying TV set-top boxes and faded out.
           | But ARM exists to this day, and _they_ are the folks who
           | license the ARM instruction set to customers including Apple.
           | 
           | SPARC had nothing to do with ARM, but was entirely Sun's own
           | RISC project, and an attempt to find a way off Motorola CPUs
           | (which powered Sun's earlier workstations).
        
           | Animats wrote:
           | _(Intel) "second source" producer of Alpha chips and their
           | revolutionary new design wound up in something called the
           | "Intel Pentium Pro" that suddenly and unexpectedly revived
           | the all but dead 808x architecture._
           | 
           | No. The Alpha was a RISC machine. The Pentium Pro was a
           | demonstration that, with 3000 engineers at peak, you could
           | actually get several instructions per clock out of x86. It
           | was the first real superscalar microprocessor, one where what
           | the CPU is doing inside is very different from what the
           | programmer sees as the instruction set.
           | 
           | The VAX was a classic CISC machine. Way too complex an
           | instruction set.
           | 
           | Amusingly, x86 turned out to be a good instruction set for
           | superscalar machines. Not too many registers, so context
           | switches were not so bad. Variable length instructions, so
           | you didn't get "RISC bloat", which tended to double the size
           | of code and cause cache misses. The fast but dumb one-
           | instruction-per-clock RISC CPUs were outclassed by
           | superscalar x86. You can build superscalar RISC machines, but
           | once you've added a few hundred million transistors of
           | superscalar logic, you've lost any simplicity advantage RISC
           | offered.
        
           | jandrese wrote:
           | > unexpectedly revived the all but dead 808x architecture
           | 
           | The Pentium Pro came out in 1995. To say the x86 architecture
           | was "all but dead" at that point is not supported by the
           | historical record.
        
         | cbm-vic-20 wrote:
         | Near the end of the 1970s, DEC PDP-11 customers were reaching
         | the limit of what the PDP-11 architecture could support: PDP-11
         | is a 16-bit architecture: the first generation could address a
         | whopping 56kb of memory (the top 8kb of the memory map was for
         | I/O). Over time, extensions were added to extends that out to
         | 18 bit addressing, and finally 22 bit, for a total of 4Mb. But
         | programs could still only directly address 16-bit chunks at a
         | time, and would have to twiddle the memory management hardware
         | to access other chunks.
         | 
         | VAX was the "Virtual Address eXtension" to PDP-11, which was
         | released right around 1979/1980, was a 32-bit architecture, and
         | additional processor instructions. VAX ended up being a much
         | different beast, but you could still see that it was extended
         | from the PDP-11 platform. DEC made a lot of tooling to make the
         | transition from PDP-11 to VAX as smooth as possible for
         | developers- they provided compilers that were source-
         | compatible, etc., for FORTRAN, COBOL, C, BASIC, etc.
        
       | 13mtfb wrote:
       | I recently worked at a company that still used PDP-11s (albeit
       | emulated on FPGAs). Macro-11 assembly is still being actively
       | used to this day.
        
       | krallja wrote:
       | This is from the discussion of "First new VAX in 30 years?" a few
       | days ago https://news.ycombinator.com/item?id=27765522
        
       | mixmastamyk wrote:
       | I saw the comment earlier and this post today. However this
       | paragraph confused me both times, so perhaps needs some editing:
       | So the PDP-7, PDP-8 and PDP-11 directly influenced the
       | development of CP/M, MS-DOS, OS/2, Windows 1 through to ME.
       | A different line of PDPs directly led to UNIX and C.
       | 
       | It is well known that Unix was written on a PDP-7, then PDP-11.
       | In fact a few paragraphs above the post states the same thing.
       | So, not a different line, unless you count a subset as that?
        
       | mirchiseth wrote:
       | Wow reading this "The most significant minicomputer vendor was a
       | company called DEC: Digital Equipment Corporation." Made me feel
       | old. In college circa mid nineties SGI and DEC machines used to
       | be the big machines. Both companies are gone.
        
         | bee_rider wrote:
         | I wonder if it is still possible to buy systems branded SGI. I
         | guess HP owns the brand now, but it has been through a couple
         | acquisitions at this point, so it would be a real zombie brand
         | at this point.
        
           | TheOtherHobbes wrote:
           | Yes - nothing of interest left, apart from some very old
           | patent troll lawsuits.
           | 
           | IMO it's more interesting just how dated the technology is.
           | DEC and SGI made huge super-expensive machines (by modern
           | standards) and I'm typing this on an iMac Pro which is
           | somewhere between 1000 and 10000 times faster than a VAX
           | 11/780 and would easily leave an SGI Octane in the dust.
           | 
           | Even knowing Moore's Law, I don't know how many people
           | expected that kind of progress back in the 80s or 90s.
        
       | vaxman wrote:
       | I think it's important to remember our cousins at Data General
       | and their Nova and Eclipse series too. DEC and DG had the best
       | groups of computer scientists the world has ever seen in one
       | place and I don't think PDP11 or VAX11 would have come out so
       | good without such stiff competition from DG Nova and Eclipse.
       | (Youngling computer scientists, mandatory reading "The Soul of a
       | New Machine".)
       | 
       | Also, modern people should realize that electrical interfaces on
       | old 1960s-70s mainframes were almost always locked down by
       | license agreements (as in "touch the backplane in an 'unapproved
       | way' and your institution could be charged thousands of dollars
       | in 'service' fees.") With mainframes locked down and costing so
       | much money to operate, one couldn't exactly do anything
       | particularly exciting with them beyond mundane information
       | management tasks. ALL of the real action, including creation of
       | UNIX, C-Language, controlling the public phone system switches,
       | aerospace platforms, laboratory c&c, numerical control,
       | industrial process automation, etc. was happening on "mini"
       | computers that were relatively cheap, could be electrically
       | interfaced to almost anything, impacted less users during system-
       | level operations and (usually) were pretty easy to fix.
       | 
       | But IBM, CDC, Burroughs, Sperry, etc. had no real financial
       | interest in creating "mini" computers, so employee spin-outs like
       | DEC and, in turn, Data General happened. In DEC's case, they grew
       | so successful they even tried to produce a couple of their own
       | "sub-mainframes" like the PDP-6/10/20 (aka DECsystem10/20
       | series), but their core competency was hardware-level computer
       | science until the VAX.
       | 
       | The VAX (and DG Eclipse) came in as the 1970s were ending,
       | because IBM and other mainframe manufacturers were flying "too
       | high" on sales that supported "information technology" needs, but
       | DEC and DG were seeing erosion from VLSI-based microprocessors
       | sold by Motorola, RCA and Mostek. DEC responded with LSI-11 but
       | also divestiture to a new class of computers, decentralized
       | systems that would ultimately be called "departmental computers"
       | that could network with each other and thereby eliminate (or at
       | least supplement) the need for expensive big iron mainframes.
       | With newer and better PDPs in tow, DEC began to tear into IBM's
       | mainframe market with cheaper and cheaper VAXen.
       | 
       | (Unfortunately, a kid named Bill Gates was dedicating himself to
       | enable microprocessor-based computers to do the same to the VAX
       | that VAX had done to mainframes, ironically using an old PDP-10
       | at Harvard to prototype his code...a decade or so later leading
       | to DEC being acquired by Compaq and then destroyed by the
       | mismanagement of Carly Fiorina.)
        
         | ghaff wrote:
         | _The Soul of a New Machine_ is still one of the best books
         | about product development ever written. ( _Showstopper_ about
         | Windows NT is very good too,)
         | 
         | I was a longtime hardware product manager at DG starting a few
         | years after the events of "the book" as it was called. I knew a
         | lot of the people involved and even dotted-lined into Tom West
         | for a while when the first x86-based NUMA servers were rolling
         | out.
        
         | AnimalMuppet wrote:
         | > But IBM, CDC, Burroughs, Sperry, etc. had no real financial
         | interest in creating "mini" computers, so employee spin-outs
         | like DEC and, in turn, Data General happened.
         | 
         | In what sense was DEC an employee spin-out from any of the
         | mainframe outfits?
        
           | rst wrote:
           | Wasn't, really. DEC founder Ken Olsen had been MIT's liason
           | to IBM during the SAGE project (a massive air defense warning
           | system that had been prototyped by MIT's Whirlwind project),
           | but I don't think he ever worked for them directly.
        
         | Pamar wrote:
         | Carly Fiorina? Wasn't she (mis)managing HP?
         | 
         | Edit: my mistake, yes Compaq was bought my HP and therefore it
         | fell under the control of Fiorina, in the end.
        
       | flakiness wrote:
       | I had a colleague who did some work on PDP-11 on his early
       | career. Excited, I asked "So you were using C (language) there?"
       | "No, it's too _early_ " He told me, kind of dismissively. In
       | retrospect it was obvious - The PDP11-based Unix of the Lion's
       | Book [1] was what I had in my mind, but that was probably more
       | like an academic pursuit than a foundational OS of commercial
       | software.
       | 
       | [1] https://www.amazon.com/Lions-Commentary-Unix-
       | John/dp/1573980...
        
         | mark-r wrote:
         | I think my early PDP-11 programs were FORTRAN and Pascal, with
         | a little assembler thrown in. The PDP-11 instruction set was
         | fantastic.
        
           | imglorp wrote:
           | Yep: Macro-11 assembler.
           | 
           | It persisted until at least 1982 where you could get one on a
           | desktop.
           | https://en.wikipedia.org/wiki/DEC_Professional_(computer)
        
             | mark-r wrote:
             | That's fascinating, it looks almost exactly like a PC!
             | 
             | I used the LSI-11 and LSI-11/23, but never saw one of
             | those.
        
       | bitwize wrote:
       | Don't forget the PDP-10! Though Lisp originally lived on an IBM
       | 704, a lot of Lisp work actually got done on Maclisp for the
       | PDP-6 and PDP-10. Maclisp was one of the progenitors of Common
       | Lisp, and we are _still_ mining the rich vein of computer science
       | that Lisp provided. Most notably, garbage collection was
       | popularized by Java and is used in almost all but the most
       | resource-constrained or timing-sensitive applications today, but
       | it originated as a way to automatically reclaim memory for
       | memory-hungry Lisp applications.
        
         | gumby wrote:
         | Gordon bell specifically designed the PDPD-6 and especially the
         | -10 for Lisp: the machine word is a cons and many lisp
         | primitives are machine instructions.
        
           | GeorgeTirebiter wrote:
           | That's right! Those 36-bit words supported two 18-bit
           | pointers.
           | 
           | And a 'byte' on a pdp-10 was anywhere between 1 and 36 bits.
           | We've lost some important ideas from the Olden Days.
        
       | jhallenworld wrote:
       | The 6800, 6502, 6809, 68000 and ARM instruction sets were all
       | heavily influenced by the PDP-11.
       | 
       | The auto post-increment/pre-decrement addressing modes of the
       | 6809, 68000 and ARM exist on the PDP-11.
       | 
       | The set of 2's complement branch instructions and related flags
       | for all of them is pretty much exactly the same (well 6502 does
       | not implement the full set).
       | 
       | It didn't have to be this way- for example, the instruction
       | mnemonics could have been the IBM 360 ones..
        
         | retrac wrote:
         | Even x86 was basically a glorified, oversized and rather
         | inelegant clone of the PDP-11. Though most of the inelegance
         | was a concession to practicality, or backwards compatibility.
         | (Do you _really_ need the complexity of memory-memory moves?)
         | Or maybe they modelled it after the VAX. Hmm. Intel 's
         | employees would have been using some VAXen at the time they
         | designed the 8086. Anyway. Very similar. Both by mnemonics, and
         | the general architecture.
         | 
         | This is the start of a decompression routine for LZSA
         | compression for both architectures. (I don't think the PDP-11
         | code was even modelled after the 8086. Just convergent
         | implementation?) Source here: https://github.com/emmanuel-
         | marty/lzsa
         | 
         | The only difference of note is the PDP-11 doesn't have string
         | array operations (but it doesn't really need them with
         | addressing modes like (r1)+) and so does an explicit check for
         | end of input, that is implicit on the x86 before it loops back
         | to ReadToken. Otherwise there is a near one-to-one translation
         | of each instruction, often with the same mnemonics.
         | ReadToken:                .decode_token:                   movb
         | (r1)+,r0             mov ax,cx                          mov
         | r0,r5                 lodsb
         | mov dx,cx                      bic #177617,r0         beq
         | NoLiterals                  asr r0                    mov cl,4
         | asr r0                    shr al,cl           asr r0
         | asr r0               cmp #7,r0                 cmp al,07H
         | bne m1                    jne .got_literals           ...
         | ...
         | 
         | With that said, they had similar design goals. Minimal (but not
         | minimalist) hardware requirements, compact and expressive
         | instruction set suitable both for direct assembly programming
         | (as that was still dominant in the 70s) as well as a tolerably
         | clean target for simple compilers. System/360 did not really
         | have these design goals. So while even if designers had drawn
         | inspiration from the System/360 instead, the architecture of
         | minis like the PDP-11 in the 70s, and microprocessors of the
         | the 80s, would probably still have been different from
         | System/360. Folks wanted a hardware stack in 1978! Of course...
         | maybe they only wanted it because they'd gotten used to having
         | it on machines like the PDP-11.
        
       | nielsbot wrote:
       | > "A microcomputer is a computer whose processor is a microchip:
       | a single integrated circuit containing the whole processor."
       | 
       | Small thing, but to have that finally explained after all these
       | years... I never knew the explicit difference between a
       | minicomputer and microcomputer for some reason.
        
         | AnimalMuppet wrote:
         | It was a bit more than that. At the time, chip technology
         | wasn't at today's level; you couldn't put a 32-bit (or,
         | originally, even 16-bit) system on a single chip. So micros
         | were much less capable than minis. A mainframe was a computer
         | that could run a company, with both the price and the
         | performance to match. A mini wasn't that costly or that
         | powerful, but it could run a department. A micro wasn't
         | powerful enough to even do that, but it was much less
         | expensive.
         | 
         | So, yes, it was "single chip CPU", but that correlated with a
         | bunch of other things...
        
           | ghaff wrote:
           | Yeah, it wasn't that clear cut. After all, earlier micro CPUs
           | like the 8088 had optional external floating point units. In
           | general, memory management was integrated with the CPU early
           | on in micros whereas it was a separate chip in mid-80s mini
           | designs I'm familiar with. I/O was pretty separated out in
           | both cases at that time as well.
           | 
           | The distinction is probably more around Andy Grove's
           | horizontal stack of "commodity" microprocessors, OSs, etc.
           | vs. the vertical stack of the micros where one company mostly
           | made everything.
        
             | AnimalMuppet wrote:
             | > In general, memory management was integrated with the CPU
             | early on in micros whereas it was a separate chip in
             | mid-80s mini designs I'm familiar with.
             | 
             | Memory management didn't make it into micros until the 386
             | generation. (At least on-chip memory management didn't.) In
             | terms of this discussion, that's pretty late.
        
               | pinewurst wrote:
               | I'll disagree because the 286 systems have quite a
               | capable MMU - capable of running demand paged 286 System
               | V Unix. Not that 64K segments were ultimately that useful
               | as systems grew. But a better MMU than any PDP-11 for
               | sure.
        
               | AnimalMuppet wrote:
               | But as a separate chip, right? It wasn't on the same die
               | as the 286, was it?
        
           | CountSessine wrote:
           | Yeah - and when the first single-chip CPUs were made, they
           | were extremely cut-down. Forget about TLBs and operating
           | modes - the intel 4004 didn't even have hardware interrupts!
           | They had to dispense with any kind of interrupt-driven IO and
           | instead had to poll hardware.
           | 
           | It was a big challenge getting an entire CPU on a single chip
           | back then. Arguably, every single microprocessor from the
           | 4004 to the 386 was just restoring features that the
           | minicomputers originally had.
        
       | johnklos wrote:
       | This is worth bookmarking and sharing with others (aside from the
       | ads).
        
       | ChicagoDave wrote:
       | I think an updated VAX/OpenVMS appliance would be a niche popular
       | product. There are a lot of fans of DEC systems.
        
       ___________________________________________________________________
       (page generated 2021-07-09 23:00 UTC)