Sie sind auf Seite 1von 35

Plan

n
n
n
n
n
n
n

Copyright F. Muller
2001, 2002

Ch1 - Historique
Ch2 - Quelques gnralits sur les architectures
Ch3 - Structure dun micro systme
Ch4 - Le microprocesseur 68000, partie matrielle
Ch5 - Le microprocesseur 68000, partie logicielle
Ch6 - Du langage C lassembleur 68000
Ch7 - Les units dchanges

Le microprocesseur 68000, partie matrielle

Ch4 - 1 -

Le Microprocesseur 68000
Partie Matrielle
Caractristiques Matrielles
n volution de ces microprocesseurs
n

Copyright F. Muller
2001, 2002

Ch4 - 2 -

Avantages des Microprocesseurs


16/32 bits
n

Caractristiques gnrales
n
n
n
n
n
n
n
n

Performance des processeurs


n
n

Copyright F. Muller
2001, 2002

Symtrie du jeu dinstructions


Nombre important de registres gnraux
Instruction trs proche du langage de haut-niveau
Extension des oprations de calcul (coprocesseur)
Augmentation importante de la capacit dadressage
Possibilit darchitecture multi-processeurs
Possibilit dune gestion multi-tches, mmoire virtuelle
Amlioration de la sret de fonctionnement
Vitesse de lhorloge du CPU, cycle de lecture et dcriture
MIPS (Million dInstructions Par Secondes)
Le microprocesseur 68000, partie matrielle

Ch4 - 3 -

Caractristiques Matrielles du 68000


Plan
n
n
n
n
n
n
n
n

Copyright F. Muller
2001, 2002

Les Entres/Sorties du 68000


Le Signal Horloge
Contrle du bus en mode asynchrone
Contrle du bus en mode synchrone
Partage de bus
tat du processeur
Contrle des Erreurs de bus
Les interruptions

Le microprocesseur 68000, partie matrielle

Ch4 - 4 -

Les Entres/Sorties du 68000


A23-A1

Alimentation

Horloge

Vcc
Gnd

D15-D0

Clk

FC0

UDS

FC1

LDS

FC2
Contrle de bus
en mode synchrone
(priphriques M6800)

Contrle du systme

Copyright F. Muller
2001, 2002

MC68000

Contrle de bus
en mode asynchrone

DTACK

BR

VMA

BG

VPA

Bus de donnes

AS
R/W

tat du processeur

Bus dadresses

Contrle pour
lattribution de bus

BGACK

BERR

IPL0

RESET

IPL1

HALT

IPL2

Le microprocesseur 68000, partie matrielle

Contrle des interruptions

Ch4 - 5 -

Le contrle du bus en mode asynchrone


(1)
n

Un change asynchrone signifie que toute demande


doit tre confirme par le circuit externe
Signaux (actif sur niveau bas)
n

AS : Validation du bus dadresse (Address Strobe)


n

R/W : Lecture/criture (Read/Write)


n

Ce signal dfinit le type de transfert sur le bus de donnes

UDS, LDS : Validation de la donne suprieure, infrieure


(Upper, Lower Data Strobe)
n

Ce signal indique quil y a une adresse valide sur le bus

Ces signaux sont gnrs par le microprocesseur en fonction du type


de donnes transfrer et du bit dadresse A0.

DTACK : Accus de rception du transfert de donnes


(Data Transfer ACKnowledge)
n

Ce signal apporte au microprocesseur linformation suivante:


n
n

Copyright F. Muller
2001, 2002

En lecture: les donnes lire sont disponibles sur le bus


En criture: les donnes ont t prises en compte par le circuit externe

Le microprocesseur 68000, partie matrielle

Ch4 - 6 -

Le contrle du bus en mode asynchrone


(2)
n

Organisation de la mmoire

Mmoire
Bit 15

Mot adresse $0000000


Mot adresse $0000002
Mot adresse $0000004

Bit 8

Bit 7

Bit 0

Octet adresse $0000000 Octet adresse $0000001


Octet adresse $0000002 Octet adresse $0000003
Octet adresse $0000004 Octet adresse $0000005

