Registrele procesorului sunt celule de memorie cu acces aleatoriu ultra-rapid, care sunt proiectate pentru stocarea temporară a datelor intermediare. Diferite registre conțin informații sub diferite forme: adrese și indicatori către segmente de memorie sau tabele de sistem, indexuri ale elementelor matrice etc.
Procesorul conține un număr mare de registre, care pot fi împărțite în mai multe grupuri principale: acumulatori, semnalizatoare, indicatoare, index, segmente și registre de control. Registrele procesorului sunt celule de memorie pentru primirea, stocarea și transmiterea ulterioară a rezultatelor intermediare ale executării programului.
Orice registru al procesorului este un circuit electronic digital care conține o secvență de numere binare de lățimi diferite (16, 32 sau 64) și rezultatele conversiilor dintre ele. După tipul de recepție și transmitere a informațiilor, acestea pot fi secvențiale (schimbare) și paralele.
Registrele acumulatorilor sunt universale, ele conțin majoritatea rezultatelor intermediare ale executării diferitelor comenzi (logice, aritmetice, de intrare / ieșire etc.). Un procesor poate conține mai multe baterii. Dezvoltatorii de software folosesc baterii pentru a reduce lățimea de biți a instrucțiunilor, pentru a simplifica codul programului.
Registrele de semnalizare sunt, de asemenea, cunoscute ca registre de condiții. Acestea arată un rezultat clar al operației, care poate fi zero, pozitiv, negativ sau poate indica un exces. De obicei, codurile de condiții sunt combinate în grupuri și formează un alt tip de registru - un registru de control. Schimbarea registrelor steagurilor este posibilă, dar nedorită, pentru a nu denatura întregul rezultat.
Registrele care conțin indicatori către zone speciale de memorie (stivă, bază, comandă) se numesc registre de pointer. Cel mai important dintre acestea este indicatorul stivei. Un teanc este o bucată de memorie formată din celule care urmează una după alta, adică puteți lua din stivă doar celula care se află deasupra. În acest vârf indică registrul stivei.
Pointerul de bază conține de obicei adresa unei locații specifice a stivei, care poate fi orice. De obicei, registrul stivei și registrul de bază sunt utilizate simultan când se lucrează în procedura curentă pentru a indica starea necesară stivei.
Registrul indicatorului de instrucțiuni este uneori numit contor de instrucțiuni, conține indicii pentru instrucțiunile ciclului de rulare. Când comanda este executată, valoarea acesteia este incrementată cu 1 și bucla continuă cu următoarea comandă. Acestea. contorul de comandă arată întotdeauna spre comanda care urmează celei în curs de executare.
Există două registre de index - indexul sursă și indexul destinației. Acestea sunt utilizate pentru a obține adresa datelor stivei în combinație cu registrele de pointer.
Registrele de segmente sunt utilizate pentru adresarea memoriei de segmente. În acest caz, memoria este împărțită în blocuri (segmente) de diferite lungimi. Adresa celulei de memorie dorită este determinată de adresa de la începutul blocului și de cantitatea de deplasare relativă la aceasta. Există patru registre de segmente în total: pentru un segment de cod, un segment de date, un segment de stivă și un segment suplimentar.
Registrele de control controlează funcționarea procesorului și nu sunt disponibile utilizatorului. Execuția lor este controlată în principal de programe de mașini. Acestea conțin informații despre comanda curentă care se execută, starea procesorului și localizează, de asemenea, structurile de control atunci când procesorul funcționează într-un mod protejat.