We’re bean counting on Friday. No shipping.
How many MIPS does it take to get to the moon? Let me tell you about the Apollo computer designated as ‘Mod 3C’:
by David Mindell. Recommended by Bill Premerlani of UAV
fame. If you have any interest in the crazy things that went on in the space capsule during the 1960s, this is a very good read. Here are some excerpts (used with permission!):
“Who among us would risk our lives on our desktop computers, with all their speed, accuracy, and memory, and rely on their working flawlessly for two straight weeks? The space shuttle flies with five redundant computers. Any fully digital airliner has a minimum of three. Apollo had only one. And it never failed in flight.”
Hmm. Ok. I’ll bet my life on a computer if it meant taking a ride to the moon. Oh wait - it’s 1961 and ICs are still considered to be unproven black-boxes. Hmm.
“In today’s terms it resembled a ‘microcontroller’, the microprocessor embedded in everything from cell phones to automobiles, more than it did a scientific computer. It occupied a cubic foot rather than a tiny chip, but it shared with microcontrollers a modest calculation capacity melded with numerous, sophisticated channels for quickly getting data into and out of the machine. Like a microcontroller, the Apollo computer included an interruptible processor so events could command the computer’s attention in real-time. It had a ‘night-watchman’ circuit to keep the computer from crashing and locking up (a feature still included in many embedded computers today as a ‘watchdog’). ”
Hah! It had a watchdog circuit! I had no idea that this idea came from so long ago.
‘Memory Stack Module’ - This doesn’t sound like the core-rope memory
they used at one point
“The original Apollo machine used 16-bit words for its data and instructions, adequate for the local control functions, but the navigation calculations required ‘double precision,’ more bits with more numerical precision, a feature implemented in software.”
“The computer had two types of memory, ‘erasable’ and ‘fixed’, what today are called RAM and ROM… The computer comprised 1,700 transistors, each in their own metal can, and nearly 20,000 metal and ferrite cores for memory… It had 12,288 words of permanent storage, 1,024 words of erasable memory, and a 16-bit architecture with 8 instructions. It included a variety of counters, pulse outputs, interrupts, and input-output registers for interfacing to the rest of the vehicle. ”
I’ve heard about the massive labor that went into weaving the ferrite core memory. But 16-bit architecture in 1962? Wow! Really pretty impressive. I’m still playing with 8-bit AVRs. 12k of program memory and 1k of RAM. Not too shabby. Not that I could program a re-entry procedure in 12k, but my autonomous rover
is currently using 5614 bytes.
The 'Mod 3C' was followed by the AGC (Apollo Guidance Computer) which was built out of this new thing called a MicroLogic device (1961):
"One type of circuit, a two-input NOR gate, would repeat through the entire computer, rather than thirty-four different modules, as would be the case with core-transistor logic."
I do enjoy a good Karnaugh Map
Document your code! Spell check wasn't invented yet.
By 1965, things were really screaming:
"By February 1965... the IL received a $15 million-dollar contract to build the Block II... The new computer would be sealed from moisture in the cabin, with no provision for repair. To accommodate the digital autopilot, the Block II computer's program memory was increased from 24k words to 36k and the erasable memory from 1k to 2k. Other aspects of the computations speeded up as well, with new machine instructions built into the architecture (where Block I had eleven instructions, Block II had thirty-four) which allowed for more efficient code, and the clock now ran at 1,024kHz... The number of logic gates went up. The flat packs contained two logic gates instead of one, doubling the packing density, which halved the circuits' size and brought the AGC's weight down from eighty-seven to seventy pounds, and reduced the power from eighty-five to fifty-five watts."
| Apollo Guidance Computer||ATmega168|
| $15M|| $2|
| 55W Power|| 0.055W Power|
| ~1 MIPS?||20 MIPS |
| 70 lbs.|| 0.0022 lbs.|
I know, comparisons have been done before (and will continue). It's apples to oranges. What really struck me was that in 1962, there was nothing called a CS degree
. You had perhaps 30 people in the world that could manage to program a series of NOR's in a logical way. And with 70lbs of them, they managed to point the boomstick
at the moon and get there. Simply amazing.