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.

21 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 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.)

    5. 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.

    6. 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
    7. 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
    8. 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 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. 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.

  7. 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.