logo

8085 mikroprocesoriaus registrai

Įvadas :

A mikroprocesorius yra daugiafunkcis, programuojamas, laikrodžiu valdomas, registru pagrįstas elektroninis įrenginys, nuskaitantis dvejetaines komandas iš saugojimo įrenginio, vadinamo atmintimi, priimantis dvejetainius duomenis kaip įvestį ir apdorojantis duomenis pagal tas instrukcijas ir pateikiantis rezultatus kaip išvestį. 8085 mikroprocesorius yra antros kartos 8 bitų mikroprocesorius ir yra visų rinkoje esančių mikroprocesorių tyrimo ir naudojimo pagrindas.

Kodėl naudoti registrus 8085 mikroprocesoriuje?



Štai keletas priežasčių, kodėl 8085 mikroprocesoriuje naudojami registrai:

  1. Laikinas saugojimas: registrai naudojami kaip laikina duomenų, kuriuos turi apdoroti mikroprocesorius, saugojimo vietos. Pavyzdžiui, atliekant aritmetines operacijas, operandai paprastai saugomi registruose.
  2. Adresavimas: Registrai naudojami 8085 mikroprocesoriaus atminties vietoms adresuoti. Programų skaitiklio (PC) registras seka dabartinės komandos atminties vietą, o dėklo rodyklės (SP) registras seka krūvos viršų.
  3. Įvestis / išvestis: registrai naudojami ryšiui su įvesties / išvesties (I/O) įrenginiais. Pavyzdžiui, akumuliatoriaus (A) registras naudojamas ryšiui su duomenų magistrale, kuri yra prijungta prie I/O įrenginių.
  4. Būsenos informacija: Registrai naudojami būsenos informacijai apie mikroprocesoriaus būseną saugoti. Pavyzdžiui, vėliavėlių registre saugoma informacija apie aritmetinių ir loginių operacijų rezultatus, įskaitant tai, ar rezultatas yra neigiamas, nulis ar nešiojimas.
  5. Optimizavimas: registrai naudojami mikroprocesoriaus veikimui optimizuoti. Naudodamas registrus dažnai naudojamiems duomenims ir instrukcijoms saugoti, mikroprocesorius šią informaciją gali pasiekti greičiau nei tada, kai tektų ją gauti iš atminties.

Registracija 8085:

a) bendrosios paskirties registrai – 8085 turi šešis bendrosios paskirties registrus 8 bitų duomenims saugoti; jie identifikuojami kaip B, C, D, E, H ir L. Jas galima sujungti kaip registrų poras – BC, DE ir HL, kad būtų atlikta kokia nors 16 bitų operacija. Šie registrai naudojami laikiniems duomenims saugoti arba kopijuoti, naudojant instrukcijas, programos vykdymo metu.

javascript miegas

