InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les...

62
Année 2009~2010 Architecture des Systèmes EPITA InfoSPE DUJARDIN Anne-Sophie

Transcript of InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les...

Page 1: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Année 2009~2010

Architecture des Systèmes EPITA

InfoSPE

DUJARDIN Anne-Sophie

Page 2: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

2

Page 3: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

3

Sommaire

Chap.1. Les nombres à virgule flottante ...................................................................................... 4

I. Introduction ................................................................................................................................. 4

II. Conversions ................................................................................................................................. 5

Chap.2. Les Compteurs ...................................................................................................................... 8

I. Principe ........................................................................................................................................ 8

II. Les compteurs/décompteurs asynchrones ................................................................................. 9

III. Compteurs / Décompteurs synchrones ................................................................................. 11

Chap.3. Les Systèmes Numériques ............................................................................................... 15

I. Introduction : Définition ............................................................................................................ 15

II. Les mémoires : Constitution de plans mémoire ........................................................................ 15

III. L’adressage des mémoires et périphériques. ........................................................................ 20

Chap.4. Microprocesseur 68000 .................................................................................................. 26

I. Structure d'un microprocesseur ................................................................................................ 26

II. Le microprocesseur 68000 : Structure et généralités ............................................................... 27

III. Utilisation des registres et de la mémoire ............................................................................ 29

IV. Exécution d'une instruction ................................................................................................... 31

V. Techniques d'adressage ............................................................................................................ 32

VI. Branchements ....................................................................................................................... 40

VII. Les sous programmes ............................................................................................................ 46

VIII. Les exceptions ....................................................................................................................... 50

Chap.5. Introduction aux Microcontrôleurs .............................................................................. 61

I. Généralités – Présentation du composant ................................................................................ 61

II. PIC 16F8X (Annexe 2) ................................................................................................................ 62

Page 4: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

4

Chap.1. Les nombres à virgule flottante

I. Introduction

1.

Les nombres à virgule flottante sont des approximations rationnelles des nombres réels. &·HVW�� G·DLOOHXUV�� XQH� GHV� UHSUpVHQWDWLRQV� OHV� SOXV� XWLOLVpHV� GDQV� OHV� V\VWqPHV�informatiques.