Mot adresse $FFFFFFE Octet adresse $FFFFFFE Octet adresse $FFFFFFF

Copyright F. Muller
2001, 2002

Le microprocesseur 68000, partie matrielle

Ch4 - 7 -

Le contrle du bus en mode asynchrone


(3)
n

Les combinaisons des signaux UDS, LDS et R/W

UDS LDS

R/W

D15-D8

D7-D0

Opration
-

non valides

non valides

valides bits 15-8

valides bits 7-0

Lecture dun mot

non valides

valides bits 7-0

Lecture dun octet


impair

valides bits 15-8

non valides

Lecture dun octet pair

valides bits 15-8

valides bits 7-0

criture dun mot

recopie bits 7-0

valides bits 7-0

criture dun octet


impair

Valides bits 15-8 recopie bits 15-8

Copyright F. Muller
2001, 2002

Le microprocesseur 68000, partie matrielle

criture dun octet pair


Ch4 - 8 -

Le contrle du bus en mode asynchrone


(4)
n

Les combinaisons des signaux UDS, LDS et R/W


n

Exemple darchitecture pour ladressage mmoire


A23-A1
D15-D0

D7-D0

R/W
LDS

Mmoire
IMPAIRE
CS

MC68000
D15-D8

Mmoire
PAIRE
UDS

Copyright F. Muller
2001, 2002

Le microprocesseur 68000, partie matrielle

CS

Ch4 - 9 -

Le contrle du bus en mode asynchrone


(5)
n

Chronogramme du cycle de lecture dun mot


S0

S1

S2

S3

S4

S5

S6

S7

S0

CLK
R/W
FC2-FC0
A23-A1
AS
UDS
LDS
DTACK
D15-D0
Donnes valides
Copyright F. Muller
2001, 2002

Le microprocesseur 68000, partie matrielle

Ch4 - 10 -

Le contrle du bus en mode asynchrone


(6)
n

Chronogramme du cycle dcriture dun octet impair


S0

S1

S2

S3

S4

S5

S6

S7

S0

CLK
R/W
FC2-FC0
A23-A1
AS
UDS
LDS
DTACK
D15-D0
donne mise sur le bus
Copyright F. Muller
2001, 2002

donne prise en compte

Le microprocesseur 68000, partie matrielle

Ch4 - 11 -

tat du Processeur (1)


n

Ltat du processeur est indiqu par les Codes


Fonction FC0, FC1 et FC2 (Function Code)
Modes
n
n
n

Ces modes dpendent du bit S du registre dtat


Mode superviseur, S = 1 (systme non restreint)
Mode utilisateur, S = 0 (systme restreint)

tats
n

tat Programme
n
n

tat Donnes
n

Copyright F. Muller
2001, 2002

Code oprande
Mot dextension
Recherche dune donne en mmoire

Le microprocesseur 68000, partie matrielle

Ch4 - 12 -

tat du Processeur (2)


n

Combinaison des signaux FC2-FC0


FC2

FC1

FC0

Type de Cycle

Rserv

Donnes utilisateur

Programme utilisateur

Rserv

Rserv

Donnes superviseur

Programme superviseur

Reconnaissance dinterruption

Exemple: Initialise la case mmoire de ladresse $F2004 avec la valeur 736


MOVE

Copyright F. Muller
2001, 2002

#736, $F2004

Le microprocesseur 68000, partie matrielle

Ch4 - 13 -

tat du Processeur (3)


n

Utilit des Codes Fonctions


n
n

Contrle daccs la mmoire


Reconnaissance dinterruption
Exemple de contrle daccs mmoire

Mmoire
Superviseur

Plan mmoire
$000000

AS

NOT

CS2

NAND

Mmoire
Superviseur
$7FFFFF

FC2

68000

$800000

Mmoire
Utilisateur

NAND

A23

CS2
CS1
Mmoire
Utilisateur

$FFFFFF

Copyright F. Muller
2001, 2002

CS1

NAND

Le microprocesseur 68000, partie matrielle

Ch4 - 14 -

Exceptions Principes (1)


n

Le processeur se trouve soit dans ltat :


n

Normal
n

Exception
n

Indication dune dfaillance matrielle catastrophique

Le processeur fonctionne dans deux modes


n

Superviseur (S = 1)
n

Toutes les instructions peuvent tre utilises

Utilisateur (S = 0)
n

Copyright F. Muller
2001, 2002

Condition exceptionnelle qui, lorsquelle est prise en compte par le


processeur, va provoquer lexcution dune procdure dtermine

Arrt
n

Excution des instructions traditionnelles, cest dire qui ne gnre


pas de gnration dinterruption ou de procdure dexception

Restriction du jeu dinstruction (RESET, STOP, modification de SR)


Le microprocesseur 68000, partie matrielle

Ch4 - 15 -

Exceptions Principes (2)


n

Quest ce quun vecteur dexception ?


n

Informations contenues en mmoire qui permettent au


processeur daller excuter le sous-programme de
lexception
Ces informations sont situes dans la zone mmoire
utilisateur, SAUF le vecteur dexception RESET (zone
Superviseur)
Mmoire
$000000
$0003FF

Table
dexception

$FFFFFF
Copyright F. Muller
2001, 2002

Le microprocesseur 68000, partie matrielle

Ch4 - 16 -

Exceptions Principes (3)


n

Format dun vecteur dexception


n

Chaque vecteur dexception a une longueur de 4 octets


(une adresse est code sur 32 bits), SAUF le vecteur
RESET (8 octets)
A un numro de vecteur correspond une adresse physique
4 octets

Exemple: Exception BERR (bus erreur)


0

Numro de vecteur = 2

$008
x 4 octets

adresse du sous-programme
dexception

Adresse physique = $008


Mmoire
Copyright F. Muller
2001, 2002

Le microprocesseur 68000, partie matrielle

Ch4 - 17 -

Exceptions Principes (4)


n

Qui gnre les numros de vecteurs dexception ?


n

Le microprocesseur
n
n

Gnration dun numro interne suivant lexception


Exemple
n
n

BERR (bus erreur), vecteur 2


Division par zro, vecteur 5

Un circuit externe
n

Le priphrique fournit au processeur un numro de vecteur de 8 bits


sur le bus de donnes (D7-D0)
Cas des interruptions

Microprocesseur
Bus de donnes

BERR
Gestion
Exception

interruption

Circuit
externe

Autres Bus
Copyright F. Muller
2001, 2002

Le microprocesseur 68000, partie matrielle

Ch4 - 18 -

Exceptions Principes (6)


n

Copyright F. Muller
2001, 2002

Table des vecteurs dexception (vecteurs 0 14)


Numro
du vecteur

Adresse

Exception concerne

Dcimal

Hexa

$000

Reset : Initialisation de SSP

$004

Reset : Initialisation de PC

$008

Erreur Bus

12

$00C

Erreur Adresse

16

$010

Instruction Illgale

20

$014

Division par zro

24

$018

Instruction CHK

28

$01C

Instruction TRAPV

32

$020

Violation de privilge

36

$024

Trace

10

40

$028

mulateur ligne 1010

11

44

$02C

mulateur ligne 1111

12 14

48

$030

Rserve

Le microprocesseur 68000, partie matrielle

Ch4 - 19 -

Exceptions Principes (7)


n

Copyright F. Muller
2001, 2002

Table des vecteurs dexception (vecteurs 15 255)


Numro
du vecteur

Adresse

Exception concerne

Dcimal

Hexa

15

60

$034

Interruption non initialise

16 23

64

$038

Rserve ou non affecte

24

96

$060

Interruption parasite

25

100

$064

Auto-vecteur interruption niveau 1

26

104

$068

Auto-vecteur interruption niveau 2

27

108

$06C

Auto-vecteur interruption niveau 3

28

112

$070

Auto-vecteur interruption niveau 4

29

116

$074

Auto-vecteur interruption niveau 5

30

120

$078

Auto-vecteur interruption niveau 6

31

124

$07C

Auto-vecteur interruption niveau 7

32-47

128

$080

Vecteurs instruction TRAP

