Patent ID: 7836447
Filing Date: 2010-11-16
Classification: G06F

Abstract:
1. In a system that shares a performance monitoring unit between multiple execution units, a method comprising: receiving a request from a execution unit of the multiple execution units to start or stop performance monitoring operation of the execution unit; maintaining a correct sequence of requests to start and stop performance monitoring operation by (i) ensuring each stop request corresponds to and follows a corresponding start request for the same execution unit and (ii) ignoring any stop request that does not follow a corresponding start request for the same execution unit; performing arbitration to acquire exclusive execution for one of the multiple execution units based on predetermined criteria and in response to multiple requests to start and stop performance monitoring being received substantially simultaneously; and in response to receiving a request to start performance monitoring operation, (i) allocating a request to start performance monitoring operation based on the correct sequence of requests, (ii) determining a total number of allocated requests to start performance monitoring operation, and (iii) initiating performance monitoring operation; and in response to receiving a request to stop performance monitoring operation, (i) removing a request to start performance monitoring operation by indicating to the system that no request to start performance monitoring operation is pending for the current execution unit, (ii) determining an active mode of performance monitoring operation, and (iii) completing performance monitoring operation.