U-cache: a cost-effective solution to synonym problem

This paper proposes a cost-effective solution to the synonym problem. In this proposed solution, a minimal hardware addition guarantees the correctness whereas the software counterpart helps improve the performance. The key to this proposed solution is an addition of a small physically-indexed cache called U-cache. The U-cache maintains the reverse translation information of the cache blocks that belong to un-aligned virtual pages only, where aligned means that the lower bits of the virtual page number match those of the corresponding physical page number. A U-cache, even with only one entry, ensures correct handling of synonyms. A simple software optimization in the form of page alignment, helps improve the performance. Performance evaluation based on ATUM traces shows that a U-cache, with only a few entries, performs almost as well as (in some cases outperforms) a fully-configured hardware-based solution when more than 95% of the pages are aligned.<<ETX>>

[1]  James R. Goodman Coherency for multiprocessor virtual address caches , 1987, ASPLOS 1987.

[2]  Yarsun Hsu,et al.  A Quantitative Evaluation of Cache Types for High-Performance Computer Systems , 1993, IEEE Trans. Computers.

[3]  Richard E. Kessler,et al.  Page placement algorithms for large real-indexed caches , 1992, TOCS.

[4]  Peter Davies,et al.  The TLB slice-a low-cost high-speed address translation mechanism , 1990, [1990] Proceedings. The 17th Annual International Symposium on Computer Architecture.

[5]  Wen-Hann Wang,et al.  On the Inclusion Properties for Multi-Level Cache Hierarchies , 1988, ISCA.

[6]  Sang Lyul Min,et al.  V-P cache: a storage efficient virtual cache organization , 1993, Microprocess. Microsystems.

[7]  Alan Jay Smith,et al.  Cache Memories , 1982, CSUR.

[8]  Mark Horowitz,et al.  ATUM: a new technique for capturing address traces using microcode , 1986, ISCA '86.

[9]  Randy H. Katz,et al.  Eliminating the address translation bottleneck for physical address cache , 1992, ASPLOS V.

[10]  James R. Larus,et al.  Design Decisions in SPUR , 1986, Computer.

[11]  Brian N. Bershad,et al.  Consistency management for virtually indexed caches , 1992, ASPLOS V.

[12]  Jeff Yetter,et al.  Performance features of the PA7100 microprocessor , 1993, IEEE Micro.

[13]  W. H. Wang,et al.  Organization and performance of a two-level virtual-real cache hierarchy , 1989, ISCA '89.

[14]  David R. Cheriton,et al.  Software-controlled caches in the VMP multiprocessor , 1986, ISCA 1986.

[15]  Verna Elizabeth Knapp Virtually addressed caches for multiprogramming and multiprocessing environments , 1985 .

[16]  Michel Dubois,et al.  VIRTUAL-ADDRESS CACHES , 1997 .

[17]  S. G. Tucker,et al.  The IBM 3090 System: An Overview , 1986, IBM Syst. J..

[18]  Milon Mackey,et al.  Mach on a Virtually Addressed Cache Architecture , 1990, USENIX MACH Symposium.

[19]  Michael J. Flynn,et al.  Page allocation to reduce access time of physical caches , 1990 .