Programmable instruction trap system and method
First Claim
Patent Images
1. Microprocessor, comprising:
- an instruction fetch unit, disposed to receive a plurality of computer instructions, for retrieving said plurality of computer instructions; and
a programmable instruction trap unit, coupled to said fetch unit, for comparing each of said computer instructions with one of a plurality of programmable values, and for generating an instruction trap control signal for each of said instructions representing a function to be performed for each of said computer instructions in response to said comparisons, said programmable instruction trap unit including;
a plurality of first programmable registers, each of said first programmable registers for automatically receiving and storing a first value representing one or more trap instructions that a user wants to trap, said first value is programmable by said user;
a plurality of first comparators, each disposed to receive one of said computer instructions and one of said programmable register values, for determining if said computer instruction matches said programmable register value;
a plurality of programmable control registers, each of said programmable control registers associated with one of said first programmable registers, for storing a second value representing a function to be performed if said first comparator determines said computer instruction matches said programmable register value; and
a plurality of control units, each coupled to said programmable control registers for generating a plurality of signals representing said second value if one of said first programmable registers matches one of said computer instructions.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method providing a programmable hardware device within a CPU. The programmable hardware device permits a plurality of instructions to be trapped before they are executed. The instructions that are to be trapped are programmable to provide flexibility during CPU debugging and to ensure that a variety of application programs can be properly executed by the CPU. The system must also provide a means for permitting a trapped instruction to be emulated and/or to be executed serially. Related Applications
11 Citations
25 Claims
-
1. Microprocessor, comprising:
-
an instruction fetch unit, disposed to receive a plurality of computer instructions, for retrieving said plurality of computer instructions; and a programmable instruction trap unit, coupled to said fetch unit, for comparing each of said computer instructions with one of a plurality of programmable values, and for generating an instruction trap control signal for each of said instructions representing a function to be performed for each of said computer instructions in response to said comparisons, said programmable instruction trap unit including; a plurality of first programmable registers, each of said first programmable registers for automatically receiving and storing a first value representing one or more trap instructions that a user wants to trap, said first value is programmable by said user; a plurality of first comparators, each disposed to receive one of said computer instructions and one of said programmable register values, for determining if said computer instruction matches said programmable register value; a plurality of programmable control registers, each of said programmable control registers associated with one of said first programmable registers, for storing a second value representing a function to be performed if said first comparator determines said computer instruction matches said programmable register value; and a plurality of control units, each coupled to said programmable control registers for generating a plurality of signals representing said second value if one of said first programmable registers matches one of said computer instructions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 20)
-
-
8. A method for identifying computer program instructions in a microprocessor comprising a plurality of first registers, second registers, and control registers, comprising the steps of:
-
programming all bits in said plurality of first registers, said plurality of second registers, and said plurality of control registers; receiving a plurality of instructions having a plurality of bits; performing a first comparison of each bit of each instruction with an associated bit of each of said first registers; generating a first bit value for each of said first comparisons; performing a second comparison of each of said first bit values with an associated bit of said second register that is associated with said first bit value; and generating a signal representing the contents of an associated control register if said instruction satisfies said second comparison. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A microprocessor for identifying computer program instructions comprising:
-
a plurality of first registers; a plurality of second registers; a plurality of control registers, programming means for programming all bits in said plurality of first registers, said plurality of second registers, and said plurality of control registers; instruction receiving means for receiving a plurality of instructions having a plurality of bits; first comparison means, coupled to said first registers and said instruction receiving means, for performing a first comparison of each bit of each instruction with an associated bit of each of said first registers; first generation means, coupled to said first comparison means, for generating a first bit value for each of said first comparisons; second comparison means, coupled to said first generation means, for performing a second comparison of each of said first bit values with an associated bit of said second register that is associated with said first bit value; and second generation means, coupled to said second comparison means, for generating a signal representing the contents of an associated control register if said instruction satisfies said second comparison. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
21. A computer processing system capable of executing computer instructions asynchronously, comprising:
-
an instruction fetch unit, disposed to receive a plurality of computer instructions, for retrieving said plurality of computer instructions; and a programmable instruction trap unit, coupled to said fetch unit, for comparing each of said computer instructions with one of a plurality of programmable values, and for generating an instruction trap control signal for each of said instructions representing an emulation routine to be performed instead of said computer instructions in response to said comparisons, said programmable instruction trap unit including; a plurality of first programmable registers, each of said first programmable registers for storing a first value representing one or more trap instructions that a user wants to trap, said first value is programmable by said user; a plurality of first comparators, each disposed to receive one of said computer instructions and one of said programmable register values, for determining if said computer instruction matches said programmable register value; a plurality of programmable control registers, each of said programmable control registers associated with one of said first programmable registers, for storing a second value representing a trap synchronizing function to be performed if said first comparator determines said computer instruction matches said programmable register value; and a plurality of control units, each coupled to said programmable control registers, for generating a plurality of signals representing said second value if one of said first programmable registers matches one of said computer instructions. - View Dependent Claims (22, 23, 24, 25)
-
Specification