Le Risc, chevalier blanc de l’optimisation

Mobilité

L’invention du terme Risc (Reduced Instruction Set Computer) a fait émerger son frère ennemi, le Cisc (Complex Intruction Set Computer). Idéologiquement, on s’aperçoit déjà de la lutte engagée : le premier se charge de réduire la complexité, quand le second la favorise ! Les aficionados du Mac vont profiter de l’aubaine pour diaboliser le couple Wintel : à processeur complexe, système complexe, ordinateur complexe… complexe des utilisateurs de PC.

C’est le travail de trois ingénieurs et chercheurs qui met le feu aux poudres en 1980 : David Ditzel, Carlo Séquin et David Patterson parlent des architectures de langages de haut niveau et de la nécessité d’un jeu d’instructions réduit sur les puces VLSI (Very Large Scale Integration). La philosophie développée, qui sous-tend l’architecture Risc, est simple : réduire le nombre d’instructions que le processeur traite, réduire chaque instruction à sa plus simple expression pour que chacune soit réalisée en un seul cycle d’horloge. En s’attaquant à la réduction du nombre de cycles pour traiter les instructions, on augmente théoriquement les performances du processeur. Pour ce faire, les processeurs Risc ne travaillent pas autant en mémoire que les processeurs Cisc : ils disposent de plus de stockage (de registres) pour engranger les résultats de leurs calculs et pour les réutiliser le plus souvent possible. On est ici en plein dans la logique du traitement des données par le processeur. Les processeurs Risc font ainsi moins d’accès en mémoire que les processeurs Cisc et « gâchent » moins de cycles.

A la recherche du cycle perdu

Pour les opérations complexes, le processeur Risc s’appuie sur le programme de compilation qui joue un rôle déterminant, car il optimise la charge de travail du processeur. Normalement, le processeur n’est jamais en train d’attendre de données à traiter, car chaque cycle est utilisé, tandis que sur un processeur Cisc, de nombreux cycles servent de temps d’attente de données (pour des accès en mémoire par exemple).

Le fonctionnement des processeurs Risc repose donc avant tout sur l’économie : économie de transistors, économie d’instructions, économie de cycles, économie de temps. Les conséquences directes ne sont pas négligeables : pour une fréquence similaire, un processeur Risc traite un programme plus rapidement qu’un processeur Cisc. Il est plus petit également, car il compte moins de transistors (puisqu’il dispose de moins d’instructions) et consomme par conséquent moins d’électricité. Consommant moins d’électricité, il dégage moins de chaleur et ne nécessite pas de système de refroidissement important.

Une bien lente adoption du Risc

Le transfert de la complexité vers le processeur n’est plus une fin en soi dès 1981, alors même que sort le premier PC, qui utilise le prédécesseur du 8086, le 8088 ! Toutefois, il faut attendre 1990 pour qu’Apple se lance dans l’aventure Risc.

Qu’en est-il aujourd’hui ? Où en est l’affrontement Cisc/Risc qui a valu aux processeurs Cisc d’être déconsidérés par le clan Apple, au fur et à mesure qu’ils emportaient des parts de marché ? Demain, nous verrons que le fossé philosophique qui séparait les deux architectures s’est comblé, même si les caractéristiques fondamentales des deux types de processeurs demeurent.

Pour en savoir plus :

Un cours sur le modèle Risc (en anglais)