Vous êtes sur la page 1sur 81

École Nationale des Sciences de l’Informatique

Chapitre 1

Introduction

Module : Introduction aux systèmes embarqués


Niveau : II2 – Tronc commun

AU : 2016/2017
Plan du cours

 Définition et généralités

 Conception des systèmes embarqués

 Conception logicielle(SW design)

 Conception matérielle(HW design)

 Conception mixte(HW/SW co-design)

2
Pourquoi on s’intéresse au SE?

«Les systèmes embarqués nous entourent et nous envahissent »

3
Exemple d’application des SE

4
Qu’est ce qu’un système embarqué ?

Définitions:
Un système embarqué (ou enfoui) est un système électronique
intégré dans un système ( voiture, avion, …) qui sert à exécuter
une tâche particulière ( contrôle, communication, …).

Un système embarqué peut être défini comme un système


électronique et informatique autonome ne possédant pas des
entrées/sorties standards comme un clavier ou un écran
d'ordinateur.

5
Qu’est ce qu’un système embarqué ?

 Un système embarqué :
 Est un système numérique.
 Utilise généralement un processeur.
 Exécute généralement un logiciel dédié pour réaliser une
fonctionnalité précise.
 N'a pas réellement de clavier standard (clavier matriciel...).
 L'affichage est limité (écran LCD …) ou n'existe pas du tout.
 N'est pas un PC.

6
Cartes de commande pour climatiseur

7
Caractéristiques et organisation

8
Plan du cours

 Définition et généralités

 Conception des systèmes embarqués

 SW design

 HW design

 HW/SW co-design

9
Contraintes de conception des systèmes
embarqués
Performance: puissance de calcul MIPS (Million
d’Instructions Par Seconde) ➔ temps d’exécution
Surface et encombrement: GSM…
Consommation énergétique: lié à l’autonomie des
batteries (PDA, téléphone mobile…)
Sûreté: aucun dommage (automobile, avionique…)
Coût et temps de développement: faible coût

10
Contraintes de conception des systèmes
embarqués : TTM

11
Contraintes de conception des systèmes
embarqués
Un système embarqué doit répondre à des
contraintes temps réel:
Contrainte de temps réel: dure ou souple.
Une contrainte temps réel est appelé dure si le non respect
de cette contrainte peut mener à des situations critiques
voir catastrophiques
Les autres contraintes sont appelées soft

Un système temps réel qui produit une bonne réponse


mais trop tard est défaillant.
12
Contraintes

Sureté de fonctionnement

Poids du système
embarqué
Durée de vie

Standard

Volume de production

13
Evolution des systèmes embarqués
1. Evolution technologique:
La miniaturisation des transistors a permis d’augmenter
considérablement la capacité d’intégration dans les systèmes
embarqués :
7,2 109 transistors par cm2 est envisagée pour 2020

2. Evolution applicative:
Des applications plus complexes avec un nombre important
et varié de fonctionnalités:
→ Les téléphones portables intègrent de plus en plus de
fonctionnalités et ils ont des tailles toujours réduites et sont
alimentés par batteries.

14
Evolution technologique/Conception

Le processus
technologique
autorise un L'efficacité des
accroissement de concepteurs
la complexité de n'augmente
59% par an → que de 25%
Loi de MOORE par an

15
Conception des systèmes embarqués
Spécification d’une
Contraintes de
application conception/réalisation
(cahier des charges)
Flot et Surface
Outils de conception Consommation
Sureté de fonctionnement
TTM
Réalisation de Prix
…….
l’application

Cible logiciel Cible matériel


Ex : DSP, µP Ex : FPGA, ASIC
Cible mixte
Ex : SoC
16
Exemple: algorithme de compression
vidéo :

Plus rapide par hardware mais plus cher.

Cible matériel
Ex : FPGA, ASIC

Plus flexible par logiciel mais plus lent.

Cible logiciel
Ex : DSP, µP

17
Exemple : FFT

 Résolution purement logicielle

18
Exemple : FFT

 Résolution purement matérielle

19
Exemple : FFT

 Résolution mixte

20
Différents types de conception des
systèmes embarqués
 SW design (conception logicielle) (systèmes embarqués nécessitant
une conception logicielle)
 Les processeurs généralistes
 Les DSPs
 Les Microcontrôleurs

 HW design (conception materielle)


 Les ASICs : Application Specific Integrate (circuit intégré propre à
une application)
 Les FPGAs : Field Programmable Gate Array

 HW/SW co-design (conception mixte)


 Les SOCs(système sur puce) : L’intégration de plusieurs unités sur
une même puce

21
Plan du cours

 Définition et généralités

 Conception des systèmes embarqués

 SW design

 HW design

 HW/SW co-design

22
Conception logicielle(SW design)

Pour la conception logicielle on utilise des systèmes de


traitement programmé de l’information (cibles
programmables), c’est-à-dire qu’on peut modifier
l’application dédiée juste en modifiant le code, à travers :
Les processeurs généralistes (GPP : General Purpose Processor)
Les DSP (Digital Signal Processing)
Les Microcontrôleurs

23
Processeurs Généralistes
 Processeurs a usage général.
 Choix des processeurs embarqués
 Coûts
 Consommation
 Performance
 etc.
 Exemple :
 Famille ARM
 Famille MIPS
 Famille PowerPC
 Différentes architectures de systèmes à base de µP
 Architecture de Von Neumann
 Architecture de Harvard

24
Architecture de Von Neumann

25
Architecture de Von Neumann

 Mémoire de donnée et mémoire de programmes


partagée
 L’exécution d’une instruction peut se faire sur plusieurs
cycles processeur :
 Recherche de l’instruction (Instruction fetch)
 Recherche de l’opérande 1 (data 1 fetch)
 Recherche de l’opérande 2 (data 2 fetch)
…
 Performances de calcul limitées

26
Architecture de Harvard

Bus d’Adresse Mémoire Données


Bus d’Adresse Mémoire Programme

Bus de Données Mémoire Programme

Bus de Données Mémoire Données


27
Architecture de Harvard

 Séparation entre la mémoire de donnée et la mémoire de


programme
 Chaque mémoire comporte ses bus propres à elle
 Recherche de l’instruction et de la donnée en 1 cycle
d’horloge
 Le CPU (core) comporte un chemin de donnée plus
organisé
 Puissance de calcul meilleure

28
Architecture de Harvard

Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8 Cycle 9

R-type Ifetch Reg/Dec Exec Mem Wr

R-type Ifetch Reg/Dec Exec Mem Wr

Load Ifetch Reg/Dec Exec Mem Wr

R-type Ifetch Reg/Dec Exec Mem Wr

R-type Ifetch Reg/Dec Exec Mem Wr

29
Architecture de Harvard modifiée

30
Caractéristiques générales des
microprocesseurs
 Performances
 Temps d’exécution par tâche = I x C x T
• I : nombre d’instructions par tâche
• C : nombre de cycles d’horloge par instructions
• T : temps d’un cycle d’horloge (dépend de la technologie et de l’efficacité
de l’ALU)

 Types des architectures des processeurs :


 CISC (Complex Instruction Set Computer) : I faible, C grand
 RISC (Reduce Instruction Set Computer) : I élevé, C faible
 VLIW (Very Large Instruction Word) : I réduit car macro-
instruction RISC, C faible

31
Les architectures CISC

 Ancienne Architecture des processeurs


 Architecture présentant un jeu d’instructions complexe
 Plusieurs opérations peuvent être codés par une même
instruction
 Plusieurs modes d’adressage
 Nécessite moins de mémoire par rapport à une
architecture RISC
 Exemple :
 Motorola 680x0 ,
 S/360 d’IBM,
 Intel Pentium

32
Les architectures RISC
 Architecture présentant un jeu d’instructions relativement réduit
 Une seule opération /instruction
 Taille fixe pour les instructions
 Modes d’adressage simples
 Ont permis une augmentation de la fréquence
 Présente un nombre important de registres généraux
 Les seules instructions ayant besoin d’accès à la mémoire sont les
instruction de chargement et de rangement
 Exemple :
 PowerPC
 ARM
 SPARC
 MIPS

33
Les architectures VLIW

 Very Long Instruction Word


 Processeur à mot d’instruction très long (> 128 bits)
 Une instruction = {plusieurs instructions indépendantes}
 Les compilateurs génèrent un code en fonction des
ressources disponibles
 Exemple :
 TriMedia de Philips
 Crusoe de Transmeta
 Itanium d’Intel

34
Digital Signal Processing (DSP)
 Processeurs dédiés et optimisés pour le traitement numérique
du signal (filtrage, extraction de signaux, etc.).

