Arhitectură superescalară Pentium

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

Arhitectura Pentium Superscalar oferă două cozi de conducte pentru apeluri întregi de coadă U și coadă V care pot efectua operațiuni în paralel. Cele două cozi nu sunt perfect simetrice. Fiecare coadă are o simplă operațiune de transfer pe ceas accident vascular cerebral. Instrucțiunile simple sunt cele care nu necesită microcod pentru executarea lor.

Descriere

În Pentium există două unități paralele de pre-preluare și decodare a instrucțiunilor:

  • Unitate PF1 și PF2 Prefetch
  • Unitate de decodare a instrucțiunilor D1A și D1B

PF1 și PF2: În această fază, CPU preia codul de instrucțiuni din cache și îl aliniază la primul octet al următoarei instrucțiuni care va fi decodată

D1A și D1B: În această fază, CPU decodează instrucțiunea și generează un cuvânt de control (pentru instrucțiuni lungi sunt generate secvențe de microcoduri, ceea ce nu înseamnă că nu există executarea întregii instrucțiuni într-o singură cursă de ceas)

În timpul acestor două faze, pentru a ne asigura că cele două cozi pot funcționa la viteză maximă, este necesar ca:

  • nu există dependențe între enunțuri, de exemplu:
 mov eax, 10;
                  adăugați eax, 11;

în acest caz, dacă prima instrucțiune a trecut la coada U și a doua la coada V (sau invers), rezultatul codului ar fi necontrolat

  • salturile sunt gestionate cu atenție pentru a evita să fie necesară spălarea ambelor cozi de conducte
  • că accesele simultane la memoria cache de date sunt gestionate corect
  • coerența cache-ului este menținută mai ales în cazul codului auto-modificat.
Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT