Information Technology Reference
In-Depth Information
Nous voyons qu'une des étapes consiste à exprimer l'algorithme avec un langage
de haut niveau. En fait il existe plusieurs niveaux de langage de programmation :
-les langages de haut niveau (C, C
, ADA, JAVA, COBOL, PASCAL, PYTHON…)
ne sont pas directement exécutables par le processeur cible que nous utilisons :
l'ordinateur. Il faut donc « traduire » les programmes exprimés dans ces langages
afin d'obtenir le programme machine exécutable par le processeur cible. C'est
l'objet de la compilation et/ou de l 'interprétation . Les compilateurs (interpré-
teurs) sont des programmes (du Système d'Exploitation : SE) qui ont la connais-
sance de la syntaxe des langages de haut niveau et qui connaissent le langage
machine de la machine cible. Ces langages sont nécessaires car on ne sait pas
traduire directement le langage naturel en langage machine alors que l'on sait
construire des traducteurs pour ces langages de haut niveau ;
-les langages de bas niveaux sont des langages directement exécutables par un
microprocesseur. Ce sont les langages machines. Ils se présentent sous deux formes :
- les langages machine codés binaires. Ce sont les seuls réellement exécutables
par le processeur. Codés sous forme binaire ils sont difficiles à manipuler;
- les langages d'assemblage. Ce sont des langages machines symboliques au sens
où les codes opération et les champs opérande d'une instruction sont exprimés
à l'aide de symboles.
Par exemple dans la petite machine qui nous a servis d'exemple, 00010010 est une
instruction machine demandant de charger le contenu de l'adresse mémoire 0010 dans
le registre accumulateur A du microprocesseur. Il existe dans le langage d'assem-
blage de cette machine une instruction qui a la forme « Load X » où Load exprime à
l'aide de symboles alphanumériques le code opération codé binaire 0001 et X exprime
symboliquement l'adresse mémoire de la donnée X. Ce type de langage est beau-
coup plus simple à utiliser que le langage machine codé binaire. Bien sûr un programme
écrit en langage d'assemblage n'est pas directement exécutable par le microproces-
seur. Cependant la traduction, langage d'assemblage, langage machine pur, est simple
car à chaque instruction du langage machine correspond une instruction du langage
d'assemblage. Le traducteur de tels langages s'appelle l'assembleur. Une program-
mation dans ce type de langage est possible mais de moins en moins fréquente. Elle se
justifie encore lorsque l'on recherche une grande efficacité, par exemple, dans la
programmation des jeux vidéos ou des interfaces graphiques.
Le traducteur (compilateur/interpréteur) place le résultat de sa traduction (programme
machine) sur le disque magnétique. Le programme machine doit être chargé en
mémoire centrale pour être exécuté par le microprocesseur. C'est un programme du
système d'exploitation, le chargeur , qui réalise ce chargement en mémoire. Le char-
geur connaît l'adresse de la première instruction du programme machine, il peut
ainsi initialiser le compteur ordinal pour lancer l'exécution. À partir de ce moment les
instructions, une à une, sont prises en charge par le microprocesseur qui les exécute.
La première partie de cet ouvrage est consacrée au passage du problème au
programme machine; elle présente en détail le fonctionnement du compilateur et des
autres outils permettant de construire un programme machine. Elle approfondit
++
 
Search WWH ::




Custom Search