48-63

192

$0C0

Rserve ou non initialise

64 255

256

$100

Vecteurs interruptions utilisateur

Le microprocesseur 68000, partie matrielle

Ch4 - 20 -

Exceptions Les Interruptions (1)


n

Une interruption est dclenche par un circuit externe et


permet dexcuter un programme dexception
2 modes de fonctionnement
n

Auto-Vectorisation
n
n

Vectorisation
n
n

Le circuit demandeur envoie le numro de vecteur


Le nombre de vecteurs utilisateurs est limit 192

Signaux
n

IPL2-IPL0 : Contrle des Interruptions (Interrupt Priority Level)


n

Accs aux interruptions seffectue par lintermdiaire des lignes IPL2, IPL1 et
IPL0

VPA : Adresse du Priphrique Valide (Valid Peripheral Address)


n

Copyright F. Muller
2001, 2002

Le numro de vecteur est dtermin par le microprocesseur


Le nombre de vecteurs utilisateurs est limit 7

Dans ce contexte, ce signal dentre permet de d clencher une Auto-Vectorisation

Le microprocesseur 68000, partie matrielle

Ch4 - 21 -

Exceptions Les Interruptions (3)


n

Masque du registre dtat (SR)


Bit de registre dtat I2, I1 et I0

Relation entre le masque et les lignes dIT

Niveau

Masque de SR

Niveau

I2

I1

I0

Lignes IPL
IPL2

IPL1

IPL0

Copyright F. Muller
2001, 2002

Le microprocesseur 68000, partie matrielle

Ch4 - 22 -

Exceptions Les Interruptions (5)


n

Chronogramme de la Vectorisation Non Automatique

dernier cycle bus


(criture ou lecture)
Copyright F. Muller
2001, 2002

empile
PCL

cycle de reconnaissance de l IT
acquisition du N du vecteur

Le microprocesseur 68000, partie matrielle

empile Statuts et PCH


Lecture du vecteur

Ch4 - 23 -

Exceptions Les Interruptions (7)


n

Chronogramme de la Vectorisation Automatique

cycle normal
Copyright F. Muller
2001, 2002

reconnaissance de linterruption

Le microprocesseur 68000, partie matrielle

Ch4 - 24 -

Exceptions Les Interruptions (8)


n

Exemple de schma pour les interruptions


A23-A1

68000
A2
A3

E
IACK

FC0

FC1

FC2

E
NOT

IACK5

AS

IACK3
AND

Copyright F. Muller
2001, 2002

IACK5

DTACK

NOT

E
vecteur

IPL2

IPL1

IPL0

VPA

Le microprocesseur 68000, partie matrielle

7
6
5
4
3
2
1
0

INT 7
INT 6
INT 5

Contrleur 1

0
1
2
3
4
5
6
7

I/O

INT 3

Contrleur 2

A1

74LS148

74LS138

74LS138

0
1
2
3
4
5
6
7

D7-D0

I/O

Ch4 - 25 -

Exceptions Les Interruptions (9)


n

Exemple dapplication avec 2 tches

Architecture multiprocesseur (2 processeurs)


Tche de fond
Processeur 1

Tche T1

Tche T1

Processeur 2

interruption

interruption

Architecture monoprocesseur (solution squentielle)

2 x Tche T1

Tche de fond
Tche T1

interruption
Copyright F. Muller
2001, 2002

interruption
Le microprocesseur 68000, partie matrielle

Ch4 - 26 -

Exceptions Synthse
n

2 types dexception
n

Interne: TRAP, TRAPV, CHK, etc (logiciel , appels


systmes)
Externe: Interruption (matriel, circuits externes,
priphriques)
n
n

Table dexception
n
n

Plage mmoire : de ladresse $000 $3FF


256 vecteurs dont 192 pour lutilisateur

Applications
n

Copyright F. Muller
2001, 2002

Auto-vectorise
Vectorise (numro du vecteur fourni par le circuit externe)

Activation de tches par des circuits priphriques (clavier,


rseaux, etc)
Gestion Temps-rel (Circuit Horloge)
Le microprocesseur 68000, partie matrielle

