发明名称 Combined branch target and predicate prediction for instruction blocks
摘要 Embodiments provide methods, apparatus, systems, and computer readable media associated with predicting predicates and branch targets during execution of programs using combined branch target and predicate predictions. The predictions may be made using one or more prediction control flow graphs which represent predicates in instruction blocks and branches between blocks in a program. The prediction control flow graphs may be structured as trees such that each node in the graphs is associated with a predicate instruction, and each leaf associated with a branch target which jumps to another block. During execution of a block, a prediction generator may take a control point history and generate a prediction. Following the path suggested by the prediction through the tree, both predicate values and branch targets may be predicted. Other embodiments may be described and claimed.
申请公布号 US9021241(B2) 申请公布日期 2015.04.28
申请号 US201013321807 申请日期 2010.06.18
申请人 The Board of Regents of The University of Texas System 发明人 Burger Douglas C.;Keckler Stephen W.
分类号 G06F9/38;G06F9/455 主分类号 G06F9/38
代理机构 Moritt Hock & Hamroff LLP 代理人 Moritt Hock & Hamroff LLP ;Rubin, Esq. Steven S.
主权项 1. A computer-implemented method for execution-time prediction of computer instructions, the method comprising: generating, on a computing device, a combined prediction based at least in part on a control point history wherein the combined prediction comprises one or more predictions for predicated instructions and one or more branch target predictions for branch target instructions, wherein the combined prediction relates to one or more blocks of instructions, wherein the control point history was generated at a first time and the combined prediction is generated at a second time, wherein the control point history includes one or more past predicate values evaluated for past predicated instructions and/or past branch targets evaluated for past branch target instructions, and wherein the first time is before the second time; fetching block instructions for the one or more blocks based at least in part on the combined prediction; executing, on the computing device, the one or more predicted predicated instructions based at least in part on the combined prediction; and proceeding with execution on the computing device at a predicted branch target location based at least in part on the one or more branch target predictions.
地址 Austin TX US