Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Digital Programming

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

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.
This discussion has been archived. No new comments can be posted.

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

Comments Filter:
  • by Bucc5062 ( 856482 ) <bucc5062 AT gmail DOT com> on Wednesday June 19, 2013 @09:01AM (#44048613)

    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.

  • Assembly programmer. (Score:4, Interesting)

    by morto ( 525092 ) on Wednesday June 19, 2013 @09:11AM (#44048721)
    Just a small correction. The language is Assembly. Assembler is the tool. Best regards.
  • You go old timer! (Score:5, Interesting)

    by NormAtHome ( 99305 ) on Wednesday June 19, 2013 @09:14AM (#44048751)

    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?

  • by Giant Electronic Bra ( 1229876 ) on Wednesday June 19, 2013 @09:23AM (#44048823)

    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?

  • by Trailer Trash ( 60756 ) on Wednesday June 19, 2013 @09:51AM (#44049093) Homepage

    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.

  • by Anonymous Coward on Wednesday June 19, 2013 @10:18AM (#44049371)

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

  • by dpbsmith ( 263124 ) on Wednesday June 19, 2013 @10:20AM (#44049391) Homepage

    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.

  • by dbIII ( 701233 ) on Wednesday June 19, 2013 @10:47AM (#44049717)
    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.
  • by Giant Electronic Bra ( 1229876 ) on Wednesday June 19, 2013 @10:48AM (#44049725)

    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.

  • by Anonymous Coward on Wednesday June 19, 2013 @11:38AM (#44050393)

    anything with a feature size at or under 0.25 um is more or less rad hard. that's what we use at the LHC. ESD is another story though.

  • by ackthpt ( 218170 ) on Wednesday June 19, 2013 @11:48AM (#44050543) Homepage Journal

    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)

  • by LWATCDR ( 28044 ) on Wednesday June 19, 2013 @11:56AM (#44050649) Homepage Journal

    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/ [logical-co.com]

  • by nerdbert ( 71656 ) on Wednesday June 19, 2013 @12:54PM (#44051391)

    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.

Those who can, do; those who can't, write. Those who can't write work for the Bell Labs Record.

Working...