Înregistrare (IT)
Acest articol sau secțiune referitoare la memoriile computerului nu menționează sursele necesare sau cei prezenți sunt insuficienți . |
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.
- Registrul de instrucțiuni: Conține instrucțiunea curentă.
- Registrele index : sunt utilizate pentru a schimba adresa operanzilor .
- Î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
-
Wikimedia Commons conține imagini sau alte fișiere jurnal
Controlul autorității | LCCN (EN) sh85112381 · GND (DE) 4359667-8 |
---|