Claims Analysis
Total Claims: 23
Claim 1
Independent Claim
196 words
A method of dynamic address mapping for conflict-free vector access in a vector processing system having a processor accessing a main memory having a multiplicity of N memory modules in which sequential memory addresses are mapped to different ones of the memory modules, said processor including means for referencing successive addresses differing by a constant access stride, said method comprising the steps of: (a) determining a stride S greater than 1 for which a vector is to be accessed; (b) accessing said main memory to load data for said vector in said main memory using a storage scheme that is preselected for said vector and is a predetermined function of said stride S and permits conflict-free sequential access and conflict-free access with said stride S; (c) accessing said main memory to access data for said vector by using the storage scheme preselected for said vector; and (d) repeating steps (a), (b) and (c) for a multiplicity of different vectors, wherein different respective strides S are determined for the vectors, and said main memory is accessed using different respective storage schemes for said vectors, so that the storage scheme is selected dynamically for said multiplicity of vectors.
Claim 2
Independent Claim
196 words
A method of dynamic address mapping for conflict-free vector access in a vector processing system having a processor accessing a main memory having a multiplicity of N memory modules in which sequential memory addresses are mapped to different ones of the memory modules, said processor including means for referencing successive addresses differing by a constant access stride, said method comprising the steps of: (a) determining a stride S greater than 1 for which a vector is to be accessed; (b) accessing said main memory to load data for said vector in said main memory using a storage scheme that is preselected for said vector and is a predetermined function of said stride S and permits conflict-free sequential access and conflict-free access with said stride S; (c) accessing said main memory to access data for said vector by using the storage scheme preselected for said vector; and (d) repeating steps (a), (b) and (c) for a multiplicity of different vectors, wherein different respective strides S are determined for the vectors, and said main memory is accessed using different respective storage schemes for said vectors, so that the storage scheme is selected dynamically for said multiplicity of vectors.
Claim 3
Dependent Claim
45 words
The method as claimed in claim 1, wherein said storage scheme is preselected by factoring said stride S into an odd component and an even component that is a power of 2, and preselecting said storage scheme as a predetermined function of said even component.
Claim 4
Dependent Claim
80 words
The method as claimed in claim 2, wherein said memory addresses include a module address field and a row address field, said row address field specifying a respective storage location in each memory module, and said preselected storage scheme is preselected by selecting a portion of said row address field as a predetermined function of said even component, and determining a module address as a predetermined function of said module address field and the selected portion said row address field.
Claim 5
Dependent Claim
17 words
The method as claimed in claim 3, wherein said module address is determined as an exclusive-OR function.
Claim 6
Dependent Claim
17 words
The method as claimed in claim 3, wherein said module address is determined as a modulo-N addition.
Claim 7
Dependent Claim
47 words
The method as claimed in claim 3, wherein said selecting of said portion of said row address field is performed by selecting a predetermined number of address bits and masking said predetermined number of bits with a mask generated as a predetermined function of said even component.
Claim 8
Dependent Claim
62 words
The method as claimed in claim 6, wherein said number N of modules is a power of 2 such that n=log 2 N, said selecting of a predetermined number of bits is controlled by the maximum of n and log 2 of said even component, and said mask is generated from the minimum of n and log 2 of said even component.
Claim 9
Dependent Claim
46 words
The method as claimed in claim 2, wherein said stride S is factored by loading a binary shift register, shifting said shift register, and counting how many times said shift register is shifted until a serial output of said shift register assumes a predetermined logic state.
Claim 10
Dependent Claim
81 words
The method as claimed in claim 1, wherein said memory addresses include a module address field and a row address field, said row address field specifying a respective storage location in each memory module, and said preselected storage scheme is preselected by selecting a portion of said row address field as a predetermined function of said stride S, and determining a module address as a predetermined function of said module address field and said selected portion of said row address field.
Claim 11
Independent Claim
120 words
A method of mapping addresses in a vector processing system of the kind having a processor and a main memory including a plurality of N memory modules; said processor supplying an address having a module address field, and a row address field selecting a respective storage location in each of said memory modules; said processor also supplying a parameter for selecting storage schemes providing predetermined mappings of said address to said storage locations in said modules, said method comprising the steps of: (a) selecting a portion of said row address field in response to said parameter, and (b) determining a module address as a predetermined function of said module address field and the preselected portion of said row address field.
Claim 12
Independent Claim
120 words
A method of mapping addresses in a vector processing system of the kind having a processor and a main memory including a plurality of N memory modules; said processor supplying an address having a module address field, and a row address field selecting a respective storage location in each of said memory modules; said processor also supplying a parameter for selecting storage schemes providing predetermined mappings of said address to said storage locations in said modules, said method comprising the steps of: (a) selecting a portion of said row address field in response to said parameter, and (b) determining a module address as a predetermined function of said module address field and the preselected portion of said row address field.
Claim 13
Dependent Claim
30 words
The method as claimed in claim 10, wherein said module address is determined by modulo-N addition of said module address field and the preselected portion of said row address field.
Claim 14
Dependent Claim
30 words
The method as claimed in claim 10, wherein said module address is determined by the exclusive-OR of said module address field and the preselected portion of said row address field.
Claim 15
Dependent Claim
56 words
The method as claimed in claim 10, wherein said step of selecting said portion of said row address field is performed by selecting a predetermined number of bits of said row address field in response to said parameter, and masking said predetermined number of bits by a mask generated as a predetermined function of said parameter.
Claim 16
Dependent Claim
56 words
The method as claimed in claim 13, wherein said predetermined number of bits of said row address field are selected in response to a maximum one of said parameter and a constant related to said number N of modules, and said mask is generated in response to a minimum one of said parameter and said constant.
Claim 17
Dependent Claim
119 words
An address mapping circuit for mapping an address from an address bus to physical storage locations in a plurality of N memory modules connected to said address mapping circuit, said address including a row address field specifying a respective address in each of said modules, and a module address field, said address mapping circuit including (a) selecting means, connected to said address bus, for selecting a portion of said row address field in response to a predetermined parameter, and (b) determining means, connected to said address bus, said selecting means and said plurality of N memory modules, for determining a module address as a predetermined function of said module address field and said portion of said row address field.
Claim 18
Dependent Claim
119 words
An address mapping circuit for mapping an address from an address bus to physical storage locations in a plurality of N memory modules connected to said address mapping circuit, said address including a row address field specifying a respective address in each of said modules, and a module address field, said address mapping circuit including (a) selecting means, connected to said address bus, for selecting a portion of said row address field in response to a predetermined parameter, and (b) determining means, connected to said address bus, said selecting means and said plurality of N memory modules, for determining a module address as a predetermined function of said module address field and said portion of said row address field.
Claim 19
Dependent Claim
54 words
The address mapping circuit as claimed in claim 15, wherein said determining means includes adding means, connected to said address bus, said selecting means and said plurality of N memory modules, for performing a modulo-N addition of said module address field and said portion of said row address field to determine said module address.
Claim 20
Dependent Claim
48 words
The address mapping circuit as claimed in claim 15, wherein said determining means includes exclusive-OR means, connected to said address bus, said selecting means and said plurality of N memory modules, for performing an exclusive-OR of said module address field and said portion of said row address field.
Claim 21
Dependent Claim
81 words
The address mapping circuit as claimed in claim 15, wherein said selecting means for selecting said portion of said row address field includes mask generating means for generating a mask in response to said parameter, and means, connected to said mask generating means, said address bus and said determining means, for selecting and masking a predetermined number of bits of said row address field in response to said parameter and said mask to obtain said portion of said row address field.
Claim 22
Dependent Claim
98 words
The address mapping circuit as claimed in claim 18, wherein said means for selecting and masking said predetermined number of bits of said row address field includes bit selecting means, connected to said determining means, for selecting said bits in response to a maximum one of said parameter and a constant related to said number N of modules to obtain said portion of said row address field, and said means for generating said mask includes means, connected to said bit selecting means, for generating said mask in response to a minimum one of said parameter and said constant.
Claim 23
Dependent Claim
54 words
The address mapping circuit as claimed in claim 15, further comprising factoring means, connected to said selecting means, for generating said parameter by factoring a specified value into an odd component and a component that is a power of 2, and determining the log 2 of the component that is a power of 2.