pas@MOJAVE.STANFORD.EDU (Peter Steenkiste) (11/24/86)
Special Seminar: Ph.D. Orals
LISP on a Reduced-Instruction-Set Processor:
Characterization and Optimization
Peter Steenkiste
Computer Systems Laboratory
Department of Electrical Engineering
Stanford University
Abstract
As a result of advances in compiler technology, almost all programs
are written in high-level languages, and the effectiveness of a
computer architecture is determined by its suitability as a compiler
target. This central role of compilers in the use of computers has
led computer architects to study the implementation of high-level
language programs. This thesis presents profiling measurements for
a set of Portable Standard Lisp programs that were executed on the
MIPS-X reduced-instruction-set processor, examining what instructions
LISP uses at the assembly level, and how much time is spent on the
most common primitive LISP operations. This information makes it
possible to determine which operations are time critical and to
evaluate how well architectural features address these operations.
The second part of the thesis will discuss a number of optimizations
for LISP, concentrating on three areas: the implementation of the
tags used for runtime type checking, reducing the cost of procedure
calls, and inter-procedural register allocation. We look at methods
to implement tags, both with and without hardware support, and we
compare the performance of the different implementation strategies.
We show how the procedure call cost can be reduced by inlining small
procedures, and how inlining affects the miss rate in the MIPS-X
on-chip instruction cache. A simple register allocator uses inter-
procedural information to reduce the cost of saving and restoring
registers across procedure calls. We evaluate this register allocation
allocation scheme, and compare its performance with hardware register
windows.
Time: Monday, December 8, 1986, 4:15pm
Place: CIS Building, Room 101
Cookies will be served!