Vous êtes sur la page 1sur 80

ARCITECTURE DE L’ORDINATEUR

16/01/21 Cours d'Informatique I : Filières GEII et GIM 1


PLAN
Structure et fonctionnement des ordinateurs :
• Les composantes de base d’un ordinateur
• l’unité centrale, les mémoires
• le micro-processeur
• les périphériques
Systèmes d’exploitation (DOS, WINDOWS, LINUX, etc.).
Traitement de texte, tableurs.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 2


Introduction à la notion d’ordinateur
Présentation de l’ordinateur
√ Un ordinateur est un ensemble de circuits électroniques permettant de
manipuler des données sous forme binaire (sous forme de bits).
√ Toute machine capable de manipuler des informations binaires peut être
qualifiée d’ordinateur.
√ Il existe beaucoup d’autres types d’ordinateurs :
• Amiga
• Atari
• Apple Macintosh
• Stations Alpha
• ….
Constitution de l’ordinateur
√ Un ordinateur est un ensemble de composants électroniques, capable de
faire fonctionner des programmes informatiques. ON parle ainsi de :
* hardware pour désigner l’ensemble des éléments matériels de l’ordinateur.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 3


• Software pour désigner la partie logicielle.
√ Les composants matériels de l’ordinateur sont architecturés autour d’une
carte principale (quelques circuit intégrés, condensateurs, résistances, etc) :
carte mère.
√ La carte mère est logée dans un boitier (ou châssis).
Un boitier héberge un bloc d’alimentation électrique, chargé de fournir un
courant électrique stable est continu.
√ L’alimentation sert donc à convertir le courant alternatif (220 ou 110 Volts)
en une tension de 5 Volts pour les composants de l’ordinateur et 12 Volts
pour certains périphériques internes (disques, lecteurs de CD-ROM,…).
√ On appelle « unité centrale », l’ensemble composé du boitier et des
Éléments qu’il contient.
√ Les éléments externes à l’unité centrale sont appelés périphériques.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 4


Les périphériques informatiques
Dans un système informatique, les périphériques sont tous les
appareils qui sont reliés à la console. Ils peuvent lui fournir des
informations ou en recevoir. Il existe trois grandes sortes de
périphériques :
1. les périphériques d'entrée : ils permettent à l'utilisateur de
fournir des informations au " centre nerveux " ;
2. les périphériques de sortie : ils permettent à l'utilisateur de
recevoir des informations venant du " centre nerveux " ;
3. de plus, certains périphériques sont capables de recevoir des
informations venant du " centre nerveux " mais aussi de lui
envoyer des informations ; on parle alors de périphériques
d'entrée/sortie.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 5


Exemple de périphériques :
• imprimante,
• Scanner,
• Carte son externe,
• Disque dure externe,
• Appareil photo ou caméra numérique,
• …

16/01/21 Cours d'Informatique I : Filières GEII et GIM 6


Les différentes parties de l'unité centrale
Le " centre nerveux " de la machine est le microprocesseur qui
fait partie de l'unité centrale. Il s'agit d'un composant
électronique très sophistiqué et très miniaturisé. Dans cette
"puce" électronique, on distingue deux parties qui sont
respectivement :

1. L'unité de contrôle
encore appelée unité de traitement (u.t.) : c'est elle qui exécute
et organise les travaux réalisés par le processeur ;

16/01/21 Cours d'Informatique I : Filières GEII et GIM 7


2. L'unité de calculs
Elle est elle-même encore formée de trois sous-unités
• l'unité arithmétique et logique (u.a.l.) qui est spécialisée dans
les calculs simples (additions, multiplications, ...) sur des
nombres entiers que doit effectuer le processeur dans
certaines tâches ; ·
• l'unité mathématique qui est spécialisée dans les calculs plus
complexes sur les nombres réels (au sens mathématique du
terme) : c'est la calculatrice scientifique de l'unité de calculs.
• l'unité multimédia spécialisée dans les calculs complexes
nécessaires au traitement de l'image et du son.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 8


Les connexions électriques

16/01/21 Cours d'Informatique I : Filières GEII et GIM 9


Sur l'image suivante, on distingue :
1. Le processeur: tout plat et à peine visible car il est caché sous
d'autres composants

2. Un radiateur: pièce métallique dont le rôle est d'évacuer la


chaleur émise par le processeur en fonctionnement

3. Un ventilateur: dont le rôle est de chasser la chaleur recueillie


par le radiateur

4. La mémoire RAM (dont il est question un peu plus loin dans ce


cours)

16/01/21 Cours d'Informatique I : Filières GEII et GIM 10


16/01/21 Cours d'Informatique I : Filières GEII et GIM 11
L'unité centrale: la mémoire centrale
Au microprocesseur, on associe des unités de mémoire qui
constituent la mémoire centrale. Elles se présentent
généralement sous la forme de petites barrettes que l'on peut
enficher dans un support.
Sur la photo ci-contre, on reconnaît les éléments 1, 2 et 3 déjà
présentés à la page précédente. Peux-tu rappeler leur nom et
leur rôle?
Le numéro 4 désigne deux barrettes de mémoire.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 12


Les différentes parties du microprocesseur
Le microprocesseur ressemble un peu à un cerveau, puisque
c'est lui qui réalise tous les travaux dont la machine est capable.
Quelles sont les capacités réelles du microprocesseur ?
L'unité de traitement du microprocesseur est le chef d'orchestre
des travaux effectués par l'ordinateur. C'est elle qui exécute les
programmes qu'on lui fournit, c'est-à-dire des listes
d'instructions.
Ces instructions sont extrêmement simples :
1. déposer une certaine valeur dans une case de la mémoire
centrale,
2. recopier une valeur d'une case dans une autre case,
3. aller chercher l'instruction suivante à telle case de la mémoire
centrale,
• ...

