CISC stands for Complex Instruction Set Computer. It comprises a complex instruction set. It incorporates a variable-length instruction format. Instructions that require register operands can take only two bytes.
The instructions that require two memory addresses can take five bytes to include the complete instruction code. Thus, CISC has a variable-length encoding of instructions and the execution of instructions may take a varying number of clock cycles. The CISC processor provides direct manipulation of operands that are in memory.
The task of a compiler is to generate a sequence of machine instructions for each high-level language statement. The task is simplified if there are machine instructions that implement the statements directly. The essential goal of a CISC architecture is to attempt to support a single machine instruction for each statement that is written in a high-level language.
Example − An ADD instruction will use index addressing to specify one operand in memory and direct addressing to specify the second operand in memory. This instruction would use another memory location to store the result. Thus, this instruction would use three memory references for execution.
Many CISC architectures read the inputs and write their outputs in the memory system instead of a register file. As CISC architecture takes a large number of addressing modes, more hardware logic is required to implement them. This reduces the computation speed.
The CISC architecture attempts to provide a single machine instruction for the statements that are written in a high-level language.
There are various features of CISC Processor that are as follows −