Home

superscalaritate

Superscalareitatea (superscalaritate) este o abordare arhitecturală a procesorului prin care unitățile de execuție pot procesa și lansa mai multe instrucțiuni în același ciclu de ceas dintr-un flux unic de instrucțiuni. Scopul este creșterea indicelui de execuție pe ciclu (IPC) prin exploatarea paralelismului la nivel de instrucțiune (ILP). Proiectele moderne folosesc execuție în afara ordinii, redenumire de registre și predicția ramificării pentru a menține un flux de instrucțiuni activ.

Funcționarea implică o logică de dispatch care poate prelua mai multe instrucțiuni, determină care dintre ele

Superscalarea se diferențiază de arhitecturile VLIW (Very Long Instruction Word), unde sarcina de programare este în

Istoric: ideea execuției multiple pe ciclu a prins contur în anii '80 și s-a răspândit în anii

Limitări: dependențele de date, lățimea de bandă a memoriei și predicția ramificării pot limita efectivitatea. În

pot
rula
în
paralel
în
unități
de
execuție
(ALU,
FPU,
unități
load/store)
și
le
trimite
acelor
unități.
Dependențele,
ramificațiile
și
accesul
la
memorie
limitează
paralelismul;
tehnici
ca
execuția
în
afara
ordinii,
redenumirea
registrilor
și
predicția
ramificării
ajută
la
menținerea
unui
volum
mare
de
instrucțiuni
disponibile
pentru
execuție.
mare
parte
la
compilator;
hardware-ul
decide
paralelismul
în
funcție
de
dependențe.
SIMD
reprezintă
un
alt
tip
de
paralelism,
axat
pe
operații
pe
date,
dar
diferă
în
scop
și
structură.
'90
prin
procesoare
comerciale.
Exemple
notabile
includ
Intel
Pentium,
arhitecturi
IBM
PowerPC
și
sisteme
Alpha,
urmate
de
evoluții
ale
AMD
și
ARM,
care
au
extins
performanța
prin
exploatarea
paralelismului
la
nivel
de
instrucțiune.
practică,
procesoarele
moderne
sunt
de
obicei
superscalare,
cu
mai
multe
unități
de
execuție,
dar
complexitatea
designului
și
consumul
de
putere
cresc
pe
măsură
ce
se
urmăresc
niveluri
mai
ridicate
de
paralelism.