发明名称 Conditional non-branch instruction prediction
摘要 A microprocessor processes conditional non-branch instructions that specify a condition and instruct the microprocessor to perform an operation if the condition is satisfied and otherwise to not perform the operation. A predictor provides a prediction about a conditional non-branch instruction. An instruction translator translates the conditional non-branch instruction into a no-operation microinstruction when the prediction predicts the condition will not be satisfied, and into a set of one or more microinstructions to unconditionally perform the operation when the prediction predicts the condition will be satisfied. An execution pipeline executes the no-operation microinstruction or the set of microinstructions. The predictor translates into a second set of one or more microinstructions to conditionally perform the operation when the prediction does not make a prediction. In the case of a misprediction, the translator re-translates the conditional non-branch instruction into the second set of microinstructions.
申请公布号 US9274795(B2) 申请公布日期 2016.03.01
申请号 US201213413258 申请日期 2012.03.06
申请人 VIA TECHNOLOGIES, INC. 发明人 Henry G. Glenn;Parks Terry;Hooker Rodney E.
分类号 G06F9/30 主分类号 G06F9/30
代理机构 代理人 Davis E. Alan;Huffman James W.
主权项 1. A microprocessor that processes conditional non-branch instructions, wherein each conditional non-branch instruction specifies a condition, wherein each conditional non-branch instruction instructs the microprocessor to perform an operation if the condition is satisfied and to not perform the operation if the condition is not satisfied by condition flags of the microprocessor, the microprocessor comprising: a predictor, configured to provide a prediction about a conditional non-branch instruction; an instruction translator, configured to: translate the conditional non-branch instruction into a no-operation with condition code microinstruction when the prediction predicts the condition will not be satisfied, wherein the no-operation with condition code microinstruction performs no operation other than to enable an execution unit to scrutinize the prediction; andtranslate the conditional non-branch instruction into a single operational with condition code microinstruction to unconditionally perform the operation when the prediction predicts the condition will be satisfied and that enables an execution unit to scrutinize the prediction;wherein the instruction translator translates instructions of x86 instruction set architecture (ISA) programs and Advanced RISC Machines (ARM) ISA programs into microinstructions defined by a microinstruction set of the microprocessor, wherein the microinstructions are encoded in a distinct manner from the manner in which the instructions defined by the instruction sets of the x86 ISA and ARM ISA are encoded; and an execution pipeline, including an instruction issue unit and a plurality of execution units, wherein the instruction issue unit is operable to issue the single operational with conditional code microinstruction to a selected one of the plurality of execution units, and the selected execution unit is operable to execute the single operational with conditional code microinstruction.
地址 New Taipei TW