RISC (thin instruction set computer) and CISC (complex instruction set computer) are two architectures of the current CPU. They differ in the different CPU design concepts and methods.
CPU architecture is a specification that a manufacturer sets for a CPU product belonging to the same series, the main purpose of which is to distinguish the important signs of different types of CPUs.
The early CPUs were all CISC architectures designed to perform the required computational tasks with minimal machine language instructions. For multiplication, for example, you might need an instruction on the CPU of the CISC architecture: MUL Addra, ADDRB can multiply the numbers in Addra and ADDRB and store the results in Addra. The Addra, the data in the ADDRB read into the register, and the operation to write the results back to memory all depend on the logic of the CPU design. This architecture increases the complexity of the CPU structure and the requirements for the CPU process, but is advantageous for the development of compilers. For example, the a*=b in the C program can be compiled directly into a multiplication instruction. Today only Intel and its compatible CPUs are using the CISC architecture.
The RISC architecture requires software to specify the individual steps of the operation. The above example if the implementation of the RISC architecture, will be Addra, ADDRB data in the register, multiply and write the results back to the memory of the operation must be implemented by the software, such as: MOV A, Addra; MOV B, ADDRB; MUL A, B; STR Addra, A. This architecture reduces CPU complexity and allows for more powerful CPUs to be produced at the same process level, but with higher requirements for compiler design.
Complex instruction Set computer (CISC)
For a long time, the increase in computer performance is often achieved by increasing the complexity of the hardware. With integrated circuit technology. In particular, the rapid development of VLSI (ultra-integrated circuit) technology, in order to facilitate software programming and improve the speed of the program, hardware engineers to use the method is to continuously increase the implementation of complex functions of the instructions and a variety of flexible addressing methods. Even some directives can support complex operations after high-level language statements are categorized. To make the hardware more and more complex, the cost is correspondingly improved. For complex operations, the microprocessor provides programmers with a similar variety of registers and machine instruction functions. Also through the micro-program stored in a read-only memory (ROM) to achieve its very strong function, proud processing after each instruction to perform a series of primary instruction operations to complete the required functions, this design is called complex instruction set computer (Complex instruction set COMPUTER-CISC) structure. The general CISC computer contains more than 300 instructions, some even more than 500.
Streamlined instruction Set computer (RISC)
Computers with complex instruction systems have a strong ability to handle high-level languages. This is useful for improving the performance of your computer. When the design of the computer along this road develops. Some people do not drift. They looked back at the road they had been through and began to question the traditional approach: IBM did not organize the Yorktown of the Jhomasi.wason Research Center in New York in 1975 to study the rationality of the command system. Because it was felt that the increasingly complex command system is not easy to achieve. It can also degrade system performance. A group of scientists led by Professor Paterson in 1979 began the study at the University of California, Berkeley. The results show that there are many shortcomings in CISC. First In this kind of computer. The use of a variety of instructions is very different: a typical procedure used by the operation of the 80% instructions. accounts for only 20% of one processor instruction system. In fact, the most frequently used instructions are the simplest instructions for taking, saving, and adding. In this way, the long-term commitment to the design of a complex instruction system is actually designed to be a processor that is rarely used in practice in the instruction system. While Complex instruction systems inevitably lead to structural complexity. This not only increases the time and cost of design but also makes design mistakes. In addition Although VLSI technology has now reached a high level, it is difficult to cisc all the hardware on a chip, which also hinders the development of monolithic computers. In CISC, many complex instructions require very complex operations, most of which are a direct copy of a high-level language, and thus have poor versatility. It also reduces the speed of simple instruction systems that are frequently invoked because of the two-level microcode execution. thus Against these ills of CISC. Paterson and others put forward the idea that the instruction system should contain only a small number of instructions with very high frequency. and provide some necessary instructions to support the operating system and high-level languages. The computer developed in accordance with this principle is known as the compact instruction set computer (reduced instruction set COMPUTER-RISC) structure. RISC for short.
The difference between CISC and RISC
We often talk about "PC" and "Macintosh", but how many people know that the PC family with Intel company X86 is based on the CISC architecture, while Apple's Macintosh is based on RISC architecture, What is the difference between CISC and RISC?
From a hardware perspective, CISC deals with unequal instruction sets, which must split unequal instructions so that more processing is required when executing a single instruction. RISC performs a set of equal-length thin instructions, and the CPU is fast and stable when executing instructions. Therefore, RISC in parallel processing is significantly better than CISC,RISC can execute multiple instructions at the same time, it can divide an instruction into several processes or threads, to be executed simultaneously by multiple processors. Because RISC performs a streamlined instruction set, its manufacturing process is simple and low cost.
From the software point of view, CISC is running the DOS, Windows operating system that we are familiar with. And it has a lot of applications. Because more than 65% of the world's software vendors are CISC architecture-based PCs and their compatible machines, Microsoft is one of them. RISC is somewhat weak in this respect. Although DOS and Windows can be run on RISC, a translation process is required, so it runs much slower.
At present, CISC and RISC are gradually merging, Pentium Pro, Nx586, K5 is one of the most obvious examples, their cores are based on RISC architecture. They accept the CISC instruction and classify it into RISC instructions so that multiple instructions can be executed within a single time. This shows that the next generation of CPUs will be fused with CISC and RISC two technology, from the software and hardware aspects of the two will learn from each other.
Complex instruction set in the CPU to the more complex instruction decoding, that is, the instruction is long, divided into a few micro-instructions to execute, it is so much easier to develop programs (instruction many reasons), but because of the complexity of the instruction, the implementation of poor efficiency, processing data slow, PC Pentium structure is CISC CPU.
RISC is a thin instruction set CPU, the number of instruction bits is short, the inside also has the fast processing instruction circuit, makes the instruction decoding and the data processing faster, therefore the execution efficiency is higher than the CISC, however, must pass through the compiler processing, can play its efficiency, I know IBM's Power PC is RISC The structure of the CPU, the CISCO CPU is also the RISC structure.
The Cpu,pentium-pro (P6), Pentium-ii,cyrix M1, M2, AMD K5, K6 that we often see are actually improved CISC, or some of the advantages of combining CISC and RISC.
Comparison of main features of RISC and CISC
Compare content CISC RISC
command system complex, large and simple, streamlined
The number of instructions is generally greater than 2001 less than 100
Instruction format is generally greater than 41 less than 4
The addressing method is generally greater than 41 less than 4
Instruction word length not fixed equal length
There is no limit to the load/store instruction
The frequency of the use of various instructions varies greatly
Various instruction execution times vary greatly most of the time in one cycle complete
Optimizing compilation implementations is difficult
The program source code length is shorter longer
Controller implementation of the vast majority of micro-program control for the majority of hard wiring
Software system development time is shorter and longer
The difference between a streamlined instruction set and a complex instruction set