Counting Dependence Predictors
University of Texas at Austin Austin United States
Pagination or Media Count:
Modern processors rely on memory dependence prediction to execute load instructions as early as possible, speculating that they are not dependent on an earlier, unissued store. To date, the most sophisticated dependence predictors, such as Store Sets, have been tightly coupled to the fetch and execution streams, requiring global knowledge of the in-flight stream of stores to synchronize loads with specific stores. This thesis proposes a new dependence predictor design, called a Counting Dependence Predictor CDP. The key feature of CDPs is that the prediction mechanism predicts some set of events for which a particular dynamic load should wait, which may include some number of matching stores. By waiting for local events only, this dependence predictor can work effectively in a distributed microarchitecture where centralized fetch and execution streams are infeasible or undesirable. I describe and evaluate a distributed Counting Dependence Predictor and protocol that achieves 92 of the performance of perfect memory disambiguation. It outperforms a load-wait table, similar to the Alpha 21264, by11 . Idealized, centralized implementations of Store Sets and the Exclusive Collision Predictor, both of which would be difficult to implement in a distributed microarchitecture, achieve 97 and 94 of oracular performance, respectively.
- Computer Systems