PATCHABLE AND/OR PROGRAMMABLE DECODE USING PREDECODE SELECTION
First Claim
1. A processor that implements an instruction set, wherein at least some of the instructions thereof are natively executed and at least some instructions thereof are expanded for execution as counterpart sequences of one or more operations, and wherein the set of instructions expanded for execution is modifiable post manufacture using a programmable predecode block of the processor.
3 Assignments
0 Petitions
Accused Products
Abstract
Mechanisms have been developed for providing great flexibility in processor instruction handling, sequencing and execution. In particular, it has been discovered that a configurable predecode mechanism can be employed to select, for respective instruction patterns, between fixed decode and programmable decode paths provided by a processor. In this way, a patchable and/or programmable decode mechanism can be efficiently provided. In some realizations, either (or both) predecode or (and) decode may be configured or reconfigured post-manufacture. In some realizations, either (or both) predecode or (and) decode may be configured at (or about) initialization. In some realizations, either (or both) predecode or (and) decode may be configured at run-time.
26 Citations
23 Claims
- 1. A processor that implements an instruction set, wherein at least some of the instructions thereof are natively executed and at least some instructions thereof are expanded for execution as counterpart sequences of one or more operations, and wherein the set of instructions expanded for execution is modifiable post manufacture using a programmable predecode block of the processor.
-
3. A processor comprising:
-
an instruction decode block including both a fixed decode path and a configurable decode path that includes a programmable multi-entry store from which, for a first subset, less that all, of instructions executed by the processor, programmable sequences of one or more decoded operations are generated; and
a predecode path that is configurable to select, for respective instruction patterns, one of the fixed decode path and the configurable decode path. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method of operating a processor, the method comprising:
-
for a given instruction sequence including at least two instruction patterns, decoding at least a first one of instruction patterns using a fixed decode path and decoding at least a second one of instruction patterns using a configurable decode path; and
selecting, for a given instruction pattern, either the fixed decode path or the configurable decode path, wherein the selecting is performed at predecode using a configurable predecode facility. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A computer program product comprising:
-
a computer readable encoding of an instruction sequence of instructions executable by a processor, the instruction sequence consisting of instructions from an instruction set implemented by the processor;
the instruction sequence executable by the processor to define content of a programmable decode store of the processor, thereby defining decode information of the processor for at least a subset of instructions of the instruction set and modifying execution behavior of the processor. - View Dependent Claims (20, 21, 22)
-
-
23. An apparatus comprising:
-
means for decoding at least a first instruction pattern of an instruction sequence using a fixed decode path;
means for decoding at least a second instruction pattern of the instruction sequence using a configurable decode path; and
means for selecting, for a given instruction pattern, either the fixed decode path or the configurable decode path, wherein the selecting means includes configurable predecode means.
-
Specification