home *** CD-ROM | disk | FTP | other *** search
/ norge.freeshell.org (192.94.73.8) / 192.94.73.8.tar / 192.94.73.8 / pub / computers / pdp10 / fast_acs < prev    next >
Text File  |  1995-08-24  |  23KB  |  355 lines

  1.                               The History of TOPS
  2.                                       or
  3.                              Life in the Fast ACs
  4.  
  5.  
  6.                                by Peter J Hurley
  7.             for the Spring 1984 DECUS Symposium in Cincinnati, Ohio
  8.                           transcribed by Jack Stevens
  9.  
  10.  
  11.                                    Abstract
  12.  
  13.      Peter Hurley, Manager of 10/20 Software Engineering at Digital,  gave
  14.      a  brief  history, complete with war stories and the recollections of
  15.      many of those involved, of DEC's 36-bit product line on the  occasion
  16.      of the twentieth anniversary of the PDP-6.
  17.  
  18.  
  19. The main speaker, Peter Hurley, is the Manager of TOPS-10/20 Software
  20. Engineering at DEC, where he has spent the last 16 years.  He had, in fact,
  21. been working with DEC's 36-bit computers for two years before that.  His first
  22. programming job (which he got by strategically losing a squash match with his
  23. boss) was on a PDP-1 at M.I.T.'s Lab for Nuclear Science.  The next year they
  24. upgraded to a PDP-6, running version 1.6 of the monitor, and a TTY 33 as a line
  25. printer (at least until they tried to do a listing of the Fortran compiler on
  26. it).  Peter followed his boss to DEC, as the latter still needed someone to win
  27. against at squash.
  28.  
  29. The PDP-6 was first shipped in June of 1964.  It was followed by the KA-10 in
  30. 1967, about 1.5 times the power of the PDP-6.  The KI-10, about 1.8 times the
  31. KA-10, was released in 1972.  The KL-10 was introduced in 1975 for TOPS-10,
  32. about 2.5 times the KI.  In 1972, the first TOPS-20 KL-10 was released.  In
  33. 1978, the 2060, 2020, and 1091 came out.  The letters in the processor names
  34. did, in fact, mean something.  The "K" stood for Komputer ("C" had already been
  35. used for something important, like a card reader);  "A" was the first letter of
  36. the alphabet.  By the time they got to the KI, however, marketing had gotten
  37. involved, so "I" stood for integrated circuits.  To help sell the idea of the
  38. KL to management, "L" stood for low-cost system.  The "S" in KS probably stood
  39. for small.
  40.  
  41. The PDP-6 could be purchased with optional fast accumulators.  They took up an
  42. entire 19-inch rack (that's 16 words in one rack).  One megaword, therefore,
  43. would take up 98,958 cabinet feet of floor space (or, approximately 18.7
  44. miles).
  45.  
  46. The development team of the PDP-6 included Gordon Bell (who designed the system
  47. architecture, then started to bail out the documentation group by writing half
  48. the hardware manual, then moved to the software group to try to help bail them
  49. out).  Alan Kotok, who was hired in 1961 as a PDP-4 Fortran compiler writer,
  50. turned into a PDP-6 architect as assistant logic designer.  Russ Donne, a
  51. circuit designer, was pulled into the project late (just about every engineer
  52. at DEC was pulled into the project) and given three weeks to do the main PDP-6
  53. module layout and design.  One of the modules, the biggest one he had ever
  54. done, had 108 transistors on it (whatever they are).  Leo Gussell wrote the
  55. diagnostics for the -6, the basic diagnostics A through H, that are still in
  56. use today.  Harris Hyman was the author of Macro and a little absent minded.
  57. One day he managed to lose all the sources to Macro.  Peter Sampson, who wrote
  58. Fortran II, put all of one comment in it.  That comment, which commemorated the
  59. numerological identity of the octal equivalent of 1000 and the year of Johann
  60. Sebastian Bach's death, read "JSB RIP".  Tom Hastings, hired in 1961 as the
  61. first software engineer at DEC, had a few strange habits.  One of them was that
  62. when he was tired he would lay a listing on the floor and take a nap on it.
  63. One could not be sure, coming across him in that state, whether he was still
  64. alive.  Dave Gross, brilliant but absent minded, slept through all his DEC
  65. employment interviews except one.  He was hired in his last one of the day,
  66. with the documentation group, because that did not take place until 3 PM, and
  67. he had awakened by then.  Tom Eggers, DEC's first school dropout to become a
  68. programmer, developed DDT while at school.  DEC paid him $500 for it.  He used
  69. to crawl into the office of Harlan Anderson, VP of Engineering, to sleep on the
  70. couch there.  Harlan would discover him the next morning (this happened once a
  71. week) and kick him out.  Ed Yourdin, of structured programming course fame,
  72. wrote Loader.  Loader has since passed out of use;  perhaps it was not
  73. sufficiently structured.  :-)
  74.  
  75. The PDP-6 project started in early 1963, as a 24-bit machine.  It grew to 36
  76. bits for LISP, a design goal.  The IBM 7090 was also 36 bits, so that was okay.
  77. The PDP-6 did go the 7090 one better, in that it had an 18-bit address rather
  78. than the 7090's 15.  The theory was that 256K was clearly enough to last the
  79. entire life of the product.  After all, that much memory wouldn't even fit in a
  80. room.  The design engineers really didn't even know how to call subroutines, so
  81. they designed in all the ways they could think of:  JSR, JSA, JSP, PUSHJ, and
  82. UUO (JFFO [and JSYS were] added later).  They couldn't decide which Boolean
  83. instructions to have, so they did them all.  The reason that the bits were
  84. numbered from left to right was that IBM had done it that way (as Alan Kotok
  85. put it, "We hadn't invented 'Not Invented Here', yet.").  NIH did arrive by the
  86. time the PDP-11 was developed.  The PDP-6, having only two or three thousand
  87. gates, didn't have any error recovery.  In fact, it didn't have any error
  88. checking.  Memory parity was an add-on box that sat between memory and the CPU.
  89.  
  90. A lot of the sites that bought PDP-6's were involved with physics research.
  91. The others included artificial intelligence research organizations and
  92. timesharing utilities.  Apparently proving DEC's masochistic tendencies, the
  93. first PDP-6 sold went about as far from Maynard as one could possibly go, to
  94. the University of Western Australia, in Perth.  The second went to Brookhaven
  95. National Labs, in an air conditioned trailer in which it was to spend its days,
  96. the intention being to drive it between experiments (in fact, it was never
  97. moved).  With this experience in shipping computers via truck, DEC started to
  98. ship all its products by truck.  Twelve foot trucks.  DEC learned a lot more at
  99. a well-known bridge on Route 62 in Hudson, Massachusetts.  An eleven foot
  100. bridge.  (This is where DEC made its first drop shipment.)  The PDP-6 that made
  101. this unfortunate journey was already some months late for the University of
  102. Pennsylvania.  DEC not having its own van, had rented some space in a moving
  103. van filled with household goods.  The PDP-6 was in the back of the van, and it
  104. appears that the furniture successfully cushioned the impact for the computer.
  105. They did have to shovel the remains out of the truck afterwards, however.
  106. (The PDP-6 was able to be repaired in a couple of more months).
  107.  
  108. Two philosophies were applied to the design of the PDP-6.  The first was
  109. expressed by John McCarthy of M.I.T., who helped design it.  That was "to
  110. provide each user with the illusion of having his own large computer."  The
  111. other was "gentleman's timesharing", which was the only way one could exist
  112. with no protection and with manual sharing of all the peripherals, core memory,
  113. system DECtapes, etc.
  114.  
  115. The early developers of the PDP-6 software used a cross assembler running on
  116. the PDP-4.  The -4 was in another building, which required a considerable trip
  117. to transfer software (via paper tape).  Tom Eggers debugged DDT before the
  118. hardware was working fully.  This required that the instructions that did not
  119. work be simulated by instructions that did work so that they could debug the
  120. ones that were not working (for example, left shift did work, but right shift
  121. didn't).
  122.  
  123. The first successful timesharing test on the PDP-6 consisted of two "JRST ."
  124. (branch to current location) jobs.  The lights showed that the scheduler was,
  125. in fact, switching between the jobs.  Immediately following that demo they
  126. invented Control-C, because they had no way of stopping the test jobs.  Version
  127. numbers were also developed during this period, as Harris Hyman had a habit of
  128. labeling the Dectape of each new version of Macro as "Latest".  After six
  129. versions of "Latest" were accumulated, they started numbering them.
  130.  
  131. PIP was invented by "Dit" Morse as a demonstration of device independence.  Its
  132. original name was ATLATL, which stood for "Anything, Lord, to Anything, Lord".
  133. This was appropriate, as it took a certain amount of prayer to get anything to
  134. move between media.  In those days, when TTY's had backarrows (instead of
  135. underscores) that key was used instead of the equals sign in PIP.  This, it was
  136. felt, was sufficiently obvious that anyone who, for example, tried to read from
  137. the line printer got a message like:  "You gnerd, device LPT: can't do input!"
  138. That message was changed the day after Ken Olsen tried out ATLATL.
  139.  
  140. The first PDP-6 shipped with a 5K monitor.  The user guide could comfortably
  141. fit on a page.  IJOB started up a job;  one could find out one's job number
  142. with PJOB.  GET, SAVE, and START took care of program control.  After Control-C
  143. was added, CONTINUE was, also.  (Control-C was chosen, incidentally, because
  144. Tom Hastings could reach it easily on the keyboard with one hand).  The DECtape
  145. editor provided all the functions one could want:  Insert, Deleted, Print a
  146. line.  It was called EDITOR and was the precursor of LINED.
  147.  
  148. Since there was no swapping, everything had to fit in memory.  Programs were
  149. shuffled to close up the unused space.  But because the BLT instruction was
  150. used, shuffling could only move programs toward lower addresses (5K monitor,
  151. remember?).  Thus, after one's compile had been running for twenty minutes,
  152. growing towards someone else's job, one might get an error message "Core
  153. available, but not to you", and could try to persuade the other person to kill
  154. his job or, more likely, would have to kill one's own job, type CORE 0 to cause
  155. shuffling, and start again.
  156.  
  157. The demise of the PDP-6 came after 23 has been built.  (One of them, Lucky 7,
  158. never really worked correctly.) Every engineer at DEC was working at getting
  159. them through manufacturing, and Ken Olsen was fearing for his company.  Several
  160. of the main players left DEC after the cancellation, but Alan Kotok, asked to
  161. head up a group to choose a smaller system to do next, ended up choosing
  162. something called the PDP-1010.  The PDP-1010 was a 36-bit machine (surprise!)
  163. which looked a lot like a PDP-6.  It came with 8K words of memory;  a paper
  164. tape reader, paper tape punch, and a terminal as its only peripherals;  and had
  165. optional fact AC's, optional floating point instructions, and optional byte
  166. instructions.  Oxford actually bought one of these (though they did have to buy
  167. more memory).
  168.  
  169. The KA-10 set a system debug record.  From power on to running the operating
  170. system was eight days.  During that time, Bob Clements almost gave away the
  171. secret.  As part of the debugging, he had been running a music program from
  172. M.I.T.  and found that the pitch was too high.  In talking to the authors about
  173. the tuning algorithm that he thought was supposed to bring the pitch down, they
  174. asked, "What are you running this on?  You've got a fast machine there!"
  175.  
  176. Dave Gross was still brilliant.  He was able, after everyone else had tried, to
  177. get the RIM (Read-in Memory) loader down from 18 instructions (which were keyed
  178. in on the PDP-6) to fewer than 16 (to fit in the accumulators).  Even after the
  179. KL was introduced, he was getting calls from people who told him that there was
  180. no way the code could work.  Dave Gross was still absent minded, too.  DEC had
  181. given out Christmas turkeys.  The following April, someone who was helping him
  182. clean out the trunk of the car Dave was selling asked, "What's in this box
  183. labeled 'Turkey'?"
  184.  
  185. Pat White would bring her dog into work.  It would lie under the KA, where it
  186. was warm.  There were more programmers than terminals, so anyone who stepped
  187. away for a moment was likely to lose theirs.  Her solution was to tie the dog
  188. to the terminal.  No one was willing to take a terminal away from a German
  189. shepard.
  190.  
  191. In the spring of 1970, at the Joint Computer Conference in Atlantic City, the
  192. KA was displayed, at what was DEC's largest demo ever.  At the end of each day
  193. they would play the national anthem on the KA and put it on the loudspeakers.
  194. (This was also the show at which Sonny Monosson made his debut selling used
  195. computers.  He walked up an down the boardwalk wearing a sandwich board
  196. advertising a used KA-10.)
  197.  
  198. The display system had 128K words (MA-10 memory, at 16K per 36-inch-wide
  199. cabinet), the brand-new RP02 disks, tape drives, line printer, and Evans and
  200. Sutherland LDS-1 display, and 16 teletypes.  Everyone was there debugging the
  201. system the night before the show when it stopped dead.  Alan Kotok, a master of
  202. the lights, immediately leapt to the console, determined that it was a memory
  203. parity error, then moved to each memory cabinet to read the lights on them.  At
  204. about the fifth one, he exclaimed, "Ah!  It's this one!  The one with the smoke
  205. pouring out of it!"  No one had noticed the smoke billowing out of the cabinet
  206. in the meantime.
  207.  
  208. The monitor started with version 1.  (The name TOPS-10 was chosen by marketing,
  209. but not until 1970).  Versions 1.4 to 1.9 shipped on the PDP-6.  27 jobs were
  210. supported, as each job got a bit in the mantissa of a floating point number.
  211. To determine which job was next involved an unnormalized floating point add 
  212. . . .  In version 3.27, for PDP-10's, in which swapping was added, capacity
  213. was provided for 35 jobs by using a JFFO (Jump if Find First One) instruction.
  214. This kept if from running on the PDP-6's, since they did not have that
  215. instruction.  Job capacity jumped to 63 in the next monitor and averaged a
  216. further doubling each version after that, up to 512.
  217.  
  218. Disks have been the source of some interesting moments.  The PDP-6 could
  219. support the Data Products disk.  This drive had about a dozen platters, each of
  220. which was provided with an independently-movable, hydraulically actuated arm.
  221. When the heads got moving, with the hydraulic hoses moving in and out with the
  222. actuators, it looked like a spaghetti factory.  Dave Nixon of Oxford bought an
  223. IBM disk drive for his system.  Not knowing how to program it as a disk drive,
  224. he made it emulate 40 DECtape drives.
  225.  
  226. The KA-10 came with the RD-10 Burroughs disk.  This was a single fixed platter,
  227. about three feet in diameter.  Unfortunately, some would work fine and others
  228. would crash.  This was eventually traced to the way the disks were lined up on
  229. the loading dock.  The driveway to the dock sloped down.  As a result, the
  230. trucks would coast the last foot or two and bump the edge, shaking the
  231. building.  Those disks whose arms were perpendicular to the truck would later
  232. crash, while those whose arms were parallel were fine.  The solution was (of
  233. course) to line all the drives up the right way.  The RD-10's were also very
  234. likely to crash if touched.  Kodak ended up installing a heavy pipe railing
  235. around theirs to keep people away.
  236.  
  237. The "Giant Bryant" had six three-foot platters.  Its four-foot actuator arms
  238. were tied into units, unlike the Data Products, but it had two sets of them,
  239. one on each side of the disk.  They, too, were prone to crashing, especially
  240. with the assistance of one diagnostic writer who felt that they really ought to
  241. work in the worst case.  His diagnostic would start the heads on one side
  242. working madly, then would start the others up, out of synchronization.  Aside
  243. from causing the disk to crash, it would make the drive walk around the room.
  244. Things got so bad that the first RAMP feature was added, in the hope of saving
  245. some data.  An electronic "sniffer" was installed to detect the debris of a
  246. head crash and retract the heads.  The platters made nice coffee tables, with
  247. their spiral grooves.
  248.  
  249. The PDP-6 console was attractive but had small switches that were hard on the
  250. fingers of the programmers who had to key in the RIM loader.  It did have a
  251. prominent on-off switch, though.  Some researchers at MIT thought it would be
  252. fun, one day, to use their new robot arm to emulate the toy whose arm emerges
  253. from its box to shut itself off.  The next day, DEC got a call to replace the
  254. switch.  It seemed that in turning itself off, there was a slight transient
  255. that caused the arm to tear the switch out of the panel.  Stanford had a robot
  256. arm, too.  It was hydraulically operated, and if a software bug caused tow of
  257. the actuators to work against each other, would shake and then throw whatever
  258. it was holding across the room.  It was locked up after the head of the
  259. department walked into the room to see a block whiz past his ear.  Stanford
  260. also had a little robot car that was equipped with a TV camera and drove around
  261. outside the building.  There was a sign outside the building that read, "Watch
  262. out for Unmanned Vehicle." It worked, too, until the monitor would crash.  Then
  263. someone had to be sent into the woods to find the car.
  264.  
  265. The KA-10 had a nicer console with even more lights.  One of the lights, for
  266. interrupt level 7, tended to show how much work the scheduler was doing.  As
  267. the scheduler seemed to be running much of the time, trying to decide which job
  268. to run next, the condition was called "pink scheduler mode".  The KI-10 had an
  269. even fancier console (a lot of time was spent designing consoles) with easily
  270. replaceable lights and switches.  Unfortunately, the company that made those
  271. fancy lights and switches went out of business, and lights and switches became
  272. difficult to replace for a different reason.  The KL-10 did away with almost
  273. all lights and switches, except for those on the PDP-11 console front-end (this
  274. also did away with "pink scheduling mode", since one could no longer see the
  275. problem).  As the PDP-11 lights and switches were not useful to -10 programmers
  276. (they didn't have enough bits) the whole thing was put behind a door, and the
  277. result was two lights (power and fault--useless, as one knew that it was either
  278. running or not) and four switches (which also broke and were hard to find
  279. replacements for).  Field service received a tech tip which told them how to
  280. use a paper clip to fix the switches.  The 2020 finally resolved the issue with
  281. one tri-state light (on, off, and blinking).
  282.  
  283. TOPS-20 originated with Bolt, Baranek & Newman, in Cambridge, Massachusetts.
  284. Before the PDP-6 was designed BBN had gotten into timesharing with a PDP-1
  285. system equipped with a swapping drum.  Dan Murphy at BBN experimented with
  286. paging on that system, implemented entirely in software.  Each instruction had
  287. to be checked before it was executed to see if the address it pointed to was
  288. actually in memory or if a page had to be brought in.  That made them decide
  289. that a hardware assist might be nice to help performance.  When the PDP-6 came
  290. out, BBN started negotiating with DEC to install hardware paging, but when the
  291. -6 was canceled, they moved to an SDS 940.  This was probably good in the long
  292. run, as the SDS machine laid the groundwork for TOPS-20 command recognition.
  293.  
  294. [I believe that Dan Murphy had previously been responsible for the original
  295. implementation of TECO at MIT on the PDP-1 in 1961!  (-editor- Lum Johnson)]
  296.  
  297. In 1970, TENEX was introduced by BBN.  They had started the project, late in
  298. 1969, on a KA-10 with their own paging box and finished it within six months.
  299. The first system went to SRI.  In 1972, TENEX came to DEC.  Dan Murphy was
  300. contracted to put TENEX on the KI, then joined the hardware engineering group
  301. while the KL was being developed.  The original intention was to create a new
  302. operating system for the new hardware.  It was to have been the only operating
  303. system for the KL, but it could never catch up to the performance of TOPS-10.
  304.  
  305. A considerable amount of work was done to TENEX to make it into TOPS-20.  For
  306. example, the disks were made to still be readable after a software crash.  The
  307. directory structure was redesigned.  The development group added such things as
  308. search lists, logical names, IPCF, enqueue/dequeue, KL support, wild cards,
  309. pseudo-teletypes, etc.  Having PTY's and the ability to assign TTY's allowed
  310. one to develop Trojan Horse jobs that could capture passwords of unsuspecting
  311. users.  Dave Braithwaite was at GM when he was asked how such a gaping security
  312. hole could have slipped through.  He explained that it had never been thought
  313. of and suggested that it was "sort of like designing a car where you have to
  314. pull the engine to replace the last spark plug."
  315.  
  316. The name "TOPS-20" was the product of considerable evolution.  DEC did not want
  317. to use "TENEX" because it might have caused confusion within the ARPA
  318. community, so someone came up with "VIROS" (VIRtual Operating System).  That
  319. didn't last too long because the VP in charge of the project, John Leng,
  320. started pronouncing it "virus".  Management decided that the name would have to
  321. be changed in order to fool the rumor mill.  The developers came up with
  322. "SNARK", from Lewis Carroll's "The Hunting of the Snark", (". . . the hunting
  323. of the Snark, with forks and hope. . .").  Six months later, when it was time
  324. to change names again, the name was encrypted to "KRANS".  One memo with that
  325. name went out, which was seen by Ulf Fagerquist.  He pointed out that "krans"
  326. in Swedish means "funeral wreath".  Back to "SNARK".  Marketing showed its
  327. imagination by coming up with "TOPS-20".  [And this may all be moot, since the
  328. ARPA community decided to call it "TWENEX" and many of us still do.]
  329.  
  330. In 1976, DEC announced its first DECSYSTEM-20.  It came in two flavors, the
  331. 2040 and the 2050.  It was originally going to come out with the TU16 tape
  332. drive, but the developers could never get it to work right on their systems.
  333. About two months before the -20 was to be shipped, the Pertec TU45 was found.
  334. This was determined to be much better than the TU16.  After one was installed
  335. and the driver was being written, John Leng and Ulf Fagerquist came by to see
  336. the result of their months of agonizing over the tape drive decision.  In
  337. demonstrating for them the auto load feature (with the door open), Peter Hurley
  338. neglected to make sure the tape had caught on the bottom reel.  As a result, a
  339. loop of tape shot three feet in the air out of the vacuum column and wound
  340. itself around the capstan.
  341.  
  342. The news conference given by the totally unflappable (and not troubled by
  343. technical details) Dave Plummer.  He described the -20 as a multiprocessor
  344. system (after all, it had a PDP-11 in it).  At the end of the demo, while he
  345. was striking a relaxed pose against the air intakes of the CPU cabinet, the
  346. system died with an air flow fault.  Dave never missed a beat as he described
  347. the reliability feature that shut down the machine before it could overheat and
  348. damage itself.
  349.  
  350. In closing, Peter described the rule of a salesman in the days of the PDP-6 and
  351. KA-10.  He knew that a prospect was his if that prospect fulfilled his "Three
  352. S" rule:  smart, sophisticated, and strange.  Twenty years of TOPS suggest a
  353. fourth "S":  stubborn.
  354.  
  355.