US2012221838A1PendingUtilityA1

Software programmable hardware state machines

48
Assignee: BANERJEE SOUMYAPriority: Sep 8, 2006Filed: Feb 24, 2012Published: Aug 30, 2012
Est. expirySep 8, 2026(~0.1 yrs left)· nominal 20-yr term from priority
G06F 11/2236
48
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

The present invention provides software programmable hardware state machines to detect a cause of an error in a processor and prevent the error from occurring. A processor core is provided that includes an execution unit, a programmable mask register and a buffer that stores values representing instructions dispatched to the execution unit. The processor core also includes control logic to determine whether there is a match between a sequence in the mask register and a sequence in the buffer and, upon detecting a match, to generate control signals to perform a desired action. The desired action prevents an unwanted change from occurring to the architectural state of the processor. The processor core further comprises a programmable fix register. In an embodiment, the control logic generates the control signals based on control bits stored in the fix register.

Claims

exact text as granted — not AI-modified
1 . A processor, comprising:
 a programmable mask register;   a buffer configured to store values representing a sequence of instructions;   a programmable fix register configured to store control bits; and   control logic configured to determine whether there is a match between a sequence in the programmable mask register and the sequence in the buffer and, upon detecting a match, to generate control signals based on the control bits in the programmable fix register, to perform a desired action.   
     
     
         2 . The processor core of  claim 1 , wherein the control signals prevent an unwanted change in the architectural state of the processor core. 
     
     
         3 . The processor core of  claim 1 , wherein the control signals stall dispatch of a next instruction to the execution unit. 
     
     
         4 . The processor core of  claim 1 , wherein the control signals insert at least one bubble in a pipeline of the processor. 
     
     
         5 . The processor core of  claim 1 , wherein the control signals generate an exception. 
     
     
         6 . The processor core of  claim 1 , wherein the control signals flush at least a portion of a pipeline of the processor. 
     
     
         7 . The processor core of  claim 1 , wherein the control signals delete instructions in the instruction buffer and re-fetch instructions starting from a specified address. 
     
     
         8 . The processor core of  claim 1 , wherein a first value stored in the buffer includes an opcode of an instruction. 
     
     
         9 . The processor core of  claim 1 , wherein a first value stored in the buffer includes an encoded opcode of an instruction. 
     
     
         10 . The processor core of  claim 1 , wherein the buffer stores values representing instructions that are to be dispatched to the execution unit. 
     
     
         11 . The processor core of  claim 1 , further comprising a decoder to decode the instruction and an encoder to selectively encode the bits decoded by the decoder to produce the values stored in the buffer. 
     
     
         12 . A method to detect a sequence of instructions that causes an error in a processor and to implement a solution, the method comprising:
 storing values in a buffer, wherein the values represent a sequence of instructions to be dispatched to an execution unit;   determining whether there is a match between a sequence in a programmable mask register and the sequence in the buffer; and   upon detecting a match, generating control signals based on control bits in a programmable fix register, to perform a desired action.   
     
     
         13 . The method of  claim 12 , wherein the control signals stall dispatch of a next instruction to the execution unit. 
     
     
         14 . The method of  claim 12 , wherein the control signals insert at least one bubble in a pipeline of the processor. 
     
     
         15 . The method of  claim 12 , wherein a first value stored in the buffer includes an encoded opcode of an instruction. 
     
     
         16 . The method of  claim 12 , further comprising decoding an instruction to generated decoded bits and selectively encoding the decoded bits to produce the values stored in the buffer. 
     
     
         17 . The method of  claim 12 , wherein the control signals delete instructions in the instruction buffer and re-fetch instructions starting from a specified address. 
     
     
         18 . A tangible computer readable storage medium comprising a processor embodied in software, the processor comprising:
 a programmable mask register;   a buffer that stores values representing a sequence of instructions;   a programmable fix register configured to store control bits; and   control logic configured to determine whether there is a match between a sequence in the programmable mask register and the sequence in the buffer and, upon detecting a match, to generate control signals based on the control bits in the programmable fix register, to perform a desired action.   
     
     
         19 . The tangible computer readable storage medium of  claim 18 , wherein the control signals prevent an unwanted change in the architectural state of the processor core. 
     
     
         20 . The tangible computer readable storage medium of  claim 18 , wherein the control signals stall dispatch of a next instruction to the execution unit.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.