Pilot: an operating system for a personal computer
Communications of the ACM
Implications of structured programming for machine architecture
Communications of the ACM
Instruction design to minimize program size
ISCA '75 Proceedings of the 2nd annual symposium on Computer architecture
An overview of the mesa processor architecture
ASPLOS I Proceedings of the first international symposium on Architectural support for programming languages and operating systems
Computer instruction set usage by programmers: an empirical investigation
Communications of the ACM
A structural view of the Cedar programming environment
ACM Transactions on Programming Languages and Systems (TOPLAS)
Microprocessor architectures: a comparison based on code generation by compiler
Communications of the ACM
ASPLOS II Proceedings of the second international conference on Architectual support for programming languages and operating systems
Integer multiplication and division on the HP precision architecture
ASPLOS II Proceedings of the second international conference on Architectual support for programming languages and operating systems
ACM SIGARCH Computer Architecture News
Integer Multiplication and Division on the HP Precision Architecture
IEEE Transactions on Computers - Special issue on architectural support for programming languages and operating systems
The Xerox Star: A Retrospective
Computer
An Empirical Analysis of the Lilith Instruction Set
IEEE Transactions on Computers
Viewing instruction set design as an optimization problem
MICRO 24 Proceedings of the 24th annual international symposium on Microarchitecture
Solutions Relating Static and Dynamic Machine Code Measurements
IEEE Transactions on Computers
Automatic inference of models for statistical code compression
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
Analyzing and compressing assembly code
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
Keynote address - the processor instruction set
MICRO 15 Proceedings of the 15th annual workshop on Microprogramming
A retrospective on the Dorado, a high-performance personal computer
ISCA '83 Proceedings of the 10th annual international symposium on Computer architecture
An overview of the mesa processor architecture
ASPLOS I Proceedings of the first international symposium on Architectural support for programming languages and operating systems
An analysis of a mesa instruction set using dynamic instruction frequencies
ASPLOS I Proceedings of the first international symposium on Architectural support for programming languages and operating systems
Integrated program measurement and documentation tools
ICSE '84 Proceedings of the 7th international conference on Software engineering
Hints for computer system design
SOSP '83 Proceedings of the ninth ACM symposium on Operating systems principles
The Mesa programming environment
SLIPE '85 Proceedings of the ACM SIGPLAN 85 symposium on Language issues in programming environments
SLIPE '85 Proceedings of the ACM SIGPLAN 85 symposium on Language issues in programming environments
Hi-index | 0.04 |
This paper describes recent work to refine the instruction set of the Mesa processor. Mesa [8] is a high level systems implementation language developed at Xerox PARC during the middle 1970's. Typical systems written in Mesa are large collections of programs running on single-user machines. For this reason, a major design goal of the project has been to generate compact object programs. The computers that execute Mesa programs are implementations of a stack architecture [5]. The instructions of an object program are organized into a stream of eight bit bytes. The exact complement into of instructions in the architecture has changed as the language and machine micro architecture have evolved. In Sections 3 and 4, we give a short history of the Mesa instruction set and discuss the motivation for our most recent analysis of it. In Section 5, we discuss the tools and techniques used in this analysis. Section 6 shows the results of this analysis as applied to a large sample of approximately 2.5 million instruction bytes. Sections 7 and 8 give advice to others who might be contemplating similar analyses.