1980s Computers Logo


CISC versus RISC Processors

CISC (Complex Instruction Set Computer)

When the first computer central processing units were being designed, in the 1950s and 1960s, computer memory was very expensive. This meant there was a considerable advantage in making programs as short as possible, in terms of the number of bytes needed to store their instructions.
It helped if each instruction did as much work as possible and also if instructions were no longer than necessary.
The same design goals were carried forward into early microprocessors such as the Zilog Z80 and Intel 8086.
The result was that the processors ended up with a large number, often over 100, of different and specialised instructions.
The instructions also tended to vary in length, from for example one byte for a register-to-register addition, to three bytes for a memory read.
Most microprocessors have several internal 'registers' for temporary storage of data and another feature of this type of processor is that the registers have specific uses with specific instructions. This might be as the 'accumulator' to hold the results of arithmetic operations, or 'index registers' to access the main memory.
A microprocessor designed along these lines is known as a CISC or Complex Instruction Set Computer.


RISC (Reduced Instruction Set Computer)

An alternative design began to appear in the 1980s, when memory was becoming cheaper.
These had far fewer different instructions (the basic ARM processor has just 24) but they are chosen to cover the most-used instructions in a CISC design and to be general purpose.
All the instructions are the same number of bytes long and they are 'orthoganol', that is any register can be used with any instruction. (With the partial exception of the Program Counter.)
This design of processor is known as a RISC or Reduced Instruction Set Computer, since it has fewer instructions in its internal language.


Which is better?

There is still debate as to the pros and cons of the two designs but RISC types are generally considered to have the following advantages:
  • Because a RISC processor has fewer types of instruction to deal with it can be a much simpler design containing far fewer transistors, maybe by an order of magnitude, than a CISC processor.
    This both simplifies the design process and leaves space on the chip to include extra circuitry such as a video controller or I/O ports in addition to the microprocessor, allowing cheaper and more compact overall systems.
  • The absence of dedicated registers makes it easier to write compiler programs or even to write directly in assembly language.
  • Because each instruction is the same length and has a similar structure, execution can be broken down into several distinct stages.
    These might be:
    1. Read the instruction from memory
    2. Decode the instruction
    3. Carry out the operation
    4. Store the result
    By careful design it is possible to overlap these so that while one instruction is being decoded the next one is being read from memory, while the previous one is being carried out, etc.
    This technique is called 'pipelining' and in the above example would give the effect of four instructions being executed simultaneously, with a corresponding increase in the speed of operation.
    Pipelining is more difficult in a CISC design because different instructions consist of different numbers of stages.
  • The simplicity of a RISC design makes it easier to operate reliably at a faster rate (a higher clock speed) than for a CISC processor, in addition to the advantage of pipelining.
There are some disadvantages to the RISC type. The need to sometimes use several instructions where one CISC instruction would do partly negates the speed advantages, and programs tend to occupy more space.
However it is significant that no new families of CISC processor have been launched since the 1980s, and that current Intel Pentium processors, despite being derived from the 8086 and appearing to be CISC types, actually use RISC design techniques internally to improve performance.
The latest Microsoft Xbox games console uses PowerPC RISC processors even though Microsoft's history is mostly linked to derivatives of the 8086 CISC processor.




Close window

Hosted by www.Geocities.ws

1