Instrukční soubory RISC a CISC
Označení CISC bylo zavedeno jako protiklad až poté, co se prosadily procesory RISC, které mají instrukční sadu naopak maximálně redukovanou (pouze jednoduché operace, tj. žádné složené, jsou stejně dlouhé a jejich vykonání trvá stejnou dobu)
CISC (anglicky Complex Instruction Set Computer)
Complex ve zkratce CISC označuje skutečnost, že strojové instrukce pokrývají velmi široký okruh funkcí, které by jinak šly naprogramovat pomocí jednodušších již obsažených strojových instrukcí (například násobení je možné nahradit sčítáním a bitovými posuny).
Opakem procesorů CISC jsou procesory RISC, které obsahují redukovanou instrukční sadu.
RISC (anglicky Reduced Instruction Set Computing)
RISC označuje v mikropočítačové technice architekturu mikroprocesorů s redukovanou instrukční sadou, jejichž návrh je zaměřen na jednoduchou, vysoce optimalizovanou sadu strojových instrukcí, které jsou v protikladu s množstvím specializovaných instrukcí ostatních architektur CISC mikrořadičů.
Typické rysy architektury RISC jsou následující:
- aritmeticko-logická jednotka komunikuje s pamětí po sběrnici;
- redukované jsou pouze některé z typů strojových instrukcí (tj. „práce uvnitř”, operace s pamětí a řídící instrukce);
- délka provádění jedné instrukce je vždy jeden cyklus (tj. délka v bitech všech instrukcí je stejná);
- mikroinstrukce jsou hardwarově implementovány na procesoru, čímž je velmi výrazně zvýšena rychlost jejich provádění;
- registry jsou pouze víceúčelové (nezáleží, který z nich instrukce využije, což zjednodušuje návrh překladačů);
- pro zrychlení zpracování instrulcí využívají metodu řetězení instrukcí (pipelining).
Obvyklou chybou je domněnka, že procesory CISC mají více strojových instrukcí, než procesory RISC. Ve skutečnosti nejde o absolutní počet, ale o počet různých druhů operací, které procesor sám přímo umí vykonat na hardwarově úrovni (tj. již z výroby). Procesor CISC tak může například paradoxně obsahovat pouze jednu strojovou instrukci pro danou operaci (např. logické operace), zatímco procesor RISC může tuto operaci obsahovat jako několik strojových instrukcí, které stejnou operaci umí provést nad různými registry.