Vad är skillnaden mellan skalära och superskalära processorer?

Det finns olika typer av centralprocessorer (CPU) tillgängliga för datorer. Dessa typer av CPU:er skiljer sig inte riktigt åt när det gäller bearbetningshårdvara och arkitektur. De flesta av dem utför de grundläggande uppgifterna för en CPU som att läsa och skriva data, grundläggande aritmetik och adresshoppning. De kan dock skilja sig åt vad gäller bussstorlekar och processorarkitektur. Flera typer av datorprocessorhårdvara finns tillgängliga, varav två är skalära och superskalära processorer.

En processor som exekverar skalär data kallas en skalär processor. Med hjälp av fixpunktsoperander exekveras heltalsinstruktioner av skalära processorer även i deras enklaste tillstånd. Kraftfullare skalära processorer utför vanligtvis både flyttals- och heltalsoperationer. Nyligen producerade skalära processorer innehåller både en flyttalsenhet och en heltalsenhet, allt på samma CPU-chip. De flesta av dessa moderna skalära processorer använder instruktioner av 32-bitarstyp.

Den superskalära processorn, å andra sidan, exekverar flera instruktioner åt gången på grund av dess multipla antal pipelines. Denna CPU-struktur implementerar parallellism på instruktionsnivå, som är en form av parallellism i datorhårdvara, inom en enda datorprocessor. Detta betyder att den kan tillåta snabb CPU-genomströmning som inte ens är möjlig på avstånd i andra processorer som inte implementerar parallellism på instruktionsnivå. Istället för att exekvera en instruktion åt gången, använder en superskalär processor sina redundanta funktionsenheter vid exekvering av flera instruktioner. Dessa funktionella enheter är inte separata CPU-kärnor, utan en enda CPU:s förlängningsresurser som multiplikatorer, bitskiftare och aritmetiska logiska enheter (ALU).

Skillnader mellan skalära och superskalära processorer handlar i allmänhet om kvantitet och hastighet. En skalär processor, som anses vara den enklaste av alla processorer, fungerar på en eller två datordataobjekt vid en given tidpunkt. Den superskalära processorn arbetar på flera instruktioner och flera grupper av flera dataobjekt samtidigt. Skalära och superskalära processorer fungerar båda på samma sätt när det gäller hur de manipulerar data, men deras skillnad ligger i hur många manipulationer och dataobjekt de kan arbeta med under en given tid. Superskalära processorer kan hantera flera instruktioner och dataobjekt, medan den skalära processorn helt enkelt inte kan, vilket gör den förra till en kraftfullare processor än den senare.

Skalära och superskalära processorer har båda vissa likheter med vektorprocessorer. Liksom en skalär processor, exekverar en vektorprocessor också en enstaka instruktion åt gången, men istället för att bara manipulera ett dataobjekt kan dess enda instruktion komma åt flera dataobjekt. I likhet med den superskalära processorn har en vektorprocessor flera redundanta funktionsenheter som låter den manipulera flera dataobjekt, men den kan bara fungera på en enskild instruktion åt gången. I huvudsak är en superskalär processor en kombination av en skalär processor och en vektorprocessor.