Claims Analysis
Total Claims: 17
Claim 1
Independent Claim
288 words
A method of address translating large size virtual addresses (LVAs) for locating data and instructions a computer memory, comprising: indexing a highest-order part (ADEN) of an LVA into an access directory (AD) for selecting an AD entry (ADE), and accessing a cumulative offset field (LVAS-CO) and an access list origin (ALO) in the selected ADE; accessing an access list (AL) with the ALO, and indexing higher-order part (ALEN) of the LVA into the accessed AL to select an access list entry (ALE), said ALE representing a conventional virtual address sub-space in a large virtual address space; adding a value in the cumulative offset field (LVAS-CO) to a concatenation of the ADEN and ALEN fields in the LVA to obtain an effective LVA having a highest-order effective ADEN and a higher-order effective ALEN; comparing the highest-order effective ADEN to the ADEN in the LVA; using a last selected ADE selected by the last highest-order effective ADEN as a correct ADE if a compare equal condition is found by the comparing step; accessing a next ADE in the AD by incrementing the value of the current highest-order effective ADEN if the comparing step finds an unequal condition, and accessing a next LVAS-CO in the next ADE; and repeating the adding, comparing, using, and accessing a next ADE steps until a compare equal condition is found, said compare equal condition indicating the last effective highest-order ADEN provided by the adding step is to be used for locating a required AL, and a last effective higher-order ALEN provided by the adding step is to be used for locating an ALE in the required AL for accessing a conventional virtual address sub-space for completing the translation of the LVA to a real address.
Claim 2
Independent Claim
288 words
A method of address translating large size virtual addresses (LVAs) for locating data and instructions a computer memory, comprising: indexing a highest-order part (ADEN) of an LVA into an access directory (AD) for selecting an AD entry (ADE), and accessing a cumulative offset field (LVAS-CO) and an access list origin (ALO) in the selected ADE; accessing an access list (AL) with the ALO, and indexing higher-order part (ALEN) of the LVA into the accessed AL to select an access list entry (ALE), said ALE representing a conventional virtual address sub-space in a large virtual address space; adding a value in the cumulative offset field (LVAS-CO) to a concatenation of the ADEN and ALEN fields in the LVA to obtain an effective LVA having a highest-order effective ADEN and a higher-order effective ALEN; comparing the highest-order effective ADEN to the ADEN in the LVA; using a last selected ADE selected by the last highest-order effective ADEN as a correct ADE if a compare equal condition is found by the comparing step; accessing a next ADE in the AD by incrementing the value of the current highest-order effective ADEN if the comparing step finds an unequal condition, and accessing a next LVAS-CO in the next ADE; and repeating the adding, comparing, using, and accessing a next ADE steps until a compare equal condition is found, said compare equal condition indicating the last effective highest-order ADEN provided by the adding step is to be used for locating a required AL, and a last effective higher-order ALEN provided by the adding step is to be used for locating an ALE in the required AL for accessing a conventional virtual address sub-space for completing the translation of the LVA to a real address.
Claim 3
Independent Claim
313 words
A method of address translating large size virtual addresses (LVAs) being used by programs executing in a computer system, comprising the steps of: adding a content of an index register (X) to a content of a large base register (B) and a displacement (D) to generate at least a low-order part and a high-order part of a LVA, the low-order part having a size equal to a conventional virtual address (CVA), and the high-order part including an access list entry number (ALEN), said ALEN being utilized to locate a selected access list entry (ALE) from a plurality of ALEs, the ALEs representing different virtual sub-spaces in a large virtual address space (LVAS) addressed by the LVA, said LVA having more bits than found in a CVA; incrementing the high-order part represented by the ALEN when a carry signal is generated during the generation of the low-order part, said incrementing changing the ALEN, causing it change in the selection of an ALE, and a resulting change in the selection of a virtual sub-space in the LVAS; structuring the LVAS with a virtual address space granularity determined by the ALEs which define virtual sub-space granular units of the LVAS equal to the size of a conventional virtual address space (CVAS), said virtual sub-spaces having a size equal to the number of bytes equal to 2 to the power of the number of bits in a CVA; locating an access list (AL) in system memory at a location determined by an access list entry Origin (ALO); and selecting an ALE by indexing the ALEN into the AL, the selected ALE containing an address for locating an associated virtual address translation table for translating the LVA to a real address by translating the low-order part of the LVA to a real address, such that an address is accessed in the virtual sub-space defined by the selected ALE.
Claim 4
Independent Claim
313 words
A method of address translating large size virtual addresses (LVAs) being used by programs executing in a computer system, comprising the steps of: adding a content of an index register (X) to a content of a large base register (B) and a displacement (D) to generate at least a low-order part and a high-order part of a LVA, the low-order part having a size equal to a conventional virtual address (CVA), and the high-order part including an access list entry number (ALEN), said ALEN being utilized to locate a selected access list entry (ALE) from a plurality of ALEs, the ALEs representing different virtual sub-spaces in a large virtual address space (LVAS) addressed by the LVA, said LVA having more bits than found in a CVA; incrementing the high-order part represented by the ALEN when a carry signal is generated during the generation of the low-order part, said incrementing changing the ALEN, causing it change in the selection of an ALE, and a resulting change in the selection of a virtual sub-space in the LVAS; structuring the LVAS with a virtual address space granularity determined by the ALEs which define virtual sub-space granular units of the LVAS equal to the size of a conventional virtual address space (CVAS), said virtual sub-spaces having a size equal to the number of bytes equal to 2 to the power of the number of bits in a CVA; locating an access list (AL) in system memory at a location determined by an access list entry Origin (ALO); and selecting an ALE by indexing the ALEN into the AL, the selected ALE containing an address for locating an associated virtual address translation table for translating the LVA to a real address by translating the low-order part of the LVA to a real address, such that an address is accessed in the virtual sub-space defined by the selected ALE.
Claim 5
Dependent Claim
132 words
A method of address translating large size virtual addresses (LVAs) being used by programs executing in a computer system as defined in claim 42, further comprising the steps of: indicating in a field in a control register a choice between an LVA mode and an access register (AR) mode; when the indicating step indicates the LVA mode permitting any carry signal generated a result of the generation of the low-order part of the LVA to increment the high-order part of the LVA represented by the ALEN; when the indicating step indicates the AR mode suppressing any carry signal generated as a result of the generation of the low-order part of the LVA from incrementing the high-order part of the LVA represented by the ALEN and performing a conventional AR translation (ART) operation.
Claim 6
Dependent Claim
95 words
A method of address translating large size virtual addresses (LVAs) being used by programs executing in a computer system as defined in claim 2, further comprising the steps of: providing an access directory entry number (ADEN); concatenating said provided ADEN with the ALEN part of the LVA higher-order part of the LVA; utilizing said provided. ADEN to locate an access directory (AD) in system memory containing a set of access directory entries (ADEs), each ADE having an access list origin (ALO), wherein an ALO of an ADE locates an access list origin in system memory.
Claim 7
Dependent Claim
74 words
A method of address translating large size virtual addresses (LVAs) being used by programs executing in a computer system as defined in claim 4, further comprising the steps of: providing a valid indication in one or more ADEs, said valid indication indicating if the content of an ADE is valid; obtaining an ALO in a valid ADE for locating an AL in memory; and generating an exception signal if an invalid ADE is accessed.
Claim 8
Dependent Claim
30 words
A method of address translating large size virtual addresses (LVAs) as defined in claim 5, further comprising: providing valid ALEs in a plurality of ALs for representing a single LVAS.
Claim 9
Dependent Claim
75 words
A method of address translating large size virtual addresses (LVA s) being used by programs executing in a computer system as defined in claim 4, further comprising: each ADE containing an AL address field, wherein the AL address field contains an AL origin (ALO) and an offset field (LVAS-CO); and using the offset field to adjust the ALEN selection of an offset ALE in an AL for obtaining the ALE required for translating the LVA.
Claim 10
Dependent Claim
42 words
A method of address translating large size virtual addresses (LVAs) as defined in claim 2, further comprising: a segment table being a conventional address translation table for translating virtual segments; and a plurality of page tables being represented by the segment table.
Claim 11
Dependent Claim
39 words
A method of address translating large size virtual addresses (LVAs) as defined in claim 4, further comprising the steps of: providing an ADEN in an access register (AR) associated with a base register (B) utilized in generating an LVA.
Claim 12
Dependent Claim
37 words
A method of address translating large size virtual addresses (LVAs) as defined in claim 9, further comprising: loading the ADEN into the AR from system memory prior to using the ADEN as a part of an LVA.
Claim 13
Dependent Claim
39 words
A method of address translating large size virtual addresses (LVAs) as defined in claim 10, further comprising: providing the ADEN in memory by means of a control program prior to using the ADEN as a part of an LVA.
Claim 14
Dependent Claim
79 words
A method of address translating large size virtual addresses (LVAs) as defined in claim 4, further comprising the steps of: providing a sequence number (SN) in an access register (AR) associated with a base register (B) of the generated LVA; using the SN for comparison with a sequence number (ALESN) in an ALE accessed by the generated ALEN in a conventional ART process to permit the ART process to proceed only if a serial number compare-equal condition is obtained.
Claim 15
Dependent Claim
47 words
A method of address translating large size virtual addresses (LVAs) as defined in claim 12, further comprising: having the SN unique to the respective LVAS; and verifying each access by an LVA by comparing an SN field of an accessed ALE with the SN in the AR.
Claim 16
Dependent Claim
26 words
A method of address translating large size virtual addresses (LVAs) as defined in claim 2, further comprising: using a 64 bit adder for generating the LVA.
Claim 17
Dependent Claim
26 words
A method of address translating large size virtual addresses (LVAs) as defined in claim 2, further comprising: using a 48 bit adder for generating the LVA.