A complex instruction set computer or CISC architecture is one of the two major types of instruction set architecture used in the design of central processing units. It works by combining simple instructions into a single complex one, thereby optimizing the instructions per program and reducing the number of instructions that a particular program has. CPUs based on CISC architecture include the x86 family of processors from Intel Corp., the Motorola 6800, 6809, and 68000 families, and the Z80 series of processors from Zilog, among others.
Difference with RISC Architecture
The other basic type of CPU design is reduced instruction set computer or RISC architecture that uses simpler and fewer instructions that require fewer clock cycles to execute. Some notable examples of RISC-based processors include ARM-based processors such as the A Series and M Series chips from Apple Inc., including the first-ever M1 processor, the Snapdragon and MediaTek processors found in Android phones, PowerPC from the AIM Alliance, and SPARC from Oracle Corporation.
Note that CISC architecture can perform multiple operations per single operation. In contrast, RISC architecture uses simpler instructions with one instruction per cycle and fixed instruction sizes. A simpler explanation about the difference between the two is that CISC tries to do more in a single instruction while RISC tries to perform one thing only per instruction.
Another difference between the two is that CISC processors can perform multi-step operations or address modes within one instruction set, while RISC processors perform difficult commands by merging them into simpler ones. The differences between the two also define the differences between x86 processors from Intel and ARM architecture from Arm Ltd. Nonetheless, it is essential to note that there is no superior option between the two because they have their respective advantages and disadvantages.
Advantages of CISC Architecture
Below is a rundown of the advantages of CPU design based on complex instruction set computer architecture:
• Microprogramming requires assembly language that is easier to implement. It is also less expensive than hard-wiring a control unit.
• Chip designers can make CISC processors upward compatible because of the ease in microcoding new instructions.
• The architecture reduces the amount of work that the compilers have to do because the instructions are already high-level.
• It can utilize fewer instructions to implement a given task since the execution of a single instruction will also execute and complete several low-level tasks.
• Access to memory is also flexible because of the complex addressing mode. CISC instructions can directly access memory locations.
• Furthermore, the depth of details of the instructions requires less memory. The CPU does most of the work while decoding instructions.
• The architecture uses general-purpose hardware to carry commands. The structure of the instruction set does not need to be changed when adding new commands.
Disadvantages of CISC Architecture
Below is a rundown of the disadvantages of CPU design based on complex instruction set computer architecture:
• The number of general-purpose registers that can be fitted into the processor is less because decoding instructions require more transistors.
• Of course, because the CPU does more work in a single instruction, the clock speed tends to be slightly slower than a RISC-based CPU.
• The code requires several clock cycles to execute a single instruction despite having a minimal code size. This can decrease system efficiency.
• Simplifying a software or application depends on the complexity of the hardware. To simplify an application, the hardware needs to be complex.
• Most processors based on complex instruction set computer consume more power and dissipate more heat than RISC-based ones.
• The rationale behind CISC centers on minimizing the memory requirement. Memory back then was small and expensive. This is not the case today.
• It is more expensive to implement than RISC because of its complexity. For example, remember that it requires more transistors.
FURTHER READINGS AND REFERENCES
- Ibrahim, D. 2015. “Microcomputer Systems.” In PIC32 Microcontrollers and the Digilent ChipKIT. Elsevier. DOI: 1016/b978-0-08-099934-0.00001-6
- Koo, K., Rho, G. S., Kwon, W. H., Park, J., and Chang, N. 1998. Architectural Design of an RISC Processor for Programmable Logic Controllers. Journal of Systems Architecture. 44(5): 311-325. DOI: 1016/s1383-7621(97)00011-8
- Stallings, W. 1988. “Reduced Instruction Set Computer Architecture. Proceedings of the IEEE. 76(1): 38-55. DOI: 1109/5.3287