IP Library › Granted Patent US 11,048,513
Granted Patent B2
US 11,048,513 · App. 16/384,537 · Granted Jun 29, 2021

Entering protected pipeline mode with clearing

Inventors: Timothy D. Anderson (University Park, TX); Joseph Zbiciak (San Jose, CA); Duc Bui (Grand Prairie, TX); Mel Alan Phipps (Sugar Land, TX); Todd T. Hahn (Sugar Land, TX)
Assignee: Texas Instruments Incorporated
G06F9/3016G06F9/30014G06F9/30036G06F9/30098G06F9/30112G06F9/30145G06F9/32G06F9/345G06F9/3802G06F9/383G06F9/3867G06F11/00G06F11/1048G06F12/0875G06F12/0897G06F9/3822G06F11/10G06F2212/452G06F2212/60
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 11,048,513
App. No.
16/384,537
Granted
Jun 29, 2021
Kind
B2
Abstract

Techniques related to executing a plurality of instructions by a processor comprising receiving a first instruction for execution on an instruction execution pipeline, wherein the instruction execution pipeline is in a first execution mode, beginning execution of the first instruction on the instruction execution pipeline, receiving an execution mode instruction to switch the instruction execution pipeline to a second execution mode, switching the instruction execution pipeline to the second execution mode based on the received execution mode instruction, annulling the first instruction based on the execution mode instruction, receiving a second instruction for execution on the instruction execution pipeline, the second instruction, and executing the second instruction.

Claims (46)

1. A method for executing a plurality of instructions by a processor, the method comprising:

receiving a first instruction for execution on an instruction execution pipeline while the instruction execution pipeline is in an unprotected execution mode;

beginning execution of the first instruction on the instruction execution pipeline in the unprotected execution mode;

during the execution of the first instruction, receiving an execution mode instruction to switch the instruction execution pipeline to a protected execution mode;

switching the instruction execution pipeline to the protected execution mode based on the received execution mode instruction;

annulling the first instruction based on the execution mode instruction;

receiving a second instruction for execution on the instruction execution pipeline, while the instruction execution pipeline is in the protected execution mode ; and

executing the second instruction on the instruction execution pipeline.

2. The method of claim 1 , wherein the first instruction is configured to output a result to a first memory location.

3. The method of claim 2 , wherein annulling the first instruction comprises not outputting the result to the first memory location.

4. The method of claim 1 , wherein annulling the first instruction comprises at least one of stopping execution of the first instruction, or discarding a result of the first instruction.

5. The method of claim 1 , wherein the first instruction comprises an epilog collapsed instruction.

6. The method of claim 1 , wherein the first instruction is configured to utilize a memory location, wherein the second instruction is configured to utilize the memory location, and wherein the instruction execution pipeline is configured to stall the second instruction when the second instruction uses a same memory location as the first instruction, and wherein annulling the first instruction comprises configuring the instruction execution pipeline to not stall the second instruction.

7. The method of claim 1 , wherein the first instruction is associated with a loop and the execution mode instruction is associated with an early exit of the loop.

8. A processor, comprising:

an instruction execution pipeline having a plurality of pipeline stages; and

pipeline circuitry configured to:

receive a first instruction for execution on an instruction execution pipeline while the instruction execution pipeline is in an unprotected execution mode;

begin execution of the first instruction on the instruction execution pipeline in the unprotected execution mode;

during the execution of the first instruction, receive an execution mode instruction to switch the instruction execution pipeline to a protected execution mode;

switch the instruction execution pipeline to the protected execution mode based on the received execution mode instruction;

annul the first instruction based on the execution mode instruction;

receive a second instruction for execution on the instruction execution pipeline, the second instruction; and

execute the second instruction on the instruction execution pipeline.

9. The processor of claim 8 , wherein the first instruction is configured to output a result to a first memory location.

10. The processor of claim 9 , wherein annulling the first instruction comprises not outputting the result to the first memory location.

11. The processor of claim 8 , wherein annulling the first instruction comprises at least one of stopping execution of the first instruction, or discarding a result of the first instruction.

12. The processor of claim 8 , wherein the first instruction comprises an epilog collapsed instruction.

13. The processor of claim 8 , wherein the first instruction is configured to utilize a memory location, wherein the second instruction is configured to utilize the memory location, and wherein the instruction execution pipeline is configured to stall the second instruction when the second instruction uses a same memory location as the first instruction , and wherein annulling the first instruction comprises configuring the instruction execution pipeline to not stall the second instruction.

14. A processing system comprising:

a memory; and

a processor comprising:

an instruction execution pipeline having a plurality of pipeline stages; and

pipeline circuitry configured to:

receive a first instruction for execution on an instruction execution pipeline while the instruction execution pipeline is in a first execution mode;

begin execution of the first instruction on the instruction execution pipeline in the first execution mode;

during the execution of the first instruction, receive an execution mode instruction to switch the instruction execution pipeline to a second execution mode;

switch the instruction execution pipeline to the second execution mode based on the received execution mode instruction;

annul the first instruction based on the execution mode instruction;

receive a second instruction for execution on the instruction execution pipeline, while the instruction execution pipeline is in the second execution mode; and

execute the second instruction on the instruction execution pipeline.

15. The processing system of claim 14 , wherein the first execution mode comprises an unprotected mode and the second execution mode comprises a protected mode.

16. The processing system of claim 14 , wherein the first instruction is configured to output a result to a first memory location.

17. The processing system of claim 16 , wherein annulling the first instruction comprises not outputting the result to the first memory location.

18. The processing system of claim 14 , wherein annulling the first instruction comprises at least one of stopping execution of the first instruction, or discarding a result of the first instruction.

19. The processing system of claim 14 , wherein the first instruction comprises an epilog collapsed instruction.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2019
From: ANDERSON, TIMOTHY D.; ZBICIAK, JOSEPH; BUI, DUC; PHIPPS, MEL ALAN; HAHN, TODD T.
To: TEXAS INSTRUMENTS INCORPORATED
Reel/Frame 048888/0161 →
Continuity (5)
Continuation In Part 16227238 · Dec 20, 2018
Continuation 15429205 · Feb 10, 2017
Division 14331986 · Jul 15, 2014
Provisional Application 61846148 · Jan 15, 2013
Related Publication 20190243648A1 · Aug 8, 2019