A method for controlling a pipeline-based processor, the pipeline-based processor comprising at least one pipeline, the at least one pipeline at least including a particular pipeline, wherein the particular pipeline is partitioned into a plurality of pipeline stages based on one or more functions, the plurality of pipeline stages including one or more base pipeline stages and a plurality of enhanced pipeline stages, each enhanced pipeline stage configured to be either a shutdown enhanced pipeline stage or an activated enhanced pipeline stage, all functions of each shutdown enhanced pipeline stage being not activated, at least one function of each activated enhanced pipeline stage being activated, wherein at least one of the plurality of enhanced pipeline stages is configured to be activated while at least another of the plurality of enhanced pipeline stages is shut down, wherein each enhanced pipeline stage has an enhanced stage priority level of at least two different enhanced stage priority levels, at least one of the plurality of enhanced pipeline stages having a different enhanced stage priority level than at least one other of the plurality of enhanced pipeline stages, a particular pipeline stage of the plurality of pipeline stages including at least one base module and a plurality of enhanced modules, each base module of the at least one base module being a partitioned portion of the particular pipeline stage of the particular pipeline of the pipeline-based processor, each enhanced module of the plurality of enhanced modules being a partitioned portion of the particular pipeline stage of the particular pipeline of the pipeline-based processor, each of the at least one base module of the particular pipeline stage being activated while the particular pipeline stage is activated, each enhanced module of the particular pipeline stage having a particular priority level of at least two different enhanced module priority levels, at least one of the plurality of enhanced modules of the particular pipeline stage having a different priority level than at least one other of the plurality of enhanced modules, wherein at least one particular enhanced module of the plurality of enhanced modules of the particular pipeline stage is configured to be activated while at least another particular enhanced module of the plurality of enhanced modules of the particular pipeline stage is shut down, the method comprising:
- determining a change in a workload;
- activating or shutting down, by at least one controller circuit, one or more of the plurality of enhanced pipeline stages based on at least one corresponding enhanced stage priority level of the one or more of the plurality of enhanced pipeline stages and requirements for performance of the workload;
- and
- activating or shutting down, by the at least one controller circuit, one or more of the plurality of enhanced modules of the particular pipeline stage based on at least one corresponding enhanced module priority level of the one or more of the plurality of enhanced modules of the particular pipeline stage and the requirements for the performance of the workload.