A method and apparatus to monitor the performance of a processor. A
performance specifier specifies a performance data corresponding to the
performance. The performance data includes an event and an instruction
causing the event. A tag generator is coupled to the performance specifier
to generate a performance tag associated with the instruction. The
performance tag is stored in a storage. A retirement performance monitor
is coupled to the storage to extract the performance tag when the
instruction is retired.