Vous êtes sur la page 1sur 4

Microprocesseur à jeu d'instruction

étendu
Un microprocesseur à jeu d'instruction étendu (en anglais complex instruction set
computer (CISC) ), désigne un microprocesseur possédant un jeu d'instructions comprenant de
très nombreuses instructions mixées à des modes d'adressages complexes [réf. nécessaire].

L'architecture CISC est opposée à l'architecture RISC (Reduced Instruction-Set Computer) qui au
contraire, limite ses instructions à l'essentiel afin de réduire la quantité de transistors.

Sommaire
Histoire
Avantages
Défauts
Processeur de cette famille
Notes et références
Notes
Références
Annexes
Articles connexes

Histoire
Le premier microprocesseur est l'Intel 8008, d'architecture 8 bits, sorti en 1972. Intel sort ensuite
en 1974, le 8080, toujours 8 bits, dont le langage assembleur est différent de celui du 8008, mais
pose les bases de l'assembleur x86. Différents processeurs concurrents, également d'architecture
CISC apparaissent alors, tels que le MOS Technology 6502 (1975) ou le Zilog Z80 (1976), qui
équipent la majorité des micro-ordinateurs du début des années 1980.

L'Intel 8086, sorti en 1978 est le premier processeur x86, d'architecture 16 bits. L'unité de calcul
en virgule flottante (FPU) n'est alors pas inclus dans le microprocesseur dans ces séries. c'est un
circuit intégré séparé et optionnel. Le 8087 est le premier processeur arithmétiques des
processeurs 16 bits d'Intel. Les processeurs 16⁄32 bits (adressage 16 bits, registres 32 bits) des
Motorola 68000, sorti en 1979, sont le 68881 et ses successeurs.

Sur tout matériel informatique, le système de démarrage des composants est contenu dans une
EEPROM (appelé BIOS sur les IBM/PC et compatible, équipés de processeurs x86 16 bits et
supérieurs). Le compilateur étant responsable de convertir toutes les instructions écrites en
langages source (Fortran, Cobol, etc.) en langage machine, ce qui pouvait nécessiter des milliers de
ligne de code et des compilateurs complexes, avec des ordinateurs avec très peu de mémoire vive,
des périphériques assez lent (ruban perforé, carte perforée, bande magnétique, etc.) et/ou de
capacité limité (tambour magnétique, disque dur, etc.) .

Avec le développement des capacités de gravure des microprocesseurs, ceux-ci se sont développés
pour couvrir de plus en plus d'instructions utilisées dans les langages de programmation. Cela
pouvait souvent comprendre :

Les accès aux périphériques (chargement du système en mémoire vive + lecture/écriture des
données) ;
L'interface homme machine (clavier, écran, bande magnétique, etc.);
Tous les calculs de base mais aussi :
les nombres à virgule flottante utilisés, dans les calculs scientifiques (à diverses
finalités, mathématiques, physique, statistiques, finance, etc.) ;
Le calcul des fonctions trigonométriques utilisées, entre autres, en mathématiques ;
Le calcul de fonctions financières utilisées, entre autres, pour les statistiques
(moyenne, écart type, etc.).
etc.

Avantages
L'empreinte mémoire du code est beaucoup plus dense (facteur deux entre de l'ARM thumb
et le x86), ce qui est intéressant pour minimiser la taille du cache instruction.
Possibilité de microprogrammation, donc de corriger le jeu d'instructions (cela peut être utile
pour corriger des bugs).
Permet d'utiliser des instructions très complexes, rendant la tâche des compilateurs plus
complexes. En outre, ces instructions prennent du fait de leur microcode plusieurs cycles
d'horloge, et sont donc plus lentes que des instructions câblées. Lors de la programmation
en assembleur, il est important de connaître le temps pris par chaque instruction pour
l'optimisation.

