Les jeux d'instructions des processeurs

Ajouter à la bibliothèque

H1199 V1 Article de référence

Les jeux d'instructions des processeurs

Auteur(s) : Daniel ETIEMBLE

Date de publication : 10 février 2016 | Read in english

Ajouter à la bibliothèque Ajouter à la bibliothèque

Logo Techniques de l'Ingenieur Cet article est réservé aux abonnés
Pour explorer cet article plus en profondeur Consulter un extrait gratuit

Déjà abonné ?

Présentation

RÉSUMÉ

Les jeux d’instructions comprennent l’ensemble des instructions machine qui permettent à un processeur d’exécuter un programme. Ils constituent l’interface entre le matériel et le logiciel: ils définissent les opérations que doit effectuer le matériel et ils sont la cible d’un compilateur. Cet article présente les caractéristiques générales des jeux d’instructions, à travers l’examen des points essentiels: instructions de longueur fixe ou variable, format des données et des instructions, modes d’adressage, manière d’implémenter au niveau des instructions les constructions essentielles des langages de haut niveau.

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l'article

AUTEUR(S)

  • Daniel ETIEMBLE : Ingénieur INSA Lyon - Professeur émérite à l'université Paris Sud

 INTRODUCTION

Les jeux d'instructions des processeurs constituent un langage statique minimum à l'interface entre le matériel et le logiciel : les instructions machine définissent les opérations que doit effectuer le matériel et elles sont la cible d'un compilateur. Ces jeux constituent une architecture apparente se distinguant des architectures matérielles qui exécutent les instructions. En effet, un programme, sous forme de langage machine après compilation pour un certain jeu d'instructions, doit pouvoir être exécuté par une gamme de machines utilisant ce jeu d'instructions, mais qui diffèrent en termes de vitesse d'exécution, consommation énergétique, taille, coût, etc. Les gammes IBM 360 et 370 dans le passé, les processeurs exécutant le jeu d'instructions x86, IA-32 et Intel 64 actuellement, sont des exemples illustrant la différence entre jeu d'instructions et architectures matérielles l'utilisant. Cependant, un jeu d'instructions évolue dans le temps en fonction des besoins des applications et des possibilités offertes par le matériel : passage des jeux d'instructions de 8 à 16 bits, puis 32 bits, puis 64 bits, ajouts de nouvelles instructions. Le problème est que la compatibilité binaire ascendante doit être maintenue pour les processeurs d'usage général : un processeur exécutant une version plus récente du jeu d'instructions doit être capable d'exécuter sans recompilation un code binaire d'une version ancienne.

Cet article ne détaille pas un jeu d'instructions particulier ; il présente les caractéristiques essentielles communes à tous les jeux d'instructions : longueur des instructions, format des données et des instructions et toutes les techniques qui permettent d'implanter au niveau du jeu d'instructions les constructions essentielles des langages de haut niveau que sont les affectations, les ruptures de séquence, les conditionnelles, les boucles, les appels et retours de procédure, etc. Il détaille plus particulièrement les caractéristiques des jeux d'instructions appelés RISC (instructions de longueur fixe) et du jeu d'instructions CISC dominant x86, IA-32, Intel 64 (instructions de longueur variable).

Pour les deux types de jeu d'instructions, sont détaillés les accès aux données (registres, accès mémoire et modes d'adressage), les instructions arithmétiques et logiques, les instructions de rupture de séquence, les instructions d'appel et retour de procédure, les instructions flottantes et quelques instructions particulières. Un résumé des caractéristiques des jeux IA-32, Intel 64 d'une part, et MIPS32 et MIPS64 d'autre part est présenté. Une annexe donne des indications sur les problèmes de codage des instructions.

Cet article est réservé aux abonnés
Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés. Il vous reste 92 % à découvrir.

Cet article est réservé aux abonnés Consulter un extrait gratuit

Déjà abonné ?


MOTS-CLÉS

jeu d'instructions   |   interface matériel-logiciel   |   RISC   |   CISC   |   types d'instruction   |   format d'instruction

DOI (DIGITAL OBJECT IDENTIFIER)

https://doi.org/10.51257/a-v1-h1199

Lecture en cours
Les jeux d'instructions des processeurs

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

( 408 articles )

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Services

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir le détail de l'offre

Dans les ressources documentaires

Microprocesseurs - Approche générale

Les microprocesseurs sont au cœur des systèmes numériques. Ils permettent le développement de logiciels t...

Introduction à l'architecture des ordinateurs

L'article commence par une brève histoire des machines informatiques et introduit ensuite les principes d...

Processeurs : exécution pipeline des instructions

Cet article présente les caractéristiques essentielles de l'exécution pipeline des instructions dans les ...

Processeurs multithreads et multicœurs

Les processeurs multithreads et les processeurs multicœurs permettent l’utilisation des trois types de pa...

Tous les livres blancs
Toutes les actualités

Inscrivez-vous aux newsletters !

Contactez-nous