RISC - reduced instruction set computer. CISC - complex instruction set computer.
RISC CPUs/computers are typically much smaller than CISC CPUs/computers.
CISC reduces the number of lines of code in attempt to be be more efficient. I.e., multiplication looks and appears simple however it is very complex under-the-hood.
MULT 0010, r000
RISC does not reduce the number of lines of code in attempt to be more efficient, rather having lesser instructions which must be done manually.
LDA r000, 0000
LDA r001, 0001
PROD, r000, r001
STA 0010, r000
As a result of this, when working with RISC:
- the compiler has to do more conversion work
- more RAM is needed to store the assembly instructions
- the process is less efficient
An example of RISC is ARM. An example of CISC is Intel x86 (aka. x32)/AMD x64.
Comparison
| CISC | RISC |
|---|---|
| Used in laptops/desktop computers x86/x64 processors mainly led by Intel and AMD | Used in smartphones, tablets, embedded systems Made popular by ARM processors |
| Has more complex hardware | Has simpler hardware |
| Larger number of complex instructions of variable length | Smaller number of simple, standardised instructions that are all of a fixed length |
| Multiple machine/clock cycles per instruction | Simple machine cycle per instruction |
| Physically larger, more complex circuitry, requires more silicon to make, typically more expensive | Smaller in size, less complex circuitry requires, less silicon, typically cheaper to produce |
| Greater energy consumption | Lower energy requirements |
| Can’t make use of pipelining | Can support pipelining |
| An emphasis is on the hardware, the computer (software) has to do less work | An emphasis is on the software, the compiler has to do more work |
| Small code sizes, high cycles per second | Large code sizes, lower cycles per second |
| Makes more efficient use of RAM than RISC | Heavy use of RAM |
| Multiple addressing modes available | Fewer addressing modes available |