Hva er et prosessorregister?
Den raskeste tilgangen til lagringsbart minne på en databehandlingsenhet (CPU) er et prosessoregister. Dataarkitekturer designer prosessorer registrerer minnekapasitet i en CPU-cache slik at verdier som datamaskinprosesser får tilgang til regelmessig kan lagres der. Prosesser kan få tilgang til og utføres raskt basert på de lagrede verdiene. Siden prosessorregistrene er lagret på CPU, blir de ansett som toppen av lagringsminnehierarkiet, og tildelingen bestemmes vanligvis av variabler. Når dataene er behandlet, gjenopprettes de deretter til hurtigbuffer, RAM (random access memory) eller lagring av harddisken.
Dataprosessorer har registre av forskjellige typer, i henhold til instruksjoner eller tester som fungerer på dem eller etter deres spesifikke innhold. Data, adresse og generelle formålregistre inneholder matematiske verdier og adresser for minne lagring. Det er betingede registre med sannhetsverdier for logiske driftsinstruksjoner, konstante registre med skrivebeskyttede verdier som pi og null, og spesialformålsregistre som holder en programteller, et statusregister og stakkpekere for bruk av stackminne. Kontrollregistre inneholder instruksjoner fra et instruksjonssett innebygd i CPU-arkitekturen; og det er flere som henter fra RAM og kretser på CPU-en som får tilgang til minnebuffere, minnedata, minnetypeområder og adresser. Variabler som ikke er tilordnet et prosessorregister, lagres i RAM og lastes inn og ut for lese- og skriveoperasjoner, men disse har tregere prosessering.
Når de kjenner til hastighetsforskjellen mellom prosessering i registre og RAM, utvikler utviklere av kompilatordataprogrammer vanligvis programmene sine for å fungere så mye som mulig i prosessorregisterlageret for drift av funksjoner raskt. For kompilatorprogrammer som bare er i tid, registrerer en registerallokeringsteknikk, kjent som lineære skannetildelingsspor, operasjoner og frigjør hurtig registeringskraft tilbake til programmet. Registreringstildelingsteknikker forsøker å få så mange av programmets variabler tildelt registre og i en operasjonsflyt som maksimerer det minste antall registre for rask sammenstilling.
Ettersom mange prosessorregistre er for midlertidig lagring av variabler og instruksjonssett, kan alle operasjoner for programbruk lagres for manipulering av CPU. I drift vil en CPU først se til CPU-cachen i registre for en kopi av data som skal behandles i lese-, skrive- eller flytteoperasjoner, før de ser på RAM og sekundærlagring på harddisker. Fra og med 2011 beholder de fleste CPU-er tre individuelle cacher. Instruksjonsbuffere er opptatt av eksekveringshentinger ved instruksjon, en oversettelse som ser ut buffere raskere adresseoversettelser for virtuelle til fysiske adresser, og en datacache inneholder et lagringsnivå i hierarki av data som skal manipuleres av et prosessorregisterinstruksjonssett.