Introduction aux systèmes Informatiques:
L’interface Matériel Logiciel
A3- 2016/2017
Léon Mugwaneza
Polytech’ Marseille / Dépt. Informatique
(bureau A118 )
Introduction
2
Cours d’Interface Matériel Logiciel ?
☞ Un programme C extrait de
votre cours d’Algorithmique,
Programmation et Structures
de données I
Qu’est ce que c’est ? ☞
✑  Comment «ça marche» ?
? Comment fait-on «exécuter» un tel programme par
un ordinateur ?
☞ Un programme pour un ordinateur comme celui-ci
3
Cours d’Interface Matériel Logiciel?
✑ Comment faire exécuter le programme ci-dessus par un
ordinateur ? (extrait cours d’Algo. Prog. & Struct. de données I )
! Passage du code source à un programme exécutable :
…>gcc nom_fichier.c –o nom_exec
!  gcc: un compilateur C
!  l’option –o permet de donner un nom à l’exécutable (sinon par défaut le
fichier est nommé a.out)
! Pour commencer, pas de compilation séparée
! Exécution du programme :
…>./nom_exec
Premier exemple
…>
☝ Oui mais ….
? Qu’est ce qu’un programme exécutable?
? Qu’est ce qu’un compilateur ?
? Qu’est ce qu’un ordinateur ?
? Où est la fonction printf que le programme utilise?
? …
4
0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0
0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 1
1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 1 0 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
… Interface Matériel Logiciel?
void s w a p ( i n t v [ ] , i n t k )
{ i n t t e m p ;
t e m p = v [ k ] ;
v [ k ] = v [ k + 1 ] ;
v [ k + 1 ] = t e m p ;
}
Extrait d’un programme
exécutable MIPS
(langage machine)
Extrait d’un programme en
langage C
« compilateur »
! Programme exécutable vs langage C
5
… Interface Matériel Logiciel ?
0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0
0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 1
1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 0 1 0 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
Assembleur
langage
machine
langage d’assemblage
s w a p :
m u l i $ 2 , $ 5 , 4
a d d $ 2 , $ 4 , $ 2
l w $ 1 5 , 0 ( $ 2 )
l w $ 1 6 , 4 ( $ 2 )
s w $ 1 6 , 0 ( $ 2 )
s w $ 1 5 , 4 ( $ 2 )
j r $ 3 1
Compilateur C (eg:
gcc –S)
procedure swap(var v :array[0..40] of integer, k : integer);
begin
var temp : integer;
temp := v[k]; v[k] := v[k+1]; v[k+1] := temp;
end;
Compilateur Pascal
! Que fait le compilateur ?
void s w a p ( i n t v [ ] , i n t k )
{ i n t t e m p ;
t e m p = v [ k ] ;
v [ k ] = v [ k + 1 ] ;
v [ k + 1 ] = t e m p ;
}
1 / 21 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!