Key Takeaways
- Složitost sady instrukcí: RISC (Reduced Instruction Set Computing) a CISC (Complex Instruction Set Computing) představují dvě různé filozofie při navrhování počítačových architektur. RISC se zaměřuje na jednoduché instrukce, které lze provést v rámci jednoho hodinového cyklu, zatímco CISC zahrnuje složité instrukce, jejichž provedení může trvat více hodinových cyklů, ale s každou instrukcí dosáhnout více.
- Výkon a účinnost: RISC architektury inklinují mít vyšší počet registrů a utrácet více tranzistorů na registrech spíše než na komplexních instrukcích, což umožňuje více paralelismu a potenciálně vyšší výkon v určitých situacích. Architektury CISC se svými složitějšími instrukcemi mohou provádět složitější úkoly s menším počtem instrukcí, což potenciálně vede k efektivnějšímu využití paměti.
- Aplikace a příklady: Architektury RISC se běžně používají v systémech, kde je rozhodující tepelná a energetická účinnost, jako jsou mobilní zařízení a vestavěné systémy. Pozoruhodné příklady zahrnují procesory ARM. Architektury CISC, jako jsou ty, které vidíme v řadě Intel x86, se používají v prostředí stolních počítačů a serverů, kde může být kritický nezpracovaný výpočetní výkon a schopnost zpracovávat složité instrukce.
Co je RISC?
RISC je zkratka pro Reduced Instruction Set Computer. Jedná se o typ počítačové architektury, která se zaměřuje na jednoduchost a efektivitu při návrhu instrukční sady procesoru. V architektuře RISC je instrukční sada záměrně malá a jednoduchá a skládá se z omezeného počtu instrukcí, které lze provést v jediném hodinovém cyklu. Tato filozofie designu kontrastuje s Complex Instruction Set Computers (CISC), které mají větší a složitější instrukční sady.
Procesory RISC mají snížený počet instrukcí v rozmezí od přibližně 30 do 200, které jsou optimalizovány pro konkrétní úlohy. Každá instrukce provádí jednoduchou operaci a složité operace jsou sestaveny kombinací několika jednodušších instrukcí. Procesory RISC se řídí architekturou načítání/ukládání, kde jsou data načtena z paměti do registrů, manipulována v registrech a poté uložena zpět do paměti. Aritmetické a logické operace se primárně provádějí v rámci registrů.
Co je CISC?
CISC znamená Complex Instruction Set Computer. Označuje typ počítačové architektury, která klade důraz na velký soubor instrukcí s různou složitostí. V architektuře CISC mohou instrukce provádět složité operace a přistupovat přímo do paměti. Tyto instrukce mají proměnnou délku a jejich provedení může trvat několik hodinových cyklů.
Procesory CISC jsou navrženy tak, aby zpracovávaly složité instrukce a minimalizovaly počet instrukcí potřebných k provedení úkolu. Poskytují bohatou sadu režimů adresování a podporu jazyků na vysoké úrovni, což umožňuje programátorům psát kompaktnější kód. Příklady architektur CISC zahrnují rodinu procesorů x86, jako je Pentium od Intelu a Ryzen od AMD.
Rozdíl mezi RISC a CISC
- Architektury RISC mají zjednodušenou a zpřehledněnou sadu instrukcí sestávající z malého počtu jednoduchých instrukcí. Naproti tomu architektury CISC mají větší a složitější instrukční sadu s instrukcemi, které mohou provádět složitější operace.
- Procesory RISC provádějí instrukce v jediném hodinovém cyklu, takže jejich doba provádění je předvídatelnější. Na druhé straně procesory CISC mohou vyžadovat více hodinových cyklů pro provedení instrukcí a doba provádění se může lišit v závislosti na složitosti instrukce.
- Architektury RISC využívají architekturu načítání/ukládání, kde všechny instrukce pro zpracování dat pracují s daty uloženými v registrech a přístup do paměti je omezen na specifické instrukce načítání a ukládání. Architektury CISC umožňují instrukcím přímý přístup k paměti, což snižuje potřebu explicitních instrukcí načítání/ukládání.
- Architektury RISC jsou navrženy s jednoduchou a pravidelnou strukturou potrubí, kde každá fáze potrubí plní specifický úkol. To umožňuje snadnější zřetězení a vyšší propustnost instrukcí. Architektury CISC se svými složitějšími instrukcemi mohou mít delší zřetězení a čelit problémům při dosahování efektivního zřetězení.
- Architektury RISC mají tendenci generovat kód, který je kompaktnější a efektivnější. Zjednodušená instrukční sada a zaměření na optimalizaci běžných operací přispívají k menší velikosti kódu. Na druhé straně architektury CISC mohou provádět složité operace v jedné instrukci, což potenciálně snižuje počet požadovaných instrukcí, ale vede k větší velikosti kódu.
Srovnání mezi RISC a CISC
Parametry srovnání | RISC | CISC |
---|---|---|
Kódování instrukcí | Pokyny s pevnou délkou | Instrukce s proměnlivou délkou |
Registrovat použití | Klade důraz na rozsáhlé používání registrů | Více se spoléhá na přístup k paměti |
Složitost řídicí jednotky | Jednoduchý design řídicí jednotky | Komplexní návrh řídicí jednotky |
Výkon na Watt | Obvykle energeticky účinnější | Může spotřebovat více energie pro složité pokyny |
Doba vývoje | Rychlejší vývoj díky jednodušší architektuře | Delší doba vývoje kvůli složitosti |
- https://dl.acm.org/doi/abs/10.1145/250015.250016
- https://link.springer.com/chapter/10.1007/978-3-540-93799-9_4
Poslední aktualizace: 21. srpna 2023
Sandeep Bhandari získal bakalářský titul v oboru počítačů na Thapar University (2006). Má 20 let zkušeností v oblasti technologií. Má velký zájem o různé technické obory, včetně databázových systémů, počítačových sítí a programování. Více si o něm můžete přečíst na jeho bio stránka.