Les nombres à virgules flottante possèdent un VLJQH�V��XQH�mantisse entière m (parfois DXVVL�DSSHOpH�VLJQLILFDQGH��HW�XQ�H[SRVDQW�H��8Q�WHO�WULSOHW�UHSUpVHQWH�XQ�UpHO�V�P�EH��R��E�HVW� OD�EDVH�GH�UHSUpVHQWDWLRQ��VRXYHQW���PDLV�DXVVL������(Q�IDLVDQW�YDULHU�H��RQ�IDLW�« flotter » la virgule. m est généralement de taille fixée�� &HWWH� QRWLRQ� V·RSSRVH� j� OD�UHSUpVHQWDWLRQ�GLWH�HQ�YLUJXOH�IL[H�R��F·HVW�O·H[SRVDQW�H�TXL�HVW�IL[p�

/HV�GLIIpUHQFHV�GH�UHSUpVHQWDWLRQ� LQWHUQH�GHV�QRPEUHV�IORWWDQWV�G·XQ�RUGLQDWHXU�j�XQ�autre obligeait à reprendre finement les programmes de calculs scientifiques pour les SRUWHU� G·XQH� PDFKLQH� j� XQH� DXWUH� MXVTX·j� FH� TX·XQ� IRUPDW� QRUPDOLVp� VRLW� SURSRVp� SDU�O·,QVWLWXWH�RI Electrical and Electronics Engineers (IEEE).

Définition

2.

La norme IEEE Standard for binary Floating-Point Arithmetic (ANSI/IEEE Standard 754 - 1985) a été définie dans le but d'améliorer la qualité du calcul flottant et la portabilité des applications. Ce standard est maintenant utilisé et respecté par tous les acteurs principaux du calcul scientifique�� $LQVL�� OD� TXDVL-totalité des architectures DFWXHOOHV� LQFOXHQW� XQH� LPSOpPHQWDWLRQ� PDWpULHOOH� GHV� FDOFXOV� VXU� OHV� IORWWDQWV� ,(((��GLUHFWHPHQW�GDQV�OH�PLFURSURFHVVHXU��JDUDQWLVVDQW�XQH�H[pFXWLRQ�UDSLGH��

Cette norme spécifie 2 formats de nombre en virgule flottant (aussi appelés flottants) et les opérations associées. Ces flottants peuvent être codés sur 32 bits (flottants simple précision) ou 64 bits (double précision). Ils sont définis par 3 champs : un signe 6��XQH�PDQWLVVH�0�HW�XQ�H[SRVDQW�(��8Q�QRPEUH�DLQVL�FRGp�HVW�GRQné par :

(െ1) . (ܯ,1)2. 2

ݏܤെܧ

Norme IEEE 754

Page 5: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

5

La répartition des bits et la valeur du biais pour chacun des formats est donnée par le tableau suivant :

Signe(S) Exposant (E) Mantisse (M) Biais Simple Précision 1 8 23 127 Double Précision 1 11 52 1023

II. Conversions

1.

3RXU�FRQYHUWLU�XQ�QRPEUH�UpHO�U�HQ�IORWWDQW�,(((��LO�IDXW :

Décimal -> IEEE 754

9 Déterminer le bit de signe S : - si ݎ > , = 0 - si ݎ < , = 1

9 Convertir la valeur absolue en binaire fractionnaire avec le maximum de précision possible selon le format utilisé

Rappel ��&RQYHUVLRQ�G·XQ�UpHO�HQ�ELQDLUH�IUDFWLRQQDLUH : - Partie entière : méthode des divisions successives par 2 - Partie Fractionnaire : méthode des multiplications successives par 2

3RXU�SOXV�GH�SUpFLVLRQ��VH�UHSRUWHU�DX�FRXUV�GH�683� 9 Normaliser OH�QRPEUH�ELQDLUH�IUDFWLRQQDLUH�REWHQX��F·HVW-à-dire le

mettre sous la forme (1, M). 2e

9 Déterminer E en fonction de e et du biais 9 (FULUH�OH�UpVXOWDW�VRXV�IRUPH�ELQDLUH�HQ�MX[WDSRVDQW�OHV�GLIIpUHQWV�

champs de la façon suivante : SEM

2.

3RXU�FRQYHUWLU�XQ�IORWWDQW�,(((�HQ�GpFLPDO��LO�IDXW :

IEEE 754 -> Décimal

9 Déterminer le signe en fonction de S 9 Déterminer e en fonction de E et du Biais 9 Déterminer m2 = (1, M)2 sous forme binaire fractionnaire 9 Ecrire le résultat sous la forme ±m2. 2

e 9 Simplifier si nécessaire (en déplaçant la virgule suivant la puissance

de 2) et convertir le nombre binaire obtenu en décimal (cf. cours de SUP)

Page 6: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

6

3.

a.

Représentation des valeurs particulières

3RXU�FRGHU�OD�YDOHXU�GpFLPDOH����OHV�FKDPSV�M et E sont à 0. Seul S peut (éventuellement) être à 1

Le Zéro

b.

9 S = 6LJQH�GH�O·,QILQL

Les Infinis

9 E = Que des 1

9 M = 0

c.

/H�SOXV�SHWLW�QRPEUH��HQ�YDOHXU�DEVROXH��DGPHWWDQW�XQH�UHSUpVHQWDWLRQ�GLWH�QRUPDOLVpH�en format IEEE 754 est 2

1െBiais (puisque 2

െBiais ՞ 0��� 2U�� OD� QRUPH� IEEE 754 permet également de représenter des nombre plus petits en acceptant que leur représentation ne soit pas normalisée.

Une représentation dénormalisée se reconnait à :

Formats Dénormalisés

E = 0 et M 0

/D�YDOHXU�DLQVL�UHSUpVHQWpH�HVW�DORUV�GRQQpH�SDU�O·H[SUHVVLRQ�VXLYDQWH : (െ1)S

. m2. 21െBiais .

/D�FRQYHUVLRQ�VH�IDLW�GRQF�TXDVLPHQW�GH�OD�PrPH�PDQLqUH�TX·HQ�IRUPDW�QRUPDOLVp�

d.

Certains codes sont prévus pour représenter les « erreurs ª�RX�Q·LPSRUWH�TXHOOH�HQWLWp�qui ne serait pas un nombre. Ce sont les Not A Number (NaN).

Les codes réservés à cet effet sont de la forme :

Not A Number

E = Que des 1 et M 0

/HV�1D1�VHUYHQW��SDU�H[HPSOH��j�SURSDJHU�FRQYHQDEOHPHQW�OHV�HUUHXUV�ORUV�GHV�FDOFXOV�

Page 7: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

7

4.

ܧ

Synthèse

Correspondance ܯ0 0 0 0 0 (െ1)

.2. 2

1െݏܤ 0 mais pas que des 1 quelconque (െ1)

. .2(ܯ,1) 2

ݏܤെܧ Que des 1 0 (െ1)

.�

Que des 1 0 NaN

Page 8: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

8

Chap.2. Les Compteurs

I. Principe

Un compteur est un circuit séquentiel qui permet de dénombrer des impulsions appliquées sur son entrée d'horloge (clk ou H) et de restituer sur ses sorties des informations sous forme binaire. A chaque impulsion l'état du compteur est modifié et entre deux impulsions son état reste stable.

Ex ��2Q�YHXW�FRPSWHU����������2Q�D�GRQF�EHVRLQ�GH���YDULDEOHV�4��HW�4��

H Q1 Q0

1er front 0 0 2ème front 0 1 3ème front 1 0 4ème front 1 1 5ème front 0 0

Il y a deux types de comptage :

9 Le comptage asynchrone,O�V·DJLW�G·XQH�DVVRFLDWLRQ�GH�EDVFXOHV�HQ�VpULH��&KDTXH�EDVFXOH�IDLW�FRPPXWHU�la suivante par liaison sortie~horloge. Chaque bascule possède donc une horloge différente.

:

9 Le comptage synchrone,O�V·DJLW�G·XQH�DVVRFLDWLRQ�GH�EDVFXOHV�HQ�SDUDOOqOH��&KDTXH�EDVFXOH�FRPPXWH�HQ�IRQFWLRQ� GH� O·pWDW� GHV� VRUWLHV� SUpFpGHQWHV�� ,FL�� WRXWHV� OHV� EDVFXOHV� RQW� OD�même horloge.

:

H

Q0

Q1

Page 9: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

9

Il y a deux types de cycles :

9 Les cycles completsLe compteur passe par tous les 2

états définis par les sorties des bascules.

:

9 Le comptage synchroneLe compteur parcourt une partie seulement des 2

états définis par les sorties des bascules.

'DQV�WRXV�OH�UHVWH�GX�FRXUV��RQ�Q·XWLOLVHUD�GHV�bascules D ou JK synchronisées sur front (montant ou descendant).

:

II. Les compteurs/décompteurs asynchrones

1.

8QH� EDVFXOH� FkEOpH� HQ� FRPPXWDWLRQ� SHUPDQHQWH� FKDQJH� G·pWDW� j� FKDTXH� QLYHDX� DFWLI�G·KRUORJH�

Bascules câblées en commutation permanente

Notation générale

: Bascule D ou JK câblée en commutation permanente :

2.

a.

Comptage asynchrone à cycle complet : Exemple avec 3 bascules

Avec bascules synchronisées sur front montant

H

Q0

Q1

Q2

ܪ

Page 10: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

10

b.

Avec bascules synchronisées sur front descendant

3.

a.

Comptage/Décomptage asynchrone à cycle complet : Synthèse

9 Liaison aux 1+ܪ : Décomptage sur les

Bascules synchronisées sur front montant

Comptage sur les ഥ 9 Liaison Qi

തതത aux Hi+1 : Comptage sur les Qi Décomptage sur les ഥ

b.

9 Liaison aux 1+ܪ : Décomptage sur les

Bascules synchronisées sur front descendant

Comptage sur les ഥ 9 Liaison ഥ aux 1+ܪ : Comptage sur les

Décomptage sur les ഥ

1

1തതത

2

ത2

ܪ

0

ത0

H

Q0

Q1

Q2

1

1തതത

2

ത2

ܪ

0

ത0

Page 11: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

11

4.

Exemple : Comptage de 0 à 4 avec des bascules synchronisées sur front descendant.

On veut réaliser le cycle suivant :

2Q�YD�SDUWLU�GH�OD�EDVH�G·XQ�FRPSWHXU�DV\QFKURQH�j�F\FOH�FRPSOHW�HW�RQ�YD�DJLU�VXU�OHV�entrées asynchrones de forçage à 0 et à 1.

2Q� UHPDUTXH� TXH� OH� FRPSWHXU� FRPSWH� GDQV� O·RUGUH� MXVTX·j� �� HW� TXH� FKDTXH� pWDW� GRLW�GXUHU�SHQGDQW�XQH�SpULRGH�G·KRUORJH��,O�IDXW�HQVXLWH�OH�UHPHWWUH�j����

A quel moment faut-il faire ce forçage à 0 "�6L�RQ�IRUFH�j���ORUVTXH�OH�FRPSWHXU�HVW�j����O·pWDW� �� QH� GXUHUD� SDV� SHQGDQW� XQH� SpULRGH� G·KRUORJH�� OHV� HQWUpHV� GH� IRUoDJH� pWDQW�DV\QFKURQHV«� ,O� IDXW� GRQF� ODLVVHU� SDVVHU� OH� FRPSWHXU� j� �� HW� F·HVW� VHXOHPHQW� j� FH�PRPHQW�Oj�TX·RQ�GRLW�DJLU�VXU�OHV�HQWUpHV�6HW�HW�5HVHW�SRXU�UHPHWWUH�OH�FRPSWHXU�j���

3RXU�FHW�H[HPSOH��VXSSRVRQV�OHV�HQWUpHV�6HW�HW�5HVHW�DFWLYHV�DX�QLYHDX�KDXW��

Comptage/Décomptage asynchrone à cycle incomplet

2 1 0 2,2,0 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 X 1 1 1 X

Traduisons cette table de vérité en tableau de Karnaugh :

2 \10 00 01 11 10 0 1 1 1 1 1 1 0 X X

On trouve alors : R2 = R2 = R0 = Q2തതതത + Q0

തതതത = Q2. Q0തതതതതതതത

III. Compteurs / Décompteurs synchrones

Page 12: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

12

1.

Principe

But

2.

: Déterminer le système combinatoire qui définit les entrées synchrones pour obtenir le cycle désiré.

Réalisation avec des bascules D.

Exempl

2

e : Compteur Modulo 8.

0ܦ 1ܦ 2ܦ 0 10 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 0 0 0

La table de vérité ci-dessus permet de déterminer les équations des entrées D des bascules afin de décrire le cycle désiré. Cherchons maintenant les équations.

Solution évidente : D0 = Q0തതതത

Système Combinatoire

0

0തതതത

ܪ

D Q

QH

0

D Q

QH

1

D Q

QH

Page 13: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

13

2\10 00 01 11 10 0 0 1 0 1 1 0 1 0 1

1ܦ = 1തതത0 + 10

തതതത = 1 0

2\10 00 01 11 10 0 0 0 1 0 1 1 1 0 1

2ܦ = 2

തതതത.10 + 21തതത + 20

തതതത = 2

തതതത10 + 2(1തതത + 0

തതതത) = 2തതതത10 + 2(1.0

തതതതതതതത) = 2 (10)

Le principe reste le même pour construire un compteur à cycle incomplet.

3.

a.

Réalisation avec des bascules JK.

Afin de GpWHUPLQHU�OHV�pTXDWLRQV�GHV�HQWUpHV�-�HW�.�GH�FHV�EDVFXOHV��établissons la table des transitions

��IURQW�G·KRUORJH

Table des transitions :

Q(t) Q(t+1) J K

0 0 0 X 0 1 1 X 1 0 X 1 1 1 X 0

1ière ligne : Q passe de 0 à 0 ї état mémoire ��-� ����.� �� ї mise à 0 ��-� ����.� �� 2ième ligne : Q passe de 0 à 1 ї Mise à 1 : J = 1 et K = 0 ї Commutation : J = 1 et K = 1 3ième ligne : Q passe de 1 à 0 ї mise à 0 : J = 0 et K = 1 ї Commutation J = 1 et K = 1 4ième ligne

b.

: Q passe de 1 à 1 ї Etat mémoire: J = 0 et K = 0 ї Commutation J = 1 et K = 0

Compteurs à cycles complets et incomplets

Page 14: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

14

Exempl

2

e : Compteur Modulo 8.

0ܭ 0ܬ 1ܭ 1ܬ 2ܭ 2ܬ 0 10 0 0 0 X 0 X 1 X 0 0 1 0 X 1 X X 1 0 1 0 0 X X 0 1 X 0 1 1 1 X X 1 X 1 1 0 0 X 0 0 X 1 X 1 0 1 X 0 1 X X 1 1 1 0 X 0 X 0 1 X 1 1 1 X 1 X 1 X 1

La table de vérité ci-dessus permet de déterminer les équations des entrées D des bascules afin de décrire le cycle désiré. Cherchons maintenant les équations.

Solution évidentes

0 = 0 = 1 1ܬ = 1ܭ = 0

Pour J2

2\10 00 01 11 10 0 0 0 1 0 1 X X X X

Pour K2

Q2\Q1Q0 00 01 11 10 0 X X X X 1 0 0 1 0

On obtient alors : 2ܬ = 2ܭ = 10

Le principe reste le même pour construire un compteur à cycle incomplet.

1 front

Page 15: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

15

Chap.3. Les Systèmes Numériques

I. Introduction : Définition

Un système numérique est un ensemble de composants numériques autonome comportant au moins un microprocesseur (µP).

Le rôle du microprocesseur est de gérer l'ensemble. Il communique avec les autres FRPSRVDQWV� VRLW� GLUHFWHPHQW� YLD� OH� EXV�� VRLW� SDU� OH� ELDLV� GH� OXQLWp� GpFKDQJH�(traducteur de protocole)

II. Les mémoires : Constitution de plans mémoire

1.

Une mémoire est un composant numérique capable de stocker des informations (instruction et/ou données).

Introduction

Les systèmes utilisent souvent l'architecture de Von Neumann1

1 5T���3DU�RSSRVLWLRQ��O·DUFKLWHFWXUH�GH�W\SH�+DUYDUG�HVW�XQH�FRQFHSWLRQ�GH�

: la mémoire contient donc à la fois les instructions ET les données.

microprocesseurs qui VpSDUH� SK\VLTXHPHQW� OD� PpPRLUH� GH� GRQQpHV� HW� OD� PpPRLUH� SURJUDPPH�� /·DFFqV� j� FKDFune des GHX[� PpPRLUHV� V·HIIHFWXH� YLD� GHX[� EXV� GLVWLQFWV�� &HVW� OH� FDV� GHV� PLFURFRQWU{OHXUV� 3,&�� SDU�exemple.

µP

Mémoire

Unité d'échange

µP

Mémoire

Moniteur

Bus

Page 16: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

16

Les instructions sont donc exécutées de façon séquentielles et dans l'ordre de stockage. Il n'y a donc pas de calculs complexes à faire pour connaître l'adresse de la prochaine instruction.

2.

Organisation externe

9 Bus de données

9

: il contient la donnée à lire ou à écrire. Il est bidirectionnel

%XV�G·DGUHVVH

9

: Il cRQWLHQW�O·DGUHVVH�GH�OD�FDVH�PpPRLUH�FRQFHUQpH�SDU�OD�OHFWXUH�RX�O·pFULWXUH. C'est une entrée

Bus de commandes

o

:

AS

o

: (Address Strobe) ��YDOLGDWLRQ�GX�%XV�G·adresse. C'est une entrée

DTACK

o

(Data Acknowledge) : validation du bus dus de données. C'est une sortie.

CS (Chip Select) ou CE

o Rഥ/W R/Wഥ (Read/Write) : Signal de lecture/écriture. C'est une entrée.

(Chip Enable) : sélection de boitier. C'est une entrée.

MEMOIRE

Bus de Données

Bus D'Adresses

AS

CS

R/W

DTACK

Bus De

Commande

Page 17: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

17

3.

Une mémoire est caractérisée par les informations suivantes :

Caractéristiques

9 /DUJHXU� G·XQH� PpPRLUH

9

�� &HVW� OD� WDLOOH� GXQ� PRW�� FHVW-à-dire la taille d'une information transférable en un seul cycle de lecture/écriture. La largeur est donc égale à la taille du bus de donnée.

Profondeur d'une mémoire

Rq : On parle souvent de lDUJHXU�G·XQ�EXV�pour définir le nombre de fils du bus.

: C'est le nombre GH�PRWV�TX·RQ�SHXW�VWRFNHU dans la mémoire�� (OOH� GpILQLW� OD� WDLOOH� GX� EXV� G·#� Par exHPSOH�� Vi le bus d'adresses FRPSUHQG� N� ILOV�� OD� SURIRQGHXU� VHUD� GH� 2

(= nombre d'adresses différentes qu'on peut générer avec k bits)

9 Capacité

Le tableau suivant définis les multiples des unités utilisées pour définir les grandeurs relatives aux mémoires.

: Largeur * profondeur.

Symbole Préfixe Correspondance

K Kilo(binaire) 210

M Méga(binaire) 220

G Giga(binaire) 230

T Tera(binaire) 240

4.

On a parfois besoin de constituer des mémoires avec des largeurs et des profondeurs GLIIpUHQWHV� GH� FHOOHV� GHV� ERLWLHUV� j� QRWUH� GLVSRVLWLRQ�� SRXU� OHV� UHQGUH�� SDU� H[HPSOH��compatibles avec les microprocesseurs.

Constitution de plans mémoire

Exemple : un microprocesseur 16 bits (taille du bus de données) utilise des mémoires de 16 kmots. On a à notre disposition des blocs mémoire de capacité égale à 16 Ko.

Page 18: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

18

Deux cas de figure principaux se présentent alors : 9 Soit on dispose de mémoires de largeur 8 bits.

Ă3 Mem.

7DLOOH�EXV�# 14 14

Taille bus données 16 8

La mémoire et le processeur sont non compatibles en largeur. On va donc associer des mémoires de façon à les rendre compatible en largeur en réalisant un montage parallèle.

9 Soit on dispose de mémoires de largeur 16 bits.

Ă3 Mem.

7DLOOH�EXV�# 14 13

Taille bus données 16 16

La mémoire et le processeur sont non compatibles en profondeur. On va donc associer des mémoires de façon à les rendre compatible en profondeur en réalisant un montage série.

6L�OHV�PpPRLUHV�HW�OH�SURFHVVHXU�VRQW�QRQ�FRPSDWLEOHV�HQ�ODUJHXU�(7�HQ�SURIRQGHXU��RQ�réalisera un montage série/parallèle.

a.

/REMHFWLI�GH�FHWWH�association est d'augmenter la largeur de la mémoire.

Reprenons l'exemple précédent : on veut construire une mémoire - appelons-la Mem 1 - de largeur égale à 16 bits et de profondeur égale à 16kmots

On dispose de boitiers – appelons-les Mem 2 – tels que :

Association en parallèle

9 largeur = 8 bits

9 profondeur = 16 Kmots

Page 19: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

19

Nous devons doubler la largeur des boitiers Mem2. On utilisera donc deux boitiers de ce type de mémoire.

'DQV�FH�FDV��OHV�LQIRV�VXU�OH�EXV�GH�FRPPDQGH�VRQW�OHV�PrPH�SRXU�WRXWHV�OHV�PpPRLUHV�

b.

/REMHFWLI�GH�FHWWH�association est d'augmenter la profondeur de la mémoire.

Reprenons l'exemple précédent : on veut construire une mémoire - appelons-la Mem 1 - de largeur égale à 16 bits et de profondeur égale à 16kmots

On dispose de boitiers – appelons-les Mem 3 – tels que :

Association en série :

9 largeur = 16 bits

9 profondeur = 8 Kmots

Mem 2

MSB

Mem 2

LSB

14

14 14

8 8

16

16

Commande

Mem 1

@ @

Page 20: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

20

Nous devons doubler la profondeur des boitiers Mem 3. On utilisera donc deux boitiers de ce type de mémoire.

Les infos du bus de commande (sauf CS) sont les mêmes pour toutes les mémoires.

III. /·DGUHVVDJH�GHV�PpPRLUHV�HW�SpULSKpULTXHV�

1.

'DQV�OHV�V\VWqPHV�j��S��O·HVSDFH�PpPRLUH�DGUHVVDEOH�HVW�SDUWDJp�HQ�SOXVLHXUV�]RQHV�TXL�SHUPHWWHQW� OD� ORFDOLVDWLRQ�� GRQF� OD� VpOHFWLRQ� H[FOXVLYH� GH� FLUFXLWV� PpPRLUHV ou de circuits périphériques.

7RXV� FHV� FLUFXLWV� GRLYHQW� rWUH� DFFHVVLEOHV� j� GHV� DGUHVVHV� SUpGpILQLHV� VDQV� TX·LO� \� DLW�UHFRXYUHPHQW�GH�]RQH��FH�TXL�HQWUDLQHUDLW�GHV�FRQIOLWV�G·DFFqV�

3RXU� UpDOLVHU� FHOD�� RQ� SURFqGH� j� GHV� WHFKQLTXHV� GH� GpFRGDJH� GX� EXV� G·DGUHVse qui V·RSqUHQW�HQ�GHX[�SKDVHV :

Introduction

9 La sélection des adresses physique

9 La sélection des adresses de base

Mem 3

A

CS

13

13

@

@

A12:0

14

&

&

Mem 3

B

CS

A13

Commande.

Mem 1

8

8 8 CS

Page 21: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

21

2.

Une mémoire de 2n mots ou un circuit périphérique de 2

n registres adressables nécessitent n fils G·DGUHVVH�SRXU�OD�VpOHFWLRQ�GH�O·XQ�GH�Ves mots ou registres. Ces n fils G·HQWUpH�VRQW�VLPSOHPHQW�UpXQLV�DX[�Q�ELWV�GH�SOXV�IDLEOH�SRLGV�GX�EXV�DGUHVVH�

Décodage d'adresse : Sélection des adresses physiques :

$LQVL��XQH�PpPRLre de 4Kmots (soit 212��QpFHVVLWH����ILOV�G·HQWUpH�UpXQLV�DX[�ELWV�A11 à A0 GX�EXV�G·adresse. Un circuit périphérique de 4 registres internes (RI) (2

2) nécessite ��ILOV�G·HQWUpH�UpXQLV�DX[�ELWV��A1 . A0 GX�EXV�G·DGUHVVH��G·XQ��S��

Nous obtenons le schéma suivant :

&HWWH�SUHPLqUH�SKDVH�G·DGUHVVDJH�V·HIIHFWXH��VDXI�FDV�SDUWLFXOLHUV��WRXMRXUV�GH�OD�PrPH�façon.

3.

Si un système à �S�FRQWLHQW�SOXVLHXUV�PpPRLUHV�HW�SpULSKpULTXHV��RQ�GRLW�SURFpGHU�j�OD�VpOHFWLRQ�G·XQ�VHXO�FLUFXLW�j�FKDTXH�DFFqV��DIIHFWDWLRQ�H[FOXVLYH���&·HVW�OD�SKDVH�GLWH�GH�“décodage adresse”.

7RXW� FLUFXLW� pOHFWURQLTXH� DGUHVVDEOH� GLVSRVH� GH� VLJQDX[� G·HQWUpH� GH� YDOLGDtion de boitier. Ce sont ces signaux (CS ou CE) qui seront exploités par la fonction de décodage GH�O·DGUHVVH�GH�EDVH�G·XQ�FLUFXLW�

&HWWH� VpOHFWLRQ� V·HIIHFWXH� SDU� OD� JHVWLRQ� GH� WRXW� RX� SDUWLH� GHV�ELWV� GX�EXV� G·DGUHVVH�(bits de poids fort) qui ne sont pas uWLOLVpV� SDU� OD� �qUH� SKDVH�G·DGUHVVDJH� �DGUHVVDJH�physique).

(Q� UHSUHQDQW� QRWUH� H[HPSOH� SUpFpGHQW�� RQ� SHXW� V·DWWHQGUH� j� O·RUJDQLVDWLRQ� VXLYDQWH : �EXV�#�VXU���ELWV�

Décodage d'adresse : 6pOHFWLRQ�GH�O·DGUHVVH�GH�EDVH :

µp

MEMOIRE 4KMots

Périphérique 4RI

ܣ 0ܣ.

0ܣ. 11ܣ

0ܣ. 1ܣ

BUS @

Page 22: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

22

3RXU�UpDOLVHU�OD�IRQFWLRQ�GH�´GpFRGDJH�DGUHVVH�GH�EDVHµ��RQ�D�UHFRXUV�j�GHX[�PRGHV�de sélection d'adresses :

9 L'adressage par sélection linéaire

9 L'adressage SDU�VpOHFWLRQ�GH�]RQHV��

Ces deux modes se combinent souvent entre eux et entrainent à des équations logiques ± complexes mises en pratique par des techniques de logique câblée ou programmée (circuits programmables).

Remarque :

3RXU� TX·XQ� GpFRGDJH� DGUHVVH� VRLW� RSpUDWLRQQHO�� LO� IDXW� LPSpUDWLYHPHQW� UDMRXWHU� DX�PpFDQLVPH� GH� GpFRGDJH� GHV� DGUHVVHV�� GHV� VLJQDX[� GH� YDOLGDWLRQV� GH� OD� IRQFWLRQ� GH�GpFRGDJH��&HV�VLJQDX[�GH�FRQGLWLRQ�YDOLGHQW�O·pFKDQWLOORQQDJH�GX�EXV�adresse et le sens des transferts (ex : AS_RD_WR�� HW�SDUIRLV��LQKLEHQW�OD�Ionction de décodage pour des cycles particuliers du processeur (ex: it��=bus�����

Nous obtenons le schéma suivant :

Fonction de décodage @

de base

՜ éݐ

BUS ADRESSE

՜ ݐ

BUS de COMMANDE

Sélection des Boitiers

15:0ܣ

11:0ܣ 1:0ܣ 9:0ܣ

RAM CS

µP

Fonction décodage

@ de base

ROM CS

Périph CS

15ܣ

14ܣ

13ܣ

12ܣ

Page 23: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

23

&HUWDLQV� SURFHVVHXUV� RIIUHQW� OD� SRVVLELOLWp� G·DFFpGHU� GLUHFWHPHQW� j� GHV� FLUFXLWV�SpULSKpULTXHV��'DQV�FHWWH�VWUXFWXUH��OHV�WUDQVIHUWV�G·(QWUpH�6RUWLHV�VRQW�LPSOpPHQWpV�par des instructions spécifiques aux périphériques et font intervenir des signaux particuliers pour les échanges.

'DQV� FH� FDV�� OH� GpFRGDJH� d'adresses devra intégrer la gestion de ces signaux (par exemple : signaux VMA et VPA du 68K)

a.

'DQV� FH� PRGH�� OD� PpWKRGH� FRQVLVWH� j� UHOLHU� GHV� OLJQHV� G·DGUHVVHV� LQGLYLGXHOOHV�� DX[�boîtiers mémoires ou périphériques.

Exemple sur un bus d'adresses de 16 bits:

Soit un système utilisant une RAM de 2KPRWV�� XQH� 520� GH� �.PRWV� HW� XQ� FLUFXLW�G·(QWUpH�6RUWie “PERIPH1” utilisant 16 mots. Nous DOORQV�HIIHFWXHU��DUELWUDLUHPHQW�� OD�sélection suivant :

Adressage par sélection linéaire.

6pOHFWLRQ�GHV�#�SK\VLTXHV: RAM 2KM 11 fils sont nécessaires �#A10 . A0) ROM 1KM 10 fils sont nécessaires �#A9 . A0) PERIPH1 16Mots 4 fils sont nécessaires �#A3 . A0)

Il nous reste alors de disponible pour la sélection des adresses de base:

o 15ܣ ՜ Séléction RAM : ܯܣܥ = 15ܣ.ܣo 14ܣ ՜ Sélection ROM : ݎܥ = 14ܣ.ܣo 13ܣ ՜ Sélection PERIPH : ݎܥ = 13ܣ.ܣo 12ܣ (non utilisé) o 11ܣ (non utilisé)

On obtient la sélection suivante :

15ܣ 14ܣ 13ܣ 12ܣ ܣ 1ܣ 0ܣ 2

RAM ROM PERIPH1

Page 24: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

24

([SORLWDWLRQ�GH�O·HVSDFH�PpPRLUH :

@ de sélection

RAM @ 8000 à 87FF @ 8000 = adresse de base

ROM @ 4000 à 43FF @ 4000 = adresse de base

PERIPH1 @ 2000 à 200F @ 2000 = adresse de base

5HSUpVHQWDWLRQ�GH�O·HVSDFH�mémoire.

Avantages de ce mode

6LPSOLFLWp��SDV�GH�ORJLTXH�VSpFLDOH�

:

Inconvénients de ce mode

9 $XFXQH� SURWHFWLRQ� FRQWUH� OHV� FRQIOLWV� G·DFFqV� (ex:

:

adressage de la RAM en C000). Si on veut éviter ces conflits�� LO� IDXdrait UDMRXWHU�GHV�RSpUDWHXUV�ORJLTXHV��FH�TXL�DMRXWH�GH�OD�FRPSOH[LWp�DX�PRGH (ex : RAM : A15 ����A14 = 0 et A13 = 0)

9 ([SORLWDWLRQ�OLPLWpH�GH�O·HVSDFH�PpPRLUH

9 Evolution du système tUqV� OLPLWpH� �SRXU� UDMRXWHU� GHV� FLUFXLWV�supplémentaires).

Cl

: Ce mode convient parfaitement pour des petits systèmes à base de µp (système dédié).

RAM

ROM

PERIPH1

FFFF

87FF

8000

43FF

4000

200F

2000

0000

Page 25: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

25

b.

'DQV� FH� PRGH�� RQ� GpFRXSH� O·HVSDFH� PpPRLUH� HQ� ]RQHV� �RX� EORFV��� &KDTXH� ]RQH se caractérise par une profondeur mémoire fixe (appelée BANK).

$GUHVVDJH�SDU�VpOHFWLRQ�GH�]RQHV�

/H�SULQFLSH�SUHQG�HQ�FRPSWH�GHX[�pOpPHQWV���OD�]RQH�PD[LPDOH�DGUHVVDEOH�HW�OH�QRPEUH�GH�]RQHV�GpILQL�GDQV�O·HVSDFH�PpPRLUH� La méthode consiste à prendre les n bits de poids fort du bus adresse qui permettent de créer les 2n ]RQHV�VpOHFWDEOHV�

Exemple

9

: 6RLW�XQ�EXV�G·DGUHVVH�GH����ELWV��2Q�VRXKDLWH�GpFRXSHU�O·HVSDFH�DGUHVVDEOH�HQ�blocs de 8Kmots.

Adressage physique

9 ,O�UHVWH�GRQF���ILOV�SRXU�O·DGUHVVDJH�GH�base. On pRXUUD�GRQF�FUpHU���]RQHV�GH�8Kmots chacune.

: 8Kmots = 213��soit 13 fils reliés aux 13 bits de poids IDLEOH�GX�EXV�G·DGUHVVH��12:0ܣ)

Remarques

9 Risques de redondance pour les blocs partiellement exploités (sinon place sur Y2 XQH�PpPRLUH�GH��.��HOOH est accessible de 2000 à 2FFF et de 3000 à 3FFF).

:

9 Possibilité de construire une mémoire FRQWLJ�H�TXL�H[SORLWH�O·HQVHPEOH�GH�O·HVSDFH�adressable.

Fonction de décodage @

de base

15ܣ 14ܣ 13ܣ

AS

0

1

2

7

Page 26: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

26

Chap.4. Microprocesseur 68000

Document lié : Annexe 1 – Documentation Motorola 68000

I. Structure d'un microprocesseur

Un microprocesseur comprend les éléments suivants :

9 Une unité de calcul

9 Une unité de décodage et de séquencement des instructions

9 Des unités "mémoire"

9 Des compteurs

1.

C'est l'organe capable de faire des calculs arithmétiques et logiques. La réponse fournie par l'ALU comprend non VHXOHPHQW� OD�YDOHXU�GX�UpVXOWDW��PDLV�DXVVL�GHV� LQGLFDWHXUV�GH�condition (les flags).

L'unité de calcul : Unité Arithmétique et Logique (UAL ou ALU)

2.

C'est l'organe chargé de décoder les instructions pour déterminer l'opération à réaliser et l'adresse des opérandes.

Le séquenceur peut être câblé (tout en matériel) ou microprogrammé. L'avantage de FHWWH�VHFRQGH�VROXWLRQ�UpVLGH�SULQFLSDOHPHQW�GDQV�OH�IDLW�TXRQ�SHXW�DORUV�FKDQJHU�OH�MHX�d'instructions uniquement en changeant le microprogramme.

L'unité de décodage et de séquencement : le séquenceur

3.

Il existe deux types de registres :

Les unités "mémoire" : les Registres

9 Registres non adressables : Ils sont non accessibles par l'utilisateur et à usage interne au microprocesseur. Les deux registres non adressables principaux sont OH�UHJLVWUH�GLQVWUXFWLRQ��,5���TXL�FRQWLHQW� OLQVWUXFWLRQ�HQ�FRXUV�GH[pFXWLRQ�HW�le registre d'état (SR) qui contient l'état du microprocesseur à chaque instant.

Page 27: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

27

9 Registres adressables : Ils sont accessibles par l'utilisateur en lecture et en écriture. On les appelle aussi Registres Généraux

&H�VRQW�GHV��FDVHV�PpPRLUH��LQWHUQHV�DX�SURFHVVHXU��LOV�VRQW�GRQF�GDFFqV�UDSLGH� On privilégiera leur utilisation autant que possible.

.

4.

Ce sont des registres ayant la capacité de s'incrémenter ou de se décrémenter automatiquement. On trouve généralement 2 compteurs dans les processeurs : le FRPSWHXU�GH�SURJUDPPH��RX�FRPSWeur ordinal (PC) qui contient l'adresse de la prochaine LQVWUXFWLRQ��HW�OH�SRLQWHXU�GH�SLOH��63��TXL�FRQWLHQW�ODGUHVVH�GX�VRPPHW�GH�OD�SLOH�

Les compteurs

II. Le microprocesseur 68000 : Structure et généralités

3RXU�SRXYRLU�SURJUDPPHU�FRQYHQDEOHPHQW�XQ�PLFURSURFHVVHXU�� Outilisateur a besoin de FRQQDvWUH�XQ�FHUWDLQ�QRPEUH�GH�FDUDFWpULVWLTXHV�VSpFLILTXHV�DX�FRPSRVDQW��WHOOHV�TXH��

9 La définition des registres généraux (nombre et taille) 9 /H�MHX�GLQVWUXFWLRQ 9 La définition des flags 9 Les types de données utilisées 9 La définition des registres 9 Les modes d'adressages 9 La gestion de la mémoire et des registres 9 La taille des bus

/H�������HVW�XQ�PLFURSURFHVVHXU����ELWV��FH�TXL�VLJQLILH�TXH�OH�EXV�GH�GRQQpHV�HVW�VXU����ELWV��/H�EXV�GDGUHVVH�FRPSUHQG��TXDQW�j�OXL�����ILOV�

1.

a.

Les registres

/H�������SRVVqGH����UHJLVWUHV�JpQpUDX[�����UHJLVWUHV�GH�GRQQpHV��QRWpV�'��j�'��HW���UHJLVWUHV�GDGUHVVH��QRWp�$��j�$���&KDTXH�UHJLVWUH�FRQWLHQW����ELWV�

Registres généraux

b.

Le registre d'état du 68000 est le seul registre codé sur 16 bits du 68000. Sa structure est donnée par la figure suivante :

Registre d'état

Page 28: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

28

Registre de condition 0ܫ 1ܫ 2ܫ

: Bit Trace (voir chapitre Exception)

��'pILQLW�OH�PRGH�GH�IRQFWLRQQHPHQW�GX�SURFHVVHXU��6LO�HVW�j����RQ�WUDYDLOOH�HQ�PRGH�VXSHUYLVHXU��VLQRQ��RQ�HVW�HQ�PRGH�XWLOLVDWHXU�

Définit le masque d'interruption (voir chapitre Exception) : 0ܫ1ܫ2ܫ

Registre de condition : Contient les flags

2.

Le 68000 comprend 2 compteurs :

Les compteurs

9 PC : Compteur ordinal 9 63� ��3RLQWHXU�GH�SLOH�� 3RXU� OH�������� LO� \� D�GHX[�SRLQWHXUV�GH�SLOH� �� OH� SRLQWHXU�

�XWLOLVDWHXU��� TXL� HVW�� SDU� GpIDXW� HVW� OH� UHJLVWUH�GDGUHVVHV�$��� HW� XQ� SRLQWHXU�"système" ou "superviseur" qui est un registre non adressable A7'. La sélection du pointeur SP se fait automatiquement en fonction de l'état du bit S du registre d'état.

3.

Il comprend environ 80 instructions. Il est disponible dans la documentation du composant.

Le format général d'une instruction est le suivant :

Opération.type_de_donnée #BVRXUFH�#GHVWLQDWLRQ

/H�MHX�GLQVWUXFWLRQ

4.

Le 68000 peut gérer les 5 types de données suivantes :

Le type de données

9 Octet (.B) sur 8 bits

9 Mot (.W) sur 16 bits

9 Double Mot (.L) sur 32 bits

9 Bit

9 BCD

Octet superviseur Octet utilisateur

Masque d'interruption

Page 29: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

29

3RXU� OHV� RSpUDWLRQV� VXU� OHV� ELWV� RX� VXU� OHV� GRQQpHV� FRGpHV� HQ� %&'�� LO� H[LVWH� GHV�instructions spécifiques.

5.

/H�������FRPSUHQG���IODJV��;=1&9��TXL�VH�WURXYHQW�GDQV�OHV���ELWV�GH�SRLGV�IDLEOH�GX�registre d'état. On y trouve :

Le registre de conditions

9 Flag Z : Indique si le résultat est nul

9 Flag N : Indique si le résultat est négatif

9 Flag C : Indique si l'opération a généré une retenue (arithmétique non signée)

9 Flag V : Indique si l'opération a généré un dépassement de capacité (arithmétique signée)

9 )ODJ�;���8WLOLVp�SRXU� OH�WUDYDLO�HQ�PRGH�pWHQGX��FHVW-à-dire sur des opérations traitant de nombres de taille supérieure à 32 bits.

Les autres éléments dont la connaissance est nécessaire à la programmation du processeur seront abordés dans les parties suivantes.

III. Utilisation des registres et de la mémoire

1.

,O� H[LVWH� SOXVLHXUV� W\SHV�GH�GRQQpHV�� FRGpHV� VXU� GHV� WDLOOHV� GLIIpUHQWHV��2U�� WRXV� OHV�registres généraux sont codés sur 32 bits. La règle veut que les données occupent les SRLGV�IDLEOHV�GH�FHV�UHJLVWUHV��$LQVL��XQH�GRQQpH�GH�W\SH�RFWHW�VH�WURXYHUD�GDQV�ORFWHW�GH�SRLGV�IDLEOH�GX�UHJLVWUH�JpQpUDO��XQH�GRQQpH�GH�W\SH�PRW�RFFXSera les deux octets de poids faibles du registre. Quant aux données de type double-PRW�� HOOHV� RFFXSHURQW�l'intégralité des registres.

Les registres

2.

Le 68000 est un processeur 16 bits. La largeur de son bus de données est donc de 16 bits. La mémoire doit donc avoir elle aussi un bus de données de 16 bits.

La mémoire

Page 30: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

30

2U�� OH� ������ GRLW� rWUH� FDSDEOH� GH� JpUHU� GHV� GRQQpHV� FRGpHV� VXU� �� ELWV� �RFWHW��� ,O�faudra donc utiliser une mémoire adressable par octet. On utilise donc 2 mémoires de ODUJHXU���ELWV��OXQH�FRUUHVSRQGDQW�DX[�DGUHVVHV�SDLUHV��ODXWUH��DX[�DGUHVVHV�LPSDLUHV��Le schéma de principe d'une telle mémoire est donné ci-dessous.

a.

L'octet correspondra au contenu de la case correspondant à l'adresse indiquée. Son adresse peut donc être paire ou impaire.

Données type octet

b.

Un mot est formé de 2 octets. Il occupera donc 2 cases mémoire. Ces deux cases GRLYHQW�VH�WURXYHU�VXU�XQH�PrPH�OLJQH��'H�SOXV��ODGUHVVH�GXQ�PRW�FRUUHVSRQG�WRXMRXUV�à celle de son octet de poids fort.

Données type mot

L'adresse d'un mot est WRXMRXUV�SDLUH

c.

Un double-mot est formé de 2 mots. Il occupera donc 4 cases mémoire. Ces quatre FDVHV�RFFXSHQW�GHX[� OLJQHV��'H�SOXV�� ODGUHVVH�GXQ�GRXEOH-PRW�FRUUHVSRQG� WRXMRXUV� j�celle de son octet de poids fort.

Données type double-mot

L'adresse d'un double-PRW�HVW�WRXMRXUV�SDLUH

Bus de données sur 16 bits

@ paires @ impaires

Page 31: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

31

IV. Exécution d'une instruction

Une instruction contient les informations suivantes :

9 L'opération à réaliser 9 Les adresses des opérandes 9 Le type des données manipulées

L'exécution d'une instruction se passe en deux cycles consécutifs :

9 une phase de recherche (fetch) 9 une phase d'exécution (execute)

C'est le séquenceur qui gère ces deux phases.

1.

L'instruction dont l'adresse se trouve dans le registre PC est routée de la mémoire vers le registre d'instruction IR. Elle est alors décodée par le séquenceur qui en extrait les LQIRUPDWLRQV�XWLOHV��RSpUDWLRQ��DGUHVVHV�GHV�RSpUDQGHV��W\SH�GH�GRQQpHV��

$SUqV�FH�GpFRGDJH��OH�3&�HVW�LQFUpPHQWp�SRXU�SRLQWHU�VXU�OLQVWUXFWLRQ�VXLYDQWH�

Phase de recherche

2.

Le séquenceur envoie les commandes nécessaires à l'ALU pour qu'elle réalise l'opération demandée. Il procède aussi au routage des données vers l'unité de calcul.

L'ALU exécute l'opération demandée sur les données et retourne le résultat (valeur + flags). La valeuU�HVW�VDXYHJDUGpH�HW�OH�UHJLVWUH�GH�FRQGLWLRQV�HVW�PLV�j�MRXU�

Phase d'exécution

Rq

3.

: L'enchainement de ces deux phases est automatique.

On parle de Rupture de séquence lorsque l·LQVWUXFWLRQ� VXLYDQWH� QH� VH� WURXYH� SDV�LPPpGLDWHPHQW�DSUqV�O·LQVWUXFWLRQ�HQ cours.

Exemple : Structure conditionnelles : appels sous-programme

On utilisera alors des instructions qui modifient le contenu de PC.

Rupture de séquence.

Page 32: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

32

4.

/D�SXLVVDQFH�G·XQ�MHX�G·LQVWUXFWLRQV�GpSHQG�:

/H�MHX�G·LQVWUXFWLRQ�

9 'H�VD�ULFKHVVH��FHVW-à-dire du QRPEUH�G·LQVWUXFWLons � CISC = Complex Instruction Set Computer � RISC = Reduced Instruction Set Computer

9 De sa diversité c'est-à-dire du QRPEUH�G·RSpUDWLRQV�GLIIpUHQWHV� 9 Des types de données utilisables. 9 DHV�PRGHV�G·adressage.

6WUXFWXUH�JpQpUDOH�G·XQH�LQVWUXFWLRQ :

OP T Source 1 Source 2 Destination

Les instruction transitent de la mémoire vers le Ă3�YLD� OH�EXV�GH�GRQQées. La taille de O·LQVWUXFWLRQ� GRLW� rWUH� XQ� PXOWLSOH� GH� OD� WDLOOH� GX� EXV� GH� GRQQpHV� 'H� SOXV�� Les instructions les plus utilisées doivent être les plus courtes.

V. Techniques d'adressage

La structure générale d'une instruction en mémoire est donnée ci-dessous :

OP T Source 1 Source 2 Destination

Le champ OP représente le code opération. Il occupe de 5 à 8 bits.

Le champ T représente le type de données. Il occupe de 2 à 3 bits.

Le champ d'adresses contient les adresses des différentes opérandes. Comme le bus GDGUHVVH�GX�������FRQWLHQW����ILOV��FH�FKDPS�FRQWLHQW��[����VRLW����ELWV��

6L�RQ�ODLVVDLW�OH�FRGDJH�VRXV�FHWWH�IRUPH��FKDTXH�LQVtruction occuperait au maximum 83 ELWV��&RPPH�RQ�SHXW� OLUH����ELWV�j�FKDTXH�F\FOH�GH� OHFWXUH� �WDLOOH�GX�EXV�GH�GRQQpHV���l'exécution d'une instruction prendrait beaucoup trop de temps. Il faut donc essayer de UpGXLUH�OD�WDLOOH�GHV�LQVWUXFWLRQV��3RXU�FHOD��on va diminuer la taille du champ d'adresses (le plus volumineux).

Champ d'adresses

Page 33: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

33

1.

2Q�YD�UpGXLUH�OH�QRPEUH�GRSpUDQGHV�HQ�SDVVDQW�GH���j����3RXU�FHOD��RQ�DFFHSWH�TXXQH�des deux sources fasse aussi office de destination.

Réduction du nombre d'opérandes

$LQVL��RQ�QDXUD�SOXV��� ՚ + ��PDLV�� ՚ + .

2.

2Q�VDLW�TXH�OHV�GRQQpHV�SHXYHQW�VH�WURXYHU�VRLW�GDQV�XQ�UHJLVWUH�JpQpUDO�GX�SURFHVVHXU��VRLW�GDQV�OD�PpPRLUH��VRLW�GDQV�XQ�UHJLVWUH�LQWHUQH�GXQ�SpULSKpULTXH��

Espace d'adressage

a.

Si on utilise XQ�HVSDFH�GDGUHVVDJH�XQLTXH��VHXOH� ODGUHVVH�GLIIpUHQFLHUD� OHV�UHJLVWUHV�JpQpUDX[�� OHV� UHJLVWUHV� GHV� SpULSKpULTXHV� HW� OD� PpPRLUH�� /DYDQWDJH� GXQH� WHOOH�PpWKRGH��FHVW�TXH�OD�IDoRQ�GH�SUpFLVHU�ODGUHVVH�HVW�OD�PrPH�TXHOTXH�VRLW�OHQGURLW�R��se trouve la GRQQpH�� /LQFRQYpQLHQW�� FHVW� TXH� ODGUHVVH� VHUD� WRXMRXUV� ORQJXH�� TXHOTXH�VRLW�OHQGURLW�R��HOOH�VH�WURXYH�

Espace Unique

b.

On a vu que les données pouvaient se trouver dans 3 espaces différents :

Espace multiple

9 L'espace des registres généraux 9 L'espace des registres des périphériques 9 L'espace mémoire

Il suffira alors de préciser l'espace dans lequel l'adresse doit être interprétée.

On va chercher à profiter ici du nombre limité GH�UHJLVWUHV�GX�Ă3�

Pour le 68�����RQ�GLVSRVH�GH�16 registres généraux : 8 de données et 8 d'adresses. Si RQ�VDLW�TXH�OD�GRQQpH�VH�WURXYH�GDQV�XQ�UHJLVWUH�GX�SURFHVVHXU��HW�TXRQ�VDLW�DXVVL�GDQV�TXHO�W\SH�GH�UHJLVWUH�LO�VH�WURXYH��� bits seulement seront néecssaires pour la localiser.

6L�OD�GRQQpH�VH�WURXYH�GDQV�XQ�UHJLVWUH�JpQpUDO��RQ�DXUD�XQH�DGUHVVH�FRXUWH��HW�GRQF��XQH�instruction courte.

Rq

��/·XWLOLVDWLRQ�RSWLPDOH�G·XQ�processeur SDVVH�SDU�O·XWLOLVDWLRQ�LQWHQVLYH�GHV�UHJLVWUHV�généraux��(Q�HIIHW��FHV�UHJLVWUHV�VRQW�UDSLGHV�GDFFqV��FDU� LQWHUQHV�DX�SURFHVVHXU��HW�les instructions qui les utiOLVHQW�VRQW�FRXUWHV��GRQF�UDSLGHPHQW�LQWHUSUpWDEOHV�

Page 34: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

34

3. Modes d'adressage

OP

Codage d'une instruction (68000)

T 5HI��G#�VRXUFH 5HI�G#�GHVWLQDWLRQ �����RX���PRWV�SRXU�SUpFLVHU�XQH�YDOHXU�LPPpGLDWH �����RX���PRWV�GH[WHQVLRQ�SRXU�ODGUHVVH�VRXUFH �����RX���PRWV�GH[WHQVLRQ�SRXU�ODGUHVVH�GH�GHVWLQDWLRQ

Une instruction comprend :

9 Une instruction de base qui est codée sur 1 mot 9 (YHQWXHOOHPHQW�� VL� QpFHVVDLUH�� GH� �� j� ��PRWV�GH[WHQVLRQ� TXL� VHUYHQW� j�

apporter des précisions sur la donnée (valeur ou adresse)

'DQV�OLQVWUXFWLRQ�GH�EDVH��OHV�FKDPSV��5HI��G#��VRQW�FKDFXQ�FRGpV�VXU���ELWV���

9 3 bits pour préciser le mode d'adressage 9 ��ELWV� SRXU� VSpFLILHU� VRLW� OH� QXPpUR�GX� UHJLVWUH� JpQpUDO� XWLOLVp�� VRLW� OH�

numéro de sous-mode.

Le 68000 possède 13 modes d'adressage.

¾

'DQV�FH�W\SH�GDGUHVVDJH��OD�GRQQpH�VH�WURXYH�GLUHFWHPHQW�GDQV�OH�UHJLVWUH�LQGLTXp�GDQV�l'instruction. On distingue :

Adressages directs

a.

Rq : C'est le seul mode d'adressage qui concerne les registres de données

L'adressage direct par registre de données

Syntaxe ��'Q��R��Q�HVW�OH�QXPpUR�GX�UHJLVWUH�

Ex

b.

: MOVE.B D0,D1 : L'octet de poids faible contenu dans D0 est copié dans l'octet de poids faible de D1.

L'adressage direct par registre d'adresse

Syntaxe ��$Q��R��Q�HVW�OH�QXPpUR�GX�UHJLVWUH�

Ex : MOVE.L D0,A1 : Le contenu de D0 est copié dans A1.

Instruction de base

Mots d'extension

Page 35: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

35

¾

'DQV�FH�W\SH�GDGUHVVDJH��OH�UHJLVWUH�GDGUHVVH�MRXH�OH�U{OH�GH�SRLQWHXU�VXU�OD�GRQQpH��On reconnait les modes d'adressage indirects aux parenthèses présentes dans la syntaxe. On distingue :

Adressages indirects

c. L'adressage indirect par registre d'adresse

Syntaxe : (An)��R��Q�HVW�OH�QXPpUR�GX�UHJLVWUH�

Principe

9 /·adresse de la donnée se trouve dans le registre An (An = pointeur)

:

9 &·HVW�O·adresse G·XQ�UHJLVWUH�TXL�HVW�codée GDQV�O·LQVWUXFWLRQ�GH�EDVH��LQVWUXFWLRQ�courte)

Ex

d.

: MOVE.L D0,(A1) : Le contenu de D0 est copié dans la case mémoire dont l'adresse est contnue dans A1.

L'adressage indirect avec post-incrémentation

Syntaxe : (An)+��R��Q�HVW�OH�QXPpUR�GX�UHJLVWUH�

Principe

9 /·adresse de la donnée se trouve dans le registre An (An = pointeur)

:

9 &·HVW�O·adresse G·XQ�UHJLVWUH�TXL�HVW�codée GDQV�O·LQVWUXFWLRQ�GH�EDVH��LQVWUXFWLRQ�courte)

9 Le contenu du registre An est ensuite incrémenté de façon à ce que An pointe ensuite sur la donnée suivante. On incrémente donc de :

o +1 si on travaille en .B o +2 si on travaille en .W o +4 si on travaille en .L

Ex : MOVE.L D0,(A1)+ : Le contenu de D0 est copié dans la case mémoire dont l'adresse HVW�FRQWQXH�GDQV�$���3XLV��$��HVW�LQFUpPHQWp�GH���

Rq : A1 est modifié à l'issue de l'exécution de l'instruction

Page 36: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

36

!

e. L'adressage indirect avec pré-décrémentation

Syntaxe : -(An)��R��Q�HVW�OH�QXméro du registre

Principe

9 Le contenu du registre An est d'abord incrémenté de façon à ce que An pointe ensuite sur la donnée précédente. On décrémente donc de :

:

o -1 si on travaille en .B o -2 si on travaille en .W o -4 si on travaille en .L

9 /·adresse de la donnée se trouve dans le registre An décrémenté (An = pointeur) 9 &·HVW�O·adresse G·XQ�UHJLVWUH�TXL�HVW�codée GDQV�O·LQVWUXFWLRQ�GH�EDVH��LQVWUXFWLRQ�

courte)

Ex : MOVE.W D0,-(A1) ��$�� HVW� GpFUpPHQWp� GH� ��� 3XLV�� OHV� GHX[� RFWHWV� GH� SRLGV�faible de D0 sont copiés dans la case mémoire dont l'adresse est contnue dans A1.

Rq

f.

: A1 est modifié à l'issue de l'exécution de l'instruction.

L'adressage indirect avec base et déplacement

Syntaxe : d16(An)�� R�� Q� HVW� OH� QXPpUR� GX� UHJLVWUH�� HW� G16 UHSUpVHQWH� OH� GpSODFHPHQW��FRGp�VXU����ELWV��,O�SHXW�rWUH� LQGLTXp�HQ�GpFLPDO��HQ�ELQDLUH� ��G16) ou en héxadécimal ($d16)

Principe

9 /·adresse effective de la donnée est égale à An+d16.

:

7RXV�OHV�FDOFXOV�GDGUHVVH�VH�IRQW�HQ�DULWKPpWLTXH�VLJQpH��VXU 32 bits. Il faudra donc amener d16 sur 32 bits par extension de signe

9 &·HVW�O·adresse G·XQ�UHJLVWUH�TXL�HVW�codée GDQV�O·LQVWUXFWLRQ�GH�EDVH��LQVWUXFWLRQ�

.

courte) 9 ,O�IDXW�SUpFLVHU��HQ�SOXV�GX�UHJLVWUH�GH�EDVH��OD�YDOHXU�GX�GpSODFHPHQW��&H�PRGH�

d'adressage nécessite donc 1 mot d'extension.

Ex : MOVE.W -(A4), $84(A3): On donne : A4 = $0013443A A3 = $00138412

Page 37: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

37

!

Détermination des adresses effectives :

9 Adresse source :A4 – 4 = $00134436 = A4 9 Adresse destination : $ 00138412

+ $ 00000084

g.

$ 00138496

Rq :/H�FRQWHQX�GH�$��Q·HVW�SDV�PRGLILp.

L'adressage indirect indexé avec base et déplacement

Syntaxe : d8($Q�5P�<)��R����$Q�HVW�OH�UHJLVWUH�GH�EDVH�� d8 UHSUpVHQWH�OH�GpSODFHPHQW��FRGp�VXU���ELWV��,O�SHXW�rWUH�LQGLTXp� HQ� GpFLPDO�� HQ� ELQDLUH� ��G8) ou en héxadécimal ($d8) Rm.Y est le registre d'index. Il peut s'agir d'un registre GDGUHVVH� RX� GH� GRQQpHV�� HW� <� LQGLTXH� VL� RQ� FRQVLGqUH�seulement les 16 bits de poids faible (.W) ou l'intégralité du registre (.L).

Principe

9 /·adresse effective de la donnée est égale à An+d8+ Rm.Y.

:

7RXV�OHV�FDOFXOV�GDGUHVVH�VH�IRQW�HQ�DULWKPpWLTXH�VLJQpH��VXU����ELWV��,O�IDXGUD�donc amener d8 et Rm.W sur 32 bits par extension de signe

9 &·HVW�O·adresse G·XQ�UHJLVWUH�TXL�HVW�codée GDQV�O·LQVWUXFWLRQ�GH�EDVH��LQVWUXFWLRQ�

.

courte) 9 ,O� IDXW� SUpFLVHU�� HQ� SOXV� GX� UHJLVWUH� GH� EDVH�� OD� YDOHXU� GX� GpSODFHPHQW� HW� OHV�

informations concernant le registre d'index. Ce mode d'adressage nécessite donc 1 mot d'extension dont la structure est donnés ci-dessous :

D/A N° Reg d'index (3 bits) W/L 0 0 0 Déplacement sur 8 bits '�$� �VHUW�j�LQGLTXHU�VL�5L�HVW�XQ�UHJLVWUH�G·#�RX�GH�GRQQpHV�

= 1 si R = A = 0 si R = D

W/L = 1 si Rm.L = 0 si Rm.W

Page 38: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

38

Ex : MOVE.W %11010 (A4, D2.W), 66(A3). On donne : A4 = $00132410 D2 = $ACDFAC24 A3 = $0013B330

Détermination des adresses effectives :

9 Adresse source :

+ $00132410 + $0000001A (Déplacement) + $FFFFAC24

9 Adresse destination : $ 0013B330

(Registre d'index amené sur 32 bits par extension de signe) $0012D04E

+ $ 00000042

¾

$ 0013B372

Rq :Les contenus de A4 et de A3 ne sont pas modifiés.

h.

Autres modes d'adressage

Adressage absolu court

Syntaxe ��#�:�R��#�UHSUpVHQWH�OD�YDOHXU�GH�ODGUHVVH�HIIHFWLYH�FRGpH�VXU����ELWV�

Rq : On a besoin d'un mot d'extension pour préciser la valeur de l'adresse

Ex

i.

: MOVE.W $1234.W, 66(A3).

Adressage absolu long

Syntaxe ��#��/��R��#�UHSUpVHQWH�OD�YDOHXU�GH�ODGUHVVH�HIIHFWLYH�FRGpH�VXU����ELWV�

Rq1 : On a besoin de deux mots d'extension pour préciser la valeur de l'adresse

Rq2 : Le .L est facultatif

Ex

: MOVE.W $12345678, 66(A3).

Page 39: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

39

M� Adressage relatif

Syntaxe : EA(PC)

Rq : ($�UHSUpVHQWH�ODGUHVVH�HIIHFWLYH�GH�OD�GRQQpH��PDLV��FHVW�OH�GpSODFHPHQW�UHODWLI�

entre la donnée et l'aGUHVVH� GH� OLQVWUXFWLRQ� TXL� HVW� FRGp�� VXU� ��� ELWV� GDQV� OH� PRW�

d'extension.

Ex

k.

: MOVE.W $1234(PC), 66(A3).

Adressage relatif indexé

Syntaxe ��($�3&�5P�<�

Rq : /DGUHVVH� HIIHFWLYH� HVW� FDOFXOpH� HQ� DGGLWLRQQDQW� ($�5P�<�� PDLV�� FHVW� OH�

déplacement relatif HQWUH�($�HW�ODGUHVVH�GH�OLQVWUXFWLRQ�TXL�HVW�FRGp��VXU���ELWV�GDQV�

le mot d'extension. Rm.Y représente le registre d'index (cf. adressage indirect indexé

avec base et déplacement)

Ex

l.

: MOVE.W $14(PC,D0.L), 66(A3).

Adressage immédiat

Syntaxe ���GDWD�R��GDWD�UHSUpVHQWH� OD�YDOHXU�GH� OD�GRQQpH��(OOH�SHXW�rWUH�SUpFLVpH�HQ�

GpFLPDO��������HQ�ELQDLUH�����������RX�HQ�KH[DGpFLPDO�������

Rq : /D�GRQQpH�GRLW�rWUH�FRGpH�GDQV�XQ�PRW�GH[WHQVLRQ��GRQW�OD�WDLOOH�GpSHQG�GX�W\SH�GH�

données utilisé.

Ex : MOVE.W #42, 66(A3).

Page 40: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

40

VI. Branchements

1.

Deux instructions permmettent de réaliser un branchement inconditionnel :

Branchements inconditionnels

9 BRA <label> : déplacement relatif

PC ĸ PC+dn Code relogeable

9 JMP <label> ї déplacement absolu

PC ĸ <label> Code non relogeable

Rq

Etiquette

��VWUXFWXUH�G·XQ�SURJUDPPH

Opération.Typedonnés &KDPS�G·# commentaire

2.

a.

Branchement conditionnels

Il contient les flags qui vont permettre les tests. Il correspond au poids faible du

registre G·(WDW��65�� On trouve :

Rappel : Registre de condition

9 X ĺ extend

9 Z ĺ ]HUR

9 N ĺ négatif

9 V ĺ overflow (arithmétique signée)

9 C ĺ Retenue (arithmétique non signée).

b.

1.

Instruction de comparaison et de tests.

Elle permet de comparer 2 données.

Instruction CMP

Syntaxe : CMP.<format> <source>, <destination>

/HV� IODJV� VRQW� PLV� j� MRXU� HQ� IRQFWLRQ� GX� UpVXOWDW� GH� ORSpUDWLRQ� VXLYDQWH� ��

<destination> - <source>. Le valeur de cette différence Q·HVW�SDV�VDXYHJDUGpe.

Remarque : La destination doit être un registre de données. = Dn

Page 41: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

41

9 -CMPA <destination> = An

Variantes

9 CMPI <source> = Valeur immédiate.

9 CMPN <source> = (ݕ ����<destination> =(ݔ) +

2.

9

Instructions de test

Elle permet GH�FRPSDUHU�XQH�GRQQpH�j����$�OLVVXH�GH�FHWWH�LQVWUXFWLRQ��VHXOV�OHV�IODJV�

VRQW�PLV�j�MRXU�

TST

Syntaxe : TST.<format> <e.a>

9 TAS : Test And Set (que pr les octets)

Variante

9

Elle permet de comparer 1 bit d'une donnée à 0

BTST

Syntaxe

ቚ# ݐܦ ቚ permettent de préciser le numéro (la position) GX�ELW�j�WHVWHU��VDFKDQW�

que cette valeur est précisée modulo 32 et que le bit de poids le plus faible correspond au numéro 0.

: BTST.<format> #data,<e.a>

BTST.<format> Dn,<ea>

Variantes

9 BCLR : Teste et met le bit à 0

:

9 BCHG : Teste et complémente le bit

9 BSET : Teste et met à 1 le bit.

Page 42: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

42

c.

(OOHV�SHUPHWWHQW�G·HIIHFWXHU�un branchement en fonction des valeurs des flags.

Les instructions de branchement conditionnel :

1. Instruction Bcc

Syntaxe

CC

: Bcc Etiquette

C·HVW�XQ�Eranchement relatif��FHVW-à-dire que F·HVW�OD�GLVWDQFe de déplacement qui est

FRGpH�GDQV�OLQVWUXFWLRQ��6HORQ�OD�FRQGLWLRQ�GpVLUpH��FF�SHXW�SUHQGUH�SOXVLHXUV�IRUPH���

pas de retenue ܥҧ CS retenue à 1 C VC V à 0 ത VS V à 1 V HI plus grand ܥҧ. ҧ binaire non signé GE Supérieur ou égal . + ഥ. ത binaire signé GT Supérieur ҧ + ഥ. ത . ҧ binaire signé LS plus petit ou égal C + Z binaire non signé LE Inférieur ou égal + . ത + ഥ. binaire signé LT inférieur . ത + ഥ. binaire signé EQ Egal Z NE Non Egal ҧ MI négatif N PL positif ഥ

2. Instruction DBcc

Syntaxe

9 6L� HOOH� HVW� IDXVVH�� RQ� GpFUpPHQWH� OH� UHJLVWUH� GH� �� HW� RQ� FRPSDUH� OD� YDOHXU�

obtenue à -��� 6LO� \� D� pJDOLWp�� RQ� FRQWLQXH� OH[pFXWLRQ� GX� SURJUDPPH� DYHF�

OLQVWUXFWLRQ� VXLYDQWH�� 6LQRQ�� RQ� VH� EUDQFKH� j� OpWLTXHWWH� LQGLTXpH� GDQV�

l'instruction.

: dBcc Dn,etiquette

Il s'agit d'une opération dite de débranchement. On commence par regarder la

"condition" (i.e. le "cc" de l'instruction DBcc).

9 6L� HOOH� HVW� YUDLH� on continue l'exécution du programme avec l'instruction

suivante.

Page 43: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

43

3.

a.

Structures de choix �

Si <condition>

{traitement}

Fin Si

Exécution conditionnelle.

Si [ inst. qui positionne les flags ]

Bcc FinSi

{traitement}

FinSi

Remarque

9 /·LQVWUXFWLRQ�GH�EUDQFKHPHQW�HIIHFWXH�OH�WHVW�GH�OD�

:

condition complémentée

9 /·pWLTXHWWH�)LQ6,�GRLW-être externe à la structure.

.

Exemple

Type de données : Binaire Signé sur 32 bits.

Si D1 > D0

{echange le contenu}

: 3URFpGHU� j� O·pFKDQJH� FRQGLWLRQQHO� GH0ܦ� et 1ܦ de façon à disposer du plus

grand contenu D0

Si CMP.L D0, D1 BLE FSI EXG.L D0, D1 FSI

b.

Si <condition> {traitement 1} sinon {traitement 2}

/·DOWHUQDWLYH�

fin-si

Si [inst.positionnant les flags] Bcc SINON

{traitement 1} BRA FSI SINON

{traitement 2} FSI

Remarque

9 /·LQVWUXFWLRQ�GH�EUDQFKHPHQW�HIIHFWXH�OH�WHVW�GH�OD�

:

condition complémentée

9 /·pWLTXHWWH�)LQ6,�GRLW-être externe à la structure.

.

Page 44: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

44

Exemple

c.

: 0HWWUH�'��j���V·LO�HVW�QpJDWLI�HW�OH�FRPSOpPHQWHU�VLQRQ�

SI TST.W D0 BGE SINON CLR.W D0 BRA FSI

SINON NOT.W D0 FSI

Cas Ou <variable> Cas A = Traitement A Cas B = Traitement B … Cas N = Traitement N Cas Autre = Traitement Autre Fin Cas Ou

Cas multiples

Cas ou Cas A CMP… BNE Cas B {traitement A} BRA Fcas Cas B CMP… BNE Cas C {traitement B} BRA Fcas … Cas N CMP… BNE CasAu {traitement N} Bra Fcas Cas Autre {traitement autre} Fcas

d.

1.

Structures Itératives.

TantQue <condition> {traitement} FinTantQue

Boucle avec test en entrée

Tque [instruction qui positionne les flags] Bcc FTQue {traitement} BRA Tque FTQue

Page 45: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

45

Exemple

2.

: 0HWWUH�j���XQH�]RQH�PpPRLUH�SRLQWpH�SDU�$���/H�QRPEre de mots de cette

]RQH est codé sur 16 bits et est contenu dans D0

Tque TST.W D0 BEQ Ftque CLR.W (A0)+ SUBQ.W #1, D0 BRA Tque Ftque

Répeter {traitement} Tant-que <condition>

Boucle avec test en sortie

Rep {traitement} [instruction qui positionne les flags] Bcc Rep

Exemple

3.

:Une chaine de caractères pointée par A1 et qui se termine par NULL (00).

Donner le nombre de caractères de la chaine et le mettre dans D1 (on compte le

caractère NULL)

CLR.L D1 Rep ADDQ.L #1, D1 TST.B (A1)+ BNE Rep

Répeter {traitement} sortir si A : <condition> sortir si B : <condition>

Boucle avec test en sortie et contrôle de limite

Rep {traitement} dbcc 'Q��5HS fin Rep

Exemple1 : Rechercher O·DGUHVVH�GX�SUHPLHU�RFWHW�QXO�G·XQ�EORF�PpPRLUH�GH�����RFWHWV�

pointé parA1

MOVE.W #255, D1 REP TST.B (A1)+ dBEQ D1, REP FREP SUBA.L #1, A1

Page 46: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

46

Exemple2

REP ___

: Traitement répétitif: on veux effectuer N fois le même traitement

MOVE.W #N-1, D0

___ ___ DBRA D0, REP

VII. Les sous programmes

1.

La mise en oeuvre des sous programme nécéssite:

Généralités:

9 /H� WUDQVIHUW� G·p[HFXWLRQ� GX� SURJUDPPH� DSSHODQW� DX� VRXV-programme et inversement

9 Le passage de paramètres (entrée/sortie)

/H�SRLQW�G·HQWUpH�GX�VRXV�SURJUDPPH�HVW�IL[p��/D�YDOHXU�Seut-être implanté dans le code

exécutable

/·DGUHVVH� GH� UHWRXU� HVW� YDULDEOH�� HOOH� QH� SHXW� GRQF� SDV� rWUH�PpPRULVpH� GDQV� OH� FRGH�

H[pFXWDEOH��PDLV�GDQV�OD�SLOH��PpPRLUH�YLYH��

2.

Deux instructions permettent d'appeler un sous –programme :

Appel et retour de sous programme

9 BSR : Branch to SubRoutine (branchement relatif) 9 JSR : Jump to SubRoutine (branchement absolu)

La rupture de séquence se déroule en deux étapes :

9 6DXYHJDUGH� GDQV� OD� SLOH� GH� O·DGUHVVH� GH� UHWRXU� �DYHF� SUpGpFUpPHQWDWLRQ�automatique de A7).

9 Branchement inconditionnel

Traitement

Page 47: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

47

Deux instructions permettent de revenir d'un sous –programme :

9 RTS : ReTurn from Subroutine. Cette instruction récupère un double mot depuis la pile et le transfère à PC (avec post-incrémentation automatique de A7).

9 RTR : ReTurn and Restor condition codes. Cette instruction récupère un mot

depuis la pile. Les 5 bits de poids faible de ce mot redéfinissent XNZVC. A7

HVW�LQFUpPHQWp��SXLV��WRXW�VH�SDVVH�FRPPH�XQ�576�

Rq : Rien ne sauvegarde les flags ��LO�IDXW�VDXYHJDGHU�OH�UHJLVWUH�G·pWDW�

Exemple

TOTO ___

:

___ ___ RTS ___ ___ ___ 012100 BSR TOTO ___

Avant bsr

Etat de la pile

Juste après bsr Après Rts

A7 ĺ 0001 0001

2104 2104

A7 ĺ//////// ////// A7 ĺ//////

//////// ////// //////

Remarque : A7 peut évoluer pendant O·H[pFXWLRQ� GH� OD� SURFpGXUH�� ,l faut donc bien

V·DVVXUHU�TXH�$��SRLQWH�ELHQ�VXU�O·DGUHVVH�GH�UHWRXU�DYDQW�OH�576�

Module appelant

Sous-Programme

Page 48: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

48

3.

a.

Elaboration des sous-programmes

On peut noter 3 caractéristiques principale pour chaque paramètre :

Passage de paramètres :

9 Sens de la comunication : paramètre-entrant (appel) ou sortant (retour)

9 Nature : GRQQpH�RX�#

9 Emplacement : registre ou mémoire ?

3OXVLHXUV� VROXWLRQV� VRQW� WRXMRXUV� SRVVLEOHV��2Q� SHXW� FHSHQGDQW� VDSSX\HU� VXU� Tuelques

idées générales :

9 Le sens est imposé par la définition du sous programme

9 La nature est OLpH�j�O·HVSDFH�RFFXSp�SDU�O·LQIRUPDWLRQ�D�WUDQVPHWWUH�

o Passage par valeur pour les infos occupant peu de place

o Passage par adresse pour les variables de type structuré �WDEOHDX��FKDLQH�

de caractères…).

9 L·HPSODFHPHQW�GH�VWRFNDJH�GpSHQG�GX�QLPEUH�HW�GH�la taille des paramètres

o Passage par registre si le nombre et taille des paramètres sont faibles

o Passage par la pile sinon

Exemple :SRXV�SURJUDPPH�HIIHFWXDQW�OD�UHFKHUFKH�GX�PD[�GDQV�XQ�WDEOHDX�G·RFWHWV�

Paramètres entrants

x $�� �#�GX�WDEOHDX��SRLQWHXU�VXU�WDEOHDX��SDVVp�SDU�UHJLVWUH��

:

x D4 = taille du tableau (passage par valeur et par registre).

x $�� �#�GX�PD[��SRLQWHXU�VXU�PD[��SDVVp�SDU�UHJLVWUH��

Paramètres-sortants

Page 49: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

49

b.

1.

Localisation des variables

Un SRLQWHXU�VXU� OD�]RQH�GH�VWRFNDJH�GHV�YDULDEOHV�SHXW�rWUH�XWLOLVp�SDU� O·HQVHPEOH�GHV�

modules. On peux réserver un registre d'adresses An à cet usage.

Variables globales

2.

La durée de vie de ces variables étant limitée à la durée d'exécution du sous-

SURJUDPPH��Outilisation de la pile est donc bien adaptée à leur stockage. Il faut dans le

sous-programme :

Variables locales

9 UpVHUYHU�XQH�]RQH�GH�VWRFNDJH

9 GLVSRVHU�G·XQ�SRLQWHXU�VXU�FHWWH�]RQH

9 OLEpUHU�OD�]RQH�GH�VWRFNDJH�HQ�ILQ�GH�VV-programme.

Instructions

9 LINK An, #<d16>

:

L'exécution de cette instruction comprend 3 étapes :

1. sauvegarde de An dans la pile

2. pointage sur la pile par An

3. UpVHUYDWLRQ�G·XQH�]RQH�GH�SLOH� (d16<0)

9 UNLINK An

L'exécution de cette instruction comprend 2 étapes :

1. /LEpUDWLRQ�GH�OD�]RQH�de pile. (A7 revient sur An)

2. Restauration du contenu de An (An est dépilé).

Exemple

9 2 paramètres-entrants utilisés par la pile :PARAM1.L ($42)

: Sous-programme TOTO utilisant :

PARAM2.W ($10)

9 3 variables locales : 1 double-mot : VAR1.L

2 doubles mots : VAR2.W ; VAR3.W

Page 50: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

50

___

Module appelant :

MOVE.L #$42, -(A7) MOVE .W #$10, -(sp) BSR TOTO ___ UNLNK A5

Sous-programme TOTO

LINK A5, #-8 ___ ___

VIII. Les exceptions

1.

Le 68000 (comme tout microprocesseur) HVW�GRWp�G·XQ�PpFDQLVPH�TXL�SHUPHW�O·DSSDULWLRQ�G·XQ�pYpQHPHQW�IRUWXLW��G·XQH�VLWXDWLRQ�G·H[FHSWLRQ��G·DEDQGRQQHU�OH�WUDLWHPHQW�HQ�FRXUV�HW�GH�WUDQVIpUHU�O·H[pFXWLRQ�j�XQ�DXWUH�WUDLWHPHQW�DVVRFLp�j�FHW�pYpQHPHQW�

'DQV� OD� SOXSDUW� GHV� FDV�� OH� SUHPLHU� WUDLWHPHQW� GRLW� rWUH� HQVXLWH� SRXUVXLYL�� FH� TXL�implique une sauvegarde du contexte lors du transfert.

/·pYpQHPHQW�IRUWXLW�SHXW�DYRLU�GHX[�RULJLQHV :

Généralités

9 Interne au système ��LO�WUDGXLW�XQH�DQRPDOLH�G·H[pFXWLRQ 9 Externe ; une condition materielle particulière doit être prise en compte (par

H[HPSOH��XQ�SpULSKpULTXH�FKHUFKH�j�© DWWLUHU�O·DWWHQWLRQ »)

Il est aussi intéressant que ce même mécanisme puisse être utilisé dans des conditions YRLVLQHV�G·XQ�DSSHO�GH�VRXV-programme (en particulier pour effectuer des appels à des fonctions système). Il faut être en mesure de « SURJUDPPHU�OD�VLWXDWLRQ�G·H[FHSWLRQ » ��OD�GpFOHQFKHU�SDU�O·H[pFXWLRQ�G·XQH�LQVWUXFWLRQ�

Plusieurs événements exceptionnels pouvant se présenter simultanément ; leur prise en compte doit être hiérarchisée��&HFL�FRXYUH� O·RUGUH�GDQV� OHTXHO�V·HIIHFWXH� OH� ODQFHPHQW�GHV� WUDLWHPHQWV� G·H[FHSWLRQ�� PDLV� DXVVL� OD� SRVVLELOLWp� GH� VXVSHQGUH� O·H[pFXWLRQ� GH� O·XQ�G·HX[�DX�SURILW�G·XQ�DXWUH�FRQVLGpUp�GH�SULRULWp�SOXV�pOHYpH�

Un microprocesseur peut distinguer un nombre donQp� G·H[FHSWLRQV� GH� QDWXUHV�GLIIpUHQWV��,O�IDLW�FRUUHVSRQGUH�j�FKDFXQH�G·HOOH�XQ�WUDLWHPHQW�SDUWLFXOLHU�HQ�H[SORLWDQW�XQH�WDEOH�G·DGUHVVHV�GH�ODQFHPHQW�GH�FHV�WUDLWHPHQWV��/D�ORFDOLVDWLRQ�GH�FHWWH�WDEOH�HVW�IL[H�� LPSOLFLWHPHQW� FRQQXH�� PDLV� VRQ� FRQWHQX� HVW� Srogrammable et va être adapté à O·application développée. Ce procédé est nommé vectorisation des exceptions.

Page 51: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

51

/H�������SUpVHQWH�GHX[�PRGHV�G·H[pFXWLRQ�G·XQ�SURJUDPPH��OH�PRGH�VXSHUYLVHXU�HW�OH�PRGH� XWLOLVDWHXU�� &HFL� FRUUHVSRQG� j� O·LGpH� G·XWLOLVHU� OH� V\VWqPH microprocesseur à 2 QLYHDX[�� XQ� QLYHDX� VXSHUYLVHXU� SRXU� OHTXHO� WRXWH� DFWLRQ� HVW� SHUPLVH� HW� XQ� QLYHDX�XWLOLVDWHXU� VXELVVDQW� TXHOTXHV� UHVWULFWLRQV� �MHX� G·LQVWUXFWLRQV� UpGXLW� «��� /·LQWpUrW� GH�FHWWH� GLVWLQFWLRQ� HVW� WUqV� OLp� DX[� H[FHSWLRQV� HW� SHUPHW� G·DPpOLRUHr la sécurité de IRQFWLRQQHPHQW�GHV�V\VWqPHV�G·H[SORLWDWLRQ�

2.

/HV�SDUDJUDSKHV�VXLYDQW�GpFULYHQW� OHV�GLIIpUHQWV�FRQWH[WHV� ORJLFLHOV�G·H[pFXWLRQ�G·XQH�LQVWUXFWLRQ�TXL�FRQGXLVHQW�j�XQ�WUDLWHPHQW�G·H[FHSWLRQ�

([FHSWLRQV�G·RULJLQH�LQWHUQH�DX�V\VWqPH�

a.

Cette catégorie correspond essentiellement à des erreurs de programmation.

Exceptions OLpHV�j�XQH�DQRPDOLH�G·H[pFXWLRQ�

1.

,O�V·DJLW�GX�QRQ�UHVSHFW�GH�OD�FRQWUDLQWH�G·DOLJQHPHQW�GX�IDLW�G·XQH�WHQWDWLYH�G·DFFqV�j�XQ�PRW��XQ�PRW�ORQJ�RX�XQH�LQVWUXFWLRQ à une adresse impaire.

/H� F\FOH� EXV� HVW� DORUV� DYRUWp� HW� OH� WUDLWHPHQW� GH� O·H[FHSWLRQ� (UUHXU� G·DGUHVVDJH� HVW�enchaîné.

6L� XQH� HUUHXU� G·DGUHVVDJH� VH� SUpVHQWH� SHQGDQW� XQH� H[FHSWLRQ� (UUHXU� EXV�� (UUHXU�G·DGUHVVDJH�RX�5HVHW��OH�SURFHVVHXU�V·DUUrWH�

(UUHXU�G·DGUHVVDJH�

2.

8Q�SURJUDPPH�V·H[pFXWDQW�HQ�PRGH�XWLOLVDWHXU� �ELW�6�GX�UHJLVWUH�65�j���� QH�GRLW� SDV�

Violation de privilège.

faire usage des instructions privilégiées : Andi ��G��!�65 Ori ��G��!�65 Eori ��G��!�65 Move �$�(�!�65 Move 863�$Q

Move $Q�863 Reset Stop #<d16> Rte

Une infraction à cette règle conduit à une exception Violation de privilège.

Page 52: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

52

3.

/H� SUHPLHU�PRW� GH� FRGDJH� G·XQH� LQVWUXFWLRQ� SHXW� SUHQGUH�216 IRUPHV�� /·HQVHPEOH� GHV�

combinaisonV� SRVVLEOHV� Q·HVW� SDV� HIIHFWLYHPHQW� XWLOLVp� SDU� OH� MHX� G·LQVWUXFWLRQV� GX�68000.

6L�OD�SKDVH�GH�UHFKHUFKH�G·XQH�LQVWUXFWLRQ�FRQGXLW�j�XQ�SUHPLHU�PRW�GLIIpUHQW�GH�FHX[�UpSHUWRULpV��XQH�H[FHSWLRQ�,QVWUXFWLRQ�LOOpJDOH�HVW�JpQpUpH�

Codes opération illégaux.

4.

3DUPL�OHV�PRWV�QH�FRUUHVSRQG�SDV�DX�GpEXW�G·XQH�LQVWUXFWLRQ�OpJDOH��FHX[�GRQW�OHV�ELWV����à 12 son égaux à 1010 ou 1111 (mots $Axxx ou $Fxxx) forment une catégorie particulière ��LOV�VRQW�FRQVLGpUpV�FRPPH�GHV�FRGHV�RSpUDWLRQ�LQGpILQLV�SOXW{W�TX·LOOpJDX[�

'HX[� H[FHSWLRQV� �GLVWLQFWHV� GH� O·H[FHSWLRQ� ,QVWUXFWLRQ� LOOpJDOH�� OHXU� VRQW� DVVRFLpHV : exception Emulateur ligne 1010 et exception Emulateur ligne 1111. Un traitement propre à chacun des deux cas est exécuté à la rencontre de ces codes.

La vocation de ces H[FHSWLRQV� HVW� O·pPXODWLRQ� ORJLFLHOOH� G·LQVWUXFWLRQV� QRXYHOOHV��/·XWLOLVDWHXU�GpILQLW�SDU� O·pFULWXUH�GX�WUDLWHPHQW�G·H[FHSWLRQ� OHXU�QDWXUH�HW� OHXU�HIIHW��Les bits 11 à 0 constituent un moyen de distinguer plusieurs opérations ainsi que GLIIpUHQWV�PRGHV�G·Ddressage.

/·XVDJH�GH�FHV�FRGHV�HVW�GRQF�GpOLEpUp�HW�QH�SHXW�SDV�rWUH�FRQVLGpUp�FRPPH�XQH�HUUHXU�de programmation.

Codes opération inexistants.

b.

Certaines instructions ont pour conséquence de leur exécution le déclenchement G·H[FHSWLRQV��&HV�GHUQLqUHV�QH�présentent donc pas le caractère fortuit rencontré en général.

Exceptions programmées.

D� Instruction TRAP.

Syntaxe : Trap #numéro

/H� QXPpUR�� GH� YDOHXU� �� j� ���� IDLW� SDUWLH� GX� FRGH� GH� O·LQVWUXFWLRQ�� ,O� VpOHFWLRQQH� XQ�WUDLWHPHQW�SDUPL�XQ�HQVHPEOH�GH�����DVVRFLpV�j�FHWWH�LQVWUXFWLRQ�

Page 53: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

53

La fonction habituelle de TRAP est de permettre à des programmes utilisateurs G·HIIHFWXHU�GHV�DSSHOV�V\VWqPH�

E� Instruction TRAPV.

Syntaxe

F�

: TRAPV

/H�ODQFHPHQW�GX�WUDLWHPHQW�GH�O·H[FHSWLRQ�75$39�HVW�FRQGLWLRQQp�j�OD�YDOHXU�GH�9�ORUV�GH�O·H[pFXWLRQ�GH�O·LQVWUXFWLRQ :

6L��9� ����O·H[pFXWLRQ�GX�SURJUDPPH�VH�SRXUVXLW�HQ�VpTXHQFH

6L�9� ����O·H[pFXWLRQ�HVW�WUDQVIpUpH�DX�WUDLWHPHQW�G·H[FHSWLRQ�

8QH�PrPH�H[FHSWLRQ�HVW�JpQpUpH�VL�O·RQ�FKHUFKH�j�HIIHFWXHU�XQH�GLYLVLRQ�VLJQpH�RX�QRQ�avec XQ�GLYLVHXU�GH�YDOHXU����RSpUDQGH�RULJLQH��SRLQWp�SDU��$�(!��

,QVWUXFWLRQV�',96��',98�

G� Instruction CHK.

Syntaxe

Si (Dn)א intervalle��RQ�FRQWLQXH�OH programme��Vinon��H[pFXWLRQ�G·XQH�H[FHSWLRQ�&+.

: CHK Dn

/·LQVWUXFWLRQ�FRPSDUH� OH� FRQWHQX�GX�UHJLVWUH�GH�GRQQpHV�Dn j� O·LQWHUYDOOH� >��RSpUDQGH@��O·RSpUDQGH�HVW�GpILQL�SDU��$�(!��

La comparaison est effectuée en arithmétique signée.

c.

/H�ELW�7�GX�UHJLVWUH�65��PLV�j����SODFH�OH�������HQ�PRGH�WUDFH�

'DQV�FH�PRGH��XQH�H[FHSWLRQ�HVW�IRUFpH�DSUqV�H[pFXWLRQ�GH�FKDTXH�LQstruction.

La fonction de cette exception est une aide au développement. Le traitement correspondant est habituellement un programme de mise au point permettant de YLVXDOLVHU�O·H[pFXWLRQ�HQ�SDV�j�SDV�

Exception du mode trace.

Cas particuliers

9 6L�O·LQVWUXFWLRQ�Q·HVW�SDV�H[pFXWpH�SDUFH�TXH�SULYLOpJLpH��LOOpJDOH��RX�GX�IDLW�G·XQH�LQWHUUXSWLRQ��O·H[FHSWLRQ�7UDFH�QH�VH�SURGXLW�SDV�

:

Page 54: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

54

9 'H�PrPH��VL� O·H[pFXWLRQ�GH�O·LQVWUXFWLRQ�QH�V·DFKqYH�SDV�GX�IDLW�G·XQ�UHVHW��G·XQH�HUUHXU�EXV�RX�G·XQH�HUUHXU�G·DGUHVVDJH��O·H[FHSWLRQ�7UDFH�QH�VH�SURGXLW�pas.

9 Une exception lancée par une instruction (ex �� WUDS��HVW�G·DERUG�H[pFXWpH��SXLV�HVW�VXLYLH�GH�O·H[FHSWLRQ�7UDFH��

3.

/H�GpFOHQFKHPHQW�G·H[FHSWLRQV�SHXW�DXVVL�QH�SDV�DYRLU�SRXU�RULJLQH�GLUHFWH�OH��������HW�résulter dans ce cDV�G·XQH�DFWLRQ�PDWpULHOOH�H[WHUQH�

([FHSWLRQV�G·RULJLQH�H[WHUQH�

a.

8QH� LQLWLDOLVDWLRQ� GX� V\VWqPH� HVW� HIIHFWXpH� HQ� SODoDQW� j� O·pWDW� EDV� SHQGDQW� DX� PRLQV����PV� OD�EURFKH�5HVHW�GX�PLFURSURFHVVHXU� �GDQV�XQ�PrPH�WHPSV�� OD�EURFKH�+DOW�GRLW�pJDOHPHQW�rWUH�IRUFpH�j�O·pWDW�EDV��

Cette action provoque une exception Reset :

Reset

9 /H� WUDLWHPHQW� HQ� FRXUV� HVW� DEDQGRQQp�� VDQV� LQWHQWLRQ� GH� OH� SRXUVXLYUH�XOWpULHXUHPHQW��DXFXQH�VDXYHJDUGH�GH�FRQWH[WH�Q·HVW�HIIHFWXpH��

9 Le pointeur de pile système (SSP) puis le compteur de programme (PC) sont initialisés.

9 L·H[pFXWLRQ� UHSUHQG� DX� SRLQW� GH� GpPDUUDJH� GX� V\VWqPH� HQ� PRGH� VXSHUYLVHXU��trace inhibée et interruptions masquées.

La broche Reset est bidirectionnelle.

/·XVDJH�SUpFpGHQW�OD�FRQVLGqUH�FRPPH�XQH�HQWUpH�

/·LQVWUXFWLRQ�5HVHW�SHUPHW�GH�FRPPDQGHU�HQ�VRUWLH : ellH� OD�SODFH�j� O·pWDW�EDV�SHQGDQW����� F\FOHV� G·KRUORJH�� &HFL� QH� SURYRTXH� SDV� G·H[FHSWLRQ� PDLV� SHUPHW� XQH� LQLWLDOLVDWLRQ�programmée de périphériques.

b.

/HV�WUDQVIHUWV�HQWUH�������HW�PpPRLUH�RX�SpULSKpULTXHV�PHWWHQW�HQ�MHX�XQ�GLDORJXH��6L�dans certaiQHV�FLUFRQVWDQFHV�� FH�GLDORJXH�Q·HVW�SDV�PHQp�j�ELHQ�� OH� IRQFWLRQQHPHQW�GX�V\VWqPH�ULVTXH�G·rWUH�EORTXp�

Erreur bus.

8QH�ORJLTXH�H[WHUQH��FKLHQ�GH�JDUGH��ZDWFKGRJ��GRLW�DORUV�GpWHFWHU�OH�GpSDVVHPHQW�G·XQ�temps limite de réponse et demander au microprocesseur (par le bLDLV� G·XQH� EURFKH�BERR) le traitement par exception de ce qui est considéré comme erreur bus.

Page 55: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

55

/H�F\FOH�EXV�FRXUDQW�HVW�DYRUWp�HW� O·H[FHSWLRQ�(UUHXU�%XV�GpEXWH�LPPpGLDWHPHQW��8QH�sauvegarde détaillée du contexte est effectuée.

Une erreur bus intervenant penGDQW�XQH�H[FHSWLRQ�(UUHXU�EXV�RX�5HVHW�SURYRTXH�O·DUUrW�du processeur.

c.

8QH�GHPDQGH�G·LQWHUUXSWLRQ�GX�WUDLWHPHQW�HQ�FRXUV�SHXW�pPDQHU�GH�SpULSKpULTXHV��,OV�GRLYHQW�SRXU�FHOD�JpUHU�O·pWDW�GH���EURFKHV�GX�PLFURSURFHVVHXU ��,3/��,3/��,3/��

Le PpFDQLVPH�G·LQWHUUXSWLRQ�RIIUH���QLYHDX[�GH�SULRULWp����j����

La combinaison appliquée sur les entrées IPL définit le niveau de la demande :

Interruptions.

9 ��HVW�OH�QLYHDX�GH�SOXV�KDXWH�SULRULWp����OH�SOXV�IDLEOH� 9 0 traduit une absence de demande.

Les demandes sont détecWpHV�HQWUH�O·H[pFXWLRQ�GHV�LQVWUXFWLRQV�HW�OHXU�SULVH�HQ�FRPSWH�GpSHQG� GH� O·pWDW� G·XQ� PDVTXH� G·LQWHUUXSWLRQ� IRUPp� SDU� OHV� ELWV� ,��,��,�� GX� UHJLVWUH�G·pWDW :

9 Les niveaux 1 à 6 sont masquables : o 6L� OH� QLYHDX� GH� OD� GHPDQGH� HVW� VXSpULHXU� j� OD� YDOHXU� GX� PDVTXH� le

WUDLWHPHQW�GH�O·LQWHUUXSWLRQ�GpEXWH o 6LQRQ�� OH� WUDLWHPHQW� HVW� GLIIpUp� MXVTX·j� FH� TXH� OH� PDVTXH� GHYLHQQH�

inférieur au niveau (le programme en cours se poursuit en séquence) 9 Le niveau 7 est non masquable : Il est sensible à des fronts ; la séquence de

traLWHPHQW�GH�O·H[FHSWLRQ�HVW�LQFRQGLWLRQQHOOHPHQW�ODQFpH�

/H� ������ SHUPHW� O·DVVRFLDWLRQ� GLUHFWH� GH� ���� WUDLWHPHQWV� GLVWLQFWV� DX[� GHPDQGHV�G·LQWHUUXSWLRQ��VHORQ���PRGHV :

9 Par vectorisation automatique ��OH�WUDLWHPHQW�HVW�FKRLVL�SDUPL�XQ�JURXSH�GH����HQ�fonction du niveau de la demande

9 Par vectorisation utilisateur ��OH�WUDLWHPHQW�HVW�FKRLVL�SDUPL�XQ�HQVHPEOH�GH������par une logique externe au 68000.

Page 56: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

56

4.

a.

Mécanisme.

/HV� H[FHSWLRQV� VRQW� FODVVpHV� SDU� JURXSH�� j� SULRULWp� GpFURLVVDQWH� HQWUH groupes et à O·LQWpULHXU�GH�FKDTXH�JURXSH :

Hiérarchie des priorités.

9 Groupe 0 �O·LQVWUXFWLRQ� HQ� FRXUV� HVW� DEDQGRQQpH ; le lancement de O·H[ception débute GDQV�OHV�GHX[�F\FOHV�G·KRUORJH�VXLYDQWV��: UHVHW��HUUHXU�G·DGUHVVDJH��HUUHXU�EXV

9 Groupe 1 �O·LQVWUXFWLRQ�HVW�ODQFpH�j�O·LVVXH�GH�O·LQVWUXFWLRQ�HQ�FRXUV��: WUDFH��LQWHUUXSWLRQ��LQVWUXFWLRQ�LOOpJDOH��YLRODWLRQ�GH�SULYLOqJH�

9 Groupe 2 �O·H[pFXWLRQ�GH�O·LQVWUXFWLRQ�FRQGXLW�j�O·H[FHSWLRQ� : 7UDS��7UDS9��&KN��GLYLVLRQ�SDU�� (Rq : SULRULWp�VDQV�REMHW ici)

/·H[pFXWLRQ� GX� WUDLWHPHQW� G·XQH� H[FHSWLRQ� HVW� LQWHUURPSXH� SDU� OH� ODQFHPHQW� G·XQH�exception de plus grande priorité.

/RUV�GH�O·DSSDULWLRQ�VLPXOWDQpH�GH�GHX[�H[FHSWLRQV��OH�WUDLWHPHQW�GH�FHOOH�GH�SOXV�IDLEOH�priorité est lancé en premier (mais abandonné immédiatement au profit de celui correspondant à une priorité plus élevée).

b.

/H�VpTXHQoDJH�GX�ODQFHPHQW�G·XQH�H[FHSWLRQ�FRPSRUWH���SKDVHV :

/DQFHPHQW�G·XQH�H[FHSWLRQ�

9

1/ LH�FRQWHQX�GX�65�IDLW�O·REMHW�G·XQH�VDXYHJDUGH�WHPSRUDLUH�LQWHUQH�DX������

2/ Le bit S est PLV� j� �� �OH� WUDLWHPHQW� GH� O·H[FHSWLRQ� YD� rWUH� H[pFXWp� HQ� PRGH�superviseur)

3/ LH�ELW�7�HVW�PLV�j����OH�PRGH�WUDFH�HVW�LQDFWLYH�SHQGDQW�O·H[FHSWLRQ�

&HV� �� DFWLRQV� VRQW� HIIHFWXpHV� TXHOOH� TXH� VRLW� O·H[FHSWLRQ�� 'DQV� OH� FDV� GHV� H[FHSWLRQV�Reset et InterruptionV��OH�PDVTXH�GH�SULRULWp�G·LQWHUUXSWLRQ�HVW�HQ�RXWUH�DFWXDOLVp :

4/ repositionnement du masque au niveau 7 pour Reset ou au niveau de la demande pour Interruption.

Redéfinition du contenu de SR :

Page 57: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

57

9

8Q� YHFWHXU� HVW� XQH� SRVLWLRQ� PpPRLUH� R�� OH� PLFURSURFHVVHXU� UHFKHUFKH� O·DGUHVVH� GX���WUDLWHPHQW�GH�O·H[FHSWLRQ�

Chaque vecteur est identifié par un numéro codé sur 8 bits (256 vecteurs peuvent être distingués). /·DGUHVVH� DEVROXH� G·XQ� YHFWHXU� HVW� GpWHUPLQpH� HQ� PXOWLSOLDQW� SDU� �� VRQ�numéro. Ce calcul HVW�HIIHFWXp�SDU�OH�PLFURSURFHVVHXU�HW�Q·HVW�SDV�PRGLILDEOH��/·DGUHVVH�G·XQ� YHFWHXU� GRQQp� HVW� GRQF� FRQVWDQWH� Le contenu du vecteur doit être défini en IRQFWLRQ�GH�O·LPSODQWDWLRQ�HQ�PpPRLUH�GHV�WUDLWHPHQWV�G·H[FHSWLRQ��,O�HVW�SURJUDPPp�SDU�O·XWLOLVDWHXU�

Le numéro est généré de façon interne et automatique par le 68000 pour toutes les H[FHSWLRQV�� VDXI� OHV� LQWHUUXSWLRQV� La détermination du numéro associé à une interruption requiert un dialogue avec cette logique externe :

'pWHUPLQDWLRQ�GX�QXPpUR�GX�YHFWHXU�G·H[FHSWLRQ :

o le 68000 exécute un cycle de UHFRQQDLVVDQFH�G·LQWHUUXSWLRQ�DX�FRXUV�GXTXHO�LO�SODFH� VXU� OHV� OLJQHV� $��$��$�� GX� EXV� G·DGUHVVHV� OH� QLYHDX� GH� O·LQWHUUXSWLRQ�reconnue.

o une logique externe choisit une vectorisation automatique ou une vectorisation utilisateur :

o vectorisation automatique

o vectorisation utilisateur : la logique délivre le numéro du vecteur VXU� OH� EXV� GH� GRQQpHV� HW� WHUPLQH� O·pFKDQJH� SDU� '7$&.� �XQ�périphérique de la famille 68000 non initialisé pour cette YHFWRULVDWLRQ� UpSRQG� SDU� OH� QXPpUR� ���� YHFWHXU� ,QWHUUXSWLRQ� QRQ�initialisée).

: OD� ORJLTXH� UpSRQG� SDU� OD� OLJQH� 93$�� OH�68000 détermine le numéro du vecteur en fonction du niveau.

o une absence de réponse par VPA ou DTACK doit être détectée par une logique G·HUUHXU�EXV�TXL�DFWLYH�DORUV� OD� OLJQH�%(55��/H�PLFURSURFHVVHXU�DVVRFLH�j�FH cas le vecteur numéro 24 (Interruption parasite).

La table des vecteurs occupe les adresses 0 à 1023 (0 à $3FF).

&KDTXH�YHFWHXU�FRQWLHQW�XQ�PRW� ORQJ��H[FHSWp� OH�YHFWHXU�5HVHW�TXL�GpILQLW�SDU���PRWV�longs les contenus initiaux du pointeur de pile système et du compteur de programme.

Page 58: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

58

Numéro Adresse Exception 0 000 Reset (SSP) initial 004 Reset (PC) initial

2 008 Erreur bus 3 00C (UUHXU�G·DGUHVVDJH 4 010 Instruction illégale 5 014 Division par 0 6 018 Instruction CHK 7 01C Instruction TRAPV 8 020 Violation de privilège 9 024 Trace 10 028 Emulateur ligne 1010 11 02C Emulateur ligne 1111 12 030 Réservé 13 034 Réservé 14 038 Réservé 15 03C Interruption non initialisée

16-23 040 Réservé 05C -

24 060 Interruption parasite 25 064 Auto-vecteur interruption niveau 1 26 068 Auto-vecteur interruption niveau 2 27 06C Auto-vecteur interruption niveau 3 28 070 Auto-vecteur interruption niveau 4 29 074 Auto-vecteur interruption niveau 5 30 078 Auto-vecteur interruption niveau 6 31 07C Auto-vecteur interruption niveau 7

32-47 080 Vecteurs instruction TRAP 0BC -

48-63 0C0 Réservé 0FF -

64-255 100 – 3FC Vecteurs interruptions utilisateur

9

/·H[FHSWLRQ�5HVHW�FRQVWLWXH�XQ�FDV�SDUWLFXOLHU�GX�IDLW�GH�O·DEVHQFH�GH�VDXYHJDUGH�

3RXU�O·HQVHPEOH�GHV�DXWUHV�H[FHSWLRQV��XQH�VDXYHJDUGH�GH��3&��HW��65��HVW�HIIHFWXpH�HQ�pile superviseur.

/HV� H[FHSWLRQV� (UUHXU� EXV� HW� (UUHXU� G·DGUHVVDJH� SURYRTXHQW� HQ� RXWUH� OH� UDQJHPHQW�G·DXWUHV�LQIRUPDWLRQV�HQ�SLOH�

Sauvegarde du contexte :

Page 59: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

59

9

/H� FRQWHQX� GX� YHFWHXU� G·H[FHSWLRQ� HVW� WUDQVIpUp� GDQV� OH� 3&�� SXLV� O·H[pFXWLRQ� UHSUHQG�normalement.

Redéfinition du contenu de PC :

c.

/·LQVWUXFWLRQ�SULYLOpJLpH�57(��H[pFXWpH�HQ�PRGH�VXSHUYLVHXU��WUDQVIHUW�GHSXLV�OD�SLOH�XQ�PRW�YHUV�OH�UHJLVWUH�G·pWDW�65 et un mot long vers le compteur de programme PC.

&HFL� HQWUDLQH� OD� UHSULVH� G·H[pFXWLRQ� GX� WUDLWHPHQW� LQWHUURPSX�� VRXV� UpVHUYH� TXH� OH�SRLQWHXU� GH� SLOH� VRLW� UHVWp� FRUUHFWHPHQW� SRVLWLRQQp� �j� O·LGHQWLTXH� GHV� FRQGLWLRQV� GH�UHWRXU�G·XQ�VRXV-programme par RTS).

EQ�PRGH�XWLOLVDWHXU��57(�FRQGXLW�j�XQH�H[FHSWLRQ�9LRODWLRQ�GH�SULYLOqJH�

5HWRXU�G·H[FHSWLRQ�

5.

/D�GLVWLQFWLRQ�HQWUH� OHV�GHX[�PRGHV�G·H[pFXWLRQ�GHV�SURJUDPPHV�HVW�HIIHFWXpH�SDU� OH�bLW�6�GX�UHJLVWUH�G·pWDW�65 :

Modes

9 S = 1 mode superviseur 9 S = 0 mode utilisateur

Mode superviseur

9 le niveau de privilège est le plus élevé

:

9 toutes les instructions sont autorisées 9 les cycles bus sont classés en référence superviseur 9 le pointeur de pile est SSP

Mode utilisateur

9 Les instructions "privilégiées" ne peuvent pas être utilisées

:

o UHVHW��VWRS��UWH o O·LQVWUXFWLRQ� GH� WUDQVIHUW� DYHF� OH� SRLQWHXU� GH� SLOH� XWLOLVDWHXU : PRYH�863�$Q��

RX�PRYH�$Q�863 o -OHV�LQVWUXFWLRQV�PRGLILDQW�O·RFWHW�V\VWqPH�GX�UHJLVWUH�G·pWDW�65�

9 Les cycles bus sont classés en référence utilisateur 9 Le pointeur de pile est USP

Page 60: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

60

Remarque : EQ�PRGH�XWLOLVDWHXU��$��HVW�LPSOLFLWHPHQW�OH�SRLQWHXU�863��6D�PRGLILFDWLRQ�HVW�QDWXUHOOHPHQW�SHUPLVH��/·DFFqV�j�663�GDQV�FH�PRGH�HVW�LPSRVVLEOH�

EQ� PRGH� VXSHUYLVHXU�� $�� FRUUHVSRQG� j� 663�� pYLGHPPHQW� PRGLILDEOH��/·LQVWUXFWLRQ� © move USP » a pour but G·DXWRULVHU� pJDOHPHQW� O·DFFqV� DX�pointeur utilisateur.

Changement de mode

9 passage utilisateur ĺ superviseur : par exception exclusivement

:

9 -passage superviseur ĺ utilisateur �� 57(�029(� WR�65 �� $1',� WR� 65�� (25,� WR�SR.

Page 61: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

61

Chap.5. Introduction aux Microcontrôleurs

I. Généralités – Présentation du composant

Un microcontrôleur est un circuit intégré rassemblant dans un même boitier un PLFURSURFHVVHXU�� SOXVLHXUV� W\SHV� GH�PpPRLUHV� HW� GHV� SpULSKpULTXHV�GH� FRPPXQLFDWLRQ�(Entrées/Sorties). La définition donnée dans l'Arrêté du 14 septembre 1990 relatif à la terminologie des composants électroniques (parue au BO) est la suivante : "Microprocesseur comprenant des éléments fixes et des éléments personalisés selon l'application".

Un microcontrôleur est donc une unité de traitement de l'information programmable SHUPHWWDQW�GH�UpDOLVHU�GHV�PRQWDJHV�VDQV�QpFHVVLWHU�ODMRXW�GH�FRPSRVDQWV�H[WpULHXUV��8QH�IRLV�SURJUDPPp��LO�SHXW�IRQFWLRQQHU�GH�IDoRQ�DXWRQRPH�

/H�3,&�HVW�XQ�PLFURFRQWUROHXU�FRQVWUXLW�SDU�0LFUR&KLS��2IILFLHOOHPHQW��FH�QHVW pas un DFURQ\PH�� PDLV�� OD� WUDGXFWLRQ� JpQpUDOHPHQW� DGPLVH� HVW� 3HULSKHULFDO� ,QWHUIDFH�Controller.

La structure interne (simplifiée) d'un tel composant est donné par le diagramme suivant:

Mémoires

Unité de calcul

Registre temporaire

Modules

Port E/S

Page 62: InfoSPE / Architecture des ordinateursArchitecture des Systèmes Anne-Sophie DUJARDIN 4 Chap.1. Les nombres à virgule flottante I. Introduction 1. Les nombres à virgule flottante

Architecture des Systèmes Anne-Sophie DUJARDIN

62

Les PICS sont des composants de type RISC (Reduced Instruction Set Computer). Les LQVWUXFWLRQV� VRQW� FRGpHV� VXU� XQ� VHXO� PRW� GH� SURJUDPPH� HW� VRQW�� VDXI� SRXU� OHV�instructionV�GH�EUDQFKHPHQW��H[pFXWpHV�HQ�XQ�VHXO�F\FOH��2Q�GLIIpUHQFLH�OHV�3,&�JUkFH�j�la taille de leurs mots d'instruction.

La dénomination des PIC donne un certain nombre d'informations :

9 Le premier nombre permet de déterminer la famille (et donc la taille des mots d'instructions) du PIC

9 La lettre qui suit indique le type de mémoire programme incluse dans le composant (F : Mémoire Flash ; CR : Mémoire ROM ; C = Mémoire EPROM ou EEPROM)

9 Le nombre de 2 à 4 chiffres qui termine le nom indique le modèle du PIC au sein de la famille.

II. PIC 16F8X (Annexe 2)

Exercice : Déterminer les éléments caractéristiques du PIC pour pouvoir le programmer.

2EMHFWLI : Savoir lire une documentation technique