6- Microprocesseurs & Jeu d instruction

Documents pareils
Architecture des ordinateurs

GPA770 Microélectronique appliquée Exercices série A

Conception de circuits numériques et architecture des ordinateurs

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

ASR1 TD7 : Un microprocesseur RISC 16 bits

Programmation assembleur : aperçu

TD Architecture des ordinateurs. Jean-Luc Dekeyser

Cours Informatique 1. Monsieur SADOUNI Salheddine

Rappels d architecture

Fonctionnement et performance des processeurs

IN SYSTEM. Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL Server V16. Objectif :

Concept de machine virtuelle

PIC : COURS ASSEMBLEUR

Compilation (INF 564)

IV- Comment fonctionne un ordinateur?

Licence Sciences et Technologies Examen janvier 2010

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

Architecture des ordinateurs Introduction à l informatique

Structure fonctionnelle d un SGBD

Architecture des ordinateurs : Programmation des processeurs avec l'environnement «y86» (INF155)

Comment obtenir des ebooks sur le Reader

ELP 304 : Électronique Numérique. Cours 1 Introduction

Informatique Industrielle Année Architecture des ordinateurs Note de cours T.Dumartin

Transmissions série et parallèle

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Partie 7 : Gestion de la mémoire

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Architecture matérielle des systèmes informatiques

Généralités sur les systèmes d Exploitation

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

IFT1215 Introduction aux systèmes informatiques

Architecture des Ordinateurs. Partie II:

Ordinateurs, Structure et Applications

Configuration automatique

Généralités sur les systèmes d Exploitation

Représentation des Nombres

Leçon 1 : Les principaux composants d un ordinateur

Tout savoir sur le matériel informatique

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

CHAPITRE VI ALEAS. 6.1.Généralités.

Fonction Memory Viewer

Assembleur i8086. Philippe Preux IUT Informatique du Littoral. Année universitaire 95 96

Plan. École Supérieure d Économie Électronique. Plan. Chap 9: Composants et systèmes de sécurité. Rhouma Rhouma. 21 Juillet 2014

Caractéristiques techniques

Outils permettant la diffusion de l information. Un point sur le droit numérique

Recherche dans un tableau

Codage d information. Codage d information : -Définition-

CM2 L architecture MIPS32

MT-703. Surveillance de niveau par sonde résistive TELEMETRIE PAR MODULE GSM CONFIGURATION ET UTILISATION

Organisation des Ordinateurs

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Pré-requis techniques

CHAPITRE 4 LA VALORISATION DES STOCKS COURS DE COMPTABILITE ANALYTIQUE SEMESTRE 2 DUT TC

Informatique Générale

Exécution des instructions machine

UE Programmation Impérative Licence 2ème Année

Communication technique TC1552 Ed 01 Date: 22/11/2011

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

I- Définitions des signaux.

I. QU'EST-CE QU'UN ORDINATEUR? Un ordinateur est relié à plein de périphériques

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Démarrer et quitter... 13

Les fonctions logiques

Crédits... xi. Préface...xv. Chapitre 1. Démarrer et arrêter...1. Chapitre 2. L interface utilisateur...25

Chapitre 4 : Les mémoires

Master e-secure. VoIP. RTP et RTCP

CENTRALE DE SURVEILLANCE EMBARQUEE MULTIMEDIA

Les tablettes. Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration

Fiche technique CPU 314SC/DPM (314-6CG13)

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES

Systèmes et traitement parallèles

NanoSense. Protocole Modbus de la sonde Particules P4000. (Version 01F)

Informatique Industrielle

VIII- Circuits séquentiels. Mémoires

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

Manipulations du laboratoire

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Microprocesseur + Logiciel

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Une version javascript sera disponible directement dans le cours prochainement.

Modèle Memo Pad 8 ME180A Transformer Book Trio TX201 Asus Memo Pad 7 ME173 X Asus ME102A Asus Transformer Book T100

CUOMO PC Route d Oron Lausanne 021/

Manuel d'installation de GESLAB Client Lourd

Modules d automatismes simples

