| Ja, de CPU gebruikt registers voor zowel controle als statusregistratie. Ze zijn cruciaal voor beide functies:
* Controleregisters: Deze registers sturen de bewerkingen van de CPU. Voorbeelden zijn onder meer:
* Instructieregister (IR): Bevat de huidige instructie die wordt uitgevoerd.
* Programmateller (PC): Wijst naar het geheugenadres van de volgende op te halen instructie.
* Statusregisters (soms afzonderlijk beschouwd): Geef de resultaten van bewerkingen aan (bijvoorbeeld overflow, carry, zero). Deze zijn vaak gegroepeerd in één register.
* Statusregistraties: Deze geven informatie over de huidige status van de CPU en de resultaten van recente bewerkingen. Ze worden gebruikt door de CPU zelf en zijn vaak toegankelijk via software voor voorwaardelijke vertakkingen en afhandeling van uitzonderingen. Voorbeelden van informatie die in statusregisters wordt bewaard, zijn onder meer:
* Vlag dragen: Geeft aan of een rekenkundige bewerking heeft geresulteerd in een carry of een lening.
* Nulvlag: Geeft aan of het resultaat van een bewerking nul was.
* Vlag ondertekenen: Geeft het teken (positief of negatief) van het resultaat aan.
* Overloopvlag: Geeft aan of een rekenkundige bewerking tot een overloop heeft geleid.
* Onderbreekvlaggen: Geef aan of interrupts zijn in- of uitgeschakeld.
Hoewel sommige registers in de eerste plaats bedoeld zijn voor de besturingsstroom (zoals de pc en IR), registreren andere rechtstreeks de status van de CPU en de resultaten van bewerkingen (statusvlaggen binnen statusregisters). De grens tussen controle en status is niet altijd strikt gescheiden; De status van een operatie kan bijvoorbeeld rechtstreeks van invloed zijn op de controlestroom. |