25112 Rev. 3.06 September 2005

Software Optimization Guide for AMD64 Processors

7.4Address-Generation Interlocks

Optimization

Avoid address-generation interlocks by scheduling loads and stores whose addresses can be calculated quickly ahead of loads and stores that require the resolution of a long dependency chain in order to generate their addresses.

Application

This optimization applies to:

32-bit software

64-bit software

Address-Generation Interlocks

An address-generation interlock is a condition in which newer loads and stores whose addresses have already been calculated by the processor are blocked by older loads and stores whose addresses have not yet been calculated.

Rationale

The processor schedules instructions that access the data cache (loads and stores) in program order. By carefully choosing the order of loads and stores, you can avoid address-generation interlocks.

Chapter 7

Scheduling Optimizations

151

Page 167
Image 167
AMD 250 manual Address-Generation Interlocks, 151