Abstract This specification describes a virtual memory system in which a set of conversion tables is used to translate an arbitrarily assigned programming designation called a virtual address into an actual main memory location called a real address. To avoid the necessity of translating the same addresses over and over again, a table called the Directory Look Aside Table (DLAT) retains current virtual to real address translations for use where particular virtual addresses are requested more than once. Each translation retained by the DLAT is identified by an identifier (ID) that signifies the set of tables used in that translation. This identifier is compared with an identifier generated for the currently requested virtual address. If these identifiers match and the virtual address retained in the DLAT matches the currently requested virtual address, the translation stored in the DLAT may be used. If the identifiers or virtual address don''t match, a new translation must be performed using the set of conversion tables associated with the currently requested address.
In a data processing system which contains a central processing unit, a main storage unit having a storage control unit and a plurality of addressable locations each addressable by a storage address, addressing means providing virtual address, and means for translating virtual addresses to real addresses including a plurality of sets of conversion tables, an improved translation control means comprising: a. first table means for storing a plurality of previously used virtual addresses each with a real address which constitutes a translation of that virtual address using one of said sets of conversion tables; b. second table means for storing identifying data from the storage control means indicating the particular set of tables used in generating each translation stored in the first table means; c. coding means for generating a coded signal to the first table for storage along with each virtual to real address translAtion, said coding means providing the coded signals any time identifying data is addressed in the second table means; d. first comparator means for comparing the identifying data being addressed in the second table with the identifying data supplied by the storage control means for the currently requested virtual address and providing an output signal indicating a match or mismatch of this data; and e. stepping means responsive to the signals from said comparator means for addressing in sequence different identifying data signals stored in said second table means when a mismatch signal is provided by the comparator and for addressing the address of data providing a match signal from the comparator.
Claim 2
Dependent Claim
257 words
In a data processing system which contains a central processing unit, a main storage unit having a storage control unit and a plurality of addressable locations each addressable by a storage address, addressing means providing virtual address, and means for translating virtual addresses to real addresses including a plurality of sets of conversion tables, an improved translation control means comprising: a. first table means for storing a plurality of previously used virtual addresses each with a real address which constitutes a translation of that virtual address using one of said sets of conversion tables; b. second table means for storing identifying data from the storage control means indicating the particular set of tables used in generating each translation stored in the first table means; c. coding means for generating a coded signal to the first table for storage along with each virtual to real address translAtion, said coding means providing the coded signals any time identifying data is addressed in the second table means; d. first comparator means for comparing the identifying data being addressed in the second table with the identifying data supplied by the storage control means for the currently requested virtual address and providing an output signal indicating a match or mismatch of this data; and e. stepping means responsive to the signals from said comparator means for addressing in sequence different identifying data signals stored in said second table means when a mismatch signal is provided by the comparator and for addressing the address of data providing a match signal from the comparator.
Claim 3
Dependent Claim
92 words
The data processing system of claim 1 including means responsive to the currently requested virtual address for reading the same virtual address from the first table means along with the translation of that address to a real address and the coded signal indicating the set of tables used in making the translation; and a second comparison means for comparing the stored virtual address to the currently requested virtual address and for comparing the stored coded identifying data to the identifying data for the currently requested virtual address provided by the coded means.
Claim 4
Dependent Claim
88 words
The data processing system of claim 2 including means for inserting the identifying data for the currently requested virtual address into the second table means when said data has not been found therein, including: means for storing the address of the identifying data first inserted into the second table; means to cause the stepping means to address said address of said first inserted identifying data; and means for writing identifying data for the currently requested virtual address at said address in place of the data previously contained therein.
Claim 5
Dependent Claim
35 words
The data processing system of claim 3 wherein said coding means comprises means for receiving the address signals for the second table means and providing said coded signals as a function of the address signals.