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.
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
It's kind of interesting to read these sorts of news articles. You would have thought they would have replaced these relics long ago. I wonder if the PDP-11's used Macro-11 like the VAX-11s. I remember learning to program on a VAX/11-750 in high school. My first real exposure to "real" computers. Up until then I only used TRS-80's. Thanks for the flashback and making me feel old!
... 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.
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!
Just a small correction. The language is Assembly. Assembler is the tool. Best regards.
"Think globally, act locally".
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?
If the system is running fine for decades, what is the chance that it would suddenly die for no reason next week? .NET, if they are working just fine?
It's a very good hardware platform, made to last for centuries. Is different from your brand new GPU card that will fail and die in 4 years. Mine have not failed yet, but will soon.
Almost all the banking business in the world runs on COBOL, compiled almost 40 years ago, and that keeps running and running. Why replace the core COBOL with Java or
Rest assured, the trusthy PDP-11 will keep the nuclear plant running safe, as it has been done in the past couple decades.
This doesn't surprise me. Back in the day, Huge Aircrash had a big investment in PDP-powered test bays, and didn't want to incur the risk/cost of replicating the functions of the assembler software libraries on a new platform/language. So, the PDPs slid out, and rack-mount PCs slid in, featuring a hardware emulator on a PCI card. Minor bonus: a bit more speed. Obviously, Huge wasn't the only customer. Google "PDP hardware emulator", and you'll find a number of vendors.
Luke, help me take this mask off
Horrible CompSci Movie scene
Evil Guy (EG) to young hacker (YG): Okay, here's the terminal. get to work
YG: What's a terminal, this thing got a usb port for my S6 to access?
EG: This thing is a PDP11. They didn't have USB ports when it was made. Can you get in?
YG: Get in? How the hell to I even log in? This thing was old before my father was born
EG: Get in or Die!
YG: Then it's been a good life for they had actual security on these old systems. Now if it was a PC we'd be done
No way can I hack into this system. Its just too damn old.
EG: , okay then we just blow it up.
Life is a great ride, the vehicle doesn't matter
the PDP-11 is awesome. i believe its instruction set was the inspiration for the 6800 (http://en.wikipedia.org/wiki/Motorola_6800#MC6800_microprocessor_design yes it was) which then resulted in the 68000 all the way up to the 68040, processors which both commodore and amiga used to great effect up until the early 90's. at imperial college we didn't write a compiler for 68000 or even x86, we wrote a compiler for the PDP-11 instruction set.
the other thing is: if they're still running PDP-11's in large geometries (.35 micron or even bigger) then chances are it'll be much more robust and less prone to random radiation hits/changes. the kind of thing you really really REALLY want to be still working and under computer control is the "emergency shutdown" procedures in the event of a radiation leak. the LAST thing you want is one of the bits changing a floodgate to "open" instead of "shut" due to a random gamma ray flipping a bit somewhere.
Okay, noob.
Indeed. There are several projects around to implement a full PDP-11 in single FPGA. For example:
http://opencores.org/project,w11
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.
The PDP-11 is a 16 bit computer...
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.
Do you have ESP?
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.
Ever tried running a web browser on a PDP-11?
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.
Like serial lines, 16KB memory banks, power supply or the CPU itself? ...
Do they have spare parts? Do they know those parts really work now and will work when needed?
I think the plastics around the chips will start degrading much earlier than 2050
I foresee another nuclear incident quite soon... this time triggered by laziness and stupidity.
Sent as ripples into the electromagnetic field. No single photon has been harmed in the process.
..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.
The predecessor goes back to the MIT machine in the 60's, the Link-8 which became the PDP-8. It had two DEC tapes, 4KB ram. We programmed it in LAP-4 and had to key in a bootstrap loader on the front panel to load in the OS. At the time we wrote a 64 point FFT and a routine to output the results to a Calcomp plotter. It took 5 minutes to run the FFT. Memory was divided into 2 2KB segments, one for data and one for program. We used one page (512KB) as an executive routine and the other 3 pages to program the FFT which kept the DEC tapes spinning as different segments of the program were shuttled in and out of those 3 pages.
"Gentlemen, you can't fight in here! This is the War Room!" -- Dr. Strangelove
JSR PC,@(SP)+
We always put a comment at the top of such code saying "only experienced programmers should attempt to modify coroutines". We meant it...
Before the PDP-11 (I used at least the 23, 34, 44, 70, and 73 series, later the Pro series), I used a couple of PDP-8 machines. Now booting those 12-bit wonders was a real lark, involving magic incantations, thumps, and a load of toggled-in instructions. Once you got it going, the paper tape reader worked like a charm (of the malevolent variety).
Almost forgot the IBM-360 and its card-punch and programs spanning several boxes of cards. BTW, although I chase kids off my lawn, I'm not actually retired yet.
Those who can make you believe absurdities can make you commit atrocities. - Voltaire
The design of the PDP-11 was quite elegant. It should be feasible to implement it in a single chip these days, including memory and I/O... :-)
It was indeed elegant, often in very clever ways. For instance, most OS installs came on tape. The boot loader for tape was supremely simple, and consisted essentially of "tell the tape controller to read one block", "jmp .". I forget if it was 2 or 3 instructions, but it took only a few seconds to enter them on the front panel switches. After a full reset the block would the first on the tape, DMA to location 0, caches disabled, I/D space unified, etc. This then caused 256 words (512 bytes) from the first block on the tape to overwrite the code entered, and in particular the "jmp .". And so the secondary boot loader from the tape would start at that location (4 or 6 or something like that).
I had a pdp-11/05, a nice little toy useful for training. It came with a microcode dump, and extender boards permitted single-stepping the microcode. It basically took the source addressing mode, shifted it, jumped to that location in the microcode and computed the source address. The exact same code was then used for the destination address. It would then proceed to the instruction implementation. I forget off hand but I think the entire instruction set fit in 256 words of microcode. It was supremely elegant, clever, neat, and to me as a young kid interesting in all things computer architecture, positively brilliant. Of course, microcode is inherently inefficient. But it was an amazingly elegant exercise in factoring.