BACKGROUND OF THE INVENTION
1. Technical Field of the Invention
The invention relates to hardware circuits for verifying 5Q software functionality, and more particularly, to verify software has not skipped critical steps in a program prior to proceeding to a predetermined place in a software algorithm.
2. Description of Related Art
Electronic signals generated by software are used to drive 55 or initiate events of all types. Such signals might be used to actuate a motor which performs a certain function. As an example, an actuation signal might cause an automatic teller machine to dispense money. Another example would be that such a signal could be used to actuate the motor of an 60 electronic lock system for unlocking a door to allow access. As another example, such a signal might be used to provide access to a computer or to data within a computer wherein such data is valuable or confidential and wherein it is critical to maintain data integrity. 65
For each of the above examples, an identification (ID) or signal is received by a system. The system's software
2
compares the received ID with a stored ID to verify that the ID is valid prior to issuing a signal to cause various types of subsequent action or actuation.
For each of the above-mentioned examples, dire consequences could occur if an actuation signal is erroneously issued by the software. In the case of the automatic teller machine, money could be erroneously dispensed. In the case of the electronic lock, unauthorized access to a secured area could occur. In the case of the electronic data base, an erroneous data entry or deletion could occur, thereby corrupting the integrity of the data within.
While it is generally true that devices are tested and placed on the market only after being found to be operational, it is also true that devices occasionally malfunction. For example, if part of generating an initiation signal includes performing a software verification of an identity then, theoretically, such initiation signal would never issue unless the identity of a user was verified and determined to be proper. However, with the use of software algorithms that perform verification, there exists a remote, but real possibility that a computer could, due to a glitch, neglect to perform a verification procedure and erroneously initiate a subroutine that generates an initiation request signal. As such, for those applications where it is important to verify that the software has performed an accurate verification prior to initiating an enable signal, there is a need for an independent hardware circuit which is not subject to software malfunctions which performs a verification that the software completed all the required steps prior to allowing the generation of an initiation signal.
SUMMARY OF THE INVENTION
The presently disclosed invention relates to a system wherein a microprocessor based circuit steps through a predetermined algorithm via firmware and/or software instructions while a hardware circuit checks to make sure that the microprocessor did not skip any critical steps in the instructions prior to completing the algorithm.
The object of the present invention is to provide a system wherein a hardware circuit verifies that a microprocessor has not skipped any critical steps in an instruction set prior to initiating a result of the instruction set.
Another object of the present invention is to provide a system (hat is used to control access wherein prior to providing access the system checks to make sure that the system did not make a mistake in determining that access should be allowed to a user. The system may control a vast variety of access control mechanisms such as locks, doors, money dispensing machines, files, filing systems, etc.
BRIEF DESCRIPTION OF THE DRAWINGS
Other advantages and novel features of the present invention will become apparent from the following detailed description of the invention when considered in conjunction with the accompanying drawings in which:
FIG. 1 is a block diagram illustrating one embodiment of the invention; and
FIG. 2 is a block diagram illustrating the logic circuitry used in one embodiment of the invention.
DETAILED DESCRIPTION OF THE
PRESENTLY PREFERRED EXEMPLARY
EMBODIMENTS
Referring generally to FIG. 1, the purpose of the present invention is to make sure that a microprocessor based