35
Digital Signal Processing (DSP)
Un DSP « Digital Signal Processor », qu'on pourrait
traduire par « processeur de signal numérique ») .

Un DSP est un processeur dont l’architecture est


optimisée pour effectuer des calculs complexes en un cycle
d'horloge.

La fonction principale utilisée dans le DSP est la fonction


multiply-accumulate (MAC), c'est-à-dire une multiplication
suivie d'une addition et d'un stockage du résultat (calculs de
filtrage).
36
Architecture d’un filtre numérique FIR

- 37 -
Architecture d’un filtre numérique FIR

- 38 -
Digital Signal Processing (DSP)

Caractéristiques
Architecture RISC complexe, superscalaire(plusieurs unités de
traitements. Le processeur détecte lui-même les instructions
pouvant être exécutées en parallèle, contrairement au VLIW.),
pipeline
Architecture Harvard et Super Harvard .
Des instructions adaptées aux opérations classiques de
traitement de signaux : multiplication & accumulation en un
seul cycle d'instruction (MAC)
transferts de données par DMA (Direct Access Memory) pour
la plupart des DSP.
Exemple : Texas Instrument C6x

39
Digital Signal Processing (DSP)

Avantages
Spécialisés traitement du signal
Peuvent mélanger calcul flottant et virgule fixe
Intègrent plusieurs périphériques entrées/sorties
Inconvénients
Coûts élevés
Consommation d’énergie élevée

40
Les Microcontrôleurs
Un circuit intégré rassemblant dans un même boîtier un
microprocesseur, plusieurs types de mémoires et des périphériques
(Entrées-Sorties).

41
Les Microcontrôleurs

Caractéristiques
Architecture simple, jeux d’instructions réduit
Basé sur des architectures de processeurs connus
Exemple : 68HC11, PIC de Microchip, STM32 de ST
Avantages
Très économique : pas besoin d’acheter des périphériques
Spécialisés
Simple d’utilisation
Inconvénients
Pas temps réel
Peu performant

42
Conception logicielle

Avantages
Flexibilité : il suffit de modifier le programme pour
modifier l’application
Simple à mettre en œuvre : grâce à la programmation
de haut niveau (langage C) (possibilité de grande
abstraction par rapport au matériel)
Temps et coût de conception faibles
Prix de reviens faible

43
Conception logicielle

Inconvénients
Faibles performance : temps d’exécution élevé
Consommation électrique importante
Le passage par un compilateur peut dégrader les
performances
Complexité du langage machine et de l’assembleur

44
Plan du cours

 Définition et généralités

 Conception des systèmes embarqués

 SW design

 HW design

 HW/SW co-design

45
Conception matérielle(HW design)

Pour la conception matérielle on utilise des systèmes


de traitement câblés de l’information. des cibles
dédiées et conçues pour des tâches bien déterminées et
dont les traitements ne peuvent pas être modifiés
(circuits intégrés).

46
Conception matérielle(HW design)

Deux familles de CI:


Les circuits fixes
ASICs : Application Specific Integrate Circuit
(circuit intégré propre à une application)
Les circuits configurables
Composants standards configurable électriquement:
Une seule fois (fusibles, antifusible)
Ou plusieurs fois : re-programmables (reconfiguration)

47
Technologie de base des CI : les
transistors
Les circuits intégrés (CI ou chips): représentent la
réalisation courante de tout système informatique
Un CI = un ensemble de transistors + connections
MOS: Metal Oxcyde Semiconductor
NMOS: NChannel MOS
PMOS: PChannel MOS

48
Technologie de base : les transistors
NMOS PMOS
Drain Drain

Grille pmos
Gate
Source Source

Grille=1 Grille=0 Grille=1 Grille=0

Si Grille ==1, alors Drain et Source connectées Si Grille ==1, alors Drain et Source connectées
Si Grille ==1, alors Drain et Source connectées Si Grille ==1, alors Drain et Source connectées

49
Technologie de base : les transistors
CMOS : Complementary MOS (circuit comportant des PMOS et des NMOS)

VDD ‘1’ VDD ‘1’ VDD ‘1’

p
p p
A A=1 A=0 1
0
Y = !A
n
n n

GND GND GND


Masse ‘0’ Masse ‘0’ Masse ‘0’

50
Exercice

De quel type de porte s’agit-il ?

51
Solution de l’exercice

