RISC vs CISC : comparaison entre les processeurs pour Datacenter

Le rôle des processeurs RISC dans les équipements de datacenter fait l'objet de vifs débats, mais les nouveaux modèles RISC montrent que les CISC ne sont plus les seuls à mener le jeu.

S'il est vrai que les processeurs CISC x86 sont très polyvalents, ils ne constituent pas toujours un choix idéal. Les processeurs RISC spécialisés, simplifiés et hautement intégrés, améliorent considérablement l'efficacité et la puissance des datacenters.

Sans cesse en quête d'une performance de calcul élevée pour une faible consommation énergétique, les concepteurs de systèmes s'en rendent compte : le processeur x86 universel, avec son jeu d'instructions complexes, ne permet pas de générer les fonctionnalités et l'efficacité requises. Les processeurs conçus pour les performances peuvent répondre aux besoins de calcul des serveurs, des baies de stockage, des équipements réseau et d'autres systèmes.

Comparaison des processeurs RISC et CISC

Les processeurs x86 d'aujourd'hui sont un amalgame de fonctions et fonctionnalités des trente dernières années, jusqu'aux instructions Intel-VT et AMD-V actuelles destinées à prendre en charge la virtualisation matérielle.

CPU et Datacenter

Mais ce mode de calcul à jeu d'instructions complexes (CISC, Complex Instruction Set Computing) pose un problème : chaque nouvelle instruction ou fonction ajoute plusieurs dizaines de milliers de transistors au die du processeur, ce qui se traduit par une hausse de la puissance requise et de la latence, alors même que les instructions sont rarement sollicitées. La puce est extrêmement polyvalente, mais elle surchauffe vite et consomme énormément d'énergie avec des fréquences d'horloge sans cesse croissantes.

Les processeurs sont d'autant plus efficaces qu'ils sont adaptés à une tâche spécifique. Le mode de calcul à jeu d'instructions réduit (RISC, Reduced Instruction Set Computing) élimine les fonctions et fonctionnalités inutilisées pour ne conserver que les capacités propres à des tâches précises. Plus simple et plus fiable, le processeur RISC offre la même vitesse d'exécution effective pour une fraction des besoins en énergie et en refroidissement.

Entre CISC et RISC, ce sont les facteurs de polyvalence et d'efficacité qui sont mis en concurrence. Les processeurs CISC x86 traditionnels sont en mesure de traiter n'importe quelle opération de calcul au moyen d'un jeu d'instructions extrêmement riche. Cela en a fait le modèle de prédilection pour les plateformes informatiques universelles : serveurs d'entreprise, ordinateurs de bureau et ordinateurs portables/tablettes.

Les processeurs RISC spécialisés sacrifient la polyvalence au profit de l'efficacité

Les processeurs RISC spécialisés sacrifient la polyvalence au profit de l'efficacité. L'élimination des instructions non utilisées permet de réduire considérablement le nombre de transistors sur le processeur. Les tâches étant moins nombreuses, elles sont exécutées plus rapidement, y compris à des vitesses d'horloge moindres (puissance inférieure) qu'un processeur CISC x86 équivalent complet.

Les imprimantes, routeurs domestiques, téléphones multifonctions et jusqu'aux télécommandes contiennent des processeurs RISC, et ce concept tend à se généraliser sur les plateformes informatiques complètes.

Le processeur RISC d'une tablette ou d'un smartphone permet une lecture vidéo sans à-coups, un affichage rapide des pages Web et une grande réactivité de l'interface utilisateur pendant de nombreuses heures de batterie, sans dispositif de refroidissement. Et ce modèle de puce gagne du terrain dans les systèmes de datacenters.

Exemples de processeurs RISC

Les concepteurs de puces, à l'image d'Intel, ont pris de l'avance dans la fabrication de processeurs RISC pour datacenters et terminaux. Les processeurs Atom d'Intel se déclinent en de nombreuses variantes spécialisées n'utilisant pas nécessairement tout le jeu d'instructions x86, mais la majeure partie.

Ainsi, la gamme Atom Silverthorne monocoeur pour les MID (Mobile Internet device) prend en charge les technologies MMX, SSE, SSE2, SSE3, SSSE3 et Enhanced SpeedStep, mais tous les modèles ne prennent pas en charge l'hyperthreading ou l'Intel-VT. Par ailleurs, bien que les systèmes Atom prennent en charge la plupart des applications x86 de base, ils ne sont pas conçus pour la virtualisation.

