I am currently studying "The Apollo Guidance Computer: Architecture and Operation" by Frank O'Brien, and I'm having some trouble with the section on memory addressing.
On page 61, under the heading "Fixed storage banking," it says the following:
"One value has already been mentioned: a binary 00 in bits 12 and 11 indicates that an erasable storage location is referenced. When the binary value 10 or 11 is in these two bits, the entire 12 bit address field is used to reference the "unswitched-fixed" storage, the region of fixed storage where the FBANK register is not used. Only when a binary 01 exists in bits 12 and 11 are the contents of the FBANK register appended to the lower ten bits of the address."
So in this section, it looks like:
00: Erasable storage
01: Switched-Fixed storage using FBANK
10: Unswitched-fixed storage
11: Unswitched-fixed storage
However, a couple of sentences later, it says:
"Where bits 12 and 11 are binary 10, indicating that the FBANK register is necessary, and the contents of FBANK are 00 or 01, the address overlaps with the unswitched-fixed storage area."
Here, it appears that:
00: Erasable storage (or perhaps unswitched-fixed?)
01: Unswitched-fixed storage
10: Switched-Fixed storage using FBANK
11: Not mentioned (presumably Unswitched-fixed)
Figure 18 has a different allocation to both of these, it says that:
00: Erasable storage
01: Unswitched-Fixed storage
10: Unswitched-Fixed storage
11: Switched-Fixed storage using FBANK
Then in Figure 19, bits 12 and 11 are 00, yet it's labelled as "Switched-Fixed Storage." Also in this figure, the 10th bit has changed from 0 to 1 when it was carried across to the Physical Address.
These various allocations seem inconsistent to me. Can someone help me understand which values of bits 11 and 12 will access which memory banks?
Many thanks,
Michael
On page 61, under the heading "Fixed storage banking," it says the following:
"One value has already been mentioned: a binary 00 in bits 12 and 11 indicates that an erasable storage location is referenced. When the binary value 10 or 11 is in these two bits, the entire 12 bit address field is used to reference the "unswitched-fixed" storage, the region of fixed storage where the FBANK register is not used. Only when a binary 01 exists in bits 12 and 11 are the contents of the FBANK register appended to the lower ten bits of the address."
So in this section, it looks like:
00: Erasable storage
01: Switched-Fixed storage using FBANK
10: Unswitched-fixed storage
11: Unswitched-fixed storage
However, a couple of sentences later, it says:
"Where bits 12 and 11 are binary 10, indicating that the FBANK register is necessary, and the contents of FBANK are 00 or 01, the address overlaps with the unswitched-fixed storage area."
Here, it appears that:
00: Erasable storage (or perhaps unswitched-fixed?)
01: Unswitched-fixed storage
10: Switched-Fixed storage using FBANK
11: Not mentioned (presumably Unswitched-fixed)
Figure 18 has a different allocation to both of these, it says that:
00: Erasable storage
01: Unswitched-Fixed storage
10: Unswitched-Fixed storage
11: Switched-Fixed storage using FBANK
Then in Figure 19, bits 12 and 11 are 00, yet it's labelled as "Switched-Fixed Storage." Also in this figure, the 10th bit has changed from 0 to 1 when it was carried across to the Physical Address.
These various allocations seem inconsistent to me. Can someone help me understand which values of bits 11 and 12 will access which memory banks?
Many thanks,
Michael