16/01/21 Cours d'Informatique I : Filières GEII et GIM 13


réaliser des calculs arithmétiques à l'aide de l'unité
arithmétique et logique(u.a.l.) ou l'unité mathématique.
L'unité arithmétique et logique et l'unité mathématique du
microprocesseur aident l'unité de traitement dans ses problèmes
de calculs ; les résultats des calculs sont transférés à l'unité de
traitement.
Les capacités (limitées) du microprocesseur
Malgré que l'ordinateur semble avoir des capacités
extraordinaires, son " cerveau " est cependant capable de peu
de choses. Comment cela est-il possible ?
Un processeur n'est capable que de deux choses :
1. réaliser des calculs plus ou moins complexes à très grande
vitesse ;
2. sélectionner et exécuter telle ou telle partie du programme en
fonction du résultat d'un test.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 14


Un processeur n'est donc pas capable de:
• comprendre un texte ;
• décider tout seul d'actions à prendre ;
• ...
Le seul avantage du microprocesseur sur l'être humain est sa
vitesse de calcul.
Mais, de toute façon, un microprocesseur (et donc un
ordinateur) est incapable d'effectuer le moindre travail si on ne
lui fournit pas des listes d'instructions précises dans le seul
langage qu'il comprend : le langage machine. De telles listes
d'instructions sont appelées des programmes d'ordinateur.
L'ordinateur n'est qu'un idiot qui va très vite

16/01/21 Cours d'Informatique I : Filières GEII et GIM 15


La mémoire centrale stocke du binaire

La mémoire centrale de l'ordinateur est conçue pour y déposer


des informations que le processeur ne peut pas retenir.
La mémoire centrale est organisée en cases dans lesquelles on
peut déposer des informations. Les informations sont très
simples : il ne peut s'agir que de signes 0 et 1. Chaque case
élémentaire capable de mémoriser 0 ou 1 est appelée un bit
(abréviation de binary digit).

16/01/21 Cours d'Informatique I : Filières GEII et GIM 16


Le cadre ci-dessous représente une petite partie de la mémoire
centrale d'un ordinateur à un moment donné.

10101010010011111000100010110001
00100000011100111001101110000110
11101011011010010110111011101100
10111011100100110101010001011101
10011011111101111001000001111100
10110001010011111111001010111110
10011110011011001100110110000001
10110100000110101101010010100001
00110111111101001010010001001111

16/01/21 Cours d'Informatique I : Filières GEII et GIM 17


Les octets sont des groupes de 8 bits
Une suite de 8 bits est appelée un octet en français ou un byte
en anglais. Les deux termes sont utilisés.
La mémoire de l'ordinateur est arrangée de manière à grouper
des séries de 8 bits. Un ensemble de 8 bits est appelé un octet
(ou un byte en anglais).
Dans un groupe de 8 bits, on peut stocker des nombres plus
grands que 1.
Dans un octet,
le nombre 0 s'écrirait tout simplement 0 0 0 0 0 0 0 0
le nombre 1 s'écrirait alors 0 0 0 0 0 0 0 1
et le nombre 2 s'écrirait 0 0 0 0 0 0 1 0

16/01/21 Cours d'Informatique I : Filières GEII et GIM 18


La mémoire centrale stocke des caractères
L'ordinateur ne peut " retenir " que des 0 et des 1 (ou
éventuellement des nombres plus grands en prenant des séries
de 8 bits ou plus). Et pourtant, il est capable de stocker et de
traiter des textes.
• Voyons une analogie
Le code morse est composé de points (" . ") et de barres (" - "). A
une certaine combinaison de points et de barres correspond une
lettre ou un chiffre.
• Exemples : " .- " = " A " " -.. " = " B " " -.-. " = " C " ...
En utilisant des " 0 " et des " 1 " à la place des " . " et des " - " , il
est également possible de coder des caractères. Exemples :
"01000001" = " A " "01000010" = " B " "01000011" = " C " ...

16/01/21 Cours d'Informatique I : Filières GEII et GIM 19


√ On ne vous a jamais dit qu'il ne servait à rien d'indiquer des 0
devant un nombre ? Je ne vois vraiment pas pourquoi vous
notez
"00010001" plutôt que "10001"...
Il est vrai que le "0" initial n'ajoute pas grand chose, sauf si l'on
se souvient que l'on utilise un ensemble de 8 bits pour coder
chaque caractère.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 20


La mémoire centrale stocke des images en noir
L'image d'un petit robot, en noir et blanc, est composée d'une
série de points: . Cette image est reproduite très agrandie ci-
contre. Comment l'ordinateur peut-il stocker cette image dans sa
mémoire ?
Pour chaque point, il existe deux possibilités: il peut
1. être noir ou
2. être blanc.
La convention généralement admise est que :
un point noir est représenté par un " 0 " et un point blanc est
représenté par un " 1 ".
Ainsi, il sera possible de déposer cette image dans la mémoire de
l'ordinateur.
Un bit permet donc de coder un point de l'image en noir et blanc. Peux-tu
expliquer pourquoi 8 bits sont nécessaires pour coder un point d'une
image qui peut contenir 256 couleurs ?

16/01/21 Cours d'Informatique I : Filières GEII et GIM 21


16/01/21 Cours d'Informatique I : Filières GEII et GIM 22
16/01/21 Cours d'Informatique I : Filières GEII et GIM 23
Pour une image en 16 couleurs, il faut que chaque point de
l'image soit codé par un nombre en 4 bits (compris donc entre 0
et 15). Chaque nombre désigne la couleur dans la palette.

