Înregistrare (IT)

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Un registru sau registru de procesor (în limba engleză : processor register ), în informatică și în arhitectura computerelor , este o mică parte a memoriei utilizate pentru a accelera executarea programelor, oferind acces rapid la valorile utilizate cel mai frecvent și / sau de obicei., valorile utilizate în prezent într-o anumită parte a unui calcul.

Descriere

Termenul este adesea folosit pentru a se referi exclusiv la grupul de registre care pot fi adresate direct de instrucțiunile de intrare și ieșire ale microprocesorului . Mai corect, aceste registre se numesc „registre arhitecturate”. De exemplu, în arhitectura x86 există un set de opt registre care pot fi utilizate de instrucțiunile de limbaj al mașinii , dar CPU va conține mult mai multe registre pentru uz intern sau cu funcții speciale.

Registrele constituie cel mai înalt punct din ierarhia memoriei și sunt cel mai rapid mecanism pentru ca sistemul să manipuleze datele. Registrele sunt măsurate în mod normal prin numărul de biți pe care îl pot deține (de exemplu, registre pe 8 biți sau registre pe 32 de biți ). În prezent, registrele sunt implementate în mod normal cu fișiere de registru , dar în trecut au fost implementate folosind flip-flop-uri individuale, memorie de bază de ferită de mare viteză , memorie cu film subțire și alte moduri.

Cele mai multe arhitecturi moderne de calculatoare ( RISC , sau arhitecturi de stocare a încărcării mai generice) se bazează pe o arhitectură de conducte care beneficiază de limitarea accesului la memorie pentru a încărca și stoca numai instrucțiunile, folosind numai registre și constante la executarea tuturor celorlalte instrucțiuni.

Clasificare

Clase de registre

Există multe clase de registre:

  • Registrele de date: sunt utilizate pentru a stoca numerele întregi . În procesoarele mai simple sau mai vechi, un registru de date special este acumulatorul , utilizat pentru calculele aritmetice.
  • Registre de adrese: sunt utilizate pentru a stoca adrese și pentru a accesa memoria.
  • Registrul generic: poate conține atât date cât și adrese (de exemplu RWR ).
  • Jurnale în virgulă mobilă: sunt utilizate pentru a stoca numerele în virgulă mobilă .
  • Registre constante: conțin date numai în citire (de exemplu, zero, unu, pi etc.).
  • Registre vectoriale: conțin date utilizate de instrucțiuni unice, instrucțiuni de date multiple ( SIMD) .
  • Registre speciale: conțin date interne ale procesorului, precum contorul de programe , indicatorul stivei și registrul de stare.
  • În unele arhitecturi, există registre specifice modelului procesorului, care stochează datele și setările procesorului. Deoarece registrele sunt legate de caracteristicile specifice ale unui model specific, prezența sau aceeași operațiune în generațiile ulterioare ale procesorului respectiv nu este garantată.
  • Există, de asemenea, registre dedicate preluării (transfer de la RAM la CPU).

Registrele hardware la nivel de firmware sunt similare cu registrele procesorului, dar sunt prezente extern CPU-urilor.

Registrele microprocesorului

Registrele microprocesorului oferă un nivel de memorie mai rapid și mai mic decât memoria principală și îndeplinesc în principal următoarele două funcții:

  • registre vizibile de utilizator: registre care pot fi optimizate de programator la limbajul mașinii sau la nivel de asamblare. În cazurile de programare la nivel înalt, compilatorul va încerca să facă alegeri inteligente în ceea ce privește variabilele care trebuie atribuite registrelor și locația memoriei. Există cazuri în care este posibil cu limbaje de nivel înalt (cum ar fi cu C ) să se specifice compilatorului ce variabile ar dori să stocheze în registre. Acestea sunt de obicei registre disponibile atât pentru aplicații, cât și pentru programe de sistem. Aceste registre sunt cele de date, adrese și coduri de condiții. Registrele de date pot fi atribuite de către programator la diferite funcții. Acestea sunt de obicei limitate la anumite tipuri de funcții (de exemplu registre dedicate operațiilor în virgulă mobilă), cu toate acestea pot fi utilizate în orice instrucțiune a mașinii. Registrele de adrese conțin adresele datelor și instrucțiunile conținute în memorie. Aceste registre pot fi de tip general sau dedicate unui anumit mod de adresare ( registru index , indicator indicator , indicator indicator );
  • registre de stare și control: utilizate de CPU pentru a-și controla operațiunile și de sistemul de operare pentru rutinele sale privilegiate pentru controlul executării comenzilor.

Exemple

Numărul de registre variază semnificativ între diversele arhitecturi în funcție de vârsta ISA și tipul de arhitectură: de exemplu, arhitecturile RISC tind să fie echipate cu un număr mare de registre, în timp ce arhitecturile CISC care sunt mai vechi în medie tind să aibă o un număr mic de registre, chiar dacă cele mai recente procesoare au adesea un număr mare de registre ascunse care sunt utilizate pentru a implementa execuția suprascalară a programelor.

Procesor Întregi registre Registrele FPU
Intel Core Duo 8 8
Intel Core 2 Duo 16 16
Pentium 4 8 8
Pentium 4 cu EM64T 16 16
Athlon 64 16 16
MP Athlon 8 8
Opteron 240 16 16
Itanium 2 128 128
UltraSPARC IIIi 32 32
PUTERE3 32 32
MOS 6502 3 0

Elemente conexe

Alte proiecte

Controlul autorității LCCN (EN) sh85112381 · GND (DE) 4359667-8
Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT