×

Performing predecode-time optimized instructions in conjunction with predecode time optimized instruction sequence caching

  • US 9,378,022 B2
  • Filed: 12/09/2013
  • Issued: 06/28/2016
  • Est. Priority Date: 03/28/2012
  • Status: Active Grant
First Claim
Patent Images

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; and

    storing 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.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×