Patent ID: 9495170
Filing Date: 2016-11-15
CPC Classification: G06F

Claim Text:
1. A method for tracking stall reasons comprising: during a pipeline stall in a processor, repeating the following steps until a complete indicator of completion of a next to complete instruction group is received from a completion unit of a processor: incrementing a count in a counter each clock cycle; receiving, from the completion unit, a next to finish indicator of the finish of an oldest unfinished instruction from among a plurality of instructions of the next to complete instruction group, the next to finish indicator specifying at least one unit identifier of at least one particular functional unit from among a plurality of functional units of the processor; receiving, from the plurality of functional units of the processor, a plurality of finish reports indicating completion reasons for a plurality of separate instructions; responsive to receiving the next to finish indicator, determining whether the at least one unit identifier specified with the next to finish indicator matches a unit identifier specified in a particular finish report of the plurality of finish reports; responsive to the at least one unit identifier matching the unit identifier specified in the particular finish report of the plurality of finish reports, stopping the counter and deriving, from the particular finish report, at least one stall reason from among a plurality of stall reasons; responsive to deriving the at least one stall reason from the particular finish report, setting at least one reason counter specified for the at least one stall reason from among a plurality of reason counters each assigned a separate stall reason with the count in the counter, wherein the count in the counter indicates a number of stall cycles for execution of the next to finish instruction; and responsive to setting the at least one reason counter with the count in the counter, resetting the counter and setting the counter to increment for each clock cycle.