Génie Logiciel avec Ada. 4 février 2013

Master d'informatique 1ère année. Réseaux et protocoles. Architecture : les bases

Naviguer à bon compte avec sa tablette ou son smartphone

GOUTEYRON ALEXIS. SIO2 N candidat: UEpreuve E4. USituation professionnelle 2. serveurs de fichiers. Uen haute disponibilité

C est quoi un tableur?

Configuration du serveur web embarqué

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

GUIDE PRATIQUE déplacements professionnels temporaires en France et à l étranger

Guide Mémoire NETRAM

Programmation C. Apprendre à développer des programmes simples dans le langage C

Transcription:

Architecture et programmation des ordinateurs : 6- Microprocesseurs & Jeu d instruction 192 Microprocesseur & jeu d instructions (1) 1- Description d un microprocesseur Un microprocesseur se présente sous la forme d un circuit intégré muni d un nombre généralement important de broches. Exemples : Intel 8085, 8086 : 40 broches, DIP (Dual In-linePackage) ; Motorola 68000 : 64 broches, DIP ; Intel 80386 : 196 broches, PGA (Pin GridArray). Technologies de fabrication : NMOS, PMOS, CMOS. 193 1

Microprocesseur & jeu d instructions (2) 2- Organisation fonctionnelle externe d un microprocesseur 194 Microprocesseur & jeu d instructions (3) 3- Organisation fonctionnelle interne d un microprocesseur LI DI LO EX RR LI : Lecture de l Instruction codée DI : Décodage de l Instruction LO: Lecture de des Opérandes EX : Exécution RR: Rangement du résultat Remarque : Unité de contrôle a en charge les différentes phases de l exécution d une instruction 195 2

Microprocesseur & jeu d instructions (4) 3- Organisation fonctionnelle interne d un microprocesseur Entrées de contrôles Données en entrée Signaux de contrôles Unité de contrôle Unité de traitement Signaux d état Signaux de contrôles Résultats Remarques : L unité de traitement = éléments de mémorisation (registres internes) + UAL Il s'agit d une machine séquentielle 196 Microprocesseur & jeu d instructions (5) 3- Organisation fonctionnelle interne d un microprocesseur Registre d état U A L Banc de registres Séquenceur Décodeur d instruction PC MAR RI MDR Mémoire principale Unité de traitement Remarques : Banc de registres :: opérandes ; PC :: adresse instruction ; Horloge Unité de contrôle MAR -> RI :: adresse opérande MDR -> MP :: Résultats 197 3

Microprocesseur & jeu d instructions (6) 3- Organisation fonctionnelle interne d un microprocesseur 198 Microprocesseur & jeu d instructions (9) 4- Fonctionnement d un microprocesseur - BASIC Un microprocesseur exécute un programme. Le programme est une suite d instructions stockées dans la mémoire. Une instruction peut être codée sur un ou plusieurs octets. Format d une instruction : Opération à effectuer Opérande 1, Opérande 2 ADDITIONNER Case mémoire 1, Case mémoire 2 199 4

Microprocesseur & jeu d instructions (10) 5- Fonctionnement d un microprocesseur 200 Microprocesseur & jeu d instructions (11) 5- Fonctionnement d un microprocesseur Pour exécuter les instructions dans l ordre établi par le programme, le microprocesseur doit savoir à chaque instant l adresse de la prochaine instruction à exécuter. Le microprocesseur utilise un registre contenant cette information. Ce registre est appelé pointeur d instruction (IP: Instruction Pointer) ou compteur d instructions ou compteur ordinal. 201 5

Microprocesseur & jeu d instructions (12) 5- Fonctionnement d un microprocesseur 202 Microprocesseur & jeu d instructions (13) 5- Fonctionnement d un microprocesseur Remarque : la valeur initiale du pointeur d instruction est fixée par le constructeur du microprocesseur. Elle vaut une valeur bien définie à chaque mise sous tension du microprocesseur ou bien lors d une remise à zéro(reset). Pour savoir quel type d opération doit être exécuté(addition, soustraction,...), le microprocesseur lit le premier octet de l instruction pointée par le pointeur d instruction (code opératoire) et le range dans un registre appelé registre d instruction. 203 6