b) konkrečios paskirties registrai –

    Akumuliatorius: Akumuliatorius yra 8 bitų registras (gali saugoti 8 bitų duomenis), kuris yra aritmetinio ir loginio vieneto (ALU) dalis. Atlikus aritmetinius ar loginius veiksmus, rezultatas išsaugomas kaupiklyje. Akumuliatorius taip pat apibrėžiamas kaip A registras. Vėliavos registrai: Vėliavos registras yra specialios paskirties registras ir jis visiškai skiriasi nuo kitų mikroprocesoriaus registrų. Jį sudaro 8 bitai ir tik 5 iš jų yra naudingi. Kiti trys liko laisvi ir naudojami būsimose „Intel“ versijose. Šios 5 vėliavėlės nustatomos arba nustatomos iš naujo (kai vėliavos reikšmė yra 1, tada sakoma, kad ji nustatyta, o kai reikšmė yra 0, tada ji yra nustatyta iš naujo ) po operacijos pagal rezultato duomenų būklę kaupiamajame ir kituose registruose. 5 vėliavų registrai yra:
      Ženklo vėliava: jis užima septintą vėliavos registro bitą, kuris taip pat žinomas kaip reikšmingiausias bitas. Tai padeda programuotojui žinoti, ar akumuliatoriuje saugomas skaičius yra teigiamas, ar neigiamas. Jei ženklo vėliavėlė nustatyta, tai reiškia, kad akumuliatoriuje saugomas skaičius yra neigiamas, o atstačius – teigiamas. Nulinė vėliava: : Užima šeštąjį vėliavėlės registro bitą. Jis nustatomas, kai ALU atliktos operacijos rezultatas yra nulis (visi 8 bitai yra nuliai), kitu atveju atstatomas. Tai padeda nustatyti, ar du skaičiai yra lygūs, ar ne. Pagalbinė nešiojimo vėliavėlė: ji užima ketvirtą vėliavos registro bitą. Atliekant aritmetinę operaciją, kai trečiojo bito generuojama ir perduodama ketvirtajam bitui perdavimo vėliavėlė, nustatoma pagalbinė nešiojimo vėliavėlė. Jei ne, vėliavėlė nustatoma iš naujo. Ši vėliavėlė viduje naudojama BCD (dvejetainio kodo dešimtainio skaičiaus) operacijoms. Pastaba - Tai vienintelis 8085 vėliavėlių registras, kurio vartotojas negali pasiekti. Pariteto vėliavėlė: ji užima antrąjį vėliavėlės registro bitą. Ši vėliavėlė tikrina, ar akumuliatoriuje yra 1. Jei akumuliatoriuje yra lyginis skaičius 1, tada ši vėliavėlė nustatoma ir sakoma, kad ji yra lyginė. Kita vertus, jei 1 skaičius yra nelyginis, tada jis nustatomas iš naujo ir sakoma, kad jis yra nelyginis. Carry Flag: Užima nulinį vėliavėlės registro bitą. Jei dėl aritmetinės operacijos gaunamas perkėlimas (jei rezultatas didesnis nei 8 bitai), tada nustatoma Carry Flag; kitu atveju jis nustatomas iš naujo.

c) Atminties registrai – Yra du 16 bitų registrai, naudojami atminties adresams laikyti. Šių registrų dydis yra 16 bitų, nes atminties adresai yra 16 bitų. Jie yra :-

    Programos skaitiklis: Šis registras naudojamas komandų vykdymui sekti. Programos skaitiklio funkcija yra nurodyti atminties adresą, iš kurio turi būti paimtas kitas baitas. Kai gaunamas baitas (mašinos kodas), programos skaitiklis padidinamas vienu, kad būtų nurodyta kita atminties vieta. Stack Pointer: Jis naudojamas kaip atminties rodyklė. Jis nurodo atminties vietą skaitymo / rašymo atmintyje, vadinamą kaminu. Jis visada padidinamas / mažinamas 2, kai veikia „push“ ir „pop“.
      Ženklo vėliavėlė (7-asis bitas): atstatoma (0), o tai reiškia, kad akumuliatoriuje saugomas skaičius yra teigiamas. Nulinė vėliavėlė (6-asis bitas): Atstatomas (0), todėl ALU atliktų operacijų rezultatas yra ne nulis. Auxiliary Carry Flag (4-asis bitas): Matome, kad b3 generuoja perkėlimą, kurį priima b4, todėl nustatoma pagalbinė nešiojimo vėliavėlė (1). Pariteto vėliavėlė (2-asis bitas): yra iš naujo nustatyta (0), tai reiškia, kad paritetas yra nelyginis. Akumuliatoriuje yra nelyginis skaičius 1. Carry Flag (0-asis bitas): nustatyta (1), išvesties rezultatas yra daugiau nei 8 bitai.

8085 mikroprocesoriaus registrų naudojimas:

Štai keletas bendrų skirtingų 8085 mikroprocesoriaus registrų naudojimo būdų:

  1. Akumuliatoriaus (A) registras: Akumuliatoriaus registras yra dažniausiai naudojamas 8085 mikroprocesoriaus registras. Jis naudojamas aritmetinėms ir loginėms operacijoms, taip pat įvesties/išvesties (I/O) operacijoms. Akumuliatorius taip pat naudojamas kaip laikina duomenų saugojimo vieta.
  2. Programų skaitiklio (PC) registras: kompiuterio registras naudojamas dabartinės komandos atminties vietai sekti. Vykdant komandą, kompiuterio registras automatiškai padidinamas, kad nukreiptų į kitą atmintyje esančią komandą.
  3. Stack Pointer (SP) registras: SP registras naudojamas kamino viršaus sekimui. Stackas naudojamas laikinai saugoti duomenis ir grąžinti adresus paprogramių skambučių metu.
  4. Vėliavos registras: vėliavėlių registras naudojamas saugoti būsenos informaciją apie aritmetinių ir loginių operacijų rezultatus, įskaitant tai, ar rezultatas yra neigiamas, nulinis arba pernešamas.
  5. Bendrosios paskirties registrai (B, C, D, E, H ir L): šie registrai naudojami bendrosios paskirties duomenų saugojimui, taip pat atminties vietoms adresuoti. Jie gali būti naudojami poromis kaip 16 bitų registrai, tokie kaip BC, DE ir HL, siekiant efektyvesnio atminties vietų adresavimo.
  6. Instrukcijų registras (IR) ir mašinos ciklų registras (MCR): šiuos registrus viduje naudoja mikroprocesorius, kad iškoduotų instrukcijas ir valdytų mašinos ciklų laiką.

Šių registrų savybės yra šios:

  1. Visi 8085 mikroprocesoriaus registrai yra tiesiogiai pasiekiami aritmetinio ir loginio bloko (ALU), todėl galima efektyviai apdoroti duomenis.
  2. Akumuliatoriaus registras naudojamas kaip numatytasis daugelio aritmetinių ir loginių komandų tikslas, o tai supaprastina programavimą.
  3. Bendrosios paskirties registrai gali būti naudojami duomenims saugoti atliekant skaičiavimus, tačiau jie taip pat gali būti naudojami atminties adresams laikyti, todėl jie yra naudingi norint pasiekti atminties vietas.
  4. Programos skaitiklis ir dėklo rodyklės registrai yra labai svarbūs valdant komandų ir duomenų srautą programoje.
  5. Vėliavos registras suteikia vertingos informacijos apie aritmetinių ir loginių operacijų rezultatus, leidžiančias efektyviai priimti sprendimus programose.
  6. Instrukcijų registre saugoma esama vykdoma komanda, todėl valdymo blokas gali efektyviai dekoduoti ir generuoti valdymo signalą.

Privalumai:

    Greita prieiga: registrai suteikia greitą ir efektyvų būdą pasiekti duomenis ir atlikti operacijas. Kadangi registrai yra procesoriaus viduje, juos galima greitai pasiekti nelaukiant, kol duomenys bus paimti iš atminties. Sumažėjusi prieiga prie atminties: registrų naudojimas gali padėti sumažinti reikalingų atminties prieigos skaičių, o tai gali pagerinti bendrą sistemos veikimą. Specializuota funkcija: kiekvienas 8085 mikroprocesoriaus registras turi tam tikrą funkciją, pavyzdžiui, aritmetinių operacijų akumuliatorių ir programos skaitiklį, skirtą kitos komandos adresui saugoti. Ši specializuota funkcija gali palengvinti programavimą ir derinimą. Sumažintas sudėtingumas: 8085 mikroprocesorius, pateikdamas specialius registrus konkretiems tikslams, sumažina programavimo ir vykdymo proceso sudėtingumą.

Trūkumai:

    Ribota saugojimo talpa: 8085 mikroprocesorius turi ribotą registrų skaičių, kuris gali apriboti bet kuriuo metu saugomų ir manipuliuojamų duomenų kiekį. Sudėtingi adresavimo režimai: kai kurie 8085 mikroprocesoriuje naudojami adresavimo režimai gali būti sudėtingi, todėl programavimas gali būti sudėtingesnis. Konteksto perjungimas: kai kuriais atvejais perjungimas tarp skirtingų registrų rinkinių gali padidinti programavimo procesą ir sudėtingumą. Lankstumo trūkumas: fiksuotas 8085 mikroprocesoriaus registrų skaičius ir funkcija gali apriboti sistemos lankstumą ir apsunkinti prisitaikymą prie besikeičiančių reikalavimų.