loading...
Memory Ordering: A Value-Based Approach
M?nchen, Germany June 19-June 23
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/ISCA.2004.131076631st Annual International Symposium o ...
 This Article 
 
PDF
HTML
 
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Harold W. Cain, Univ. of Wisconsin-Madison
Mikko H. Lipasti, Univ. of Wisconsin-Madison
Conventional out-of-order processors employ a multi-ported, fully-associative load queue to guarantee correct memory reference order both within a single thread of execution and across threads in a multiprocessor system. As improvements in process technology and pipelining lead to higher clock frequencies, scaling this complex structure to accommodate a larger number of in-flight loads becomes difficult if not impossible. Furthermore, each access to this complex structure consumes excessive amounts of energy. In this paper, we solve the associative load queue scalability problem by completely eliminating the associative load queue. Instead, data dependences and memory consistency constraints are enforced by simply re-executing load instructions in program order prior to retirement. Using heuristics to filter the set of loads that must be re-executed, we show that our replay-based mechanism enables a simple, scalable, and energy-efficient FIFO load queue design with no associative lookup functionality, while sacrificing only a negligible amount of performance and cache bandwidth.
Citation:
Harold W. Cain, Mikko H. Lipasti, "Memory Ordering: A Value-Based Approach," isca, pp.90, 31st Annual International Symposium on Computer Architecture (ISCA'04), 2004
Usage of this product signifies your acceptance of the Terms of Use.