Processeur Superscalaire : Architecture, Pipelining, Types & Ses Applications

Essayez Notre Instrument Pour Éliminer Les Problèmes





Dans ce monde, tout le monde veut que ses choses/travaux soient faits rapidement. N'est-ce pas ? Des voitures aux machines industrielles en passant par les machines domestiques, tout le monde veut qu'elles fonctionnent plus rapidement. Savez-vous ce qui se trouve à l'intérieur de ces machines pour les faire fonctionner ? Elles sont processeurs . Il peut s'agir de micro ou de macro processeurs selon la fonctionnalité. Le processeur de base exécute en général une instruction par cycle d'horloge. Afin d'améliorer leur vitesse de traitement afin que les machines puissent améliorer leur vitesse, le processeur superscalaire qui a un algorithme de pipeline pour lui permettre d'exécuter deux instructions par cycle d'horloge. Il a été inventé pour la première fois par le CDC 6600 de Seymour Cray inventé en 1964 et a ensuite été amélioré par Tjaden & Flynn en 1970.


Le premier microprocesseur superscalaire monopuce commercial MC88100 a été développé par Motorola en 1988, plus tard Intel a présenté sa version I960CA en 1989 et la série AMD 29000 29050 en 1990. À l'heure actuelle, le processeur superscalaire typique utilisé est le processeur Intel Core i7 selon la microarchitecture Nehalem.



Même si les implémentations de superscalaire se dirigent vers une complexité accrue. La conception de ces processeurs fait normalement référence à un ensemble de méthodes qui permettent au processeur d'un ordinateur d'atteindre un débit supérieur à une instruction pour chaque cycle tout en exécutant un seul programme séquentiel. Voyons plus loin dans cet article l'architecture SuperScalarprocessor qui réduit son temps d'exécution et ses applications.

Qu'est-ce qu'un processeur superscalaire ?

Type de microprocesseur utilisé pour mettre en œuvre un type de parallélisme connu sous le nom de parallélisme au niveau des instructions dans un seul processeur pour exécuter plusieurs instructions au cours d'un cycle CLK en envoyant simultanément diverses instructions à des unités d'exécution spéciales sur le processeur. UNE processeur scalaire exécute une seule instruction pour chaque cycle d'horloge ; un processeur superscalaire peut exécuter plus d'une instruction au cours d'un cycle d'horloge.



Les techniques de conception du superscalaire comprennent normalement le renommage des registres parallèles, le décodage des instructions parallèles, les exécutions dans le désordre et l'exécution spéculative. Ainsi, ces méthodes sont normalement utilisées avec des méthodes de conception complémentaires telles que le pipelining, la prédiction de branche, la mise en cache et le multicœur dans les conceptions actuelles de microprocesseurs.

  Processeur superscalaire
Processeur superscalaire

Caractéristiques

Les caractéristiques des processeurs superscalaires sont les suivantes.

  PCBWay
  • L'architecture superscalaire est une technique de calcul parallèle utilisée dans divers processeurs.
  • Dans un ordinateur superscalaire, le CPU gère plusieurs pipelines d'instructions pour exécuter de nombreuses instructions simultanément pendant un cycle d'horloge.
  • Les architectures superscalaires incluent tous canalisation fonctionnalités bien qu'il y ait plusieurs instructions s'exécutant simultanément dans le même pipeline.
  • Les méthodes de conception superscalaires comprennent normalement le renommage de registres parallèles, le décodage d'instructions parallèles, l'exécution spéculative et l'exécution dans le désordre. Ainsi, ces méthodes sont normalement utilisées avec des méthodes de conception complémentaires telles que la mise en cache, le pipeline, la prédiction de branche et le multicœur dans les conceptions récentes de microprocesseurs.

Architecture de processeur superscalaire

Nous savons qu'un processeur superscalaire est un processeur qui exécute plus d'une instruction pour chaque cycle CLK car les vitesses de traitement sont simplement mesurées en cycles CLK pour chaque seconde. Comparé à un processeur scalaire, ce processeur est très rapide.

