Vous êtes sur la page 1sur 107

Université AbdelMalek Essaadi

Faculté des Sciences de Tétouan


Département de Physique
Master Mécatronique

Notes du Cours:
Introduction à l’Informatique Industrielle

par : O. BENDAOU
1
Objectifs du cours

+ Découvrir les principales étapes de production des Circuits Intégrés.

+ Comprendre le fonctionnement des Processeurs.

+ Programmer en langage bas niveau.

Outils pour les TP :

+ Simulateur de Dauphin.

+ Emu8086 (simulateur du µP Intel 8086).

2
Plan du Cours:

Introduction

Chapitre I : Généralités

Chapitre II : Calcul Binaire

Chapitre III : Dauphin

Chapitre IV : Intel 8086

3
Introduction Généralités Calcul Binaire Dauphin Intel 8086

 L'Informatique industrielle est une discipline qui couvre l'ensemble des techniques de
conception, d'analyse et de programmation des systèmes à base de Microprocesseurs (ou
Microcontrôleurs).

 Le système à base de Microprocesseur le plus :


- Simple est la calculatrice
- Répandu est l’ordinateur de bureau
- Complexe est par exemple le pilote automatique

 Il est évident que l’informatique industrielle touche un nombre considérable de domaine :


- Industriel (commande automatique des machines)
- Médical (appareils de réanimation, scanners, …)
- Transport terrestre, marin et aérien (électronique embarquée)
- Militaire (missiles, radars, …)
- Loisirs (consols pour jeux video, lecteurs DVD, …)
- … 4
Introduction Généralités Calcul Binaire Dauphin Intel 8086

 Il est aussi évident qu’un ingénieur qui est censé concevoir, analyser ou programmer un
système à base de Microprocesseurs doit impérativement comprendre comment les
microprocesseurs :

- Sont conçus

- Fonctionnent

- Se programment

5
Introduction Généralités Calcul Binaire Dauphin Intel 8086
Introduction

 Comme nous savons tous, les Microprocesseurs sont des Circuits Intégrés.

 Mais, les questions qui peuvent être posées par tout débutant dans le domaine de
l’Informatique Industrielle sont :
- C’est quoi un Circuit Intégré et que sont ses types?

- Comment on conçoit et on fabrique les CIs ?

- Comment on conçoit et on fabrique les packages électronique qui abritent les CIs ?

- Quel est l’environnement de programmation de CIs ?

 Cette partie du cours (généralités) jettera la lumière sur les CIs en répondant de manière non
exhaustive à ces questions.
6
Introduction Généralités Calcul Binaire Dauphin Intel 8086
I - Circuits intégrés : Définitions

I - 1 - Circuit intégré

 Le circuit intégré (CI), aussi appelé puce électronique, est un composant électronique
reproduisant une, ou plusieurs, fonction électronique plus ou moins complexe.

 Il intègre souvent plusieurs types de composants électroniques de base (transistors, des


diodes, des résistances, des condensateurs) dans un volume réduit.

 Il existe une très grande variété de Circuits Intégrés divisés en deux grandes catégories :
analogique et numérique.

 Les Circuits intégrés numériques les plus simples sont des portes logiques (et, ou, non), les
plus complexes sont les microprocesseurs et les plus denses sont les mémoires.

7
Introduction Généralités Calcul Binaire Dauphin Intel 8086
I - Circuits intégrés : Définitions

I - 2 - ASIC

 Un ASIC « Application-Specific Integrated Circuit » (Circuit Intégré Propre à une Application )


est un circuit intégré spécialisé.

 En général, un ASIC regroupe un grand nombre de fonctionnalités uniques et/ou sur mesure.

 En raison du coût initial important, la production d'ASIC est généralement réservée à de gros
volumes (>100 000 pièces par an).

 lorsque le sur-mesure est indispensable, le fabricant rattrape le coût de son investissement


par un prix de vente plus élevé.

8
Introduction Généralités Calcul Binaire Dauphin Intel 8086
I - Circuits intégrés : Définitions

I - 3 - FPGA

 FPGA « Field-Programmable Gate Array » ou Réseau Logique Programmable, est un circuit


intégré logique qui peut être reprogrammé après sa fabrication.

 Les FPGA sont des circuits composés de nombreuses cellules logiques élémentaires
librement assemblables. Celles-ci sont connectées de manière définitive ou réversible par
programmation, afin de réaliser la ou les fonctions numériques voulues.

 L'intérêt est qu'une même puce peut être utilisée dans de nombreux systèmes
électroniques différents.

 Les FPGA sont utilisés dans diverses applications nécessitant de l'électronique numérique
(télécommunications, aéronautique, transports…). Ils sont également utilisés pour le
prototypage d'ASIC.

 Ce sont des composants standards , le délai de mise sur le marché est donc plus court.

9
Introduction Généralités Calcul Binaire Dauphin Intel 8086
I - Circuits intégrés : Définitions

I - 4 - Processeur

 Le Processeur, ou CPU « Central Processing Unit » (Unité centrale de traitement ), est le


composant de l'ordinateur qui exécute les programmes informatiques.

 Les parties essentielles d’un processeur sont :

 Au début, les processeurs étaient conçus spécifiquement pour un ordinateur d'un type
donné. Par la suite et pour des raisons économiques, la tendance était la standardisation :
production de masse de processeurs qui conviennent pour un ou plusieurs usages.

Un processeur construit en un seul Circuit Intégré est un Microprocesseur


10
Introduction Généralités Calcul Binaire Dauphin Intel 8086
I - Circuits intégrés : Définitions

I - 5 - Microprocesseur

 Un Microprocesseur est un Processeur dont les composants ont été suffisamment


miniaturisés pour être regroupés dans un unique circuit intégré.

 Le 4004 d'Intel présenté en 1971 est le premier microprocesseur commercialisé et dont tous
les composants sont placés sur un seul CI. Il était conçu est produit à la demande de la
société Japonaise « Busicom » pour qu’elle l’implémente dans sa nouvelle ligne de
calculatrices bon marché.

 La miniaturisation a permis :

o d'augmenter les vitesses de fonctionnement des processeurs, grâce à la réduction des


distances entre les composants;
o de réduire les coûts, grâce au remplacement de plusieurs circuits par un seul ;
o d'augmenter la fiabilité : en supprimant les connexions entre les composants du
processeur, on supprime l'un des principaux vecteurs de panne ;
o de créer des ordinateurs bien plus petits : les micro-ordinateurs ;
o de réduire la consommation énergétique. 11
Introduction Généralités Calcul Binaire Dauphin Intel 8086
I - Circuits intégrés : Définitions

I - 5 - Microprocesseur

Les principales caractéristiques d'un microprocesseur sont :

 Le jeu d'instructions qu’il peut exécuter : Par exemple, les instructions de bases que peut
exécuter un microprocesseur sur des nombres : addition, comparaison, multiplication,
opérations booléennes (&, ou, …), …

 La complexité de son architecture : nombre de transistors contenus dans le microprocesseur.

 Le nombre de bits que le processeur peut traiter ensemble :


o Les premiers microprocesseurs ne pouvaient traiter plus de 4 bits d'un coup. L’ addition
des nombres de 32 ou 64 se fait plusieurs instructions sur 4 bits.
o Les microprocesseurs actuels peuvent traiter des nombres sur 64 bits.

 La vitesse de l’horloge : Le rôle de l’horloge est de cadencer le rythme du travail du


microprocesseur. Ainsi, plus la vitesse de l’horloge augmente, plus d'instructions s’effectue en
une seconde.

12
Introduction Généralités Calcul Binaire Dauphin Intel 8086
I - Circuits intégrés : Définitions

I - 6 - DSP « Digital Processing Processor»

 Un DSP « Digital Signal Processor » (Processeur de Signal Numérique) est un


Microprocesseur optimisé pour effectuer des calculs complexes appliqués au traitement
numérique du signal.

 Les domaines d’applications du traitement numérique du signal sont nombreux :


- traitements du son - traitements de l’image,
- synthèse et reconnaissance vocale - compression de données,
- télécommunications - …
Ces domaines nécessite un système de traitement numérique, dont le cœur est un DSP.

 Après la numérisation, le signal se présente sous la forme d’une suite de valeurs numériques
discrètes apte à être stockée et traitée par un système informatique.

13
Introduction Généralités Calcul Binaire Dauphin Intel 8086
I - Circuits intégrés : Définitions

I - 6 - DSP « Digital Processing Unit »

 Le traitement numérique du signal revient à effectuer essentiellement des opérations


arithmétiques de base du type MAC (Multiply and Accumulate) :
A = (B x C) + D

 Un microprocesseur classique va nécessiter plusieurs cycles d’horloge pour effectuer un tel


calcul, par exemple, le Motorola 68000 a besoin de :
- 10 cycles d’horloge pour effectuer une addition,
- 70 cycles d’horloge pour effectuer une multiplication.

 Les DSP sont donc conçus pour optimiser ce temps de calcul, à cet effet, ils disposent de
fonctions optimisées permettant de calculer A beaucoup plus rapidement.

 la plupart des DSP peuvent lire en mémoire une donnée, d’effectuer une MAC, et enfin
d’écrire en mémoire le résultat, le tout en un seul cycle d’horloge. 14
Introduction Généralités Calcul Binaire Dauphin Intel 8086
I - Circuits intégrés : Définitions

I - 7 - Microcontrôleur

 Un microcontrôleur est un circuit intégré qui rassemble les éléments essentiels d'un
ordinateur :

- processeur - mémoire morte pour le programme


- mémoire vive pour les données - unités périphériques
- interfaces d'entrées-sorties

 Les microcontrôleurs se caractérisent par :

- haut degré d'intégration


- faible consommation électrique en fonctionnement (quelques milliwatts)
- faible consommation électrique en veille (quelques nanowatts)
- faible vitesse de fonctionnement (quelques mégahertz à quelques centaines de
mégahertz)
- coût réduit par rapport aux microprocesseurs polyvalents
15
Introduction Généralités Calcul Binaire Dauphin Intel 8086
I - Circuits intégrés : Définitions

I - 7 - Microcontrôleur

 Vu leurs caractéristiques, les microcontrôleurs sont fortement utilisés dans les systèmes
embarqués comme :

- téléphones mobiles - télécommandes


- baladeurs - récepteurs GPS
- Électroménager - automobile (ABS, ESP, …)
- ...

16
Introduction Généralités Calcul Binaire Dauphin Intel 8086
II - Conception / Production des Circuits Intégrés

II - 1 - Conception des Circuits Intégrés

 Le développement se faisait (dans les années 1970-1980) en dessinant les motifs des circuits
servant à fabriquer les masques par un procédé photographique.

 Aujourd'hui, on développe un circuit électronique numérique en utilisant un langage de


description de type VHDL ou Verilog qui rend la conception plus aisée.

 VHDL est un langage de description matériel destiné à représenter le comportement ainsi


que l'architecture d’un système électronique numérique : une spécification (cahier des
charges) décrite en VHDL peut être vérifiée par simulation, avant que la conception détaillée
ne soit terminée.

17
Introduction Généralités Calcul Binaire Dauphin Intel 8086
II - Conception / Production des Circuits Intégrés

II - 1 - Conception des Circuits Intégrés

les phase principales de conception d’un CI (ASIC ou µP) sont :

 élaboration (à partir du cahier des charges) d’une description détaillée du CI en langage


VHDL.

 Simulation de la description pour tester et vérifier le fonctionnement qu’attend le


concepteur.

 compilation par synthèse logique  Obtention automatique du composant réalisant la


description à l’aide d’éléments de base (portes logiques, bascules ou registres).

 Implémentation du composant selon la technologie adoptée :


- Cas ASIC ou µP : Implémentation en transistors
- Cas FPGA : Implémentation en se basant sur les éléments programmable des FPGA

 Placement des éléments et routage ainsi que l’édition des dessins des masques de la puce
qui servent à la fabrication. 18
Introduction Généralités Calcul Binaire Dauphin Intel 8086
II - Conception / Production des Circuits Intégrés

II - 1 - Conception des Circuits Intégrés

zoom

Fig - Circuit Intégré du Pentium IV

19
Introduction Généralités Calcul Binaire Dauphin Intel 8086
II - Conception / Production des Circuits Intégrés

II - 2 - Production des Circuits Intégrés

FAB (usine de fabrication de CI)

 Fabriquer un circuit intégré, c’est réaliser sur quelques centimètres carrés de surface et
quelques microns d’épaisseur un assemblage de millions de composants interconnectés.

 Plus les circuits intégrés se miniaturisent, plus les usines qui les fabriquent coûtent cher. Ceci
pour plusieurs raisons. Plus on fait petit, plus :

- Les environnements de travail doivent être propres pour éviter des contaminations
fatales aux circuits.
- Les machines de production sont précises, fiables, difficiles à mettre au point et à
entretenir. De plus, elles ne sont fabriquées qu’en petites séries.
- Il faut recourir à des matériaux spéciaux, à des solutions techniques complexes et à
des étapes supplémentaires de fabrication.

20
Introduction Généralités Calcul Binaire Dauphin Intel 8086
II - Conception / Production des Circuits Intégrés

II - 2 - Production des Circuits Intégrés

Salle Blanche

Problématique

A l’échelle d’une puce, un minuscule grain de poussière représente un rocher qui bouche les
chemins creusés pour la circulation des électrons.

Solution

 La fabrication se fait en « Salle Blanche » où L’air est filtré : Il contient 100 000 à 1 million de
fois moins de poussières que l’air extérieur.

 Les opérateurs portent en permanence une combinaison qui les couvre presque des pieds à
la tête, et retient les particules organiques et les poussières qu’ils génèrent naturellement.

 Des opérations de nettoyage des tranches sont menées entre les étapes de fabrication. Au
total, elles représentent presque un tiers du temps total de process.
21
Introduction Généralités Calcul Binaire Dauphin Intel 8086
II - Conception / Production des Circuits Intégrés

II - 2 - Production des Circuits Intégrés

Matière première

 Le matériau de base du circuit intégré est le silicium (semi-


conducteur), élément chimique le plus répandu sur terre.

 Le silicium est extrait du sable par un procédé chimique, il est


cristallisé sous forme de barreaux de 20 ou 30 cm de diamètre.

 Les barreaux sont sciés en tranches (galettes / wafers) de moins


d’un millimètre d’épaisseur qui sont polies jusqu’à obtenir des
surfaces lisses à 0,5 nanomètre près.

 C’est sur cette tranche que des centaines de puces sont fabriquées
simultanément.

22
Introduction Généralités Calcul Binaire Dauphin Intel 8086
II - Conception / Production des Circuits Intégrés

II - 2 - Production des Circuits Intégrés

Procédé de Fabrication

 Préparation de la couche : on expose le wafer à du dioxygène (O2) pûr


après chauffage pour qu’une couche isolante de Silice (SIO2) se place
en surface, ensuite le wafer est recouvert d'un vernis photosensible.

 Transfert : on transfère le dessin du circuit à reproduire sur la surface


photosensible à l'aide d'un masque (en verre/chrome), en l'exposant
aux ultraviolets. Le vernis non soumis aux rayonnements est dissout
grâce à un solvant spécifique.

 Gravure : l'oxyde de silicium est protégé par le vernis aux endroits


exposés aux ultraviolets. Un agent corrosif va creuser la couche
d'oxyde aux endroits non protégés.

23
Introduction Généralités Calcul Binaire Dauphin Intel 8086
II - Conception / Production des Circuits Intégrés

II - 2 - Production des Circuits Intégrés

Procédé de Fabrication

 Dopage : on dissout ensuite le vernis non-exposé avec un autre


solvant, et des ions métalliques, appelés dopants, sont introduits
dans le silicium exposé là où l'oxyde a été creusé, afin de le rendre
conducteur.

 Couche suivante : l'opération est renouvelée pour créer les couches


successives du circuit intégré ou du microprocesseur (jusqu'à 20).

 I/O : On dépose une pellicule métallique aux endroits où le circuit


devra être en contact avec les broches de sortie.

 Test : Les circuits intégrés sont testés directement sur le wafer. Les
puces défectueuses sont marquées.

 Découpe : Le wafer est finalement découpé au moyen d'une scie


circulaire au diamant d'une épaisseur de 0.02mm ou via un procédé
de découpe laser pour obtenir finalement des die. 24
Introduction Généralités Calcul Binaire Dauphin Intel 8086
III - Production / Conception des Packages Electronique

Fig. puce électronique: Die (puce)

Fig. chassie d’un système électronique


Fig. package électronique: BGA
25
Introduction Généralités Calcul Binaire Dauphin Intel 8086
III - Production / Conception des Packages Electronique

III - 1 - Production des Packages Electroniques : exemple du BGA

Die : Puce

26
Introduction Généralités Calcul Binaire Dauphin Intel 8086
III - Production / Conception des Packages Electronique

III - 1 - Production des Packages Electroniques : exemple du BGA

Die : Puce

Die Attach process

Die Attach
Substrat

27
Introduction Généralités Calcul Binaire Dauphin Intel 8086
III - Production / Conception des Packages Electronique

III - 1 - Production des Packages Electroniques : exemple du BGA

Die : Puce

Die Attach process

Die Attach
Substrat

Wire Bonding
Process
Wire Bond

28
Introduction Généralités Calcul Binaire Dauphin Intel 8086
III - Production / Conception des Packages Electronique

III - 1 - Production des Packages Electroniques : exemple du BGA

Die : Puce

Die Attach process

Die Attach
Substrat

Wire Bonding
Process Mold : Plastic
Wire Bond

Molding 29
Process
Introduction Généralités Calcul Binaire Dauphin Intel 8086
III - Production / Conception des Packages Electronique

III - 1 - Production des Packages Electroniques : exemple du BGA

Die : Puce

Die Attach process

Die Attach
Substrat

Ball
Balls Attach
Process
Wire Bonding
Process Mold : Plastic
Wire Bond

Molding 30
Process
Introduction Généralités Calcul Binaire Dauphin Intel 8086
III - Production / Conception des Packages Electronique

III - 2 - Conception des Packages Electroniques

Caractérisation thérmique : JEDEC 2S2P


PCB

 La performance thermique des package


électroniques est critique pour la fiabilité
et le bon fonctionnement des systèmes
électroniques: la température de jonction
Zoom in
ne doit pas dépasser le maximum
autorisé.

 L’ingénieur mécanicien a pour mission de


concevoir des packages à faible résistance
thermique afin de favoriser le transfert de
chaleur.

BGA-97

31
Fig. champ de température d’un package Level 2
Introduction Généralités Calcul Binaire Dauphin Intel 8086
III - Production / Conception des Packages Electronique

III - 2 - Conception des Packages Electroniques

Caractérisation Thermo-Mécanique : Warpage

 Durant leur production, les packages


électroniques s’exposent à différent niveau
de températures, les pics peuvent ainsi
atteindrent 265°c lors du procédé Reflow.

 Le miss-match entre les CTE des différentes


couches de matériaux entraîne la Fig. out of plane warpage for μBGA 1010
déformation (Warpage) des packages par
rapport à un état idéal de planéité.

 Si le warpage est excessif, il peut provoquer


des court-circuit ou des difficultés pour
souder les billes du coté package ainsi que
du coté PCB.
Fig. Solder-Balls attach faillures 32
Introduction Généralités Calcul Binaire Dauphin Intel 8086
III - Production / Conception des Packages Electronique

III - 2 - Conception des Packages Electroniques

Caractérisation Thermo-Mécanique : Contraintes Mécanique

Die

Substra
te
 Le warpage entraîne aussi de fortes contraintes
au niveau des interfaces des couches de
matériaux ce qui peut amener au crack de la
Zoom
die et/ou le délaminage. in

Maximum
stress in
Die corners

33
Fig. Stress into μBGA 10 10 @ 25 C°
Introduction Généralités Calcul Binaire Dauphin Intel 8086
III - Production / Conception des Packages Electronique

III - 2 - Conception des Packages Electroniques

Caractérisation Thermo-Mécanique : Fatigue des Joints

 Le test accéléré de température cycling est


fréquemment appliqué dans les labos de
fiabilité au packages level 2 (package + PCB)
afin de déterminer la robustesse des joints de
soudure à résister au stress mécanique induit
par la variation de la température dans le
temps.

 La prédiction du temps de vie des joints de Most Critical


Solder Ball
soudure par la simulation dans la phase de
conception (avant prototypage) fournit une
estimation rapide de la fiabilité attendue. La
prédiction du temps de vie des joints estime
correctement l'emplacement du joint le plus
critique ainsi et l'emplacement du crack. 34
Fig. 1/8 level 2 F.E. Model for μBGA 10 10
Introduction Généralités Calcul Binaire Dauphin Intel 8086
III - Production / Conception des Packages Electronique

III - 2 - Conception des Packages Electroniques

Caractérisation Electromagnétique

 La Caractérisation Electromagnétique consiste à simuler la Compatibilité Electromagnétique


des Packages Electroniques .

 La Compatibilité Electromagnétique (CEM) est l'aptitude d'un système électrique /


électronique, à fonctionner dans son environnement électromagnétique de façon
satisfaisante, sans produire lui-même des perturbations électromagnétiques intolérables
pour tout ce qui se trouve dans cet environnement.

35
Introduction Généralités Calcul Binaire Dauphin Intel 8086
IV - Environnements de programmation des systèmes à base de microprocesseurs

Le Processeur/Microprocesseur est un composant électronique

qui exécute les instructions des programmes informatiques

36
Introduction Généralités Calcul Binaire Dauphin Intel 8086
IV - Environnements de programmation des systèmes à base de microprocesseurs

IV - 1 - Langage Machine

 Le langage machine, ou code machine, est la suite de bits qui est interprétée par le
processeur d'un ordinateur exécutant un programme informatique.

 Le langage machine et le langage natif d'un processeur, c'est le seul qu'il puisse traiter. Il est
composé d'instructions et de données à traiter codées en binaire.

 Chaque instruction déclenche une commande de la part du processeur (par exemple :


chercher une valeur dans la mémoire pour charger un registre, additionner deux registres,
etc).

 Un programme est une longue séquence d'instructions qui sont exécutées par le processeur.

 Les instructions sont exécutées séquentiellement sauf quand une instruction de SAUT
transfère l'exécution à une autre instruction que celle qui suit.

 L’ensemble des instructions d’un langage machine est appelé Jeu d’Instructions. chaque
famille de processeur utilise un jeu d'instructions différent.
37
Introduction Généralités Calcul Binaire Dauphin Intel 8086
IV - Environnements de programmation des systèmes à base de microprocesseurs

IV - 2 - Langage Haut Niveau

 A l'aube des ordinateurs, le langage machine était le seul disponible pour développer des
applications.

 Il est aujourd'hui très long et fastidieux de développer en binaire (en langage machine).

 Il faut passer par des langages de programmation intermédiaires (de haut niveau) plus aisés
à employer.

 Les langages de programmation de haut niveau (Matlab, C/C++, Pascal, Fortran, …) sont
transformés en langage machine lors de la compilation.

 Le compilateur traduit un code source écrit dans un langage de programmation de haut


niveau en langage machine.

 Le programme en langage machine produit par un compilateur est appelé code objet.
38
Introduction Généralités Calcul Binaire Dauphin Intel 8086
IV - Environnements de programmation des systèmes à base de microprocesseurs

IV - 3 - Langage assembleur (Langage bas niveau)

 Le langage assembleur possède quasiment les mêmes instructions que le langage machine.

 Il représente le langage machine sous une forme lisible par un humain : Les combinaisons de
bits du langage machine sont représentées par des symboles dits « mnémoniques ».

 Mnémoniques (du grec mnêmonikos relatif à la mémoire) : faciles à retenir.

 L'assembleur (ou langage assembleur) diffère d'une famille de processeur à une autre, bien
que les instructions sont très semblables.

 Le langage assembleur est plus facile à convertir en langage machine.

 Le programme assembleur convertit les mnémoniques en langage machine.

39
Introduction Généralités Calcul Binaire Dauphin Intel 8086
IV - Environnements de programmation des systèmes à base de microprocesseurs

IV - 4 - Jeu d’Instructions

les opérations de base qui sont disponibles dans la plupart des jeux d'instructions :
 déplacement :
- chargement d'une valeur dans un registre.
- déplacement d'une valeur depuis un emplacement mémoire dans un registre, et
inversement.
 calcul :
- addition, ou soustraction des valeurs de deux registres et chargement du résultat dans
un registre.
- combinaison de valeurs de deux registres suivant une opération booléenne (ou
opération bit à bit).
 modification du déroulement du programme :
- saut à un autre emplacement dans le programme (normalement, les instructions sont
exécutées séquentiellement, les unes après les autres).
- saut à un autre emplacement, mais après avoir sauvegardé l'instruction suivante afin
de pouvoir y revenir (point de retour).
 comparaison :
- comparer les valeurs de deux registres.
40
Introduction Généralités Calcul Binaire Dauphin Intel 8086
IV - Environnements de programmation des systèmes à base de microprocesseurs

IV - 5 - Compatibilité / Familles de Processeurs

PC1 muni du µP1

OUI OUI

NON NON

PC1 muni du µP1 PC1 muni du µP2

NB: Le code machine ainsi que le langage Assembleur associé diffère d’un processeur à un 41
autre.
Introduction Généralités Calcul Binaire Dauphin Intel 8086
IV - Environnements de programmation des systèmes à base de microprocesseurs

IV - 5 - Compatibilité / Familles de Processeurs

PC1 muni du µP1


??
OUI OUI

NON NON

PC1 muni du µP1 PC1 muni du µP2

NB: Le code machine ainsi que le langage Assembleur associé diffère d’un processeur à un 42
autre.
Introduction Généralités Calcul Binaire Dauphin Intel 8086
IV - Environnements de programmation des systèmes à base de microprocesseurs

IV - 5 - Compatibilité / Familles de Processeurs

PC1 muni du µP1

OUI OUI

NON NON

PC1 muni du µP1 PC1 muni du µP2

NB : Si deux µP partagent le même jeu d’instructions (donc partagent le même code machine),
43
alors, on dit qu’ils sont compatibles.
Introduction Généralités Calcul Binaire Dauphin Intel 8086
IV - Environnements de programmation des systèmes à base de microprocesseurs

IV - 5 - Compatibilité / Familles de Processeurs

PC1 muni du µP1

OUI OUI

NON NON

PC1 muni du µP1 PC1 muni du µP2

NB : Si deux µP partagent le même jeu d’instructions (donc partagent le même code machine),
44
alors, on dit qu’ils sont compatibles.
Introduction Généralités Calcul Binaire Dauphin Intel 8086
IV - Environnements de programmation des systèmes à base de microprocesseurs

IV - 5 - Compatibilité / Familles de Processeurs

PC1 muni du µP d’Intel « Intel CORETM 2 Duo »

OUI OUI

NON NON

PC2 muni du µP d’Intel « Intel CORETM 2 Duo » PC3 muni du µP d’AMD « AMD TurionTM II »

N.B : Les µP d’Intel et AMD conçus pour les PC sont compatibles « ×86 ». 45
Introduction Généralités Calcul Binaire Dauphin Intel 8086
IV - Environnements de programmation des systèmes à base de microprocesseurs

IV - 5 - Compatibilité / Familles de Processeurs

PC1 muni du µP d’Intel « Intel CORETM 2 Duo »

OUI OUI

NON NON

PC2 muni du µP d’Intel « Intel CORETM 2 Duo » PC3 muni du µP d’AMD « AMD TurionTM II »

N.B : Les µP d’Intel et AMD conçus pour les PC sont compatibles « ×86 ». 46
Introduction Généralités Calcul Binaire Dauphin Intel 8086
IV - Environnements de programmation des systèmes à base de microprocesseurs

IV - 5 - Compatibilité / Familles de Processeurs

 Le langage machine est le seul langage qu'un processeur puisse exécuter. Or chaque famille
de processeur utilise un jeu d'instructions différent.

 Si un processeur A est capable d'exécuter toutes les instructions du processeur B, on dit que
A est compatible avec B.
L'inverse n'est pas forcément vrai : A peut avoir des instructions supplémentaires que B ne
connaît pas.

 La famille « x86 » regroupe les microprocesseurs compatibles avec le jeu d'instructions de


l'Intel 8086.

 Un constructeur de µP pour PC doit maintenir une compatibilité ascendante avec le jeu


d'instructions « x86 » s'il veut que les logiciels déjà écrits fonctionnent sur ses µP.

47
Introduction Généralités Calcul Binaire Dauphin Intel 8086
IV - Environnements de programmation des systèmes à base de microprocesseurs

IV - 6 - Usage du Langage Assembleur

Avantages:
Les programmes développés en assembleur sont plus optimisés et donc ils :
 nécessitent une mémoire réduite,
 tournent vite  exigent moins d’énergie électrique

Inconvénients :
Les programmes développés en assembleur sont plus couteux puisqu’ils sont plus difficile à:
 écrire
 lire
 maintenir

48
Introduction Généralités Calcul Binaire Dauphin Intel 8086
IV - Environnements de programmation des systèmes à base de microprocesseurs

IV - 6 - Usage du Langage Assembleur

 Les systèmes embarqués, souvent à base de microcontrôleurs sont souvent très limités en
ressources (autonomie, mémoire, vitesse de calcul) requièrent donc une programmation de
bas-niveau très optimisée pour en exploiter les possibilités.

 La programmation des systèmes embarqués est une « niche » traditionnelle pour la


programmation en assembleur (Vu ses avantages).

 L'évolution du matériel fait que les composants de systèmes embarqués deviennent de plus
en plus puissants (accroissement de la mémoire et de la vitesse de calcul) à un coût et à une
consommation électrique constants.

 l'investissement dans une programmation « tout assembleur » beaucoup plus coûteuse en


heures de travail et qui pose toujours d'énormes problèmes pour la maintenance et
l'évolution des logiciels embarqués ne devient plus défendables en termes d'efforts.

 Désormais, on utilise de plus en plus des langages de haut niveau, notamment le langage C++
, capable de faciliter la programmation de microcontrôleurs.
49
Introduction Généralités Calcul Binaire Dauphin Intel 8086
I - Introduction

 L'homme calcule depuis 2000 ans avant Jésus-Christ avec 10 chiffres (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
: on calcule dans la base décimale (ou base 10).

 Dans des civilisations plus anciennes ou pour certaines applications actuelles d'autres bases
de calcul ont été et sont toujours utilisées :

- base binaire (2) : utilisée par l'ensemble des technologies numériques ;

- base quinaire (5) : utilisée par les Mayas ;

- base octale (8) : utilisée pour condenser les écritures en base binaire ;

- base duodécimale (12) : utilisée dans le système d'heure par les anglo-saxons ;

- base hexadécimale (16) : utilisée pour condenser les écritures en base binaire ;

- base vicésimale (24) : utilisée dans le système d'heure par les francophones ;

- base sexagésimale (60) : utilisée par les Sumériens. Cette base est également utilisée
dans le système horaire actuel, pour les minutes et les secondes. 50
Introduction Généralités Calcul Binaire Dauphin Intel 8086
II - Représentation des nombres

51
Introduction Généralités Calcul Binaire Dauphin Intel 8086
II - Représentation des nombres

II - 1 - Base Décimale : b = 10 ; ai = {0 .. 9}

II - 2 - Base Binaire : b = 2 ; ai = {0 ou 1}

52
Introduction Généralités Calcul Binaire Dauphin Intel 8086
III - Conversion entre les bases

III - 1 - Conversion du Binaire au Décimale : Méthode Polynômiale

53
Introduction Généralités Calcul Binaire Dauphin Intel 8086
III - Conversion entre les bases

II - 2 - Conversion du Décimale au Binaire : Méthode Itérative // Partie entière

54
Introduction Généralités Calcul Binaire Dauphin Intel 8086
III - Conversion entre les bases

II - 2 - Conversion du Décimale au Binaire : Méthode Itérative // Partie Entière

55
Introduction Généralités Calcul Binaire Dauphin Intel 8086
III - Conversion entre les bases

II - 2 - Conversion du Décimale au Binaire : Méthode Itérative // Partie Fractionnaire

56
Introduction Généralités Calcul Binaire Dauphin Intel 8086
III - Conversion entre les bases

II - 2 - Conversion du Décimale au Binaire : Méthode Itérative // Partie Fractionnaire

57
Introduction Généralités Calcul Binaire Dauphin Intel 8086
IV - Nombres Négatifs / Complément à 2

 Pour représenter le signe moins ( - ), on a pas d’autre choix que d’utiliser un bit
supplémentaire.

 Par convention, le bit de signe est le Bit du Poids Fort.


--------------
IV - 1 - Complément à 2 (2n) en n bits

 Supposons que l’on utilise n bits : On a 2n valeurs binaires (de 0 à 2n - 1).


 Pour réserver un bit de signe, on choisit PAR CONVENTION de diviser les valeurs possibles en
deux :
- 2n / 2 nombres positifs : 0 à (2n / 2) - 1
- 2n / 2 nombres négatifs : - 2n / 2 à -1
 Le bit de signe est le Bit le Plus Significatif « MSB » : c’est le Bit du Poids Fort (extrême
gauche) :
- Si le MSB vaut 0, le nombre est positif
- Si le MSB vaut 1, le nombre est négatif
58
 Pour représenter les nombres négatifs on écrit: -| N | = 2n -|N|
Introduction Généralités Calcul Binaire Dauphin Intel 8086
IV - Nombres Négatifs / Complément à 2n

IV - 2 - Complément à 2 en 8 bits

 Avec 8 bits : On a 28 =256 valeurs binaires (de 0 à 255).

 On divise les 256 valeurs en 2 :


128 nombres positifs (0 à 127) 128 nombres négatifs (-128 à -1)

 Pour représenter les nombres négatifs on écrit:


–| N | = 28 – | N | = 256 – | N | 59
Introduction Généralités Calcul Binaire Dauphin Intel 8086
IV - Nombres Négatifs / Complément à 2n

 Exemples:

-3 256 - 3 = 253 1111 1101


- 128 256 - 128 = 128 1000 0000

IV - 3 - Complément à 2 = Complément à 1 + 1

 Pour trouver la valeur négative d’un nombre de manière simple : on inverse les bits
(complément à 1) et on ajoute 1.

 Exemples :

60
Introduction Généralités Calcul Binaire Dauphin Intel 8086
V - Addition - Soustraction

V - 1 - Addition

 Nous avions déjà vu comment on additionne (+1) à un nombre (complément à 1 + 1).

 L’addition de façon générale s’effectue de la même manière:

 la retenue R sera éliminée par la suite puisque la longueur des nombres (nombre de bits) est
limité.

61
Introduction Généralités Calcul Binaire Dauphin Intel 8086
V - Addition - Soustraction

V - 1 - Addition

 Exemples:

62
Introduction Généralités Calcul Binaire Dauphin Intel 8086
V - Addition - Soustraction

V - 1 - Addition

 Exemples:

63
Introduction Généralités Calcul Binaire Dauphin Intel 8086
V - Addition - Soustraction

V - 2 - Soustraction

 N1 - N2 = N1 + ( - N2 )

 Exemples:

64
Introduction Généralités Calcul Binaire Dauphin Intel 8086
V - Addition - Soustraction

V - 3 - Débordement

 Examinons ce cas :

Le problème est qu’en complément à 2 avec 4 bits, il n’y a pas de représentation de + 8.

 Lorsque le résultat de l’opération n’est pas représentable, on parle de DÉBORDEMENT de


l’opération +/-.

 Exemple :

65
Introduction Généralités Calcul Binaire Dauphin Intel 8086
VI - Multiplication - Division

VI - 1 - Multiplication

 Exemple : Multiplication de 2 entiers positif non signés

66
Introduction Généralités Calcul Binaire Dauphin Intel 8086
VI - Multiplication - Division

VI - 2 - Division

 Exemple : Division de 2 entiers positif non signés

67
Introduction Généralités Calcul Binaire Dauphin Intel 8086
VII - Décalage

VII - 1 - Décalage à droite

 Chaque décalage à droite correspond à une division par deux :

68
Introduction Généralités Calcul Binaire Dauphin Intel 8086
VII - Décalage

VII - 1 - Décalage à gauche

 Chaque décalage à gauche correspond à une multiplication par deux :

69
Introduction Généralités Calcul Binaire Dauphin Intel 8086
I - Introduction

 A ce stade, on a vu l’essentiel des étapes de productions des CIs et du calcul binaire.

 Maintenant et dans un premier temps, on va décortiquer le Processeur et analyser ses


composants pour comprendre son fonctionnement.

 Dans un deuxième temps, on s’intéressera à la programmation bas niveau des Processeurs :


on commencera par des exemples simples et on élèvera le niveau en fur et à mesure de
l’avancement.

 Pour atteindre ces objectifs (Comprendre et programmer les Processeurs), on utilisera un


outil didactique nommé « Dauphin » de la manière suivante :
1. Un composant et/ou un fonctionnement est décrit pour les processeurs en général.
2. Puis, analyser sur Dauphin.

70
Introduction Généralités Calcul Binaire Dauphin Intel 8086
I - Dauphin

I - 1 - le vrai Dauphin

 Le dauphin est un système conçu en 1977 dont le but de fournir un outil simplifié pour la
formation aux systèmes à base de microprocesseurs.

 Ce système livré en kit a rencontré un grand succès en Suisse romande, permettant à de


nombreux passionnés de s’initier à l’informatique.

71
Introduction Généralités Calcul Binaire Dauphin Intel 8086
I - Dauphin

I - 2 - le simulateur de Dauphin

 Les créateurs de Dauphin ont créé un simulateur qui reproduit les même fonctionnalités de
leur système, et ce, pour fêter ses 30 ans.

 le simulateur de Dauphin à pour rôle d’initier à l’apprentissage des bases de la


programmation en langage bas niveau.

72
Introduction Généralités Calcul Binaire Dauphin Intel 8086
II - Système Binaire / Hexadécimal

II - 1 - Système Binaire

 Un ordinateur moderne est composé de plusieurs milliards de transistors, qui ont la


particularité de fonctionner en « tout ou rien » : Un transistor conduit l’électricité ou ne la
conduit pas.

 L’information véhiculée par un fil peut donc prendre deux états : 0 ou 1 : On parle de système
binaire.

 L’information la plus petite gérée par un ordinateur est le bit, qui peut prendre les états 0 ou
1 : Un bit permet de représenter deux valeurs.

 Par exemple, on pourrait utiliser un bit pour déterminer si un Feu est vert ou rouge. Si le bit
est à zéro, le Feu est vert, et s’il est à un, il est rouge :

73
Introduction Généralités Calcul Binaire Dauphin Intel 8086
II - Système Binaire / Hexadécimal

II - 1 - Système Binaire

 Deux bits permettent de représenter quatre valeurs :

 Si on ajoute un troisième bit, on pourra représenter huit valeurs. Par exemple, trois bits
permettraient de déterminer un jour de la semaine, la huitième valeur étant ici inutilisée :

 l’ajout d’un bit double à chaque fois le nombre de valeurs possibles. 74


Introduction Généralités Calcul Binaire Dauphin Intel 8086
II - Système Binaire / Hexadécimal

II - 1 - Système Binaire

 Avec huit bits, on arrive à représenter 256 valeurs : c’est suffisant pour définir un caractère
(lettre minuscule ou majuscule, chiffre, signe de ponctuation, etc.).

 En informatique, un ensemble de huit bits est appelé un octet (byte).

 En binaire, le nombre 250 s’écrit : 11111010

La notation binaire est elle pratique ??

75
Introduction Généralités Calcul Binaire Dauphin Intel 8086
II - Système Binaire / Hexadécimal

II - 2 - Système Hexadécimal

 L’usage de la notation (condensée) hexadécimal est plus pratique.

 La notation en hexadécimal consiste à regrouper les bits par quatre.

 Un groupe de quatre bits permet de représenter 16 valeurs. On utilise :

- les chiffres 0 à 9 pour les dix premières

- les lettres A à F pour les six dernières

76
Introduction Généralités Calcul Binaire Dauphin Intel 8086
II - Système Binaire / Hexadécimal

II - 2 - Système Hexadécimal

 La conversion vers le système décimal est réalisée en effectuant la somme :

où n est le nombre de chiffres et où hi est la valeur du chiffre hexadécimal à la position i.

 Afin d’éviter les confusions, on précède un nombre:


- décimal de « D’ »
- hexadécimal de « H’ ».

 Exemple:

H’15AACF7 = D’ (1×166 + 5×165 + 10×164 + 10×163 + 12×162 + 15×161 + 7×160) = 22719735.

77
Introduction Généralités Calcul Binaire Dauphin Intel 8086
III - Mémoire

III - 1- Définition

 La mémoire d’un ordinateur (est un composant essentiel) sert à stocker les données et les
programmes.

 Quelle que soit sa nature, sa complexité ou sa taille, on effectue sur la mémoire d’un
ordinateur que deux opérations élémentaires :
- Ecrire (write) : consiste à mettre une valeur dans la mémoire.
- Lire (read) : consiste à retrouver une valeur précédemment écrite.

 Les mémoires sont souvent regroupées en octets : 1 octet = 8 bits

 Par exemple une mémoire de 32 bits peut être considérée comme une commode ayant 4
tiroirs. numérotés de 0 à 3, et chaque tiroir contient 8 bits.

78
Introduction Généralités Calcul Binaire Dauphin Intel 8086
III - Mémoire

III - 2- Types de mémoires

 RAM (Random Access Memory) est :


- Une mémoire où chaque information stockée peut en tout temps être
consultée/éditées.
- Rapide d'accès, elle permet une communication rapide des données avec le processeur.
- Volatile : toutes les données qui y sont stockées sont perdues dès que le système cesse
d'être alimenté en électricité.

 ROM (Read Only Memory) est :


- Une mémoire où les informations ne peuvent pas être modifiées.
- Utilisé entre autres pour :
• Le démarrage des ordinateur (BIOS )
• stocker définitivement des logiciels.
79
Introduction Généralités Calcul Binaire Dauphin Intel 8086
III - Mémoire

III - 3- Bus

 Reprenons l’exemple de la mémoire de 32 bits:

 Il faut quoi comme information pour manipuler un octet (en lecture ou écriture) ??

 Les informations dont on doit disposer pour manipuler un octet :


- L’action : écrire ou lire
- L’adresse
- La donnée
80
Introduction Généralités Calcul Binaire Dauphin Intel 8086
III - Mémoire

III - 3- Bus

 Comment véhiculer physiquement les informations (action, adresse et donnée) dont on


doit disposer pour manipuler un octet ?

 Les informations sont véhiculées via des connections qui forment un BUS.

 Reprenons notre exemple. Quel est le nombre de fils nécessaires pour gérer une mémoire
de 4 octets (32 bits) ??

81
Introduction Généralités Calcul Binaire Dauphin Intel 8086
III - Mémoire

III - 3- Bus

 8 connections pour les données

 2 connections pour les adresses (0 à 3). Effectivement: 22 = 4

 2 connections (Ecrit et Lit) permettent d’agir sur la mémoire :


o Une impulsion sur le fil « écrit » place la valeur présente sur le bus de données dans le
tiroir désigné par le bus d’adresse.
o Une impulsion sur le deuxième fil place le contenu du tiroir choisi par le bus d’adresse
sur le bus de données; on lit la mémoire.

82
Introduction Généralités Calcul Binaire Dauphin Intel 8086
III - Mémoire

III - 4- Mémoire de Dauphin

 La taille de la de mémoire RAM de Dauphin est de 2048 o.

 Quelle taille (en bits) doit avoir le bus d’adresse pour adresser la mémoire RAM de
dauphin?

2(taille du bus d’adresse) = mémoire (en octet)

Taille du bus d’adresse = ln(mémoire) / ln(2) = 11

Il faut un bus d’adresse de 11 bits pour adresser la mémoire RAM de dauphin.

83
Introduction Généralités Calcul Binaire Dauphin Intel 8086
III - Mémoire
III - 4- Mémoire de Dauphin
 Exercice pratique : lire et écrire sur la mémoire de dauphin

84
Introduction Généralités Calcul Binaire Dauphin Intel 8086
III - Mémoire
III - 4- Mémoire de Dauphin
 Exercice pratique : lire et écrire sur la mémoire de dauphin

85
Introduction Généralités Calcul Binaire Dauphin Intel 8086
IV - Processeur

IV - 1- Principe de Base d’un Processeur

 le principe de base d’un processeur :


1. Lire une instruction en mémoire.
2. Exécuter l’instruction et passer à l’adresse suivante.
3. Recommencer à l’infini.

 La programmation consiste à remplir la mémoire avec des instructions que le processeur va


suivre à la lettre, et qui vont déterminer les tâches effectuées par le programme.

 Dans la section précédente, on a agit manuellement


sur les Bus pour montrer leur fonctionnement.

 En réalité (fonctionnement normal d’un système à


base de processeur), c’est le processeur qui prend le
control des Bus d’adresses et des données.

86
Introduction Généralités Calcul Binaire Dauphin Intel 8086
IV - Processeur

IV - 2- Structure d’un Processeur en Général

87
Introduction Généralités Calcul Binaire Dauphin Intel 8086
IV - Processeur

IV - 2- Structure d’un Processeur en Général

Unité de Calcul
Registres mémoires élémentaires pouvant contenir chacune un opérande (valeur/donnée).
ALU « Arithmetic & Logic Unit » reçoit les opérandes placés dans les registres et
effectue sur eux des opérations logiques ou arithmétiques élémentaires.
Unité de Control
Horloge génère un signal carré qui a une fréquence fixe qui permet le cadencement et la
synchronisation de toutes les opérations. a chaque coup (front) d'horloge, le
processeur réalise une tache élémentaire. L'exécution d'une instruction nécessite
plusieurs coups d'horloges.
PC « Program Counter » est un registre qui contient l'adresse mémoire où est stockée
le prochain élément d'instruction qui devra être chargé dans le processeur pour
être analysé et exécuté.
RI « Registre d’Instructions » stocke l’instruction en cours d’exécution.
Décodeur décode pour le séquenceur l’instruction placée dans RI.
Séquenceur gère le séquencement des opérations en générant les signaux de commande qui
vont activer tous les éléments qui participeront à l'exécution de l'instruction.
RE « Registre d’Etat » est formé de plusieurs bits appelés drapeaux (Flags) qui sont
88
modifiés par l'ALU après chaque opération.
Introduction Généralités Calcul Binaire Dauphin Intel 8086
IV - Processeur

IV - 3 - Processeur de Dauphin

Caractéristiques:

Bus

Dauphine a un processeur 8 bits dont Le bus des données est de largeur 8 bits et celui
d’adresses est de largeur 12 bits.

Registres

PC Registre Pointeur d’Instructions


SP Registre Pointeur de Pile
F Registre d’Etat : bits activés si
C arry dépassement de capacité de 1
Z éro Résultat nul
N égatif Résultat négatif
A & B Registres Généraux
X&Y Registres Généraux utilisés notamment
89
pour l’adressage
Introduction Généralités Calcul Binaire Dauphin Intel 8086
IV - Processeur

IV - 3 - Processeur de Dauphin

Exercice pratique :

Comment se comporte Dauphine lorsqu’on suit les étapes ci-dessus ?

Interprétation :

90
Introduction Généralités Calcul Binaire Dauphin Intel 8086
V - Périphériques

V - 1 - Définition

 Les périphériques d’un système à base de processeur sont des dispositifs qui permettent au
CPU de communiquer avec l’extérieure.

 Il y a deux types de périphériques :

- les périphériques d'entrée qui servent à fournir des informations au système


informatique :
clavier , souris , scanner, micro, capteurs, etc.

- les périphériques de sortie qui servent à faire sortir des informations du système
informatique :
écran, imprimante, actionneurs, etc.

91
Introduction Généralités Calcul Binaire Dauphin Intel 8086
V - Périphériques

V - 2 - Périphériques de Dauphine :

 pour dialoguer avec l’utilisateur Le Dauphin dispose de trois périphériques rudimentaires :


- Un clavier de dix touches.
- Quatre afficheurs sept segments.
- Un écran bitmap.

 Ces périphériques sont dans le panneau inférieur droite du simulateur.

 Mais si on clique sur les touches, il ne se passe rien coté affichage.

Pourquoi ?

 C’est tout à fait normal. Au stade actuel, aucun programme ne fonctionne. les périphériques
sont donc inactifs.

92
Introduction Généralités Calcul Binaire Dauphin Intel 8086
V - Périphériques

V - 2 - Périphériques de Dauphine : Afficheurs Sept Segments

Exercice pratique :

93
Introduction Généralités Calcul Binaire Dauphin Intel 8086
V - Périphériques

V - 2 - Périphériques de Dauphine : Afficheurs Sept Segments

Exercice pratique xx :

Interprétation :

94
Introduction Généralités Calcul Binaire Dauphin Intel 8086
V - Périphériques

V - 2 - Périphériques de Dauphine : Clavier

Exercice pratique :

Interprétation :

95
Introduction Généralités Calcul Binaire Dauphin Intel 8086
VI - Jeu d’Instructions

VI - 1 - Saut (Branchement) : JUMP

Exercice pratique : Saut en avant

96
Introduction Généralités Calcul Binaire Dauphin Intel 8086
VI - Jeu d’Instructions

VI - 1 - Saut (Branchement) : JUMP

Exercice pratique : Saut en avant

97
Introduction Généralités Calcul Binaire Dauphin Intel 8086
VI - Jeu d’Instructions

VI - 1 - Saut (Branchement) : JUMP

Exercice pratique : Saut en avant

98
Introduction Généralités Calcul Binaire Dauphin Intel 8086
VI - Jeu d’Instructions

VI - 1 - Saut (Branchement) : JUMP

Exercice pratique : Saut en arrière

99
Introduction Généralités Calcul Binaire Dauphin Intel 8086
VI - Jeu d’Instructions

VI - 1 - Saut (Branchement) : JUMP

Exercice pratique : Saut en arrière

100
Introduction Généralités Calcul Binaire Dauphin Intel 8086
VI - Jeu d’Instructions

VI - 2 - Transfert / Addition : MOVE / ADD

Exercice pratique :

101
Introduction Généralités Calcul Binaire Dauphin Intel 8086
VI - Jeu d’Instructions

VI - 3 - Saut conditionnel :

Exercice pratique :

102
Introduction Généralités Calcul Binaire Dauphin Intel 8086
VI - Jeu d’Instructions

VI - 3 - Saut conditionnel :

Exercice pratique :

103
Introduction Généralités Calcul Binaire Dauphin Intel 8086
VI - Jeu d’Instructions

VI - 4 - les Modes d’adressage :

 Dans la suite on utilisera les abréviations suivantes :

Inst : Instruction
Op : Opéronde
R : Registre quelconque : A, B, X ou Y
Radr : Registre d’adressage : X ou Y
Val : Valeur immédiate

 La structure la plus générale d’une instruction est la suivante : Inst Op1 , Op2

 L’opération est réalisée entre les 2 opérandes et le résultat est toujours récupéré dans
l’opérande de droite.

 Il y a aussi des instructions qui agissent sur un seul opérande,

 Les opérandes peuvent être : des registres, des constantes ou le contenu de cases mémoire.
on appelle ça le Mode d’Adressage. 104
Introduction Généralités Calcul Binaire Dauphin Intel 8086
VI - Jeu d’Instructions

VI - 4 - les Modes d’adressage :

Adressage registre :
 L'opération se fait sur un ou 2 registres :
INST R , R
INST R
 Exemples :
INC A : incrémenter le registre A
MOVE B, A : Copier le contenu de B dans A

Adressage Immédiat :
 Un des opérande est une constante (valeur) :
INST Val, R
INST val, Adr
 Exemples :
MOVE #h’F5, A : charger le registre A par le nombre hexadécimal F5
105
ADD #h’A1, B : additionner le registre B par le nombre hexadécimal A
Introduction Généralités Calcul Binaire Dauphin Intel 8086
VI - Jeu d’Instructions

VI - 4 - les Modes d’adressage :

Adressage direct :

 Un des deux opérandes se trouve en mémoire. L’adresse de la case mémoire est précisé
directement dans l’instruction :
INST Adr , R
INST R, Adr
INST Adr, R
 Exemples :
MOVE h’0F5 , A : charger le registre A par le contenu de la case mémoire h’0F5
ADD h’0A1, B : additionner le registre B par le contenu de la case mémoire h’0A1

106
Introduction Généralités Calcul Binaire Dauphin Intel 8086
VI - Jeu d’Instructions

VI - 4 - les Modes d’adressage :

Adressage Indirect/indexé :

 Un des deux opérandes se trouve en mémoire.


L’Offset de l’Adresse n’est pas précisé directement dans l'instruction, il se trouve dans l’un
des 2 registres d’Adressage X ou Y.
Le registre en question sera précisé dans l’instruction :

INST Adr + {Radr}, R


INST val, Adr + {Radr}

Exemples :

MOVE h’0F5+{X}, A : charger le registre A par le contenu de la case mémoire h’(0F5+X)


ADD h’0A1+{Y} , B : additionner le registre B par le contenu de la case mémoire h’(0A1+Y)

107

Vous aimerez peut-être aussi