Data processing system having redirecting circuitry and method therefor
First Claim
1. A data processing system comprising:
- a data processor for executing instructions; and
a memory coupled to the data processor, the memory providing instructions to the data processor for execution;
the data processing system further comprising;
circuitry that redirects program flow by identifying an address corresponding to an instruction provided to the data processor for which program execution should be redirected when the instruction is decoded by the data processor, the circuitry for redirecting program flow also generating a control field having an offset specifically corresponding to the address and using the control field to determine when program flow should be redirected, the circuitry for redirecting program flow creating a redirected address value by combining a portion of the control field to a predetermined address, the data processor receiving the instruction, but discarding the instruction prior to execution completion, the data processor implementing redirection of program flow by utilizing the redirected address value.
18 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the present invention relate generally to data processing systems having redirecting circuitry. For example, one embodiment relates to redirecting program flow in a data processing system having a data processor for executing instructions, and circuitry that redirects program flow by identifying an address corresponding to an instruction provided to the data processor for which program execution should be redirected when the instruction is decoded by the data processor. The circuitry also generates a control field having an offset corresponding to the address and using the control field to determine when program flow should be redirected. The circuitry creates a redirected address value by combining a portion of the control field with a predetermined address. The data processor implements redirection of program flow by utilizing the redirected address value. Embodiments also relate to redirecting data accesses and to redirecting program flow while remaining in a same execution context.
-
Citations
38 Claims
-
1. A data processing system comprising:
-
a data processor for executing instructions; and
a memory coupled to the data processor, the memory providing instructions to the data processor for execution;
the data processing system further comprising;
circuitry that redirects program flow by identifying an address corresponding to an instruction provided to the data processor for which program execution should be redirected when the instruction is decoded by the data processor, the circuitry for redirecting program flow also generating a control field having an offset specifically corresponding to the address and using the control field to determine when program flow should be redirected, the circuitry for redirecting program flow creating a redirected address value by combining a portion of the control field to a predetermined address, the data processor receiving the instruction, but discarding the instruction prior to execution completion, the data processor implementing redirection of program flow by utilizing the redirected address value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of redirecting program flow in a data processing system comprising:
-
providing instructions to a data processor for decoding and execution;
identifying an address corresponding to an instruction provided to the data processor for which program execution is to be redirected;
generating a control field having an offset specifically corresponding to the address; and
using the control field to determine when program flow should be redirected and creating a redirected address value by combining a portion of the control field and a predetermined address, wherein the instruction is discarded prior to execution completion and the data processor implements redirection of program flow by using the redirected address value and without providing the data processor with substitute code in order to redirect execution. - View Dependent Claims (12, 13, 14, 15, 16, 17, 19, 20, 21)
-
-
18. A data processing system with memory patching comprising:
-
a data processor for executing instructions;
embedded memory contained within a same integrated circuit as the data processor and coupled to the data processor containing instructions which need to have execution avoided if addressed;
external memory coupled to the data processor and embedded memory, the external memory being external to the same integrated circuit; and
circuitry within the same integrated circuit that implements a memory patch by identifying an address corresponding to an instruction provided to the data processor for which a memory patch is required, the circuitry for implementing the memory patch also generating a control field having an offset specifically assigned to the address and using the control field to signal that a memory patch should occur, the circuitry for implementing the memory patch creating a redirected memory patch address value by combining a portion of the control field to a predetermined base address, the data processor receiving the instruction, but discarding the instruction prior to execution completion, the data processor implementing the memory patch by utilizing the redirected memory patch address value.
-
-
22. A data processing system comprising:
-
a data processor for executing instructions that load data from memory; and
a memory coupled to the data processor, the memory providing data to the data processor in response to the instructions;
the data processing system further comprising;
circuitry that redirects a data access by identifying an address corresponding to a data access requested by an instruction for which a substitute data value should be provided, the circuitry for redirecting also generating a control field having an offset specifically corresponding to the address and using the control field to determine when the data access should be redirected, the circuitry for redirecting creating a redirected address value by combining a portion of the control field to a predetermined address, the data processor implementing redirection of a data access by utilizing the redirected address value to access the substitute data value. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A method of redirecting data accesses in a data processing system comprising:
-
providing instructions to a data processor for execution;
identifying an address corresponding to a data access provided to the data processor in response to an instruction for loading data from memory and for which a substitute data value is to be provided;
generating a control field having an offset specifically corresponding to the address; and
using the control field to determine when data accesses should be redirected and creating a redirected address value by combining a portion of the control field and a predetermined address, wherein the data processor implements redirection by using the redirected address value to access the substitute data value. - View Dependent Claims (33, 34, 35, 36, 37, 38)
-
Specification