Register
Een register is een tijdelijk opslaggebied dat is ingebouwd in een CPU. Sommige registers worden intern gebruikt en zijn niet toegankelijk buiten de processor, terwijl andere toegankelijk zijn voor gebruikers. De meeste moderne CPU-architecturen bevatten beide typen registers.
Tot de interne registers behoren het instructieregister (IR), geheugenbufferregister (MBR), geheugendataregister (MDR) en geheugenadresregister (MAR). Het instructieregister haalt instructies op uit de program counter (PC) en houdt elke instructie vast terwijl deze door de processor wordt uitgevoerd. De geheugenregisters worden gebruikt om gegevens van het geheugen naar de processor door te geven. De opslagduur van interne registers is uiterst kort, omdat ze gegevens vaak minder dan een milliseconde vasthouden.
Registers die toegankelijk zijn voor gebruikers zijn groter dan interne registers en bevatten gegevens doorgaans langere tijd. Een dataregister kan bijvoorbeeld afzonderlijke waarden opslaan waarnaar een momenteel actief programma verwijst. Een adresregister bevat geheugenadressen die verwijzen naar verschillende geheugenblokken binnen het systeem-RAM. Veel CPU's hebben tegenwoordig registers voor algemeen gebruik (GPR's), die zowel gegevens als geheugenadressen kunnen bevatten.
Registers verschillen zowel in aantal als in grootte, afhankelijk van de CPU-architectuur. Sommige processors hebben 8 registers, terwijl andere er 16, 32 of meer hebben. Registers waren jarenlang 32-bits groot, maar tegenwoordig zijn veel registers 64-bits groot. Een 64-bits register is noodzakelijk voor een 64-bits processor, omdat de CPU daarmee toegang heeft tot 64-bits geheugenadressen. Een 64-bits register kan ook 64-bits instructies opslaan, die niet in een 32-bits register kunnen worden geladen. Daarom kunnen de meeste programma's die voor 32-bits processors zijn geschreven, worden uitgevoerd op 64-bits computers, terwijl 64-bits programma's niet achterwaarts compatibel zijn met 32-bits machines.
Test je kennis