8
$\begingroup$

The first version of the Apollo guidance computer had a ROM of only 12 K words of 16 bit. Later it was doubled to 24 K and finaly tripled to 36 K words.

The first version of core rope read only memory used one core for 4 words of 16 bits, so one core for 64 bits alltogether. 3072 cores to store 12,288 words of 16 bits.

From this page by Brent Hilbert:

Some writings suggest this was accomplished by doubling and tripling the number of sense loops through the cores, so cores would be woven with 8, then 12 words each.

If this is true, the number of bits per core was increased to 128 and finaly to 192.

The first version had 20 inhibit lines, 2 set/reset lines and 4*16 sense lines, 2*10+2+4*16=86 wires alltogether through a single core. The maximum number of wires per core was increased later from 86 to 150 to 214. Still 3072 cores for 36.864 words.

Up to 214 wires woven through a single small core, is it really true?

enter image description here

Photograph © Raytheon, from the files of Jack Poundstone. From Visual Introduction to the Apollo Guidance Computer.

From this NASA page:

The memory in Block II consisted of a segment of erasable core and six modules of core rope fixed memory.

If there are six ROM modules, the total number of cores should be 6144 (1024 cores per module) and up to 118 wires per core. 96 bits per core for 36.864 words of 16 bits.

$\endgroup$
  • 1
    $\begingroup$ I think this would be better suited for our friends at Retrocomputing $\endgroup$ – asdfex Dec 29 '18 at 18:45
3
$\begingroup$

Background for people unfamiliar with core rope: The Apollo Guidance Computer used core ropes for high-density read-only memory (which they called fixed memory). Like regular erasable core memory, core rope used magnetic cores, small ferrite rings. But unlike erasable cores, it stored many bits per core. The trick was to put many wires through each core, hardwiring the data: a 1 was stored by threading a wire through a core, and a 0 was stored by not threading the wire through the core. Thus, after tediously wiring the core rope, data was permanently stored in the core rope. (The cores in the rope were considerably larger than the cores in erasable memory, in order to handle the numerous wires.)

Each core had up to 192 sense wires through it, storing 192 bits. By flipping one core in the module, a current would be induced in the sense wires through that core, providing the desired 1 bits for the selected words. (I'm simplifying here.)

Core rope in the block II Apollo Guidance Computer was configured as follows: The computer held 6 core rope modules. Each module had 512 cores: 4 planes of 128 cores. Each core had sense lines for 12 words of 16 bits (15 bits + parity). A group of 16 sense lines was called a strand, and there were 12 strands per module.

Thus, there were up to 192 sense lines through each core, depending on the data stored. (I've heard but can't confirm that only about 128 sense lines would fit, so you needed to have enough 0 bits in each core.)

Doing the math: 6 modules × 512 cores/module × 192 bits per core / 16 bits per word = 36864 words as advertised.

The cores also had a "set" line to flip them to the set state. Each core had 8 inhibit lines (7 address + 1 parity) to block all but the desired core from flipping. A reset line flipped the cores back. (7 address bits selected 1 of 128 cores in a plane. The set and reset lines were used to select one of the 4 planes in a module, but I won't get into the details here.)

Thus, to answer your question, each core had potentially 192 sense wires as well as 10 additional wires: 1 set, 1 reset, and 8 inhibit.

For more information, see Project Apollo Primary Guidance, Navigation and Control System Manual volume II.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.