Hva er en indeks Register?

October 16  by Eliza

I programmering og datamaskinarkitektur, er et indeksregister et område av hukommelsen som regel innebygget i den sentrale prosessorenheten (CPU) til å bli brukt som en svært rask teller for pass gjennom minneadresser eller for å holde styr på operasjoner som løkker. Avhengig av typen av systemarkitektur, kan et indeksregister være en definert og dedikert register blant andre prosessorregister, eller det kan være en hvilken som helst generell register. Oftest har en indeksregister den aktuelle forskyvning på et sted i minnet, med et annet register som holder basisadressen, slik at kombinasjonen av de to registre skaper en ferdig hukommelsesadresse. En av de spesielle funksjoner av et indeksregister, når man er spesielt utpekt av en CPU, er at den kan brukes for enkelt å gå gjennom minneadresser, enten ved å bli inkrementert eller dekrementert etter behov slik at datastrukturer som matriser og stabler kan bli krysset .

De indeksregistre på CPU i en datamaskin er utrolig lavnivå områder av minne som vanligvis bare er direkte tilgjengelig ved en programmerer gjennom bruk av maskinspråk eller et lignende lavt nivå programmeringsspråk. I noen av de mer vanlige typer av prosessorer, er to separate registre definert som indeksregistre, nemlig kilden indeks (SI) og mål indeks (DI) registre. Andre prosessorer ikke spesifikt har indeksregistre eller hjelpeverge operatører som krever dem, noe som betyr noe generell register av passende størrelse kan brukes.

En av de mest vanlige anvendelser for et indeksregister er å virke som en peker til et minneområde som inneholder en strøm av data som skal aksesseres sekvensielt. Et eksempel kan sees ved bruk av en oppstilling av data, hvor alle elementer er anordnet etter hverandre i minnet. Hvis indeksen register brukes til å få tilgang til en rekke, så det kan holde den tilsvarende verdien av forskyvningen av elementet for tiden i bruk når det legges til et annet register som holder en base adresse, for eksempel datasegmentet register. Dette kan gjøre det svært enkelt å gjennomføre prosedyrer som for eksempel å kopiere innholdet i en null-terminert streng fra en kilde posisjon til bestemmelsesstedet streng.

En annen bruk for en indeksregister kan være å holde informasjon om løkker og andre tellere. Noen systemarkitekturer foretrekker å bruke indeksregisteret for å holde antall gjentakelser som har skjedd i en loop, men andre ganger noe register kan brukes. I tillegg har noen monteringsanvisning stole spesifikt på kilden og målet indeksen registre for å utføre visse operasjoner, for eksempel blokk minne lesing eller skriving, som kan gjøres for å sende informasjon til en skjerm.

  • En indeksregister er et lavt nivå område av minnet, vanligvis på CPU.