Hva er et enhetsregister?
Et enhetsregister er et programmerbart område på en elektronisk enhet som gir informasjon en programmerer kan bruke for å installere og bruke enheten med et operativsystem eller ekstra utstyr. Dette gjør at enheter kan kommunisere informasjon med hverandre i den hensikt å fullføre brukertilordnede oppgaver. For eksempel kan en programmerer med en nettbrett koble den til skrivebordet hennes og be de to om å synkronisere dataene sine for å oppdatere alle filene på begge datamaskinene. Enhetsregisteret gjør dette mulig.
Enheter har vanligvis flere dedikerte registre for å utføre forskjellige funksjoner. Et viktig register er datarelatert. Hvis brukeren ønsker å kunne lese og skrive data, må han vite hvor han skal rette dem. Dataregisteret gir informasjon om hvor mye plass som er tilgjengelig og hva som er på enheten. Gjennom dette er det mulig å flytte informasjon på enheten eller overføre den. En smarttelefon, for eksempel, kan overføre veibeskrivelser til en annen enhet for enkelhets skyld.
En annen type enhetsregister er kontroll- og statusregisteret. Dette lar programmereren utføre kommandoer og gir også tilbakemelding. I eksemplet med en bruker som synkroniserer en nettbrett og en stasjonær datamaskin, er dette registeret ansvarlig for å blinke meldingen om at en synkronisering pågår, for eksempel. Hvis programmereren prøver å få tilgang til enheten vil det returnere en feil fordi den er opptatt. På samme måte, hvis det er et problem med utstyret og det ikke kan fullføre overføringen, vil statusregisteret indikere at noe er galt.
Hvert enhetsregister gir informasjon om enhetens logiske adresse slik at et operativsystem eller annet utstyr kan finne den. Programmereren kan kanskje kode dette manuelt, eller et operativsystem kan utføre programmeringen. Når en fotograf for eksempel kobler et digitalt kamera til en datamaskin for å trekke bildene fra minnekortet, vil datamaskinen samhandle med kameraets enhetsregister for å få nødvendig informasjon og konfigurere overføringen. Dette gjør at enhver kan bruke perifere enheter uten å ha behov for programmering.
Hvis noe går galt med enhetsregisteret, kan det skape feil. Enheter kan returnere unøyaktig informasjon om dataene deres eller kan henge permanent i en "opptatt" eller "feil" statusmodus. Disse problemene kan løses av en programmerer som har tilgang til registeret. Brukeren kan også trenge å bytte ut komponenter og omprogrammere registeret.