IP Library Granted Patent US 7,206,916
Granted Patent B2
US 7,206,916 · App. 10/795,815 · Granted Apr 17, 2007

Partial address compares stored in translation lookaside buffer

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,206,916
App. No.
10/795,815
Granted
Apr 17, 2007
Kind
B2
Abstract

A method of performing a fast information compare within a processor which includes performing a more significant bit compare when information is loaded into a translation lookaside buffer, storing a result of the more significant bit compare within the translation lookaside buffer as part of an entry containing the information, and using the result of the more significant bit compare in conjunction with results from a compare of less significant bits of the information and less significant bits of compare information to determine whether a match is present. The more significant bit compare compares more significant bits of the information being loaded into the translation lookaside buffer with more significant bits of compare information.

Claims (57)

1. A method of performing a fast information compare within a processor comprising:

performing a first comparison when a first information is loaded into a translation lookaside buffer, comparing bits corresponding to a page number of the first information being loaded into the translation lookaside buffer with bits corresponding to a page number of a compare information;

storing a result of the first comparison within the translation lookaside buffer as part of an entry corresponding to the first information; and

using the stored result in conjunction with a second comparison comparing bits corresponding to a page offset of a second information and bits corresponding to a page offset of the compare information to determine whether a match is present between the second information and the compare information.

2. The method of claim 1 further comprising:

providing an indication of a match to the compare information when the stored result is active and the bits corresponding to a page offset of the second information match the bits corresponding to a page offset of the compare information.

3. The method of claim 1 wherein:

the compare information corresponds to a virtual address watchpoint.

4. The method of claim 1 wherein:

the compare information corresponds to a sample selection criteria.

5. The method of claim 4 wherein:

the sample selection criteria includes a first address and a second address corresponding to an address range; and

the result of the first comparison indicates whether the bits corresponding to a page number of the first information being loaded correspond to one of a plurality of conditions indicating whether a page corresponding to the first information is entirely inside the range, entirely outside the range, includes the entire range, includes the first address and includes the second address.

6. The method of claim 1 wherein:

the processor includes a memory management unit translation lookaside buffer and an instruction translation lookaside buffer; and

the first comparison is performed when the first information is loaded into the instruction translation lookaside buffer.

7. The method of claim 1 wherein:

the processor includes a plurality of threads; and

the compare information corresponds to one of the plurality of threads.

8. An apparatus for performing a fast information compare within a processor comprising:

means for performing a first comparison when a first information is loaded into a translation lookaside buffer, comparing bits corresponding to a page number of the first information being loaded into the translation lookaside buffer with bits corresponding to a page number of a compare information;

means for storing a result of the first comparison within the translation lookaside buffer as part of an entry corresponding to the first information; and

means for using the stored result in conjunction with a second comparison comparing bits corresponding to a page offset of a second information and bits corresponding to a page offset of the compare information to determine whether a match is present between the second information and the compare information.

9. The apparatus of claim 8 further comprising:

means for providing an indication of a match to the compare information when the stored result is active and the bits corresponding to a page offset of the second information match the bits corresponding to a page offset of the compare information.

10. The apparatus of claim 8 wherein:

the compare information corresponds to a virtual address watchpoint.

11. The apparatus of claim 8 wherein:

the compare information corresponds to a sample selection criteria.

12. The apparatus of claim 11 wherein:

the sample selection criteria includes a first address and a second address corresponding to an address range; and

the result of the first comparison indicates whether the bits corresponding to a page number of the first information being loaded correspond to one of a plurality of conditions indicating whether a page corresponding to the first information is entirely inside the range, entirely outside the range, includes the entire range, includes the first address and includes the second address.

13. The apparatus of claim 8 wherein:

the processor includes a memory management unit translation lookaside buffer and an instruction translation lookaside buffer; and

the first comparison is performed when the first information is loaded into the instruction translation lookaside buffer.

14. The apparatus of claim 8 wherein:

the processor includes a plurality of threads; and

the compare information corresponds to one of the plurality of threads.

15. A processor comprising:

a translation lookaside buffer; and

a first compare unit coupled to the translation lookaside buffer, the first compare unit performing a first comparison when a first information is loaded into a translation lookaside buffer, comparing bits corresponding to a page number of the first information being loaded into the translation lookaside buffer with bits corresponding to a page number of a compare information, the the translation lookaside buffer storing a result of the first comparison within the translation lookaside buffer as part of an entry corresponding to the first information; and

a second compare unit coupled to the translation lookaside buffer, the second compare unit using the stored result in conjunction with a second comparison comparing bits corresponding to a page offset of a second information and bits corresponding to a page offset bits of the compare information to determine whether a match is present between the second information and the compare information.

16. The processor of claim 15 wherein:

the second compare unit provides an indication of a match to the compare information when the stored result is active and the bits corresponding to a page offset of the second information match the bits corresponding to a page offset of the compare information.

17. The processor of claim 15 wherein:

the compare information corresponds to a virtual address watchpoint.

18. The processor of claim 15 wherein:

the compare information corresponds to a sample selection criteria.

19. The processor of claim 18 wherein:

the sample selection criteria includes a first address and a second address corresponding to an address range; and

the result of the first comparison indicates whether the bits corresponding to a page number of the first information being loaded correspond to one of a plurality of conditions indicating whether a page corresponding to the first information is entirely inside the range, entirely outside the range, includes the entire range, includes the first address and includes the second address.

20. The processor of claim 15 , further comprising:

a memory management unit, the memory management unit including a memory management unit translation lookaside buffer; and

an instruction fetch unit, the instruction fetch unit including an instruction translation lookaside buffer, the first comparison being performed when the first information is loaded into the instruction translation lookaside buffer.

21. The processor of claim 15 wherein:

the processor includes a plurality of threads; and

the compare information corresponds to one of the plurality of threads.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037302/0732 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2004
From: ESTLICK, MICHAEL D.; FAIR, III, HARRY R.; AKESON, DAVID R.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 015094/0164 →