Wat is het verschil tussen Scalaire en Superscalaire processoren?
Er zijn verschillende soorten centrale verwerkingseenheden (CPU's) beschikbaar voor computers. Dit soort CPU's verschillen niet echt in termen van verwerkingshardware en architectuur. De meeste van hen voeren de basistaken van een CPU uit, zoals het lezen en schrijven van gegevens, elementaire rekenkunde en adresspringen. Ze kunnen echter verschillen in busgroottes en processorarchitectuur. Er zijn verschillende soorten computerprocessorhardware beschikbaar, waarvan twee de scalaire en superscalaire processoren zijn.
Een processor die scalaire gegevens uitvoert, wordt een scalaire processor genoemd. Met behulp van fixed point operanden worden integer-instructies uitgevoerd door scalaire processors, zelfs in hun eenvoudigste staat. Krachtiger scalaire processors voeren meestal zowel floating-point- als integer-bewerkingen uit. Onlangs geproduceerde scalaire processors bevatten zowel een drijvende-komma-eenheid als een geheel-getal-eenheid, allemaal op dezelfde CPU-chip. De meeste van deze moderne scalaire processors gebruiken instructies van het 32-bits type.
De superscalar-processor voert daarentegen meerdere instructies tegelijk uit vanwege het meerdere aantal pijpleidingen. Deze CPU-structuur implementeert parallelliteit op instructieniveau, een vorm van parallelliteit in computerhardware, binnen een enkele computerprocessor. Dit betekent dat het een snelle CPU-doorvoer mogelijk maakt die zelfs op afstand niet mogelijk is in andere processors die geen parallelliteit op instructieniveau implementeren. In plaats van één instructie tegelijk uit te voeren, gebruikt een superscalar-processor zijn redundante functionele eenheden bij de uitvoering van meerdere instructies. Deze functionele eenheden zijn geen afzonderlijke CPU-kernen, maar uitbreidingsbronnen van een enkele CPU, zoals multiplicatoren, bit-shifters en rekenkundige logische eenheden (ALU's).
Verschillen tussen scalaire en superscalaire processors komen meestal neer op hoeveelheid en snelheid. Een scalaire processor, beschouwd als de eenvoudigste van alle processors, werkt op een of twee computergegevensitems tegelijk. De superscalar-processor werkt op meerdere instructies en op verschillende groepen van meerdere gegevens tegelijk. Scalaire en superscalaire processors werken beide op dezelfde manier wat betreft het manipuleren van gegevens, maar hun verschil ligt in het aantal manipulaties en gegevensitems waaraan ze in een bepaalde tijd kunnen werken. Superscalar-processors kunnen meerdere instructies en gegevensitems verwerken, terwijl de scalaire processor dit eenvoudigweg niet kan, waardoor de eerste een krachtigere processor is dan de laatste.
Scalaire en superscalaire processors hebben beide enige overeenkomsten met vectorprocessors. Net als een scalaire processor, voert een vectorprocessor ook een enkele instructie tegelijk uit, maar in plaats van slechts één gegevensitem te manipuleren, heeft zijn enkele instructie toegang tot meerdere gegevensitems. Vergelijkbaar met de superscalar-processor heeft een vectorprocessor meerdere redundante functionele eenheden waarmee meerdere gegevensitems kunnen worden bewerkt, maar deze kan slechts aan één instructie tegelijk werken. In wezen is een superscalaire processor een combinatie van een scalaire processor en een vectorprocessor.