Les instructions de types SIMD (instruction unique, multiples données) ne sont pas spécifiques au
CISC, ces instructions sont d'ailleurs d'abord apparues sur des architectures RISC dédiés au calcul,
dans ce que l'on appelle un processeur vectoriel, notamment utilisé sur le supercalculateur Cray-1
en 1976. Ce sont des instructions simples (addition, soustraction, multiplications), gérées en
parallèle sur plusieurs données, afin d'accélérer les calculs d'algèbre linéaire, fondamentaux en
analyse numérique. Elles sont très parallélisables et ne prennent généralement qu'un cycle
d'horloge. Dans les années 90, les processeurs grand publique tels que les CISC d'Intel (MMX, puis
SSE) ou les RISC de PowerPC (AltiVec) ont intégrés des SIMD plus limités que les processeurs
vectoriels. Permettant des traitements sur des vecteurs chargés dans les registres des processeurs.
Tandis-que dans le cas des processeur vectoriels, tels qu'ils sont présents sur les processeurs RISC,
comme Cell, dérivé de l'architecture IBM POWER, ou l'extension V de RISC-V, le principe de Cray,
plus simple mais plus efficace est repris, on charge dans les registres l'adresse d'une table de
vecteur, ainsi que ça taille, puis exécute une instruction vectorielle qui va parcourir toute la table.

Défauts
Le microprocesseur est plus compliqué à accélérer (problème pour pipeliner le moteur
d'exécution).
Le processeur est globalement plus complexe qu'un processeur RISC.
Les compilateurs ont des difficultés à générer des instructions complexes.
Certaines instructions complexes sont exécutées sur plusieurs cycles d'horloge, dont le
nombre peut dépendre des arguments. Il est difficile de prévoir la durée de certains calculs,
ce qui peut mener à des problèmes de synchronisation.
Ces éléments, obligent à multiplier le nombre de transistors au sein de la puce, la rendant
plus coûteuse et lui conférant une moins bonne efficacité énergétique.

Processeur de cette famille


1
Cette famille regroupe différents types de processeurs , des architectures datant principalement
des années 1970 à 1990 :

Les processeurs 8 bits sortis à la fin des années 1970 MOS Technology 6502, Zilog Z80,
Intel 8080 ou Motorola 6800 ;
Les processeur 16/32 puis 32 bits 680x0, qui passe ensuite à l'architecture RISC 32 bits
PowerPC ;
Les processeurs 16 puis 32 bits x86, qui passent ensuite à l'architecture compatible et
toujours CISC, mais en 64 bits, AMD64 et Intel 64, (ce dernier n'ayant pas eu de succès,
tous comme les processeurs RISC 32 bits d'intel i860 et i960, car incompatibles avec
l'architecture CISC) ;
Le S390 et S390x (pour les mainframes d'IBM), qui développe ensuite l'architecture RISC
64 bits POWER ;
Le VAX de DEC, qui passe en suite à l'architecture RISC 64 bits DEC Alpha

Notes et références

Notes

Références
1. voir : Comparaison CISC/RISC (https://www.irif.fr/~carton/Enseignement/Architecture/Cours/Arc
hitectures/risc.html), irif.fr, consulté le 20 septembre 2020

Annexes

Articles connexes
Microprocesseur
Jeu d'instructions

Ce document provient de « https://fr.wikipedia.org/w/index.php?


title=Microprocesseur_à_jeu_d%27instruction_étendu&oldid=182190634 ».
La dernière modification de cette page a été faite le 23 avril 2021 à 00:20.

Droit d'auteur : les textes sont disponibles sous licence Creative Commons attribution, partage dans les mêmes
conditions ; d’autres conditions peuvent s’appliquer. Voyez les conditions d’utilisation pour plus de détails, ainsi que les
crédits graphiques. En cas de réutilisation des textes de cette page, voyez comment citer les auteurs et mentionner la
licence.
Wikipedia® est une marque déposée de la Wikimedia Foundation, Inc., organisation de bienfaisance régie par le
paragraphe 501(c)(3) du code fiscal des États-Unis.

Vous aimerez peut-être aussi