Patent ID: 8253748

Claim:
A system for observing event occurrences within a processing unit, the system comprising: a first functional unit configured to generate a first plurality of event signals and including a first event multiplexer and a second event multiplexer, wherein the first event multiplexer is configured to select a first event signal from the first plurality of event signals, and the second event multiplexer is configured to select a second event signal from the first plurality of event signals; a second functional unit configured to generate a second plurality of event signals and including a third event multiplexer and a fourth event multiplexer, wherein the third event multiplexer is configured to select a third event signal from the second plurality of event signals, and the fourth event multiplexer is configured to select a fourth event signal from the second plurality of event signals; a first block select multiplexer configured to receive the first event signal from the first event multiplexer and the third event signal from the third event multiplexer; a second block select multiplexer configured to receive the second event signal from the first event multiplexer and the fourth event signal from the fourth event multiplexer; a function generator configured to produce an event function, wherein the first block select multiplexer selects and transmits either the first event signal or the third event signal to the function generator, and the second block select multiplexer selects and transmits either the second event signal or the fourth event signal to the function generator, and wherein the event function produced by the function generator is based on the event signals selected by the first and second block select multiplexers; and a performance register coupled to the function generator and configured to increment each time the function generator produces the event function, wherein a behavior of a program executed by the processing unit is modified based on contents of the performance register.