IP Library Granted Patent US 8,549,266
Granted Patent B2
US 8,549,266 · App. 13/155,291 · Granted Oct 1, 2013

System and method of instruction modification

Inventors: John P. Banning (Sunnyvale, CA); Eric Hao (Cupertino, CA); Brett Coon (Milpitas, CA)
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,549,266
App. No.
13/155,291
Granted
Oct 1, 2013
Kind
B2
Abstract

A method and system of instruction modification. A first machine language instruction, which may comprise a plurality of discrete instructions, is fetched. Responsive to a trigger pattern in the first machine language instruction, a segment of the first machine language instruction is modified. Information can be substituted into the segment based on specifics outlined in the trigger pattern. Alternatively, information can be combined with the segment via logical and/or arithmetic operations. Modification of the segment produces a second machine language instruction that is executed by units of the processor. In one embodiment, information may be taken from a queue and used to replace data from the segment. How information is taken from the queue and how the information so taken is used to replace fields of the segment are defined by the trigger pattern.

Claims (34)

1. A method comprising:

accessing from memory an instruction word comprising a plurality of instruction segments and a trigger portion;

based on said trigger portion, identifying a portion of information of a memory queue for selection thereof;

based on said trigger portion, identifying a portion of one of said plurality of instruction segments;

modifying said portion of said one of said plurality of instruction segments with said portion of information of said memory queue; and

dispatching said one of said plurality of instruction segments, as modified by said modifying, to an execution unit of a processor.

2. The method of claim 1 wherein said instruction word is of a Very Long Instruction Word (VLIW) type.

3. The method of claim 2 further comprising advancing a position of said memory queue in response to a bit field of said trigger portion.

4. The method of claim 2 wherein said trigger portion and said one of said plurality of instruction segments are both specific to said execution unit.

5. The method of claim 4 wherein said execution unit is a memory execution unit.

6. The method of claim 4 wherein said execution unit is an arithmetic logic unit (ALU).

7. The method of claim 4 wherein said execution unit is a floating point unit (FPU).

8. The method of claim 4 wherein said execution unit is a branch unit.

9. The method of claim 4 wherein said identifying and said modifying are performed by microcode internal to said processor.

10. A method comprising:

accessing a machine language instruction from memory;

recognizing a trigger pattern in said machine language instruction;

identifying a portion of said machine language instruction; and

modifying said portion of said machine language instruction to form a second machine language instruction.

11. The method of claim 10 wherein said identifying comprises decoding said trigger pattern to identify said portion of said machine language instruction.

12. The method of claim 10 wherein said portion of said machine language instruction is identified according to a type of said portion.

13. The method of claim 10 wherein said portion of said machine language instruction is identified according to a location of said portion within said machine language instruction.

14. An apparatus comprising:

means for accessing from memory an instruction word comprising a plurality of instruction segments and a trigger portion;

means for identifying a portion of information of a memory queue for selection thereof based on said trigger portion;

means for based on said trigger portion, identifying a portion of one of said plurality of instruction segments based on said trigger portion;

means for modifying said portion of said one of said plurality of instruction segments with said portion of information of said memory queue; and

means for dispatching said one of said plurality of instruction segments, as modified by said modifying, to an execution unit of a processor.

15. The apparatus of claim 14 wherein said instruction word is of a Very Long Instruction Word (VLIW) type.

16. The apparatus of claim 15 further comprising means for advancing a position of said memory queue in response to a bit field of said trigger portion.

17. The apparatus of claim 15 wherein said trigger portion and said one of said plurality of instruction segments are both specific to said execution unit.

18. The apparatus of claim 17 wherein said execution unit is a memory execution unit.

19. The apparatus of claim 17 wherein said execution unit is an arithmetic logic unit (ALU).

20. The apparatus of claim 17 wherein said execution unit is a floating point unit (FPU).

Assignments (2)
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 →
Continuity (4)
Continuation 12698809 · Feb 2, 2010
Division 10672790 · Sep 26, 2003
Provisional Application 60488222 · Jul 16, 2003
Related Publication 20110238961A1 · Sep 29, 2011