Mis on protsessoriregister?

Kiireim juurdepääs arvutiprotsessori (CPU) salvestatavale mälule on protsessoriregister. Arvutiarhitektuurid kavandavad protsessorit registreerivad mälumahu CPU vahemällu, nii et seal saab salvestada väärtusi, millele arvutiprotsessid regulaarselt juurde pääsevad. Protsessid pääsevad neile salvestatud väärtustele kiiresti juurde ja käivad neid kiiresti. Kuna protsessori registrid on salvestatud CPU-sse, peetakse neid salvestusmälu hierarhia tipuks ja jaotamine määratakse tavaliselt muutujate abil. Kui andmed on töödeldud, taastatakse need vahemällu, muutmällu (RAM) või kõvaketta salvestusruumi.

Arvutiprotsessoritel on erinevat tüüpi registreid vastavalt juhistele või testidele, mis töötavad nendega või nende konkreetse sisuga. Andmete, aadresside ja üldotstarbelised registrid sisaldavad matemaatilisi väärtusi ja aadresse mälu salvestamiseks. On olemas tingimusregistrid tõeväärtustega loogiliste operatsioonikäskude jaoks, konstantsed registrid kirjutuskaitstud väärtustega, nagu pi ja null, ning eriotstarbelised registrid, mis hoiavad programmiloendurit, olekuregistrit ja pinumälu kasutamise jaoks mõeldud pinunäiteid. Juhtregistrid sisaldavad juhiseid protsessori arhitektuuri sisse ehitatud käsukomplektist; ja on mitmeid, mis toovad RAM-ist ja protsessori vooluringidest, mis pääsevad juurde mälupuhvritele, mäluandmetele, mälutüüpide vahemikele ja aadressidele. Protsessoriregistrile määramata muutujad salvestatakse RAM-i ning laaditakse lugemis- ja kirjutamistoiminguteks sisse ja välja, kuid nende töötlemine on aeglasem.

Teades kiiruse erinevust registrites töötlemise ja RAM-i vahel, kujundavad kompilaatorite arvutiprogrammide arendajad tavaliselt oma programmid nii, et need toimiksid võimalikult palju protsessoriregistri salvestusruumis, et funktsioone kiiresti toimida. Just-in-time kompilaatoriprogrammide puhul jälgib lineaarse skaneerimise jaotamise nime all tuntud registrite eraldamise tehnika registritoiminguid ja vabastab registri arvutusvõimsuse kiiresti programmi tagasi. Registrite eraldamise tehnikad püüavad saada võimalikult palju programmi muutujaid, mis on määratud registritele ja operatsioonivoogu, mis maksimeerib kiireks kompileerimiseks väikseima arvu registreid.

Kuna paljud protsessoriregistrid on mõeldud muutujate ja käsukomplektide ajutiseks salvestamiseks, saab kõik programmide kasutamiseks vajalikud toimingud salvestada protsessori poolt manipuleerimiseks. Töötamise ajal otsib protsessor esmalt protsessori registrite vahemälust, et leida lugemis-, kirjutamis- või teisaldamistoimingutes töödeldavate andmete koopiad, enne kui otsib RAM-i ja sekundaarset salvestusruumi kõvaketastel. 2011. aasta seisuga on enamikul protsessoritel kolm eraldi vahemälu. Käskude vahemälud on seotud täitmislaadimisega juhiste kaupa, tõlkelaadne puhver kiirendab aadresside tõlkimist virtuaalseteks aadressideks ja andmevahemälus on mitmetasandiline hierarhia andmete salvestamine, mida töötlejaregistri käsukomplekt saab töödelda.