Il existe différents types d’unités centrales de traitement (CPU) disponibles pour les ordinateurs. Ces types de processeurs ne diffèrent pas vraiment en termes de matériel de traitement et d’architecture. La plupart d’entre eux effectuent les tâches de base d’un processeur telles que la lecture et l’écriture de données, l’arithmétique de base et le saut d’adresse. Ils peuvent cependant différer en termes de tailles de bus et d’architecture de processeur. Plusieurs types de matériel de processeur informatique sont disponibles, dont deux sont les processeurs scalaires et superscalaires.

Un processeur qui exécute des données scalaires est appelé processeur scalaire. En utilisant des opérandes à virgule fixe, les instructions entières sont exécutées par des processeurs scalaires même dans leur état le plus simple. Les processeurs scalaires plus puissants exécutent généralement à la fois des opérations à virgule flottante et des nombres entiers. Les processeurs scalaires récemment produits contiennent à la fois une unité à virgule flottante et une unité entière, le tout sur la même puce CPU. La plupart de ces processeurs scalaires modernes utilisent des instructions de type 32 bits.

Le processeur superscalaire, quant à lui, exécute plusieurs instructions à la fois en raison de son nombre multiple de pipelines. Cette structure de CPU implémente le parallélisme au niveau des instructions, qui est une forme de parallélisme dans le matériel informatique, au sein d’un seul processeur informatique. Cela signifie qu’il peut permettre un débit CPU rapide qui n’est même pas possible à distance dans d’autres processeurs qui n’implémentent pas le parallélisme au niveau des instructions. Au lieu d’exécuter une instruction à la fois, un processeur superscalaire utilise ses unités fonctionnelles redondantes dans l’exécution de plusieurs instructions. Ces unités fonctionnelles ne sont pas des cœurs de processeur séparés, mais des ressources d’extension d’un seul processeur telles que des multiplicateurs, des décaleurs de bits et des unités arithmétiques et logiques (ALU).

Les différences entre les processeurs scalaires et superscalaires se résument généralement à la quantité et à la vitesse. Un processeur scalaire, considéré comme le plus simple de tous les processeurs, travaille sur une ou deux données informatiques à un instant donné. Le processeur superscalaire fonctionne sur plusieurs instructions et plusieurs groupes de plusieurs éléments de données à la fois. Les processeurs scalaires et superscalaires fonctionnent tous deux de la même manière en termes de manipulation des données, mais leur différence réside dans le nombre de manipulations et d’éléments de données sur lesquels ils peuvent travailler dans un temps donné. Les processeurs superscalaires peuvent gérer plusieurs instructions et éléments de données, tandis que le processeur scalaire ne le peut tout simplement pas, faisant ainsi du premier un processeur plus puissant que le second.

Les processeurs scalaires et superscalaires présentent tous deux des similitudes avec les processeurs vectoriels. Comme un processeur scalaire, un processeur vectoriel exécute également une seule instruction à la fois, mais au lieu de simplement manipuler un élément de données, son instruction unique peut accéder à plusieurs éléments de données. Semblable au processeur superscalaire, un processeur vectoriel possède plusieurs unités fonctionnelles redondantes qui lui permettent de manipuler plusieurs éléments de données, mais il ne peut fonctionner que sur une seule instruction à la fois. En substance, un processeur superscalaire est une combinaison d’un processeur scalaire et d’un processeur vectoriel.