Briefly explain what is the difference between RISC and CISC chips, thanks!
RISC (Reduced Instruction Set Computer) and CISC (Complex Instruction Set Computer) are two current CPU architectures. They are distinguished by different CPU design concepts and methods. Early CPUs were all CISC architectures, which were designed to perform the required computational tasks with a minimum number of machine language instructions. For example, for multiplication, on a CISC CPU, you might need an instruction like this: MUL ADDRA, ADDRB to multiply the numbers in ADDRA and ADDRB and store the result in ADDRA. The operations of reading the data in ADDRA, ADDRB into registers, multiplying and writing the result back to memory all depend on the logic designed in the CPU. This architecture increases the complexity of the CPU structure and the requirements of the CPU process, but it is very favorable for the development of the compiler. For example, in the above example, a*=b in a C program can be compiled directly into a multiplication instruction. Only Intel and its compatible CPUs still use the CISC architecture today. The RISC architecture requires software to specify the individual operation steps. For the above example to be implemented on a RISC architecture, reading the data from ADDRA, ADDRB into registers, multiplying and writing the result back to memory would have to be done by software, e.g. MOV A, ADDRA; MOV B, ADDRB; MUL A, B; STR ADDRA, A. This architecture reduces the complexity of the CPU as well as allowing more powerful instructions to be produced at the same process level. This architecture reduces the complexity of the CPU and allows more powerful CPUs to be produced at the same process level, but requires a more sophisticated compiler design.