Abstract
One of the challenges in designing systems is adopting a design method with compositional properties. Compositional functionality guarantees that two components that each perform a task can be integrated without affecting the semantics of either task. Compositional performance means that two components can be integrated so that the timing of neither components changes. In this paper we describe the hardware and software needed in order to build cache memories that have those compositional properties. This partitioned cache allows the system designer to design individual components of an application program in the knowledge that cache performance is fully deterministic; ie. integrating these components will not affect the performance of any component.
This work supported by EPSRC grant GR/L78970.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
A. Smith. A Comparative Study of Set Associative Memory Mapping Algorithms and Their Use for Cache and Main Memory. IEEE Transactions on Software Engineering, March 1978.
N. Jouppi. Improving Direct-Mapped Cache Performance by the Addition of a Small Fully-Associative Cache and Prefetch Buffer. In 17th International Symposium on Computer Architecture, pp 364–373, June 1990.
J. Peterson and K. Hammond, editors. Report on the Porgramming Language Haskell. Yale University, 1996.
Inmos Ltd. Occam-2 Reference Manual. Prentice Hall, 1988.
J. Kowalik. Parallel MIMD Computation: The HEP Supercomputer and its Applications. MIT Press, 1985.
R. Nikhil, G. Papadopoulos, and Arvind. T: A Multithreaded Massively Parallel Architecture. In 19th International Symposium on Computer Architecture, pp 156–167, May 1992.
R. Wagner. Compiler-Controlled Cache Mapping Rules. Technical Report CS-1995-31, Duke University, December 1995.
T. Juan, D. Royo, and J. Navarro. Dynamic Cache Splitting. 15th International Conference of the Chilean Computational Society, 1995.
D. Kirk. SMART (Strategic Memory Allocation for Real-Time) Cache Design. In IEEE Symposium on Real-Time Systems, pp 229–237, December 1989.
F. Mueller. Compiler Support for Software-Based Cache Partitioning. In ACM SIGPLAN Workshop on Language, Compiler, and Tool Support for Real-Time Systems, pp 137–145, June 1995.
D. May and H. Muller. Cache Memory. Patent Number WO045269, August 2000.
J. Carter, W. Hseih, L. Stoller, M. Swanson, L. Zhang, E. Brunvard, A. Davis, C. Kuo, R. Kuramkote, M. Parker, L. Schaelicke, and T. Tateyama. Impulse: Building a Smarter Memory Controller. 5th Conference on High Performance Computer Architecture, January 1999.
A. Ki and A. Knowles. Secondary Cache Data Prefetching for Multiprocessors. Technical Report UMCS-97-3-1, Department of Computer Science, University of Manchester, 1997.
J. Fu, J. Patel, and B. Janssens. Stride Directed Prefetching in Scalar Processors. In 25th International Symposium on Microarchitecture, pp 102–110, 1992.
J. Irwin. Systems With Predictable Caching. PhD thesis, Department of Computer Science, University of Bristol, 2001.
D. Page. Effective Use of Partitioned Cache Memories. PhD thesis, Department of Computer Science, University of Bristol, 2001.
F. McMahon. The Livermore Fortran Kernels: A Computer Test Of The Numerical Performance Range. Lawrence Livermore National Laboratory, Livermore, California, December 1986.
R. Arnold. Bounding Instruction Cache Performance. Master’s thesis, Department of Computer Science, Florida State University, 1996.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Muller, H., Page, D., Irwin, J., May, D. (2002). Caches with Compositional Performance. In: Deprettere, E.F., Teich, J., Vassiliadis, S. (eds) Embedded Processor Design Challenges. SAMOS 2001. Lecture Notes in Computer Science, vol 2268. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45874-3_14
Download citation
DOI: https://doi.org/10.1007/3-540-45874-3_14
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43322-4
Online ISBN: 978-3-540-45874-6
eBook Packages: Springer Book Archive