Microprocessor architecture having extendible logic
AssigneeSynopsys, Inc.
InventorsJames Robert Howard Hakewill, Richard A. Fuhler
Life of this patent
Estimating the term…
Abstract
A microprocessor architecture having extendible logic. One or more customized applications are available to the instruction pipeline. The customizable applications may include software, extension logic instruction or register, dynamically configurable hardware logic, or combinations of these. In order to enable the operating system to interface with the customized extension applications, at least one software extension is provided to the operating system. When a specific extension is requested a software exception is generated by the OS. In response to the exception, the least one software extension is called to handle context switch and dynamic configuration of the extendible logic of the microprocessor.
Claims20
An extendible microprocessor system comprising:
- a microprocessor including a microprocessor instruction set;
- and
- an extension interface coupled to the microprocessor, the extension interface including customized processor instructions adding functionality to the microprocessor instruction set included in the microprocessor, the customized processor instructions associated with an illegal instruction exception and an extension disabled exception, the illegal instruction exception indicating that access to one or more of the customized processor instructions is prohibited and the extension disabled exception indicating that one or more of the customized processor instructions is available;
- a system coupled to the microprocessor via the extension interface, the system configured to:
- generate, based on whether one of the customized processor instructions is required by a program, either the illegal instruction exception or the extension disabled extension when the one of the customized processor instructions is requested by the program;
- and
- perform, responsive to the extension disabled exception due to the program requiring the requested one of the customized processor instructions, context switching of data contained within the requested one of the customized processor instructions.
A method of selectively providing context switch support for extendible microprocessor logic of a microprocessor to a system executing on the microprocessor, the method comprising:
- providing, by the system, at least one software extension defining customized processor instructions that add functionality to a microprocessor instruction set included in the microprocessor, the customized processor instructions associated with an illegal instruction exception and an extension disabled exception, the illegal instruction exception indicating that access to at least one customized processor instruction is prohibited and the extension disabled exception indicating that the at least one customized processor instruction is available but access is currently disabled;
- causing the at least software extension to determine whether an exception generated responsive to a program requesting at least one of the customized processor instructions is either the illegal instruction exception or the extension disabled extension based on whether the at least one of the customized processor instructions being required by the program;
- and
- in response to the extension disabled exception due to the program requiring the at least one of the customized processor instructions, calling the at least one software extension to perform context switching of data contained within the at least one of the customized processor instructions.
A system for selectively providing context switch support for extendible microprocessor logic of a microprocessor, the system including:
- a non-transitory computer-readable storage medium storing instructions, the instructions configured to:
- provide at least one software extension defining customized processor instructions that add functionality to a microprocessor instruction set included in the microprocessor, the customized processor instructions associated with an illegal instruction exception and an extension disabled exception, the illegal instruction exception indicating that access to at least one customized processor instruction is prohibited and the extension disabled exception indicating that the at least one customized processor instruction is available but access is currently disabled;
- cause the at least software extension to determine whether an exception generated responsive to a program requesting at least one of the customized processor instructions is either the illegal instruction exception or the extension disabled extension based on whether the at least one of the customized processor instructions being required by the program;
- and
- in response to the extension disabled exception due to the program requiring the at least one of the customized processor instructions, call the at least one software extension to perform context switching of data contained within the at least one of the customized processor instructions.
Dependencies are inferred from the claim text.