发明名称 Branch predictor suppressing branch prediction of previously executed branch instructions in a transactional execution environment
摘要 Branch prediction is suppressed for specific branch instructions executing in a transaction of a transactional memory (TM) environment, when the specific branch instruction was previously executed in the transaction, in one embodiment the specific branch instruction is suppressed after a predetermined number of executions of the specific instruction in a transaction.
申请公布号 US9477469(B2) 申请公布日期 2016.10.25
申请号 US201414293293 申请日期 2014.06.02
申请人 International Business Machines Corporation 发明人 Gschwind Michael K;Salapura Valentina;Shum Chung-Lung
分类号 G06F9/38;G06F9/30;G06F9/46;G06F9/52 主分类号 G06F9/38
代理机构 代理人 Kinnaman, Jr. William A.
主权项 1. A computer system for suppressing branch prediction for suppressing branch prediction for branch instructions executing in a transaction of a transactional memory (TM) environment, the computer system comprising: a memory; and a processor in communications with the memory, the processor comprising branch prediction facilities, wherein the computer system is configured to perform a method, said method comprising: fetching, for execution, by a processor, a branch instruction in a transaction execution mode; obtaining branch prediction information corresponding to the branch instruction from a branch prediction facility, the branch prediction information comprising a transaction indicator, the transaction indicator indicating whether the branch instruction was previously encountered in a transaction; based on the transaction indicator indicating the branch instruction was previously encountered in a transaction, determining whether to suppress use of corresponding branch prediction information for predicting the branch instruction; based on the transaction indicator indicating the branch instruction was not-previously encountered in a transaction, using corresponding branch prediction information for predicting the branch instruction; and based on the transaction indicator indicating the branch instruction was not-previously encountered in a transaction, setting the transaction indicator to indicate the branch instruction was encountered in a transaction.
地址 Armonk NY US