Patent ID: 6418530
Filing Date: 2002-07-09
Classification: G06F

Abstract:
A system for profiling instructions of a program and for selecting a trace of a portion of the instructions of the program, the system comprising:a hardware portion for detecting which instructions of the program are more frequently executed and for maintaining a history of targets chosen by branch instructions of the program; and a software portion for forming the trace of the most frequently executed instructions and using the history in making branch predictions for branch instructions encountered in forming the trace; wherein the hardware portion comprises: a plurality of counters, with one counter associated with at least one instruction of the program, wherein a particular counter is changed each time its associated at least one instruction is executed; and a plurality of memory portions for storing the history of targets chosen by branch instructions of the program, with one memory portion associated with each of the branch instructions of the program, wherein each of the plurality of memory portions maintains information on performance of an associated branch instruction, and the information is maintained for a predetermined number of times of execution of the associated branch instruction.