Pretranslation of virtual addresses prior to page crossing
AssigneeInternational Business Machines Corporation
InventorsJohn R. Hattersley, Thomas D. Kim
Life of this patent
Estimating the term…
Abstract
An address translation mechanism for generating real addresses, within a page. based on stride from a beginning translated address in the page. However, whenever there is a page crossing, an address must go to either the directory look aside table (DLAT) or buffer control element (BCE) to translate a virtual page-address to a real page-address. To avoid the delay this usually causes, the address translation request is sent out before the address is actually needed. This is done by predicting the next page-crossing while real addresses with the current page are being generated based on the stride value. The prediction is based on the stride value, operand size, and page mode.
Claims10
An address translation mechanism for a data processing system comprising:
- means for storing a beginning real-page address within a page corresponding to a first generated virtual address;
- means for storing a stride value and an operand size value representing a predetermined operand size;
- means, coupled to said beginning real-page address storing means and said stride value and operand size value storing means, for generating real-page addresses within said page by successively adding said stride value to said beginning real-page address;
- means, coupled to said means for generating real-page addresses, for predicting a page crossing by generating a new virtual address for a new beginning real-page address on another page based on an addition of said first generated virtual address and one of a product output of the stored stride value multiplied by the stored operand size value, and a predetermined page size;
- and
- means, coupled to said means for predicting said page crossing, for pretranslating said new virtual address prior to said page crossing.
A method of address translation in a data processing system comprising the steps of:
- storing a beginning real-page address within a page corresponding to a first generated virtual address;
- storing a stride value and an operand size value corresponding to a predetermined operand size;
- generating real-page addresses within said page by successively adding said stride value to said beginning real-page address;
- predicting a page crossing by generating a new virtual address for a new beginning real-page address on another page based on an addition of said first generated virtual address and one of a product output of the stored stride value multiplied by the stored operand size value, and a predetermined page size;
- and
- pretranslating said new virtual address prior to said page crossing.
Dependencies are inferred from the claim text.