So, today, during my lunch break, I happened upon a story about the CPU used in the Phoenix lander. Well, naturally, one link led to another and found this site. While it only goes through 2004, it’s a fascinating list of spacecraft and the on-board computers. What’s astonishing is that these computers are far less powerful than the computer I am writing this post on. For example, the main microprocessors onboard the space station are the Intel 80386. Not just any 386, mind you, no, it’s a high powered 80386SX with the 387co-processor! To refresh your memory, the SX was akin to the Celeron. It used a 16bit data bus and was limited to a maximum of 16mb of memory. The ‘normal’ chip was renamed the DX and had a full 32 bit data bus. Now, think about that. The latest version of Windows that will run on such a machine would be Windows 3.11! Now, of course, these computers do not run Windows. They run highly efficient code and carry out functions such as water control, attitude control and other station functions. The computers that are used for science and other things are typically laptops and more modern pc’s running Linux and Windows (XP, as far as I know.) The space shuttle still utilizes it’s original computers but also some more modern 386 based computers. The shuttle originally used (and still does, in some cases) RCA 1802’s for display processors, several 6502 based computers(Editors Note: I have been unable to verify this and have been told it is not true.) and a mini. The use of the RCA 1802 is no fluke. The 1802 was a workhorse for NASA for many years. It is in a myriad of spacecraft including: the Viking Mars landers, both Voyager spacecraft and Galileo-a more recent probe. The 1802 was an interesting processor back in the MID-1970’s, when it was new. Problem was that it was nearly obsolete when it was new. The processor made it into two ‘mainstream’ consumer products: the RCA Cosmac computer and the RCA Cosmac video game. You’ve probably never heard of either. The game console sold at Radio Shack for a very brief time. It was also obsolete at a time just prior to the Atari VCS coming. In fact, the Fairchild Channel F console had just hit the market with COLOR graphics and programs-in-a-cartridge. It’s graphics were just marginally better than the RCA console. That console was pretty much it for RCA’s foray into home computing. The chip, though, was also MIL spec and was hardened for space use-which is why NASA used it so much.
The Hubble Space Telescope is an interesting machine. It originally used something called a DF-224, an 8 bit processor. The first Hubble repair mission added a 386 co-processor. It has now been upgraded to a 486(!) Mind you, this is a device that peers deep into the universe and gives a great deal of data in return. And it runs on a 486.
The Mars Sojourner has an 80C85, another 8-bit processor. Pioneer 10 and 11 used custom processors made of discreet TTL components. What does that mean? It means that instead of one, two or three chip processors (which was common in the early 1970’s) it’s brains were made up of TRANSISTORS, mostly. There may be some integrated circuits, but, on the whole, the cpu’s were BIG.
The truly amazing thing about all of this is that the code to run these machines is dynamic and tight. Dynamic in that it can be swapped out on the fly, so to speak. The flip side of this is that some of these processors are so old, that it is difficult to find programmers for them. While I’m sure NASA has the resources to find and retain programmers, it has to be a real chore for them to people willing to write code for some of the older chips, such as the 1802. Of course, the newer craft won’t be a problem since there are plenty of programmers who know x86 code,but I imagine finding someone to maintain 80C85 code is a bit harder.
I, personally, find the idea that the cpu in my Motorola Q smartphone has more power than most of the spacecraft launched since Apollo up to the Space Shuttle just incredible. The reality, though, is less so. The fact is that you don’t need a dual core processor and 4gb of ram to fly a probe to Mars. I read somewhere that the code to run the Voayger, everything the processors controlled, was something under 64k total-for all processors. 64k. There are three 1802 processors on each Voyager and the combined memory for all three is 64k. Web pages often take twice that. Two spacecraft are hurtling out of solar system, taking pictures and analyzing things they past run on software that fits in less space than this blog. Amazing, indeed.
PLEASE NOTE: I have been informed by someone who would know, that the 6502 was NEVER used on the Shuttle itself. GRiD Laptops were used in the 1990’s, but no portables or otherwise, containing 6502 microprocessors, were used. I apologize for the error.