发明名称 Performing predecode-time optimized instructions in conjunction with predecode time optimized instruction sequence caching
摘要 A method for performing predecode-time optimized instructions in conjunction with predecode time optimized instruction sequence caching. The method includes receiving a first instruction of an instruction sequence and a second instruction of the instruction sequence and determining if the first instruction and the second instruction can be optimized. In response to the determining that the first instruction and second instruction can be optimized, the method includes, preforming a pre-decode optimization on the instruction sequence and generating a new second instruction, wherein the new second instruction is not dependent on a target operand of the first instruction and storing a pre-decoded first instruction and a pre-decoded new second instruction in an instruction cache. In response to determining that the first instruction and second instruction can not be optimized, the method includes, storing the pre-decoded first instruction and a pre-decoded second instruction in the instruction cache.
申请公布号 US9378022(B2) 申请公布日期 2016.06.28
申请号 US201314100044 申请日期 2013.12.09
申请人 INTERNATIONAL BUSINESS MACHINES CORPORATION 发明人 Gschwind Michael K.;Salapura Valentina
分类号 G06F9/30;G06F9/38 主分类号 G06F9/30
代理机构 Cantor Colburn LP 代理人 Cantor Colburn LP ;Kinnaman, Jr. William A.
主权项 1. A computer program product for performing predecode-time optimized instructions in conjunction with predecode time optimized instruction sequence caching, the computer program product comprising: a non-transitory storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising: receiving a first instruction of an instruction sequence by a first decoder and a second instruction of the instruction sequence by a second decoder, wherein the first instruction is received from an instruction cache that is a level one cache; decoding the first instruction of the instruction sequence by the first decoder to create a decoded first instruction; decoding the second instruction of the instruction sequence by the second decoder to create a decoded second instruction; determining, by an optimization analysis engine in communication with the first decoder and the second decoder, if the first instruction and the second instruction can be optimized based on the first decoded instruction and the second decoded instruction; responsive to the determining that the first instruction and second instruction can be optimized: performing a pre-decode optimization on the instruction sequence and generating, by the second decoder; a new decoded second instruction, wherein the new decoded second instruction is not dependent on a target operand of the first instruction; andstoring the pre-decoded first instruction and the new decoded second instruction directly in the instruction cache; responsive to the determining that the first instruction and second instruction can not be optimized, storing the pre-decoded first instruction and a pre-decoded second instruction directly in the instruction cache and storing an entry point in an entry point vector stored in the instruction cache, the entry point corresponding to the first decoded instruction.
地址 Armonk NY US