Si l'on souhaite que l'image puisse contenir 256 couleurs


différentes, il faut convenir que chaque point est représenté par
une valeur sur 8 bits. La palette contient alors 256 couleurs
différentes.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 24


La mémoire centrale et le courant électrique
Chaque élément de mémoire d'un ordinateur est un " bit ". Ce "
bit " peut valoir " 0 " ou " 1 ".
En réalité, chaque " bit " dans la mémoire centrale est un petit
interrupteur capable de laisser passer le courant ou de ne pas le
laisser passer.
Comme un interrupteur classique, on peut l'ouvrir (le courant ne
passe plus) ou le fermer (le courant passe).
Le schéma ci-contre représente les 8 interrupteurs d'un octet
dans la mémoire d'un ordinateur. Certains sont ouverts (en
rouge): le courant ne passe pas; ils correspondent à la valeur
" 0 ". Certains sont fermés (en vert): le courant passe;
ils représentent la valeur " 1 ".

16/01/21 Cours d'Informatique I : Filières GEII et GIM 25


Écrire dans la mémoire centrale d'un ordinateur, c'est donc
ouvrir ou fermer des interrupteurs.

Si l'on coupe l'alimentation électrique de l'ordinateur, le


contenu des mémoires s'efface définitivement (valeur 0). Il
n'existe aucun moyen de savoir si l'interrupteur était ouvert ou
fermé avant la coupure du courant.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 26


Les "interrupteurs" sont, en réalité, des composants
électroniques appelés " transistors ".

* 1 bit est formé par 1 transistor


* 1 x 8 bits (un octet) sont formés par 1 x 8
transistor s
* 128.000.000 x 8 bits (128 Mo) sont formés par
128.000.000 x 1 x 8 transistors = 1 024 000 000 transistors

16/01/21 Cours d'Informatique I : Filières GEII et GIM 27


Chaque "bit" de cette mémoire est formé par un transistor.
Il
faut donc 8 transistors pour former un octet. Les 128millions
d'octets nécessitent donc 1,024 milliards de transistors.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 28


La mémoire centrale : mesures de capacité
La capacité de la mémoire des ordinateurs peut se mesurer en
nombre d'octets disponibles. On l'exprime souvent en multiples
de l'octet.

Unité Symbole Valeur Valeur en français


1 Kilo-octet = (Ko ou KB) 210 octets = 1024 (± 1 millier d'octets)
1 Kilobyte octets
1 Méga-octet = (Mo ou MB) 220 octets = 1024 =(± 1 million
1 Mégabyte Kilo-octets d'octets)
1 Giga-octet = (Go ou GB) 230 octets = 1024 =(± 1 milliard
1 Gigabyte Méga-octets d'octets)
1 Téra-octet = (To ou TB) 240 octets = 1024 = (± 1000 milliards
1 Terabyte Giga-octets d'octets)
1 Péta-octet = (Po ou PB) 250 octets = 1024 = (± 1 million de
1 Petabyte Tera-octets milliards d'octets)

16/01/21 Cours d'Informatique I : Filières GEII et GIM 29


Introduction : les microprocesseurs INTEL
La mémoire
Une analogie consiste à comparer la mémoire à une longue rangée de tiroirs
alignes les un derrière les autres. Si on donne à chaque tiroir un numéro, en
commençant par 0 pour le 1er tiroir, on dira que ce numéro est l'adresse de
la mémoire, dans la suite on parlera d'adresse mémoire . La coutume est (de
nombreux avantages la justifie) de noter les adresses mémoires en
hexadécimal.
Dans un P.C., l'unité de mémoire est l'octet, ce qui signifie que chaque tiroir
comportera un octet, soit 8 bits.
Avoir un ordinateur qui possède 8Mo de mémoire signifie qu'il possède
1024*1024*8 octets de mémoire, et donc 1024*1024*8*8 bits de mémoire.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 30


Dans un système informatique, les deux opérations possibles sur la mémoire
sont l'écriture et la lecture d'une valeur. Dans n'importe quel langage
informatique:
Pour écrire dans la mémoire on doit fournir deux paramètres au
microprocesseur:
a) L'adresse mémoire ou l'on va écrire.
b) La valeur que l'on vas écrire à cette adresse ( sur 8,16,ou 32bits).
Pour lire une valeur dans la mémoire on doit fournir ces deux paramètres
a) L'adresse mémoire ou on veut lire.
b) l'endroit ou on doit conserver la valeur lue (valeur sur 8, 16, ou 32 bits).

16/01/21 Cours d'Informatique I : Filières GEII et GIM 31


Un microprocesseur pour agir sur la mémoire

16/01/21 Cours d'Informatique I : Filières GEII et GIM 32


LES BUS DE COMMUNICATION
Un bus est un groupement de conducteurs électriques, représentant chacun
une variable logique, qui sert à faire transiter des informations entre
plusieurs éléments.
Le bus d'adresse
Ce bus, d'une taille de 20 bit sur un PC XT, à été porté à une taille de 32. Sa
tache est de fournir l'adresse visée par le microprocesseur au contrôleur de
mémoire. Ce bus est unidirectionnel, l'information ne vas que dans le sens
microprocesseur --> périphérique.
Le bus de données
C'est par ce bus que le microprocesseur transmet des données à ses circuits
périphériques, ce bus de 8 bits dans le 8088 à été porté à 32 bits puis à 64
bits dans le pentium. Ce bus est bidirectionnel, il permet au microprocesseur
de lire des données, tous comme, il lui permet d'en écrire.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 33


