Symbolic cache: fast memory access based on program syntax correlation of loads and stores

An increasing cache latency in next-generation processors incurs profound performance impacts in spite of advanced out-of-order execution techniques. One way to circumvent this cache latency problem is to predict the load values at the onset of pipeline execution by exploiting either the load value locality or the address correlation of stores and loads. We describe a new load value speculation mechanism based on the program syntax correlation of stores and loads. We establish a symbolic cache, which is accessed by the content of memory load and store instructions in early pipeline stages to achieve a zero-cycle load. The performance evaluation using SPEC95 and SPEC2000 integer programs with SimpleScalar tools shows that the symbolic cache provides higher accuracy than both the memory renaming and the value prediction scheme, especially when hardware resources are limited.

[1]  Stéphan Jourdan,et al.  Early load address resolution via register tracking , 2000, ISCA '00.

[2]  Richard E. Kessler,et al.  The Alpha 21264 microprocessor , 1999, IEEE Micro.

[3]  Mikko H. Lipasti,et al.  Value locality and load value prediction , 1996, ASPLOS VII.

[4]  Gary Lauterbach,et al.  UltraSPARC-III: designing third-generation 64-bit performance , 1999, IEEE Micro.

[5]  David B. Papworth Tuning the Pentium Pro microarchitecture , 1996, IEEE Micro.

[6]  Kai Wang,et al.  Highly accurate data value prediction using hybrid predictors , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[7]  Stamatis Vassiliadis,et al.  A load-instruction unit for pipelined processors , 1993, IBM J. Res. Dev..

[8]  Timothy J. Slegel,et al.  IBM's S/390 G5 microprocessor design , 1999, IEEE Micro.

[9]  H LipastiMikko,et al.  Value locality and load value prediction , 1996 .

[10]  ace P2SC IBM’s Power3 to Replace P2SC: 11/17/97 , 1997 .

[11]  José González,et al.  Speculative execution via address prediction and data prefetching , 1997, ICS '97.

[12]  R. Ronen,et al.  Correlated load-address predictors , 1999, Proceedings of the 26th International Symposium on Computer Architecture (Cat. No.99CB36367).

[13]  Chung-Ho Chen,et al.  Microarchitecture support for improving the performance of load target prediction , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[14]  James E. Smith,et al.  The predictability of data values , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[15]  Todd M. Austin,et al.  The SimpleScalar tool set, version 2.0 , 1997, CARN.

[16]  Gary S. Tyson,et al.  Improving the accuracy and performance of memory communication through renaming , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.