Loading AI tools
De Wikipédia, l'encyclopédie libre
Un microprocesseur à jeu d'instructions é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 qui au contraire, limite ses instructions à l'essentiel afin de réduire la quantité de transistors.
Le premier microprocesseur est l'Intel 4004, d'architecture 4 bits, sorti en 1971, suivi de 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 incluse dans le microprocesseur dans ces séries. C'est un circuit intégré séparé et optionnel. Le 8087 est le premier coprocesseur arithmétique des processeurs 16 bits d'Intel. Les coprocesseurs 16/32 bits (adressage 16 bits, registres 32 bits) des Motorola 68000, sortis 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 compatibles, é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 lignes de code et des compilateurs complexes, avec des ordinateurs avec très peu de mémoire vive, des périphériques assez lents (ruban perforé, carte perforée, bande magnétique, etc.) et/ou de capacité limitée (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 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ées 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 1990, les processeurs grand public tels que les CISC d'Intel (MMX, puis SSE) ou les RISC de PowerPC (AltiVec) ont intégré des SIMD plus limités que les processeurs vectoriels. Ils permettent des traitements sur des vecteurs chargés dans les registres des processeurs. Tandis que dans le cas des processeurs 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 vecteurs, ainsi que sa taille, puis on exécute une instruction vectorielle qui va parcourir toute la table.
Cette famille regroupe différents types de processeurs[1], des architectures datant principalement des années 1970 à 1990 :
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.