RISC vs CISC : différences et exemples

RISC (reduced instruction set computer) et CISC (complex instruction set computer) sont deux philosophies de conception d'un jeu d'instructions. Le RISC utilise un petit ensemble d'instructions simples, de longueur fixe et faciles à pipeliner. Le CISC utilise un ensemble plus large d'instructions complexes, de longueur variable, capables d'effectuer davantage de travail par instruction. Aujourd'hui, la frontière est floue : les processeurs x86 modernes traduisent les instructions CISC en opérations internes plus simples, si bien que la différence compte désormais surtout au niveau du jeu d'instructions et de l'écosystème logiciel.

CritèreRISCCISC
PrincipeUn petit ensemble d'instructions simples, chacune faisant peu de choses et conçue pour s'exécuter rapidementUn grand ensemble d'instructions puissantes, certaines effectuant plusieurs étapes à la fois
Longueur des instructionsFixe (par exemple 32 bits dans les jeux d'instructions de base RISC-V et AArch64)Variable (les instructions x86 font de 1 à 15 octets)
Accès mémoireArchitecture load/store : seules les instructions de chargement et de rangement accèdent à la mémoire ; les opérations arithmétiques portent sur les registresDe nombreuses instructions peuvent utiliser directement des opérandes en mémoire
RegistresDe nombreux registres généraux (32 en RISC-V et AArch64)Moins nombreux (x86-64 possède 16 registres généraux)
DécodageSimple, ce qui facilite le pipelining et limite la taille du matérielComplexe ; les cœurs x86 modernes traduisent les instructions en micro-opérations internes
Taille du codePlus grande, bien que les extensions d'instructions compressées (comme Thumb ou RISC-V C) la réduisentSouvent plus dense, car une instruction en fait davantage
ExemplesARM, RISC-V, MIPS, PowerPCx86 et x86-64 (Intel, AMD), IBM z/Architecture
Usages typiquesSmartphones, systèmes embarqués, et de plus en plus ordinateurs portables et serveursPC et serveurs, où la compatibilité logicielle est essentielle

Les valeurs indiquées sont des ordres de grandeur typiques et varient selon la génération de procédé et le produit.

Quand choisir l'un ou l'autre ?

RISC
Bien adapté lorsque l'efficacité énergétique et une conception simple et évolutive comptent : téléphones, systèmes embarqués, processeurs sur mesure. RISC-V est un standard ouvert : chacun peut concevoir un cœur sans payer de licence.
CISC
Sa raison d'être aujourd'hui est la compatibilité logicielle : l'immense base logicielle x86 existante le maintient en position dominante dans les PC et les serveurs.
En pratique
Les performances dépendent davantage de la microarchitecture, des caches et du procédé de fabrication que de l'étiquette RISC ou CISC du jeu d'instructions.

Questions fréquentes

ARM est-il RISC ou CISC ?

ARM est une architecture RISC. RISC-V est également RISC, tandis que x86 est CISC.

Le RISC est-il plus rapide que le CISC ?

Pas en soi. Les processeurs x86 modernes traduisent les instructions CISC en opérations internes plus simples, si bien que les performances dépendent davantage de la microarchitecture, des caches et du procédé de fabrication que de l'étiquette.

Pourquoi le x86 domine-t-il toujours les PC ?

Pour la compatibilité. L'énorme quantité de logiciels Windows et de bureau existants est conçue pour x86, ce qui le maintient en position dominante dans les PC et les serveurs.

Qu'est-ce qu'une architecture load/store ?

Dans une architecture load/store, seules les instructions de chargement et de rangement accèdent à la mémoire, et les opérations arithmétiques portent sur les registres. Les architectures RISC comme ARM et RISC-V fonctionnent ainsi.

Vérifier vos connaissances

Quelle caractéristique du RISC (ordinateur à jeu d'instructions réduit) est correcte ?

  1. AIl dispose de nombreuses instructions complexes de longueurs variables
  2. BIl se limite à des instructions simples et peu nombreuses, ce qui facilite le pipeline
  3. CIl ne possède aucune instruction
Afficher la réponse et l'explication

Réponse : B. Il se limite à des instructions simples et peu nombreuses, ce qui facilite le pipeline

Le RISC est une philosophie de conception qui se limite à des instructions simples de longueur uniforme, effectue les calculs entre registres et réserve les échanges avec la mémoire aux instructions de chargement et de rangement (load/store). Le temps de traitement uniforme des instructions convient au pipeline ; ARM et RISC-V en sont des exemples typiques. Les CISC à instructions complexes (x86, etc.) décomposent aujourd'hui aussi en interne les instructions en µOP simples, et l'écart entre les deux s'est réduit.

Que désignent principalement les noms ARM, x86 et RISC-V ?

  1. ADes générations de procédés de fabrication
  2. BDes architectures de jeu d'instructions (ISA)
  3. CDes types de boîtiers
Afficher la réponse et l'explication

Réponse : B. Des architectures de jeu d'instructions (ISA)

ARM, x86 et RISC-V sont des noms d'architectures de jeu d'instructions (ISA), qui définissent le contrat entre logiciel et matériel : types d'instructions compris par le processeur, registres, gestion de la mémoire, etc. Pour une même ISA, un même programme s'exécute quelle que soit l'entreprise qui a conçu le processeur. x86 est utilisé par Intel et AMD dans les PC et serveurs, ARM dans les smartphones et les Mac d'Apple, et RISC-V se répand principalement dans l'embarqué.

Quelle caractéristique de RISC-V est correcte ?

  1. AC'est un jeu d'instructions propriétaire réservé à une seule entreprise
  2. BC'est un jeu d'instructions dédié aux GPU
  3. CC'est une architecture de jeu d'instructions dont la spécification est publique et utilisable sans redevance
Afficher la réponse et l'explication

Réponse : C. C'est une architecture de jeu d'instructions dont la spécification est publique et utilisable sans redevance

RISC-V est une ISA ouverte dont le développement a commencé en 2010 à l'Université de Californie à Berkeley ; sa spécification est publique et chacun peut l'implémenter sans redevance. Le jeu d'instructions entières de base est réduit, environ 40 instructions, et des extensions comme la virgule flottante ou le calcul vectoriel peuvent être choisies et combinées selon l'usage. L'ajout d'instructions propres étant possible, son adoption s'étend aux microcontrôleurs embarqués, aux contrôleurs de stockage et aux accélérateurs d'IA.

  1. Quelle caractéristique d'une architecture load-store comme RISC-V est correcte ?
  2. Quel est l'ordre correct du déroulement de base du traitement d'une instruction par le processeur ?

Questions d'entraînement sur CPU et architecture

Termes clés expliqués

Architecture du jeu d'instructions (ISA)
Spécification du processeur vue par le logiciel : instructions exécutables, registres, etc. Exemples : x86, Arm, RISC-V.

Comparatifs associés