Dynamic pipeline reconfiguration including changing a number of stages
AssigneeMarvell International Ltd.
InventorsR. Frank O'Bleness, Sujat Jamil, Timothy S. Beatty, Franco Ricci, Tom Hameenanttila, Hong-Yi Chen
Life of this patent
Estimating the term…
Abstract
According to some embodiments, an apparatus having corresponding methods includes a storage module configured to store data and instructions; a first processor pipeline configured to process the data and instructions when the first processor pipeline is selected; a second processor pipeline configured to process the data and instructions when the second processor pipeline is selected; and a selection module configured to select either the first processor pipeline or the second processor pipeline.
Claims12
An apparatus comprising:
- a storage module configured to store data and instructions;
- a processor pipeline configured to process the data and instructions, wherein the processor pipeline comprises N stages, where N is an integer greater than 1, wherein each of the N stages comprises hardware, and wherein the hardware comprises
- a decoding element configured to generate a first output based on output of a previous stage in the processor pipeline,
- a gated pulse generator comprising a plurality of inputs and configured to generate a second output based on a clock signal, an enable signal, and a control signal, wherein the clock signal and the control signal are received by a respective one of the plurality of inputs, and
- a flip-flop element configured to generate a third output based on the first output and the second output;
- and
- a depth control module configured to generate the enable signal and the control signal to change the number N of the N stages in the processor pipeline.
A method comprising:
- providing a storage module and a processor pipeline, wherein the processor pipeline comprises N stages, where N is an integer greater than 1;
- storing data and instructions in the storage module;
- copying a state of the processor pipeline to the storage module, wherein the state of the processor pipeline comprises states of outputs of processing modules in the N stages of the processor pipeline;
- subsequent to the copying of the state of the processor pipeline, changing the number N of the stages in the state of the processor pipeline in the storage module;
- subsequent to the changing of the number N of the N stages in the state of the processor pipeline in the storage module, copying the state of the processor pipeline from the storage module to the processor pipeline prior to changing the number N of the N stages in the processor pipeline;
- changing the number N of the N stages in the processor pipeline;
- and
- processing the data and instructions with the processor pipeline.
A method comprising:
- providing a storage module and a processor pipeline, wherein the processor pipeline comprises N stages, where N is an integer greater than 1;
- storing data and instructions in the storage module, wherein the processor pipeline is separate from the storage module;
- copying a first state of the processor pipeline to the storage module, wherein the first state of the processor pipeline comprises states of outputs of processing modules in the N stages of the processor pipeline, and wherein the processor pipeline, while in the first state, comprises the N stages;
- subsequent to the copying of the first state of the processor pipeline to the storage module, changing the number N of the stages in the first state of the processor pipeline stored in the storage module to provide a second state of the processor pipeline stored in the storage module, wherein the second state of the processor pipeline stored in the storage module has a different number of stages than the processor pipeline separate from the storage module;
- subsequent to the changing of the number N of the N stages in the first state of the processor pipeline stored in the storage module and prior to changing the number N of the N stages in the processor pipeline separate from the storage module, copying the second state of the processor pipeline from the storage module to the processor pipeline separate from the storage module;
- changing the number N of the N stages in the processor pipeline separate from the storage module;
- and
- processing the data and instructions with the processor pipeline.
Dependencies are inferred from the claim text.