Memory dependence prediction using store sets

George Chrysos, Joel Emer

International Symposium on Computer Architecture · 1998 · 287 citations · 6 references

Concepts

Abstract

For maximum performance, an out-of-order processor must issue load instructions as early as possible, while avoiding memory-order violations with prior instructions that write to the same memory location. One approach is to use memory dependence prediction to identify the stores upon which a load depends, and communicate that information to the instruction scheduler. We designate the set of stores upon which each load has depended as the load's store set. The processor can discover and use a load's set to accurately predict the earliest time the load can safely execute. We show that sets accurately predict memory dependencies in the context of large instruction window, superscalar machines, and allow for near-optimal performance compared to an instruction scheduler with perfect knowledge of memory dependencies. In addition, we explore the implementation aspects of sets, and describe a low cost implementation that achieves nearly optimal performance.

References

6