Program instruction fusion
AssigneeArm Limited
InventorsVladimir VASEKIN, Chiloda Ashan Senarath PATHIRANE, Jungsoo KIM, Alexei FEDOROV
Life of this patent
Estimating the term…
Abstract
A data processing system 2 includes an instruction pipeline 14 containing instruction queue circuitry 28, fusion circuitry 30 and decoder circuitry 32. The fusion circuitry 30 serves to identify fusible groups of program instructions within a Y-wide window of program instructions and supply a stream of program instructions including such replacement fused program instructions to a X-wide decoder circuitry 32 which decodes X program instructions in parallel using parallel decoders 40, 42, 44.
Claims11
Apparatus for processing data comprising:
- instruction queue circuitry to queue pre-fusion program instructions to be executed;
- fusion circuitry to receive said pre-fusion program instructions from said instruction queue circuitry and to identify and replace fusible groups within said pre-fusion program instructions with respective fused program instructions to form post-fusion program instructions;
- and
- decoder circuitry to receive said post-fusion program instructions from said fusion circuitry and to decode said post-fusion program instructions;
- wherein
- said decoder circuitry decodes in parallel up to X of said post-fusion program instructions, where X is an integer equal to or greater than one;
- and
- said fusion circuitry identifies said fusible groups within a window of Y pre-fusion program instructions, where Y is an integer greater than X.
Apparatus for processing data comprising:
- instruction queuing means for queuing pre-fusion program instructions to be executed;
- fusing means for receiving said pre-fusion program instructions from said instruction queuing means and for identifying and replacing fusible groups within said pre-fusion program instructions with respective fused program instructions to form post-fusion program instructions;
- and
- decoding means to receive said post-fusion program instructions from said fusing means and to decode said post-fusion program instructions;
- wherein
- said decoding means decodes in parallel up to X of said post-fusion program instructions, where X is an integer equal to or greater than one;
- and
- said fusing means identifies said fusible groups within a window of Y pre-fusion program instructions, where Y is an integer greater than X.
A method of processing data comprising:
- queuing pre-fusion program instructions to be executed within instruction queue circuitry;
- using fusion circuitry to receive said pre-fusion program instructions from said instruction queue circuitry and to identify and replace fusible groups within said pre-fusion program instructions with respective fused program instructions to form post-fusion program instructions;
- and
- using decoder circuitry to receive said post-fusion program instructions from said fusion circuitry and to decode said post-fusion program instructions;
- wherein
- said decoder circuitry decodes in parallel up to X of said post-fusion program instructions, where X is an integer equal to or greater than one;
- and
- said fusion circuitry identifies said fusible groups within a window of Y pre-fusion program instructions, where Y is an integer greater than X.
Dependencies are inferred from the claim text.