Abstract
Architectural support for accelerating applications written in alternate programming paradigms have been well explored in the past. We focus on architectural support for object-oriented languages. We first describe the various run-time structures required by a typical implementation of an object-oriented language and identify areas that can benefit from dedicated architectural support. The ability to quickly bind a logical reference to a method and to quickly allocate a context for the invoked method is critical to the performance of dynamically bound object-oriented applications. In this paper we examine how a method lookup cache (MLC) and a register windowing mechanism can be easily incorporated in a contemporary scalar pipeline (the "base machine") to speed up method binding and context allocation. Our study departs from previous studies along similar lines in its use of a more contemporary pipeline and the consideration of efficient pipelining with the inclusion of these artifacts for acceleration. A detailed register level simulation of the proposed scheme, for a range of parameters for the MLC and the register windowing mechanism, driven by a set of fairly intensive object-oriented applications was done. The simulation results indicate that a relatively small method lookup cache with only 64 or 128 entries reduces the average execution time of the applications by about 50%. The inclusion of a register windowing mechanism with four register windows in the register file also accelerates method invocation as expected. The use of register windowing without a MLC results in a 72% reduction in the execution time with respect to the base machine. Together, the register windowing and the MLC, results in the reduction of execution time by 76%-87% with respect to the base machine for the programs we have used.
| Original language | English |
|---|---|
| Pages (from-to) | 1023-1046 |
| Number of pages | 24 |
| Journal | Journal of Systems Architecture |
| Volume | 45 |
| Issue number | 12-13 |
| DOIs | |
| State | Published - Jun 1999 |
Keywords
- Dynamic binding
- Method lookup caches
- Pipelining
- Register windowing
Fingerprint
Dive into the research topics of 'Accelerating object-oriented applications using method lookup caches and register windowing1'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver