The Design And Analysis Of A Cache Architecture For Texture Mapping

The effectiveness of texture mapping in enhancing the realism of computer generated imagery has made support for real-time texture mapping a critical part of graphics pipelines. Despite a recent surge in interest in three-dimensional graphics from computer architects, high-quality high-speed texture mapping has so far been confined to costly hardware systems that use brute-force techniques to achieve high performance. One obstacle faced by designers of texture mapping systems is the requirement of extremely high bandwidth to texture memory. High bandwidth is necessary since there are typically tens to hundreds of millions of accesses to texture memory per second. In addition, to achieve the high clock rates required in graphics pipelines, low-latency access to texture memory is needed. In this paper, we propose the use of texture image caches to alleviate the above bottlenecks, and evaluate various tradeoffs that arise in such designs.We find that the factors important to cache behavior are (i) the representation of texture images in memory, (ii) the rasterization order on screen and (iii) the cache organization. Through a detailed investigation of these issues, we explore the best way to exploit locality of reference and determine whether this technique is robust with respect to different scenes and different amounts of texture. Overall, we observe that there is a significant amount of temporal and spatial locality and that the working set sizes are relatively small (at most 16KB) across all cases that we studied. Consequently, the memory bandwidth requirements of a texture cache system are substantially lower (at least three times and as much as fifteen times) than the memory bandwidth requirements of a system which achieves equivalent performance but does not utilize a cache. These results are very encouraging and indicate that caching is a promising approach to designing memory systems for texture mapping.

[1]  Anoop Gupta,et al.  Working sets, cache sizes, and node granularity issues for large-scale multiprocessors , 1993, ISCA '93.

[2]  Marc Tremblay,et al.  The visual instruction set (VIS) in UltraSPARC , 1995, Digest of Papers. COMPCON'95. Technologies for the Information Superhighway.

[3]  Steven Przybylski,et al.  New DRAM Technologies: A Comprehensive Analysis of the New Architecture , 1994 .

[4]  Maneesh Agrawala,et al.  Rendering from compressed textures , 1996, SIGGRAPH.

[5]  M. Carter Computer graphics: Principles and practice , 1997 .

[6]  Michael F. Deering,et al.  FBRAM: a new form of memory optimized for 3D graphics , 1994, SIGGRAPH.

[7]  David Salesin,et al.  Rendering antialiased shadows with depth maps , 1987, SIGGRAPH.

[8]  Lance Williams,et al.  Pyramidal parametrics , 1983, SIGGRAPH.

[9]  Wolfgang Straßer,et al.  Texram: a smart memory for texturing , 1996, IEEE Computer Graphics and Applications.

[10]  Edwin Earl Catmull,et al.  A subdivision algorithm for computer display of curved surfaces. , 1974 .

[11]  Jay Torborg,et al.  Talisman: commodity realtime 3D graphics for the PC , 1996, SIGGRAPH.

[12]  Kurt Akeley,et al.  Reality Engine graphics , 1993, SIGGRAPH.

[13]  Gurindar S. Sohi,et al.  High-bandwidth data memory systems for superscalar processors , 1991, ASPLOS IV.

[14]  Paul S. Heckbert,et al.  Survey of Texture Mapping , 1986, IEEE Computer Graphics and Applications.

[15]  James C. Miller,et al.  Computer graphics principles and practice, second edition , 1992, Comput. Graph..

[16]  James F. Blinn,et al.  The truth about texture mapping , 1990, IEEE Computer Graphics and Applications.

[17]  N Greene,et al.  Applications of world projections , 1986 .

[18]  James F. Blinn,et al.  Simulation of wrinkled surfaces , 1978, SIGGRAPH.

[19]  Mark Segal,et al.  Fast shadows and lighting effects using texture mapping , 1992, SIGGRAPH.