The influence of the object-oriented language model on a supporting
architecture
Mario Wolczko and Ifor Williams
In Proceedings of the
26th Hawaii Conference on System Science, pages 182-191, January 1993.
Also published in The Interaction of Compilation Technology and
Computer Architecture, David Lilja and Peter Bird, editors, Kluwer, 1994.
Abstract
The Mushroom architecture is designed to efficiently support dynamic
object-oriented languages such as Smalltalk.
The salient features of the architecture are:
- Tagged memory and parallel tag-checking hardware speed
dynamic binding for arithmetic operations;
- Register windows make method invocations fast and avoid
register saves and restores;
- Object-based addressing allows for sophisticated virtual
memory and garbage collection strategies.
This paper describes the
architecture, and how the object-oriented model of computation and the
provision of a sophisticated compiler led to various simplifications
in the design and implementation of the architecture.
Two particular features of the object-oriented model have been
exploited in the architecture:
- Freedom of object identifier selection allows for
straight-forward and efficient implementation (in software) of
virtual-to-real address translation, and for efficient object
allocation.
- The absence of address aliasing allows simple,
virtually-addressed caches to be used.
Here's the PostScript source.