Vous êtes sur la page 1sur 69

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 = 4.294.967.296 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?
1.Lire: aller chercher la prochaine instruction

2.Décode: décode l’instruction (détermine ce qu’il y a à faire)

3.Exé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

Vous aimerez peut-être aussi