Ja, CPU använder register för både kontroll- och statusinspelning. De är avgörande för båda dessa funktioner:
* Kontrollregister: Dessa register leder CPU:s verksamhet. Exempel inkluderar:
* Instruktionsregister (IR): Har den nuvarande instruktionen som genomförs.
* Programräknare (PC): Pekar på minnesadressen för nästa instruktion som ska hämtas.
* statusregister (ibland betraktas som separat): Ange resultaten av operationerna (t.ex. överflöd, bär, noll). Dessa grupperas ofta i ett enda register.
* Statusregister: Dessa ger information om CPU:s nuvarande tillstånd och resultaten från de senaste operationerna. De används av CPU själv och är ofta tillgängliga med programvara för villkorad förgrening och undantagshantering. Exempel på information som hålls inom statusregister inkluderar:
* bär flaggan: Anger om en aritmetisk operation resulterade i en bär eller lån.
* noll flagga: Indikerar om resultatet av en operation var noll.
* Sign Flag: Indikerar tecknet (positivt eller negativt) av resultatet.
* Överflödesflagga: Indikerar om en aritmetisk operation resulterade i ett överflöde.
* Avbrottsflaggor: Ange om avbrott är aktiverade eller inaktiverade.
Därför, medan vissa register främst är för kontrollflöde (som PC och IR), registrerar andra direkt statusen för CPU och resultaten av verksamheten (statusflaggor inom statusregister). Linjen mellan kontroll och status är inte alltid strikt uppdelad; Till exempel kan statusen för en operation direkt påverka kontrollflödet.