发明名称 Method for predicting branch target address based on previous prediction
摘要 A branch target address table is provided for each branch instruction having a plurality of branch targets. Each branch target address table stores a history of a plurality of branch target addresses determined in the past by executing a corresponding branch instruction. A branch target prediction unit predicts a predicted branch target address with respect to a branch instruction with reference to the history of branch target addresses stored in the branch target address table corresponding to the branch instruction. The predicted branch target address obtained as a result of the prediction is stored, for example, in a predicted branch target address storage unit in association with the branch instruction, and is referenced by an instruction fetch control unit at the time of prefetching a branch target instruction.
申请公布号 US8751776(B2) 申请公布日期 2014.06.10
申请号 US201313914002 申请日期 2013.06.10
申请人 Fujitsu Limited 发明人 Ukai Megumi
分类号 G06F9/40 主分类号 G06F9/40
代理机构 代理人
主权项 1. An arithmetic processing apparatus comprising: a plurality of branch target address tables provided for respective branch instructions each having a plurality of branch targets and configured to store a history of a plurality of branch target addresses determined in a past by executing the respective branch instructions; and a branch target prediction unit configured to predict a predicted branch target address with respect to a branch instruction with reference to the history of the branch target addresses stored in a branch target address table corresponding to the branch instruction; wherein: in a first period before a branch target prediction based on a predicted branch target address predicted by the branch target prediction unit with respect to a branch instruction that completed execution is correct for first time, the branch target prediction unit sequentially registers, each time the branch instruction completes execution, a branch target address determined based on the completed branch instruction in an entry in order from a topmost entry of a branch target address table corresponding to the completed branch instruction, and outputs a branch target address registered in the topmost entry of the branch target address table corresponding to the completed branch instruction, as the predicted branch target address, and in a second period after the branch target prediction based on the predicted branch target address predicted by the branch target prediction unit with respect to the branch instruction that completed execution is correct for the first time, the branch target prediction unit sequentially selects, each time the branch instruction completes execution, an entry having a branch target address registered therein, in order from a topmost one of entries of the branch target address table corresponding to the completed branch instruction, and outputs a branch target address registered in the selected entry, as the predicted branch target address.
地址 Kawasaki JP