L'architecture de processeur superscalaire comprend principalement des unités d'exécution parallèles où ces unités peuvent implémenter des instructions simultanément. Donc, d'abord, cette architecture parallèle a été implémentée dans un processeur RISC qui utilise des instructions simples et courtes pour exécuter des calculs. Donc, en raison de leurs capacités superscalaires, normalement RISQUE les processeurs ont mieux performé que les processeurs CISC qui fonctionnent au même mégahertz. Mais la plupart SCRC les processeurs maintenant comme l'Intel Pentium comprennent également une architecture RISC, ce qui leur permet d'exécuter des instructions en parallèle.

  Architecture de processeur superscalaire
Architecture de processeur superscalaire

Le processeur superscalaire est équipé de plusieurs unités de traitement pour gérer diverses instructions en parallèle à chaque étape de traitement. En utilisant l'architecture ci-dessus, un certain nombre d'instructions démarrent l'exécution dans un cycle d'horloge similaire. Ces processeurs sont capables d'obtenir une sortie d'exécution d'instruction de l'instruction ci-dessus pour chaque cycle.

Dans le schéma d'architecture ci-dessus, un processeur est utilisé avec deux unités d'exécution, l'une étant utilisée pour les nombres entiers et l'autre pour les opérations en virgule flottante. L'unité de récupération d'instructions (IFU) est capable de lire des instructions à la fois et de les stocker dans la file d'attente d'instructions. À chaque cycle, l'unité de répartition récupère et décode jusqu'à 2 instructions du front de la file d'attente. S'il y a un seul entier, une seule instruction à virgule flottante et aucun danger, alors les deux instructions sont envoyées dans un cycle d'horloge similaire.

Canalisation

Le pipelining est la procédure consistant à décomposer les tâches en sous-étapes et à les exécuter dans différentes parties du processeur. Dans le pipeline superscalaire suivant, deux instructions peuvent être récupérées et distribuées à la fois pour compléter un maximum de 2 instructions par cycle. L'architecture de pipeline dans le processeur scalaire et le processeur superscalaire est illustrée ci-dessous.

Les instructions d'un processeur superscalaire sont issues d'un flux d'instructions séquentielles. Il doit autoriser plusieurs instructions pour chaque cycle d'horloge et la CPU doit vérifier dynamiquement les dépendances de données entre les instructions.

Dans l'architecture de pipeline ci-dessous, F est récupéré, D est décodé, E est exécuté et W est la réécriture du registre. Dans cette architecture de pipeline, I1, I2, I3 et I4 sont des instructions.

L'architecture de pipeline du processeur scalaire comprend un seul pipeline et quatre étapes d'extraction, de décodage, d'exécution et de réécriture des résultats. Dans le processeur scalaire à pipeline unique, le pipeline dans l'instruction1 (I1) fonctionne comme ; dans la première période d'horloge I1, il va chercher, dans la deuxième période d'horloge, il va décoder et dans la deuxième instruction, I2 va chercher. La troisième instruction I3 dans la troisième période d'horloge va chercher, I2 va décoder et I1 va s'exécuter. Dans la quatrième période d'horloge, I4 cherchera, I3 décodera, I2 exécutera et I1 écrira en mémoire. Ainsi, en sept périodes d'horloge, il exécutera 4 instructions dans un seul pipeline.

  Canalisation scalaire
Canalisation scalaire

L'architecture de pipeline de processeur superscalaire comprend deux pipelines et quatre étapes d'extraction, de décodage, d'exécution et de réécriture des résultats. Il s'agit d'un processeur superscalaire à 2 problèmes, ce qui signifie qu'à la fois, deux instructions vont récupérer, décoder, exécuter et réécrire le résultat. Les deux instructions I1 et I2 vont à la fois chercher, décoder, exécuter et réécrire à chaque période d'horloge. Simultanément dans la période d'horloge suivante, les deux instructions restantes 13 et 14 seront à la fois extraites, décodées, exécutées et réécrites. Ainsi, en cinq périodes d'horloge, il exécutera 4 instructions dans un seul pipeline.

  Pipelining superscalaire
Pipelining superscalaire

Ainsi, un processeur scalaire émet une seule instruction par cycle d'horloge et exécute une seule étape de pipeline par cycle d'horloge, tandis qu'un processeur superscalaire émet deux instructions par cycle d'horloge et exécute deux instances de chaque étape en parallèle. Ainsi, l'exécution des instructions dans un processeur scalaire prend plus de temps alors que dans un superscalaire, il faut moins de temps pour exécuter les instructions .

Types de processeurs superscalaires

Ce sont différents types de processeurs superscalaires disponibles sur le marché qui sont discutés ci-dessous.

Processeur Intel Core i7

Intel Core i7 est un processeur superscalaire basé sur la micro-architecture Nehalem. Dans une conception Core i7, il existe différents cœurs de processeur où chaque cœur de processeur est un processeur superscalaire. Il s'agit de la version la plus rapide du processeur Intel utilisée dans les ordinateurs et appareils grand public. Semblable à l'Intel Corei5, ce processeur est intégré à la technologie Intel Turbo Boost. Ce processeur est disponible en 2 à 6 variétés qui prennent en charge jusqu'à 12 threads différents à la fois.

  Processeur Intel Core i7
Processeur Intel Core i7

Processeur Intel Pentium

L'architecture en pipeline superscalaire du processeur Intel Pentium signifie que le CPU exécute un minimum de deux instructions ou plus pour chaque cycle. Ce processeur est largement utilisé dans les ordinateurs personnels. Les processeurs Intel Pentium sont normalement conçus pour une utilisation en ligne, le cloud computing et la collaboration. Ainsi, ce processeur fonctionne parfaitement pour les tablettes et les Chromebooks pour fournir de solides performances locales et des interactions en ligne efficaces.

  Processeur Intel Pentium
Processeur Intel Pentium

IBM Puissance PC601

Le processeur superscalaire comme IBM power PC601 est issu de la famille des PowerPC des microprocesseurs RISC. Ce processeur est capable d'émettre ainsi que de retirer trois instructions pour chaque horloge et une pour chacune des 3 unités d'exécution. Les instructions sont totalement hors d'usage pour des performances améliorées; mais, le PC601 fera émerger l'exécution dans l'ordre.

  IBM Puissance PC601
IBM Puissance PC601

Le processeur Power PC601 fournit des adresses logiques 32 bits, des types de données entiers 8, 16 et 32 ​​bits et des types de données à virgule flottante 32 et 64 bits. Pour l'implémentation de PowerPC 64 bits, l'architecture de ce processeur fournit des types de données entiers basés sur 64 bits, l'adressage et d'autres fonctionnalités nécessaires pour compléter l'architecture basée sur 64 bits.

MC88110

Le MC 88110 est un microprocesseur RISC monopuce de deuxième génération qui utilise des méthodes avancées pour exploiter le parallélisme au niveau des instructions. Ce processeur utilise plusieurs caches sur puce, des problèmes d'instructions superscalaires, l'enregistrement d'instructions dynamiques limitées et une exécution spéculative, pour atteindre des performances maximales, il est donc idéalement utilisé comme processeur central dans les PC et stations de travail à faible coût.

  MC 88000
MC 88000

Intel i960

Intel i960 est un processeur superscalaire capable d'exécuter et de distribuer diverses instructions indépendantes au cours de chaque cycle d'horloge du processeur. Il s'agit d'un microprocesseur basé sur RISC qui est devenu très célèbre en tant que microcontrôleur embarqué au début des années 1990. Ce processeur est utilisé en permanence dans quelques applications militaires.

  Intel i960
Intel i960

MIPS R

Le MIPS R est un microprocesseur dynamique et superscalaire utilisé pour exécuter l'architecture de jeu d'instructions MIPS 64 bits à 4. Ce processeur récupère et décode 4 instructions pour chaque cycle et les envoie à cinq unités d'exécution entièrement en pipeline et à faible latence. Ce processeur est particulièrement conçu pour les applications hautes performances, volumineuses et réelles avec une mauvaise localisation de la mémoire. Avec une exécution approximative, il calcule simplement les adresses mémoire. Les processeurs MIPS sont principalement utilisés dans divers appareils tels que Nintendo Gamecube, la gamme de produits SGI, Sony Playstation 2, les routeurs PSP et Cisco.

  MIPS R
