Architecture of SOAR: Smalltalk on a RISC

  • Authors:
  • David Ungar;Ricki Blau;Peter Foley;Dain Samples;David Patterson

  • Affiliations:
  • Computer Science Division, Department of Electrical Engineering and Computer Scienses, University of California, Berkeley, California;Computer Science Division, Department of Electrical Engineering and Computer Scienses, University of California, Berkeley, California;Computer Science Division, Department of Electrical Engineering and Computer Scienses, University of California, Berkeley, California;Computer Science Division, Department of Electrical Engineering and Computer Scienses, University of California, Berkeley, California;Computer Science Division, Department of Electrical Engineering and Computer Scienses, University of California, Berkeley, California

  • Venue:
  • ISCA '84 Proceedings of the 11th annual international symposium on Computer architecture
  • Year:
  • 1984

Quantified Score

Hi-index 0.00

Visualization

Abstract

Smalltalk on a RISC (SOAR) is a simple, Von Neumann computer that is designed to execute the Smalltalk-80 system much faster than existing VLSI microcomputers. The Smalltalk-80 system is a highly productive programming environment but poses tough challenges for implementors: dynamic data typing, a high level instruction set, frequent and expensive procedure calls, and object-oriented storage management. SOAR compiles programs to a low level, efficient instruction set. Parallel tag checks permit high performance for the simple common cases and cause traps to software routines for the complex cases. Parallel register initialization and multiple on-chip register windows speed procedure calls. Sophisticated software techniques relieve the hardware of the burden of managing objects. We have initial evaluations of the effectiveness of the SOAR architecture by compiling and simulating benchmarks, and will prove SOAR's feasibility by fabricating a 35,000-transistor SOAR chip. These early results suggest that a Reduced Instruction Set Computer can provide high performance in an exploratory programming environment.