发明名称 Compiler for increased data cache efficiency
摘要 A compiler that facilitates efficient insertion of explicit data prefetch instructions into loop structures within applications uses simple address expression analysis to determine data prefetching requirements. Analysis and explicit data cache prefetch instruction insertion are performed by the compiler in a machine-instruction level optimizer to provide access to more accurate expected loop iteration latency information. Such prefetch instruction insertion strategy tolerates worst-case alignment of user data structures relative to data cache lines. Execution profiles from previous runs of an application are exploited in the insertion of prefetch instructions into loops with internal control flow. Cache line reuse patterns across loop iterations are recognized to eliminate unnecessary prefetch instructions. The prefetch insertion algorithm is integrated with other low-level optimization phases, such as loop unrolling, register reassociation, and instruction scheduling. An alternative embodiment of the compiler limits the insertion of explicit prefetch instructions to those situations where the lower bound on the achievable loop iteration latency is unlikely to be increased as a result of the insertion. <IMAGE>
申请公布号 EP0743598(A3) 申请公布日期 1997.07.23
申请号 EP19960303454 申请日期 1996.05.15
申请人 HEWLETT-PACKARD COMPANY 发明人 SANTHANAM, VATSA
分类号 G06F9/38;G06F9/45;(IPC1-7):G06F9/45 主分类号 G06F9/38
代理机构 代理人
主权项
地址