Patent US3624616A successfully refreshed from Google Patents.
← Back to Patent Explorer
US3624616A Expired / Lapsed US ⏱️ 0.0 years remaining

Dynamic allocation of multidimensional array memory space

Assignee: Unisys Corp
•
Filing: 1969-12-04
•
Granted: 1971-11-30
•
Expires: 1989-12-04
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus by which all the dope vectors and data of a multidimensional array can be allocated space in memory when needed during execution of a computer program. Only a single descriptor including the size of the first dimension of the array and a table of sizes of higher dimensions of a data array are made available in memory at the start of the program. When the program calls for a particular data location in the array, only the necessary dope vectors for each dimension of the array are generated and stored in memory to make the particular data location present in memory.

Inventors

  • 👤 Rajani Manibhal Patel

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-23 23:44
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/0207

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 155 words
In a computer system having a digital processor and an addressable memory storing at least one first descriptor word having an address field pointing to an address location in the memory, a length field and a control field, apparatus comprising means responsive to a first condition of the control field of the first descriptor word for generating a second descriptor word having an address field, a length field and a control field, said descriptor generating means including means for modifying the contents of the address field of the said first descriptor word by a predetermined amount and loading the result in the address field of the second descriptor word, said descriptor generating means further including means for loading the contents of the location in memory addressed by the address field of the first descriptor word in the length field of the second descriptor word, and means for storing the generated second descriptor word in memory.
Claim 2
Dependent Claim 155 words
In a computer system having a digital processor and an addressable memory storing at least one first descriptor word having an address field pointing to an address location in the memory, a length field and a control field, apparatus comprising means responsive to a first condition of the control field of the first descriptor word for generating a second descriptor word having an address field, a length field and a control field, said descriptor generating means including means for modifying the contents of the address field of the said first descriptor word by a predetermined amount and loading the result in the address field of the second descriptor word, said descriptor generating means further including means for loading the contents of the location in memory addressed by the address field of the first descriptor word in the length field of the second descriptor word, and means for storing the generated second descriptor word in memory.
Claim 3
Dependent Claim 33 words
Apparatus as defined in claim 1 wherein said means for the generated second descriptor word further includes means for storing the generated second descriptor word in a number of additional locations in memory.
Claim 4
Dependent Claim 33 words
Apparatus as defined in claim 2 wherein the storing means stores the second descriptor word in a total number of locations in memory corresponding to the length field of the first descriptor word.
Claim 5
Dependent Claim 24 words
Apparatus as defined in claim 3 wherein the means for the generated second descriptor word stores the second descriptor word in sequential address locations.
Claim 6
Dependent Claim 37 words
Apparatus as defined in claim 1 wherein the descriptor generating means further includes means for setting the control field of the second descriptor word to said first condition of the control field in the first descriptor word.
Claim 7
Dependent Claim 48 words
Apparatus as defined in claim 1 further including means responsive to said first condition of the control field of the first descriptor word for setting the address field of the first descriptor word to the address of said predetermined address location where the second descriptor word is stored.
Claim 8
Dependent Claim 38 words
Apparatus as defined in claim 6 further including means responsive to said first condition of the control field of the first descriptor word for setting the control field of the first descriptor word to a second control condition.
Claim 9
Dependent Claim 240 words
A digital processor comprising an addressable memory, first register means for storing a descriptor word having an address field, a length field specifying the size of one dimension of a multidimensional array, and a control field, the addressable memory storing a group of array information words at sequential address locations, each array information word having a size field, means for storing the base address of a space in the memory, second register means for storing a descriptor word and having a length field, an address field, and a control field, first control means responsive to a first condition of said control field of the descriptor word in the first register means for transferring the size field of an array information word from a location in memory identified by the address field of the descriptor word in said first register means to the length field of the second register means, second control means responsive to said first condition of said control field in the first register means for setting the address field of the second register means to the address of the next location in said sequential address locations, and third control means responsive to the base address storing means and the length field in the first register means for storing the descriptor word in the second register means in a number of sequential address locations corresponding to the size specified by the length field and staring at said base address.
Claim 10
Dependent Claim 240 words
A digital processor comprising an addressable memory, first register means for storing a descriptor word having an address field, a length field specifying the size of one dimension of a multidimensional array, and a control field, the addressable memory storing a group of array information words at sequential address locations, each array information word having a size field, means for storing the base address of a space in the memory, second register means for storing a descriptor word and having a length field, an address field, and a control field, first control means responsive to a first condition of said control field of the descriptor word in the first register means for transferring the size field of an array information word from a location in memory identified by the address field of the descriptor word in said first register means to the length field of the second register means, second control means responsive to said first condition of said control field in the first register means for setting the address field of the second register means to the address of the next location in said sequential address locations, and third control means responsive to the base address storing means and the length field in the first register means for storing the descriptor word in the second register means in a number of sequential address locations corresponding to the size specified by the length field and staring at said base address.
Claim 11
Dependent Claim 52 words
Apparatus as defined in claim 8 further including fourth control means responsive to said first condition of the control field of the descriptor word in the first register means for transferring the address in the base addRess storing means to the address field of the descriptor word in the first register means.
Claim 12
Dependent Claim 30 words
Apparatus as defined in claim 9 wherein the fourth control means includes means setting the control field of the descriptor word in the first register to a second control condition.
Claim 13
Dependent Claim 92 words
Apparatus as defined in claim 10 further including means indicating the last of said sequential locations of the array information words, the first control means including means responsive to said indicating means when transferring the size field from other than the last of said sequential locations for setting the control field of the second register means to said first control condition and means responsive to said indicating means when transferring the size field from the last location for setting the control field of the second register means to a third control condition.
Claim 14
Independent Claim 302 words
The method of allocating memory space in an addressable memory to a multidimensional array in a digital computer system during execution of an object program, comprising the steps of: initially storing as part of the program in memory a first descriptor word for the first dimension of the array and a table of words containing a word for each of the higher order dimensions of the array, the first descriptor word having an address field pointing to the first word in the table, a length field defining the size of the first dimension of the array, and a control field identifying various operational conditions, the words in the table each having a length field defining the size of a corresponding one of the higher order dimensions; sensing the contents of the first descriptor whenever an element in the array is needed during execution of the program, in response to a first sensed condition of the control field of the first descriptor; obtaining an available space in memory corresponding in length to the sensed condition of the length field of the first descriptor word; generating a second descriptor word having a length field corresponding to the length field of the word in said table pointed to by the sensed address field of the first descriptor word, having an address field corresponding to the address of the next word in the table, and having a control field indicating whether the word pointed to by the address field of the first descriptor is the last word in the table; storing the second descriptor word in each location of said space in memory; changing the address field of the first descriptor word to correspond to the address of the first location in said memory space; and changing the control field to indicate a second control condition.
Claim 15
Independent Claim 302 words
The method of allocating memory space in an addressable memory to a multidimensional array in a digital computer system during execution of an object program, comprising the steps of: initially storing as part of the program in memory a first descriptor word for the first dimension of the array and a table of words containing a word for each of the higher order dimensions of the array, the first descriptor word having an address field pointing to the first word in the table, a length field defining the size of the first dimension of the array, and a control field identifying various operational conditions, the words in the table each having a length field defining the size of a corresponding one of the higher order dimensions; sensing the contents of the first descriptor whenever an element in the array is needed during execution of the program, in response to a first sensed condition of the control field of the first descriptor; obtaining an available space in memory corresponding in length to the sensed condition of the length field of the first descriptor word; generating a second descriptor word having a length field corresponding to the length field of the word in said table pointed to by the sensed address field of the first descriptor word, having an address field corresponding to the address of the next word in the table, and having a control field indicating whether the word pointed to by the address field of the first descriptor is the last word in the table; storing the second descriptor word in each location of said space in memory; changing the address field of the first descriptor word to correspond to the address of the first location in said memory space; and changing the control field to indicate a second control condition.
Claim 16
Independent Claim 422 words
The method of allocating memory space to an array of data during execution of a program, the array having at least two dimensions, utilizing an initial descriptor word and a table of array information words stored in memory at the start of the program, the descriptor word having a length field indicating the size of the first dimension of the array, an address field indicating the address of the first word in the table, presence field indicating that the descriptor word does not point to an available space in memory, and a special field indicating that descriptors of an additional dimension to the array have not been allocated, each word in the table having a size field of one dimension of the array, and a last word field indicating whether or not the word containing the last word field is the final word in the table corresponding to the highest order dimension of the array, the method comprising the steps of: reading out the initial descriptor word from memory the first time data in the array is needed by the program, sensing the presence field of the descriptor word to determine if the descriptor word points to available space in memory, utilizing the length field of the descriptor word to locate and identify the base address of an available space in memory corresponding in size to the length field if the presence field indicates no space has been made available, sEnsing the special field in the descriptor word to determine if descriptors have been allocated to the first dimension, reading out the first word in the table from the location in memory identified by the address field of the initial descriptor if the special field indicates no descriptor has been allocated to the first dimension, generating a first dimension descriptor word having a length field corresponding to the size field in the word read out of the table, a presence field indicating that that descriptor word does not point to available space in memory, a special field corresponding to the last word field in the word read out of the table, and an address field corresponding to the address of the next word in the table if the last word field indicates that the word read out of the table is not the final word in the table, and storing the first dimension descriptor word in each of the locations in the memory space made available in response to the presence field of the initial descriptor word, starting with said base address.
Claim 17
Independent Claim 422 words
The method of allocating memory space to an array of data during execution of a program, the array having at least two dimensions, utilizing an initial descriptor word and a table of array information words stored in memory at the start of the program, the descriptor word having a length field indicating the size of the first dimension of the array, an address field indicating the address of the first word in the table, presence field indicating that the descriptor word does not point to an available space in memory, and a special field indicating that descriptors of an additional dimension to the array have not been allocated, each word in the table having a size field of one dimension of the array, and a last word field indicating whether or not the word containing the last word field is the final word in the table corresponding to the highest order dimension of the array, the method comprising the steps of: reading out the initial descriptor word from memory the first time data in the array is needed by the program, sensing the presence field of the descriptor word to determine if the descriptor word points to available space in memory, utilizing the length field of the descriptor word to locate and identify the base address of an available space in memory corresponding in size to the length field if the presence field indicates no space has been made available, sEnsing the special field in the descriptor word to determine if descriptors have been allocated to the first dimension, reading out the first word in the table from the location in memory identified by the address field of the initial descriptor if the special field indicates no descriptor has been allocated to the first dimension, generating a first dimension descriptor word having a length field corresponding to the size field in the word read out of the table, a presence field indicating that that descriptor word does not point to available space in memory, a special field corresponding to the last word field in the word read out of the table, and an address field corresponding to the address of the next word in the table if the last word field indicates that the word read out of the table is not the final word in the table, and storing the first dimension descriptor word in each of the locations in the memory space made available in response to the presence field of the initial descriptor word, starting with said base address.
Claim 18
Dependent Claim 50 words
The method of claim 13 further including the steps of: setting the address field of the initial descriptor word to correspond to said base address, and changing the presence field of the initial descriptor word to indicate that the initial descriptor word now points to space made available in memory.
Claim 19
Independent Claim 199 words
The method of allocating memory space in an addressable memory to a multidimensional array in a digital computer system during execution of an object program wherein, as part of the program, memory initially contains a first descriptor word for a first dimension of the array and a table of words containing a word for each of the other dimensions of the array, the first descriptor word pointing to the first word in the table and defining the size limit of the first dimension of the array, the words in the table defining the size limit of the other dimensions of the array, the method comprising the steps of: determining the size limit of the first dimension from the first descriptor word in memory, obtaining an available space in memory having a number of locations corresponding to the size limit of the first dimension of the array, generating a second descriptor word pointing to the second word in the table and setting the second descriptor word to define the size limit of the second dimension as defined by the first word in the table, and storing the second descriptor word in each location of said available space obtained in memory.
Claim 20
Independent Claim 199 words
The method of allocating memory space in an addressable memory to a multidimensional array in a digital computer system during execution of an object program wherein, as part of the program, memory initially contains a first descriptor word for a first dimension of the array and a table of words containing a word for each of the other dimensions of the array, the first descriptor word pointing to the first word in the table and defining the size limit of the first dimension of the array, the words in the table defining the size limit of the other dimensions of the array, the method comprising the steps of: determining the size limit of the first dimension from the first descriptor word in memory, obtaining an available space in memory having a number of locations corresponding to the size limit of the first dimension of the array, generating a second descriptor word pointing to the second word in the table and setting the second descriptor word to define the size limit of the second dimension as defined by the first word in the table, and storing the second descriptor word in each location of said available space obtained in memory.
Claim 21
Dependent Claim 34 words
The method of claim 15 further including the step of: after generating the second descriptor word changing the first descriptor word to point to the first location of said available space obtained in memory.
Claim 22
Dependent Claim 31 words
The method of claim 16 further including the step of: after generating the second descriptor word changing the first descriptor word to signal that the second descriptor word has been generated.

References Cited (Backward Citations)

US3222649A Cited
US3505647A Cited
US3487370A Cited
US3510847A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1974-11-29 1975-05-31 1975-11-30 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1978-11-29 1979-05-31 1979-11-30 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1982-11-29 1983-05-31 1983-11-30 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag