[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)