Reduced Instruction Set Architecture (RISC) –
Het idee hierachter is om hardware eenvoudiger te maken door een instructieset te gebruiken die bestaat uit een paar basisstappen voor laden, evalueren en opslaan, net zoals een laadcommando gegevens zal laden, een store-commando gegevens zal opslaan.
Complexe Instructie Set Architectuur (CISC) –
Het idee is dat een enkele instructie alle laad-, evaluatie- en opslagbewerkingen uitvoert, net zoals een vermenigvuldigingscommando gegevens laadt, evalueert en opslaat, vandaar dat het complex is.
Beide benaderingen proberen de prestaties van de CPU te verbeteren
- RISC: Vermindering van het aantal cycli per instructie ten koste van het aantal instructies per programma.
- CISC: De CISC-benadering probeert het aantal instructies per programma te minimaliseren, maar ten koste van de toename in het aantal cycli per instructie.
Vroeger, toen programmeren werd gedaan met behulp van assembleertaal, werd de behoefte gevoeld om instructies meer taken te laten uitvoeren, omdat programmeren in assembleertaal vervelend en foutgevoelig was, waardoor de CISC-architectuur zich ontwikkelde, maar met de opkomst van high-level taal werd de afhankelijkheid van assembleertaal verminderd en kreeg de RISC-architectuur de overhand.
Carakteristiek van RISC –
- Simpelere instructies, dus eenvoudige decodering van instructies.
- Instructie komt onder de grootte van één woord.
- Instructie heeft één klokcyclus nodig om te worden uitgevoerd.
- Meer registers voor algemene doeleinden.
- Eenvoudige adresseringsmodi.
- Minder typen gegevens.
- Pipeline kan worden gerealiseerd.
Carakteristiek van CISC –
- Complexe instructie, dus complexe instructie decodering.
- Instructies zijn groter dan één woord.
- Instructie kan meer dan één klokcyclus nodig hebben om te worden uitgevoerd.
- Minder registers voor algemene doeleinden, omdat de bewerkingen in het geheugen zelf worden uitgevoerd.
- Complexe adresseringsmodi.
- Meer gegevenstypen.
Voorbeeld – Stel, we moeten twee 8-bits getallen optellen:
- CISC-benadering: Er is een enkel commando of instructie voor, zoals ADD, die de taak zal uitvoeren.
- RISC-benadering: Hier zal de programmeur het eerste laadcommando schrijven om gegevens in registers te laden, vervolgens zal hij een geschikte operator gebruiken en vervolgens zal hij het resultaat opslaan op de gewenste plaats.
Dus de add-operatie is verdeeld in delen: laden, opereren en opslaan, waardoor RISC-programma’s langer zijn en meer geheugen nodig hebben om te worden opgeslagen, maar minder transistors nodig hebben vanwege de minder complexe opdrachten.
Verschil –
RISC | CISC |
---|---|
Focus op software | Focus op hardware |
Gebruikt alleen Hardwired besturing hardwired besturingseenheid | Gebruikt zowel hardwired als micro geprogrammeerde besturingseenheid |
Transistors worden gebruikt voor het opslaan van complexe Instructies |
|
Instructies van vaste grootte | Instructies van variabele grootte |
kan REG naar REG of REG naar MEM of MEM naar MEM uitvoeren | |
heeft meer registers nodig | heeft minder registers nodig |
Code size is small | |
Instructie duurt meer dan één klokcyclus | |
Een instructie past in één woord | Instructies zijn groter dan de grootte van één woord |