Arhitectura superscalar este un design în procesoare de calculator care permite executarea simultană a mai multor instrucțiuni. Această abordare îmbunătățește performanța prin creșterea paralelismului de nivel de instruire, permițând procesarea mai rapidă a sarcinilor.

Bazele arhitecturii superscalare

Într-un procesor superscalar, sunt prezente mai multe unități de execuție, permițând eliberarea și executarea mai multor instrucțiuni în fiecare ciclu de ceas. Acest lucru contrastează cu procesoare scalare, care se ocupă de o singură instruire la un moment dat.

Paralelismul nivelului de instruire

Paralelismul la nivel de instructiuni (ILP) se refera la capacitatea de a executa simultan mai multe instructiuni. Procesoarele superscalar folosesc ILP pentru a imbunatati performanta de trecere si performanta generala.

Abordări practice ale implementării designului superscalar

Punerea în aplicare a arhitecturii superscalare implică mai multe tehnici:

  • Instrucţiuni Fetch şi Decod: Eficient de agăţare şi decodare multiple instrucţiuni pe ciclu.
  • Schedulare dinamică: Reordonarea instrucțiunilor pentru a evita pericolele și maximiza execuția paralelă.
  • Prevenirea dependențelor false între instrucțiuni.
  • Predicția de la fermă: Reducerea întârzierilor cauzate de instrucțiunile de ramură.
  • Execuție din ordin: Executarea instrucțiunilor ca resurse devine disponibilă mai degrabă decât strict în ordinea programului.