Claims Analysis
Total Claims: 6
Claim 1
Independent Claim
288 words
A shared interleaved memory comprising: a) a plurality of memory banks each having an address input and at least one set of data outputs; b) a first plurality of multiplexers each having at least two address inputs and an address output respectively coupled to the plurality of memory banks; c) a second plurality of multiplexers each having an output and at least one set of data inputs coupled to the at least one set of data outputs on the plurality of memory banks; d) a plurality of concentrators each having an output and at least one set of data inputs coupled to the outputs of the plurality of the second multiplexers; and; e) bank selection circuitry, coupled to the first and second plurality of multiplexers, to resolve bank conflicts between the at least two address inputs and to signal a losing bank request if either of the at least two address inputs did not receive all requested banks, the bank selection circuitry including, (i) a mask generator having; a premask circuit having an input for receiving an operand size code and an output; a shifter having a first input coupled to the output of the premask circuit, a second input coupled to a plurality of address bits, and an output representative of the first input shifted N places wherein N is defined by the plurality of address bits; and, bank width logic circuitry have an input coupled to the output of the shifter and an output for generating a bank request mask; (ii) selection circuitry having inputs coupled to the bank request mask and an output for selecting banks; and, (iii) received all banks indication circuitry having inputs coupled to the mask generator and to the selection circuitry.
Claim 2
Dependent Claim
288 words
A shared interleaved memory comprising: a) a plurality of memory banks each having an address input and at least one set of data outputs; b) a first plurality of multiplexers each having at least two address inputs and an address output respectively coupled to the plurality of memory banks; c) a second plurality of multiplexers each having an output and at least one set of data inputs coupled to the at least one set of data outputs on the plurality of memory banks; d) a plurality of concentrators each having an output and at least one set of data inputs coupled to the outputs of the plurality of the second multiplexers; and; e) bank selection circuitry, coupled to the first and second plurality of multiplexers, to resolve bank conflicts between the at least two address inputs and to signal a losing bank request if either of the at least two address inputs did not receive all requested banks, the bank selection circuitry including, (i) a mask generator having; a premask circuit having an input for receiving an operand size code and an output; a shifter having a first input coupled to the output of the premask circuit, a second input coupled to a plurality of address bits, and an output representative of the first input shifted N places wherein N is defined by the plurality of address bits; and, bank width logic circuitry have an input coupled to the output of the shifter and an output for generating a bank request mask; (ii) selection circuitry having inputs coupled to the bank request mask and an output for selecting banks; and, (iii) received all banks indication circuitry having inputs coupled to the mask generator and to the selection circuitry.
Claim 3
Dependent Claim
32 words
A shared interleaved memory as recited in claim 1 further comprising f) a plurality of aligners each having an output and an input coupled to respective outputs of the plurality of concentrators.
Claim 4
Dependent Claim
237 words
A shared interleaved memory comprising: a) memory bank means, having a plurality of N-way set associative banks, for storing data along predetermined address boundaries; b) first multiplexer means, having at least two address inputs, for addressing the memory bank means; c) second multiplexer means, coupled to the memory bank means, for selecting an output from each of the plurality of N-way set associative banks; d) concentrator means, coupled to the second multiplexer means, for concatenating data into wide chunks; and, e) bank selection means, coupled to the first and second multiplexer means, for resolving bank conflicts between the at least two address inputs and for signaling a losing bank request if either of the at least two address inputs did not receive all requested banks, the bank selection means including; (i) premask means for generating a premask in response to receiving an operand size code wherein the premask generating means further comprises: shifter means, coupled to the premask means and to a plurality of address bits, for generating an output representative of the premask shifted N places, wherein N is defined by the plurality of address bits; and, bank width logic means, coupled to the shifter means, for generating a bank request mask; (ii) selection means coupled to the premask generating means for selecting banks; and, (iii) indication means coupled to the premask generating means and the selection means, for indicating that all banks requested were received.
Claim 5
Dependent Claim
237 words
A shared interleaved memory comprising: a) memory bank means, having a plurality of N-way set associative banks, for storing data along predetermined address boundaries; b) first multiplexer means, having at least two address inputs, for addressing the memory bank means; c) second multiplexer means, coupled to the memory bank means, for selecting an output from each of the plurality of N-way set associative banks; d) concentrator means, coupled to the second multiplexer means, for concatenating data into wide chunks; and, e) bank selection means, coupled to the first and second multiplexer means, for resolving bank conflicts between the at least two address inputs and for signaling a losing bank request if either of the at least two address inputs did not receive all requested banks, the bank selection means including; (i) premask means for generating a premask in response to receiving an operand size code wherein the premask generating means further comprises: shifter means, coupled to the premask means and to a plurality of address bits, for generating an output representative of the premask shifted N places, wherein N is defined by the plurality of address bits; and, bank width logic means, coupled to the shifter means, for generating a bank request mask; (ii) selection means coupled to the premask generating means for selecting banks; and, (iii) indication means coupled to the premask generating means and the selection means, for indicating that all banks requested were received.
Claim 6
Dependent Claim
27 words
A shared interleaved memory as recited in claim 3 further comprising f) aligner means, coupled to the concentrator means, for aligning the wide chunks on selected boundaries.