The same technology that has revolutionised our lives has changed space science forever, building ever-cleverer robots exploring ever farther into space.
As the Voyager probes celebrate their 35th birthday and prepare to leave the Solar System, and as the Curiosity rover starts on the most exciting Mars mission ever, we look back at the IT under the hood that has made science fiction into everyday fact.
Launched in 1972, Pioneer 10 (above) was the first imaging mission to fly past Jupiter, Although it is widely reported that it used an Intel 4004 processor for navigation, mission sequencing and communication, it in fact used a custom processor system built from a variety of standard logic chips, with individual commands handled by dedicated circuits.
Storage was 49,152 bits of magnetic core memory, which was too heavy to be expanded further. But alternatives were pricey — a proposed upgrade to 1 megabit (256kB) of chip memory for a later mission was priced at $630,000 in 1974.
Pioneer 10 and its sister probe Pioneer 11 were the first missions to have a recognisably modern computer system capable of multiple commands and a measure of independent operation, due in part to the availability of high-density logic chips and the need to manage short, high-intensity science-gathering flypasts at a distance from Earth that precluded direct commands in real time.
However, they were still recognisably derived from earlier probe thinking, where pre-programmed sequences unaffected by local information drove manoeuvres.
An in-depth NASA design document discussing the Pioneer architecture and future developments into what would become the Voyager probes can be found here (PDF).
The Viking project to land robot laboratories on Mars saw many developments that influenced spacecraft design throughout the '70s and '80s.
The landers pioneered full redundancy and local processing, and were capable of autonomously guiding themselves to the surface. The processors themselves were dual Honeywell HDC 402 processors, 24-bit discrete logic designs running at around 300KHz and each with 18 Kwords of plated-wire memory.
The system software was developed by aerospace contractor Martin Marietta and included virtualisation and multitasking features.
The original plan was to use a more capable computer that could have its instructions changed remotely, but weight problems caused by other aspects of the spacecraft design forced the selection of the lighter — but only third-choice — Honeywell systems.
However, Martin Marietta had adopted a software-first design policy, in contrast to previous projects where the hardware came first, imposing strict limits to changes. With software-first, the developers ran their software in an emulator — indeed, the final hardware was only delivered a couple of months before launch — and were thus able to adapt more quickly to specification changes and discoveries.
More details on the Viking and related projects can be found here.
The two Voyager probes launched in 1977 to study Jupiter, Saturn, Uranus and Pluto, and remain in contact with Earth as they move into interstellar space.
The probes have identical designs, with six computers apiece in three roles. Each has a duplicate Computer Command System (CCS) — 18-bit word, interrupt-type processors with 4,096 words each of plated wire, non-volatile memory; a duplicate Flight Data System (FDS) — a 16-bit word machine with modular memories and 8,198 words each; and a duplicate Attitude and Articulation Control System (AACS) — 18-bit word machines with 4,096 words each. That's a total of around 88 Kbytes of memory.
Each computer is a custom design by the Jet Propulsion Laboratory (JPL), which runs the project, and is built by General Electric. The CCS runs the spacecraft and reports problems back to base; the FDS manages the scientific instruments and prepares data for transmission back to Earth; while the AACS performs thruster and instrument platform manoeuvres.
Both Voyager probes have suffered a variety of hardware failures during their lives. Most of their experiments are now turned off, following the last planetary encounters, but with reprogramming and about eight years of life left in the nuclear generators, both have some distance left to run.
At seven metres high and four wide, with a launch weight of 5,600kg, the Cassini mission to Saturn is the largest planetary mission to date. Blasting off in 1997, it arrived at Saturn in 2004 and continues to observe the planet, its rings and moons, with mission-end planned for 2017.
Its 12 instrumentation packages contain many processors, but the core guidance and control is provided by dual Harris (now Intersil) RTX 2010RH processors running at six million instructions a second, 192kB of radiation-hardened static RAM (SRAM), 8 or 4kB of ROM, and 64kB radiation-hardened electrically erasable ROM (EEPROM, a precursor to flash). There's more memory on a support board — 832kB SRAM and 64kB EEPROM.
These systems are most notable for being hardware-implemented Forth systems — Forth being an obscure programming language initially designed to control radio telescopes with a small but fanatical following among technical programmers.
Uniquely among unmanned spacecraft, the iconic Hubble Space Telescope has had its hardware changed several times during its mission since its launch in 1990. While most of those upgrade missions concentrated on replacing instruments, two included processor upgrades.
The original controlling computer was the DF-224 built by Rockwell Autonetics, which has three 8-bit 1.25MHz custom CPUs and six 8K 24-bit plated-wire memory units. This was a general purpose, space-qualified unit.
By 1992, two of the six memory units on the DF-224 memory units had failed, and a minimum of three working units are needed for spacecraft operation. A co-processor was installed on the first servicing mission in 1993. It had two sets of 80386/80387 processor/numeric processor pairs, each with 1MB of RAM and 256kB EEPROM, plus 384kB of non-alterable permanent ROM.
The DF-224 was replaced altogether on the third servicing mission in 1999 by the Advanced Computer. This has three Intel 486 processors running at 25MHz, each with 2MB of SRAM and 1MB of EEPROM. This remains the main processor on the spacecraft, and with the retirement of the space shuttle, no further upgrades are possible.
The Hubble is expected to remain in use until at least 2014.
The most recent robotic space mission to start work is the Curiosity Mars Science Laboratory rover, which has just embarked on its workload following a month of post-landing checks.
Its main computers are a pair of identical Rover Compute Element boards, based on RAD750 processors running at 200MHz. This is a radiation-hardened version of the PowerPC 750 architecture, most notably used in Apple products, including the original iMacs. The Curiosity systems have 2GB of flash memory, 256MB of DRAM and 256kB of EEPROM.
The two systems are entirely interchangeable in use, with the main/backup designation being arbitrary.
The boards run the real-time VxWorks OS from Wind River Systems, which is now owned by Intel. VxWorks has been used or is planned for use on 11 spacecraft, including the two previous Mars Rovers, Opportunity and Spirit, as well as in BMW cars, Apache attack helicopters and Drobo network storage devices.