Le bus de contrôle
C'est par ce bus que vas être communiqué le sens du transfert sur le bus de
données (lecture ou écriture) ainsi que la taille du transfert (8,16, 32, 64 bits).
C'est aussi par ce bus que le circuit périphérique dira au microprocesseur s'il
est prêt à émettre ou recevoir des données.
Mécanisme d'accès mémoire
Dans un premier temps nous ignorerons le rôle joué par la mémoire cache.
a) Accès en lecture: Le microprocesseur transmet par le bus d'adresse
l'adresse de la mémoire dont il veut lire le contenu, il place sur le bus de
contrôle la taille de la donnée qu'il veut lire, et l'ordre LECTURE. A partir de
ce
moment la, le microprocesseur scrute le bus de contrôle pour savoir si la
donné est arrivée, ou si il faut encore attendre. Dés que le bus de contrôle
informe le microprocesseur que la donnée est disponible, le microprocesseur
lit la donnée sur son bus de donnée.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 34


b) Accès en écriture: Le microprocesseur transmet par le bus d'adresse
l'adresse de la mémoire ou il veut écrire, il place sur le bus de contrôle la
taille de la donnée qu'il veut écrire ainsi que l'ordre ECRITURE. Il place sur le
bus de données la donnée à écrire. A partir de ce moment la, le
microprocesseur scrute le bus de contrôle pour savoir si la donnée à été
écrite en mémoire. Dés que le bus de contrôle informe le microprocesseur
que la donnée à été écrite, le microprocesseur peut continuer son travail.
Temps d'accès mémoire
C'est un chiffre exprimé généralement en ns (nano secondes) qui détermine
le temps qui vas s'écouler entre la demande de lecture (ou d'écriture)
mémoire et sa réalisation.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 35


LA MEMOIRE CACHE
La mémoire cache interne
La mémoire cache interne, qui est comme son nom l'indique interne au
microprocesseur, est très rapide d'accès, on peut considérer son temps de
réponse comme nul. On peut se poser la question de savoir pourquoi toute la
mémoire de l'ordinateur n'est pas de la mémoire cache, en fait la raison est
d'ordre économique: La mémoire cache est encore très chère, un ordinateur
composé uniquement de mémoire cache serait hors de prix.

La mémoire cache externe


Le volume de votre entreprise augmente, et décidément votre secrétaire
devient insupportable, elle n'accepte plus de faire des centaines de trajets
tiroirs - bureau par jour.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 36


L'idée vous vient d'installer entre votre bureau et les tiroirs de l'armoire une
table basse sur laquelle vous pourrez entreposer plus d'une centaine de
dossiers. Ainsi avec cet ingénieux système les trajets bureau-tiroirs seront
moins fréquents. Si vous avez besoin d'un dossier, dans un premier temps
Vous regarderez s'il se trouve sur votre bureau, si c'est le cas vous le prenez
et
c'est fini.
Si votre dossier ne se trouve pas sur le bureau, vous pouvez regarder s'il n'est
pas sur la table basse, s'il y est, il suffit de tendre le bras pour le prendre, ce
qui est tout de même plus rapide que d'appeler la secrétaire. Et comble de
malchance il n'est pas sur la table basse ( il s'agit sûrement d'un nouveau
dossier que vous n'avez pas regardé de la semaine), la secrétaire vous
l'amènera avec le sourire.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 37


Votre table basse remplis le même rôle que votre bureau, au détail près
qu'elle est un peut plus difficile d'accès et qu'on peut entreposer dessus plus
de dossiers.
Et bien dans un ordinateur le cache de second niveau rempli exactement le
même rôle que la table basse de votre bureau, il permet de garder de coté
des données auxquelles on accède relativement souvent.
On pourrait très bien imaginer que dans le futur des ordinateurs contiennent
des caches de troisième ou de quatrième niveau.
La taille des caches de second niveau à augmenté ces dernières années, il
Font maintenant de 256Ko à 512Ko sur les pentiums les plus récents. La
technologie mémoire qu'ils utilisent, permet, actuellement, d'accéder à une
donnée en environ 20ns.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 38


Les registres
Un registre sert à stocker les données nécessaires à l'exécution d'un
programme par le microprocesseur. On n'accède pas à un registre avec une
adresse, mais avec son appellation.
Pour les exemples qui vont suivre, je vais vous décrire l'instruction la plus
utilisée dans le microprocesseur: MOV
MOV registre1,registre2 a pour effet de copier le contenu du registre2 dans
registre1, le contenu préalable du registre1 étant écrasé.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 39


16/01/21 Cours d'Informatique I : Filières GEII et GIM 40
Les registres généraux
Ils se nomment EAX,EBX,ECX,EDX ce sont des registres de 32 bits, qui servent
notamment pour stocker les résultats des opérations arithmétiques.
Le registre EAX : L'accumulateur
On peut accéder aux bits 0 à 7 de ce registre, en utilisant la
notation AL ( L pour LOW (bas en anglais)).
par exemple: MOV AL,10h
Aura pour effet de placer la valeur 10h dans les bits 0..7 du registre EAX, le
reste du registre étant inchangé.
Pour accéder aux bits 8 à 15 de ce registre, on doit utiliser la notation AH
(H pour HIGH (haut en anglais))
par exemple: MOV AH,31h
Aura pour effet de placer la valeur 31h dans les bits 8..15 du registre EAX,
les autres bits restant inchangés.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 41


