
How powerful was the Apollo 11 computer? (2009) - nantes
http://downloadsquad.switched.com/2009/07/20/how-powerful-was-the-apollo-11-computer/
======
drivers99
Minor nit-pick: The PC came out in 1981 but the XT came out in 1983. But they
both have 8088 chips running at 4.77 MHz. The main difference was that you
could get it with a 10 MB hard drive, but my PC (not XT) had upgraded ROM BIOS
chips (you had to change the actual chips because they were not flashable)
from around 1984 and so it has a 20 MB Seagate hard drive. (Which still
works.) The XT also drops the cassette port.

I recently got ahold of my PC from storage again and when I opened it up I was
surprised that the floppy drive uses up one of the five 8-bit ISA slots, even
though it has very few simple chips. (The XT has 8 slots.)

(Pic of the floppy controller.
[http://upload.wikimedia.org/wikipedia/commons/a/a6/IBM_PC_Or...](http://upload.wikimedia.org/wikipedia/commons/a/a6/IBM_PC_Original_5.25_Diskette_Drive_Adapter.jpg)
)

------
mikestew
Though multitasking and VMs on the AGC were a feat, that's not what amazes me.
The IBM 360 demonstrated that both were possible at the time, and the AGC
impressively did it on less hardware. What does amaze me is how long it took
such things to come to the personal computer, and arguably how much DOS/early
Windows held things back. Unix, with its multitasking, ran on PCs and Macs in
the 80s, so we only waited 20 years after the 360 (and 15 after the AGC) for
multitasking. But usable VMs didn't come (or at least weren't commonplace)
until, what, mid-90s? 30 years after the 360, and 25 after the minimal AGC?
What the heck took so long?

~~~
zerohp
Few personal computers had protected memory until the late 1980s. Unix didn't
run on PC or Mac until protected memory hardware was available.

Emulation was always popular, and it is a type of virtualization. Few people
wanted to emulate the same platform they already had. Pure software emulators
were pretty slow in the 1980's, unless the target platform had the same cpu as
the host.

My family had an Amiga and we had both a bridge board and an A-Max. The bridge
board was a full PC on an expansion card, so its not really a VM. The A-Max
was more like a VM. Its hardware contained the Apple ROMs and a floppy disk
interface because the Amiga floppy drive could not read Mac disks. The
software used the ROMs and Apple floppy drive to emulate a Mac.

Now that I think about it, I think the real reason was ram and to a lesser
degree hard drive space. My first encounter with virtualization in Linux
happened when most people were running between 8 and 64mb of ram. 64mb of ram
was very expensive. That's a pretty big constraint.

------
filmgirlcw
I still love this story -- even four years later! (and not just because my
husband is the author!)

------
Florin_Andrei
Well, I started coding on an 8 bit machine, 3.5 ~~GHz~~ MHz, up to total 64 kB
of memory (static and dynamic together) - but keyword here is "up to",
initially it was less than that. I had all the "OS" pretty clearly mapped out
in my head, by address no less. My programs did contain sometimes jumps to
physical addresses.

So I think I've some idea how the AGC operated.

~~~
kalleboo
MHz I hope :)

~~~
Florin_Andrei
Darn. Yes, MHz. :) Thanks!

------
hvs
For those interested in this subject, I highly recommend "The Apollo Guidance
Computer: Architecture and Operation":

[http://www.amazon.com/The-Apollo-Guidance-Computer-
Architect...](http://www.amazon.com/The-Apollo-Guidance-Computer-
Architecture/dp/1441908765/)

John Pultorak built a Block I AGC (think "version 1") and provides all of his
work in the Public Domain here:

[http://klabs.org/history/build_agc/](http://klabs.org/history/build_agc/)

~~~
dbarlett
I haven't read that one, but enjoyed _Digital Apollo: Human and Machine in
Spaceflight_
[http://web.mit.edu/digitalapollo/](http://web.mit.edu/digitalapollo/)

------
microDude
I think looking back at computer clock rates and memory is a silly endeavor. I
remember a few months ago people commenting about "why we put a 2Mpx camera on
the Curiosity Rover". The simple fact is, mission critical hardware/software
is a different ball-game. You need reliability and fault tolerance.

If I was going to the moon today and had the choice of flight computers. Hands
down, I would choose the Apollo 11 AGC over an iPhone A6 processor based
system.

~~~
mikeash
Ironically, the Apollo 11 landing was nearly scrubbed because the computer got
overloaded with tasks and couldn't process everything in time, so that lack of
power really was a problem.

~~~
PavlovsCat
The computer got overloaded because of crew error.

~~~
mikeash
Procedural error, really. The crew followed their instructions, the
instructions were just wrong.

In any case, my point is that a somewhat more powerful computer would have
tolerated this problem while the real one did not.

~~~
PavlovsCat
I was going by the article, which called it a crew mistake, but either way,
the computer was powerful enough for the correct procedure.

To me, more powerful is likely to imply more complex, and that can also offer
more attack surface for bugs and mistakes, so to speak, and at the very least
requires more work to prove correct.. so to just make it more capable than you
actually need, just in case, may not always be the best choice?

------
ctdonath
tl;dr - The Apollo 11 computer ran at 0.001GHz with 0.000002GB memory and
0.000032GB of storage (read-only at that). The display amounted to a few dozen
1-bit pixels.

And it took them to the Moon.

~~~
sp332
Now we seem to be completely dependent on computers, but at the time, I'm sure
they didn't rely on them as much. The people pretty much navigated themselves
to the moon

~~~
R_Edward
Some time ago, I was trying to buy a few hundred dollars worth of furniture,
only to be informed that the cashier could not process my order because her
computer was down. Everything I was buying had a price tag and I was paying
cash, so I suggested that she find a pencil and some paper, and just write
everything down, so she could enter it when the computer came back online. The
concept apparently fried a circuit or two in her brain, because there was 6%
sales tax on everything, and how was she supposed to know how much that would
be? Plus, how was she supposed to know how much change to give me?

Nowadays, we don't have price tags on anything anymore. Prices are fetched
from a database using the UPC as a key, so if the computer's down, the buyer
is out of luck. At a previous employer, we sold specialty goods to
contractors, so we had strong relationships with our customers. I drafted a
plan to print up pads of paper sale forms that looked more or less like our
(80x24 greenscreen) order screens, so if we lost connection to the mainframe,
we could still move product from the warehouse to the customers; we'd just
give them the product and bill 'em later. It was a risky move, but not really
any riskier than sending our customers across the street to our competitors.
To my knowledge, they've never had to use the manual system, thankfully.

We may not be "completely dependent on computers" just yet, but we seem to be
getting there.

~~~
dugmartin
You don't have to wait for the register to go down to make a modern cashier
have a mental segfault - just give them extra cash so you get less bills back.

For example on a $6.95 order hand over $12 and watch first for the
bewilderment while keying in the amount and then the amazement when they give
back the non-dollar bill change.

~~~
finnh
"fewer" bills back, not "less".

pedantic? yes. but as a fellow member of the "give-em-too-much-to-get-fewer-
back" tribe, I feel that you might appreciate this particular bit of pedantry.

------
hcarvalhoalves
The AGC is quite a feat, but already from the digital age. I find the TDC's
used during the WWII more fascinating. I wonder how the space age would look
like with electromechanical computers :)

[http://en.wikipedia.org/wiki/Torpedo_Data_Computer](http://en.wikipedia.org/wiki/Torpedo_Data_Computer)

------
forgotAgain
How powerful was Shakespeare's word processor?

------
batbomb
Far Travelers is an awesome book about satellites that you can read for free.
Much more information than you'd care to know about, it's amazing.

"Another significant improvement included the addition of extra "brain power"
to allow the orbiters to perform more complex functions. Viking orbiters
possessed two 4096-word, general-purpose computers that could operate in
parallel or tandem modes. These replaced the small special purpose computers
contained in Mariners 8 and 9. The capability for more rapid picture taking
allowed for better site surveys and special regional studies. This capability
was augmented by tape recorder systems that could store 2.112 megabits per
second, with a capacity of 55 TV pictures-over half a billion bits of
information."

[http://history.nasa.gov/SP-480/ch12.htm](http://history.nasa.gov/SP-480/ch12.htm)

[http://history.nasa.gov/SP-480/contents.htm](http://history.nasa.gov/SP-480/contents.htm)

------
noir_lord
As someone who spends his time writing in High Level languages (though I have
done lower level stuff in the distant past) these kinds of embedded computers
hold a real fascination for me.

On my long term list of things to-do is get back into electronics and learn
Ada (mostly because it's a million miles away from PHP).

~~~
bitwize
Learning Ada is worth your while, embedded or no. Hint: If you have a problem
and you find yourself reaching for C++, consider Ada instead. It's probably
powerful enough for the task, safer, and more readable (therefore
maintainable).

Try implementing Unix utilities (cat, ls, echo) in it for a weekend of fun. :)

~~~
noir_lord
My one true love programming language is Pascal (mainly because when I was
exposed to it I'd only every used BASIC) and later Object Pascal.

Looking at Ada I see a lot of similarities, it looks like "home" to me.

------
Kaibeezy
followed the links to the guy who built an AGC from scratch -
[http://klabs.org/history/build_agc/](http://klabs.org/history/build_agc/) \-
detailed technical info plus photos - amazing!

------
Theodores
The comparison with an early PC is not imaginative.

Think of the original Sinclair ZX81 with 1K of RAM and 8K ROM. Swap out the
Z80 for a 6502 to get approximately the same register count. Without a screen
to worry about (it took up too much RAM + CPU time) and you could do a lot,
e.g. 1K chess or, as the adverts said, run a nucular power station with it.
You could also service I/O with hardware interrupts.

------
gpsarakis
The details on the software and the in-flight patching in the Apollo 14
mission are quite amazing. Another point to make is that nowadays we have
tremendous amount of computing power combined with comprehensive numerical
analysis tools _on the planet_ which allows engineers to perform thorough
simulations for the stages of space/air/sea travel and the behavior of
vehicles.

------
smoyer
"(1/1000th of 1 MHz, much as 1 MHz is 1/1000 of 1 GHz)"

Half of 1 MHz is 500 KHz not 500 Hz ... it may sound slow but the PIC uCs we
were using in the '90s were clocked at 20 MHz maximum and executed about 4
MIPS. For the 1960s, that computer really was rocket science!

------
joshlegs
isnt all the code open source now? seems i read that it was not long ago

