Slashdot Mirror


PDP-11 Still Working In Nuclear Plants - For 37 More Years

Taco Cowboy writes "Most of the younger /. readers never heard of the PDP-11, while we geezers have to retrieve bits and pieces of our affairs with PDP-11 from the vast warehouse inside our memory lanes." From the article: "HP might have nuked OpenVMS, but its parent, PDP-11, is still spry and powering GE nuclear power-plant robots and will do for another 37 years. That's right: PDP-11 assembler programmers are hard to find, but the nuclear industry is planning on keeping them until 2050 — long enough for a couple of generations of programmers to come and go." Not sure about the OpenVMS vs PDP comparison, but it's still amusing that a PDP might outlast all of the VAX machines.

30 of 336 comments (clear)

  1. I cut my teeth on that CPU by Bucc5062 · · Score: 5, Interesting

    The PDP-11/45 was the very first computer I ever worked with at College in 1978. God I hate to sound like an old guy with a lawn, but they just don't make like that any more. I learned RATFOR, Pascal, c, and Assembler during that time. Even later on, thanks to my time on the PDP11 I expanded system knowledge working with the HP1000 and its front panel switches.

    Good times....good times.

    --
    Life is a great ride, the vehicle doesn't matter
    1. Re:I cut my teeth on that CPU by Giant+Electronic+Bra · · Score: 4, Interesting

      Hahaha! Yeah, my father designed the original flight information display systems which went into all the big airports in the late 60's/early 70's. I'd go into work with him on Saturday and play around on a TTY with BASIC for the PDP-11/C they had in the office there. In the early 90's we were installing micro PDP-11s at VY to do monitoring of discharge temperatures, that was their state-of-the-art machine at that time! Honestly though, how much CPU do you need to read a DAC and push the data up a current loop? A whole PDP-11/45 must cost $.02 and be the size of a grain of rice today. Why invoke the massive overkill of migrating to a PC?

      --
      "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
    2. Re:I cut my teeth on that CPU by Cassini2 · · Score: 5, Informative

      The microcontrollers are not rad-hardened. The PDP with core memory and 54-series TTL logic will probably survive a small nuclear blast. There are no highly vulnerable EMI susceptable components in a PDP that I can think of. In fact, I think the military has used (does use?) this and the earlier DTL technologies in its missile computers.

    3. Re:I cut my teeth on that CPU by Cryacin · · Score: 4, Funny

      At least they're not running nuclear power plants in action script. (ducks)

      --
      Science advances one funeral at a time- Max Planck
    4. Re:I cut my teeth on that CPU by Cryacin · · Score: 3, Informative

      What were you doing chewing on the CPU? You're supposed to lick them.

      Some like to be chewed, some like to be licked. It depends on the model.

      --
      Science advances one funeral at a time- Max Planck
    5. Re:I cut my teeth on that CPU by Giant+Electronic+Bra · · Score: 3, Informative

      Yeah, I wouldn't be surprised. People nowadays would be surprised at what you can do with low clock speeds, a simple instruction set, and TTL logic. For basic control functions there's no need for anything too fancy and every extra transister is just another thing that can go wrong. Most avionics systems are still using 1970's era 16 bit processors. They've gotten a lot cheaper, but mostly there's just no need for anything fancier when the job is "monitor these 8 DACs and these 5 discrete inputs in a tight loop, apply this filter, write the results to this UART, and close this valve if the state machine reaches this point", lol.

      --
      "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
    6. Re:I cut my teeth on that CPU by BrokenHalo · · Score: 3, Informative

      Yeah. The only thing the old core-memory processors were not so good at was dealing with excessive heat. My first computer was a Burroughs B3700 a lot like this but with a teletype master console (which Burroughs called a SPO, for Supervisor Printer Operator).

      If the airconditioning broke down in the machine room, we had about 15 minutes to shut everything down before the temperature hit 50 degrees C. [OT: Why, oh why, can /. *STILL* not manage such simple things as html entities?]

      The company I worked for got rid of that machine in 1978 (in favour of a Honeywell DPS7), but I remember reading in some computing magazine in 1988 that NASA (IIRC) had ordered several of these machines. I can't find any reference to it now, so that might have been shitcanned. It wasn't very long after that, in any case, that Burroughs merged with Sperry (another of my earlier platforms) to form Unisys.

    7. Re:I cut my teeth on that CPU by Anonymous Coward · · Score: 5, Interesting

      Many of us still can program in macro-11. I got tired of ODT though and built a symbolic debugger with DDT that ran in another task.

      The pdp11 has a number of possible hacks that can be useful in remotely identifying code. Ever try a DIV on SP, which moves the stack and changes
      the program counter all at a go? Mov @offset(r5),pc ? That gives control transfer an extra level of indirection. There are others.
      Note the DIV hack works only for CPU models with the EIS instructions.

      The pdp11/45 has a 300 ns. cycle time though, corresponding to ~3.3MHz clock speed. Current machines have more like ~3.3GHz.
      The larger 11s could address 4MB of memory (a lot in those days). Now a 4GB machine is beginning to look small.
      I recall when we got a 22MB hard drive (size and shape of a clothes washing machine; we put Dymo labels under the lights
      labelled "wash rinse dry" for fun) it seemed vast. Nowadays it is not unheard of for a home machine to have 22TB.

      With all those factors modern machines can be said to have grown by a factor of maybe a trillion.

      Still the pdp11 was versatile and allows significant and useful code to run. It is usually programmed in assembler (macro11;
      nobody uses PAL11R any more I hope) or Fortran or C. (The original pdp11 Fortran was a nightmare of code inefficiency, could
      burn 100 instructions to add 2 integers where the hardware could do it in one. Only the later f4p compiler got half decent code
      generation.)

      I only ever saw mov -(pc),-(pc) used as a fast clear memory; it traps at the end, but won't get any unmapped addresses.

      It was more fun to arrange to handle interrupts in supervisor mode. (Did that too. Needs a lil trick to RTI.)

    8. Re:I cut my teeth on that CPU by swalve · · Score: 4, Insightful

      Yeah, but ironically fancier is cheaper. And now we have printers that take two minutes to boot up.

    9. Re:I cut my teeth on that CPU by Giant+Electronic+Bra · · Score: 5, Interesting

      Yeah, I know what you mean. A lot of newer technology is just less good. Verizon 'improved' my phone service so now they 'back up' my contact list. Its great, every month or so they restore some old worthless crap over the top of my contact list on my phone. Ain't progress great? Now I carry around an actual physical address book.

      --
      "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
    10. Re:I cut my teeth on that CPU by ackthpt · · Score: 4, Interesting

      The PDP-11/45 was the very first computer I ever worked with at College in 1978. God I hate to sound like an old guy with a lawn, but they just don't make like that any more. I learned RATFOR, Pascal, c, and Assembler during that time. Even later on, thanks to my time on the PDP11 I expanded system knowledge working with the HP1000 and its front panel switches.

      Good times....good times.

      May have cut my teeth on an OSI (that's Ohio Scientific) home computer, with a whopping 4K of memory, later expanded to 12K, but honed my skills on a PDP 11/50. When I was hired as a student programmer I was given an admin account, subscription to a couple DEC magazines (which had some great kernal hacks in them, plus a full color map of Zork GUE, which I still have :o) and the privilege of performing the offline backups of the two RP04 drives each Friday. I learned how to dissemble the kernal, where all the fun bits were, how to peek at various terminals (to see what the very few aspiring hackers were up to), wrote honey pots and generally learned everything there was to learn in Fortran IV, RSTS BASIC, UCSD Pascal and assembler (while still an unpaid student I brought the CPU to its knees with an assembler program to calculate Pi to 1,000 places, one of those Oliver Wendell Jones sort of moves.)

      The one big shock, going from completely nailed down security on a PDP 11 to Windows was how utterly lax and clueless the Microsoft software architects were on dealing with any kind of security - literally babes in the woods, totally unaware of decades of good security practices of mainframe environments. People who think Bill Gates was brilliant need to look more closely at how oblivious he was to threats before unleashing Windows 95 on the world.

      I have a PDP emulator for the PC, but without all my old code, I don't know what I'd really do with it. I once had sources to Mark Turmell's early games written on a PDP, such as Squash, all collision detection peformed with an 80x24 integer array and VT52 cursor controls (I bet nobody heard about those early beginnings before.) Before Atari, C64, Nintendo, etc, we played video games on VT52 and VT100 terminals. :o)

      --

      A feeling of having made the same mistake before: Deja Foobar
    11. Re:I cut my teeth on that CPU by nerdbert · · Score: 4, Interesting

      Ah, rad hardened PDPs. Those were the days.

      I used to program one and we had one in an accelerator when the PDP11 was state of the art. Every time you injected fresh particles into the beam we'd have to leave the accelerator and hide behind a hill due to the radiation (this particular accelerator was designed to put out a ton of polarized x-rays). We could hide behind the hill, but the PDP11 couldn't. The PDP lasted about 3 years before the CPU died from radiation poisoning. I tried to replace the CPU but DEC wanted more money for the CPU than for an entire replacement motherboard. I tried to explain the AE that I didn't feel comfortable subjecting someone else to a board that didn't have much life left, but they made me return my old board for a new one. I wonder what sucker ever got that nearly-dead motherboard?

      You can get rad-hard controllers these days. The company I worked for a few years back had CERN come in and make a ton of parts in our process. We couldn't figure out why they kept coming to us for parts as we weren't anywhere near the lowest cost provider for such a limited run of parts (our NRE was big to keep the low volume guys out), but it turns out they'd done rad-hard tests on a bunch of different CMOS processes and ours was an order of magnitude better than anyone else's. I can assure you we weren't designing for a rad-hard process, it just turned out that way.

  2. That's just cruel by Chrisq · · Score: 4, Funny

    ... until 2050 — long enough for a couple of generations of programmers to come and go.

    By their short lives I imagine that they must make them work in a high-radiation area.

    1. Re:That's just cruel by msauve · · Score: 3, Informative

      "Generation" doesn't refer to an average lifetime, it refers to the average childbearing age.

      --
      "National Security is the chief cause of national insecurity." - Celine's First Law
    2. Re:That's just cruel by tgd · · Score: 5, Informative

      So? A "generation" is commonly held to be 30 years; the average child (note: not first-born) being born when the parents are approximately 30. Secondly, TFA specifies two generations "coming and going", which means two ENTIRE generations pass; not just one passing and the second one beginning.

      That is 60 years, not 37 years. TFS, if not TFA, which I didn't read, is officially stupid.

      Commonly by who?

      In virtually all cases, generations are pegged at 20 years. The common "Gen X", "Gen Y", etc are all 20 year spans. In fact, virtually every named "generation" of the last century were equal or slightly less than 20 years.

      Even if you go by the average age of first birth, in virtually all of the "1st world", its right around 25. The peak averages are barely 30, and globally its in the low 20's, depending on the source.

      So by either definition, there's definitely time for two generations ... and if you're talking about the average time in a given position (which is a more meaningful generation when speaking about engineers), you're looking at more like 15 years -- or time for three.

  3. If it ain't broke... by intermodal · · Score: 5, Insightful

    Honestly, it's a system that works. Everything is seen as disposable today, but really, the only reasons we end up getting rid of systems that works these days are either because of support issues (i.e. Microsoft's end of life abandonment of security updates for older products) or lack of available replacement hardware to swap in for failed or failing units.

    Honestly, without the need for protection from security holes related to the Internet (and the accompanying security patches), most office workers could get by on Windows 2000 machines with Pentium III processors with probably less than 1GB of RAM and Office 2000 for the foreseeable future.

    Not saying we haven't made advances, but I'm definitely saying that modern closed-source computing (Microsoft, Apple) is a system of planned obsolescence.

    --
    In SOVIET RUSSIA... erm...NSA AMERICA, the Internet logs onto YOU!
    1. Re:If it ain't broke... by scsirob · · Score: 4, Insightful

      Sorry to burst your bubble, but that's not how it works in nuclear nor in aviation..

      One of the main reasons things are behind in those industries is paper trails. Rules and regulations. It takes forever and lots of money to get this gear certified. Once certified, it takes an act of God to change it.

      A PDP-11 isn't much more reliable than any other system. It has unreliable old-style linear power supplies, unreliable backplane connectors and all parts do fail eventually. Just because they weigh a hundred times more doesn't mean they are a hundred times more reliable.

      --
      To Terminate, or not to Terminate, that's the question - SCSIROB
    2. Re:If it ain't broke... by intermodal · · Score: 5, Insightful

      You seem to be equating this laundry list of things running at the same time with "need". Frankly, I'm not convinced that present-day "need" gets any more accomplished than was performed by what we had ten years ago in most businesses with the "needs" from then.

      I don't measure productivity in the number of bits pushed or number of programs used. I measure it in how useful those bits were and how much was usefully accomplished by those programs. You're simply justifying bloat.

      --
      In SOVIET RUSSIA... erm...NSA AMERICA, the Internet logs onto YOU!
    3. Re:If it ain't broke... by SJHillman · · Score: 4, Funny

      "Just because they weigh a hundred times more doesn't mean they are a hundred times more reliable."

      But it is a hundred times more satisfying to shove it off a building when it misbehaves. At least, that's how it works with copiers.

    4. Re:If it ain't broke... by hjf · · Score: 4, Informative

      So what's your point? Want reliability: don't use a PC. Got it.
      But that doesn't mean the PDP/11 is the only reliable system ever and "they don't build them like that anymore". You can get modern machines in MILSPEC if you want to pay for them . But you don't need to go that far. INDUSTRIAL-grade is good enough.
      And honestly, I trust a good PLC, say, Siemens (I have no experience with american brands), to be more reliable than a 40 year old PDP, no matter how well built it was. Siemens has been making automation controls for a LONG time and their products are really good, and I'll guess most of their bugs have been solved in all these years.

      As for PLC programming, remember they're not done in "code", but rather in "Ladder Diagram" so they can be well-understood, and have a graphical representation of the process, which is usually more easy to understand than thousands of lines of code.

  4. Assembly programmer. by morto · · Score: 4, Interesting

    Just a small correction. The language is Assembly. Assembler is the tool. Best regards.

    --
    "Think globally, act locally".
    1. Re:Assembly programmer. by dpbsmith · · Score: 4, Interesting

      If you want to get technical: the language was MACRO-11. Which is an example of an assembly language. I program in "C#", not in "compiler."

      In the Digital world, the name "MACRO" stuck because there were very early assemblers for the PDP-1 that did not have macro capability. So "MACRO" was the name for the assembler that did. In subsequent machine generations, "the" assembler was usually called MACRO even though as far as I know there weren't any assemblers without macro capabilities.

      And perhaps I should add: the reason that it's called assembly language is because of drum memory. The usage dates back AT LEAST to the IBM 650 and Symbolic Optimal Assembly Language (SOAP). "Assembly" was short for "optimal assembly." Each instruction contained within it the address of the next instruction--they weren't sequential--and "optimal assembly" was the process of calculating how long each instruction would take so that the next instruction could be placed at the right location on the drum that it would be almost under the head when the last instruction had completed. "Optimal assembly" was the memory placement aspect of it.

      The symbolic optimal assembly program added to that the advanced capability of allowing programmers to refer to instruction codes by convenient, easy-to-remember mnemonics like UFA and STA, as well as the capability of giving your very own names to instruction locations.

      For some reason, the category name got abbreviated to "assembler" rather than "symbol-" um... symbolizer? Symbolic? OK, maybe THAT reason... and it stuck, even after advanced computers like the IBM 704 started to have random-access memory.

  5. You go old timer! by NormAtHome · · Score: 4, Interesting

    My high school got a DEC PDP-11 in my junior year (like 31 years ago) with dual 8inch floppy's which replaced the PDP-8 with dual DEC tapes.

    Glad to see that they're still going but after all these years where do they get parts for them? Didn't Compaq buy DEC and then Compaq merged with HP, does HP still support hardware this old?

  6. Re:Well, if you're really that old... by mrr · · Score: 3, Funny

    Okay, noob.

  7. Can doesn't mean should by sjbe · · Score: 3, Informative

    These days you can probably replace them with Arduinos.

    Theoretically true but not necessarily a good idea. The equipment installed is already known to work and whatever issues it has are probably very well understood. Any installation of new hardware is going to bring new bugs and a nuke plant isn't exactly a place you want to beta test things if you don't have to. Plus there are a host of operational certification issues in play. I get why they haven't "upgraded" the hardware.

    On the other hand I'm a little bit surprised (only a little) that doing things this way is the most economical method available, even accounting for the risk involved with updating systems.

    1. Re:Can doesn't mean should by LWATCDR · · Score: 3, Interesting

      Really which micro? You have the advantage of 20/20 hindsight.
      Maybe go with an IBM PC based system? What RTOS would you use? What hardware interface would you use ISA? EISA? MicroChannel?
      Then you have the problem of revalidating the software when a new CPU comes out. Remember the Pentium Bug?
      Or you could have gone with VAX.... Dead.... Alpha? Dead, 68k? Still kicking around but mostly dead, 88000, PowerPC, MIPS, Spark?
      And yes you can get new PDP-11 hardware. http://www.logical-co.com/dec-replacement-systems/

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
  8. PDP-11 is the basis of modern non-x86 CISC by Trailer+Trash · · Score: 4, Interesting

    This CPU is an excellent 16-bit CISC CPU, and it's the forerunner to not only the VAX-11 architecture, but also the Motorola 68000 series and the TMS9900 series. My only gripe with the assembly language was that it required octal instead of hex. The CPU had a lot of addressing modes, 8 registers (6 GP) and even floating point capabilities.

    My first actual programming job was in 1988, making minimum wage, working for a physics professor - translating a PDP-11 assembly library that provided a programming interface to a Grinnell graphics processor into VAX-11 assembly. Part of that was turning the various IO calls on the PDP-11 into QIO calls on the VAX.

    The Grinnell was incredibly capable for the time. It produced a 512x512 display with the capability for either 8-bit monochrome or 24-bit color. It also had a monochrome camera attached to it. The display had 5 memory "planes", so you could configure red, green, and blue to whichever planes. Writing an image to a plane took a few seconds. Reading an image from a plane took around a minute. It also had hardware 2D graphics commands for lines and squares which were hella-fast for the time.

    The professor had just upgraded from a PDP-11 to a MicroVAX II (not sure it was an upgrade) and had 1800 fortran programs that used this library to do various graphics things. A lot of them were throw-aways written by students, but he had some cool stuff for the time to do histogram stretches, change contrast, etc. Yeah, stuff we do with a slider in photoshop now, but then we would run the program and wait for a couple of minutes.

  9. Re:Dave Cutler's work lives on by Anonymous Coward · · Score: 5, Informative

    Microsoft hired him to lead a team that designed Windows NT.

    Wow. Way to re-write history. No, I'm afraid that's not how it went down. Dave Cutler developed what ultimately is NT while working for Digital Equipment Corporation. DEC wasn't interested in Dave's creation. Dave unethically and possibly illegally shopped it around. Microsoft was interested. Dave and his entire engineering team left DEC, and went to work for Microsoft, and actually, literally stole DEC's intellectual property and eventually released it as Windows NT. Yes, I am saying that Windows NT is the intellectual property of Digital Equipment Corporation, and Microsoft never paid DEC a red nickel for it.

    On a personal note, I am divided about Mr. Cutler. Windows NT might have been the best Windows ever, and NT itself isn't a terrible platform. What Microsoft did to it is unfortunate for users and administrators everywhere, but it essence, NT wasn't terrible. Cutler is an impressive developer... quite amazing... yet it sickens me that what he and Microsoft did was insanely unethical, and no one noticed. Microsoft's main flagship product was STOLEN, and no one noticed, and this is hardly ever acknowledged.

  10. Nine track 1995 - how about now? by dbIII · · Score: 3, Interesting

    It's 2013 and my workplace has a small storage shed full of stuff on nine track. In theory it's also on other media and the problem of the clients that sent it years ago - in practice people throw stuff out without transcribing and our stuff ends up being the only copy. We didn't have to get anything read last year but a box full of tapes had to be transcribed in 2011. It's hard to know how much was readable because the file format used can handle missing a few bits anywhere outside the headers and seismic data is a bit noisy anyway - either way every file was read in without modification.
    So why is it still on nine track? It's not really our data and the cost of transcribing a few thousand reels of tape is insane, especially since we may need only one or a dozen of them in the future.

  11. Recruiting PDP-11 people should be easy... by swb · · Score: 3, Funny

    ..unless MBAs get involved.

    Find some CS grads, offer them PDP-11 training and assembler training and a job paying slightly-above-average wages & bennies and tell them the job is guaranteed for the next 30 years.

    Right now that sounds pretty good to me --- guaranteed employment on a well-understood platform for 30 more years (although I really only need about 20-25 more years..)

    Sure, some guys would rather slave away 80 hours a week to develop iPhone apps, Metro tiles or Web X.0 apps because that's what all the cool guys are doing and it's "the future" (until those jobs are shipped off to the next up-and-coming third world country).

    Of course, MBAs would manage to fuck this up by deciding that because it's an "obsolete" technology, you don't need to pay anything.