On peut accéder aux bits 0 à 15 du registre EAX, en une seule fois, on doit
alors utiliser la notation AX.
par exemple: MOV AX,1234h
Aura pour effet de placer la valeur 1234h dans les bits 0..15 du registre EAX.
Et enfin pour accéder au registre EAX dans son intégralité, il suffit de
l'appeler par son nom EAX.
exemple : MOV EAX,12345678h
Aura pour effet de placer la valeur 12345678h dans le registre EAX.
Les registres EBX, ECX, EDX
Les registres EBX,ECX et EDX: se manipulent exactement comme le registre
EAX.
ECX : Compteur boucle
C'est un registre 32 bits, il contient un sous registre de 16 bits nommé CX lui-
même composé de deux sous registres 8 bits nommés respectivement CH et
CL. Il sert dans les boucles de comptage. Il est utilisé notamment par
l'instruction LOOP qui décrémente le registre ECX/CX.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 42


EDX : Pointeur sur les I/O
C'est un registre de 32 bits, il contient un sous registre de 16 bits nommé DX
lui-même composé de deux sous registres 8 bits nommés respectivement DH
et DL. Il sert dans les références aux ports d'entrées / sorties. Il est relatif au
registre : DS.
EBX : Pointeur base
C'est un registre 32 bits, il contient un sous registre de 16 bits nommé BX lui-
même composé de deux sous registres 8 bits nommés respectivement BH et
BL. Dans les adressages mémoire en mode réel, il sert comme pointeur vers le
bloc de données pointé par le registre de segment : DS.
ESP : Pointeur de pile
C'est un registre de 32 bits, il contient un sous registre de 16 bits nommé SP .
Ce registre est le pointeur de pile. Son contenu est toujours une adresse
mémoire faisant référence à la dernière valeur placée sur la pile. Il est relatif
au registre de segment SS.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 43


EBP : Pointeur de données de la pile
C'est un registre de 32 bits, il contient un sous registre de 16 bits nommé BP .
Ce registre sert à créer des cadres de pile afin de gérer plus facilement les
paramètres et les variables locales utilisés par une fonction. Il contient
toujours une adresse mémoire faisant référence au dernier élément placé sur
la pile avant la définition de variables locales pour la fonction concernée. Il
est relatif au registre de segment : SS.

ESI : Source Index


C'est un registre de 32 bits, il contient un sous registre de 16 bits nommé SI .
Ce registre est utilisé dans le traitement des chaînes. Il contient un pointeur
vers la source de données. Il est relatif au registre de segment : DS.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 44


EDI : Destination Index
C'est un registre de 32 bits et il contient un sous registre de 16 bits nommé DI
Ce registre est utilisé dans le traitement des chaînes. Il contient un pointeur
vers la destination. Il est relatif au registre de segment : ES lorsqu'il est utilisé
pour le traitement des chaînes sinon, il est relatif au registre de segment : DS
lorsqu'il est utilisé pour l'adressage mémoire.

Les registres de segments


Ces registres, de 16 bits, servent uniquement, à indiquer l'or d'une écriture
ou d'une lecture mémoire, à partir de quel segment on veut lire ou écrire.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 45


