Mis vahe on skalaarsel ja superskalaarsel protsessoril?

Arvutite jaoks on saadaval erinevat tüüpi keskprotsessoreid (CPU-sid). Seda tüüpi CPU-d ei erine tegelikult riistvara ja arhitektuuri poolest. Enamik neist täidab protsessori põhiülesandeid, nagu andmete lugemine ja kirjutamine, põhiline aritmeetika ja aadresside hüppamine. Need võivad aga siini suuruse ja protsessori arhitektuuri poolest erineda. Saadaval on mitut tüüpi arvutiprotsessori riistvara, millest kaks on skalaar- ja superskalaarne protsessor.

Protsessorit, mis täidab skalaarandmeid, nimetatakse skalaarprotsessoriks. Fikseeritud punkti operande kasutades täidavad skalaarprotsessorid täisarvulisi käske isegi nende kõige lihtsamas olekus. Võimsamad skalaarprotsessorid teostavad tavaliselt nii ujukoma kui ka täisarvuga tehteid. Hiljuti toodetud skalaarprotsessorid sisaldavad nii ujukoma ühikut kui ka täisarvu ühikut, kõik samal protsessorikiibil. Enamik neist kaasaegsetest skalaarprotsessoritest kasutab 32-bitisi juhiseid.

Superskalaarprotsessor seevastu täidab mitut konveieri arvu tõttu korraga mitut käsku. See protsessori struktuur rakendab ühes arvutiprotsessoris käsutaseme paralleelsust, mis on arvuti riistvara paralleelsuse vorm. See tähendab, et see võib võimaldada kiiret protsessori läbilaskevõimet, mis pole isegi kaugelt võimalik teistes protsessorites, mis ei rakenda käsutaseme paralleelsust. Selle asemel, et täita ühte käsku korraga, kasutab superskalaarne protsessor oma üleliigseid funktsionaalseid üksusi mitme käsu täitmisel. Need funktsionaalsed üksused ei ole eraldiseisvad CPU tuumad, vaid ühe CPU laiendusressursid, nagu kordajad, bitinihutajad ja aritmeetilised loogikaüksused (ALU).

Erinevused skalaar- ja superskalaarsete protsessorite vahel taanduvad üldiselt kogusele ja kiirusele. Skalaarprotsessor, mida peetakse kõigist protsessoritest lihtsaimaks, töötab korraga ühe või kahe arvuti andmeüksusega. Superskalaarne protsessor töötab korraga mitme käsu ja mitme andmeüksuse mitme rühma alusel. Skalaar- ja superskalaarprotsessorid toimivad andmetega manipuleerimise osas ühtemoodi, kuid nende erinevus seisneb selles, kui paljude manipulatsioonide ja andmeüksustega nad teatud aja jooksul töötada saavad. Superskalaarprotsessorid saavad hakkama mitmete käskude ja andmeüksustega, samas kui skalaarprotsessor lihtsalt ei suuda, mistõttu on esimene protsessor võimsam kui teine.

Mõlemal skalaar- ja superskalaarprotsessoril on mõningaid sarnasusi vektorprotsessoritega. Sarnaselt skalaarprotsessoriga täidab vektorprotsessor ka ühe käsu korraga, kuid ühe andmeüksuse manipuleerimise asemel pääseb selle üks käsk juurde mitmele andmeüksusele. Sarnaselt superskalaarprotsessoriga on vektorprotsessoril mitu üleliigset funktsionaalset üksust, mis võimaldavad tal manipuleerida mitme andmeüksusega, kuid see saab korraga töötada ainult ühe käsuga. Sisuliselt on superskalaarprotsessor kombinatsioon skalaarprotsessorist ja vektorprotsessorist.