IP Library Granted Patent US 8,719,544
Granted Patent B2
US 8,719,544 · App. 13/243,943 · Granted May 6, 2014

Translated memory protection apparatus for an advanced microprocessor

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 8,719,544
App. No.
13/243,943
Granted
May 6, 2014
Kind
B2
Abstract

A method of responding to an attempt to write a memory address including a target instruction which has been translated to a host instruction for execution by a host processor including the steps of marking a memory address including a target instruction which has been translated to a host instruction, detecting a memory address which has been marked when an attempt is made to write to the memory address, and responding to the detection of a memory address which has been marked by protecting a target instruction at the memory address until it has been assured that translations associated with the memory address will not be utilized before being updated.

Claims (44)

1. A method comprising:

responsive to an attempt to execute a plurality of source instructions, translating the source instructions into a plurality of translated instructions;

modifying the translated instructions to form a plurality of modified translated instructions, wherein the modifying comprises changing an execution order of at least one instruction in the translated instructions; and

storing and executing the modified translated instructions.

2. The method of claim 1 , wherein the modifying comprises:

eliminating at least one instruction from the translated instructions.

3. The method of claim 1 , wherein the modifying comprises:

renaming a portion of at least one instruction of the translated instructions.

4. The method of claim 1 , wherein the translated instructions include a loop, and wherein the modifying comprises:

moving at least one instruction out of the loop of the translated instructions.

5. The method of claim 1 , further comprising:

responsive to a subsequent attempt to execute the source instructions, retrieving and executing the modified translated instructions.

6. The method of claim 1 , wherein the modifying comprises:

determining whether to modify the plurality of translated instructions; and

responsive to a determination to modify the plurality of translated instructions, modifying the translated instructions to form the plurality of modified translated instructions.

7. A method comprising:

responsive to an attempt to execute a plurality of source instructions, determining whether the source instructions have been translated into a plurality of stored translated instructions;

if the source instructions have been translated into the translated instructions, executing the stored translated instructions; and

if the source instructions are untranslated, translating the source instructions into a plurality of translated instructions,

modifying the translated instructions to form a plurality of modified translated instructions, wherein the modifying comprises changing an execution order of at least one instruction in the translated instructions, and

storing and executing the modified translated instructions.

8. The method of claim 7 , wherein the modifying comprises:

eliminating at least one instruction from the translated instructions.

9. The method of claim 7 , wherein the modifying comprises:

renaming a portion of at least one instruction of the translated instructions.

10. The method of claim 7 , wherein the translated instructions include a loop, and wherein the modifying comprises:

moving at least one instruction out of the loop of the translated instructions.

11. The method of claim 7 , further comprising:

responsive to a subsequent attempt to execute the source instructions, retrieving and executing the modified translated instructions.

12. The method of claim 7 , wherein the modifying comprises:

determining whether to modify the plurality of translated instructions; and

responsive to a determination to modify the plurality of translated instructions, modifying the translated instructions to form the plurality of modified translated instructions.

13. An apparatus comprising:

means for translating a plurality of source instructions into a plurality of translated instructions responsive to an attempt to execute the source instructions;

means for modifying the translated instructions to form a plurality of modified translated instructions, wherein the means for modifying comprises means for changing an execution order of at least one instruction in the translated instructions;

means for storing the modified translated instructions; and

means for executing the modified translated instructions.

14. The apparatus of claim 13 , wherein the means for modifying comprises:

means for eliminating at least one instruction from the translated instructions.

15. The apparatus of claim 13 , wherein the means for modifying comprises:

means for renaming a portion of at least one instruction of the translated instructions.

16. The apparatus of claim 13 , wherein the translated instructions include a loop, and wherein the means for modifying comprises:

means for moving at least one instruction out of the loop of the translated instructions.

17. The apparatus of claim 13 , wherein the means for storing comprises a translation memory buffer.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2020
From: INTELLECTUAL VENTURES ASSETS 154 LLC
To: LIBERTY PATENTS LLC
Reel/Frame 051632/0864 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR'S NAME PREVIOUSLY RECORDED AT REEL: 036711 FRAME: 0160. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 6, 2015
From: INTELLECTUAL VENTURES FUNDING LLC
To: INTELLECTUAL VENTURES HOLDING 81 LLC
Reel/Frame 036797/0356 →
MERGER Recorded Sep 29, 2015
From: INTELLECTUAL VENTURE FUNDING LLC
To: INTELLECTUAL VENTURES HOLDING 81 LLC
Reel/Frame 036711/0160 →