×

Prefetching irregular data references for software controlled caches

  • US 8,239,841 B2
  • Filed: 04/04/2008
  • Issued: 08/07/2012
  • Est. Priority Date: 04/04/2008
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method, in a data processing system, for prefetching irregular memory references into a software controlled cache, the method comprising:

  • receiving source code that is to be compiled;

    analyzing the source code to identify at least one of a plurality of loops that contain an irregular memory reference;

    determining if the irregular memory reference within the at least one of the plurality of loops is a candidate for optimization;

    responsive to an indication that the irregular memory reference may be optimized, determining if the irregular memory reference is valid for prefetching;

    responsive to an indication that the irregular memory reference is valid for prefetching, inserting a store statement for an address of the irregular memory reference into the at least one of the plurality of loops;

    inserting a runtime library call into a prefetch runtime library for the irregular memory reference, wherein data associated with the irregular memory reference is prefetched into the software controlled cache when the runtime library call is invoked; and

    wherein determining if the irregular memory reference within the at least one of the plurality of loops is the candidate for optimization comprises;

    determining if a computed address accessed by the irregular memory reference is an affine function of a loop index variable;

    responsive to the address failing to be the affine function of the loop index variable, determining if there is a loop-carried dependency between statements used in the computed address; and

    responsive to failure to identify any loop-carried dependencies, indicating the irregular memory reference as the candidate for optimization.

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