My pals just exchanged a great email thread about the computing technology NASA used to put folks on the moon back in the 1960s.
It started with Richard King, crack EE and the Altium guru over at STEM, sending out this video with a note: “At last a documentary film on the Apollo guidance computer that’s more in-depth than the usual talking heads about how ground-breaking it was and the marriages that were sacrificed to make it.”
Audio guru Steve Williams was first to respond:
Hard to go back that far and remember what did and didn’t exist and was or was not used for any type of electronics construction, even though I was alive back then.
Let’s see, no LSI, not even sure if those cans were really multi-transistor gates or just 3 lead transistors. Spot welded, not soldered into headers in the particular configuration to make a potted logic module. Same with the hand assembled core memory modules. All plugged into a machine assisted assembled, wire wrapped “mother board” / back plane / card cage sort of housing. No pc boards in sight. Don’t know if the displays were very very early LED, (black and white film) but I think it pre-dates them as well. Punch cards and paper tape to help the assemblers control the assembly processes.
Wow, seems so “stone knives and bear claws”. Some of it must have been chosen for the beyond normal mil spec construction needed for space flight. Analog consumer electronics in the same era was using cheap phenolic pc boards with all soldered connections to it’s components, and had been for 10 years, even back to the tube era.
Google hotshot Eric Schlaepfer replied:
They used Fairchild Micrologic. Basically RTL gates in a TO-99 metal can. The functionality was comparable to the more familiar 74 series. I think they avoided using PC boards due to reliability issues (especially with the cheap phenolic types), which is also why they went with welded connections instead of soldered ones. The displays were electroluminescent. Each segment had its own individual latching relay, and the DSKY had a multiplexed I/O arrangement to select and change any relay. The multiplexing was very slow, so in the video you can see the updates propagate through all the segments.
The machine itself has very interesting software. It runs a primitive multitasking OS with multiple programs running (tasks). Some tasks ran as native machine code on the machine but others used an interpreter/virtual machine. Someone’s built a replica in his basement. Someone else wrote a simulator.
That got Richard King, the originator of the thread, to comment:
I was particularly amazed by the “Rope memory” system. Whereas traditional R/W [read-write] core memory uses only 3 wires per core (X-address, Y-Address, R/W), rope memory adds an additional wire for each word I presume. Thus for a 128 word memory you’d thread 130 wires through the cores (adding 2 lines for addressing). To read a particular word you’d set the address to access one of its bits and then read its wire. 0’s and 1’s of any given bit were apparently encoded by either passing the wire through the core for the bit or not. You’d build the word by reading it a bit at a time. To keep the number of wires down you could string words together, making long words. The film said that the capacity of the memory block was 8K (65,536 bits) and packing 8000 wires through even one core stretches credulity.
“Stone knives and bear skins” it might have been but it was very, very clever and apparently “stone axe” reliable, a critical requirement. As for the logic, my understanding (from exactly where I can’t recall) is that all the logic gates were the same type, NOR gates. They could build any logic function including flip-flops (storage) from that.
I’m also mildly surprised that they used wire-wrap for the module interconnect in the rack. Working at Link Flight where we did 40MHz pipeline logic boards with 100’s of ICs all connected very reliably with wirewrap it wasn’t a total shock though. It was also interesting to see how much automation was put into the Apollo computer’s manufacturing, since I doubt they made more than a 100 or so computers for the entire program.
Industrial designer and ME Dave Ruigh found a one-hour CAD simulation of Apollo 13 mashed up with the real CAPCOM communications right when the O2 tank blew up. It shows a simulated control panel and a CAD rendering of the spacecraft.
That little computer sure got a workout this day (text transcript here). Amazing, 3 guys in a spacecraft 180,000 miles from earth, going through checklists and talking to Houston. No raised voices, no confusion, no panic. As calm as Southwest 2795 talking to ATC [air traffic control] on long final to SJC San Jose airport]. Nothing like the movie, as great as it was.
I remember seeing the Apollo 13 movie when it came out. When we came out of the theater, my girlfriend told me “You started breathing hard towards the end”. What a testament to Tom Hanks and Ron Howard, that they got me so emotionally involved when I already knew there would be a happy ending. And I do agree with Mission Control, this was their finest hour.
Back to the computers that made all this happen—Eric Schlaepfer finished the thread with another cool video. He reported: “There’s a really good video series on the Apollo program on Youtube. Here’s the one on the computer:”
Eric goes on to comment, “Apparently at one time the guidance computer program was consuming 60% of US integrated circuit production!”
All this space talk fits right into what I have been working here at Atmel. We have one program with a startup aptly names Made In Space. They are launching an Atmel-powered 3D printer into orbit. There are a lot off cool things that happen when you have a zero-gravity environment to make parts.
Atmel is also involved with Infinity Aerospace and the Ardulab. The Ardulab is an Arduino-powered laboratory module meant to be launched into space. The XMEGA chip in the Arduino will automate a lot of the data collection and lab control tedium, sparing the astronauts for more useful work. Stay tuned, in a week or two I can tell you about the 9/15 launch of the Cygnus rocket to the ISS (International Space Station). There will some cool Atmel hardware on board, besides the Arduino.