Vad är skillnaden mellan scalar och superscalar processorer?
Det finns olika typer av centrala behandlingsenheter (CPU) för datorer. Dessa typer av CPU: er skiljer sig inte riktigt när det gäller bearbetning av hårdvara och arkitektur. De flesta utför de grundläggande uppgifterna för en CPU, till exempel att läsa och skriva data, grundläggande aritmetik och adresshoppning. De kan dock skilja sig vad gäller bussstorlekar och processorarkitektur. Flera typer av datorprocessormaskinvaror finns tillgängliga, varav två är de skalära och superscalära processorerna.
En processor som exekverar skalardata kallas en skalprocessor. Med hjälp av fastpunktsoperander utförs heltalsinstruktioner av skalprocessorer även i deras enklaste tillstånd. Kraftigare skalprocessorer utför vanligtvis både flytande och heltal. Nyligen producerade skalära processorer innehåller både en flytande punktenhet och en heltalsenhet, alla på samma CPU-chip. De flesta av dessa moderna skalprocessorer använder instruktioner av 32-bitars slag.
Den superscalar-processorn utför å andra sidan flera instruktioner åt gången på grund av dess flera antal rörledningar. Denna CPU-struktur implementerar parallellism på instruktionsnivå, som är en form av parallellitet i datormaskinvara, inom en enda datorprocessor. Detta betyder att det kan tillåta snabb CPU-genomströmning som inte ens är fjärr möjlig i andra processorer som inte implementerar parallellitet på instruktionsnivå. Istället för att utföra en instruktion åt gången, använder en superscalar processor sina redundanta funktionella enheter vid utförandet 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 skalare och superscalära processorer kokar vanligtvis ner till kvantitet och hastighet. En skalprocessor, som anses vara den enklaste av alla processorer, fungerar på en eller två datordataobjekt vid en given tidpunkt. Den superscalar-processorn fungerar på flera instruktioner och flera grupper med flera dataobjekt åt gången. Scalära och superscalä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 viss tid. Superscalar-processorer kan hantera flera instruktioner och dataposter, medan den skalära processorn helt enkelt inte kan, vilket gör den förra till en mer kraftfull processor än den senare.
Scalära och superscalära processorer har båda vissa likheter med vektorprocessorer. Liksom en skalprocessor utför en vektorprocessor också en enda instruktion åt gången, men istället för att bara manipulera ett dataobjekt kan dess enda instruktion få åtkomst till flera dataobjekt. På samma sätt som den superscalar-processorn har en vektorprocessor flera redundanta funktionella enheter som låter den manipulera flera dataobjekt, men den kan bara fungera på en enda instruktion åt gången. I huvudsak är en superscalar processor en kombination av en skalprocessor och en vektorprocessor.