Partie 2: Les Processeurs/Microcontroleurs
Fatima Lakrami
Département de Physique
Systèmes embarqués
Systèmes Embarqués 1 Insaf Tnazefti
Fatima
Fatima LAKRAMI
LAKRAMI Kerkeni
Classification
Systèmes Embarqués 2 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Les processeurs
Systèmes Embarqués 3 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Apparition des microprocesseurs
Résultat de l'évolution de l'industrie électronique et des circuits
intégrés L S I (Large Scale Intégration) ou VLSI (Very Large Scale
Intégration).
Aujourd’hui :
Des centaines de milliers de transistors sur une "puce" de silicium de qq mm2.
Le circuit intégré sur la puce devient dédié à une application particulière.
Production en très grandes séries et coût très faible .
Systèmes Embarqués 4 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Le microprocesseur devient universel !
il peut exécuter une grande variété de fonctions
il est programmable et les instructions peuvent être modifiées à volonté.
son domaine d'application est pratiquement illimité
On peut le coupler, via des interfaces d'entrée et de sortie, à une grande variété d'organes
extérieurs.
Systèmes Embarqués 5 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Utilisation du microprocesseur
µP
Un µ-processeur se trouve souvent au cœur d’un µ-ordinateur
Le microprocesseur exécute un programme écrit dans un langage de
programmation :
Assembleur ( langage machine)
Langage évolué ( C , Basic , Java … )
Un programme est une suite d’instructions qui se trouve en mémoire
Une instruction est une opération simple
Opération de lecture ou écriture en mémoire
Opération logique ( ET, OU, décalage …)
Opération arithmétique ( Addition, soustraction … )
Systèmes Embarqués 6 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Architecture du µP
Bus
Entrées
Sorties
Stockage • Exécution du programme • Communication :
• du programme •Gestion du système
• des données Microprocesseur périphériques
• Adaptation électrique
Systèmes Embarqués 7 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Architecture du µP
Systèmes Embarqués 8 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Fonctionnement
Systèmes Embarqués 9 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Caractéristiques du µP
Format des données Taille de l ’espace adressable
= Nombre de bits du bus de données = Nombre de bits du bus d ’adresses
•8bits
•16bits •16 bits = 65.536 adresses
•32bits •32 bits = [Link] adresses
•64bits
La puissance de traitement
S’exprime en MIPS
(Millions d’Instructions Par
Seconde)
Le jeu d ’instructions
•Etendu (CISC)
• Réduit (RISC)
Systèmes Embarqués 10 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
CICS vs RISC
CISC : Complex Instruction Set Computer
- Beaucoup d'instructions et de modes d'adressage (instructions et modes complexes)
- Nombre de cycles / instruction très variable et peut être très grand
Ces processeurs ont étés fait pour :
- Programmes de taille réduite (chaque instruction fait plus)
- Plus facile à programmer en assembleur
RISC : Reduced Instruction Set Computer
- Relativement peu d'instructions, peu de modes d'adressage (instructions et modes simples)
- Instructions de taille fixe (un mot par instruction).
- Achitecture Load-and-Store : les opérations se font entre les registres et il y a des opérations de
copie entre la mémoire et les registres.
- Beaucoup de registres, généraux.
- On veut un cycle par instruction. Donc la mémoire doit être aussi vite que le processeur (ce qui
rend nécessaire l'utilisation d'une mémoire cache)
les circuits tels que les x86, 68hc11 sont des circuits CISC, les microprocesseurs
de mac, les pic, les processeurs alpha sont du type RISC.
Systèmes Embarqués 11 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
CISC/RISC : exemple
add r4, 10 (r5, r6) r4 = r4 + mem[r5+r6+10]
3 additions
add r7, r5, r6 r7 = r5 + r6
load r7, 10 (r7) r7 = mem[r7+10]
Équivalent RISC: add r4, r4, r7 r4 = r4 + r7
Systèmes Embarqués 12 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Von Neumann Vs Harvard
Architecture de Von Neumann
La caractéristique de cette architecture est qu'elle ne possède qu'un système de bus.
Un microprocesseur basé sur une structure Von Neumann stocke les programmes et
les données dans la même zone mémoire.
Systèmes Embarqués 13 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Von Neumann Vs Harvard
Von Newman
Les x86, 68HC11, ont une architecture Von Neumann
Systèmes Embarqués 14 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Von Neumann Vs HARVARD
Architecture de Harvard
mémoire séparée
•permet une exécution plus rapide des instructions.
•Il n'y a aucun risque que le processeur écrire des données dans la mémoire programme et
corrompe le programme.
Systèmes Embarqués 15 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Les processeurs
Architecture de Harvard
Les Pic ont une architecture Harvard.
Systèmes Embarqués 16 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Fonctionnement du processeur
Systèmes Embarqués 17 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Améliorer performances processeurs
La puissance de traitement recouvre deux grandes notions :
le temps de traitement et le débit de traitement.
Le premier terme est le temps nécessaire pour l’exécution d’un traitement.
Le second représente le nombre de traitements exécutables par unité de temps
Réduire le temps de traitement est plus difficile qu’augmenter le débit de traitement.
Dans le premier cas, il s’agit de lutter contre le temps qui, en dernier ressort, est fixé
par les possibilités technologiques.
Alors que, dans le deuxième cas, si plusieurs traitements sont indépendants,
l’augmentation du nombre de ressources suffit pour exécuter plus de traitements en
même temps.
Systèmes Embarqués 18 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Architecture parallèle
Architecture parallèle: permet l’exécution de deux tâches différentes (ou plus!) simultanément.
La taxinomie de Flint classifie les architectures parallèles:
SISD, “Single Instruction Single Data”: ne traite qu’une seule donnée par instruction.
exemple: vieil ordinateur avec un microprocesseur unique.
SIMD, “Single Instruction Multiple Data”: une instruction est exécutée sur plusieurs données. On retrouve dans
cette catégorie les microprocesseurs vectoriels ou matriciels qui traitent effectuent un calcul, en parallèle, sur
tous les éléments d’un vecteur ou d’une matrice.
Exemple: traitement de signal et cartes graphiques.
MISD, “Multiple Instruction Single Data”: les instructions sont exécutées plusieurs fois sur une donnée unique.
Ce genre de système est quasiment inexistant.
Exemple: applications très spécialisées comme l’aérospatial où l’on peut effectuer plusieurs calculs sur la même donnée
afin d’assurer la redondance.
MIMD, “Multiple Instruction Multiple Data”: plusieurs processeurs traitent, en parallèle, plusieurs données. Il
s’agit du cas le plus commun.
Exemple: votre ordinateur personnel.
Systèmes Embarqués 19 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Cycle d’instructions
Que fait le microprocesseur?
[Link]: aller chercher la prochaine instruction
2.Décode: décode l’instruction (détermine ce qu’il y a à faire)
[Link]écute: exécuter l’instruction
2. DÉCODE
Décoder l’instruction
1. LIRE (FETCH)
3. EXÉCUTE
Aller chercher la prochaine
Exécuter l’instruction
instruction
Systèmes Embarqués 20 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Améliorer la performance ?
Ca dépend du point de vue
Débit d’exécution: faire plus de travail utile pendant un temps
donné
serveurs
environnement multiprogrammé
Temps d’exécution : faire un travail donné dans un temps plus
court
point de vue de l’utilisateur
Rem: diminuer le temps d’exécution augmente le débit
Systèmes Embarqués 21 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
ILP vs TLP
L’exploitation du ILP (Instruction Level Parallelism) est l’exécution en
parallèle des instructions d’un thread unique.
pipelines
pipelines superscalaires
L’exploitation du TLP (Thread Level Parallelism) est l’exécution en
parallèle des instructions de processus ou threads différents.
multithreading
Habituellement, les instructions d’un thread unique sont exécutées par
un unique processeur.
Systèmes Embarqués 22 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Confusion?
Thread?
Programme?
Processus?
Instruction?
Systèmes Embarqués 23 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Process vs Thread
Processus :
– Un processus représente un programme en cours d’exécution.
– Un processus possède un espace mémoire privé, indépendant de celui des autres processus.
– Parce qu’ils ne partagent aucun espace mémoire commun, deux processus qui veulent collaborer
doivent le faire en utilisant un mécanisme d’échange de messages — par exemple, pour des processus
Unix, en utilisant des pipes.
– Le contexte d’un processus est lourd : code, registres (dont SP, FP et IP1), pile, tas2, fichiers, vecteur
d’interruptions, etc. Créer et activer un processus — ainsi qu’effectuer un changement de contexte — est
donc (très!) coûteux!
Systèmes Embarqués 24 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Process Vs Thread
Thread :
– Un thread représente (généralement) une fonction (une méthode) en cours d’exécution
– Un processus peut contenir un ou plusieurs threads. Ces threads partagent alors la
mémoire (e.g., code, tas) ainsi que diverses autres ressources.
– Parce qu’ils partagent un même espace mémoire, deux threads qui veulent collaborer
peuvent le faire par l’intermédiaire de variables partagées.
– Le contexte d’un thread est léger : registres (dont IP), pile. Créer et activer un thread — et
effectuer un changement de contexte — est donc moins coûteux que dans le cas d’un
processus!
Systèmes Embarqués 25 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Pipelines
Début des années 1990
Idée: séparer l’architecture en deux unités séparées, pouvant être exécutées simultanément
Comme dans un restaurant:
“Fetch-decode”: les serveurs vont prendre les commandes des clients aux tables
“Execute”: les cuisiniers préparent les repas
Systèmes Embarqués 26 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Progression — performance/# de cycles
Architectures
superscalaires
Début des pipelines
Plateau d’améliorations dues au
parallélisme d’instructions atteint
Systèmes Embarqués 27 Insaf et
Fatima
Source: Olukotun Tnazefti
al., 2007Kerkeni
LAKRAMI
Pipelines
Qu’est-ce qui limite le temps d’exécution?
L’étape la plus longue
(exécution, car il faut calculer et lire les opérandes, exécuter l’instruction, écrire le résultat…)
Solution?
Raccourcir l’étape la plus longue, soit diviser la pipeline en plusieurs étages.
Exemple:
Fetch (lecture) l’instruction
Decode l’instruction
Calcul des opérandes
Fetch (lecture) des opérandes
Exécute l’instruction
Écrire le résultat
Systèmes Embarqués 28 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Les processeurs
Systèmes Embarqués 29 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
EXEMPLE SANS PIPELINE
Systèmes Embarqués 30 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
EXEMPLE SANS PIPELINE
Systèmes Embarqués 31 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Systèmes Embarqués 32 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
ETAPES
Systèmes Embarqués 33 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
AVEC PIPELINE
Systèmes Embarqués 34 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
FORMULES
Systèmes Embarqués 35 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Multi-threading
Description: partage des ressources d’un processeur par plusieurs processus simultanément
Avantages: Permet de limiter les pertes de temps lorsqu’un thread est bloqué (lorsque l’instruction
désirée n’est pas dans la cache par exemple). Permet une utilisation plus optimale des unités
d’exécution. En moyenne, augmente habituellement les performances autour de 20%
Limites:
Il faut une copie du contexte de chaque processus: e.g. fichier des registres, PC
Il faut la capacité de changer de processus (thread switch) rapidement.
Il faut une copie de certaines ressources du microprocesseur (exemple: lecture simultanée d’instructions de
deux thread différents).
Il est possible de ne pouvoir exécuter aucun thread.
Systèmes Embarqués 36 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Accès non-uniforme à la mémoire (NUMA)
Limites:
Lorsque des caches sont utilisées afin de diminuer le nombre
d’accès à la mémoire (très souvent!), il faut gérer la cohérence des
données.
Il faut ajouter du matériel et/ou du logiciel pour assurer la
cohérence des données.
L’accès à la mémoire est plus complexe
Il faut un bus d’interconnexion pour relier les microprocesseurs
entre eux
Systèmes Embarqués 39 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Super-calculateur
Description:
Un ordinateur (super-ordinateur) comprenant des centaines ou des milliers de processeurs ou de
microprocesseurs autonomes et indépendants qui calculent en parallèle. Architecture intégrée, pouvant
souvent être vue comme un seul OS.
MPP: “Massively Parallel Processing”
Avantages:
Permet de mettre en parallèle les ressources de plusieurs ordinateurs souvent identiques afin de réduire le
temps nécessaire afin d’effectuer une tâche ou un calcul complexe.
Limites:
Le coût!!!
L’espace.
Les limites intrinsèques à l’exécution en parallèle d’instructions.
Topologie et interconnections des nœuds.
Gestion des erreurs.
Systèmes Embarqués 42 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Super-calculateur
960 noeuds de calcul. Chaque noeud
comprend:
deux processeurs Intel Xeon. Chaque
processeur comprend:
4 coeurs
8 Mo cache partagée par les 4 coeurs
Total:
7680 coeurs
24 To (téra-octet, soit 1,000 Go) mémoire
2 x 500 To (1 Po) de stockage
Puissance de calcul: 77 Tflops (opérations à
point flottant par seconde)
Systèmes Embarqués 43 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Grappe (“cluster”) d’ordinateurs
Description: Regroupement d’ordinateurs indépendant et hétérogènes partageant une application
afin d’accomplir une tâche.
Chaque processeur possède sa propre mémoire et son propre système d’exploitation. Les
processeurs s’échangent de l’information via un protocole de messages
Avantages:
Permet d’obtenir une puissance de calcul très grande à partir d’éléments désuets, disparates et/ou peu
dispendieux.
Limites:
Le coût!!!
L’espace.
Les limites intrinsèques à l’exécution en parallèle d’instructions.
Topologie et interconnections des nœuds.
Gestion des erreurs.
Systèmes Embarqués 44 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Les processeurs
Mémoires du Processeur
Systèmes Embarqués 46 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Les processeurs
La capacité, la vitesse et le coût des différents niveaux de mémoire varient
grandement. Par exemple, en voici une illustration utilisant des équipements de Mémoire cache
2013 (pour le processeur, un Intel Haswell Mobile a été utilisé) :
Registres de processeur : capacité = quelques milliers ; vitesse = un cycle du
processeur ;
Mémoire cache des microprocesseurs
Niveau 0 (L0) mémoire des microcodes : capacité = 6 Ko ;
Niveau 1 (L1) mémoire cache des instructions : capacité = 128 Ko ; vitesse
maximale = 700 Go/seconde ;
Niveau 1 (L1) mémoire cache de données : capacité = 128 Ko ; vitesse
maximale = 700 Go/seconde ;
Niveau 2 (L2) cache partagée (instructions et données) : capacité = 1 Mo ;
vitesse maximale = 200 Go/seconde;
Niveau 3 (L3) cache partagée (instructions et données) : capacité = 6 Mo ;
vitesse maximale 100 Go/seconde ;
Niveau 4 (L4) cache partagée (instructions et données) : capacité = 128 Mo ;
vitesse maximale = 40 Go/seconde ;
Mémoire RAM de type DRAM : capacité = quelques Go ; vitesse maximale =
10 Go/seconde ;
Disque dur : capacité = quelques To ; vitesse maximale pour un solid state
drive = 600 Mo/seconde
Systèmes Embarqués 47 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Les interfaces d ’entrée / sortie
Elles permettent d’assurer la communication entre le microprocesseur
et les périphériques.
(capteur, clavier, afficheur,imprimante, modem, etc.)
Il existe 2 types :
8 bits
disponibles
simultanément • Parallèle
Bus données 8 bits
Une seule
information à • Série
la fois
Systèmes Embarqués 48 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Interfaces série et parallèle
Systèmes Embarqués 49 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Les bus 1/2
Bus des Données (bidirectionnel)
Entrées
Sorties
Bus de commande
Bus d ’adresses (unidirectionnel µP -> autres boîtiers)
Systèmes Embarqués 50 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Les bus 2/2
Bus de données : Microprocesseur périphériques
Il est bidirectionnel, il assure le transfert des informations entre le
microprocesseur et son environnement, et inversement.
Le nombre de lignes représente la taille des mots de données du
microprocesseur.
Le bus d’adresses : Microprocesseur périphériques
Unidirectionnel, il permet la sélection des informations à traiter dans
un espace mémoire (ou espace adressable) qui peut avoir 2n emplacements, avec n =
nombre de conducteurs du bus d'adresses.
Le bus de commande (ou bus de contrôle)
Il est constitué de quelques conducteurs qui assurent la
synchronisation des flux d'information sur les bus de données et d’ adresses.
Systèmes Embarqués 51 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Les processeurs
Quelques Questions/réponses?
Un microprocesseur?
est un processeur dont tous les composants ont été suffisamment
miniaturisés pour être regroupés dans un unique boitier.
Systèmes Embarqués 52 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Les processeurs
µc?
Les microcontrôleurs améliorent l'intégration et le
coût (lié à la conception et à la réalisation) d'un
système à base de microprocesseur en rassemblant
ces éléments essentiels dans un seul circuit intégré.
Un microcontrôleur est donc un composant
autonome, capable d'exécuter le programme
contenu dans sa mémoire morte dès qu'il est mis
sous tension. Selon les modèles et les conditions de
fonctionnement, les microcontrôleurs peuvent avoir
besoin de quelques composants externes (quartz,
Architecture du microcontrôleur PIC 18F4455
quelques condensateurs, parfois une ROM), mais
ceci reste très limité.
Systèmes Embarqués 53 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
MICROCONTRÔLEURS
Systèmes Embarqués 54 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
POURQUOI LE µP?
Diminution de l’encombrement du matériel et du circuit imprimé
Simplification du tracé du circuit imprimé (plus besoin de tracer de bus
!)
Augmentation de la fiabilité du système
nombre de composants diminue
connexions composants/supportsb et composant circuit imprimé diminue
Intégration en technologie MOS, CMOS, ou HCMOS
diminution de la consommation
Le microcontrôleur contribue à réduire les coûts à plusieurs niveaux:
moins cher que les composants qu’il remplace
Diminution des coûts de main d’œuvre (conception et montage)
-Environnement de programmation et de simulation évolués
Systèmes Embarqués 55 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Du µProcesseur au µContrôleur
Entrées
Sorties
Lorsque l’ensemble est regroupé dans un seul
boîtier …… :
Microprocesseur + mémoires + ports + ...
Entrées
intégrés dans le même boîtier
Sorties
Microcontrôleur
Systèmes Embarqués 56 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Avant : On regroupait sur une carte plusieurs circuits ayant
chacun une fonction spécialisée
Les mémoires
vives Les interfaces
d’entrées/Sorties
Le µP
Les mémoires
mortes
Avantages :
Aujourd’hui : Toutes ces -Souplesse
fonctions sont regroupées dans -Intégration de fonctions plus
un seul et unique circuit -> Le importante
microcontrôleur µc
-Coût réduit
-Taille très réduite
Systèmes Embarqués 57 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Aujourd’hui, on trouve des microcontrôleurs dans la plus part des objets que
nous utilisons
Systèmes Embarqués 58 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Schéma de base d’un µcontrôleur
Mémoire vive Mémoire morte
RAM EEPROM
Bus de données
Microprocesseur Bus d’adresses
Bus de commande
Interfaces Interfaces
Horloge
Systèmes Embarqués 59 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Les
microcontrôleurs
PIC
(Famille MicroChip)
Systèmes Embarqués 60 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Historique du microcontrôleur PIC
1. PIC (Peripheral Interface Controller) = microcontrôleur de marque Microchip. Sous copy
right.
2. En 1989, Microchip Technology. Corp. introduit son 1er PIC 8-bit : 100Ko ROM pour le
programme, une petite RAM pour les données , qq pins IO, 1 Timer.
3. Microchip devient le premier fabricant de µ-contrôleur 8-bit au monde.
4. Plusieurs variétés de PIC 8-bit ont été introduites : PIC10xxx, PIC12xxx, PIC14xxx,
PIC16xxx, PIC17xxx, et PIC18xxx.
5. Les PIC ne sont pas compatibles entre eux : des programmes écrits pour PIC12xxx ayant un
jeu d’instructions à12-bit, ne peuvent être exécutés avec le PIC18xxx ayant des
instructions 16-bit. Il faut re-compiler le programme et au besoin changer la location de
certains registres avant de le charger vers le PIC18xxx.
Systèmes Embarqués 61 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Les différentes familles de PICs
Selon le format des données : 8 bits, 16 bits, 32 bits…..
Systèmes Embarqués 62 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Les familles de PICs-8 bits
3 familles de PICs-8 bits :
•Base-Line : utilise des mots d’instruction de 12 bits (12C508)
•Mid-Line : utilise des mots d’instruction de 14 bits (16F84 et 16F876)
•High-End : utilise des mots d’instruction de 16 bits.
3 circuits
très utilisés
dans la famille
Mid-Range.
Systèmes Embarqués 63 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Identification
Fréquence maximale (MHz)
Famille 10, 12, 16, PIC16 F 877 – 20
17 ou 18
Type de mémoire et alimentation Référence
F : Flash 4,5 à 6 V Ou
C : EERPOM et EPROM 4,5 à 6 V Type
CR : ROM 4,5 à 6 V
LF : Flash 2 à 6 V
LC : EEPROM ou EPROM 2 à 6 V
LCR : ROM 2 à 6 V
L : Peut fonctionner avec une tension plus tolérante (par
exemple 3V).
C : Mémoire programme est une EPROM ou EEPROM
CR : Mémoire de type ROM
F : Mémoire de type flash
Systèmes Embarqués 64 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Exemple : PIC16F84
- 1 Ko mots de ROM,
- 68 octets de RAM,
- 64 octets d’ EEPROM,
- 13 entrées sorties,
- 10 MHz,
- un timer,
- 4 sources d’interruption
Systèmes Embarqués 65 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Tableau comparatif
Systèmes Embarqués 66 Insaf Tnazefti
Fatima
Fatima LAKRAMI
LAKRAMI Kerkeni
Conception d’un système embarqué
La conception d'un système embarqué basé sur un microcontrôleur se fait se
fait en 3 étapes distinctes :
(1) Développement matériel : Spécification des caractéristiques du
microcontrôleur, de ses périphériques et de l'électronique associée.
(2) Développement logiciel : Etablissement d’un algorigramme, Choix du
langage (assembleur et/ou évolué) sur la base du meilleur temps de
développement et une facilité de maintenance, etc.
(3) Phase de test : pour vérifier que le cahier des charges initial est bien rempli.
Systèmes Embarqués 67 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Conception d’un système embarqué
Systèmes Embarqués 68 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Développement logiciel
Modes d ’adressage
Le microcontrôleur exécute le
programme chargé dans sa
mémoire FLASH. Les mots
binaires sont de 14 bits.
Mais programmer en binaire ou
en hexadécimal est impossible.
On utilise des langages comme
l’assembleur ou le C.
Systèmes Embarqués 69 Sommaire
Insaf
Fatima
Fatima Tnazefti
LAKRAMI
LAKRAMI Kerkeni
Langages de programmation
Modes d ’adressage
L’assembleur est un langage bas
niveau lié au type de
microcontrôleur.
Le C est un langage de haut
niveau et permet d’être portable
sur n’importe quel
microcontrôleur.
Systèmes Embarqués 70 Sommaire
Insaf
Fatima
Fatima Tnazefti
LAKRAMI
LAKRAMI Kerkeni
Développement logiciel
La construction d'un code machine
exécutable s'appuie sur plusieurs fichiers(1)
: Les fichiers sources : écrits dans un
(fichiers sources, librairies) langage assembleur et/ou évolué pour que
le système effectue les tâches requises.
(2) Le compilateur et/ou l'assembleur :
Pour convertir les instructions des sources
en langage machine.
(3) L'éditeur de lien : Pour construire un
exécutable à partir des objets issus des
sources et des librairies pré-existantes.
Systèmes Embarqués 71 Insaf Tnazefti
Fatima LAKRAMI Kerkeni
Approche globale de la programmation
Picstart
Ou Chaîne de traitement des instructions
icprog
transférer compiler assembler convertir TUBED
T IN I
TSET
EERTNE
E ITROS
E ITROS
N IF
Approche
Code Langage Editeur Conceptuelle
Assembleur (Description
P hexadécimal C graphique Du
Fonctionnement)
I
C Chaîne des codes
FLOWCODE
Systèmes Embarqués 72 Insaf Tnazefti
Fatima
Fatima LAKRAMI
LAKRAMI Kerkeni
Les DSP
Le DSP est un microprocesseur optimisé, pour exécuter des
applications de traitement numériques du signal (filtrage, extraction
de signaux, etc) le plus rapidement possible.
Les DSP sont utilisés dans la plupart des applications du traitement
numérique du signal en temps réel.
On les trouve dans les Modems (RTC, ADSL), les télephones mobiles,
les appareils multimédia (lecteur MP3), les récepteurs GPS, Etc…
Systèmes Embarqués 73 Insaf Tnazefti
Fatima
Fatima LAKRAMI
LAKRAMI Kerkeni
A RETENIR!
Logique câblée
☺ très rapide, fonctions réalisées par une voie matérielle
non programmable, peu économique quand l’application est complexe
peu de souplesse : durée d’étude prohibitif et circuit difficilement modifiable
Réseaux de logique programmables (PAL, LCA,..)
☺ rapide, adapté au traitement de signaux complexes
prix élevé et langage de programmation non standard
Les μprocesseurs
☺ grande souplesse : fonctions sont réalisées par voie logicielle
puissance de calcul, langage évolué
nombre important de composant à réunir, solution onéreuse
A retenir
si la fonction à réaliser est simple ⇒ une logique câblée
si le nombre d'unités à réaliser est très important ⇒ circuits intégrés dédié en logique câblée
pour les fonctions simples
Systèmes Embarqués 74 Insaf Tnazefti
Fatima
Fatima LAKRAMI
LAKRAMI Kerkeni