Cours 04

publicité
ELE-542
Systèmes ordinés en temps réels
Cours # 4
Mesure de performance
et aspects matériels
Jean-Marc Beaulieu et Bruno De Kelper
Site internet: http://www.ele.etsmtl.ca/academique/ele542/
Systèmes ordinés en temps réel
Cours no 4
1
Mesure de la performance
Objectif : Améliorer l’exécution des portions
critiques de notre code en langage C.
—Mesure : Chronométrage des fonctions
• Nous allons voir 3 façons d’estimer le temps
d’exécution d’une section de code :
˜Mesure directe
˜Décompte d’instructions
˜Décompte des entrées / sorties
Systèmes ordinés en temps réel
ELE542
Cours 04
Cours no 4
2
1
Mesure directe de la performance
—Mesure du temps d’exécution dans une boucle
t1 = temps();
for (i=0, i < Nb_itération ; i++) {
RIEN, Pas de code, nada
}
t2 = temps();
tbase = t2 – t1;
t1 = temps();
for (i=0, i < Nb_itération ; i++) {
Code à mesurer
}
t2 = temps();
tmesuré = t2 – t1;
tcode = (tmesuré-tbase)/Nb_itération
Avantage :
Pas besoin d’une mesure très précise de l’horloge
Inconvénients : Attention à l’impact du compilateur (i.e. optimisation).
Vérifier la linéarité pour Nb_itération assez grand.
Systèmes ordinés en temps réel
Cours no 4
3
Mesure du temps
— La mesure de temps dépend :
• Du matériel disponible :
˜Horloge temps réel (real-time clock - RTC)
˜Chronomètre/Compteur
• Du système d’exploitation
˜Services disponibles
• Du langage
˜Fonctions disponibles (librairies)
Systèmes ordinés en temps réel
ELE542
Cours 04
Cours no 4
4
2
Mesure du temps dans un PC
— Horloge temps réel (RTC – Motorola 6818) :
• Disponible dans les ordinateurs de type PC.
• Tient à jour la date et l’heure.
• Toujours en fonction, même quand l’ordinateur est
éteint.
• Accessible par les services du système d’exploitation.
• Lut par le système d’exploitation au démarrage.
• Résolution : ± 1 seconde
Systèmes ordinés en temps réel
Cours no 4
5
Mesure du temps dans un PC
— Chronomètre d’intervalle programmable (PIT – Intel 8253) :
• Circuit qui génère des interruptions à intervalle régulier
(DOS : 18.2/sec, Windows : 1000/sec)
• Sert habituellement à cadencer le « scheduler » de l’OS
• Sert à la mise à jour de l’horloge « software » de
Windows
• Fréquence d’horloge = 1.19318 MHz
• Résolution = 1.676 µs à 54.93 ms
• Accessible par les services du OS et par les fonctions de la
librairie « timer.h » (ANSI-C)
time()
clock()
Systèmes ordinés en temps réel
ELE542
Cours 04
Cours no 4
6
3
ANSI C – Fonction date & time
Æ time_t time( time_t *timer ); // timer.h
Get current system time as type time_t
Résultat :
struct tm {
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
};
/* seconds after the minute - [0,59] */
/* minutes after the hour - [0,59] */
/* hours since midnight - [0,23] */
/* day of the month - [1,31] */
/* months since January - [0,11] */
/* years since 1900 */
/* days since Sunday - [0,6] */
/* days since January 1 - [0,365] */
/* daylight savings time flag */
Résolution : ± 1 seconde
Systèmes ordinés en temps réel
Cours no 4
7
ANSI C – Fonction clock
Æ clock_t clock( void ); // timer.h
Retourne le nombre de ticks de l’horloge
Notes :
• typedef long clock_t;
• Temps en secondes = clock_t/CLOCKS_PER_SEC;
• Sous Windows2000, CLOCKS_PER_SEC = 1 000;
• Sous DOS (TurboC), CLOCKS_PER_SEC = 18.2.
Résolution = 0.99985 ms
Systèmes ordinés en temps réel
ELE542
Cours 04
Cours no 4
8
4
Mesure du temps – Processeurs INTEL Pentium
— Time Stamp Counter (TSC) :
• Compteur incrémenté à chaque cycle de l’horloge du processeur.
EAX
• Compteur de 64 bits divisé en 2 registres : EDX
32 bits
32 bits
• Accessible seulement par la commande RDTSC et la lecture des
registres EDX et EAX en assembleur (pas encore supporté en C)
Exemple :
Union {
struct {
unsigned LowB;
unsigned HighB;
}
unsigned long Ticks;
} Clock;
Clock.Ticks = 0;
Pour la sérialisation
__asm { pushad
CPUID
RDTSC
mov Clock.LowB,eax
mov Clock.HighB,edx
popad
}
Systèmes ordinés en temps réel
Cours no 4
9
Mesure du temps dans un système embarqué
— Chronomètre/Compteur (Timer/Counter) :
• Les systèmes embarqués contiennent habituellement un
ou plusieurs Timer/Counter sophistiqués.
• Servent souvent à cadencer le « scheduler » de l’OS.
• Servent aussi à générer des signaux périodiques ou à
mesurer des intervalles entre des évènements.
• Accessible par des fonctions spécialisées, codées
directement ou fournies par des librairies spécialisées.
• Résolution : Configurable
Souvent très bonne (> 106/sec)
ATMega16 :
fhorloge = 14.7456 MHz
Résolution Max = 0.13563 µs
Systèmes ordinés en temps réel
ELE542
Cours 04
Cours no 4
10
5
Mesure du temps dans un système embarqué
ATMega16
Systèmes ordinés en temps réel
Cours no 4
11
Décompte des instructions
— Analyse du code assembleur
• Évaluation du temps d’exécution de chaque instruction.
— Difficultés et limites
• Pas facile / impossible d’estimer le temps d’exécution d’une
séquence d’instructions sur les architectures complexes;
• Souvent le temps d’exécution varie;
• Travail laborieux .
Exemple : Entrée / sortie par interrogation
BYTE8 Serial_Input(void)
{
/* Attendre l’arrivée d’une nouvelle donnée */
while ((inportb(STATUS_PORT) & READY) == 0) {}
return inportb(DATA_PORT) ;
}
void Serial_Output(BYTE8 ch)
{
/* Attendre que le périphérique soit prêt */
while ((inportb(STATUS_PORT) & READY) == 0){}
outportb(DATA_PORT, ch) ;
}
Réf. : Lewis, Chap. 6
ELE542
Systèmes ordinés en temps réel
Cours 04
Cours no 4
12
6
Décompte des instructions
_Serial_Input:
SI1:
MOV
DX,02FDh
; DX Å Status Port Address
IN
AL,DX
; Read Input Status Port
TEST
AL,00000001B
; Check the “Ready” Bit
JZ
SI1
; Continue to wait if not ready
MOV
DX,02F8h
; Else load DX with Data Port Address
XOR
EAX,EAX
; Pre-clear most significant bits of EAX
IN
AL,DX
; Read Data Port
RET
Réf: Lewis Chap 6.
; return to caller with data in EAX
Systèmes ordinés en temps réel
Cours no 4
13
Décompte des lectures / écritures
—Modèle approximatif basé sur l’observation
que la performance est souvent limitée par le
temps nécessaire aux accès mémoire.
—On doit inclure :
• La lecture des instruction;
• Les accès aux registres des périphériques.
—On néglige :
• Les facteurs d’accélération dus à la mémoire cache,
à la présence d’un pipeline et de plusieurs ALU;
• L’estimation est donc pessimiste.
ET TRÈS IMPRÉCISE
Réf: Lewis Chap 6.
ELE542
Systèmes ordinés en temps réel
Cours 04
Cours no 4
14
7
Décompte des lectures / écritures
_Serial_Input:
MOV
SI1:
IN
TEST
JZ
MOV
XOR
IN
RET
DX,02FDh
AL,DX
AL,00000001B
SI1
DX,02F8h
EAX,EAX
AL,DX
;
;
;
;
;
;
;
;
;
;
Opcode
Bytes
1
1
1
1
1
1
1
1
Immediate Stack
Bytes
Bytes
2
I/O
Transfers
1
1
1
2
4
1
14 octets pour les instructions ,
4 octets pour la pile ,
2 octets pour les entrées / sorties
Réf. : Lewis, Chap. 6
Systèmes ordinés en temps réel
Cours no 4
15
Décompte des lectures / écritures
— Exemple : Architecture considérée
(Æ c.f. lewis)
• Accès en mémoire
Æ 60 ns;
• Bus PCI 33 MHz
Æ 30 ns par accès.
En général, les transferts demandent plusieurs
cycles d’accès.
Décompte:
(14 octets / (4 octets par cycle)) * 60 ns = 240 ns (instructions)
(4 octets / (4 octets par cycle)) * 60 ns = 60 ns (pile)
2 octets * 30 ns
= 60 ns (Entrée / sortie)
Total
= 360 ns
Taux de transfert maximum = 1/360 ns = 2.78 Moctets/s
Réf. : Lewis, Chap. 6
ELE542
Systèmes ordinés en temps réel
Cours 04
Cours no 4
16
8
Importance des aspects matériels
—Pourquoi considérer les aspects matériels ?
• Sélection de la plate-forme matérielle
• Comprendre le fonctionnement de bas niveau de
notre solution
Æ Éléments logiciels ET matériels
—Meilleure utilisation des ressources :
•
•
•
•
Accès à des fonctionnalités spéciales
Performance
Fiabilité
Prédictibilité
Systèmes ordinés en temps réel
Cours no 4
17
Introduction – Le processeur
Le processeur joue un rôle capital dans le STR.
—Le choix du CPU est largement dicté par les
contraintes temporelles fixées lors de la
conception.
• Temps de réponse nécessaire
• Nature et complexité du traitement (calcul) à faire
• Nature du transfert de données
—Connaître les mécanismes internes est
nécessaire pour un choix éclairé.
Systèmes ordinés en temps réel
ELE542
Cours 04
Cours no 4
18
9
Choix d'un processeur/microcontrôleur
Un problème ayant plusieurs dimensions :
Consommation
dissipation
Coût
—Vitesse de calcul
—Vitesse de E/S
—Mémoire
—Interruptions
Performance
Capacités
annexes
Cours no 4
Systèmes ordinés en temps réel
19
Architecture des processeurs
Architecture de base : Machine de Von Neumann
• Le programme est emmagasiné en mémoire
• Cycle d'exécution séquentiel : Alimenter-exécuter
1)
2)
Unité de
traitement
Unité de
traitement
instruction
exécution
Mémoire
programme
Mémoire
programme
Processus :
Lecture
Systèmes ordinés en temps réel
ELE542
Cours 04
Exécution
Cours no 4
20
10
Le matériel
Programme
(instructions)
Bus de données
Pile
Bus d’adresse
Données
Mémoire
Processeur
Cours no 4
Systèmes ordinés en temps réel
21
Lien entre le matériel et le programme
Processus en 3 phases : Une instruction
Lecture de
l’instruction
Décodage de
l’instruction
Exécution de
l’instruction
Compteur de programme
Bus d’adresse et de donnée
Registre d’instruction
Décodeur d’instruction
Micro-mémoire
Lignes de contrôle
Registres adresse/donnée
ALU
Bus d’adresse et de donnée
Structure d’une instruction :
Op code
8 bits
Adresse
Adresse
Donnée
Opérand 1 Opérand 2 immédiate
8 bits
Systèmes ordinés en temps réel
ELE542
Cours 04
Taille
16 à 48 bits
8, 16, 32 bits
Cours no 4
22
11
Lien entre le matériel et les données
Modes d’adressage : (une instruction peut utilisé plus qu’un mode d’adressage)
Implicite : - L’emplacement de la donnée est implicite dans l’instruction
- Pas de lecture de donnée en mémoire
- Code d’instruction court (16 bits)
ex. :
CLS (Clear Signed Test Flag)
Immédiat : - La donnée est fournie dans l’instruction
- La donnée est lue en même temps que l’instruction
- Taille de l’instruction dépend de la taille de la donnée
Donnée
Instruction
4 bits
16 bits
> 4 bits
16 bits + taille de la donnée
ex. :
LDI R1,5 (Load Immediat)
Systèmes ordinés en temps réel
Cours no 4
23
Lien entre le matériel et les données
Modes d’adressage : (une instruction peut utilisé plus qu’un mode d’adressage)
Direct : - L’adresse de la donnée est fournie de façon immédiate (Direct)
ou la donnée est fournie par un registre (Register Direct)
- L’adresse de la donnée est lue en même temps que l’instruction et
la donnée est lue lors de l’exécution
- Code d’instruction long :
Op code (16 bits) + adresse (32 bits)
ex. :
ADD R3,$00FA
Indirect : - L’adresse de la donnée se trouve à l’adresse fournie de façon
immédiate (Indirect) ou dans un registre d’adresse (Register Indirect)
- L’adresse de la donnée est lue en même temps que l’instruction et
la donnée est lue lors de l’exécution
- Code d’instruction long :
Op code (16 bits) + adresse (32 bits)
ex. :
MUL D3,($00B4) ou MUL D7,(A3)
Systèmes ordinés en temps réel
ELE542
Cours 04
Cours no 4
24
12
Architecture des processeurs et systèmes en temps réel
Plusieurs éléments sont à considérer lorsque l'on
doit comparer plusieurs choix possibles de
processeur :
— Le pipeline
— Structure des instructions : CISC – RISC
• Processeur spécialisé - DSP
— Type d'opérations arithmétiques
— La mémoire cache
Cours no 4
Systèmes ordinés en temps réel
25
Architecture avec pipeline
—Objectif : Accélérer le traitement
• Diviser les instructions en plusieurs étapes ou phases
• Exécuter plusieurs instructions en même temps
Exemple :
Instruction 1
Instruction 2
Instruction 3
lecture
décodage
exécution
lecture
décodage
exécution
lecture
décodage
— Questions pour le traitement en temps réel :
• le pipeline doit être vidé lorsqu’il y a branchement (Æ interruption)
• Le temps d’exécution est difficile à prédire
Systèmes ordinés en temps réel
ELE542
Cours 04
Cours no 4
26
13
RISC VS CISC
Caractéristique
RISC
CISC
Reduced Instruction Set Computer Complex Instruction Set Computer
Simple
Complexe
(JMP, LOAD, STORE, ADD)
(MUL, DIV, SQRT, MATMUL)
Mode d’adressage
Nombre restreint
Nombreux & complexes
Nombre d’instructions
< 100
> 250
Programme exécutable
Plus long
Plus court
Temps de décodage
Rapide
Plus long
Macro-instructions
Temps d’exécution
Rapide & constant
Lent & plus variable
(meilleur pour pipeline)
Mise sur un bon compilateur
mais optimisation plus facile
Exemples
DEC ALPHA, PowerPC, SUN
PENTIUM, 68332, VAX
Systèmes ordinés en temps réel
Cours no 4
27
Processeur spécialisé
— Processeur pour le traitement numérique des signaux
• (DSP ou Digital Signal Processor)
— Il possède un jeu d’instructions orienté vers une tâche
spécifique; donc, il sera le meilleur dans son champ
d’expertise, mais inférieur ailleurs.
• Exemple : Instructions spéciales pour les filtres numériques et les
FFT Æ « Multiplication et addition » pour le calcul de
sommes de la forme
— Forces :
∑a x
i i
= a1 x1 + a2 x2 + " + an − 1 xn − 1 + an xn
• Instructions puissantes
• Communications rapides
Systèmes ordinés en temps réel
ELE542
Cours 04
Cours no 4
28
14
Technologie en évolution
Processeur RAW en développement à MIT
Cours no 4
Systèmes ordinés en temps réel
29
Type d’opérations mathématiques
— Les processeurs manipulent des nombres binaires; les jeux
d’instructions possèdent donc toujours des opérations sur
les nombres entiers.
• Processeur avec arithmétique entière
• En ingénierie, il y a beaucoup 1234
ALU
Entier
de calculs en valeurs réelles
5678
Notations :
Mantisse
Exposant
0.12345
1234
10-4
x
2.346
2346
10-3 (généralement, en base 2)
— Pour les processeurs avec arithmétique entière, les opérations «point
flottant» sont plus longues parce qu’elles demandent plusieurs
manipulations.
Systèmes ordinés en temps réel
ELE542
Cours 04
Cours no 4
30
15
Type d’opérations mathématiques (suite)
— Solution : Processeurs à arithmétique réelle
• Ajouter les éléments matériels au processeur pour réaliser un
ALU effectuant directement les opérations réelles
• 2 sortes : point fixe ou point flottant
• Les processeurs à point fixe peuvent effectuer des calculs à
points flottants avec 2 opérations (1 pour la mantisse, 1 pour
l’exposant)
— Les processeurs «entiers» sont moins complexes que ceux en
« point flottant »; donc, pour le même prix, le processeur «entier»
aura une cadence d’exécution plus rapide
— L’utilisation d’un processeur «point flottant» se justifie lorsque le
traitement à faire contient beaucoup d’opérations «point flottant»
Systèmes ordinés en temps réel
Cours no 4
31
Type d’opérations mathématiques (suite)
Coprocesseur point flottant
— Un processeur spécialisé (exemple Æ 80387)
— Permet d’étendre le répertoire des instructions mais ne
permet pas le traitement en parallèle
— Fonctionnement :
• Processeur transfère les données (registres)
• Processeur lance le coprocesseur et se met en attente (« idle »)
• Processeur reçoit les résultats
— Nouvelle technologie : coprocesseur à base de FPGA
— Questions pour le traitement en temps réel :
• Peut-on interrompre le coprocesseur ?
• Plus de registres à sauvegarder lors d’un changement de
contexte ?
Systèmes ordinés en temps réel
ELE542
Cours 04
Cours no 4
32
16
Accès mémoire et mémoire cache
Temps d’accès
— Le temps d’accès aux instructions et aux données est
un facteur déterminant dans la performance d’un
processeur
— Principe de localité : lors de 2 accès successifs, les
données/instructions cibles sont «proches» l’une de
l’autre
Unité de temps
— Pyramide des E/S :
rapide
lent
Registres
1
Cache 1er niveau
10
Cache 2ième niveau
100
Mémoire RAM
1000
Disque dur
10000
Systèmes ordinés en temps réel
arbitraire
Cours no 4
33
Mémoire cache
Avantages
- Accès très rapide.
- Contient une copie d’une
partie des instructions du
programme.
- Contient une copie des
données les plus
fréquemment utilisées.
- Réduit le temps d’accès
moyen dans la mémoire.
Désavantages
- Les « fautes de cache » coûte très cher en
temps d’exécution (L1 : environ 10 cycles,
L2 : environ 200 cycles).
- Problème de cohérence lors d’accès DMA
par un périphérique.
Systèmes ordinés en temps réel
ELE542
Cours 04
Cours no 4
34
17
Les mémoires
—2 grandes catégories :
• RAM
˜Mémoire vive
˜Random Acces Memory, accès lecture/écriture
˜Volatile : semi-conducteur
˜Non volatile : magnétique
• ROM
˜Mémoire morte
˜Read Only Memory, lecture seulement (pour accès rapide)
˜Écriture lente, programmation 1 ou plusieurs fois
Cours no 4
Systèmes ordinés en temps réel
35
Mémoires RAM
— Magnétique
— Principe : électroaimant
— t accès: lent (10us)
— P consommé : Ï
— Densité : Ð
— $$ : Ï
— Insensible à l’électrostatique et aux
particules chargées
dans l’espace
— Application militaire
et spatiale
— Statique
(SRAM)
—
—
—
—
—
—
Principe : bascule 4 xtors
t accès : rapide (10ns)
P consommé : Ð
Densité : moyenne
$$ : Ï
Utilisée comme mémoire
cache
— Principe : 1 xtors +
1 condensateur
— t accès : moyen (50ns)
— P consommé : moyen
— Densité : Ï
— $$ : Ð
— Nécessite un cycle de
rafraîchissement pour le condo
— RDRAM
— SDRAM
— Transfert à haut
débit (Ï 800 Mhz)
— Bus de 16 bits DDR
— Synchronous Dynamic
RAM
— t accès : rapide (10ns)
— $$ : Ï
— $$ : Ï
Systèmes ordinés en temps réel
ELE542
— Dynamique (DRAM)
Cours 04
Cours no 4
36
18
Mémoires ROM
— PROM
— UVPROM
— EEPROM
— Principe : fusible
— t accès : rapide (50ns)
— P consommé :
Moyenne
— $$ : Ð
— Reprogrammable :
Non
— Principe : charge entre
2 niveaux isolants
(condensateur)
— t accès : rapide (50ns)
— P consommé : moyenne
— $$ : Ï
— Reprogrammable : oui
en exposant à la lumière
UV
—
—
—
—
—
Principe : idem à UVPROM
t accès : + lent que UVPROM
P consommé : Ï
$$ : Ï
Reprogrammable : oui sur
signal de commande
électrique
— FLASH MEMORY
— Principe : idem à UVPROM
— t accès : ultra-rapide (20ns)
— $$ : Ï Ï Ï Ï.
Systèmes ordinés en temps réel
Cours no 4
37
Caractéristiques des entrées/sorties
— Concernant le processeur, il y a 3 méthodes pour le
transfert de données :
1. Canal programmé d'E/S (I/O mapped)
2. Canal programmé projeté dans l'espace mémoire
(Memory mapped)
3. Accès direct à la mémoire
˜ DMA ou "Direct memory access"
Systèmes ordinés en temps réel
ELE542
Cours 04
Cours no 4
38
19
Canal programmé d'entrée/sortie
— Le jeu d'instructions contient des instructions spéciales
pour les E/S
• Exemple : INTEL
Instruction IN et OUT en ASM
Fonctions inportb() et outportb en C
— Avantages :
• Pas besoin de circuits spéciaux ou de câblage pour la redirection des accès mémoire
• Plage mémoire entièrement utilisable pour les accès mémoire
— Désavantages :
• Instructions spéciales Æ plus d'instructions
• Mode d'adressage plus limité
• Code spécifique au matériel
Cours no 4
Systèmes ordinés en temps réel
39
Canal d'E/S projeté en mémoire
— Certaines adresses mémoire correspondent à des unités d'E/S
• Pour le processeur, les accès E/S = accès mémoire
• Exemple : MOTOROLA (68332)
Processeur
Décodeur
d'adresses
Mémoire
E/S
E/S
— Avantages :
• Programmation plus facile
— Désavantages :
• Circuits spéciaux pour les accès mémoire
• Utilise une partie de la plage mémoire
• Peut nécessiter des "états d'attente" (wait state) pour
synchroniser l'accès (accès en mode synchrone)
Systèmes ordinés en temps réel
ELE542
Cours 04
Cours no 4
40
20
Accès direct en mémoire (DMA)
— Communication entre la mémoire et les périphériques sans
intervention du processeur
• Sans accés DMA, les données de périphériques transit par le
processeur avant d’arriver dans la mémoire
• Transfert par bloc très rapide
• Contrôleur DMA gère les accès au bus et les transferts
Processeur
Mémoire
BUS GRANT
Contrôleur
DMA
TRANSFERT
DMARQ
DMACK
Systèmes ordinés en temps réel
E/S
Cours no 4
41
Accès direct en mémoire (suite)
— Avantages :
• Permet les transferts sans intervention du CPU
Æ Amélioration de la performance, surtout pour le
transfert de grandes quantités d'information
— Désavantages :
• Circuits spéciaux sont nécessaires
• "Vol de cycles" au processeur
ÆProcesseur en attente du BUS
Systèmes ordinés en temps réel
ELE542
Cours 04
Cours no 4
42
21
Entrées/Sorties numériques
Entées/sorties parallèles :
Port B Port A
- Sur un PC, on a le port parallèle qui sert habituellement
pour communiquer avec une imprimante.
- Les µcontrôlleurs ont habituellement plusieurs ports parallèles
Port C Port D
MCU
MUX
Port d’expansion
MEM
Port d’entrées/sorties tout usage
- Taille 8 bits, bidirectionnel
- Configurable, multi-usage
Port d’expansion du système
- Permet d’augmenter le système
(ajouter de la mémoire, …)
Systèmes ordinés en temps réel
Cours no 4
43
Entrées/Sorties numériques
Entées/sorties sérielles :
- Sur un PC, le port série (UART) qui servait pour communiquer
avec la souris ou certaines imprimantes série.
- Les µcontrôlleurs ont habituellement un port série synchrone et
un port série asynchrone de type UART.
MCU
A/D A/D D/A D/A
- Synchrone : pour communication à courte distance.
- Asynchrone : pour communication à longue disctance.
Systèmes ordinés en temps réel
ELE542
Cours 04
Cours no 4
44
22
Périphériques analogiques
—2 types de périphériques analogiques :
• ADC : Analog to Digital Converter
• DAC : Digital to Analog Converter
—Taux d ’échantillonnage :
• Théorème de Nyquist :
fech ≥ fmax
Systèmes ordinés en temps réel
Cours no 4
45
Cours no 4
46
Convertisseurs
— Convertisseurs les plus fréquents :
— Double rampe
• lent (33ms); immunité au bruit; 12-16 bits
— Approximation successive
•
•
•
•
rapide (30-50us)
bruyant
$$ Ð
8-12 bits
— Convertisseur Flash
• très rapide (1us)
• $$ Ï
• 6-8 bits
Systèmes ordinés en temps réel
ELE542
Cours 04
23
Convertisseur A - D
—Double rampe
• lent (33ms); immunité au bruit; 12-16 bits
Systèmes ordinés en temps réel
Cours no 4
47
Cours no 4
48
Convertisseur A - D
—Approximation successive
•
•
•
•
rapide (30-50us)
bruyant
$$ Ð
8-12 bits
Systèmes ordinés en temps réel
ELE542
Cours 04
24
Convertisseur A - D
—Flash Converter
• très rapide (1us)
• $$ Ï
• 6-8 bits
Systèmes ordinés en temps réel
Cours no 4
49
Cours no 4
50
Convertisseur D - A
—1 type de convertisseur :
• réseau R-2R
• Rapide, économique
Systèmes ordinés en temps réel
ELE542
Cours 04
25
Chien de garde du système (Watchdog)
- Le Watchdog Timer sert à surveiller le système en s’assurant
que les tâches critiques se terminent dans un temps spécifié.
- S’assure que le système ne reste pas bloqué (Deadlock).
CPU
Watchdog
INT
RESET
CLK
- Initialisé avec un compte de départ.
- Doit être réinitialisé avant que le compte arrive à zéro, sinon
le Watchdog génère une interruption.
- L’interruption a pour but de redémarrer le système.
Systèmes ordinés en temps réel
Cours no 4
51
Sélection et comparaison de microcontrôleurs
— Périphériques
• Gestion des entrées/sorties
• Internes Æ plus rapides (mais généralement moins complets)
• Externes – reliés au traitement des IRQ et des entrées/sorties
— Architecture
•
•
•
•
Nombre d’ALU
Structure interne – Registres, bus, pipeline
Gestion des accès mémoire – Registre, Cache, ROM/RAM
Traitement des interruptions
— Jeu d’instructions
• Nombre d’instructions disponibles et capacité
• Horloge interne– Nombre de cycles/instructions
• Mode d’adressage et performance
— Caractéristiques physiques
Systèmes ordinés en temps réel
ELE542
Cours 04
Cours no 4
52
26
Téléchargement