Une porte NAND en technologie CMOS

Z = NAND(x,y)

x y z
0 0 1
0 1 1
1 0 1
1 1 0

52
Solution de l’exercice

Une porte NOR en technologie CMOS

z= NOR(x,y)

x y z
0 0 1
0 1 0
1 0 0
1 1 0

53
Les circuits intégrés

Les circuits
intégrés

SEMI-CUSTOM
CUSTOM :
: circuits
ASIC
configurables

Circuits sur Circuits pré-


mesure : Full caractérisés : PLA CPLD FPGA
custom Standard Cell

Circuits fixes (ASIC) Circuits configurables

 ASIC : Application Specific Integrated Circuit


 PLA: Programmable Logic Array
 CPLD : Complex Programmable Logic Device
 FPGA : Field Programmable Gate Array
54
ASIC Full Custom

ASIC : CI intégré ou le nombre de transistors et


les connections ont été optimisés pour une
application. coût et délai élevé. Le but est
d’optimiser le nombre de transistor, leurs types,
leurs placement dans le CI, ..etc.

Exemple d’ASIC Full custom :


les microP, les DSP, CoDec MP4,
Jpeg2000, etc.
ASIC Full Custom

Le concepteur place à la main les transistors

Approche « full custom »


Conception au niveau transistor
Permet des circuits mixtes analogique/numérique
Effort de conception très important
Surface réduite, performance très importantes

56
Standard Cells
ASIC Standard Cell

Approche « standard cell»


Utilise des librairies de cellules primitives
(cellules standard ).
Exp:Portes AND, OR, registres, multiplexeur,
SRAM, microprocesseurs etc.
Effort de conception réduit, performances
souvent proches du full-custom

58
Les ASICs
 AVANTAGES
 hautes intégrations
 hautes performances (vitesse, low-power)
 coûts faibles pour de gros volumes de
production
 Personnalisation

 INCONVENIENTS
 prix du 1er exemplaire
 pas d’erreur possible
 non-flexible
 time-to-market élevé
 fabrication réservée aux spécialistes
(fondeur)

59
L’aspect financier dans un SE

Exemple de microP.

« Emotion Engine » processeur Toshiba pour la PS2,


13,5 Mtransistors en 0.25 microns, 200 ingénieur sur 4
ans = 800 hommes ans

IA64-ITANIUM : processeur VLIW intel,


25MTransistors, 0.1 microns, 4500 hommes ans
Les circuits intégrés

Les circuits
intégrés

SEMI-CUSTOM
CUSTOM :
: circuits
ASIC
configurables

Circuits sur Circuits pré-


mesure : Full caractérisés : PLA CPLD FPGA
custom Standard Cell

Circuits fixes (ASIC) Circuits configurables


 ASIC : Application Specific Integrated Circuit
 PLA: Programmable Logic Array
 CPLD : Complex Programmable Logic Device
 FPGA : Field Programmable Gate Array
61
PLD : Programmable Logic Device

 Matrice de « ET »
programmables réalisant
tous les produits
possibles connectée aux
sorties par des
« OU » programmables
 Grande surface de
Silicium utilisée
 Ces circuits ne sont plus
utilisés aujourd’hui
62
PLA : exemple

 La configuration du
circuit assurant les
fonctions suivantes :

63
CPLD : Complex Programmable Logic
Device
Les CPLDs regroupent
plusieurs PLAs
interconnectés par un PLA PLA

réseau de connexions
programmables.
E/S MATRICE D’INTERCONNECTIONS E/S

Ces circuits ne sont plus


utilisés aujourd’hui car
remplacés par les PLA PLA

FPGAs.

64
FPGA : Field Programmable Gate Arrays
Arrangement Matriciel de
blocs logiques avec
configuration des :
Interconnexions entre les
blocs logiques,
La fonction de chaque bloc
CLB: Configurable Logic Bloc
IOB: Input/Output Bloc

65
FPGA vs ASIC

ASIC
Caractéristiques FPGA
Semi custom Full custom
Densité Faible Moyenne Grande
Flexibilité Grande Moyenne Faible
Analogique Non Oui Oui
Rapidité Faible Bonne Très bonne
Temps de conception Très petit Moyen Grand
Coût de conception Très petit Moyen Très grand
Utilisation des outils Simple Complexe Très complexe
Volume de production Petit Grand Grand

