Firmware Approach to Fast Lisp Interpreter

Abstract

The approach to speed up a Lisp interpreter by implementing it in firmware seems promising. A microcoded Lisp interpreter shows good performance for very simple benchmarks, while it often fails to provide good performance for larger benchmarks and applications unless speedup techniques are devised for it. This was the case for the TAO/ELIS system. This paper describes various techniques devised for the TAO/ELIS system in order to speed up the interpreter of the TAO language implemented on the ELIS Lisp machine. The techniques include data type dispatch, variable access, function call and so on. TAO is not only upward compatible with Common Lisp, but also incorporates logic programming, object-oriented programming and Fortran/C-like programming into Lisp programming. TAO also provides concurrent programming and supports multiple users (up to eight users). The TAO interpreter for those programming paradigms is coded fully in microcodes. In spite of rich functionalities, the speed of interpreted codes of TAO is comparable to that of compiled codes of commercial Lisp machines. Furthermore, the speeds of the interpreted codes of the same program written in various programming paradigms in TAO does not differ so much. This speed balance is very important for the user.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Sep 01, 1987
Accession Number
ADA198673

Entities

People

  • Hiroshi G. Okuno
  • Ikuo Takeuchi
  • Nobuyasu Osato

Organizations

  • Stanford University

Tags

Communities of Interest

  • Ground and Sea Platforms
  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Application Software
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Debugging
  • Firmware
  • High Level Language Architecture
  • High Level Languages
  • Language
  • Lisp Programming Language
  • Microcode
  • Microprogramming
  • Object Oriented Programming
  • Operating Systems

Fields of Study

  • Computer science

Readers

  • Parallel and Distributed Computing.