La gamme Atom S12x9 prend en charge un système monopuce (SoC) complet avec 40 lignes PCIe 2.0 pour une capacité d'E/S élevée. Ces processeurs sont utilisés dans les systèmes de stockage. L'Atom Avoton est un processeur SoC 64 bits avec contrôleur Ethernet, conçu pour les microserveurs. Le processeur SoC Atom Rangeley, spécialement adapté au traitement du trafic réseau, est employé dans les routeurs entrée ou milieu de gamme, les commutateurs et les dispositifs de sécurité.

Les processeurs RISC multicoeur SoC basés sur Linux, tels que le Tilera TILE Gx-8072, fournissent 72 coeurs RISC interconnectés dans un même package. On les trouve notamment dans des serveurs à faible consommation : le grand nombre de coeurs permet d'exécuter des tâches telles que le traitement des données réseau et le transcodage vidéo.

La référence ARMv8 proposée par ARM (Advanced RISC Machines) représente un scénario d'utilisation plus général de l'architecture RISC. Les processeurs de tablettes tels que l'A6 d'Apple et le Tegra 3 de NVIDIA s'appuient sur le processeur RISC Cortex-A9 d'ARM. Le modèle Cortex-A57 64 bits prend en charge les applications programmées sous Linux, Linaro et d'autres langages open source. AMD devrait développer un processeur SoC RISC pour serveurs d'entreprise basé sur le modèle Cortex-A57.

Approfondir

Participer à la conversation

3 commentaires

M'envoyer une notification dès qu'un autre membre commente.

Merci de créer un identifiant pour pouvoir poster votre commentaire.

  Bonsoir,
  En ce cas, puisque le côté performance est pour le RISC, pourquoi continuer à produire et vendre des CISC (x86/x64 et descendants), plus lourds, moins fiables et plus consommateurs en énergie ?
  Les RISC disposent maintenant de mémoires rapides, d'accès larges (64bits et mieux), et peuvent exécuter plus d'instructions par cycle d'horloge qu'un CISC, et surtout sont moins complexes à produire, vérifier et programmer.
  Donc pourquoi ce culte de l'inutile complexité ? Juste pour faire des marges commerciales, ou par incapacité des concepteurs ?
Annuler
Pour la polyvalence ! Le combat CISC vs RISC est vieille comme l'histoire de l'informatique !
Les pro-RISC ont toujours clamé les mêmes arguments que toi ! Mais entre la théorie et la pratique, il y a un monde que visiblement, vous ne franchirez jamais !
Encore aujourd'hui, les benchmark des serveur RISC s'appuie sur quelques taches très spécifiques pour montrer leur "efficacité" (cryptographie, encodage, etc ). Dès qu'on arrive sur des taches multiples, différentes, les serveur ARMs sont perdu ,et leur efficacités sont bien moindre que les processeurs X86. Reste le domaine de la mobilité ou la faible consommation permet aux ARMs de briller ! Mais pour les rares terminaux mobiles sur intel, la différences est flagrante :c'est bien plus véloce au quotidien ! 
Annuler

les caractéristiques :

Les principales caractéristiques des processeurs RISC sont les suivantes.

Codage uniforme des instructions
Toutes les instructions sont codées avec un même nombre de bits, généralement un mot machine. L'op-code se trouve à la même position pour toutes les instructions. Ceci facilite le décodage des instructions.
Registres indifférenciés et nombreux
Tous les registres peuvent être utilisés dans tous les contextes. Il n'y a par exemple pas de registre spécifique pour la pile. Les processeurs séparent cependant les registres pour les valeurs flottantes des autres registres.
Limitation des accès mémoire
Les seules instructions ayant accès à la mémoire sont les instructions de chargement et de rangement. Toutes les autres instructions opèrent sur les registres. Il en résulte une utilisation intensive des registres.
Nombre réduit de modes d'adressage
Il n'y pas de mode d'adressage complexe. Les modes d'adressages possibles sont généralement immédiat, direct, indirect et relatifs. Un registre est souvent fixé à la valeur 0 afin d'obtenir certains modes d'adressages simples comme cas particulier d'autres modes d'adressage.
Nombre réduit de types de données
Les seuls types de données supportés sont les entiers de différentes tailles (8, 16, 32 et 64 bits) et des nombres flottants en simple et double précision. Certains processeurs CISC comportent des instructions pour le traitement des chaînes de caractères, des polynômes ou des complexes

La simplification du jeu d'instructions a reporté une partie du travail sur le compilateur. Ce dernier joue un rôle essentiel dans l'optimisation du code engendré. Il doit en particulier gérer les points suivants.

  • allocation optimale des registres,
  • élimination des redondances,
  • optimisation des boucles en ne conservant à l'intérieur que ce qui est modifié,
  • optimisation du pipeline,
  • optimisation du choix des instructions,
Annuler

- ANNONCES GOOGLE

Close