ScholarGate
Assistant

RISC et CISC

RISC et CISC désignent deux philosophies d'architecture de jeu d'instructions contrastées : les ordinateurs à jeu d'instructions réduit (RISC) privilégient de petits ensembles d'instructions simples, uniformes et de registre à registre, tandis que les ordinateurs à jeu d'instructions complexe (CISC) proposent de nombreuses instructions puissantes, de longueur variable, qui accomplissent davantage de travail par instruction.

Trouver un sujet avec PaperMindBientôtFind papers & topics
Tools & resources
Télécharger les diapositives
Learn & explore
VidéoBientôt

Definition

Le RISC (reduced instruction set computer) est une philosophie de conception qui met l'accent sur un petit ensemble d'instructions simples, de format fixe, exécutées selon un modèle de chargement-stockage (load-store) ; le CISC (complex instruction set computer) met l'accent sur un ensemble plus vaste d'instructions plus puissantes, souvent de longueur variable, incluant des opérations de mémoire à mémoire.

Scope

Ce sujet aborde les deux philosophies de conception et leurs compromis : la simplicité et la régularité des instructions par rapport à la richesse et la densité du code, la discipline de chargement-stockage (load-store) du RISC, les avantages du pipelining des instructions simples, et la manière dont les implémentations CISC modernes à haute performance traduisent les instructions complexes en micro-opérations de type RISC en interne. Il exclut les encodages au niveau du bit (formats et encodage des instructions) et les détails d'implémentation du pipeline (pipelining et aléas).

Core questions

  • Quels objectifs de conception motivent la réduction d'un jeu d'instructions à des opérations simples et uniformes ?
  • Comment la discipline de chargement-stockage (load-store) distingue-t-elle le RISC du CISC ?
  • Pourquoi les instructions simples et régulières se prêtent-elles plus facilement au pipelining ?
  • Comment les processeurs x86 modernes concilient-ils un jeu d'instructions CISC avec une exécution interne de type RISC ?

Key concepts

  • jeu d'instructions réduit
  • jeu d'instructions complexe
  • architecture de chargement-stockage (load-store)
  • instructions de longueur fixe vs variable
  • micro-opérations
  • co-conception compilateur-matériel
  • densité du code

Key theories

L'argument RISC
Patterson et Ditzel ont soutenu qu'un petit ensemble d'instructions simples, exécutées rapidement et efficacement en pipeline avec un bon support du compilateur, peut surpasser les jeux d'instructions complexes dont les instructions élaborées sont rarement utilisées et difficiles à implémenter rapidement.

Mechanisms

Les conceptions RISC maintiennent les instructions simples, de longueur fixe et de registre à registre, avec des instructions de chargement (load) et de stockage (store) séparées pour la mémoire ; cette régularité facilite le décodage et le pipelining. Les conceptions CISC fournissent des instructions complexes, de longueur variable, qui peuvent accéder directement à la mémoire et effectuer des opérations en plusieurs étapes. Les implémentations CISC modernes décodent les instructions complexes en séquences de micro-opérations internes plus simples qui sont ensuite exécutées par un cœur de type RISC.

Clinical relevance

La distinction RISC/CISC a façonné les plateformes informatiques dominantes : ARM et RISC-V incarnent les principes RISC et sont leaders sur les marchés du mobile, de l'embarqué, et de plus en plus des serveurs et ordinateurs portables, tandis que x86 (une ISA CISC avec des mécanismes internes de type RISC) a longtemps dominé les PC et les serveurs. Le débat éclaire les choix actuels concernant l'efficacité énergétique, la performance et les écosystèmes logiciels.

History

Le concept RISC est né des recherches de l'IBM 801 et des projets Berkeley RISC et Stanford MIPS du début des années 1980, articulé dans l'article de Patterson et Ditzel de 1980. Les idées RISC se sont répandues à travers des conceptions commerciales telles que SPARC, MIPS, PowerPC et ARM. Pendant ce temps, x86 a survécu en adoptant des micro-opérations internes de type RISC, et l'ISA ouverte RISC-V a relancé l'élan pour une conception RISC épurée.

Debates

La distinction RISC versus CISC est-elle toujours pertinente ?
Étant donné que les puces CISC modernes s'exécutent en interne comme des micro-opérations de type RISC et que les deux approches partagent le pipelining et la mise en cache, certains soutiennent que la distinction originale s'est estompée ; d'autres maintiennent que la régularité du jeu d'instructions affecte toujours l'efficacité du décodage, la consommation d'énergie et la vérification.

Key figures

  • David A. Patterson
  • David R. Ditzel
  • John L. Hennessy
  • John Cocke

Related topics

Seminal works

  • patterson1980risc
  • hennessy2019
  • patterson2020

Frequently asked questions

Le RISC est-il toujours plus rapide que le CISC ?
Non, pas intrinsèquement. La simplicité du RISC facilite le pipelining et les fréquences d'horloge élevées, mais une instruction CISC peut accomplir plus de travail par instruction. En pratique, les processeurs CISC à haute performance traduisent les instructions en opérations de type RISC, de sorte que la performance réelle dépend de l'ensemble de la microarchitecture, et non pas uniquement de l'étiquette ISA.
Pourquoi ARM et RISC-V sont-ils appelés architectures RISC ?
Les deux utilisent de petits ensembles d'instructions simples, principalement de longueur fixe, avec un modèle de mémoire de chargement-stockage (load-store) et peu de modes d'adressage — les caractéristiques définissant la philosophie RISC — ce qui les rend efficaces à implémenter et bien adaptés aux conceptions à contraintes énergétiques et à haut débit.

Methods for this concept

Related concepts