RISC vs CISC

There are two main kinds of instruction sets in von Neumann systems:

  • Reduced Instruction Set Computer

    Reduced Instruction Set Computers (RISC) shortens execution time by reducing the clock cycles per instruction.

    • For RISC, we have a few, simple instructions, fixed in length. This means: ? Control units can be hardwired for maximum speed. Instructions take cycle to process meaning easier pipelining. Programming requires more instructions for complex operations.

    • For RISC, we only have Load / Store instructions for memory access, with few addressing modes. This means that: ? Parameter passing through registers means fast sequential execution. Requires more (expensive) registers.

    Link to original
  • Complex Instruction Set Computers

    Complex Instruction Set Computers (CISC) improve performance by reducing the number of instructions per program.

    • For CISC, many complex instructions with variable length means: ? Control units need to use special circuits for interpreting instructions as they are fetched from memory, this can take additional time. Instructions may take multiple / variable numbers of cycles to process hence harder to manage pipelines. Easier to program, fewer instructions required for complex operations.

    • For CISC, many instructions can access memory using many addressing modes which means: ? Parameter passing through memory means additional strain on von Neumann bottleneck. Fewer registers needed, fewer operands per instruction.

    Link to original

Optimal Solution

The first digital computers were RISC due to their simple programs. As programs became more complex, CISC became dominant. RISC processors are generally used in embedded devices.

Modern CISC processors breakdown complex instructions into a series of simpler ones to be executed. Sometimes this allows them to be pipelined more easily but it requires more space on the chip, power and produces additional heat.