CISC vs RISC

J’ai déjà abordé le sujet. Et je me suis trompé. Les Motorola 68000 sont des processeurs CISC et non des RISC comme je l’écris dans l’article “La ligue majeure”. C’est rétabli. Alors quelle différence entre les 2 types d’architectures de processeurs ? Et pourquoi ces 2 logiques ont autant d’importance dans l’informatique actuelle ?

Pour faire simple, un microprocesseur (µp) exécute les instructions d’un programme. Il existe 2 stratégies pour cela. Choix n°1, des instructions complexes proches de la logique des problèmes informatiques, stratégie CISC. Choix n°2, des instructions simples à multiplier en cas de problème complexe, stratégie RISC

Avant d’expliquer les deux stratégies, il me faut expliquer ce qu’on entend par instruction. Il s’agit d’une commande appliquée à un ou plusieurs registres du processeur. Par exemple ‘C = A + B’. L’instruction est l’addition ‘+’, les registres sont A, B et C. Le processeur va additionner A et B avant de les stocker dans C.

À chaque top de l’horloge, le processeur effectue l’une de ces étapes dans l’ordre défini par l’instruction addition. L’horloge ? Il s’agit d’un quartz qui vibre et dont chaque impulsion rythme les actions du µp. Plus il vibre vite et plus le µp peut traiter d’étapes chaque seconde. Sa vitesse est exprimée en Hertz (événement par seconde). 

De nos jours, on parle plutôt en Ghz. Concrètement, à 1 Ghz, chaque seconde, le processeur effectue 1 milliard d’opérations. Chaque instruction nécessite une ou plusieurs opérations du µp. ((Pour les spécialistes, je simplifie. Je sais qu’il y a des traitements en amont/aval et de la parallélisation, mais c’est un article de vulgarisation))

Le CISC ou Complex Instruction Set Computer (Processeur à jeu d’instruction complexe) remonte à l’origine des µps. Les ingénieurs ont multiplié les instructions dans les µps pour leur permettre de répondre à des problèmes de logique de plus en plus complexes. 

Une addition, c’est simple, une multiplication moins. Et cela demande plusieurs opérations au processeur CISC. Et ce n’est qu’une instruction parmi tant d’autres ajoutées par les logiciens et autres ingénieurs. Un empilement de transistors dans quelques cm2 pour chaque nouvelle instruction. 

Le RISC ou Reduced Instruction Set Computer (Processeur à jeu d’instruction réduit) est une stratégie mise en place en réponse à un constat des processeurs CISC : 80 % des programmes n’utilisent que 20 % des instructions des processeurs CISC. Alors autant limiter le nombre d’instructions. 

Les processeurs RISC se concentrent donc sur les instructions les plus utilisées. Et quitte à améliorer le traitement, le processeur RISC doit réaliser une instruction à chaque cycle d’horloge. Pour un même traitement, une instruction CISC peut demander plusieurs instructions RISC.

Et comme c’est le compilateur qui se charge de transformer votre programme en langage machine, vous n’avez rien à faire. De toute façon, même avec les processeurs CISC, les développeurs passent par un compilateur. Plus personne ne parle en direct avec les microprocesseurs … ou presque. 

Avec le temps, les µps RISC ont surtout gardé la logique qu’une instruction doit être traitée à chaque cycle d’horloge. Et comme avec les CISC, le nombre d’instructions possible est reparti vers le haut. Un programme compilé en RISC prend plus de place puisqu’il comporte plus d’instructions. Mais comme l’espace mémoire n’est plus un problème … 

Le RISC est revenu dans la course. Il a trouvé sa place dans l’informatique nomade. Son architecture simplifiée limite les pertes d’énergies liées à des activités annexes au traitement. Le µp RISC est donc moins consommateur d’énergie. Et nos téléphones intelligents l’en remercient. 

Depuis peu, il fait aussi son entrée dans les ordinateurs portables potables. Apple l’a adopté dans ses MacBook et ses iMac avec un succès non négligeable. Les autres constructeurs s’y intéressent. Le µpSnapdragon Elite X” s’invite sur les machines qui utilisent Windows et concurrence les processeurs d’Intel et d’AMD. 

Les processeurs CISC ne sont pas menacés pour autant. Ils restent plébiscités pour leurs performances, leurs efficacités dans les problématiques complexes (scientifiques) … et leurs capacités à exécuter les programmes existants, même écrits il y a de cela des décennies.

À chaque problème sa solution … et son processeur. 

Voici quelques articles si vous voulez approfondir le sujet :  

  • niveau de compréhension facile (mais moins que mon article et moins complet)
  • niveau moyen, et basé sur la comparaison
  • niveau avancé et très bien écrit
  • niveau anglais exigé et un peu daté mais très efficace
Partager l'article !!

J’ai de la chance !!!