« Fonctionnement d'un ordinateur/Les jeux d'instructions » : différence entre les versions
Contenu supprimé Contenu ajouté
Aucun résumé des modifications |
|||
Ligne 152 :
===Les processeurs CISC===
Les jeux d'instructions CISC sont les plus anciens et étaient à la mode jusqu'à la fin des années 1980.
Cette complexité des jeux d'instructions n'a pas que des avantages "humains", mais a aussi quelques avantages techniques. Le premier est une meilleure densité de code : un programme codé sur CISC utilise moins d'instructions et prend moins de mémoire.
===Les processeurs RISC===
Ligne 196 :
Certains processeurs sont carrément conçus pour un langage de programmation en particulier. On appelle ces processeurs, conçus pour des besoins particuliers, des '''processeurs dédiés'''. Par exemple, l'ALGOL-60, le COBOL et le FORTRAN ont eu leurs architectures dédiées. Les fameux ''Burrough E-mode'' B5000/B6000/B7000 étaient spécialement conçus pour exécuter de l'ALGOL-60. Leurs cousins B2000/B3000/B4000 étaient eux conçus pour le COBOL. Le FORTH, un des premiers langages à pile de haut niveau, possède de nombreuses implémentations hardware et est un des rares langages de haut niveau à avoir été directement câblé en assembleur sur certains processeurs. Par exemple, on peut citer le processeur FC16, capable d’exécuter nativement du FORTH. Des langages fonctionnels ont aussi eu droit à leurs processeurs dédiés. Le prolog en est un bel exemple, avec les superordinateurs de 5ème génération qui lui étaient dédié. On peut aussi citer les machines LISP, dédiés au langage LISP, qui datent des années 1970. Elles étaient capables d’exécuter certaines fonctions de base du langage directement dans leur circuits : elles possédaient notamment un ''garbage collector'' câblé dans ses circuits ainsi que des instructions machines supportant un typage déterminé à l’exécution.
Les processeurs dédiés ont eu leur heure de gloire au début de l'informatique, à une époque où les langages de haut niveau venaient d'être inventés.
En regardant dans les langages de programmation un peu plus connus, on peut aussi citer des processeurs spécialisés pour Java. Certains processeurs ARM, qu'on trouve dans des système embarqués, sont de ce type. Mais ceux-ci sont un petit peu à part et ne sont pas vraiment des architectures dédiées. En réalité, ces processeurs sont une implémentation matérielle de la machine virtuelle Java. Rappelons que la machine virtuelle JAVA est un design de processeur comme un autre, avec un jeu d'instruction simple, une architecture à pile, etc. Le code machine associé à cette architecture est appelé le ''bytecode'' Java. En temps normal, le ''bytecode'' Java n'est pas exécuté directement par le processeur, qui utilise un langage machine différent.
===Les architectures à capacités===
|