A number of systems, going back to the 1960s, have been credited as the first RISC architecture, partly based on their use of the
load–store approach. The term RISC was coined by
David Patterson of the
Berkeley RISC project, although somewhat similar concepts had appeared before. The
CDC 6600 designed by
Seymour Cray in 1964 used a load–store architecture with only two
addressing modes (register+register, and register+immediate constant) and 74 operation codes, with the basic clock cycle being 10 times faster than the memory access time. Partly due to the optimized load–store architecture of the CDC 6600,
Jack Dongarra says that it can be considered a forerunner of modern RISC systems, although a number of other technical barriers needed to be overcome for the development of a modern RISC system.
IBM 801 Michael J. Flynn views the first RISC system as the
IBM 801 design, compared to their fastest mainframe machine of the time, the
370/168, which performed at 3.5 MIPS. The design was based on a study of IBM's extensive collection of statistics gathered from its customers. This demonstrated that code in high-performance settings made extensive use of
processor registers, and that they often ran out of them. This suggested that additional registers would improve performance. Additionally, they noticed that
compilers generally ignored the vast majority of the available instructions, especially orthogonal addressing modes. Instead, they selected the fastest version of any given instruction and then constructed small routines using it. This suggested that the majority of instructions could be removed without affecting the resulting code. These two conclusions worked in concert; removing instructions would allow the instruction
opcodes to be shorter, freeing up bits in the instruction word which could then be used to select among a larger set of registers. This CPU was designed for "mini" tasks, and found use in peripheral interfaces and
channel controllers on later IBM computers. It was also used as the CPU in the
IBM RT PC in 1986, which turned out to be a commercial failure.
Berkeley RISC and Stanford MIPS By the late 1970s, the 801 had become well-known in the industry. This coincided with new fabrication techniques that were allowing more complex chips to come to market. The
Zilog Z80 of 1976 had 8,000 transistors, whereas the 1979
Motorola 68000 (68k) had 68,000. These newer designs generally used their newfound complexity to expand the instruction set to make it more orthogonal. Most, like the 68k, used
microcode to do this, reading instructions and re-implementing them as a sequence of simpler internal instructions. In the 68k, a full of the transistors were used for this microcoding. In 1979,
David Patterson was sent on a
sabbatical from the
University of California, Berkeley to help DEC's west-coast team improve the VAX microcode. Patterson was struck by the complexity of the coding process and concluded it was untenable. He first wrote a paper on ways to improve microcoding, but later changed his mind and decided microcode itself was the problem. With funding from the
DARPA VLSI Program, Patterson started the
Berkeley RISC effort. The program, practically unknown today, led to a huge number of advances in chip design, fabrication, and even computer graphics. Considering a variety of programs from their
BSD Unix variant, the Berkeley team found, as had IBM, that most programs made no use of the large variety of instructions in the 68k. In the original RISC-I paper they noted: The Berkeley work also turned up a number of additional points. Among these was the fact that programs spent a significant amount of time performing
subroutine calls and returns, and it seemed there was the potential to improve overall performance by speeding up these calls. This led the Berkeley design to select a method known as
register windows, which can significantly improve subroutine performance, although at the cost of some complexity. In a traditional CPU, one has a small number of registers, and a program can use any register at any time. In a CPU with register windows, there are a huge number of registers, e.g., 128, but programs can only use a small number of them, e.g., eight, at any one time. A program that limits itself to eight registers per procedure can make very fast
procedure calls: The call simply moves the window "down" by eight, to the set of eight registers used by that procedure, and the return moves the window back. The Berkeley RISC project delivered the RISC-I processor in 1982. Consisting of only 44,420 transistors (compared with averages of about 100,000 in newer
CISC designs of the era), RISC-I had only 32 instructions, and yet completely outperformed any other single-chip design, with estimated performance being higher than the VAX. The MIPS approach emphasized an aggressive clock cycle and the use of the pipeline, making sure it could be run as "full" as possible. The venture resulted in a new architecture that was also called
MIPS and the
R2000 microprocessor in 1985. The ISA is designed to be extensible from a barebones core sufficient for a small embedded processor to supercomputer and cloud computing use with standard and chip designer–defined extensions and coprocessors. It has been tested in silicon design with the ROCKET
SoC, which is also available as an open-source processor generator in the CHISEL language.
Commercial breakout In the early 1980s, significant uncertainties surrounded the RISC concept. One concern involved the use of memory; a single instruction from a traditional processor like the Motorola 68k may be written out as perhaps a half dozen of the simpler RISC instructions. In theory, this could slow the system down as it spends more time fetching instructions from memory. But by the mid-1980s, the concepts had matured enough to be seen as commercially viable. following on from initial fabrication in April 1985. The MIPS R2000 was introduced in May 1986, followed shortly thereafter by
Hewlett-Packard's
PA-RISC in some of their computers. In the meantime, the Berkeley effort had become so well known that it eventually became the name for the entire concept. In 1987,
Sun Microsystems began shipping systems with the
SPARC processor, directly based on the Berkeley RISC-II system. The US government Committee on Innovations in Computing and Communications credits the acceptance of the viability of the RISC concept to the success of the SPARC system. by 1989 many RISC CPUs were available, and competition lowered their price to $10 per MIPS in large quantities. The performance of IBM's RISC CPU—only available in the
RT PC—was less competitive than others, but the success of SPARC renewed interest within IBM, which released new RISC systems by 1990 and by 1995 RISC processors were the foundation of a $15 billion server industry. Sun's move to SPARC was based on its decision to, instead of relying on improvements to CISC, transition to RISC as fast as possible. The DEC engineers who designed
DECstation with MIPS R2000 and not their company's own VAX did so because, they wrote, the former offered "at least a two-to-one performance advantage" for the cost. By the later 1980s, new RISC designs were easily outperforming all CISC designs by a wide margin. By 1992 Sun, DEC, HP, and IBM were the leading commercial RISC companies. Other vendors began their own RISC efforts. Among the available architectures were the
DEC Alpha,
AMD Am29000,
Intel i860 and
i960,
Motorola 88000,
IBM POWER, and, slightly later, the IBM/Apple/Motorola
PowerPC. Many of these have since disappeared due to them often offering no competitive advantage over others of the same era. Those that remain are often used only in niche markets or as parts of other systems; of the designs from these traditional vendors, only SPARC and the PowerPC-derived
Power ISA have any significant remaining market. The
ARM architecture has been the most widely adopted RISC ISA, initially intended to deliver higher-performance desktop computing, at low cost, and in a restricted thermal package, such as in the
Acorn Archimedes, while featuring in the
Super Computer League tables, its initial, relatively, lower power and cooling implementation was soon adapted to embedded applications, such as laser printer raster image processing. Acorn, in partnership with Apple Inc, and VLSI, creating ARM Ltd, in 1990, to share R&D costs and find new markets for the ISA, who in partnership with TI, GEC, Sharp, Nokia, Oracle and Digital would develop low-power and embedded RISC designs, and target those market segments, which at the time were niche. With the rise in mobile, automotive, streaming, smart device computing, ARM became the most widely used ISA, the company estimating that almost half of all CPUs shipped in history have been ARM. ==Characteristics and design philosophy==