Microcaches

Abstract

We describe a radically new cache architecture and demonstrate that it offers a huge reduction in cache cost, size and power consumption whilst maintaining performance on a wide range of programs. We achieve this by giving the compiler control of the cache and by allowing regions of the data cache to be allocated to specific program objects. Our approach has widespread application, especially in media processing and scientific computing. We suggest ways in which it can be incorporated into existing architectures.