RISC vs. CISC Rui Wang Tibor Horvath
Towards CISC Wired logic microcode control n Temptingly easy extensibility Performance tuning n HW implementation of some high-level functions Marketing n n n Add successful instructions of competitors “New feature” hype Compatibility: only extensions are possible
CISC (англ. Complex instruction set computing, или англ. complex instruction set computer — компьютер с полным набором команд[1]) — концепция проектирования процессоров, которая характеризуется следующим набором свойств: нефиксированное значение длины команды; арифметические действия кодируются в одной команде; небольшое число регистров, каждый из которых выполняет строго определённую функцию.
RISC (англ. restricted (reduced) instruction set computer[1][2] — компьютер с сокращённым набором команд) — архитектура процессора, в котором быстродействие увеличивается за счёт упрощения инструкций, чтобы их декодирование было более простым, а время выполнения — меньшим. Первые RISCпроцессоры даже не имели инструкций умножения и деления. Это также облегчает повышение тактовой частоты и делает более эффективной суперскалярность (распараллеливан ие инструкций между несколькими исполнительными блоками).
CISC Problems Performance tuning unsuccessful n n Rarely used high-level instructions Sometimes slower than equivalent sequence High complexity n n Pipelining bottlenecks lower clock rates Interrupt handling can complicate even more Marketing n Prolonged design time and frequent microcode errors hurt competitiveness
RISC Features Low complexity n n Generally results in overall speedup Less error-prone implementation by hardwired logic or simple microcodes VLSI implementation advantages n n Less transistors Extra space: more registers, cache Marketing n Reduced design time, less errors, and more options increase competitiveness
RISC Compiler Issues The compilers themselves n n Computationally more complex More portable The compiler writer n n n Less instructions probably easier job Simpler instructions probably less bugs Can reuse optimization techniques
RISC vs. CISC misconceptions Arguments favoring RISC: simple design, short design time, speed, price… Study of RISC should include hardware/software tradeoffs, factors influencing computer performance and industry-side evaluation.
RISC vs. CISC misconceptions Incorrect implication from the two acronyms: RISC and CISC. n They are not bifurcations between which designers have to choose Carelessly leaving out the ‘participation’ of Operating System
RISC vs. CISC misconceptions Reduced design time? n academic <-> industrial Performance claims of RISC proponent do not decouple design features like MRSs. n MRSs can have a remarkable effect on program execution
Conclusion – RISC vs. CISC? CISC n Effectively realizes one particular High Level Language Computer System in HW - recurring HW development costs when change needed RISC n Allows effective realization of any High Level Language Computer System in SW - recurring SW development costs when change needed
Conclusion – Optimum? Hybrid solutions n n RISC core & CISC interface Still has specific performance tuning Optimal ISA n n n Between RISC & CISC Few, carefully chosen, useful complex instructions Still has complexity handling problems