Rôle des registres de segments
DS 'DATA SEGMENT' est généralement utilisé pour adresser des données.
CS 'CODE SEGMENT' représente le segment à partir duquel se trouvent
les instructions du programme (et ou les instructions doivent êtres stockée
quelques part en mémoire, tous comme les données,

ES 'EXTRA SEGMENT ' On peut l'utiliser comme on veux, tous comme FS et


GS.

SS 'STACK SEGMENT ' Comme je ne vous ai pas encore expliqué ce qu'est la


pile, j'y reviendrai plus tard.

On ne peut pas mettre directement une valeur immédiate dans un registre


de segment, le microprocesseur ne le permet pas:

16/01/21 Cours d'Informatique I : Filières GEII et GIM 46


On ne peut pas mettre directement une valeur immédiate dans un registre
de segment, le microprocesseur ne le permet pas:
MOV DS,0200h est incorrect
par contre
MOV AX,0200h
MOV DS,AX est correct.

Les registres d'index


Ce sont des registres de 32 bits, qui peuvent servir à faire un peu n'importe
quoi (opérations arithmétiques...), mais qui à l'origine (sur les P.C. XT )
servaient à contenir l'offset d'une adresse.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 47


différents registres d’index (sur 32 bits):
EDI : 'DESTINATION INDEX', Tire son nom des instructions de copie de chaîne
de caractères, ou il pointait sur la destination.
ESI : 'SOURCE INDEX ' tous comme pour EDI, il servait pour copier des
chaînes
de caractères, il pointait sur la source.
ESP : 'STACK POINTEUR' Il sert à contenir l'offset de l'adresse de la pile,
mieux
vaut éviter d'y toucher.
EBP : 'BASE POINTEUR' On en fait, tous comme pour EDI et ESI ce que l'on
veut .

16/01/21 Cours d'Informatique I : Filières GEII et GIM 48


Les registres de travail du microprocesseur
EIP
Il s'agit d'un registre de 32bits (à partir du 386, avant il s'appelait IP et faisait 16 bits),
on ne peut pas y accéder, le microprocesseur s'en sert pour savoir quelle instruction il
doit exécuter, ce registre contient l'offset par rapport au registre de segment CS, de
l'adresse de la prochaine instruction à exécuter.
Registre de flag
On ne peut pas non plus y accéder. Son rôle est de positionner ses bits ( à l'état 0 ou
1)
selon le résultat arithmétique de la précédente instruction exécutée.
La pile
La pile est une zone mémoire, dont le programmeur fixe la taille, et qui sert à
sauvegarder la valeur d'un registre, tous comme à faire passer des paramètres à un
sous programme.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 49


Les instructions PUSH et POP :
• Les deux seules opérations autorisées sont donc l'empilage (PUSH
registre) et le désempilage (POP registre) d'un seul élément à la fois.
Lorsqu'une instruction PUSH est rencontrée, SP est d'abord décrémenté
de 2 (un élément=2bytes) et le contenu du registre spécifié est copié dans
l'élément numéro SP de la pile (adresse SS:SP). Pour une opération POP,
l'élément numéro SP de la pile est copié dans le registre spécifié puis SP
est incrémenté de 2.

Les formes disponibles de ces instructions sont:


• PUSH reg
• PUSH mem
• POP reg
• POP mem
où "reg" est un registre de 16 bits! et "mem" est une zone mémoire de 16
bits.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 50


Remarque :
"PUSH al" est impossible! Le compilateur détectera une erreur. (car al est un
registre 8 bits).
Exemple:
Soit une pile de 50 éléments vide: Au début, SP vaut 100
98
96
94

SS:SP => SP pointe avant la pile


SS:98 = 1er élément (vide)
SS:96 = 2ème élément (vide)
SS:94 = 3ème élément (vide)
Si on exécute les instructions suivantes:

16/01/21 Cours d'Informatique I : Filières GEII et GIM 51


mov ax,5 ; ax reçoit la valeur 5
mov bx,6 ; bx reçoit la valeur 6
push ax ; empile ax (SP=SP-2)
push bx ; empile bx (SP=SP-2)
SP vaut maintenant 96.
au aura:
98 5
96 6
94
SS:98 = 1er élément (rempli)
SS:SP = 2ème élément (rempli)
SS:94 = 3ème élément (vide)
Si on exécute maintenant les instructions:

16/01/21 Cours d'Informatique I : Filières GEII et GIM 52


mov bx,3 ; bx reçoit la valeur 3.
pop bx ; bx reçoit le contenu du dernier élément du stack ; (=6) qui
écrase donc la ; valeur 3 et SP=SP+2 SP vaut donc maintenant
98. Le stack a alors l'allure suivante:

98 5
96 6
94

SS:SP = 1er élément (rempli)


SS:96 = 2ème élément (vide)
SS:94 = 3ème élément (vide)...
Remarque:
Vous remarquerez que les valeurs ne sont pas effacées : seul SP est ajusté. Au
prochain PUSH, le registre SP sera décrémenté de 2 et la valeur 6, présente
sur la pile, sera écrasée par la nouvelle valeur.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 53


Pour utiliser la pile nous auront 6 instructions:

• PUSH --> pour empiler une valeur


• POP --> Pour dépiler une valeur
• PUSHA --> Pour empiler le contenu de tous les registres du
microprocesseur (en 16 bits).
• POPA --> Pour dépiler le contenu de tous les registres du microprocesseur
(en 16 bits).
• PUSHAD --> Pour empiler le contenu de tous les registres du
microprocesseur (en 32 bits).
• POPAD --> Pour dépiler le contenu de tous les registres du
microprocesseur (en 32 bits).
La pile dans les microprocesseurs INTEL, est une pile LIFO (Last In First Out)
ce
qui signifie que la première valeur dépilée, sera la dernière que l'on aura .

16/01/21 Cours d'Informatique I : Filières GEII et GIM 54


Exemple:
• MOV AX,0010h
• MOV BX,1234h
• PUSH AX
• PUSH BX
• POP AX ==> AX contient 1234h
• POP BX ==> BX contient 0010h
cet exemple à permis d'échanger le contenu de deux registres, en se servant
de la pile comme tampon intermédiaire.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 55


LE JEU D’INSTRUCTIONS
Les instructions arithmétiques
L’addition : ADD
Cette instruction effectue une addition, le résultat est placé dans le premier
opérande.
• ADD reg,mem
• ADD mem,reg
• ADD reg,reg
Exemple :
MOV AX, 45h
ADD AX, 7
AX vaut maintenant 4Ch

16/01/21 Cours d'Informatique I : Filières GEII et GIM 56


INC (INCrement)
Cette instruction est en fait l'équivalant de "ADD ?,1 ", cette instruction
incrémente de 1 l'opérande.
Exemple:
AX contient 18h ( 24 en décimal)
INC AX
AX contient 19h
La soustraction: SUB
Cette instruction soustrait le deuxième opérande au premier.
Exemple :
AX contient 18h ( 24 en décimal)
SUB AX, 5
AX=13
DEC (DECrement)
Cette instruction fait l'équivalant de "SUB ?,1 ", cette instruction
décrémente donc de 1 l'opérande.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 57


Exemple :
AX contient 18h ( 24 en décimal)
DEC AX
AX contient 17h
La multiplication : MUL
Exemple :
AX contient 9
BL contient 3
MUL BL
AX contient 27
La division : DIV
Si l'opérande source a une taille d’un octet, AX est divisé par
celui-ci, le quotient dans AL et le reste dans AH,

16/01/21 Cours d'Informatique I : Filières GEII et GIM 58


Exemple :
AX contient 18
BL contient 3
DIV BL
AX contient 6
Les instructions logiques
AND (ET logique)
Cette instruction est l'équivalant d'une porte ET logique, elle réalise un ET
entre 2 opérandes. Le résultat est placé dans le premier opérande.
Exemple :
On effectue un ET entre AH (9Dh) et BH (6Dh)
AH=1001 1101
BH=0110 1101
AND AH, BH
AH=0000 1101 (0Dh)

16/01/21 Cours d'Informatique I : Filières GEII et GIM 59


OR (OU logique)
Encore une autre porte logique, cette porte effectue un OU entre deux
opérandes.
Exemple :
On effectue un OU entre AH (9Dh) et BH (6Dh)
AH=1001 1101
BH=0110 1101
OR AH, BH
AH=1111 1101 (FDh)
XOR (OU exclusif)
Cette instruction effectue un OU exclusif.
Exemple :
On effectue un XOR entre AH (9Dh) et BH (6Dh)
AH=1001 1101
BH=0110 1101

16/01/21 Cours d'Informatique I : Filières GEII et GIM 60


XOR AH, BH
AH=1111 0000 (F0h)
NOT
C'est l'équivalent de la porte logique NON, le principe de cette porte est
simple, inverser tous les bits.
Exemple :
AX=1001 1101 1110 0110 (9DE6h)
NOT AX
AX= 0110 0010 0001 1001 (6219h)
Les instructions de décalages et de rotations
SHR (SHift Right)
Décale à droite de x positions, x contenu dans le deuxième opérande, les
bits entrant sont mis à 0.
Exemple :
On va décaler le registre AH de 5 positions.
AH =1011 0111

16/01/21 Cours d'Informatique I : Filières GEII et GIM 61


SHR AH, 5
AH=00000101
SHL (SHift Left)
Exemple :
On va décaler le registre AH de 5 positions.
AH =1011 0111
SHL AH, 5
AH=1110 0000
ROR (ROtate Right)
Exemple :
On va décaler le registre AH de 5 positions vers la droite.
AH =1011 0111
ROR AH, 5
AH=1011 1101

16/01/21 Cours d'Informatique I : Filières GEII et GIM 62


ROL (ROtate Left)
Idem ROR, mais décale sur la gauche.
Exemple :
On va décaler le registre AH de 5 positions vers la gauche.
AH =1011 0111
ROL AH, 5
AH=1111 0110

16/01/21 Cours d'Informatique I : Filières GEII et GIM 63


Les programmes d'ordinateur
Qu'est-ce qu'un programme?
Un programme est une suite d'actions à exécuter dans un ordre
bien défini que l'on envisage de réaliser. Il n'est pas nécessaire
de parler d'informatique quand on envisage l'idée de
" programme ".
Que peut faire un ordinateur?
Un ordinateur est une machine dotée d'un microprocesseur
capable d'exécuter très rapidement des instructions très
simples.
En fait, un programme d'ordinateur ne peut pas être écrit en
français. Il doit être écrit dans le langage très simple que
" comprend " l'ordinateur. Dans ce langage, chaque instruction
est codée sous la forme d'un nombre.
16/01/21 Cours d'Informatique I : Filières GEII et GIM 64
Pour que le programme d'ordinateur puisse être exécuté par le
processeur, il doit être chargé dans la mémoire centrale.
Fonctionnement de l'ordinateur
• Les programmes sont stockés sur le disque dur.
• Pour être exécuté, un programme doit être envoyé dans la
mémoire vive (RAM).
• Le processeur (CPU) lit et exécute les instructions trouvées
dans la mémoire vive.
• Le processeur peut également déposer des informations dans
la mémoire vive: les résultats de ses calculs, par exemple.
• Lorsque le traitement est terminé, on peut envoyer les
résultats obtenus sur le disque dur.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 65


A quoi ressemble un programme d'ordinateur
Généralement, les programmes d'ordinateur sont souvent
élaborés par des informaticiens. Leur travail consiste donc à
exprimer dans le langage d'ordinateur la suite des ordres
nécessaires pour réaliser une certaine action.
Le rôle de la mémoire de l'ordinateur
• Pour qu'un programme puisse être exécuté, il faut qu'il soit
recopié du disque dur, de la disquette ou du CD-ROM vers la
mémoire centrale.
• Les instructions d'un programme doivent être copiées dans la
mémoire centrale pour être exécutées.
Des données et des résultats peuvent être copiés dans la
mémoire centrale pour y être retenus et utilisés plus tard

16/01/21 Cours d'Informatique I : Filières GEII et GIM 66


• La mémoire centrale d'un ordinateur contient des
informations de deux sortes:
• les instructions des programmes exécutés
• les données et résultats calculés par ces programmes.
Mémoire vive et mémoire morte
La mémoire centrale de l'ordinateur fonctionne avec de
l'électricité! Quand le courant est éteint, la mémoire se vide
entièrement des programmes et des données qu'elle pouvait
contenir.
En fait, il existe, dans l'ordinateur, une puce qui est capable de
retenir des informations, même si le courant est coupé: c'est le
BIOS (sigle signifiant " Basic Input Output System ").

16/01/21 Cours d'Informatique I : Filières GEII et GIM 67


Sur l'illustration ci-dessus, on voit un BIOS (avec une
étiquette dorée) fabriqué par la société AMI parmi d'autres
composants électroniques de l'ordinateur.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 68


