Reading time: 15 minutes
RISC (Reduced Instruction Set Computer) and CISC (Complex Instruction Set Computer) are equally innovative instruction sets and has it own advantages and uses. Both differ in terms of the following factors:
- Approach to improve computing performance
- Hardware and Software focus
- Hardware specifications
To understand RISC in depth, read this article
To understand CISC in depth, read this article
Approach to improve computing performance
To improve computer performance, the two basic approaches are:
- To reduce the number of cycles per instruction
- To reduce the number of instructions per program
Both approaches are contrary to each other and is dependent on the design of the instruction set supported by the computer.
In this view:
- RISC aims to reduce the number of cycles per instruction (approach 1)
- CISC aims to reduce the number of instructions per program (approach 2)
Hardware and Software focus
CISC are focused more on hardware design while RISC are focused on software design. Hardware design for CISC are difficult and requires a significant investment while for RISC, the investment goes to software development.
The assembly code generated by CISC are much smaller is size as compared to assembly code generated by RISC.
Example of assemby code for Multiplication in CISC:
MULT 2:3, 5:2
Example of assemby code for Multiplication in RISC:
LOAD A, 2:3 LOAD B, 5:2 PROD A, B STORE 2:3, A
Speed and Power consumption
In short, RISC is faster than CISC for simple operations like Multiplication.
The MUL operation on two 8-bit numbers in the register, in 8086 which is a CISC device takes 77 clock-cycles whereas the complete multiplication operation in a RISC device like a PIC takes 38 cycles
In this case, RISC is two times faster than CISC device. Note that the comparision is not justified as the two devices are from different device classes.
In short, for low power consumption requirements and less sophisticated devices, use RISC.
- Clock Frequency (High cycles per second) is high for CISC as compared to RISC
- CISC has multi-clock, complex instructions while RISC has single-clock, reduced instruction only
- CISC uses RAM (Random Access Memory) more efficiently than RISC
- RISC has simple addressing modes as compared to CISC
ARM devices, PICs and almost all smartphone manufacturers use RISC devices as they are faster and has less resource and power consumption.
CISC is used in the Intel x86 series CPU.
CISC is commonly used in automation devices whereas RISC is used in video and image processing applications.
There is no better architecture.
When microprocessors and microcontroller were first being introduced, they were mostly CISC mainly because of the lack of software support for RISC.
Later a few companies started delving into the RISC architecture such as Apple.
After a few decades, the CISC architecture was becoming difficult to improve and develop. Intel however had a lot of resources and were able to overcome most of the major roadblocks. They were doing this mainly to make all their hardware and software back compatible with their initial 8086 processors.
Currently, the boundary between RISC and CISC architectures are very blurred as both hardware and software support for RISC and CISC are readily available.