Plan du cours
1Histoire de l’ordinateur
2Pr´esentation g´en´erale
3Repr´esentation interne des informations
4Circuits logiques
5M´emoires
6Unit´e centrale de traitement
7Assembleur
8Introduction au langage MIPS
9Entr´ees / sorties
Clement Jonquet (Polytech’ Montpellier) Architecture des ordinateurs IG3 2010-2011 181 / 238
Niveaux de programmation
Langage machine
Le programmeur a le choix entre
diff´erents langages (assembleur, Ada,
Java, C, etc.). La machine ne
comprends que le langage machine
(i.e., instructions binaires) !
L’assembleur (i.e., langage d’assemblage) est le premier langage
non binaire accessible au programmeur ;
Code mn´emoniques et symboles ;
L’assembleur (i.e., programme traducteur) converti le langage
d’assemblage en langage machine ;
Permet d’exploiter au maximum les ressources de la machine ;
D´epend de la machine.
Clement Jonquet (Polytech’ Montpellier) Architecture des ordinateurs IG3 2010-2011 182 / 238
Traduction et interpr´etation
Interpr´etation
Conversion et ex´ecution d’un programme en une seule ´etape : les
instructions sont lues les unes apr`es les autres et sont converties
imm´ediatement en langage machine.
Pas de programme objet interm´ediaire ;
R´ep´etition du travail de traduction `a chaque ex´ecution (phase de
d´eveloppement).
Traduction
G´en´eration d’un programme ´equivalent au programme source mais cod´e
dans la langage binaire de l’ordinateur. Le programme obtenu en langage
machine doit ˆetre ensuite charg´e pour pouvoir ˆetre ex´ecut´e.
Traduction r´ealis´ee une seule fois ;
Ex´ecution rapide et efficace (phase d’exploitation) ;
2 types : les assembleurs et les compilateurs.
Clement Jonquet (Polytech’ Montpellier) Architecture des ordinateurs IG3 2010-2011 183 / 238
Traduction de langage ´evolu´e
30 Représentation de l’information : les instructions
Programme C
Compilateur
prog. en langage
machine Assembleur
prog. en langage
d’assemblage
chargeur Mémoire
Fig. 5.1 – Du langage C au code en mémoire
Code ass. MIPS
Compilateur
prog. en langage
machine MIPS
Interpreteur
code machine local
+ exécution
Fig. 5.2 – Machine Virtuelle
En TP on utilisera un programme qui transforme le code source en langage
d’assemblage en langage machine : un assembleur. On remarquera au passage
qu’un assembleur est une sorte de compilateur. Lorsqu’on utilise un langage de «
haut niveau » comme le C ou Ada, on utilise sans le savoir deux compilateurs,
un transformant le langage de « haut niveau » en langage d’assemblage et un
assembleur transformant ce dernier en langage machine (voir Figure 5.1).
Remarque : A-t-on des machines MIPS à l’ISIM ?
Non : utilisation d’une machine virtuelle : un programme qui simule de manière
logiciel le fonctionne d’une machine réelle, d’une unité centrale de traitement (voir
Figure 5.2).
Clement Jonquet (Polytech’ Montpellier) Architecture des ordinateurs IG3 2010-2011 184 / 238
Langage d’assemblage
Utilis´es par les sp´ecialistes optimisation ;
Pour valoriser l’architecture sp´ecifique de la machine ;
Diagnostic d’erreurs (i.e., examen du contenu de la m´emoire) ;
L’assembleur est une variante symbolique du langage machine
mˆeme jeu d’instructions ;
Propre `a chaque type de machine ;
Permet d’acc´eder aux ressources de la machine (i.e., registres) ;
Permet d’acc´eder aux facilit´es de traitement (e.g., d´ecalage) ;
Le programmeur peut utiliser :
Codes mn´emoniques (jeu d’instruction) ;
´
Etiquettes (adresse symboliques) ;
Litt´eraux (constante num´eriques) ;
Directives (pseudo instruction).
Clement Jonquet (Polytech’ Montpellier) Architecture des ordinateurs IG3 2010-2011 185 / 238
1 / 20 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !