Method And System For Automated, Static Instrumentation For Applications Designed For Execution In Environments With Restricted Resources, Like Mobile Devices Or TV Set Top Boxes
US-2016202960-A1 · Jul 14, 2016 · US
US9317263B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9317263-B2 |
| Application number | US-201414513402-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 14, 2014 |
| Priority date | Dec 30, 2011 |
| Publication date | Apr 19, 2016 |
| Grant date | Apr 19, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Hardware compilation and/or translation with fault detection and roll back functionality are disclosed. Compilation and/or translation logic receives programs encoded in one language, and encodes the programs into a second language including instructions to support processor features not encoded into the original language encoding of the programs. In one embodiment, an execution unit executes instructions of the second language including an operation-check instruction to perform a first operation and record the first operation result for a comparison, and an operation-test instruction to perform a second operation and a fault detection operation by comparing the second operation result to the recorded first operation result. In some embodiments, an execution unit executes instructions of the second language including commit instructions to record execution checkpoint states of registers mapped to architectural registers, and roll-back instructions to restore the registers mapped to architectural registers to previously recorded execution checkpoint states.
Opening claim text (preview).
What is claimed is: 1. A method for deploying new processor features, the method comprising: receiving an executable thread portion in a processor; encoding the executable thread portion by recompilation, translation, or instrumentation to include one or more new instructions to support one or more new processor features not encoded in the encoding of the executable thread portion, wherein said one or more new instructions to support one or more new processor features comprises a roll-back instruction; and executing the executable thread portion to utilize said one or more new processor features. 2. The method of claim 1 wherein said one or more new processor features supported by the roll-back instruction comprises restoring registers mapped to architectural registers to a previous execution checkpoint state. 3. The method of claim 1 wherein said one or more new instructions to support one or more new processor features comprises a commit instruction. 4. The method of claim 3 wherein said one or more new processor features supported by the commit instruction comprises recording an execution checkpoint state of registers mapped to architectural registers. 5. The method of claim 3 wherein said one or more new processor features supported by the roll-back instruction and the commit instruction comprise speculative modification of state in registers mapped to architectural registers and restoration of those registers to a previous execution checkpoint state. 6. The method of claim 5 wherein said one or more new processor features supported by the roll-back instruction and the commit instruction comprise fault tolerance and fault detection. 7. The method of claim 5 wherein said one or more new processor features supported by the roll-back instruction and the commit instruction comprise virus detection. 8. The method of claim 1 wherein said one or more new instructions to support one or more new processor features comprises an operation-test instruction. 9. The method of claim 8 wherein said one or more new processor features supported by the operation-test instruction comprises a fault detection operation comparing an operation result to a previous operation result. 10. The method of claim 8 wherein said one or more new instructions to support one or more new processor features comprises an operation-check instruction. 11. The method of claim 10 wherein said one or more new processor features supported by the operation-check instruction comprises recording an operation result for a comparison by a future operation-test instruction. 12. An article of manufacture comprising: a non-transitory machine-accessible medium storing data and instructions for supporting new processor features such that, when accessed by a machine, cause the machine to: receive an executable thread portion in a processor; encode the executable thread portion by recompilation, translation, or instrumentation to include one or more new instructions to support one or more new processor features not encoded in the executable thread portion, wherein said one or more new instructions to support one or more new processor features comprises a roll-back instruction; and execute the executable thread portion to utilize said one or more new processor features. 13. The article of manufacture of claim 12 wherein said one or more new processor features supported by the roll-back instruction comprises restoring registers mapped to architectural registers to a previous execution checkpoint state. 14. The article of manufacture of claim 12 wherein said one or more new instructions to support one or more new processor features comprises a commit instruction. 15. The article of manufacture of claim 14 wherein said one or more new processor features supported by the commit instruction comprises recording an execution checkpoint state of registers mapped to architectural registers. 16. The article of manufacture of claim 14 wherein said one or more new processor features supported by the roll-back instruction and the commit instruction comprise speculative modification of state in registers mapped to architectural registers and restoration of those registers to a previous execution checkpoint state. 17. The article of manufacture of claim 16 wherein said one or more new processor features supported by the roll-back instruction and the commit instruction comprise fault tolerance and fault detection. 18. The article of manufacture of claim 16 wherein said one or more new processor features supported by the roll-back instruction and the commit instruction comprise virus detection. 19. A processor comprising: logic to receive an executable program portion, and encode the executable program portion by recompilation, translation, or instrumentation to include one or more new instructions to support one or more new processor features not encoded in the executable program portion; and an execution unit, responsive to said one or more new instructions to support the one or more new processor features, to execute: an operation-check instruction to perform a first operation and record a result of the first operation for a comparison, and an operation-test instruction to perform a second operation and a fault detection by comparing a result of the second operation to the recorded first operation result. 20. The processor of claim 19 wherein said execution unit, responsive to said one or more new instructions to support the one or more new processor features, is also to execute: a commit instruction to record an execution checkpoint state of registers mapped to architectural registers of the processor, and a roll-back instruction to restore the registers mapped to architectural registers of the processor to the execution checkpoint state. 21. A multiprocessor comprising: logic to receive a first executable program portion, and encode the first executable program portion by recompilation, translation, or instrumentation to include one or more new instructions to support one or more new processor features not encoded in the first executable program portion; and a first execution unit, responsive to said one or more new instructions to support the one or more new processor features, to execute: a first commit instruction to record a first execution checkpoint state of registers mapped to architectural registers of the first executable program portion, and a first roll-back instruction to restore the registers mapped to architectural registers of the first executable program portion to the first execution checkpoint state. 22. The multiprocessor of claim 21 wherein said logic is to receive a second executable program portion, and encode the second executable program portion by recompilation, translation, or instrumentation to include the one or more new instructions to support the one or more new processor features not encoded in the second executable program portion, the multiprocessor comprising: a second execution unit, responsive to said one or more new instructions to support the one or more new processor features, to execute: a second commit instruction to record a second execution checkpoint state of registers mapped to architectural registers of the second executable program portion, and a second roll-back instruction to restore the registers mapped to architectural registers of the second executable program portion to the second execution checkpoint state. 23. The multiprocessor of claim 22
Error or fault detection not based on redundancy (power supply failures G06F1/30; network fault management H04L41/06) · CPC title
using multiple copies of the architectural state, e.g. shadow registers · CPC title
Encoding · CPC title
with multiple register sets · CPC title
Arithmetic instructions · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.