IP Library › Granted Patent US 7,831,813
Granted Patent B2
US 7,831,813 · App. 11/957,848 · Granted Nov 9, 2010

Uses of known good code for implementing processor architectural modifications

Assignee: GLOBALFOUNDRIES Inc.
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 7,831,813
App. No.
11/957,848
Granted
Nov 9, 2010
Kind
B2
Abstract

In one embodiment, a processor comprises a programmable map and a circuit. The programmable map is configured to store data that identifies at least one instruction for which an architectural modification of an instruction set architecture implemented by the processor has been defined, wherein the processor does not implement the modification. The circuitry is configured to detect the instruction or its memory operands and cause a transition to Known Good Code (KGC), wherein the KGC is protected from unauthorized modification and is provided from an authenticated entity. The KGC comprises code that, when executed, emulates the modification. In another embodiment, an integrated circuit comprises at least one processor core; at least one other circuit; and a KGC source configured to supply KGC to the processor core for execution. The KGC comprises interface code for the other circuit whereby an application executing on the processor core interfaces to the other circuit through the KGC.

Claims (27)

1. A processor comprising:

a programmable map configured to store data that identifies at least one instruction for which an architectural modification of an instruction set architecture implemented by the processor has been defined, wherein the processor does not implement the architectural modification, and wherein the data in the map includes at least a portion of the instruction encoding; and

circuitry coupled to the programmable map, wherein the circuitry is configured to detect the instruction and cause a transition to Known Good Code (KGC), wherein the KGC is protected from unauthorized modification and is provided from an authenticated entity, and wherein the KGC comprises code that, when executed, emulates the modification.

2. The processor as recited in claim 1 wherein the circuitry is configured to cause the transition to KGC prior to the instruction reaching an execution stage in the processor.

3. A processor comprising:

a programmable map configured to store data that identifies at least one instruction for which an architectural modification of an instruction set architecture implemented by the processor has been defined, wherein the processor does not implement the architectural modification; and

circuitry coupled to the programmable map, wherein the circuitry is configured to detect the instruction and cause a transition to Known Good Code (KGC), wherein the KGC is protected from unauthorized modification and is provided from an authenticated entity, and wherein the KGC comprises code that, when executed, emulates the modification, and wherein the circuitry is configured to cause the transition to KGC during execution of the instruction.

4. The processor as recited in claim 3 wherein the data in the map identifies an event that occurs during execution of the instruction.

5. The processor as recited in claim 3 wherein the data in the map corresponds to data generated during execution of the instruction.

6. The processor as recited in claim 3 wherein the data in the map corresponds to an address generated during execution of the instruction.

7. The processor as recited in claim 1 further comprising a user state storage and a KGC state storage, wherein the KGC state storage is accessible in the processor only when the KGC is being executed by the processor.

8. The processor as recited in claim 1 wherein the modification is an addition of functionality to the instruction set architecture.

9. The processor as recited in claim 1 wherein the modification is a deletion of functionality to the instruction set architecture, and wherein the KGC emulates the deleted functionality to ensure compatibility with previously-written programs.

10. The processor as recited in claim 1 wherein the programmable map is further programmable to detect an instruction that the processor implemented in a faulty fashion, wherein the KGC is configured to emulate correct operation of the instruction.

11. A method comprising:

programming data that identifies at least one instruction into a processor, wherein the at least one instruction comprises at least one instruction for which an architectural modification of an instruction set architecture implemented by the processor has been defined, and wherein the data in the map includes at least a portion of the instruction encoding; and

detecting the at least one instruction in a code sequence responsive to the data; and

causing a transition to Known Good Code (KGC), wherein the KGC is protected from unauthorized modification and is provided from an authenticated entity, and wherein the KGC comprises code that, when executed, emulates the modification.

12. The method as recited in claim 11 wherein the detecting and the causing occur prior to the instruction reaching an execution stage in the processor.

13. The method as recited in claim 11 wherein the detecting and the causing occur during execution of the instruction.

14. The method as recited in claim 13 wherein the data in the map identifies an event that occurs during execution of the instruction.

15. The method as recited in claim 13 wherein the data in the map corresponds to data generated during execution of the instruction.

16. The method as recited in claim 13 wherein the data in the map corresponds to an address generated during execution of the instruction.

17. The method as recited in claim 11 wherein the modification is an addition of functionality to the instruction set architecture.

18. The method as recited in claim 11 wherein the modification is a deletion of functionality to the instruction set architecture, and wherein the KGC emulates the deleted functionality to ensure compatibility with previously-written programs.

19. The processor as recited in claim 1 wherein the portion of the instruction encoding comprises an opcode of the instruction.

20. The method as recited in claim 11 wherein the portion of the instruction encoding comprises an opcode of the instruction.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded May 12, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES U.S. INC.
Reel/Frame 056987/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 20, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES INC.
Reel/Frame 054636/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2020
From: GLOBALFOUNDRIES INC.
To: GLOBALFOUNDRIES U.S. INC.
Reel/Frame 054633/0001 →
SECURITY AGREEMENT Recorded Nov 29, 2018
From: GLOBALFOUNDRIES INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 049490/0001 →
AFFIRMATION OF PATENT ASSIGNMENT Recorded Aug 18, 2009
From: ADVANCED MICRO DEVICES, INC.
To: GLOBALFOUNDRIES INC.
Reel/Frame 023120/0426 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2007
From: HILLMAN, GARTH D.; STRONGIN, GEOFFREY; RAWSON, ANDREW R.; SIMPSON, GARY H.; FINDEISEN, RALF
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 020257/0154 →
Continuity (1)
Related Publication 20090158015A1 · Jun 18, 2009