Computer Instruction Sets CISC and RISC
When approaching a new CPU the first thing a vendor will describe is that it is a RISC instruction set, what does this mean and how much information can you learn about CPU characteristics from this description?
Complex Instruction Set Computer (CISC)
For a long time, improvements in computer performance have often been obtained by increasing the complexity of the hardware . With the integrated circuit technology... In particular, the rapid development of VLSI (Very Large Scale Integrated Circuit) technology, in order to facilitate software programming and improve the speed of program operation, hardware engineers have adopted the approach of increasing the number of instructions that can achieve complex functions and a variety of flexible addressing methods. Even some instructions can support complex operations after categorization of high-level language statements. The hardware is becoming more and more complex, and the cost is increasing accordingly. To implement complex operations, the microprocessor provides the programmer with a variety of register and machine instruction functions similar to. This design is called Complex Instruction Set Computer (CISC) architecture, which performs a series of primary instruction operations after analyzing each instruction. A typical CISC computer contains at least 300 instructions, some even more than 500.
Reduced Instruction Set Computer (RISC)
Computers with complex instruction systems have a greater ability to handle high-level languages. This is beneficial to improve the performance of the computer . As the design of computers evolves along this path. Some people don't go with the flow． They looked back at the path taken in the past and began to question this traditional approach: IBM did not organize a research effort at the Jhomas I. Wason Research Center in Yorktown, New York, in 1975 to study the rationality of the instruction system. Because it was already felt that the increasingly complex instruction system was not only not easy to implement . And it may also degrade the system performance. In 1979 a group of scientists led by Professor Patterson also began this research at the University of California at Berkeley. The results show that CISC has many shortcomings . First of all... In such computers. There is a huge difference in the usage of various instructions: 80% of the instructions used in the course of a typical program. Only 20 percent of a processor's instruction system. In fact the most frequently used instructions are the simplest ones, fetch, store and add. In this way - a long-term commitment to the design of complex instruction systems is actually designing a processor with an instruction system that is rarely used in practice. Meanwhile... A complex instruction system inevitably brings structural complexity. This not only increases the time and cost of the design but also causes design errors. In addition... Although VLSI technology has now reached a high level, it is also difficult to make all the hardware of CISC on a single chip, which also hinders the development of monolithic computers. In CISC, many complex instructions require extremely complex operations, and most of these instructions are direct replicas of some high-level language, and thus are poorly generalized. Due to the secondary microcode execution, it also slows down the operation of simple instruction systems that are called frequently. Thus... To address these drawbacks of CISC. Patterson et al. proposed the idea of streamlining instructions i.e. the instruction system should contain only those few instructions that are used very frequently. and provide some necessary instructions to support the operating system and high-level language. A computer developed according to this principle is called a Reduced Instruction Set Computer (RISC) architecture. RISC.
Difference between CISC and RISC
We talk a lot about the"PC" together with"Macintosh" topic of discussion， But how many people know that withIntel companyX86 corePC The series is based precisely on theCISC architecture， but (not) Apple corporateMacintosh is based onRISC architecture，CISC together withRISC What's the difference?？
From a hardware perspective CISC deals with unequal length instruction sets, it has to partition the unequal length instructions and therefore requires more processing work when executing a single instruction. RISC, on the other hand, executes an equal-length condensed instruction set, which allows the CPU to execute instructions faster and with consistent performance. Therefore, RISC is significantly better than CISC in terms of parallel processing. RISC can execute multiple instructions simultaneously, and it can split an instruction into several processes or threads for simultaneous execution by multiple processors. Because RISC executes a streamlined instruction set, it is simple and inexpensive to manufacture.
From a software perspective, CISC runs the DOS and Windows operating systems that we are familiar with. And it has tons of apps. This is because more than 65% of the world's software vendors serve CISC-based PCs and their compatibles, such as the famous Microsoft. RISC, on the other hand, is a little thin on the ground in this regard. Although it is possible to run DOS and Windows on RISC, it requires a translation process, so it runs much slower.
CISC and RISC are now moving towards convergence, with the Pentium Pro, Nx586, and K5 being the most obvious examples, all of which have cores based on RISC architectures. They accept CISC instructions and then break them down and classify them into RISC instructions in order to be able to execute multiple instructions at a time. This shows that the next generation of CPUs will combine both CISC and RISC technologies, and both will complement each other in terms of software and hardware.
My understanding after reading the above is that.
CISC usually uses multiple system clocks to execute a single instruction, such as 51 microcontrollers use 12 clock cycles to complete the process of fetching, analyzing, and executing an instruction, while RISC does not use RISC processors use only one clock cycle to execute an instruction, while RISC usually uses a pipeline structure, i.e., executing an instruction when fetching the next instruction, these are done in the same clock cycle.