MIPS R

Différence B/W Superscalaire Vs Pipelining

La différence entre superscalaire et pipeline est discutée ci-dessous.

Superscalaire

Canalisation

Un superscalaire est un processeur, utilisé pour implémenter une forme de parallélisme appelée parallélisme au niveau des instructions dans un seul processeur. Une technique de mise en œuvre comme le pipelining est utilisée lorsque plusieurs instructions se chevauchent dans l'exécution.
Une architecture superscalaire lance plusieurs instructions simultanément et les exécute séparément. L'architecture de pipeline exécute une seule étape de pipeline uniquement pour chaque cycle d'horloge.

Ces processeurs dépendent du parallélisme spatial. Cela dépend du parallélisme temporel.
Plusieurs opérations s'exécutent simultanément sur du matériel distinct. Chevauchement de plusieurs opérations sur du matériel commun.
Ceci est réalisé en dupliquant les ressources matérielles telles que les ports de fichiers de registre et les unités d'exécution. Il est réalisé par des unités d'exécution pipelined plus profondément avec des cycles CLK très rapides.

Les caractéristiques

Le caractéristiques du processeur superscalaire inclure les éléments suivants.

  • Un processeur superscalaire est un modèle super-pipeliné où simplement les instructions indépendantes sont exécutées en série sans aucune situation d'attente.
  • Un processeur superscalaire récupère et décode à la fois plusieurs instructions du flux d'instructions entrant.
  • L'architecture des processeurs superscalaires exploite le potentiel du parallélisme au niveau des instructions.
  • Les processeurs superscalaires émettent principalement l'instruction unique ci-dessus pour chaque cycle.
  • Le non. des instructions émises dépend principalement des instructions dans le flux d'instructions.
  • Les instructions sont fréquemment réorganisées pour mieux s'adapter à l'architecture du processeur.
  • La méthode superscalaire est généralement associée à certaines caractéristiques d'identification. Les instructions sont normalement émises à partir d'un flux d'instructions séquentiel.
  • Le processeur vérifie dynamiquement les dépendances de données entre les instructions au moment de l'exécution.
  • Le CPU exécute plusieurs instructions pour chaque cycle d'horloge.

Avantages et inconvénients

Le avantages du processeur superscalaire inclure les éléments suivants.

  • Un processeur superscalaire implémente le parallélisme au niveau des instructions dans un seul processeur.
  • Ces processeurs sont simplement conçus pour exécuter n'importe quel jeu d'instructions.
  • Le processeur superscalaire, y compris la prédiction de branche d'exécution dans le désordre et l'exécution spéculative, peut simplement trouver le parallélisme au-dessus de plusieurs blocs de base et itérations de boucle.

Le inconvénients du processeur superscalaire inclure les éléments suivants.

  • Les processeurs superscalaires ne sont pas beaucoup utilisés dans les petits systèmes embarqués en raison de la consommation d'énergie.
  • Le problème de planification peut se produire dans cette architecture.
  • Le processeur superscalaire améliore le niveau de complexité dans la conception du matériel.
  • Les instructions de ce processeur sont simplement extraites en fonction de leur ordre de programme séquentiel, mais ce n'est pas le meilleur ordre d'exécution.

Applications de processeur superscalaire

Les applications d'un processeur superscalaire comprennent les suivantes.

  • L'exécution superscalaire est fréquemment utilisée par un ordinateur portable ou de bureau. Ce processeur analyse simplement le programme en cours d'exécution pour découvrir des ensembles d'instructions pouvant être exécutées comme une seule.
  • Un processeur superscalaire comprend diverses copies matérielles de chemin de données qui exécutent diverses instructions à la fois.
  • Ce processeur est principalement conçu pour générer une vitesse d'exécution supérieure à une instruction pour chaque cycle d'horloge pour un seul programme séquentiel.

Ainsi, il s'agit de un aperçu du processeur superscalaire – architecture, types et applications. Voici une question pour vous, qu'est-ce que le processeur scalaire ?