Processeur superscalaire

La conception d'un processeur superscalaire permet une forme de calcul parallèle appelée parallélisme au niveau des instructions à l'intérieur d'un seul processeur, ce qui permet de travailler davantage à la même fréquence d'horloge. Cela signifie que l'unité centrale exécute plus d'une instruction au cours d'un cycle d'horloge en exécutant plusieurs instructions en même temps (appelé dispatching d'instructions) sur des unités fonctionnelles doubles. Chaque unité fonctionnelle n'est qu'une ressource d'exécution à l'intérieur du noyau de l'unité centrale, comme une unité arithmétique et logique (UAL), une unité à virgule flottante (UFP), un décaleur de bits ou un multiplicateur.

La plupart des CPU superscalaires sont également en pipeline, mais il est possible d'avoir un CPU superscalaire non en pipeline ou un CPU non superscalaire en pipeline.

La technique superscalaire est soutenue par plusieurs caractéristiques du cœur du processeur :

  1. Les instructions proviennent d'une liste d'instructions ordonnées.
  2. Le matériel de l'unité centrale peut déterminer quelles instructions ont quelles dépendances de données.
  3. Peut lire plusieurs instructions par cycle d'horloge

Chaque instruction exécutée par un processeur scalaire modifie un ou deux éléments de données à la fois, mais chaque instruction exécutée par un processeur vectoriel traite plusieurs éléments de données à la fois. Un processeur superscalaire est un mélange des deux :

  1. Chaque instruction traite un élément de données.
  2. Il y a plusieurs unités fonctionnelles en double à l'intérieur de chaque noyau de CPU, de sorte que plusieurs instructions traitent des éléments de données indépendants en même temps.

Dans une unité centrale superscalaire, un répartiteur d'instructions lit les instructions en mémoire et décide lesquelles peuvent être exécutées en parallèle, en les répartissant sur les multiples unités fonctionnelles en double disponibles à l'intérieur de l'unité centrale.

La conception de l'unité centrale superscalaire vise à améliorer la précision du répartiteur d'instructions et à lui permettre de maintenir les multiples unités fonctionnelles occupées en permanence. Depuis 2008, toutes les unités centrales à usage général sont superscalaires, une unité centrale superscalaire typique peut comprendre jusqu'à 4 ALU, 2 FPU et deux unités SIMD. Si le répartiteur ne peut pas garder toutes les unités occupées, la performance de l'unité centrale sera moindre.

Questions et réponses

Q : Qu'est-ce que la technologie superscalaire ?


R : La technologie superscalaire est une forme de calcul parallèle de base qui permet de traiter plus d'une instruction par cycle d'horloge en utilisant plusieurs unités d'exécution en même temps.

Q : Comment fonctionne la technologie superscalaire ?


R : La technologie superscalaire implique que les instructions arrivent dans le processeur dans l'ordre, qu'elles recherchent des dépendances de données pendant leur exécution et qu'elles chargent plus d'une instruction par cycle d'horloge.

Q : Quelle est la différence entre les processeurs scalaires et vectoriels ?


R : Sur un processeur scalaire, les instructions travaillent généralement avec un ou deux éléments de données à la fois, tandis que sur un processeur vectoriel, les instructions travaillent généralement avec de nombreux éléments de données à la fois. Un processeur superscalaire est un mélange des deux, car chaque instruction traite une donnée, mais plus d'une instruction s'exécute en même temps, de sorte que le processeur traite plusieurs données à la fois.

Q : Quel rôle joue un distributeur d'instructions précis dans un processeur superscalaire ?


R : Un distributeur d'instructions précis est très important pour un processeur superscalaire, car il garantit que les unités d'exécution sont toujours occupées par le travail qui sera probablement nécessaire. Si le distributeur d'instructions n'est pas précis, il se peut qu'une partie du travail doive être rejetée, ce qui ne rendrait pas le processeur plus rapide qu'un processeur scalaire.

Q : En quelle année tous les processeurs normaux sont-ils devenus superscalaires ?


R : Tous les processeurs normaux sont devenus superscalaires en 2008.

Q : Combien d'ALU, de FPU et d'unités SIMD peut-on trouver sur un processeur normal ?


R : Une unité centrale normale peut comporter jusqu'à 4 UAL, 2 FPU et 2 unités SIMD.

AlegsaOnline.com - 2020 / 2023 - License CC3