logo

Register over 8085 mikroprosessor

Introduksjon:

EN mikroprosessor er en flerbruks, programmerbar, klokkedrevet, registerbasert elektronisk enhet som leser binære instruksjoner fra en lagringsenhet kalt minne, aksepterer binære data som input og behandler data i henhold til disse instruksjonene og gir resultater som utdata. En 8085 mikroprosessor, er en andre generasjons 8-bits mikroprosessor og er basen for å studere og bruke all mikroprosessor som er tilgjengelig på markedet.



Hvorfor bruke Registers i 8085 mikroprosessor?

Her er noen grunner til at registre brukes i 8085-mikroprosessoren:

  1. Midlertidig lagring: Registre brukes som midlertidige lagringssteder for data som må behandles av mikroprosessoren. For eksempel, når du utfører aritmetiske operasjoner, lagres operandene vanligvis i registre.
  2. Adressering: Registre brukes til å adressere minneplasseringer i 8085-mikroprosessoren. Programtellerregisteret (PC) holder styr på minneplasseringen til gjeldende instruksjon, mens stabelpekerregisteret (SP) holder styr på toppen av stabelen.
  3. Input/Output: Register brukes til å kommunisere med input/output (I/O) enheter. For eksempel brukes akkumulatorregisteret (A) for å kommunisere med databussen, som er koblet til I/O-enheter.
  4. Statusinformasjon: Registre brukes til å lagre statusinformasjon om tilstanden til mikroprosessoren. For eksempel lagrer flaggregisteret informasjon om resultatene av aritmetiske og logiske operasjoner, inkludert om et resultat er negativt, null eller bære.
  5. Optimalisering: Registre brukes til å optimalisere ytelsen til mikroprosessoren. Ved å bruke registre til å lagre ofte brukte data og instruksjoner, kan mikroprosessoren få tilgang til denne informasjonen raskere enn om den måtte hente den fra minnet.

Registrerer i 8085:



(a) registre for generelle formål – 8085 har seks generelle registre for å lagre 8-bits data; disse er identifisert som B, C, D, E, H og L. Disse kan kombineres som registerpar – BC, DE og HL, for å utføre en 16-bits operasjon. Disse registrene brukes til å lagre eller kopiere midlertidige data, ved å bruke instruksjoner, under kjøringen av programmet.

(b) registre for spesifikke formål –

    Akkumulator: Akkumulatoren er et 8-bits register (kan lagre 8-bits data) som er delen av den aritmetiske og logiske enheten (ALU). Etter å ha utført aritmetiske eller logiske operasjoner, lagres resultatet i akkumulator. Akkumulator er også definert som register A. Flaggregistre: Flaggregisteret er et spesialregister og det er helt annerledes enn andre registre i mikroprosessor. Den består av 8 biter og bare 5 av dem er nyttige. De tre andre er ledige og brukes i fremtidige Intel-versjoner. Disse 5 flaggene settes eller tilbakestilles (når verdien av flagget er 1, sies det å være satt og når verdien er 0, sies det å være tilbakestilt ) etter en operasjon i henhold til datatilstanden til resultatet i akkumulatoren og andre registre. De 5 flaggregistrene er:
      Sign Flag: Det opptar den syvende biten i flaggregisteret, som også er kjent som den mest signifikante biten. Det hjelper programmereren å vite om tallet som er lagret i akkumulatoren er positivt eller negativt. Hvis skiltflagget er satt, betyr det at nummeret som er lagret i akkumulatoren er negativt, og hvis det tilbakestilles, så er tallet positivt. Zero Flag: : Den opptar den sjette biten av flaggregisteret. Den er satt når operasjonen utført i ALU resulterer i null (alle 8 biter er null), ellers tilbakestilles den. Det hjelper med å avgjøre om to tall er like eller ikke. Auxiliary Carry Flag: Det opptar den fjerde biten av flaggregisteret. I en aritmetisk operasjon, når et bæreflagg genereres av den tredje biten og sendes videre til den fjerde biten, settes Auxiliary Carry-flagg. Hvis ikke er flagget tilbakestilt. Dette flagget brukes internt for BCD (Binary-Coded desimal Number) operasjoner. Merk - Dette er det eneste flaggregisteret i 8085 som ikke er tilgjengelig for brukeren. Paritetsflagg: Det opptar den andre biten i flaggregisteret. Dette flagget tester for antall 1-er i akkumulatoren. Hvis akkumulatoren har partall på 1-er, blir dette flagget satt og det sies å ha partall. På den annen side hvis antallet 1-er er oddetall, tilbakestilles det og det sies å være oddetallsparitet. Bær flagg: Det opptar den nollte biten av flaggregisteret. Hvis den aritmetiske operasjonen resulterer i en carry (hvis resultatet er mer enn 8 bit), så settes Carry Flag; ellers nullstilles den.

