IP Library Granted Patent US 9,582,432
Granted Patent B2
US 9,582,432 · App. 15/178,008 · Granted Feb 28, 2017

Instruction and logic for support of code modification in translation lookaside buffers

Inventors: Jaroslaw Topp (Schoeppenstedt, DE); Niranjan L. Cooray (Folsom, CA); Fernando Latorre (Barcelona, ES)
Assignee: Intel Corporation
G06F12/1027G06F9/30003G06F9/30181G06F12/1081G06F2212/1016G06F2212/30G06F2212/50G06F2212/68
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,582,432
App. No.
15/178,008
Granted
Feb 28, 2017
Kind
B2
Abstract

A processor includes a core with logic to execute a translated instruction. The translated instruction is translated from an instruction stored in a memory location. The processor further includes a translation lookaside buffer including logic to store translation indicators from a physical map. Each translation indicator indicates whether a corresponding memory location includes translated code to be protected. The processor further includes a translation indicator agent including logic to determine whether the buffer indicates whether the memory location has been modified subsequent to translation of the instruction.

Claims (39)

1. A processor, comprising:

a processor core including circuitry to execute a translated instruction, the translated instruction translated from an instruction stored in a memory location;

a translation lookaside buffer (TLB) including circuitry to store translation indicators from a physical map, each translation indicator to indicate whether a corresponding memory location includes translated code to be protected; and

a translation indicator agent (XTBA) including circuitry to determine whether the TLB indicates whether the memory location has been modified subsequent to translation of the instruction.

2. The processor of claim 1 , further comprising a page miss handler including circuitry to issue a virtual-to-physical translation, the translation generating an update to the translation indicators of the TLB.

3. The processor of claim 2 , wherein the page miss handler further includes circuitry to issue the virtual-to-physical translation upon a determination by the XTBA that the TLB indicates that the memory location has been modified subsequent to translation of the instruction.

4. The processor of claim 2 , wherein the TLB further includes circuitry to determine the translation indicators from the physical map upon completion of a page walk of an access to physical memory.

5. The processor of claim 2 , wherein the page miss handler further includes circuitry to:

assemble the translation indicators into a vector; and

place the vector into the TLB.

6. The processor of claim 1 , further comprising an input-output engine including circuitry to:

determine a direct memory access to the physical map; and

update the TLB based upon the determined direct memory access.

7. The processor of claim 5 , wherein the input-output engine further includes circuitry to update the TLB upon completion of a last-level page walk of an access to physical memory.

8. At least one non-transitory machine readable storage medium, comprising computer-readable instructions carried on the machine readable medium, the instructions readable by a hardware processor, the instructions, when read and executed, for causing the processor to perform:

executing a translated instruction, the translated instruction translated from an instruction stored in a memory location;

storing translation indicators from a physical map into a translation lookaside buffer (TLB), each translation indicator to indicate whether a corresponding memory location includes translated code to be protected; and

determining whether the TLB indicates whether the memory location has been modified subsequent to translation of the instruction.

9. The at least one non-transitory machine readable storage medium of claim 8 , further comprising instructions to cause the processor to perform issuing a virtual-to-physical translation to generate an update to the translation indicators of the TLB.

10. The at least one non-transitory machine readable storage medium of claim 9 , further comprising instructions to cause the processor to perform issuing the virtual-to-physical translation upon a determination that the TLB indicates that the memory location has been modified subsequent to translation of the instruction.

11. The at least one non-transitory machine readable storage medium of claim 9 , further comprising instructions to cause the processor to perform determining the translation indicators from the physical map upon completion of a page walk of an access to physical memory.

12. The at least one non-transitory machine readable storage medium of claim 8 , further comprising instructions to cause the processor to perform:

determining a direct memory access to the physical map; and

updating the TLB based upon the determined direct memory access.

13. The at least one non-transitory machine readable storage medium of claim 12 , further comprising instructions to cause the processor to perform updating the TLB upon completion of a last-level page walk of an access to physical memory.

14. A system comprising:

a processor core including circuitry to execute a translated instruction, the translated instruction translated from an instruction stored in a memory location;

a translation lookaside buffer (TLB) including circuitry to store translation indicators from a physical map, each translation indicator to indicate whether a corresponding memory location includes translated code to be protected; and

a translation indicator agent (XTBA) including circuitry to determine whether the TLB indicates whether the memory location has been modified subsequent to translation of the instruction.

15. The system of claim 14 , further comprising a page miss handler including circuitry to issue a virtual-to-physical translation generating an update to the translation indicators of the TLB.

16. The system of claim 15 , wherein the page miss handler further includes circuitry to issue the virtual-to-physical translation upon a determination by the XTBA that the TLB indicates that the memory location has been modified subsequent to translation of the instruction.

17. The system of claim 15 , wherein the TLB further includes circuitry to determine the translation indicators from the physical map upon completion of a page walk of an access to physical memory.

18. The system of claim 15 , wherein the page miss handler further includes circuitry to:

assemble the translation indicators into a vector; and

place the vector into the TLB.

19. The system of claim 14 , further comprising an input-output engine including circuitry to:

determine a direct memory access to the physical map; and

update the TLB based upon the determined direct memory access.

20. The system of claim 19 , wherein the input-output engine further includes circuitry to update the TLB upon completion of a last-level page walk of an access to physical memory.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE THIRD INVENTOR'S NAME PREVIOUSLY RECORDED AT REEL: 038862 FRAME: 0760. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 26, 2016
From: TOPP, JAROSLAW; COORAY, NIRANJAN L.; LATORRE, FERNANDO
To: INTEL CORPORATION
Reel/Frame 039482/0478 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2016
From: TOPP, JAROSLAW; COORAY, NIRANJAN L.; LATORRE, FARNANDO
To: INTEL CORPORATION
Reel/Frame 038862/0760 →
Continuity (2)
Continuation 14494781 · Sep 24, 2014
Related Publication 20160292081A1 · Oct 6, 2016