From mboxrd@z Thu Jan 1 00:00:00 1970 From: jnc@mercury.lcs.mit.edu (Noel Chiappa) Date: Sun, 24 Jan 2016 13:01:40 -0500 (EST) Subject: [TUHS] PDP-11 questions Message-ID: <20160124180140.9986B18C0A4@mercury.lcs.mit.edu> > From: Mark Longridge > when Bell Labs got that first PDP-11/20 what software (if any) came > with it? I have this bit set that they didn't get anything, they wrote a cross-assembler on another machine. I know that when it came, it didn't have a disk (wasn't ready yet), so it ran a chess problem (memory only) for quite a while until the disk came. I think that's in the ACM paper, or if not, one of the BSTJ Unix history papers. > Perhaps an older PDP-11 doesn't have DRAM but surely the later models > did? MOS memory came in starting roughly around the time of the 11/04 and /34. (Well, that's not quire right - there were bipolar and MOS memory options for the 11/45, the second PDP-11 model, but they were kind of special.) But the earliest ROM bootstraps were too small to have space for code to clear memory, or anything like that. The diode-array BM792 ROM certainly didn't. The later M9301 (see disassembly of the contents here: http://ana-3.lcs.mit.edu/~jnc/tech/pdp11/M9301-YA.mac of one variant) didn't clear memory either, although there was probably room in the ROMs by that point. I suspect it didn't because nobody bothered with stuff like that back then - you just wrote over whatever was already there. Properly written code would never have referenced a location which had not been loaded or written to, that way you couldn't get a parity error from random gubbish in semi-conductor at power up (and of course core always had old data in it). > Now the last question has to do with what made the PDP-11 architecture > so great. Bang/buck (in the metaphorical sense) ratio. For a machine with a 16-bit word size (i.e. limited instruction size), it had remarkable programming capability. Data could be in registers, pushed or popped with a stack, at fixed addresses, PC-relative, indexed into a table, etc, etc. And _all_ the instructions (basically) had acceess to _all_ those modes. As a result, the code density was probably higher than any similar sized machine, and back when memory was core (i.e. expensive/limited), code density was important. The bus was also extremely flexible, given how simple it was: memory and devices were all on the same (simple) bus. > of course it was the machine that made Unix possible I'd lay good money that the vast majority of PDP-11's never ran Unix. And UNIX might have happened on some other machine - it's not crucially tied to the PDP-11 - in fact, the ease with which it could be used on other machines was a huge part of its eventual success. > It seems though that there should have been a PDP-11 based desktop and > as far as I can tell that didn't happen. Because DEC were a bunch of losers. There's some DEC history book which talks about DEC's multiple failures (on a variety of platforms, not just PDP-11 based ones) to get into the desktop market, if the title comes to me, I'll post it. Noel