The Reduced Instruction Set Computer (RISC) Project investigates an alternative to the general trend toward computers with increasingly complex instruction sets: With a proper set of instructions and a corresponding architectural design, a machine with a high effective throughput can be achieved. The simplicity of the instruction set and addressing modes allows most instructions to execute in a single machine cycle, and the simplicity of each instruction guarantees a short cycle time. In addition, such a machine should have a much shorter design time.
This paper presents the architecture of RISC I and its novel hardware support scheme for procedure call/return. Overlapping sets of register banks that can pass parameters directly to subroutines are largely responsible for the excellent performance of RISC I. Static and dynamic comparisons between this new architecture and more traditional machines are given. Although instructions are simpler, the average length of programs was found not to exceed programs for DEC VAX 11 by more than a factor of 2. Preliminary benchmarks demonstrate the performance advantages of RISC. It appears possible to build a single chip computer faster than VAX 11/780.
[1]
David B. Wortman,et al.
Static and Dynamic Characteristics of XPL Programs
,
1975,
Computer.
[2]
David A. Patterson,et al.
Retrospective on High-Level Language Computer Architecture
,
1980,
ISCA.
[3]
William D. Strecker,et al.
VAX-11/780 - A virtual address extension to the DEC PDP-11 family
,
1899,
AFIPS National Computer Conference.
[4]
Stephen C. Johnson.
A portable compiler: theory and practice
,
1978,
POPL.
[5]
David A. Patterson,et al.
The case for the reduced instruction set computer
,
1980,
CARN.
[6]
Carlo H. Séquin,et al.
Design Considerations for Single-Chip Computers of the Future
,
1980
.
[7]
Carlo H. Séquin,et al.
Design considerations for the VLSI processor of X-TREE
,
1979,
ISCA '79.
[8]
Richard L. Sites.
How to Use 1000 Registers
,
1979
.
[9]
Alan A. Kortesoja,et al.
An Optimizing Pascal Compiler
,
1980,
IEEE Trans. Software Eng..