Systems and methods for control flow error detection in reduced instruction set computer processors
First Claim
1. A method for control flow error detection in a reduced instruction set computer (RISC) processing system, comprising steps of:
- receiving a signature monitoring instruction;
receiving an instruction;
computing a current signature;
computing a new current signature based on the current signature and the instruction, in response to the signature monitoring instruction;
generating a reference signature based on the instruction;
comparing the new current signature and the reference signature to detect if a control flow error has occurred;
storing the current signature in a current signature memory device;
encountering a branch; and
if the branch is taken, then storing the current signature in a saved signature memory device, and resetting the stored current signature to a new current signature value associated with a target instruction occurring first in the branch.
1 Assignment
0 Petitions
Accused Products
Abstract
An instruction flow monitoring mechanism performs control flow error detection in a reduced instruction set computer (RISC) processor using signature monitoring. The signature monitoring is integrated into the RISC processor such that the instruction set of the RISC processor is enhanced to perform signature checking under all execution conditions. A signature monitor instruction causes the instruction flow to be checked for errors by comparing a pre-computed reference signature with a current signature and raising an error condition if the two signatures are unequal. The instruction also initializes the current signature.
92 Citations
26 Claims
-
1. A method for control flow error detection in a reduced instruction set computer (RISC) processing system, comprising steps of:
-
receiving a signature monitoring instruction; receiving an instruction; computing a current signature; computing a new current signature based on the current signature and the instruction, in response to the signature monitoring instruction; generating a reference signature based on the instruction; comparing the new current signature and the reference signature to detect if a control flow error has occurred; storing the current signature in a current signature memory device; encountering a branch; and if the branch is taken, then storing the current signature in a saved signature memory device, and resetting the stored current signature to a new current signature value associated with a target instruction occurring first in the branch. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A system for control flow error detection in a reduced instruction set computer (RISC) processing system, wherein RISC processing system includes a memory device, comprising:
-
means for receiving an instruction and a signature monitoring instruction; means for retrieving a new signature from said memory device; means for generating a current signature based on said new signature and said instruction wherein said means for generating a current signature is responsive to the signature monitor instruction; means for generating a reference signature based on said instruction; means for comparing said current signature and said reference signature; and means for resetting the current signature, upon entering a branch, to a new current signature value associated with a target instruction in the branch. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
-
23. A system for control flow error detection in a reduced instruction set computer (RISC) processing system, wherein said RISC processing system receives an instruction flow including an instruction, comprising:
-
a reference signature generation mechanism that generates a signature monitoring instruction that is inserted into said instruction flow, and wherein said reference signature generation mechanism further generates a reference signature based on said instruction; a current signature generation mechanism that generates a first current signature utilizing said instruction and a prior current signature previously generated by said current signature generation mechanism, wherein said current signature generation mechanism generates said first current signature in response to said signature monitoring instruction; a current signature register for receiving said first current signature from said current signature generation mechanism and for receiving a second current signature associated with a target instruction in a branch; and a comparator that compares said first current signature from said current signature register and said reference signature from said reference signature generation mechanism if a branch is not taken in order to detect errors in said construction flow, and compare said second current signature from said current signature register and said reference signature from said reference signature generation mechanism if a branch is taken in order to detect errors in said instruction flow. - View Dependent Claims (24, 25)
-
-
26. A method for control flow error detection in a reduced instruction set computer (RISC) processing system, comprising steps of:
-
receiving a signature monitoring instruction; receiving an instruction; computing a current signature; computing a new current signature based on the current signature and the instruction, in response to the signature monitoring instruction; generating a reference signature based on the instruction; comparing the new current signature and the reference signature to detect if a control flow error has occurred; storing the current signature in a current signature memory device; encountering a branch instruction; and if the branch is not taken, then utilizing the stored current signature to generate a new current signature.
-
Specification