CISC Vs RISC
CISC Vs RISC
CISC
with guidance from Rui Wang
& Tibor Horvath’s presentation
CISC
• CISC: complex instruction set computer
• But original CPUs very simple
• Poorly suited to evolving high level languages
• Extended with new instructions
– e.g. function calls, non-linear data structures, array bound
checking, string manipulation
• Implemented in microcode (which are RISC like)
– sub-machine code for configuring CPU sub-components
– 1 machine code == > 1 microcode
• e.g. Intel X86 architecture
CISC continued
• CISC introduced integrated combinations of
features
– e.g. multiple address modes, conditional execution
– required additional circuitry/power
– multiple memory cycles per instruction
– over elaborate/engineered
• many feature combinations not often used in practise
• Could lead to loss of performance
• Better to use combinations of simple instructions
CISC Problems
• Performance tuning unsuccessful
• Rarely used high-level instructions
• Sometimes slower than equivalent sequence
• High complexity
• Pipelining bottlenecks → lower clock rates
• Interrupt handling can complicate even more
• Marketing
• Prolonged design time and frequent microcode
errors hurt competitiveness
More about CISC
• Wired logic → microcode control
• Temptingly easy extensibility
• Performance tuning
• HW implementation of some high-level functions
• Marketing
• Add successful instructions of competitors
• “New feature” hype
• Compatibility: only extensions are possible
RISC
• RISC: reduced instruction set computer
• return to simpler design
• general purpose instructions with small number of
common features
• less circuitry/power
• execute in single cycle
• code size grew
• performance improved
• e.g. ARM, MIPS
RISC Features
• Low complexity
• Generally results in overall speedup
• Less error-prone implementation by hardwired
logic or simple microcodes
• VLSI implementation advantages
• Less transistors
• Extra space: more registers, cache
• Marketing
• Reduced design time, less errors, and more
options increase competitiveness
RISC Compiler Issues
• The compilers themselves
• Computationally more complex
• More portable
• RISC
• Allows effective realization of any High Level
Language Computer System in SW - recurring SW
development costs when change needed
Conclusion – Optimum?
• Hybrid solutions
• RISC core & CISC interface
• Still has specific performance tuning
• Optimal ISA
• Between RISC & CISC
• Few, carefully chosen, useful complex instructions
• Still has complexity handling problems
CISC vs RISC
CISC vs RISC
CISC vs RISC
CISC vs RISC
CISC vs RISC
CISC vs RISC
https://cs.stanford.edu/people/eroberts/cours
es/soco/projects/risc/risccisc/