Memory dependence prediction

Andreas Moshovos, Gurindar S. Sohi · 1998

Abstract: We identify that typical programs exhibit highly regular read-after-read (RAR) memory dependence streams. We exploit this regularity by introducing read-after-read (RAR) memory dependence prediction. We also present two RAR memory dependence prediction-based memory latency reduction techniques. In the first technique, a load can obtain a value by simply naming a preceding load with which a RAR dependence is predicted. The second technique speculatively converts a series of LOAD 1-USE 1,...,LOAD N-USE N chains into a single LOAD 1-USE 1...USE N producer/consumer graph. Our techniques can be implemented as surgical extensions to the recently proposed read-after-write (RAW) dependence prediction based speculative memory cloaking and speculative memory bypassing. On average, our techniques provide correct values for an additional 20 % (integer codes) and 30% (floating-point codes) of all loads. Moreover, a combined RAW- and RAR-based cloaking/bypassing mechanism improves performance by 6.44 % (integer) and 4.66% (floating-point) even when naive memory dependence speculation is used. The original RAW-based cloaking/ bypassing mechanism yields improvements of 4.28 % (integer) and 3.20 % (floating-point). 1

Read the paper · More papers on PaperTik