Science  People  Locations  Timeline
Index: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Home > RISC


 

:This article is about the computer architecture. For other uses see: RISC (disambiguation)

Reduced (or regular) instruction set computer (or Computing) (RISC), is a computer CPU design philosophy that favors a smaller and simpler set of instructions that all take about the same amount of time to execute. Most types of modern microprocessors are RISCs, for instance DEC Alpha, SPARC, MIPS, and PowerPC. The most widely-used type of microprocessor in desktop systems, the x86, is CISC rather than RISC, although newer chips translate CISC-based x86 instructions into a simpler RISC-based form for internal use prior to execution.

The idea was inspired by the discovery that many of the features that were included in traditional CPU designs for speed were being ignored by the programs that were running on them. In addition, the speed of the CPU in relation to the memory it accessed was increasing. This led to a number of techniques to streamline processing within the CPU, while at the same time attempting to reduce the total number of memory accesses.

More modern terminology refers to these designs as load-store architectures. Some more practical-minded engineers now refer to RISC as "Relegate Important Stuff to the Compilier"

1 Pre-RISC design philosophy

In the early days of the computer industry, compiler technology did not exist. Programming was done in either machine code or in assembly languageAssembly language or simply assembly is a human-readable notation for the machine language that a specific computer architecture uses. Machine language, a pattern of bits encoding machine operations, is made readable by replacing the raw values with symbo. To make programming easier, computer architects created more and more complex instructions which were direct representations of high level functions of high level programming languages. The attitude at the time was that hardware design was easier than compiler design, so the complexity went into the hardware.

Another force that encouraged complex instructions was the lack of large memories. Since memories were small, it was advantageous for the density of information held in computer programs to be very high. When every byte of memory was precious, eg. your entire system only had a few kilobytes of storage, it moved the industry to such features as highly encoded instructions, instructions which could be variable sized, instructions which did multiple operations, instructions which did both data movement and data calculation. At that time, such instruction packing issues were of higher priority than the ease of decoding such instructions.

Memory was not only small, but rather slow since they were implemented using magnetic technology at the time. That was another reason to keep the density of information very high. By having dense information packing, you could decrease the frequency when you had to access this slow resource.

CPUs had few registers for two reasons.

For the above reasons, CPU designers tried to make instructions that would do as much work as possible. This lead to one instruction that would do all of the work in a single instruction: load up the two numbers to be added, add them, and then store the result back directly to memory. Another version would read the two numbers from memory, but store the result in a register. Another version would read one from memory and the other from a register and store to memory again. And so on. This processor design philosophy eventually became known as Complex Instruction Set Computer or CISC for short.

The general goal at the time was to provide every possible addressing modeIn computer programming, addressing mode s are primarily of interest to compiler writers and to those (few nowadays) who use assembly language. Some computer science students may also need to learn about addressing modes as part of their studies. Those in for every instruction, a principle known as "orthogonality." This led to some complexity on the CPU, but in theory each possible command could be tuned individually, making the design faster than if the programmer used simpler commands.

The ultimate expression of this sort of design can be seen at two ends of the power spectrum, the 6502The MOS Technology 6502 is an 8-bit microprocessor designed by MOS Technology in 1975. When it was introduced it was the least expensive full featured CPU on the market by far, at about 1/6th the price, or less, of competing designs from larger companies at one end, and the VAXVAX is a 32-bit computing architecture that supports an orthogonal machine language and virtual addressing (i. demand paged virtual memory). It was developed in the mid-1970s by Digital Equipment Corporation (DEC). DEC was later purchased by Compaq, which at the other. The $25 single-chip 6502 effectively had only a single register, and by careful tuning of the memory interface it was still able to outperform designs running at much higher speeds (like the 4MHz Zilog Z80The Zilog Z80 is an 8-bit microprocessor designed and manufactured by Zilog from 1976 onwards. It was widely used both in desktop and embedded computer designs, and is one of the most popular CPUs of all time. Although Zilog made several attempts to move). The VAX was a minicomputer whose initial implementation required 3 racks of equipment for a single cpu, and was notable for the amazing variety of memory accessIn computer programming, addressing mode s are primarily of interest to compiler writers and to those (few nowadays) who use assembly language. Some computer science students may also need to learn about addressing modes as part of their studies. Those in styles it supported, and the fact that every one of them was available for every instruction.



Read more »

Non User