architecture d’un système à µp
DESCRIPTION
Description d’un systèmeFonctionnement matérielConceptionApplications spécialesTRANSCRIPT
M. Deloizy 1
Architecture d’un système à µP
Exemple du 6809
M. Deloizy 2
Objectif
Description d’un système
Fonctionnement matériel
Conception
Applications spéciales
M. Deloizy 3
Exemple du 6809
Système 8 bits
Simplicité
Lenteur
Pas d’optimisation
Architecture de Von Neumann (1903~1957)
Programmes et données dans le même espace
Exécution séquentielle
M. Deloizy 4
Éléments constitutifs d’un système
Processeur
Mémoires
Dispositifs d’Entrées/Sorties
Logique de contrôle et gestion
M. Deloizy 5
Le processeur
Cœur du système
Gère échanges avec « périphériques » sous contrôle
d’un « programme »
Programme :
Suite d’instructions exécutées séquentiellement Code opérateur [+ opérande]
PC indique instruction en cours
M. Deloizy 6
Exécution d’une instruction
Sélection de la donnée pointée par PC
Lecture de la donnée
Code opérateur
Décodage et exécution de l’instruction
Peut durer plusieurs cycles Selon complexité
Micro programmes
Peut nécessiter lecture de données complémentaires
Récupération de l’instruction suivante
PC placé sur la prochaine instruction à exécuter
M. Deloizy 7
Description « électrique » du 6809
40 pattes / 5V
Vss, Vcc : alimentation
A0 ~ A15 : adresses (sorties, 64k adr.)
D0 ~ D7 : données (8 bits, bidir.)
NMI, IRQ, FIRQ : entrées interruptions
RESET : entrée initialisation (trigger)
XTAL, EXTAL : oscillateur
Q, E : sorties horloges (quad, Fxtal/4)
R/W : sortie Read/Write
HALT : entrée. Mise en veille. Réveil par
RESET, NMI ou DMA/BREQ
DMA/BREQ : entrée. Demande accès aux
bus
M. Deloizy 8
Description « électrique » du 6809
MRDY : entrée. Indique si le périphérique est
prêt.
BA, BS : sorties. Indiquent l’état du CPU
00 : normal
11 : bus Hi-Z
01 : reconnaissance interruption
10 : attente synchro (instruction Wait)
M. Deloizy 9
Écriture dans un périphérique
µP positionne les lignes adresses
« adresse » du périphérique
µP positionne la ligne R/W à 0
µP positionne données (quand E)
Périphérique doit lire données (quand E )
µP met données en Hi-Z
M. Deloizy 10
Lecture d’un périphérique
µP positionne les lignes adresses
µP positionne la ligne R/W à 1
Périphérique doit positionner données
µP lit données (quand E )
Périphérique doit mettre données en Hi-Z
µP met données en Hi-Z
M. Deloizy 11
Chronogrammes du µP
M. Deloizy 12
Périphériques
Situés « autour » du processeur
Circuit adressable accessible en lecture ou écriture
Exemples :
Entrées / Sorties numériques
CNA ou CAN
Interfaces (écran, réseaux, mémoires de masse,
…)
Mémoires (RAM, ROM, UVPROM, EEPROM,
OTP…)
Vus par le processeur comme des mémoires
M. Deloizy 13
Rappel
Cellule mémoire unité
RD et WR inactifs : D en Hi-Z
RD actif : Donnée apparaît sur D (en
sortie)
WR actif : Donnée chargée en mémoire
Autre possibilité :
RD/WR# : 1 : lecture de la mémoire (D en sortie)
0 : chargement de la mémoire (D en entrée)
EN : validation de la mémoire
RD
WR
D
RD/WR#
EN
D
M. Deloizy 14
Association de mémoires
Augmentation du nombre de bits
Mémoire 16x1 bits
Décodeur
lignes
1 parmi 4
Décodeur colonnes
1 parmi 4
A0
A1
A2 A3
Numéro
de ligne
Numéro de
colonne D R/W#
& EN
R/W#
D
M. Deloizy 15
Mémoire 16x1 bits
A3 A2 A1 A0
D
R/W#
EN
Adresse
(0 à 15)
M. Deloizy 16
Association de mémoires
Mémoire
de mots
16x4 bits
a3
a2
a1
a0
d
en
r/w#
Q3
a3
a2
a1
a0
d
en
r/w#
Q2
a3
a2
a1
a0
d
en
r/w#
Q1
a3
a2
a1
a0
d
en
r/w#
Q0
A3
A2
A1
A0
D3
D2
D1
D0
EN
R/W#
M. Deloizy 17
Association de mémoires
Augmentation
du nombre de
mots
64x4 bits
a3
a2
a1
a0
d3
d2
d1
d0
r/w#
en Q3
a3
a2
a1
a0
d3
d2
d1
d0
r/w#
en Q2
a3
a2
a1
a0
d3
d2
d1
d0
r/w#
en Q1
a3
a2
a1
a0
d3
d2
d1
d0
r/w#
en Q0
Décodeur
2 =
> 4
X
Y
q3
q2
q1
q0
cs
A5
A4
A3
A2
A1
A0
EN
D3
D2
D1
D0
R/W#
M. Deloizy 18
Exemple : HM65764
M. Deloizy 19
Exemple : 27C64
M. Deloizy 20
Boîtiers 27C64, 27C256 & 27C512
M. Deloizy 21
27C64, 27C256 & 27C512 (JEDEC)
M. Deloizy 22
Exemple : EEProm HN58S65
M. Deloizy 23
Exemple :
UART
TL16C450
M. Deloizy 24
Afficheur AV1624
M. Deloizy 25
CAN AD7813
M. Deloizy 26
DDR SDRAM
SDRAM
RAM synchrone
Horloge interne synchronisée sur CPU
Évite temps attente lors accès
DDR SDRAM
SDRAM
Fonctionne sur 2 fronts horloge
M. Deloizy 27
DDR3 SDRAM :
MT41J256M8 – 32 Meg x 8 x 8 banks Caractéristiques :
VDD = VDDQ = +1.5V 0.075V
Differential bidirectional data strobe
Differential clock inputs (CK, CK#)
8 internal banks for concurrent operation
Automatic refresh
tCK range: 300–667 MHz
Timing – cycle time : 1.5 … 2.5 ns (800 … 1333 Mb/s)
M. Deloizy 28
Boîtier
FBGA 94 billes
Fine-pitch Ball Grid Array
M. Deloizy 29
Décodage d’adresses
Assigner une adresse à chaque périphérique
M. Deloizy 30
Décodage d’adresses
Circuit logique combinatoire
Génération d’un signal de validation
Sélection d’un circuit parmi les périphériques
Actif pour une plage d’adresses
À partir de l’adresse émise par le processeur
Pour un µP avec NBAD lignes d’adresses
Adresses comprises entre 0 et (2NBAD-1)
M. Deloizy 31
Présentation
Chaque périphérique se voit attribué une zone mémoire
(plage d’adresses)
Choix arbitraire
Parfois, contrainte liée au processeur
Exemple :
RAM 32 ko : 32768 octets (32768 adresses)
On choisit de la placer en haut du plan mémoire : Occupe les adresses 8000H à FFFFH.
On génère un signal (CS) actif quand le processeur émet une
adresse dans cette plage
M. Deloizy 32
Méthode
Exemple:
Génération de CS pour des adresses comprises entre 4000 et 7FFF :
Adresse A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
7FFF 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
7FFE 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
7FFD 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1
… 0 1 x x x x x x x x x x x x x x
4002 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0
4001 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1
4000 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CS actif quand : A15=0 ET A14=1
M. Deloizy 33
Exemple
Système 6809
16 ko de ROM type 27C64 Bloc continu
Vecteur RESET & interruptions en FFF8 à FFFF
8 ko de RAM type 65764 (en page 0)
1 uart TL16C450
1 EEPROM HM65764
Décodage strict
Décodage incomplet
Utilisation de circuit décodeur/démultiplexeur
M. Deloizy 34
Système complet
M. Deloizy 35
Circuit logique
74138
M. Deloizy 36
Circuit logique 74139
M. Deloizy 37
Circuit logique 74244
M. Deloizy 38
Circuit logique 74245
M. Deloizy 39
Circuit logique 74373
M. Deloizy 40
Système 6809
M. Deloizy 41
Alimentations
M. Deloizy 42
Interruptions…
M. Deloizy 43
Décodage
M. Deloizy 44
Lignes R/W
M. Deloizy 45
Câblage mémoires
M. Deloizy 46
Câblage UART
M. Deloizy 47
Extension de mémoire
6809 : 64k adressables
On souhaite « voir » 1 Mo
Nécessite 20 lignes d’adresses (16x64 = 1024)
Mise en place d’un système de pages
M. Deloizy 48
M. Deloizy 49
Mémoire partagée
2 processeurs
Périphériques (RAM, ROM, …) distincts
1 périphérique en commun
Par exemple : RAM
Intérêt : Communication très rapide entre les 2 systèmes
RAM propriétaire d’un système
M. Deloizy 50
M. Deloizy 51
Systèmes 16 bits
Exemple : 68000
Bus d’adresses A0 … A23 : 16 Mo adressables
Bus de données D0 … D15 : 16 bits
Mémoire 16 bits constituée de 2 plans 8 bits en //
Problème : accès à octets pairs ou impairs Nécessite signaux de plans individuels :
UDS# & LDS#
Bus d’adresse indique « adresse de mot »
UDS# et LDS# sélectionnent octet pair ou impair
A0 inutile (non sorti sur le bus)
Ne permet pas d’accéder à un mot en adresse impaire
Autre système : Utilisation de BHE# et A0
M. Deloizy 52
Exemple de bus
16 bits