66
Conclusion

 Le choix entre FPGA ou ASIC, se fait en fonction du


cahier des charges de l’application :

 Temps de mise sur le marché et durée de vie courte ➔ FPGA

 Très petit nombre de circuits ➔ FPGA

 Optimisation des performances ➔ ASIC

 Grande série ➔ ASIC

67
Plan du cours

 Définition et généralités

 Conception des systèmes embarqués

 SW design

 HW design

 HW/SW co-design

68
Conception mixte : Les Systèmes sur
puce (System on Chip)

Système complet mis en œuvre sur la même puce


Exemple : circuit de
décodage vidéo de ST
(STi7200)
150 millions de transistors
4 DSP
36 Softs IPset 2 Hard Ips

69 15/02/2021
Conception mixte :Avantage

Utilisation du parallélisme
Accroissement des performances.
maîtrise de la complexité et de la consommation

70 15/02/2021
Exemple : Appareil photos numérique

Cible Logiciel Cible Matériel

Digital camera chip


CCD

CCD preprocessor Pixel coprocessor D2A


A2D

lens

JPEG codec Microcontroller Multiplier/Accum

DMA controller Display ctrl

Memory controller ISA bus interface UART LCD ctrl

71
Conception modulaire : Notions d’IP
(Intellectual Properties)

 IP: Unité logique qui est propriété intellectuelle


d’une compagnie…
 Ces blocs permettent un gain en coût et en temps
de conception. Au lieu de concevoir tous les
composants, on peut se servir de qlq IP mais tout
en s’assurant de leurs intégrité avec nos propre
composants.

72 15/02/2021
Conception modulaire : Notions d’IP
(IntellectualProperties)
Blocs fonctionnels complexes réutilisables
Hard: disponible sous forme de dessin des masques de
fabrication de la puce, dépendant de la technologie, fortement
optimisé et non modifiable.
Soft: Sous forme de Netlist ou dans un langage de description
matérielle (VHDL, Verilog..), paramétrables, synthétisable
Normalisation des interfaces
Environnement de développement (co-design, co-specif, co-verif)
Performances moyennes (peu optimisé)

73
Circuit Intégrés ?
Exemples d’IPs

75
Approches d’implémentation physique
d’un SoC
 ASIC
Assemblages de composants
Processeurs +composants
matériels dans un circuit

 FPGA
L’utilisation d’un FPGA. On
parle alors d’un Système
programmable sur puce
SoPC
76
Les Cibles mixtes: System on
programmble chip (SOPC)
Systèmes totalement intégrés dans un FPGA
Les fonctionnalités peuvent être implantées dans des composants
logiques programmables de type FPGA.

FPGA

77
Processeur Hard/soft :
hardcore/softcore
Les processeurs intégrés dans un FPGA peuvent être soit:
Hardcore: Déjà implanté dans le circuit électronique du
FPGA.
Softcore: Le processeur est réalisé par les éléments
logiques du FPGA.

78
Les processeurs pour le SOPC

Le choix d'un processeur pour le SoPC peut se


faire sur différents critères :
Processeur hardcore : pour ses performances au
détriment de la flexibilité.
Processeur softcore : pour sa flexibilité de mise à jour
au détriment de performances moindres que le
précédent. La portabilité vers n'importe quel circuit
FPGA est assurée si le processeur est décrit en HDL.
Il est aussi possible de migrer vers un circuit de type
ASIC en cas d'une production en grande série.

79 15/02/2021
Approche Xilinx
1. Hardcore : Power PC (XilinxVIRTEX II PRO (XC2VP):

• une matrice configurable


◦1 500 000 de portes
◦ De 216 Kbits à 8 Mbits de mémoires
• De 204 à 1164 I/Os
•1, 2 (ou 4) cœurs de processeur PowerPC
405 (32 Bits) à 400MHz (hard)
◦16 Koctets de cache instructions
◦16 K octets de cache données

2. softcore
MicroBlaze, picoblaze

80
Approche Altera : processeur soft Le
‘NIOS’
 NIOS : cœur de processeur
RISC générique optimisé
 Caractéristiques:
 données sur 16 ou 32 bits.
 128, 256 ou 512 registres
 registres à décalage rapide ( 1, 3,
7, 15 ou 31 bits/clock)
 possibilités de lui adjoindre des
périphériques (UART, RAM,
ROM)

81

Vous aimerez peut-être aussi