(c) Minneregistre – Det er to 16-bits registre som brukes til å holde minneadresser. Størrelsen på disse registrene er 16 biter fordi minneadressene er 16 biter. De er :-



    Programteller: Dette registeret brukes til å sekvensere utførelsen av instruksjonene. Programtellerens funksjon er å peke på minneadressen som neste byte skal hentes fra. Når en byte (maskinkode) hentes, økes programtelleren med én for å peke til neste minneplassering. Stack Pointer: Den brukes som en minnepeker. Den peker på en minneplassering i lese-/skriveminnet, kalt stabelen. Den økes/reduseres alltid med 2 under push- og pop-operasjon.
      Sign Flag (7. bit): Det er tilbakestilt (0), som betyr at nummeret som er lagret i akkumulatoren er positivt. Nullflagg (6. bit): Det er tilbakestilt (0), og resultatet av operasjonene utført i ALU er derfor ikke null. Auxiliary Carry Flag (4. bit): Vi kan se at b3 genererer en carry som blir tatt av b4, dermed blir hjelpebæreflagg satt (1). Paritetsflagg (2. bit): Det er tilbakestilt(0), det betyr at paritet er oddetall. Akkumulatoren har et oddetall på 1-ere. Bæreflagg (0. bit): Det er satt (1), utdata gir mer enn 8 bit.

Bruk av registre for 8085 mikroprosessor:

Her er noen vanlige bruksområder for de forskjellige registrene i 8085-mikroprosessoren:

  1. Akkumulatorregister (A): Akkumulatorregisteret er det mest brukte registeret i 8085 mikroprosessoren. Den brukes til aritmetiske og logiske operasjoner, samt for input/output (I/O) operasjoner. Akkumulatoren brukes også som et midlertidig lagringssted for data.
  2. Program Counter (PC) register: PC-registeret brukes til å holde styr på minneplasseringen til gjeldende instruksjon. Når en instruksjon utføres, økes PC-registeret automatisk for å peke til neste instruksjon i minnet.
  3. Stack Pointer (SP) register: SP registeret brukes til å holde styr på toppen av stabelen. Stakken brukes til midlertidig lagring av data og returadresser under subrutineanrop.
  4. Flaggregister: Flaggregisteret brukes til å lagre statusinformasjon om resultatene av aritmetiske og logiske operasjoner, inkludert om et resultat er negativt, null eller bære.
  5. Generelle registre (B, C, D, E, H og L): Disse registrene brukes til generell lagring av data, så vel som for adressering av minneplasseringer. De kan brukes i par som 16-bits registre, slik som BC, DE og HL, for mer effektiv adressering av minneplasseringer.
  6. Instruksjonsregister (IR) og maskinsyklusregister (MCR): Disse registrene brukes internt av mikroprosessoren for å dekode instruksjoner og kontrollere tidspunktet for maskinsykluser.

Funksjonene til disse registrene er:

  1. Alle registre i 8085-mikroprosessoren er direkte tilgjengelige av den aritmetiske og logiske enheten (ALU), noe som muliggjør effektiv behandling av data.
  2. Akkumulatorregisteret brukes som standarddestinasjon for de fleste aritmetiske og logiske instruksjoner, noe som forenkler programmeringen.
  3. De generelle registrene kan brukes til å lagre data under beregninger, men de kan også brukes til å holde minneadresser, noe som gjør dem nyttige for å få tilgang til minneplasseringer.
  4. Programteller- og stabelpekerregistrene er avgjørende for å administrere flyten av instruksjoner og data i et program.
  5. Flaggregisteret gir verdifull informasjon om resultatene av aritmetiske og logiske operasjoner, noe som muliggjør effektiv beslutningstaking i programmer.
  6. Instruksjonsregisteret lagrer den gjeldende instruksjonen som utføres, og muliggjør effektiv dekoding og styresignalgenerering av kontrollenheten.

Fordeler:

    Rask tilgang: Registre gir en rask og effektiv måte å få tilgang til data og utføre operasjoner på. Siden registrene er plassert inne i prosessoren, kan de nås raskt uten å måtte vente på at data skal hentes fra minnet. Redusert minnetilgang: Bruken av registre kan bidra til å redusere antallet minnetilganger som kreves, noe som kan forbedre den generelle ytelsen til systemet. Spesialisert funksjonalitet: Hvert register i 8085-mikroprosessoren har en spesifikk funksjon, som akkumulator for aritmetiske operasjoner og programteller for lagring av adressen til neste instruksjon. Denne spesialiserte funksjonaliteten kan gjøre programmering og feilsøking enklere. Redusert kompleksitet: Ved å tilby dedikerte registre for spesifikke formål, reduserer 8085-mikroprosessoren kompleksiteten til programmerings- og utførelsesprosessen.

Ulemper:

    Begrenset lagringskapasitet: 8085-mikroprosessoren har et begrenset antall registre, som kan begrense mengden data som kan lagres og manipuleres til enhver tid. Komplekse adresseringsmoduser: Noen av adresseringsmodusene som brukes i 8085-mikroprosessoren kan være komplekse, noe som kan gjøre programmering vanskeligere. Kontekstbytte: I noen tilfeller kan bytte mellom forskjellige sett med registre legge til overhead og kompleksitet til programmeringsprosessen. Mangel på fleksibilitet: Det faste antallet og funksjonen til registre i 8085 mikroprosessoren kan begrense fleksibiliteten til systemet og gjøre det vanskeligere å tilpasse seg endrede krav.