Ignoring The LSBs: Late Select On Carry
The formulation above checks the entire result of an add. However, in a CPU cache decoder, the entire result of the add is a byte address, and the cache is usually indexed with a larger address, in our example, that of an 8-byte block. It is preferable to ignore a few of the LSBs of the address. However, the LSBs of the two addends can't be ignored because they may produce a carry-out which would change the doubleword addressed.
If R and O are added to get some index I, then the actual address Addr is equal to either I, or I + 1, depending on whether R+O generates a carry-out. Both I and I+1 can be fetched if there are two banks of SRAM, one with even addresses and one with odd. The even bank holds addresses 000xxx, 010xxx, 100xxx, 110xxx, etc., and the odd bank holds addresses 001xxx, 011xxx, 101xxx, 111xxx, etc. The carry-out from R+O can then be used to select the even or odd doubleword fetched later.
Note that fetching from two half-size banks of SRAM will dissipate more power than fetching from one full-size bank, since we are switching more sense amps and data steering logic.
Read more about this topic: Sum Addressed Decoder
Famous quotes containing the words ignoring the, ignoring, late, select and/or carry:
“I read here and there in books, enjoying the examples and ignoring the argument.”
—Mason Cooley (b. 1927)
“I read here and there in books, enjoying the examples and ignoring the argument.”
—Mason Cooley (b. 1927)
“Progress would not have been the rarity it is if the early food had not been the late poison.”
—Walter Bagehot (18261877)
“We hear the haunting presentiment of a dutiful middle age in the current reluctance of young people to select any option except the one they feel will impinge upon them the least.”
—Gail Sheehy (b. 1937)
“Each one of us must carry within the proof of immortality, it cannot be given from outside of us. To be sure, everything in nature is change but behind the change there is something eternal.”
—Johann Wolfgang Von Goethe (17491832)