Ch4 - 27 -

Synthse
n

Diffrents modes daccs aux circuits externes


n
n

Partage de bus
n

Possibilit darchitectures multiprocesseurs

Exception
n
n

Copyright F. Muller
2001, 2002

Synchrone (famille 6800)


Asynchrone

Logiciel pour les appels systmes


Matriel pour activer des tches partir dun circuit externe

Le microprocesseur 68000, partie matrielle

Ch4 - 28 -

Le Microprocesseur 68000
Caractristiques Matrielles
n volution de ces microprocesseurs
n

Copyright F. Muller
2001, 2002

Ch4 - 29 -

volution de ces microprocesseurs


Le microprocesseur 68010 (1)
n

Registre VBR (Vector Base Register)


n

Ce registre dfinit ladresse de base de la table de vecteurs


dexception
Ainsi, il est possible de stocker la plage $000-$3FF
VBR = $000000

15

VBR = $00E000
0

$000000

15

$000000

Table dinterruption
$0003FF
$00E000

$00E000

Table dinterruption
$00E3FF
Copyright F. Muller
2001, 2002

Le microprocesseur 68000, partie matrielle

Ch4 - 30 -

volution de ces microprocesseurs


Le microprocesseur 68010 (2)
n

Registres SFC, DFC (3 bits)


n

Il est possible dutiliser ltat du processeur (FC2-FC0) pour


dcoder des adresses de blocs de mmoire

Concept de mmoire virtuelle


n

Permet lutilisateur dexcuter des programmes avec un


adressage logique (virtuel) sans se soucier de son existence
physique
Les espaces dadressage physique et virtuel sont diviss en
pages
Si un accs une adresse dune page non prsente en mmoire
physique est ralis, une erreur de page est gnre ce qui
dclenche une exception (Bus Error)
Le processeur doit effectuer 3 fonctions de bases
n
n
n

Copyright F. Muller
2001, 2002

Reconnaissance dune faute


Sauvegarde du contexte du microprocesseur et excution dune exception
Restitution du contexte du microprocesseur et poursuite de lexcution
interrompue
Le microprocesseur 68000, partie matrielle

Ch4 - 31 -

volution de ces microprocesseurs


Le microprocesseur 68020 (1)
n

Vrai microprocesseur 32 bits : Bus de donnes et dadresses


sur 32 bits
Mmoire cache instructions de 256 octets
n
n
n

n
n
n

Interface coprocesseur
Nouvelles instructions
Nouveau mode dadressage
n
n

move.w ([bd, An,Xn.Taille * Facteur], od),d0


d0 = (db + an + Xn.Taille * Facteur) + od

3 pointeurs de pile
n
n
n

Copyright F. Muller
2001, 2002

Taux doccupation du 68000 : 70 90%


Taux doccupation du 68020: < 45%
2 registres pour grer la mmoire cache (CACR, CAAR)

A7 (USP)
A7 (Pointeur de pile pour les interruptions)
A7 (SSP)
Le microprocesseur 68000, partie matrielle

Ch4 - 32 -

volution de ces microprocesseurs


Le microprocesseur 68020 (2)

Copyright F. Muller
2001, 2002

Le microprocesseur 68000, partie matrielle

Ch4 - 33 -

volution de ces microprocesseurs


Le microprocesseurs 68030
n
n
n

Copyright F. Muller
2001, 2002

Gestion de mmoire pagine (PMMU) intgre


Mmoire cache de donnes ET dinstruction
Architecture de type Harvard (excution parallle dune lecture, dun calcul et dune
criture)

Le microprocesseur 68000, partie matrielle

Ch4 - 34 -

volution de ces microprocesseurs


Les autres microprocesseurs 680x0
n

68040
n

68060
n
n

Copyright F. Muller
2001, 2002

Mmoire cache de donnes (4Ko) ET dinstruction (4Ko)


Mmoire cache de donnes (8Ko) ET dinstruction (8Ko)
Unit virgules flottantes

Le microprocesseur 68000, partie matrielle

Ch4 - 35 -

Das könnte Ihnen auch gefallen