Page controlled cache directory addressing
First Claim
1. A method of modifying the addressing of a cache directory with a virtual addres requested by a CPU for accessing a page frame in main storage, the virtual address including an external page address field and an internal page address field, the external page address field being used for addressing the page frame in main storage, a page component field at the high-order end of the internal page address field, a congruence class selection field being taken from the virtual address and including the page component field, the modified cache addressing method comprising the steps of:
- selecting a group of contiguous bit positions from the requested virtual address including at least the congruence class selection field and a control bit position which is the lowest-order bit position in the external page address field,inverting the content of a sub-page bit position in the page component field of the congruence class selection field when the control bit position has one state and not changing the content of the sub-page bit position when the control bit position has another state,addressing the cache direction with a modified congruence class selection field derived by the inverting step being applied to the congruence class selection field obtained by the selecting step,whereby improved cache utilization can be obtained by the inverting step redistributing the congruence classes in the cache directory.
1 Assignment
0 Petitions
Accused Products
Abstract
The described embodiment modifies cache addressing in order to decrease the cache miss rate based on a statistical observation that the lowest and highest locations in pages in main storage page frames are usually accessed at a higher frequency than intermediate locations in the pages. Cache class addressing controls are modified to change the distribution of cache contained data more uniformly among the congruence classes in the cache (by comparison with conventional cache class distribution). The cache addressing controls change the congruence class address as a function of the state of a higher-order bit or field in any CPU requested address.
76 Citations
9 Claims
-
1. A method of modifying the addressing of a cache directory with a virtual addres requested by a CPU for accessing a page frame in main storage, the virtual address including an external page address field and an internal page address field, the external page address field being used for addressing the page frame in main storage, a page component field at the high-order end of the internal page address field, a congruence class selection field being taken from the virtual address and including the page component field, the modified cache addressing method comprising the steps of:
-
selecting a group of contiguous bit positions from the requested virtual address including at least the congruence class selection field and a control bit position which is the lowest-order bit position in the external page address field, inverting the content of a sub-page bit position in the page component field of the congruence class selection field when the control bit position has one state and not changing the content of the sub-page bit position when the control bit position has another state, addressing the cache direction with a modified congruence class selection field derived by the inverting step being applied to the congruence class selection field obtained by the selecting step, whereby improved cache utilization can be obtained by the inverting step redistributing the congruence classes in the cache directory. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. Means for addressing a cache directory with a virtual address requested by a CPU for accessing a page frame in main storage, the virtual address including an external page address field and an internal page address field, the external page address field being used for addressing the page frame in main storage, a page component field at the high-order end of the internal page address field, a congruence class selection field being taken from the virtual address and including the page component field, cache addressing means for providing a modified congruence class address field comprising:
-
gate circuits for selecting a group of contiguous bit positions from the requested virtual address including at least the congruence class selection field and a control bit position which is the lowest-order bit position in the external page address field, inverter means for receiving and inverting a sub-page bit position in the page component field of the congruence class selection field when the control bit position has a one state and not changing the sub-page bit position when the control bit position has a zero state, means for addressing the cache directory with a modified congruence class address generated by the inverting means modifying the congruence class selection field to provide the modified congruence class address, whereby improved cache utilization is obtained by accessing the cache directory with modified congruence class addresses. - View Dependent Claims (8, 9)
-
Specification