Microprocesseur & jeu d instructions (13) 5- Fonctionnement d un microprocesseur Le code opératoire est décodé par des circuits de décodage contenus dans le microprocesseur. Des signaux de commande pour l UAL sont produits en fonction de l opération demandée qui est alors exécutée. Remarque : pour exécuter une instruction, l UAL utilise des registres de travail. 204 Microprocesseur & jeu d instructions (14) 5- Fonctionnement d un microprocesseur Pendant que l instruction est décodée, le pointeur d instruction est incrémenté de façon à pointer vers l instruction suivante : Puis le processus de lecture et de décodage des instructions recommence. 205 7

Microprocesseur & jeu d instructions (15) 5- Fonctionnement d un microprocesseur A la suite de chaque instruction, un registre du microprocesseur est actualisé en fonction du dernier résultat : c est le registre d état du microprocesseur. Chacun des bits du registre d etat est un indicateur d état ou flag (drapeau). 206 Microprocesseur & jeu d instructions (16) 5- Fonctionnement d un microprocesseur Exemple : registre d état du microprocesseur Z80 Les indicateurs d état sont activés lorsqu une certaine condition est remplie, Exemple : le flag Zest mis à 1lorsque la dernière opération a donné un résultat nul, le flag Cest mis à 1lorsque le résultat d une addition possède une retenue 207 8

