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