Page d'accueil encyclopedie-enligne.com en page d'accueil
Liste Articles: [0-A] [A-C] [C-F] [F-J] [J-M] [M-P] [P-S] [S-Z] | Liste Catégories | Une page au hasard | Pages liées

Reduced instruction set computer


Le microprocesseur à jeu d'instruction réduit ou reduced instruction-set computer en anglais est une architecture matérielle de microprocesseurs. On l'a opposé à la fin des années 1980 et au début des années 1990 à l'architecture CISC (complex instruction-set computer). La sortie d'architectures hybrides comme le Pentium (CISC émulé par du RISC) a mis fin par disparition de repères à cette guerre qui était devenue bien plus marketing que technique vers 1990, les techniques ayant évolué de part et d'autre et chacune comparant ses procédés à ceux de l'autre... six ans plus tôt.

Sommaire

Principe

L'idée d'origine était que la taille des instructions, et donc leur nombre, serait fixe. En exécutant en succession des instructions d'un jeu simple, effectuer toute opération désirée par un programmeur; cela occupe davantage de mémoire, mais simplifie le microprocesseur privilégiant ainsi une plus grande vitesse d'exécution : on gagne ainsi d'un côté, et souvent au-delà, ce qu'on perd de l'autre. Les instructions étant plus simples, la gestion de simultanéités s'en trouve grandement simplifiée (comme en microprogrammation), ainsi que la création de « pipe-lines » simples.

Pénalité

Cela se paye au prix d'une certaine diminution de lisibilité du code - surtout si on l'optimise - gênante si l'on programme en assembleur : l'instruction monstrueuse (en taille comme en temps d'exécution) MVC du Système 360 restait tout de même plus lisible que la séquence d'instructions faisant la même chose dans une machine RISC. Mais pour qui la codait strncpy() en langage C, il n'y avait plus aucune différence. Et en temps d'exécution, le code C en optimisation de niveau 3 se montrait en général plus performant en vitesse pure grâce à des astuces d'usage de l'effet pipeline par le compilateur.

Avantages

Du fait que chaque instruction était simple, décodage et exécution par le processeur devaient être très rapides, idéalement en un seul cycle, ce qui était précisément le cas du Motorola 6800. Le succès de l'architecture RISC a tenu à deux facteurs :

C'est aujourd'hui (2004) l'inverse, raison pour laquelle on place des antémémoires (caches) un peu partout, y compris dans les machines RISC qui en ont plus souvent deux (données, instructions) qu'une seule.

Historique

Un processeur tel que le Transputer d'INMOS (plus tard SGS Thomson) adopta la solution de remplacer les registres (dont la désignation consomme des bits dans les instruction) par une pile. D'autres machines RISC, au contraire, comme le RS/6000 d'IBM, multiplièrent les registres à un degré tel qu'on ne pouvait plus les programmer efficacement en assembleur, la mémoire du programmeur faisant toujours moins bien que les algorithmes d'optimisation des compilateurs de langage C.

Les processeurs de la famille PowerPC, dérivés du RS/6000 et utilisés entre autres sur les Macintosh sont à architecture RISC, de même que les processeurs SPARC utilisés entre autres par Sun Microsystems pour leurs serveurs et stations de travail.

Les micro-ordinateurs de type compatible PC étaient animés jusqu'à la génération 486 par des microprocesseurs de type CISC (NEC, Thomson, AMD, Intel...). Depuis la génération 586, l'architecture CISC est émulée dans les puces d'architecture IA-32 par la microprogrammation d'un processeur RISC sous-jacent.

Performances comparées CISC/RISC

On connaît un cas du même logiciel tournant à la fois sur une machine RISC microprogrammée émulant un CISC et en natif : il s'agit d'AIX tournant sur un IBM 9370 (puce IBM 860 microprogrammant une architecture 370) et, à la même époque, sur le PC/RT (6150) qui utilisait cette même puce 860 en natif) : l'écart de performances en calcul brut était alors d'un facteur 2 en faveur du PC/RT.




This site support the Wikimedia Foundation. This Article originally from Wikipedia. All text is available under the terms of the GNU Free Documentation License Page HistoryOriginal ArticleWikipedia