Microprocesseur & jeu d instructions (17) 6- Le microprocesseur MOTOROLA 68000 - Introduction Le M68000 est un microprocesseur CISC 16/32 bits sorti en 1979. Le processeur le plus prisé de sa génération. Le formidable succès des machines comme le Mac, l'amiga ou l'atari est en grande partie due à cet innovant processeur. Voici ces caractéristiques : - Mémoire adressable de 16Mo ( 24 lignes d'adresse ). - Jeu d'instruction très complet ( 56 Instructions ). - 14 modes d'adressage différents. - 8 registres de donnée 32 bits. - 7 registres d'adresse 32 bits. - Gestion de privilèges ( Utilisateur / Superviseur ). - Deux pointeurs de pile 32 bits différents. 208 Microprocesseur & jeu d instructions (17-1) 6- Le microprocesseur MOTOROLA 68000 - Introduction Le terme 16/32 bits résume la façon dont le circuit manipule les données. Le bus de données interne est sur 32 bits mais le processeur communique avec le reste du monde sur un bus externe de 16 bits. La série "microprocesseur 680x0" se compose du 68010, 68020, 68030, 68040 et 68060. Ces processeurs constituent la base des versions microcontrôleurs 683xx. 209 9

Microprocesseur & jeu d instructions (17-2) 6- Le microprocesseur MOTOROLA 68000 - Introduction Tous les registres du 68000 sont sur 32 bits excepté le registre d'état CCR 16 bits. Petit rappel sur les formats de données : Quartet = 4 bits Octet = 8 bits Mot / Word = 16 bits Long mot / Long Word = 32 bits Les registres de données et d'adresses sont banalisés à l'exception de A7 aussi appelé SP( Stackpointer ) qui représente le pointeur de pile. En interne, il existe en fait deux pointeurs différents l'usp( User StackPointer) en mode utilisateur et le SSP (SupervisorStackPointer) en mode superviseur. Il s'agit toujours du registre A7, le 68000 utilisant implicitement l'un ou l'autre en fonction de son mode de fonctionnement. 210 Microprocesseur & jeu d instructions (17-3) 6- Le microprocesseur MOTOROLA 68000 Les registres b31 : bit de poids fort 8 Registre de données sur 32 bits D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 A2 A3 A4 A5 A6 b0 : bit de poids faible 7 Registre d adresse sur 32 bits 211 10

Microprocesseur & jeu d instructions (17-4) 6- Le microprocesseur MOTOROLA 68000 Les registres Registre PC : ProgrammCounterou compteur de programme / CO Adresse de la prochaine instruction à exécuter b31 : bit de poids fort b0 : bit de poids faible Registre SR : Status Register ou registre d état b15 Octet superviseur b8b7 Octet utilisateur b0 212 Microprocesseur & jeu d instructions (17-5) 6- Le microprocesseur MOTOROLA 68000 Les registres Registre SR : Status Register ou registre d état 1. Octet utilisateur / Registre CCR (condition Code Register) b7 b6 b5 b4 b3 b2 b1 b0 X N Z V C Bit C: positionné si une retenue est générée. Bit V: positionné s'il y a dépassement arithmétique. Bit Z: positionné si le résultat d'une opération est nul. Bit N: positionné si le résultat d'une opération est négatif. Bit X: bit de retenue pour les opérations de calculs étendues. 213 11

Microprocesseur & jeu d instructions (17-6) 6- Le microprocesseur MOTOROLA 68000 Les registres Registre SR : Status Register ou registre d état 2. Octet Superviseur : b15 T b14 b13 S b12 b11 b10 I2 b9 I1 b8 I0 bit T :s'il est positionné met le processeur en mode trace. Dans ce mode, le processeur s'arrête après l'exécution de chaque instruction et génère une exception permettant, par exemple, la mise en place d'un programme de débogage. bit S : définit le mode de fonctionnement du processeur, 0 pour le mode Utilisateur et 1pour le mode Superviseur. 214 Microprocesseur & jeu d instructions (17-7) 6- Le microprocesseur MOTOROLA 68000 Les registres Registre SR : Status Register ou registre d état 2. Octet Superviseur : b15 T b14 b13 S b12 b11 b10 I2 b9 I1 b8 I0 Les bits I0, I1et I2représentent le niveau du masque d'interruption. Les interruptions dont le niveau est inférieur ou égal au masque ne sont pas prisent en compte. une exception est un évènement matériel ( interruptions ) ou logiciel qui déroute le processeur vers une procédure particulière. 215 12

Microprocesseur & jeu d instructions (17-8) 6- Le microprocesseur MOTOROLA 68000 Les registres Registre SP : Stack Pointer ou registre pointeur de pile (A7) A7 A7 Si S=1, le microprocesseur est en mode superviseur -> le pointeur de la pile utilisé est A7, appelé SSP: SupervisorStackPointer Si S=0, le microprocesseur est en mode utilisateur -> le pointeur de la pile utilisé est A7, appelé USP: User Stack Pointer 216 Microprocesseur & jeu d instructions (17-9) 6- Le microprocesseur MOTOROLA 68000 Gestion de la pile Le fonctionnement de la pileest un élément fondamental pour le fonctionnement du processeur. La pileest en fait une portion de mémoire dont l'adresse se trouve dans A7et qui permet la sauvegarde temporaire de données. On parle d'empilement lors d'une écriture dans la pile et de dépilement lors d'une lecture. Ce processus est utilisé, soit automatiquement par le microprocesseur lors de l'appel d'un sous-programme par exemple, soit par le programmeur. 217 13

Microprocesseur & jeu d instructions (17-9) 6- Le microprocesseur MOTOROLA 68000 Gestion de la pile Pour bien comprendre le fonctionnement d'un pile, on peut imaginer la pile comme une pile d'assiettes de différentes couleurs. En prenant comme condition initiale A7=10, on empile une assiette bleu, une assiette rouge puis une assiette verte. L'assiettebleuserastockéeenposition10,larougeen9etlaverteen8,aufinalA7vaut8. L'opération de dépilement est identique à l'empilement mais à l'envers, en récupère l'assietteverte,larougepuislableueta7revientàsapositioninitialesoit10. 218 Microprocesseur & jeu d instructions (17-10) 6- Le microprocesseur MOTOROLA 68000 Gestion de la pile Lors du processus d'empilement la première assiette empilé est bleu, lors du dépilement c'est la dernière. C'est pour cette raison que l'on parle de pile LIFO (Last In First Out ) le dernier élément empilé sera le premier dépilé. Pour information, il existe un autre type de pile appelée pile FIFO( First In First Out ). Dans ce cas le premier élément empilé sera le premier dépilé. 219 14

Microprocesseur & jeu d instructions (17-11) 6- Le microprocesseur MOTOROLA 68000 Mode d adressage Contexte général Le type de donnée contenu dans le champ opérandes caractérise le mode d'adressage. 1 Immédiat Code instruction Opérande Opérande = Constante 2 Direct absolu Code instruction Adresse Opérande Mémoire 220 Microprocesseur & jeu d instructions (17-12) 6- Le microprocesseur MOTOROLA 68000 Mode d adressage Contexte général 3 Indirect par registre Code instruction Adresse Opérande 4 Relatif Code instruction Déplacement / Offset Registres + Mémoire Opérande Mémoire Registres 221 15

Microprocesseur & jeu d instructions (17-14) 6- Le microprocesseur MOTOROLA 68000 Mode d adressage A Adressage immédiat Destination : registre de données 1. MOVE.B #55H,D0 2. MOVE.W #55H,D0 3. MOVE.L #55H,D0 D0 E.I 1122 3344 1122 3344 1122 3344 D0 E.F 1122 3355 1122 0055 0000 0055 Taille de données transférées :.B : Byte : un octet /.W : Word : Mot de 16 bits /.L : Long word : Mot de 32 bits 222 Microprocesseur & jeu d instructions (17-15) 6- Le microprocesseur MOTOROLA 68000 Mode d adressage A Adressage immédiat rapide Destination : registre de données 4. MOVEQ #6AH,D0 D0 E.I 1122 3344 D0 E.F b31 0000 006A b0 Taille de données transférées :.B : Byte : un octet UNIQUEMENT 223 16

Microprocesseur & jeu d instructions (17-16) 6- Le microprocesseur MOTOROLA 68000 Mode d adressage A Adressage immédiat Destination : registre d adresse 5. MOVE.B #55H,A0 6. MOVE.W #1000H,A0 7. MOVE.L #8000H,A0 A0 0000 0055 0000 1000 FFFF 8000 Taille de données transférées :.W : Word : Mot de 16 bits /.L : Long word : Mot de 32 bits UNIQUEMENT 224 Microprocesseur & jeu d instructions (17-17) 6- Le microprocesseur MOTOROLA 68000 Mode d adressage A Adressage immédiat Destination : mémoire principale 8. I1. MOVE.B #55H,1000H I2. MOVE.B #AAH,1001H 9. MOVE.W #6655H,1000H 10. MOVE.L #44556677H,1000H 1001H 1000H 55 AA 66 55 44 55 1002H 66 77 MOVE.W #55, 1001H MOVE.L #55, 1001H Taille de données transférées :.B : Byte : un octet /.W : Word : Mot de 16 bits /.L : Long word : Mot de 32 bits 225 17

Microprocesseur & jeu d instructions (17-18) 6- Le microprocesseur MOTOROLA 68000 Mode d adressage B Adressage Direct Destination : mémoire principale 11. MOVE.W D1,1000H Ecriture MP D1 1234 5678 Données : 5678 56 78 1000H Adresse : 1000H Octet de poids fort @ paire : 1000H Octet de poids faible @ paire : 1001H Taille de données transférées :.B : Byte : un octet /.W : Word : Mot de 16 bits /.L : Long word : Mot de 32 bits 226 Microprocesseur & jeu d instructions (17-19) 6- Le microprocesseur MOTOROLA 68000 Mode d adressage B Adressage Direct Destination : registre d adresse 12. MOVE.W 1000H, A1 Lecture MP A1 0000 8678 Données : 8678 86 78 1000H Adresse : 1000H Extension du bit de signe sur 32 bits Octet de poids fort @ paire : 1000H Octet de poids faible @ paire : 1001H Taille de données transférées : :.W : Word : Mot de 16 bits /.L : Long word : Mot de 32 bits UNIQUEMENT 227 18

Microprocesseur & jeu d instructions (17-19) 6- Le microprocesseur MOTOROLA 68000 Mode d adressage B Adressage Direct Destination : registre d adresse 12. MOVE.L 1000H, A1 Lecture MP A1 FFFF 8678 Données : 8678 86 78 1000H Adresse : 1000H Extension du bit de signe sur 32 bits Octet de poids fort @ paire : 1000H Octet de poids faible @ paire : 1001H Taille de données transférées : :.W : Word : Mot de 16 bits /.L : Long word : Mot de 32 bits UNIQUEMENT 228 Microprocesseur & jeu d instructions (17-20) 6- Le microprocesseur MOTOROLA 68000 Mode d adressage B Adressage Indirect par Registre Non affecté D1 5678 13. MOVE (A1), D1 Lecture MP Données : 5678 56 78 1000H A1 0000 1000 Adresse : 1000H Lecture par défaut d un mot Octet de poids fort @ paire : 1000H Octet de poids faible @ paire : 1001H Taille de données transférées :.B : Byte : un octet /.W : Word : Mot de 16 bits /.L : Long word : Mot de 32 bits 229 19

Microprocesseur & jeu d instructions (17-21) 6- Le microprocesseur MOTOROLA 68000 Mode d adressage B Adressage Indirect par Registre / Pos-incrémentation Non affecté D1 5678 14. MOVE.W (A1)+, D1 MP Lecture Données : 5678 A1 Etat Initial 0000 1000 56 78 A1 Etat Final 0000 1002 Adresse : 1000H 1000H Après le transfert, A1 est incrémenté de 2 Octet de poids fort @ paire : 1000H Octet de poids faible @ paire : 1001H Taille de données transférées :.B : Byte : un octet /.W : Word : Mot de 16 bits /.L : Long word : Mot de 32 bits 230 Microprocesseur & jeu d instructions (17-22) 6- Le microprocesseur MOTOROLA 68000 Mode d adressage B Adressage Indirect par Registre / Pré-décrémentation Non affecté D1 15. MOVE.W -(A1), D1 MP Lecture Données : 5678 A1 Etat Initial 0000 1002 56 78 A1 Etat Final 5678 0000 1000 Adresse : 1000H 1000H Avant le transfert, A1 est décrémenté de 2 Octet de poids fort @ paire : 1000H Octet de poids faible @ paire : 1001H Taille de données transférées :.B : Byte : un octet /.W : Word : Mot de 16 bits /.L : Long word : Mot de 32 bits 231 20

Microprocesseur & jeu d instructions (17-23) 6- Le microprocesseur MOTOROLA 68000 Mode d adressage B Adressage Indirect par Registre avec déplacement Non affecté D1 5678 16. MOVE.W 2(A1), D1 MP Lecture Données : 5678 A1 Etat Initial 0000 0FFE 56 78 A1 Etat Final 0000 0FFE Adresse : 0FFE+2=1000H 1000H Lors du transfert, l adresse est incrémenté de 2 Octet de poids fort @ paire : 1000H Octet de poids faible @ paire : 1001H Taille de données transférées :.B : Byte : un octet /.W : Word : Mot de 16 bits /.L : Long word : Mot de 32 bits 232 Microprocesseur & jeu d instructions (17-24) 6- Le microprocesseur MOTOROLA 68000 Mode d adressage B Adressage Indirect par Registre avec déplacement sur 8 bits signés et index court : Non affecté D1 17. MOVE.W 2(A1,D2.W), D1 MP Lecture Données : 5678 D2 0000 0002 56 78 A1 5678 0000 0FFC Adresse : 0FFC+2+2=1000H 1000H Lors du transfert, l adresse est additionné avec le continue de D2 puis incrémenté de 2 Octet de poids fort @ paire : 1000H Octet de poids faible @ paire : 1001H Taille de données transférées :.B : Byte : un octet /.W : Word : Mot de 16 bits /.L : Long word : Mot de 32 bits 233 21

Microprocesseur & jeu d instructions (17-25) 6- Le microprocesseur MOTOROLA 68000 Mode d adressage B Adressage Indirect par Registre avec déplacement sur 8 bits signés et index long : Non affecté D1 18. MOVE.W 2(A1,D2.L), D1 MP Lecture Données : 5678 D2 0000 1000 56 78 A1 5678 0000 0FFE Adresse : 0FFE+2+1000=2000H 2000H Lors du transfert, l adresse est additionné avec le continue de D2 puis incrémenté de 2 Octet de poids fort @ paire : 1000H Octet de poids faible @ paire : 1001H Taille de données transférées :.B : Byte : un octet /.W : Word : Mot de 16 bits /.L : Long word : Mot de 32 bits 234 Microprocesseur & jeu d instructions (17-26) 6- Le microprocesseur MOTOROLA 68000 Mode d adressage C Adressage Absolu Court : 19. MOVE.W 1000H,2000H Lecture Données : 8678 Adresse : 2000H MP 86 78 1000H 86 78 2000H Octet de poids fort @ paire : 1000H Octet de poids faible @ paire : 1001H Taille de données transférées :.B : Byte : un octet /.W : Word : Mot de 16 bits /.L : Long word : Mot de 32 bits 235 22

Microprocesseur & jeu d instructions (17-27) 6- Le microprocesseur MOTOROLA 68000 Jeu d instructions transfert de données 236 Microprocesseur & jeu d instructions (17-28) 6- Le microprocesseur MOTOROLA 68000 Jeu d instructions Instruction arithmétique 237 23

Microprocesseur & jeu d instructions (17-29) 6- Le microprocesseur MOTOROLA 68000 Jeu d instructions Opérations logiques 238 Architecture et programmation des ordinateurs : ~Microprocesseur & jeu d instructions~ Travaux Dirigés 239 24

Travaux dirigés Exercice 1 : On désire analyser une partie du code source «exam.s» 240 Travaux dirigés Exercice 1 : L état initial des registres et de la mémoire est indiqué par la figure suivante : 241 25

Travaux dirigés Exercice 1 : Compléter le tableau, en décrivant l exécution de chaque instruction. Préciser également le contenu des registres ou de la mémoire suivant le cas. 242 Travaux dirigés Exercice 1 : Compléter le tableau, en décrivant l exécution de chaque instruction. Préciser également le contenu des registres ou de la mémoire suivant le cas. 243 26

Architecture et programmation des ordinateurs : Motorola 68000 Travaux pratiques Easy68K 244 Travaux pratiques Exercice 1 : On souhaite calculer la somme de 45 et 85. START: ORG $1000 MOVE.B #45,D0 ADD.B #85,D0 ; first instruction of program MOVE.B #9,D0 TRAP #15 ; halt simulator * Variables and Strings END START ; last line of source 245 27

Travaux pratiques Exercice 2 : Calculer la somme de (45+12-48+18). START: ORG $1000 MOVE.W #45,D0 ADD.W #12,D0 ADD.W #-48,D0 ADD.W #18,D0 ; first instruction of program MOVE.B #9,D0 TRAP #15 ; halt simulator Variables and Strings END START ; last line of source 246 Travaux pratiques Exercice 3 : Calculer la même somme en mettant les données dans un tableau puis les additionner. Pour construire ce tableau, on utilise la directive DC. START: ORG $1000 ; first instruction of program LEA TAB(PC),A0 ; A0 pointe à la première donnée MOVE.W (A0)+,D0 ; D0 contient 45 ADD.W (A0)+,D0 ; D0 contient 57 ADD.W (A0)+,D0 ; D0 contient 9 ADD.W (A0)+,D0 ; D0 contient 27 MOVE.B #9,D0 TRAP #15 ; halt simulator TAB DC.W 45,12,-48,18 END START ; last line of source 247 28

BIBLIOGRAPHIE 1. Aho A, Concepts fondamentaux de l informatique, Dunod, Paris, 1993 2. Tanenbaum A., Architecture des ordinateurs, InterEditions, Paris, 1996 3. Vieillfond C., Mise en œuvre du 68000, Sybex, 1984 248 29