Le BIOS contient quelques petits programmes très simples qui
permettent à l'ordinateur de " retenir " comment faire pour lire :
* l'état des boutons de la souris,
* comment faire pour écrire à l'écran,
* comment faire pour accepter des frappes au clavier, pour
communiquer avec les disques,...
Le BIOS contient des informations qui sont définies une fois pour
toutes; elles ne peuvent jamais changer. On parle de mémoire
morte (ROM " read only memory ") (mémoire en lecture seule,
dans laquelle il est impossible d'écrire).

16/01/21 Cours d'Informatique I : Filières GEII et GIM 69


La mémoire centrale contient des informations qui peuvent
changer continuellement. On parle de mémoire vive.
La mémoire vive est aussi appelée " mémoire RAM ", de l'anglais
" random access memory " (mémoire à accès aléatoire, dans
laquelle on peut accéder à n'importe quel élément choisi au
hasard).

16/01/21 Cours d'Informatique I : Filières GEII et GIM 70


Le système d'exploitation
Lorsque l'ordinateur démarre, le BIOS contient tous les
programmes nécessaires pour lui faire réaliser les principales
actions de base : lire les disques, le clavier, la souris, ... écrire à
l'écran, sur les disques, ...
Une deuxième série de programmes intervient alors: c'est le
système d'exploitation. Celui-ci permet à l'ordinateur
d'organiser son travail. La façon dont on organise les
informations enregistrées sur les disques, la façon dont on
organise les informations dans la mémoire, ...
Vérifie quel système d'exploitation est utilisé sur l'ordinateur
avec lequel tu travailles.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 71


* OS/2 (conçu par la firme IBM)
* UNIX (souvent utilisé sur de plus gros ordinateurs)
* Mac OS (pour les ordinateurs du type MacIntosh)
* LINUX (système d'exploitation semblable à UNIX mais libre et souvent  gratuit)
il en existe un grand nombre de variantes.
* Windows NT, XP, 2000 , 2003, Vista,...

16/01/21 Cours d'Informatique I : Filières GEII et GIM 72


• Il faut remarquer que, bien souvent, les systèmes d'exploitation ne
sont pas compatibles entre eux.
• Un logiciel écrit pour fonctionner sous Windows ne peut pas
fonctionner directement sous Linux. Un logiciel écrit pour
fonctionner sur un Mac ne pourra pas fonctionner sous Windows.

Le code source et le logiciel compilé


• Un ordinateur ne peut pas comprendre autre chose que le
code binaire formé de "0" et de "1".
Un humain peut difficilement lire ou rédiger un programme
d'ordinateur écrit sous forme de "0" et de "1".
Comment un humain peut-il, malgré tout, se faire comprendre
des ordinateurs?

16/01/21 Cours d'Informatique I : Filières GEII et GIM 73


Les ordinateurs traduisent le Code Source
Le binaire: l'objectif
Un programme d'ordinateur se présente comme sur l'illustration
ci-dessous :
00110110 11010101 10100011 00111001 10011000 10101100
00100101 01011010 01110110 11011010 10110111 10101101
Il est beaucoup trop difficile de programmer en "0" et en "1".
Aujourd'hui, tous les programmeurs travaillent dans des
langages beaucoup plus proches d'une langue humaine mais
déjà assez proche du langage d'une machine.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 74


Ce sont les langages d'ordinateurs.Il existe une multitude de
langages d'ordinateurs, à mi-chemin entre le langage humain et
le langage binaire: Fortran, C, Basic, Pascal, LOGO, PHP,...

Le code source est un texte rédigé dans un langage assez


compréhensible pour les humains et qui doit être traduit en
code  binaire pour être compris par les ordinateurs.La traduction
du code source en code binaire est appelée compilation.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 75


Fenêtres et outils du système d'exploitation

Que peut faire le BIOS?


• Le BIOS de l'ordinateur est une puce électronique qui est
capable de retenir des informations, même quand
l'ordinateur est éteint.
• Son rôle est de permettre à l'ordinateur de démarrer alors
que plus aucun programme ne se trouve dans sa mémoire
vive. Le BIOS, qui est une mémoire morte, contient les
instructions nécessaires au microprocesseur pour piloter les
principaux périphériques de l'ordinateur (lecteur de disques,
clavier, écran, souris).

16/01/21 Cours d'Informatique I : Filières GEII et GIM 76


• A l'aide du BIOS, l'ordinateur n'est capable de réaliser que des
opérations très élémentaires sur les périphériques. Utiliser un
ordinateur que ne serait muni que du BIOS serait très difficile.
• En effet, le BIOS manque d'une capacité importante: il est
incapable d'organiser le travail de l'ordinateur.
• Exemples:

Le BIOS peut Le BIOS ne peut pas

écrire sur une piste et un secteur d'un retenir où se trouvent les informations
disque quand elles ont été écrites
déposer des informations dans la retenir si une case mémoire a déjà reçu
mémoire centrale des informations ou est encore libre

16/01/21 Cours d'Informatique I : Filières GEII et GIM 77


Chaque fonction du BIOS est un peu comme un musicien dans un orchestre.
Le BIOS est alors comparable à un orchestre. Mais sans chef, cet orchestre ne pourra
jamais produire une musique harmonieuse.

L'ordinateur doit donc être muni d'un programme qui est capable d'organiser le travail ;
ce programme INDISPENSABLE est appelé Système d'exploitation.
Le système d'exploitation s'occupe d'organiser l'enregistrement des informations sur le
disque ; d'organiser la mémoire en indiquant quel programme utilise quelle portion de
mémoire ;
Le système d'exploitation est donc un peu comme un chef d'orchestre dans
l'ordinateur.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 78


Le système d'exploitation dispose d'une interface graphique
Le système d'exploitation est parfois un outil difficile à utiliser.
Les instructions que l'on doit donner au système d'exploitation
sont encore assez proches du langage de la machine.
Pour faciliter l'emploi des ordinateurs, on a imaginé de mettre au
point des programmes qui seraient capables de piloter le
système d'exploitation.
Ces programmes sont appelés des Interfaces graphiques.
Interfaces : car ils s'interposent entre le système d'exploitation
et l'utilisateur
graphiques car ils représentent les composants et les fonctions
des ordinateurs par des dessins symboliques encore appelés des
icônes.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 79


Quelques outils du système d'exploitation
La barre des tâches
Le "bureau" occupe généralement l'ensemble de l'écran. Sur le
bureau se trouvent un certain nombre d'icônes correspondant à
des programmes que l'on peut appeler.
Le bas du bureau est souvent occupé par la barre des tâches.

16/01/21 Cours d'Informatique I : Filières GEII et GIM 80

Vous aimerez peut-être aussi