Mechanism for storing system level attributes in a translation lookaside buffer
First Claim
Patent Images
1. A computer system comprising:
- a bus;
a main memory operatively coupled to the bus;
a processor coupled to the bus, wherein the processor includes a translation lookaside buffer and a first region register, wherein the translation lookaside buffer includes a plurality of translation entries, wherein each of the translation entries is configured to store a linear address tag, a page frame base address and a cacheability indicator, wherein the translation lookaside buffer is configured to receive a linear address, wherein, in response to the linear address hitting a first translation entry of the plurality of translation entries, the processor is configured to;
(a) generate a first physical address using an offset portion of the linear address and a first page frame base address of the first translation entry, and (b) concurrently determine a cacheability of data corresponding to said linear address responsive to a first cacheability indicator read from the first translation entry;
and wherein, in response to the linear address missing in the translation lookaside buffer, the processor is configured to;
(a) locate a translation corresponding to the linear address within a plurality of page tables in the main memory, the translation defining a second page frame base address corresponding to the linear address, (b) compare the second page frame base address with a physical address region defined by the first region register, the first region register further defining a cacheability of the physical address region independent of said translation, (c) assign a second cacheability indicator according to said cacheability defined in said first region register if said second page frame base address is within the physical address region defined by said first region register, and (d) store the second page frame base address and the second cacheability indicator in one of the plurality of translation entries.
4 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for improving the efficiency of the cacheability (and other attribute) determination by making the information from the region register available during linear to physical address translation, rather than serially upon completion of the address translation. Address range comparisons are made when the TLB is loaded. That is, attribute information stored in a region register or registers is compared with physical addresses corresponding to translations loaded in a translation lookaside buffer reload operation. The present invention thus advantageously removes the region register compare operation from the path to memory.
49 Citations
15 Claims
-
1. A computer system comprising:
-
a bus;
a main memory operatively coupled to the bus;
a processor coupled to the bus, wherein the processor includes a translation lookaside buffer and a first region register, wherein the translation lookaside buffer includes a plurality of translation entries, wherein each of the translation entries is configured to store a linear address tag, a page frame base address and a cacheability indicator, wherein the translation lookaside buffer is configured to receive a linear address, wherein, in response to the linear address hitting a first translation entry of the plurality of translation entries, the processor is configured to;
(a) generate a first physical address using an offset portion of the linear address and a first page frame base address of the first translation entry, and (b) concurrently determine a cacheability of data corresponding to said linear address responsive to a first cacheability indicator read from the first translation entry;
and wherein, in response to the linear address missing in the translation lookaside buffer, the processor is configured to;
(a) locate a translation corresponding to the linear address within a plurality of page tables in the main memory, the translation defining a second page frame base address corresponding to the linear address, (b) compare the second page frame base address with a physical address region defined by the first region register, the first region register further defining a cacheability of the physical address region independent of said translation, (c) assign a second cacheability indicator according to said cacheability defined in said first region register if said second page frame base address is within the physical address region defined by said first region register, and (d) store the second page frame base address and the second cacheability indicator in one of the plurality of translation entries.- View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for providing cacheability information:
-
receiving a linear address;
comparing the linear address to a plurality of translation entries stored in a translation lookaside buffer, wherein each of the plurality of translation entries stores a linear address tag, a page frame base address and a cacheability indicator;
in response to the linear address hitting a first translation entry of the plurality of translation entries, (a) generating a first physical address using an offset portion of the linear address and a first page frame base address of the first translation entry, and (b) concurrently determining a cacheability of data corresponding to said linear address responsive to a first cacheability indicator read from the first translation entry;
in response to the linear address missing in the translation lookaside buffer, (a) locating a translation corresponding to the linear address within a plurality of page tables in a main memory, the translation defining a second page frame base address corresponding to the linear address, (b) comparing the second page frame base address with a physical address region defined by a first region register, the first region register further defining a cacheability of the physical address region independent of said translation, (c) assigning a second cacheability indicator according to said cacheability defined in said first region register if said second page frame base address is within the physical address region defined by said first region register, and (d) storing the second page frame base address and the second cacheability indicator in one of the plurality of translation entries. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A processor comprising a translation lookaside buffer and a first region register, wherein the translation lookaside buffer includes a plurality of translation entries, wherein each of the translation entries is configured to store a linear address tag, a page frame base address and a cacheability indicator, wherein the translation lookaside buffer is configured to receive a linear address;
-
wherein, in response to the linear address hitting a first translation entry of the plurality of translation entries, the processor is configured to;
(a) generate a first physical address using an offset portion of the linear address and a first page frame base address of the first translation entry, and (b) concurrently determine a cacheability of data corresponding to said linear address responsive to a first cacheability indicator read from the first translation entry;
and wherein, in response to the linear address missing in the translation lookaside buffer, the processor is configured to;
(a) locate a translation corresponding to the linear address within a plurality of page tables in a main memory, the translation defining a second page frame base address corresponding to the linear address, (b) compare the second page frame base address with a physical address region defined by the first region register, the first region register further defining a cacheability of said physical address region independent of said translation, (c) assign a second cacheability indicator according to said cacheability defined in said first region register if said second page frame base address is within the physical address region defined by said first region register, and (d) store the second page frame base address and the second cacheability indicator in one of the plurality of translation entries.- View Dependent Claims (12, 13, 14, 15)
-
Specification