IP Library Granted Patent US 9,323,715
Granted Patent B2
US 9,323,715 · App. 14/080,389 · Granted Apr 26, 2016

Method and apparatus to represent a processor context with fewer bits

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 9,323,715
App. No.
14/080,389
Granted
Apr 26, 2016
Kind
B2
Abstract

According to at least one example embodiment, a method and corresponding processor device comprise maintaining a translation data structure mapping uncompressed process context identifiers to corresponding compressed identifiers, the uncompressed process context identifiers and the corresponding compressed identifiers being associated with address spaces or corresponding computer processes. The compressed identifiers are employed to probe, or access, one or more structures of the processor device in executing an operation associated with a computer process.

Claims (45)

1. A method of handling processes within a processor device, the method comprising:

maintaining a translation table mapping uncompressed process context identifiers to corresponding compressed identifiers, the uncompressed process context identifiers and the corresponding compressed identifiers being associated with address spaces or corresponding computer processes; and

employing the compressed identifiers to probe one or more structures of the processor device in executing an operation;

wherein executing the operation comprises:

determining whether or not a current compressed identifier is valid;

upon determining that the current compressed identifier is valid, using the valid compressed identifier to probe one or more structures of the processor device in executing the operation;

upon determining that the current compressed identifier is invalid, searching the translation table, based on an uncompressed process context identifier associated with the operation, for one other compressed identifier mapped to the uncompressed process context identifier.

2. The method according to claim 1 , wherein the one or more structures of the processor device include at least one of a data cache, an instruction cache, a page table walker cache, a translation look-aside buffer (TLB), and a micro translation look-aside buffer (μTLB).

3. The method according to claim 1 further comprising storing a compressed identifier associated with a computer process running in the processor device within a register.

4. The method according to claim 1 further comprising:

if said one other compressed identifier is found in the translation table, using said one other compressed identifier to probe one or more structures of the core processor in executing the operation; and

if said one other compressed identifier is not found in the translation table, generating, in the translation table, a new compressed identifier mapped to the uncompressed process context identifier, and using the new compressed identifier generated to probe one or more structures of the processor device in executing the operation.

5. The method according to claim 1 further comprising generating the translation table.

6. The method according to claim 1 , wherein the processor device is a multi-core processor and the translation table is shared between two or more core processors within the multi-core processor.

7. The method according to claim 1 , wherein the processor device is a multi-core processor and each core processor within the multi-core processor maintains a translation table independent of any other core processor.

8. The method according to claim 1 , wherein each uncompressed process context identifier includes one or more uncompressed fields.

9. The method according to claim 8 , wherein at least one uncompressed field within each uncompressed process context identifier is translated into a compressed field within the corresponding compressed identifier.

10. The method according to claim 8 , wherein at least one uncompressed field within each uncompressed process context identifier is not translated into a compressed field within the corresponding compressed identifier based on an indication to omit the at least one uncompressed field.

11. The method according to claim 8 , wherein each uncompressed process context identifier includes multiple uncompressed fields and wherein generating each uncompressed process context identifier includes:

translating two or more uncompressed fields of the uncompressed process context identifier into corresponding two or more compressed fields; and

concatenating the two or more compressed fields to generate the compressed process identifier.

12. The method according to claim 1 , wherein a compressed identifier is associated with a category of computer processes.

13. A processor chip comprising:

one or more core processors, at least one of the one or more core processors configured to:

maintain a translation table mapping uncompressed process context identifiers to corresponding compressed identifiers, the uncompressed process context identifiers and the corresponding compressed identifiers being associated with address spaces or corresponding computer processes; and

employing the compressed identifiers to probe one or more structures of the at least one of the one or more core processors in executing an operation within the processor chip;

wherein in executing the operation, the at least one of the one or more core processors is further configured to:

determine whether or not a current compressed identifier is valid;

upon determining that the compressed identifier found is valid, use the valid compressed identifier to probe one or more structures of the at least one of the one or more core processors in executing the operation;

upon determining that the current compressed identifier found is invalid, search the translation table, based on an uncompressed process context identifier corresponding to the operation, for one other compressed identifier mapped to the uncompressed process context identifier.

14. The processor chip according to claim 13 , wherein the one or more structures of the processor device include at least one of a data cache, an instruction cache, a page table walker cache, a translation look-aside buffer (TLB), and a micro translation look-aside buffer (μTLB).

15. The processor chip according to claim 13 , wherein the at least one of the one or more core processors includes a register configured to store a compressed identifier associated with a computer process running in the core processor.

16. The processor chip according to claim 13 , wherein the at least one of the one or more core processors is further configured to:

if said one other compressed identifier is found in the translation table, use said one other compressed identifier to probe one or more structures of the at least one of the one or more core processors in executing the operation; and

if said one other compressed identifier is not found in the translation table, generate, in the translation table, a new compressed identifier mapped to the uncompressed process context identifier, and using the new compressed identifier generated to probe one or more structures of the at least one of the one or more core processors in executing the operation.

17. The processor chip according to claim 13 , wherein the at least one of the one or more core processors is further configured to generate the translation table.

18. The processor chip according to claim 13 , wherein the processor chip is a multi-core processor and two or more core processors are configured to share the same translation table.

19. The processor chip according to claim 13 , wherein the processor chip is a multi-core processor and each core processor is configured to maintain a translation table independent of any other core processor.

20. The processor chip according to claim 13 , wherein each uncompressed process context identifier includes one or more uncompressed fields.

21. The processor chip according to claim 20 , wherein the at least one of the one or more core processors is configured to translate at least one uncompressed field within each uncompressed process context identifier into a compressed field within the corresponding compressed identifier.

22. The processor chip according to claim 20 , wherein the at least one of the one or more core processors is configured not to translate at least one uncompressed field within each uncompressed process context identifier into a compressed field within the corresponding compressed identifier based on an indication to omit the at least one uncompressed field.

23. The processor chip according to claim 20 , wherein each uncompressed process context identifier includes multiple uncompressed fields and wherein the at least one of the one or more core processors is configured to:

translate two or more uncompressed fields of the uncompressed process context identifier into corresponding two or more compressed fields; and

concatenate the two or more compressed fields to generate the compressed process identifier.

24. The processor chip according to claim 13 , wherein a compressed identifier is associated with a category of computer processes.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053179/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2020
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 051948/0807 →
CERTIFICATE OF CONVERSION AND CERTIFICATE OF FORMATION Recorded Oct 2, 2018
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 047185/0422 →
RELEASE OF SECURITY INTEREST Recorded Jul 6, 2018
From: JP MORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: CAVIUM, INC; CAVIUM NETWORKS LLC; QLOGIC CORPORATION
Reel/Frame 046496/0001 →
SECURITY AGREEMENT Recorded Aug 17, 2016
From: CAVIUM, INC.; CAVIUM NETWORKS LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 039715/0449 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2014
From: MUKHERJEE, SHUBHENDU S.; BERTONE, MICHAEL S.; CARLSON, DAVID A.
To: CAVIUM, INC.
Reel/Frame 032033/0150 →