发明名称 Performance in predicting branches
摘要 A data processing system and computer program product for processing instructions. The instructions are processed by a processor unit while using a first table in a plurality of tables to predict a set of instructions needed by the processor unit after processing of a conditional instruction. An identification is formed that a rate of success in correctly predicting the set of instructions when using the first table is less than a threshold number. A sequence of the instructions being processed by the processor unit is searched for an instruction that matches a marker in a set of markers for identifying when to use the plurality of tables. An identification that the instruction that matches the marker is formed. A second table from the plurality of tables referenced by the marker is identified. The second table is used in place of the first table.
申请公布号 US8972706(B2) 申请公布日期 2015.03.03
申请号 US201113116515 申请日期 2011.05.26
申请人 International Business Machines Corporation 发明人 Chen Wen-Tzer T.;Flemming Diane G.;Maron William A.;Srinivas Mysore S.;Whitworth David B.
分类号 G06F15/00;G06F7/38;G06F9/00;G06F9/44;G06F9/38 主分类号 G06F15/00
代理机构 Yee & Associates, P.C. 代理人 Yee & Associates, P.C. ;Josephs Damion
主权项 1. A computer program product for processing instructions, the computer program product comprising: a set of computer-readable storage devices; program code, stored on one of the set of computer-readable storage devices, configured to identify an order that the instructions would be executed by a processor unit during a simulation of a program while using a first table to predict a set of instructions needed by the processor unit after processing of a conditional instruction; program code, stored on one of the set of computer-readable storage devices, configured to identify a first instruction in the order where a first rate of success in predicting a next instruction needed by the processor unit after a first conditional instruction was less than a first threshold number; program code, stored on one of the set of computer-readable storage devices, configured to create a primary table having a set of table identifiers and a set of instruction identifiers, wherein the set of instruction identifiers identify instructions that mark a start of different phases of the program and the set of table identifiers identify tables to use for the different phases of the program; program code, stored on one of the set of computer-readable storage devices, configured to store information about a first set of instructions appearing in the order after a second conditional instruction into a second table, store an instruction identifier for the instruction as a marker in the primary table, and store a table identifier for the second table in association with the marker in the primary table in response to identifying the first instruction; and program code, stored on one of the set of computer-readable storage devices, configured to load the primary table during processing of the program for determining when to use the second table.
地址 Armonk NY US