Voor de gebruiker zichtbare registers ondersteunen doorgaans gegevenscategorieën die de behoeften van de onderliggende hardware weerspiegelen en de instructies die de processor kan uitvoeren. Veel voorkomende categorieën zijn onder meer:
* Registers voor algemene doeleinden: Dit zijn de werkpaarden. Ze bevatten gegevens die betrokken zijn bij rekenkundige en logische bewerkingen, gegevensoverdrachten en adresberekeningen. Ze zijn zeer flexibel en kunnen verschillende gegevenstypen bevatten.
* Registers voor speciale doeleinden: Deze registers hebben specifieke functies. Voorbeelden zijn onder meer:
* Programmateller (PC): Bevat het adres van de volgende uit te voeren instructie.
* Instructieregister (IR): Slaat tijdelijk de momenteel opgehaalde instructie op.
* Statusregisters (vlaggen): Geef de resultaten aan van rekenkundige en logische bewerkingen (bijvoorbeeld carry, zero, overflow, sign). Deze vlaggen zijn vaak bitvelden binnen één register.
* Stapelaanwijzer (SP): Wijst naar de bovenkant van de stapel in het geheugen.
* Frameaanwijzer (FP of BP): Wordt gebruikt in procedureaanroepen om het stapelframe te beheren.
* Geheugenadresregistraties: Wordt gebruikt voor directe geheugentoegang (DMA) of specifieke geheugentoegewezen I/O-bewerkingen.
* Floating-Point Registers (FPR's): Houd drijvende-kommagetallen vast voor rekenkundige en andere drijvende-kommabewerkingen. Deze staan vaak los van registers voor algemene doeleinden, en hun grootte en aantal variëren per architectuur.
* Vectorregisters: Wordt gebruikt voor SIMD-bewerkingen (Single Instruction, Multiple Data), waarbij meerdere gegevenselementen worden opgeslagen die tegelijkertijd worden verwerkt.
* Controleregisters: Deze registers controleren verschillende aspecten van de werking van de processor, zoals interrupts, caching en geheugenbeheer. Toegang hiertoe is vaak bevoorrecht, wat betekent dat alleen het besturingssysteem deze rechtstreeks kan wijzigen.
De specifieke categorieën en hun aantal variëren aanzienlijk tussen verschillende processorarchitecturen (bijvoorbeeld x86, ARM, RISC-V). Sommige architecturen hebben mogelijk gespecialiseerde registers voor specifieke instructies of taken, terwijl andere mogelijk vertrouwen op een registerset voor meer algemene doeleinden. |