← Back to Patent Explorer
US5479629A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for translation request buffer and requestor table for minimizing the number of accesses to the same address

Assignee: International Business Machines Corp
•
Filing: 1994-03-11
•
Granted: 1995-12-26
•
Expires: 2014-03-11
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Duplicate translations resulting from multiple requests for address translations from a plurality of address generators are eliminated by the addition of a DLAT address buffer. If the address requested is a hit in the DLAT, the translation is handled in the conventional manner. If there is a miss, the address is put into the DLAT address buffer. Future requests from other address generators are compared with the addresses in the DLAT address buffer to see if there is an outstanding request for this address. If not, the addresses are also entered into the buffer. If there is an outstanding request, the requestor is marked in an address distributor as wanting the address. When the translation is returned from the BCE, the address is sent to all requestors wanting the address, to the DLAT and to the buffer for deletion from the buffer.

Inventors

  • 👤 Harry F. Angjelo
  • 👤 John R. Hatersley

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 03:14
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/10; G06F12/1027

Claims Analysis

Total Claims: 13
Claim 1
Independent Claim 280 words
An address translation mechanism supporting a plurality of address generators in a data processing system comprising: table means for storing address translation entries representing addresses to be translated, said table means, operatively coupled to said plurality of address generators, for supplying an address output when an address request from an address generator has a predetermined relationship with a translation entry; means for detecting when an address request from an address generator does not have a predetermined relationship with a translation entry in said table means; address buffer and compare means, operatively coupled to said detecting means, for determining whether there is an outstanding request for a translation of an address currently stored for translation and, if there is no such outstanding request, temporarily storing said address for translation; distribution means, operatively coupled to said address buffer and compare means, for identifying all requestors of address translations for each address stored for translation; and translation means for translating addresses temporarily stored by said address buffer and compare means, said translation means supplying translated addresses to said distribution means for distribution to each of said address generators identified as requesting translated addresses and to said table means, wherein said address buffer and compare means comprises second table means having a plurality of storage locations for storing addresses to be translated, each of said storage locations including an active bit position indicating whether an address is active for translation by said translation means, said address buffer and compare means further comprising compare means for comparing addresses in said second table means with an address requested for translation by said detecting means and for entering an address not found in said second table means.
Claim 2
Dependent Claim 280 words
An address translation mechanism supporting a plurality of address generators in a data processing system comprising: table means for storing address translation entries representing addresses to be translated, said table means, operatively coupled to said plurality of address generators, for supplying an address output when an address request from an address generator has a predetermined relationship with a translation entry; means for detecting when an address request from an address generator does not have a predetermined relationship with a translation entry in said table means; address buffer and compare means, operatively coupled to said detecting means, for determining whether there is an outstanding request for a translation of an address currently stored for translation and, if there is no such outstanding request, temporarily storing said address for translation; distribution means, operatively coupled to said address buffer and compare means, for identifying all requestors of address translations for each address stored for translation; and translation means for translating addresses temporarily stored by said address buffer and compare means, said translation means supplying translated addresses to said distribution means for distribution to each of said address generators identified as requesting translated addresses and to said table means, wherein said address buffer and compare means comprises second table means having a plurality of storage locations for storing addresses to be translated, each of said storage locations including an active bit position indicating whether an address is active for translation by said translation means, said address buffer and compare means further comprising compare means for comparing addresses in said second table means with an address requested for translation by said detecting means and for entering an address not found in said second table means.
Claim 3
Dependent Claim 37 words
The address translation mechanism recited in claim 1 wherein said distribution means includes means for deleting addresses for translation from said address buffer and compare means when a corresponding translated address is supplied to said distribution means.
Claim 4
Dependent Claim 48 words
The address translation mechanism recited in claim 1 wherein said address buffer and compare means further comprises: marking means responsive to all addresses requested to be translated by said detecting means for any of said address generators for identifying said distribution means for each of said address generators.
Claim 5
Dependent Claim 75 words
The address translation mechanism recited in claim 3 wherein said distribution means comprises third table means having storage locations having a predetermined relationship with addresses stored in said second table means for storing translated addresses from said translation means, said storage locations including bit positions assigned to each of said address generators and identified by said address buffer and compare means, and a mark bit position indicating that an address has been identified for distribution.
Claim 6
Dependent Claim 60 words
The address translation mechanism recited in claim 4 wherein said distribution means further includes means for resetting said active bit position in said second table means when a corresponding address has been translated by said translation means and for resetting said mark bit position in said third table means when a corresponding translated address has been distributed to said requestors.
Claim 7
Independent Claim 202 words
A method of address translation which supports a plurality of address generators in a data processing system, said method comprising the steps of: storing, in a table, a plurality of address translation entries representing addresses to be translated and supplying an address output when an address request from an address generator has a predetermined relation with a translation entry of said plurality of translation entries; detecting when an address request from an address generator does not have a predetermined relation with said translation entry of said plurality of translation entries in said table; identifying all address generators requesting translations of said addresses for which there is not a corresponding translation entry among the stored plurality of address translation entries; determining whether there is an outstanding request for a translation of an address temporarily stored for translation using a second table having storage locations with an active bit position indicating whether an address is active for translation and, if there is no such outstanding request, temporarily storing said address for translation in said table with said plurality of translation entries; translating said plurality of translation entries; and distributing translated addresses to each of said address generators identified as requesting the respective translated addresses.
Claim 8
Independent Claim 202 words
A method of address translation which supports a plurality of address generators in a data processing system, said method comprising the steps of: storing, in a table, a plurality of address translation entries representing addresses to be translated and supplying an address output when an address request from an address generator has a predetermined relation with a translation entry of said plurality of translation entries; detecting when an address request from an address generator does not have a predetermined relation with said translation entry of said plurality of translation entries in said table; identifying all address generators requesting translations of said addresses for which there is not a corresponding translation entry among the stored plurality of address translation entries; determining whether there is an outstanding request for a translation of an address temporarily stored for translation using a second table having storage locations with an active bit position indicating whether an address is active for translation and, if there is no such outstanding request, temporarily storing said address for translation in said table with said plurality of translation entries; translating said plurality of translation entries; and distributing translated addresses to each of said address generators identified as requesting the respective translated addresses.
Claim 9
Dependent Claim 48 words
The address translation mechanism recited in claim 2 wherein said address buffer and compare means further comprises: marking means responsive to all addresses requested to be translated by said detecting means for any of said address generators for identifying said distribution means for each of said address generators.
Claim 10
Dependent Claim 128 words
The address translation mechanism according to claim 1, further comprising: means for inhibiting an address translation of addresses in said table means when said inhibiting means is set and for allowing an address translation of addresses in said table means when said inhibiting means is not set, such that addresses not requiring translation are not read out to said address buffer and compare means for translation, a position register for holding a position of an address to be translated, inverting means coupled to said position register for updating said position of said position register for said address to be translated; wherein with an address read out of said table means in which said inhibiting means is set, said position of an address is incremented in said position register.
Claim 11
Dependent Claim 100 words
The method according to claim 6, wherein said data processing system includes an inhibiting means for inhibiting an address translation, said method further comprising the steps of: inhibiting an address translation of address translation entries when said inhibiting means is set and for allowing an address translation of said address translation entries when said inhibiting means is not set, such that addresses not requiring translation are not read out for translation, holding a position of an address to be translated; and with an address to be translated read out and said inhibiting means set, incrementing said position of an address.
Claim 12
Dependent Claim 414 words
An address translation mechanism supporting a plurality of address generators in a data processing system comprising: table means for storing address translation entries representing addresses to be translated, said table means, operatively coupled to said plurality of address generators, for supplying an address output when an address request from an address generator has a predetermined relationship with a translation entry; means for detecting when an address request from an address generator does not have a predetermined relationship with a translation entry of said translation entries in said table means; address buffer and compare means, operatively coupled to said detecting means, for determining whether there is an outstanding request for a translation of an address currently stored for translation and, if there is no such outstanding request, temporarily storing an address for translation with said translation entries; distribution means, operatively coupled to said address buffer and compare means, for identifying all requestors of address translations for said addresses stored for translation among the stored plurality of address translation entries; and translation means for translating addresses temporarily stored by said address buffer and compare means, said translation means supplying translated addresses to said distribution means for distribution to each of said address generators identified as requesting translated addresses and to said table means, means for inhibiting an address translation of addresses in said table means when said inhibiting means is set and for allowing an address translation of addresses in said table means when said inhibiting means is not set, such that addresses not requiring translation are not read out to said address buffer and compare means for translation, a position register for holding a position of an address to be translated, inverting means coupled to said position register for updating said position of said position register for an address to be translated; wherein with an address read out of said table means in which said inhibiting means is set, said position of an address is incremented in said position register wherein said address buffer and compare means comprises second table means having a plurality of storage locations for storing addresses to be translated, each of said storage locations including an active bit position indicating whether an address is active for translation by said translation means, said address buffer and compare means further comprising compare means for comparing addresses in said second table means with an address requested for translation by said detecting means and for entering an address not found in said second table means.
Claim 13
Dependent Claim 414 words
An address translation mechanism supporting a plurality of address generators in a data processing system comprising: table means for storing address translation entries representing addresses to be translated, said table means, operatively coupled to said plurality of address generators, for supplying an address output when an address request from an address generator has a predetermined relationship with a translation entry; means for detecting when an address request from an address generator does not have a predetermined relationship with a translation entry of said translation entries in said table means; address buffer and compare means, operatively coupled to said detecting means, for determining whether there is an outstanding request for a translation of an address currently stored for translation and, if there is no such outstanding request, temporarily storing an address for translation with said translation entries; distribution means, operatively coupled to said address buffer and compare means, for identifying all requestors of address translations for said addresses stored for translation among the stored plurality of address translation entries; and translation means for translating addresses temporarily stored by said address buffer and compare means, said translation means supplying translated addresses to said distribution means for distribution to each of said address generators identified as requesting translated addresses and to said table means, means for inhibiting an address translation of addresses in said table means when said inhibiting means is set and for allowing an address translation of addresses in said table means when said inhibiting means is not set, such that addresses not requiring translation are not read out to said address buffer and compare means for translation, a position register for holding a position of an address to be translated, inverting means coupled to said position register for updating said position of said position register for an address to be translated; wherein with an address read out of said table means in which said inhibiting means is set, said position of an address is incremented in said position register wherein said address buffer and compare means comprises second table means having a plurality of storage locations for storing addresses to be translated, each of said storage locations including an active bit position indicating whether an address is active for translation by said translation means, said address buffer and compare means further comprising compare means for comparing addresses in said second table means with an address requested for translation by said detecting means and for entering an address not found in said second table means.

References Cited (Backward Citations)

GB2082808A Cited
US4598362A Cited
US4841476A Cited
JPS6465649A Cited
US4928224A Cited
US4965719A Cited
EP0352633A2 Cited
US5081622A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-12-25 1999-06-26 1999-12-26 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-12-25 2003-06-26 2003-12-26 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-12-25 2007-06-26 2007-12-26 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag