Vous êtes sur la page 1sur 38

Université Sidi Mohammed Ben Abdellah Ecole

Supérieure de Technologie-Fès Génie


Industriel Et Maintenance

COMPTE RENDU TP
INFORMATIQUE INDUSTRIEL
« Assembleur »

• Réalisé par : • Encadré par :


Anass Farki
Mr.Khatory
Mohamed Tamzaiti
COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

Table de matière
A. Généralités sur l’informatique industrielle : ....................................................... 3
I. Description : ........................................................................................................ 3
II. Domaine d’application : ................................................................................. 3
1) Applications : ............................................................................................................. 3
B. Microprocesseur : .................................................................................................. 3
I. Historique : ......................................................................................................... 3
II. Définition : ....................................................................................................... 4
III. Description : .................................................................................................... 5
1) Les Avantages : .......................................................................................................... 5
2) Les principales caractéristiques d’un microprocesseur : ...................................... 6
IV. Architecture de base d’un microprocesseur : .............................................. 7
1) Unité de commande : ................................................................................................. 7
2) Unité de traitement :.................................................................................................. 8
3) Unité de calcul en virgule flottante : ........................................................................ 8
4) Unité multimédia : ..................................................................................................... 8
C. MC09 :..................................................................................................................... 9
I. Définition : .......................................................................................................... 9
II. Alimentation électrique :.............................................................................. 11
III. Extensions du MC09 : .................................................................................. 11
IV. Programmateur des Eprom :....................................................................... 11
1) Intérêt : ..................................................................................................................... 11
V. Extension de communications : ................................................................... 11
VI. Automate programmable : .......................................................................... 12
VII. Carte d’asservissement moteur : ............................................................. 12
VIII. Convertisseurs : ......................................................................................... 12
1) A/D et D/A 8bits : ..................................................................................................... 12
2) A/D et D/A 12bits : ................................................................................................... 13
IX. Programmation des circuits PIA et VIA : .................................................. 13
X. Les registres du microprocesseur : ............................................................. 14
1) Les registres généraux : .......................................................................................... 14
2) Pointeurs : ................................................................................................................ 15
3) Registres spécialisés :............................................................................................... 15

Génie industriel et Maintenance Page 1


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

4) Le compteur ordinal : (pointeur de programme Pc) : ......................................... 16


5) Le registre d’instruction : ....................................................................................... 16
6) Le registre mot mémoire ou registre de données : ............................................... 16
7) Le registre accumulateur : ...................................................................................... 17
8) Le registre d’état : (PSW Program Status Word) : .............................................. 18
9) Le registre pointeur de pile : (Stack Pointer) : ..................................................... 19
10) Les registres d'index : (index source SI et index destination DI) : .................. 19
XI. Différentes étapes d’exécution :................................................................... 19
1) Recherche de l’instruction à traiter : ..................................................................... 19
2) Décodage de l’instruction et recherche de l’opérande : ....................................... 19
3) Exécution de l’instruction : ..................................................................................... 20
D. Familiarisation avec l’utilisation du microsystème MC09 : ........................ 20
I. Observation de la carte MC09 : ...................................................................... 21
II. Accès en lecture : .......................................................................................... 22
III. Accès en écriture :......................................................................................... 22
IV. Exécution de programme :........................................................................... 23
V. Exécution d’un programme en mode pas à pas avec points d’arrêt : ..... 23
E. Initialisation au logiciel MOTO6809 :................................................................ 25
I. Le logiciel MOTO6809 : .................................................................................. 25
II. Caractéristiques : .......................................................................................... 25
III. Manipulations : ............................................................................................. 26
1) 1er Programme : ....................................................................................................... 26
2) 2 éme programme : .................................................................................................. 29
3) 3éme programme : ................................................................................................... 32

Génie industriel et Maintenance Page 2


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

A. Généralités sur l’informatique industrielle :


L’informatique industrielle est une branche de l’informatique appliquée qui
couvre l’ensemble des techniques de conception, d’analyse et de programmation
de systèmes informatique à vocation industrielle.

I. Description :

Les appareils concernés contiennent au moins un microprocesseur ou un


microcontrôleur, ainsi que des coupleurs d’interfaçage des machines ou
appareillages industriels et de l’informatique.

Une autre définition courante est que l’informatique industrielle regroupe les
programmes de supervision dont les variables représentent des mesures de
grandeurs physiques comme la température d’une cuve, l’état d’un capteur ou la
position d’un bras robotique.

II. Domaine d’application :

Alarme, automobile, aviation, instrumentation, médicale, Téléphonie


mobile, terminaux de paiement par carte bancaire…

1) Applications :
❖ Automates, robotique,
❖ Mesures de grandeurs physiques,
❖ Systèmes temps-réel,
❖ Systèmes embarqués.

B. Microprocesseur :

I. Historique :

Le microprocesseur est l'aboutissement de progrès technologiques tant dans


les domaines mécanique, informatique et électronique.

Quelques dates :

❖ 1690 : Pascal invente la machine à calculer entièrement mécanique


(addition et soustraction)
❖ 1800 : Jacquard invente le métier à tisser avec cartes perforées.

Génie industriel et Maintenance Page 3


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

❖ 1810 : Invention de l'orgue de barbarie (succession de cartes


perforées).
❖ 1940 : Premier ordinateur à relais mécaniques (Navy)
❖ 1946 : Premier ordinateur à tubes à vide (1800). (grande dissipation :
150 kw, problème de rendement et de fiabilité)
❖ 1948 : Progrès de la physique quantique avec découverte de l'effet
transistor.
❖ 1950 : Réalisation des premières mémoires à ferrites.
❖ 1958 : Développement du premier circuit intégré (4 à 5 tr/puce).
❖ 1964 : Ordinateur à transistors (à base de circuits TTL : 50 transistors
dans une puce)
❖ 1970 : Premiers circuits L.S.I.- naissance du premier microprocesseur
4 bits avec 1000 transistors sur une puce.
❖ 1975 : Naissance du microprocesseur Motorola 6800 (8 bits).
❖ 1980 : Apparition du microprocesseur 16 bits avec 50000 transistors
sur la puce.
❖ 1984 : Apparition du microprocesseur 32 bits avec un million de
transistor sur la puce.
❖ 1994 : Apparition du Pentium avec 3,5 millions de transistors.

C'est en 1971 que le premier microprocesseur est sorti des laboratoires


d'Intel. Travaillant sur 4 bits et d'une puissance faible l'intérêt de ce nouveau
composant électronique ne fut pas évident jusqu'à ce que l'idée de le transformer
en calculatrice fut trouvée.

Sept ans plus tard, l'arrivée du 8088 multiplie déjà cette puissance de calcul
par 200 !

Cette date correspond à la naissance des véritables micro-ordinateurs.

II. Définition :

Un microprocesseur est un circuit


intégré complexe caractérisé par une très
grande intégration et doté des facultés
d'interprétation et d'exécution des
instructions d'un programme. Il est chargé
d'organiser les tâches précisées par le
Figure 1 : Microprocesseur 6809 programme et d'assurer leur traitement. C'est

Génie industriel et Maintenance Page 4


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

le cerveau du système. Il est parfois appelé CPU (Central Processing Unit) et est
caractérisé par sa fréquence d'horloge (en MHz), sa largeur des bus de données et
d'adresse, sa mémoire adressable, le nombre de transistors 1 et la taille de la
gravure (en microns). Ses performances sont caractérisées par le CPI (Cycle Par
Instruction) et le MIPS (Millions d'Instructions Par Secondes) qui dépendent
directement de la fréquence d'Horloge et son jeu d'instructions.

III. Description :

Jusqu’au début des années 1970, les différents composants électroniques


formant un processeur ne pouvaient tenir sur un seul circuit intégré. On devait
donc les placer sur plusieurs circuits intégrés. En 1971, la société américaine Intel
réussit, pour la première fois, à placer tous les transistors qui constituent un
processeur sur un seul circuit intégré donnant ainsi naissance au microprocesseur.

1) Les Avantages :
Cette miniaturisation a permis :

❖ D’augmenter les vitesses de fonctionnement des processeurs, grâce à


la réduction des distances entre les composants, entre autres ;
❖ De réduire les coûts, grâce au remplacement de plusieurs circuits par
un seul, entre autres ;
❖ D’augmenter la fiabilité : en supprimant les connexions entre les
composants du processeur, on supprime l'un des principaux vecteurs
de panne ;
❖ De créer des ordinateurs bien plus petits : les micro-ordinateurs ;
❖ De réduire la consommation énergétique. Les principales
caractéristiques d'un microprocesseur sont :
❖ Le jeu d'instructions qu’il peut exécuter. Voici quelques exemples
d’instructions que peut exécuter un microprocesseur : additionner
deux nombres, comparer deux nombres pour déterminer s’ils sont
égaux, comparer deux nombres pour déterminer lequel est le plus
grand, multiplier deux nombres,... Un processeur peut exécuter
plusieurs dizaines, voire centaines ou milliers, d’instructions
différentes.
❖ La complexité de son architecture. Cette complexité se mesure par le
nombre de transistors contenus dans le microprocesseur. Plus le
microprocesseur contient de transistors, plus il pourra effectuer des
opérations complexes, et/ou traiter des chiffres de grande taille.
Génie industriel et Maintenance Page 5
COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

❖ Le nombre de bits que le processeur peut traiter ensemble. Les


premiers microprocesseurs ne pouvaient traiter plus de 4 bits d'un
coup. Ils devaient donc exécuter plusieurs instructions pour
additionner des nombres de 32 ou 64 bits. Les microprocesseurs
actuels (en 2007) peuvent traiter des nombres sur 64 bits ensemble. Le
nombre de bits est en rapport direct avec la capacité à traiter de grands
nombres rapidement, ou des nombres d’une grande précision
(nombres de décimales significatives).
❖ La vitesse de l’horloge. Le rôle de l’horloge est de cadencer le rythme
du travail du microprocesseur. Plus la vitesse de l’horloge augmente,
plus le microprocesseur effectue d'instructions en une seconde.
❖ Tout ceci est théorique, dans la pratique, selon l'architecture du
processeur, le nombre de cycles d'horloge pour réaliser une opération
élémentaire peut varier d'un cycle à plusieurs dizaines par unité
d'exécution (typiquement une sur un processeur classique).
❖ Par exemple, un processeur A cadencé à 400 MHz peut être plus
rapide qu'un autre B lui cadencé à 1 GHz, tout dépend de leurs
architectures respectives.
❖ La combinaison des caractéristiques précédentes détermine la
puissance du microprocesseur. La puissance d'un microprocesseur
s’exprime en Millions d'Instructions Par Seconde (MIPS). Dans les
années 1970, les microprocesseurs effectuaient moins d’un million
d’instructions par seconde, les processeurs actuels (en 2007) peuvent
effectuer plus de 10 milliards d’instructions par seconde.

2) Les principales caractéristiques d’un microprocesseur :


On peut citer :

Le format des mots de données :

• 8 bits,
• 16 bits, etc.

La taille de l’espace adressable :

• Dépend du nombre de bits d’adresses :

Ex : 65536 emplacements pour 16 bits.

La puissance de traitement :

Génie industriel et Maintenance Page 6


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

• S’exprime en MIPS (Millions d’instructions par seconde)

Le jeu d’instructions :

• Etendu (CISC)
• Réduit (RISC)

IV. Architecture de base d’un microprocesseur :

Un microprocesseur est construit autour de deux éléments principaux :

❖ Une unité de commande : appelé aussi Unité de commande et de


contrôle (UCC)
❖ Une unité de traitement associé à des registres chargées de stocker les
différentes informations à traiter. Ces trois éléments sont reliés entre
eux par des bus interne permettant les échanges d’informations.

En plus

• Registres chargées de stocker les différentes informations à traiter.

Ces éléments sont reliés par des bus internes permettant les échanges
d’informations.

1) Unité de commande :

C'est la partie commande du microprocesseur. Elle permet de séquencer le


déroulement des instructions. Elle effectue la recherche en mémoire de
Génie industriel et Maintenance Page 7
COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

l'instruction. Comme chaque instruction est codée en binaire, l'unité de commande


assure le décodage pour réaliser l'exécution puis préparer l'instruction suivante.
Elle est composé par :

❖ Le compteur de programme (PC, Program Counter) : registre qui


contient l'adresse de l'instruction à exécuter.
❖ Le registre et le décodeur d'instruction (IR, Instruction Register) :
stockage et décodage des instructions à exécuter.
❖ Le séquenceur : bloc logique de commande qui organise l'exécution
des instructions au rythme d'une horloge. Il élabore tous les signaux
de synchronisation internes ou externes (bus de commande).

2) Unité de traitement :
C'est la partie opérative du microprocesseur. Il s'agit du cœur du
microprocesseur. Cette unité regroupe les circuits qui assurent les traitements
nécessaires à l'exécution des instructions. Elle est composée de :

• Une Unité Arithmétique et Logique (ALU : Arithmetic and Logical


Unit) : ce circuit assure les fonctions logiques (comparaison, décalage,
ET, OU, etc…) et arithmétiques (addition, soustraction, etc…) ;
• Un registre d'état constitué (généralement) de 8 bits dont chacun
représente l'état de la dernière opération effectuée par l'ALU : Les
principaux indicateurs d'état (ou drapeaux : flag) sont la retenue
(Carry), la retenue auxiliaire (AC), le signe (S), le débordement
(overflow), le zéro (Z) et la parité (P) ;
• Des accumulateurs qui sont des registres servant à stocker un opérande
au début et le résultat à la fin d'une opération.

3) Unité de calcul en virgule flottante :


C’est une unité qui est capable de réaliser les opérations de calcul pour les
réels ainsi que les calculs mathématiques et scientifiques complexes.

A l’origine la tâche de cette unité était réalisée par tout un processeur à part,
en 1989 elle a été intégré dans les microprocesseurs afin d’optimiser les calculs.

4) Unité multimédia :
C’est une unité qui est chargée d’accélérer l’exécution des programmes
multimédia comportant des vidéos, du son, graphisme en 3D etc.…

Génie industriel et Maintenance Page 8


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

Cette unité porte le nom de MMX pour le premier pentium (Multimédia


extensions) intégrants des fonctions de gestion du multimédia, de même la
technologie 3DNOW pour les AMD et SSE pour les pentiums III.

Ces unités ont été créées vu la grande tendance vers la multimédia dans tous
les types des programmes informatiques (jeux, logiciels sur Internet,
encyclopédies…).

C. MC09 :

I. Définition :

Le MC09 est un système didactique autonome spécialement conçu pour la


formation au fonctionnement du microprocesseur 6809 et de ses périphériques. Il
est équipé des principaux circuits périphériques du 6809 :

❖ PIA 6821 : boîtier d’entrées/sorties parallèles


❖ TIMER 6840 : circuit intégrant 3 compteurs 16 bits
❖ ACIA 6850 : boîtier d’entrées/sorties séries
❖ VIA 6522 : ce circuit est muni de 2 ports parallèles 8 bits, 2 timers 16
bits registrent à décalage, et 4 lignes de contrôle

Le MC09 est équipé de 5 supports pouvant accueillir :

• Deux RAM de 2 ko

Génie industriel et Maintenance Page 9


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

• Trois EPROM de 4 ko de type 2732

Le MC 09 est équipé d’un clavier de 30 touches pour l’écriture de


programmes en langage machine. Les cases mémoires et les opérandes sont
visualisées sur 6 afficheurs réservés à cet effet. L’acquisition de la carte
d’extension référencée 008 permet d’écrire des programmes en assembleur sur
PC et de télécharger le binaire dans la mémoire vive du système. La souplesse
d’utilisation du moniteur et les nombreuses fonctions utilisables facilitent
l’apprentissage et permettent une maîtrise rapide du fonctionnement des différents
circuits de ce système. Les touches de fonctions permettent : le calcul automatique
des branchements relatifs.

❖ la sauvegarde de programmes sur cassette


❖ la suppression ou l’insertion de un ou plusieurs octets dans un
programme.
❖ la pause de un ou plusieurs points d’arrêts dans un programme. Il est
à noter que les contenus des registres et mémoires peuvent être
visualisés et modifiés pendant le déroulement du mode pas à pas.

Génie industriel et Maintenance Page 10


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

II. Alimentation électrique :

Il y’a deux tensions :

• Tension d’entrée (alternative 220V)


• Tension de sortie (continue 5V)

III. Extensions du MC09 :

Ils permettent d'accéder à l'interfaçage industriel du microprocesseur a été


réalisé par les ingénieurs de la série-électronique. Pour utilise des circuits récents
et largement diffusés dans le monde industriel.

IV. Programmateur des Eprom :

1) Intérêt :
Au cours de la séance du TP, on arrive à apprendre la programmation d’une EPROM, la
gestion les timings des différents signaux qui sont mis en œuvre.

Ainsi faire :

• Le test de la virginité de l’EPROM


• L’enregistrement d’un programme en EPROM
• La duplication de l’EPROM

V. Extension de communications :

Elle permet de relier le microsystème MC 09 à un compatible PC. Et elle est


fournie avec un assembleur 6809 permettant l’écriture de programmes en
mnémoniques sur PC ainsi que le téléchargement de ces programmes dans la
mémoire du MC 09. Cette carte est un bon outil d’initiation aux protocoles de
communication entre différents systèmes.

La documentation et les logiciels fournis avec cette extension permettent :

• la liaison MC 09 / compatible PC
• l’écriture de programmes en assembleur
• l’échange de programmes par minitel
• le dialogue direct entre 2 systèmes MC 09

Génie industriel et Maintenance Page 11


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

VI. Automate programmable :

C’est une extension ayant été développée avec l’objectif de fournir à


l’étudiant une initiation pratique à la commande de processus d’automatismes.
Elle permet de transformer le microsystème MC 09 (B) en un automate
programmable capable de traiter les entrées TOR et d’activer les sorties relais en
fonction du programme en mémoire. L’ensemble MC09 + carte 009 constitue un
outil didactique particulièrement recommandé pour une initiation efficace et
progressive à l’utilisation et à la programmation d’automates. Lorsqu'un automate
programmable remplit une fonction de sécurité, il est alors appelé automate
programmable de sécurité ou APS.

VII. Carte d’asservissement moteur :

Cette extension permet d’étudier les commandes de moteurs, notamment en


réalisant l’asservissement de vitesse ou de position d’un moteur pas à pas ou à
courant continu. La documentation d’accompagnement de cette carte contient le
schéma technique ainsi que quelques programmes simples d’initiation à la
commande de moteurs pas à pas ou à courant continu.

L’intérêt de cette extension est important. Outre la découverte de la


commande de moteurs, l’élève apprendra à maîtriser :

• les circuits périphériques du MC 09


• les drivers pour moteurs
• la gestion d’interruptions logicielles
• les sous-programmes de gestion du clavier et des afficheurs.

VIII. Convertisseurs :

On trouve deux types :

• A/D et D/A 8bits


• A/D et D/A 12bits

1) A/D et D/A 8bits :


Directement reliés au bus de données du microprocesseur afin d’exploiter au
mieux la rapidité de ces convertisseurs A/D et D/A. La carte 004 étant équipée de
convertisseurs analogique/numérique et numérique/analogique, l’utilisateur
pourra :

Génie industriel et Maintenance Page 12


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

❖ faire l’acquisition de signaux analogiques délivrés par un capteur


(température, PH, pression...) à l’aide des convertisseurs A/D
❖ stocker ces données en mémoire
❖ traiter les informations recueillies
❖ ressortir le signal analogique voulu grâce aux convertisseurs D/A de
la carte fournie avec plusieurs exemples simples d’acquisition de
données et de génération de courbes.

2) A/D et D/A 12bits :


C’est une carte qui constitue une chaîne complète d’acquisition et de
traitement de données. Et qui peut s’inscrire dans le développement de TP portant
sur le traitement du signal, d’échantillonnage, de transformées en Z...

Les circuits équipant cette extension lui confèrent un grand intérêt


pédagogique :

• Un convertisseur A/D 12 bits tension d’entrée (-5, +5)


• Un convertisseur D/A 12 bits tension de sortie (-5, +5)
• Un échantillonneur bloqueur
• Deux filtres à capacité commutée du quatrième ordre
• Une zone à WRAPPER

Grâce à cette carte :

❖ le fonctionnement d’un filtre à capacité commutée


❖ l’utilité d’un échantillonneur bloqueur dans une chaîne d’acquisition
de données
❖ la programmation de convertisseurs 12 bits à l’aide d’un processeur 8
bits
❖ les procédés de filtrage numérique

IX. Programmation des circuits PIA et VIA :

C’est une carte ayant été réalisée pour l’apprentissage du fonctionnement des
circuits d’entrées sorties parallèles PIA 6821 et VIA 6522.

Une interface puissance intégrée à cette extension permet la commande


d’une charge externe pouvant nécessiter jusqu’à 40 volts sous 2 ampères. Les
nombreux exemples simples de programmation fournis avec cette extension en
facilitent la mise en œuvre :

Génie industriel et Maintenance Page 13


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

• réalisation d’un voltmètre numérique


• traitement des données délivrées par les convertisseurs multiplexés

• initiation à la gestion d’interruptions IRQ, FIRQ, NMI


• commande d’une charge sous-secteur

Cette extension particulièrement recommandée pour une initiation


progressive et une maîtrise rapide des circuits d’entrées sorties intègre :

❖ Seize Leeds directement reliées aux ports A et B du PIA 6821


❖ Un triac pour la commande d’une charge sous-secteur
❖ Une sortie puissance (jusqu’à 40 volts, 2 ampères)
❖ Un convertisseur analogique numérique à 8 entrées multiplexées

X. Les registres du microprocesseur :

Un registre est un circuit permettant d’enregistrer provisoirement un *mot*


binaire en vue de son transfert ultérieur dans un autre circuit. Il est constitué par
autant de bascules élémentaires qu’il y a de <bits> dans le mot (4 pour un quartet,
8 pour un octet).

Un registre est une zone mémoire à l’intérieur du microprocesseur de faible


taille, qui permet de mémoriser des mots mémoires ou des adresses d’une façon
temporaire lors de l’exécution des instructions.

Le nombre et le type de registres que possède le CPU sont une partie


déterminante de son architecture et ont une influence importante sur la
programmation. La structure des registres du CPU varie considérablement d’un
constructeur à l’autre. Cependant les fonctions de base réalisées par les différents
registres sont essentiellement les mêmes. Nous allons décrire les registres les plus
importants, leur fonction et la façon dont ils peuvent être modifiés par programme.

Il existe différentes types de registres :

• Les registres généraux,


• Les registres d'adresses…

1) Les registres généraux :


Sur certaines architectures, tout ou partie des registres spécialisés sont
remplacés par un ensemble de registres d'usage général interchangeables (parfois
notés R0, R1, etc.). Ceux-ci peuvent stocker indifféremment adresses, entiers,
Génie industriel et Maintenance Page 14
COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

flottants, etc. Par exemple, le Motorola 68000 dispose de 8 registres de données


banalisés (D0 à D7) et de 8 registres d'adresses (A0 à A7, banalisés sauf A7 qui
sert de pointeur de pile).

Sur la majorité des processeurs, ces registres généraux ne sont pas les seuls
registres du processeur, qui contient aussi des registres spécialisés comme un
compteur ordinal ou un registre d'état. Mais sur certains processeurs, il se peut
que ces registres soient malgré tous des registres généraux, adressables comme
tous les autres registres. Il devient alors possible d'aller écrire ou lire directement
leur contenu sans restrictions. Cela peut servir pour faciliter l'implémentation des
branchements indirects ou relatifs (si le compteur ordinal devient un registre
général).

2) Pointeurs :
Il est possible de faire correspondre les registres avec des adresses mémoire,
typiquement à partir de 0 (c’est-à-dire que les cases mémoire d'adresse 0 à 31
pourront correspondre aux registres R0 — R31). C'est par exemple le cas des 16
registres du PDP-10. Les programmeurs astucieux désirant optimiser le temps
d'exécution d'une boucle de code avaient donc la possibilité de la stocker dans les
registres. Cette méthode évidemment marginale et dépendante de l'architecture de
l'ordinateur montre la versatilité des registres généraux.

3) Registres spécialisés :
Sur de nombreux processeurs, les registres sont spécialisés et ne peuvent
contenir qu'un type bien précis de données.

On rencontre souvent les classes de registres suivantes :

❖ Les registres entiers, chargés de stocker des nombres entiers (et


éventuellement des adresses).
❖ les registres flottants, qui stockent des nombres à virgule flottantes.
❖ les registres d'adresses : sur certains processeurs, les adresses
mémoires à manipuler sont placées dans ces registres dédiés.
❖ les registres d'Index, qui servaient à faciliter certains calculs d'adresses
sur de vieilles architectures.
❖ les registres à prédicats, des registres qui stockent des résultats de
comparaisons et d'instructions de tests diverses.
❖ Un processeur contient souvent des registres spécialisés, présents en
un seul exemplaire.

Génie industriel et Maintenance Page 15


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

❖ compteur ordinal (CO) : indique l'emplacement de la prochaine


instruction à être exécutée (synonymes : compteur de programme,
pointeur d'instruction).
❖ registre d'état (PSW pour Processor Status Word) : décrit l'état du
processeur ; il est le plus souvent interprété bit à bit, chaque bit
représentant un drapeau.
❖ pointeur de pile : indique la position du prochain emplacement
disponible dans la pile mémoire.

4) Le compteur ordinal : (pointeur de programme Pc) :


Il contient l'adresse de l'instruction à rechercher en mémoire. L'unité de
commande incrémente le compteur ordinal (PC) du nombre d'octets sur lequel
l'instruction, en cours d'exécution, est codée. Le compteur ordinal contiendra alors
l'adresse de l'instruction suivante.

5) Le registre d’instruction :
Contient l’instruction qui doit être traitée par le microprocesseur, cette
instruction est recherchée en mémoire puis placée dans ce registre pour être
décodée par le décodeur et préparée pour l’exécution.

Une instruction est une opération élémentaire d’un langage de


programmation, c’est à dire le plus petit ordre que peut comprendre un ordinateur.

Toute instruction présente en fait deux types d’informations :

❖ Ce qu’il faut faire comme action (addition, affichage, division …)


❖ Avec quelles données réaliser cette action.

Avec deux zones :

• Zone opération : Cette zone permet de déterminer la nature de


l’opération à effectuer par le microprocesseur.
• Zone adresse : contient les adresses en mémoire des opérandes qui
participent dans une opération, dans certains cas elle contient
l’opérande même. Il existe plusieurs modes d’adressages pour accéder
aux données.

6) Le registre mot mémoire ou registre de données :


Contient le mot mémoire faisant objet d’une opération de lecture ou
d’écriture dans la mémoire centrale. Ce registre a la taille d’un mot mémoire qui

Génie industriel et Maintenance Page 16


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

est la même que celle des registres de travail et l’accumulateur qui est égale à la
taille du bus de données.

Le schéma ci-dessous montre le fonctionnement des deux registres


d’adresses et de mot mémoire.

La lecture et l’écriture dans la mémoire centrale se fait de la façon suivante :

❖ Lecture : l’adresse du mot à lire est transférée au registre d’adresse, le dispositif


d’accès à la mémoire se charge de chercher le mot et de le mettre dans le registre
mot mémoire.
❖ Ecriture : le registre d’adresse est chargé par l’adresse mémoire ou on va écrire,
le mot à écrire est placé dans le registre mot mémoire. Lorsque l’ordre de
l’écriture est donné, le contenu des cases mémoires sera écrasé et remplacé par
la nouvelle valeur. Par contre, en cas de lecture, le contenu des cases mémoire
n’est pas détruit.

7) Le registre accumulateur :
C’est un registre de travail très important de l’UAL, dans la plus part des
opérations arithmétiques et logiques, l’accumulateur contient un des opérandes
avant l’exécution et le résultat après. Il peut aussi servir de registre tampon dans
les opérations d’entrée/sortie. Généralement, l’accumulateur a la même taille
qu’un mot mémoire.

Naturellement, le programmeur a accès à ce registre qui est toujours très


sollicité pendant le traitement des données. Certains processeurs ont plusieurs
accumulateurs et dans ce cas, les codes opérations précisent l’accumulateur
utilisé.

Génie industriel et Maintenance Page 17


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

8) Le registre d’état: (PSW Program Status Word):


C’est un registre qui contient les différents bits appelés drapeaux (Flags)
indiquant l’état d’une condition particulière dans le CPU. Ces bits peuvent être
testés par un programme et donc décider des suites d’actions à prendre.

Pour exécuter correctement son travail, le séquenceur doit en outre connaître


l’état d’un certain nombre d’autres composants et disposer d’informations
concernant la ou les opérations qui ont déjà été exécutées (par exemple, doit on
tenir compte dans l’addition en cours d’une éventuelle retenu préalable générée
par une addition précédente). Le registre d’état fournit ces informations.

Le nombre de bits de ce registre change d’un microprocesseur à un autre, par


exemple pour le cas d’un 8088 ce registre est de 16 bits :

U : Undefined désigne un bit non défini.

Les différents bits du registre d’état sont :

• Bit de retenu : c’est le bit C ou carry qui est le bit n°0. ce bit est à 1
s’il y a une retenu qui est générée lors d’une opération arithmétique.
• Bit de parité : le bit P n°2, ce bit est mis à 1 si le nombre de 1 dans
l’accumulateur est pair.
• Bit de retenu intermédiaire : le bit AC (auxiliary carry), c’est le bit
n°4, il est mis à 1 si une retenu est générée entre groupes de 4 bits
(passage de retenu).
• Le bit zéro : c’est le bit n°6, il est à 1 sile résultat d’une opération
arithmétique est nul.
• Le bit de signe : bit n°7, il est à 1 si le résultat d’une opération
arithmétique est négatif.
• Le bit de dépassement de capacité : le bit n°11, O pour overflow, il
est à 1 s’il y a dépassement de capacité dans les opérations
arithmétiques. Par exemple sur 8 bits en complément à 2, les nombres
binaires sont codés sur 8 bits. On peut coder les nombres variantes de
–128 (100000000) à +127(01111111). Si on fait 107+28 cela donne
135 qui ne peut pas être représenté, d’où génération de débordement.

Génie industriel et Maintenance Page 18


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

9) Le registre pointeur de pile : (Stack Pointer) :


Il contient l'adresse de la pile. Celle-ci est une partie de la mémoire, elle
permet de stocker des informations (le contenu des registres) relatives au
traitement des interruptions et des sous-programmes.

La pile est gérée en LIFO : (Last IN First Out) dernier entré premier sorti. Le
fonctionnement est identique à une pile d'assiette

Le pointeur de pile SP pointe le haut de la pile (31000H dans le schéma), il


est décrémenté avant chaque empilement, et incrémenté après chaque dépilement.

Il existe deux instructions pour empiler et dépiler : PUSH et POP.

10) Les registres d'index : (index source SI et index destination DI) :


Les registres d’index peuvent être utilisés comme des registres généraux
pour sauvegarder et pour compter. Mais en plus ils ont une fonction spéciale qui
est de grande utilité dans la manipulation 15 des tableaux de données. Ils peuvent
en effet être utilisés pour manipuler des adresses et permettent de mémoriser une
adresse, suivant une forme particulière d’adressage, appelée adressage indexée.

XI. Différentes étapes d’exécution :

1) Recherche de l’instruction à traiter :


>> Le PC contient l'adresse de l'instruction suivante du programme. Cette
valeur est placée sur le bus d'adresses par l'unité de commande qui émet un ordre
de lecture.

>> Au bout d'un certain temps (temps d'accès à la mémoire), le contenu de


la case mémoire Sélectionnée est disponible sur le bus des données. L'instruction
est stockée dans le registre instruction du processeur.

2) Décodage de l’instruction et recherche de l’opérande :


Le registre d'instruction contient maintenant le premier mot de l'instruction
qui peut être codée sur plusieurs mots. Ce premier mot contient le code opératoire
qui définit la nature de l'opération à effectuer (addition, rotation,...) et le nombre
de mots de l'instruction.

>> L'unité de commande transforme l'instruction en une suite de commandes


élémentaires nécessaires au traitement de l'instruction.

Génie industriel et Maintenance Page 19


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

>> Si l'instruction nécessite une donnée en provenance de la mémoire, l'unité


de commande récupère sa valeur sur le bus de données.

>> L’opérande est stocké dans un registre.

3) Exécution de l’instruction :
Le microprogramme réalisant l'instruction est exécuté.

Les drapeaux sont positionnés (registre d'état).

L'unité de commande positionne le PC pour l'instruction suivante.

D. Familiarisation avec l’utilisation du microsystème MC09 :


Description de la maquette MC09 :

Elle se présente comme une carte mère d’un ordinateur personnel (PC). Elle
héberge le microprocesseur 6809 et les différents périphériques avec lesquels il
dialogue.

Afficheurs de la maquette MC09 : C’est un affichage en six digits


hexadécimaux (chaque digit est codé sur 4 bits). Le champ des quatre premiers
digits représente, en général, les adresses mémoire (16 bits) $XYZT et le champ
des deux derniers digits le contenu mémoire (8 bits) pointé par l’adresse mémoire
$XYZT.

Clavier de la maquette MC09 :

Il est composé de deux ensembles de touches :

❖ 16 touches (0 à F) constituant le clavier hexadécimal et permettant de


saisir directement un programme par son code machine.
❖ 14 touches de fonctions dont le rôle de chacune est rappelées
brièvement dans le tableau ci-dessous :

Génie industriel et Maintenance Page 20


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

I. Observation de la carte MC09 :

Adresses sur
Composant Emplacement le MC09 Capacité
Zi (1< i > 20) De à mémoire

EPROM système 2732 dans laquelle réside le Z6 E0000 FFFF 1FFF


programme du moniteur MC09
EPROM 2732 extension utilisateur Z7 C000 DFFF 1FFF
EPROM 2732 extension utilisateur Z8 A000 BFFF 1FFF
PIA 6821 utilisateur Z2 8000 8003 0003
VIA 6522 utilisateur Z3 8400 840F 000F
Timer 6840 utilisateur Z4 8800 8807 0007
ACIA 6850 utilisateur Z5 8C00 8C01 0001
PIA 6821 système (afficheurs et clavier) Z11 9000 9FFF 0FFF
RAM utilisateur Z9 0000 0F5F 0FFF
90 octets réservés au moniteur MC09 0F60 0FFF 002F
Processeur 6809 Z21
Clavier 30 touches
Deux connecteurs 50 points chacun COM1
Alimentation +5V +5V
Borne de masse 0V Masse

Génie industriel et Maintenance Page 21


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

L’observation de la carte MC09 nous permet d’identifier les emplacements


physiques des principaux composants implantés sur cette carte.

Initialisation du système MC09 :

Cela se fait par appui sur la touche RST. L’affichage M C 0 9, sur les quatre
digits de gauche, signifie que l’on est sous contrôle du moniteur MC09.

Appuyer sur la touche RST et noter le contenu des afficheurs :

M C 0 9

II. Accès en lecture :

Soit à visualiser le contenu de l’octet mémoire d’adresse $0010. Les quatre


afficheurs de gauche permettent de visualiser l’adresse mémoire $0010 et les deux
afficheurs de droite le contenu de l’octet mémoire pointé par cette adresse.

III. Accès en écriture :

On souhaite maintenant modifier (écriture) le contenu d’un octet mémoire


d’adresse connue. Pour cela, on spécifie d’abord au moniteur MC09 l’adresse de
cet octet (manip 1) et on modifie ensuite son contenu. Soit à écrire la valeur $E7
dans l’octet mémoire d’adresse $0012.

Génie industriel et Maintenance Page 22


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

IV. Exécution de programme :

V. Exécution d’un programme en mode pas à pas avec points d’arrêt :

Il est rare que la première exécution d’un programme se fasse sans erreurs. Le
mode pas à pas permet de suivre l’exécution du programme instruction par
instruction (pas à pas) afin de localiser les erreurs éventuelles dans le programme.

Après chaque instruction exécutée, l’exécution du programme s’arrête pour


permettre au programmeur d’accéder (en lecture/écriture) par exemple aux

Génie industriel et Maintenance Page 23


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

contenus des différents registres internes du processeur et de façon générale au


contenu des octets mémoire modifiés par le programme utilisateur.

➢ Points d’arrêt :

Les points d’arrêt servent à exécuter bloc par bloc un long programme saisi afin
d’y déceler des éventuelles erreurs. La taille des différents blocs est fixée par le
programmeur. Lorsqu’un bloc d’instructions est exécuté, l’exécution du
programme s’arrête au point d’arrêt mis à la fin de ce bloc par le programmeur,
pour permettre à ce dernier de vérifier la santé du bloc exécuté. Dans ce qui suit,
on exécutera en mode pas à pas le programme saisi au cours de la manipulation.

Pour cela, un point d’arrêt est nécessaire au niveau de la première instruction.

Remarque :

On commence par mettre un point d’arrêt (touche de fonction BRK) au niveau de


la première instruction

D’abord on vient de mettre un point d’arret à l’adresse $0000 (début de programme)

➢ Exécution du programme en mode pas à pas :

Génie industriel et Maintenance Page 24


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

E. Initialisation au logiciel MOTO6809 :

I. Le logiciel MOTO6809 :

MOTO6809 permet de simuler le fonctionnement du microprocesseur 6809


de Motorola et de déboguer des programmes écrits en assembleur 6809.

Il est particulièrement destiné aux étudiants en électronique et micro-


informatique, aux enseignants, mais aussi aux petits laboratoires d’électroniques
souhaitant implanter des programmes en assembleur sur des cartes à
microprocesseur 6809. Ce logiciel permet également de simuler l’interface
d'entrée/sortie parallèle PIA6821 dans tous ses modes de fonctionnement.

II. Caractéristiques :

• Utilisation de l’environnement Windows.


• Configuration de la taille de la mémoire mort jusqu’à 8Koctets
• Configuration de la taille de la mémoire vive jusqu’à 32Koctets «
selon les ressources mémoires de l’ordinateur hôte »

Génie industriel et Maintenance Page 25


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

• Définition des adresses de base de la RAM et du PIA


• Visualisation simultanée du contenu de tous les registres internes
• Fenêtres flottantes pour la RAM et la ROM
• Fenêtre flottante présentant 20 lignes de programme
• Mode Pas à pas, Exécution complété
• Simulation arriéré sur 10pas
• Point d’arrêt
• Possibilité de simulation de l’interruption RESET, NMI, IRQ, FIRQ
• Impression paramétrable
• Editeur intégré
• Fonction Define Byte (DB) de pré-affection des cases mémoires
• Assemblage au format S19
• Définition de l’origine du programme et des sous-programmes par la
commande ORG.

III. Manipulations :

Remarque :

Les commentaires vont être écrire après le tableau en respectant leur


numérotation indiqué dans ce dernier

1) 1er Programme :
Sous un tableau :

Code machine
Adresse Code Code Code Mode Commentaire
opération opérande mnémonique d’adressage
$0000 FC00 86 10 LDA#$10 Immédiat 1
$0002 FC02 88 21 ADDA#$21 Immédiat 2
$0004 FC04 3F - END Inhérent 3

Simulation Dans le logiciel :

Génie industriel et Maintenance Page 26


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

Dans un premier temps A = 00 :

• 1* :la premier pas de l’exiction permet de charger la avleur 21 dans cette


acimulateur A =21.

Génie industriel et Maintenance Page 27


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

• 2* : le deuxième pas permet d’additionner la valeur 21 à l’accumulateur A :


