One of the two main types of instruction set architecture used in processor design is called complex instruction set computer or CISC architecture. It combines simple instructions into a single large set of instructions or complex and multi-step instructions that can perform multiple operations in a single instruction cycle. A single instruction can execute several low-level operations or perform a complex task. This enables the processor to optimize the instructions per program and reduce the number of instructions that a particular program has.
The general working principle behind CISC makes it suitable for high-level language execution and operating system operations. Notable examples of processors based on this instruction set architecture include the x86 Intel Core and Intel Xeon lines from Intel and the Athlon and Ryzen microprocessors from AMD. Both Intel and AMD dominate the market for personal computer processors. Other examples of CISC processors include the Zilog Z80 and the Motorola 68000 which were once popular in personal computers and workstations.
Difference With RISC Architecture
The other main type of instruction set architecture is reduced instruction set computer or RISC. It uses simpler and fewer instructions that require fewer clock cycles to execute. Examples of RISC processors include ARM-based processors such as the A series and M series chips from Apple, TSMC-produced Snapdragon and MediaTek system-on-chips for Android devices, PowerPC from the AIM Alliance, and SPARC from Oracle Corporation.
It is important to reiterate the fact that CISC architecture can execute complex instructions and perform multiple operations per single operation. This is in contrast to RISC architecture which uses simpler instructions with one instruction per cycle and fixed instruction sizes. A simpler explanation of 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 CISC and RISC is that the former can perform multi-step operations or address modes within one instruction set. The latter performs difficult commands by merging them into simpler ones. This difference also defines the specific differences between the x86 architecture from Intel and ARM architecture from Arm Ltd. There is no better option between the two because each has its 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:
1. Microprogramming requires assembly language that is easier to implement. It is also less expensive than hard-wiring a control unit.
2. Semiconductor designers can design CISC processors upward compatible because of the ease of microcoding new instructions.
3. Another advantage of CISC is that it reduces the amount of work that the compilers have to do because the instructions are already high-level.
4. It can use fewer instructions for task implementation since executing a single instruction will also execute and complete several low-level tasks.
5. Access to memory is also flexible because of the complex addressing mode. CISC instructions can directly access memory locations.
6. Furthermore, the depth of details of the instructions requires less memory. The CPU does most of the work while decoding instructions.
7. The architecture uses general-purpose hardware to carry commands. 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:
1. The number of general-purpose registers that can be fitted into the processor is less because decoding instructions require more transistors.
2. 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.
3. The code requires several clock cycles to execute a single instruction despite having a minimal code size. This can decrease system efficiency.
4. Simplifying a software or application depends on the complexity of the hardware. To simplify an application, the hardware needs to be complex.
5. Another disadvantage of CISC or complex instruction set computer is that consumes more power and dissipates more heat than RISC.
6. The rationale behind CISC centers on minimizing the memory requirement. Memory back then was small and expensive. This is not the case today.
7. 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