The Least Substantial Lasts Longest

A few days ago a friend noted that this was the 40th anniversary of the VAX computer line, one of the most successful and most criticized machines ever.   Its first model was the VAX 11/780, which was announced on Oct 25th, 1977.  Even though the last VAX was built in 2000, its software and its operating system, VMS, are still in regular use.   Somehow it still persists when the tens of thousands of tons of its hardware have been junked.   The completely insubstantial bits of its binaries have outlasted the silicon, fiberglass, and steel that used to run it.

My ISCA 2013 - 40th International Symposium on Computer Architecture

Its code name was STAR. Click for link to good history of VAXen.

A VAX was my very first project out of school.  I worked on the fourth model, the 8200/8300, from 1981 to ’84.   I had done some chip design for my master’s, so somehow I got assigned to the first microprocessor version of the line.    There were 10 of us on the main chip, the V-11 IE chip, and most were greenhorns like me.   No one else in the company knew much about this MOS stuff.   The previous versions had all been built with small digital chips and so were the size of refrigerators.   Really expensive refrigerators – the 11/780 started at $120,000 (about $500,000 today) and went to the moon from there.  Our job was to boil all that down to a single 8″ x 8″ card.

We designed each gate by hand.   That is, we drew schematics for all the logic and specified the size of each transistor manually.   Repeated logic  only had to be drawn once, fortunately.  This may sound mind-numbing, but was actually pretty fun, since it was a game to see how small and simple each function could be made.  A different group wrote programs to turn our drawings into lists of transistors and into models that could be simulated for debugging.  This was the result:

V-11 IE chip photograph. 3 um NMOS, 5 MHz, 9×9 mm, 60K transistors, 5W. I did the stuff in the upper right corner. Click for description.

The simulations took forever to run even on these small blocks.  I was into juggling at the time, and so killed time by practicing and teaching others how to do it.  You could look out over the sea of cubicles and see the balls going up and down.  The actual schematics were drawn on a VT100 terminal with a special graphics card.  They overheated all the time, and so we would also regularly see wisps of smoke rise above the cubicle walls.

The V-11 turned out to be a minor part of the VAX line, but it did get used as the basis for the MicroVAX II, the first single-chip VAX microprocessor.  That brought the line down to desktop size, and under $20,000, and the company sold billions of dollars of them.  In a better world it would have been the basis for the PC, as it was far more reliable and capable than Intel’s chips and Microsoft’s OSes.   It did spawn four other VAX micro designs – CVAX, Rigel, Mariah, and NVAX.  The last was scaled up to 133 MHz in 0.5 um CMOS by 1994, but it was the end of the line.

My own contribution to the VAX was to kill off PDP-11 compatibility mode.  When the first VAX came out, it could still execute programs from the previous major line, the PDP-11 series.  The VAX instruction set was so complex that it needed microcode to interpret it anyway, so supporting the old opcodes wasn’t much work.  By the time I was working on the instruction decode, almost everyone had switched to using native VAX instructions.  I looked at the PDP-11 codes and told my manager “We can do it, but it’s kind of annoying.” He reported to his manager “Compatibility mode is delaying the schedule!”  He told his “Compatibility mode is threatening the project!”  Then he told his “Supporting this mode is damaging the VAX line!”  and so the gods decreed that it wasn’t necessary.

Yet the VAX instruction set itself was never meant to be executed directly.  It was designed to be a simple, complete interface between the compiler and OS and any form of hardware.  That made it slow to actually execute, and it became a target and butt of ridicule for every up and coming computer architect.   Yet that’s how it now exists – as emulations on top of x86 or ARM processors.  The architect of the MicroVAX II, Bob Supnik, wrote a thorough, fast program that interprets the VAX’s instruction bytes, and offers it at  One guy used that to implement a full VAX on a Raspberry Pi hobbyist board – one small enough to fit inside a model of the 11/780:

A working VAX 11 780 – revisited – blog@4x

Click for link

It’s 150,000 times smaller, and probably the same speed.  There’s also a commercial builder, The Logical Company, that makes complete systems:

Click for link

These run their own emulator on top of an x86 processor, along with a real-time operating system that can handle all the timing for Qbus peripherals. If you’re a military or industrial customer who still needs to interface to old machinery and run binaries, just drop one of these in.

There’s even a company that supports OpenVMS, the VAX’s bulletproof, perfectly multi-processor operating system, VMS Software Inc.  They have the source, and have ported it to all sorts of other platforms.   They recently held a boot camp to introduce new programmers to the pleasures of a well-built OS.

It all reminds me of a talk that I heard at DEC from Charles Bigelow, the font designer.  He devised Lucida, WingDings, and a lot of the Apple TrueType fonts.  Having chip designers learn about fonts might seem irrelevant to the company’s business, but that’s the sort of thing DEC did.   Bigelow noted that modern people have almost nothing in common with the Romans.   We don’t dress as they did, or build our houses the same way, or eat the same things or even use the same tableware.  But we do use their letter forms.  We can still read their inscriptions 2300 years later.  The same goes for Hebrew and Chinese. This most evanescent thing, the shape of a letter, has outlasted practically everything else about the Romans.  The even more evanescent VAX instruction set has outlasted all of its hardware and DEC itself.  Useful abstractions like letterforms and opcodes can live forever.

This entry was posted in Uncategorized and tagged , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s