A=10+21=31.

• 3* :la pseudo-instruction END permet de signaler a MOTO6809 qu’il n’y


a plus s’instruction est que c’est la fin du programme.

Les instructions utilisées :

Instruction Définition

LDA Chargement de A avec le contenu mémoire

ADDA Addition du contenu mémoire à l’accumulateur A

END Fin de programme

Génie industriel et Maintenance Page 28


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

2) 2ème programme :

Code machine
Adresse Code Adressage Commentaire
Code Code mnémonique
opération opérande
- - 11 ; $0030 DB $11 - Chargement de
l’adresse $ 0030 par
11.
- - 12 ;0031 DB $12 - Chargement de
l’adresse $ 0031 par
12.
$0000 D6 30 LDB $30 Direct Chargement de A avec
le contenue mémoire
$0030. B [$0030]
$0002 D0 31 SUBB $31 Direct Soustraction du
contenue mémoire de
l’accumulateur B par le
contenue mémoire
$0031.B B- [$0031]
$0004 F7 0033 STB $0033 Etendu Stockage de B dans la
cellule mémoire
$0033.
[$0033] B
$0007 - - END Inhérent Fin du programme

Génie industriel et Maintenance Page 29


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

Simulation dans le programme :

• 1 er pas :

• 2 éme pas :

Génie industriel et Maintenance Page 30


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

• 3 éme étape : fin de programme.

Les instructions utilisées :

Instruction Définition

LDB Chargement de B avec le contenu mémoire

SUBB Soustraction du contenu mémoire de l’accumulateur B

STB Stockage de B dans la cellule mémoire

END Fin de programme

Génie industriel et Maintenance Page 31


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

3) 3éme programme :
❖ Programme :

LDB #$xx
Si :
CMPB #$0A
BHS SINON
ALORS :
ADDB #$02
BRA FINSI
SINON :
ADDB #$01
FINSI :
END

❖ Organigramme :

Début

B XX

FAUSSE
SI : B ≥ 0𝐴 E

VRIE

ALORS : SAUT
B B+01

SINON : B B+02

FINSI :
FIN

Génie industriel et Maintenance Page 32


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

❖ Les commentaires :

Code machine Code


Adresse mnémonique Adressage Commentaire
Code Code
opération opérande
$0000 C6 XX LDB #$ xx Immédiat Chargement de B par
xx
$0002 C1 0A SI : CMPB Immédiat Compare B avec 0A
#$0A
$0004 24 - BHS SINON Relatif Branchement si
supérieur ou égal
$0005 C9 02 ALORS : Immédiat Addition à
ADDB #$02 l’accumulateur A.
$0007 20 - BRA FINSI Relatif Branchement
inconditionnelle
$0008 C9 01 SINON : Immédiat Addition du 01 à
ADDB #$01 l’accumulateur A.
- - - FINSI : -

$000A 3F - END Fin du programme

Simulation dans le programme pas à pas :

POUR xx=10

Génie industriel et Maintenance Page 33


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

Au début on charge dans l’accumulateur A une valeur qui est soit supérieur
soit inférieur à 0A. Dans le cas ou $xx=10 (0A est supérieur à la valeur chargée
dans A) la condition est vraie alors le programme exécute la première action «
action alors », il additionne au contenu de l’accumulateur A la valeur $02 et il
effectue un branchement sans condition. Dans le deuxième cas ou $xx=0A ou bien
$xx=0B (0A inférieur ou égale à la valeur chargée dans l’accumulateur A) le
programme exécute « l’action Sinon ».

4) 4 éme programme :

❖ Code mnémonique :

; $0000 DB $12
; $0001 DB $ 05
; $0002 DB $1A
; $0003 DB $10
LDX #$0000
LDY #$0010
LDB #$03
Boucle :
LDA, X+
STA, Y+
DECB
CMPB #$00
BNE boucle
END

Génie industriel et Maintenance Page 34


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

❖ Algorithme :

($000) 10
($001) 11
($002) 12
($003) 13
X $0000
Y $0010
Z $03
REPETER
(A) [X]+
[Y] (A)
[Y] [Y]
(B) (B)-1
JUSQU’A
(B)=00
FIN REPETER

Génie industriel et Maintenance Page 35


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

❖ Organigramme :

Debut

($0000) 10

($0000) 10

($0000) 10

($0000) 10

X $0000

Y $0010

B 03

Répéter (A) [x]

[Y] (A) et

[Y] [Y]+1

(B) (B)-
1
Jusqu’à
(B)=00
Faux
Vrai

FIN

Génie industriel et Maintenance Page 36


COMPTE RENDU TP INFORMATIQUE INDUSTRIEL

Conclusion :

L’évolution des microprocesseurs est l’une des plus fascinantes épopées


techniques de la fin de ce siècle. Elle a permis la création d’appareils
complètement imposables il y a seulement cinquante ans. L’évolution technique
sur laquelle s’appuie cette fantastique évolution dure depuis trente ans et n’est pas
près de s’arrête, ce qui nous laisse penser que l’avenir nous réserve encore bien
des surprises. La complexité et la puissance de traitement des microprocesseurs
qui vont apparaître durant la prochaine décennie devraient dépasser tout ce que
nous pouvons imaginer. L’influence sur la société d’une telle évolution technique
est énorme, bien qu’elle ne soit pas toujours directement perçue. Pour s’en rendre
compte, il suffit de se retourner et de regarder ne serait-ce que trente ans arrière.

Ce TP de l'informatique industriel nous a permet de connaitre les composants


de la carte MC09, comment elle fonctionne, de savoir aussi le microprocesseur et
aussi de familiariser avec le logiciel MOTO6809. Tout cela nous donne envie de
connaitre aussi le Microcontrôleur !

Génie industriel et Maintenance Page 37

Vous aimerez peut-être aussi