Title: Introduction l'informatique embarqu Une vue partielle
1Introduction à l'informatique embarqué- Une vue
partielle -
2Introduction
- Les systèmes embarqués/enfouis sont dune très
grande diversité - Attributs distinctifs
- Réactif à des événements externes
- Temps réel
- La technologie évolue rapidement
- Augmentation de performances
- Multiplication des solutions
- Complexité des systèmes en forte croissance
- Stresse la conception et la vérification
- Mais les coûts doivent être limités
3Définition
- Difficile à définir précisément nimporte quel
système qui nest pas un PC/station de
travail/serveur - Calculateurs dédiés à quelques applications/foncti
ons enfouis dans un appareil - Généralement pas de clavier ni daffichage
- Remplace fréquemment des dispositifs analogiques,
électromécaniques
4Temps Réel
- Temps réel strict
- Les échéances doivent être strictement
- Applications critiques
- Temps réel mou
- Les échéances peuvent parfois être abandonnées ou
on peut fournir une réponse dégradée - Applications multimédia
5Systèmes enfouis versus systèmes généralistes
- Compatibilité binaire non essentiel
- Compromis matériel/logiciel
- Recherche dun compromis dans un large univers de
solutions
Source M. Auguin
6Un domaine contraint par les coûts
- De nombreuses contraintes
- Faibles marges
- Temps de mise sur le marché court
- Conception, performance
- Développement
- Vérification, validation,
- Surface de silicium
- Taille des mémoires (codes, données)
- Consommation électrique, poids,
- Spécialisation pour un meilleur rapport qualité
prix - Mais réutilisation réduite
- Hétérogène
source Vahid/Givargis
7Un exemple de structureAppareil photo numérique
Logiciel
Matériel
8Quelques tendances
- Matériel
- de matériel programmable
- Logiciel
- Volume des logiciels croît rapidement
- Co-design / modèles
- de méthodes formelles
9Matériel
10Productivité
1981
1985
1989
1993
1997
2001
2005
2009
1983
1987
1991
1995
1999
2003
2007
11Evolution du volume des logiciels
Tendance Générale
12Développement des applications
- A base de modèles
- Co-design, preuve formelle,
- Plutôt réservé aux systèmes critiques
- Mise en uvre directement en assembleur
- Maîtrise des coûts (en apparence)
- SSI / pays à faible coût de main doeuvre
- Pas de nouvelles compétences nécessaires
- Langage de haut niveau (surtout C)
- Développement dun compilateur
- Pérennité
- Impact potentiellement important sur les coûts
13Assembleur versus code compilé
14Co-design / modèles
- Partitionnement
- Génération du matériel et du logiciel
- Génération des communications
source M. Auguin
15Une grande variété de composants de calculs -1
- ASIC -Application Specific Integrate Circuit
- Fonction complète ou coprocesseur
- ASIP -Application Specific Instruction-set
Processor - Processeur spécialisé pour quelques applications
- Jeu dinstructions et architecture adaptée à
lapplication - Meilleurs rapports MIPS/mW et MIPS/mm2 que RISC
et DSP - Mais coût de développement du compilateur
- ASSP -Application Specific Standard Product
- Composant qui réalise une fonction spécifique
- DSP, VLIW
- Processeurs dédiés au traitement de signal,
application multimédia
16Une grande variété de composants de calculs -2
- Microcontroleurs
- RISC/ Superscalaires
- ARM, PowerPC, Sparc,
- FPGA -Field Programmable Gate Array
- Reconfigurable
- Accélérateur de calculs (coprocesseur)
- System on a Chips, Systèmes multiprocesseurs
- Ensemble dunités interconnectées sur une même
puce
17RISC / Superscalaires
- Processeur généraliste 8-16-32 bits
Processeur RISC XScale - ARM/Intel
18Digital Signal Processing
- Organisation Harvard adaptée au traitement de
signal
Générationdadresseefficace etspécialisée
Source O. Sentieys
19VLIW (Very-Long-Instruction-Word)
- Parallélisme géré par le compilateur
- Contrôle simple mais compilateur complexe
- Microarchitecture simple et performante
- Mais taille de code importante
- Généralement clusterisé (1 cluster banc de
registres unités fonctionnelles) - Réduction de la complexité des chemins de données
1 cluster ST200
source ST
20System on a Chip
- Système complet mis en uvre sur la même puce
- SoC pour les télécoms un microprocesseur, un
DSP, RAM, ROM, - Utilisation du parallélisme
- Accroissement des performances, maîtrise de la
complexité et de la consommation
21SoC Multiprocesseurs
22Quelques exemplesde systèmes enfouis
- Lecture par télémétrie de compteur
- Set-top-box, TV
- Routage réseaux
- Console de jeux
23Mesure de compteur deau par télémétrie
- Fonctionnel pendant 12 à 20 ans sur une batterie
- Processeur très basse consommation
- TI MPS MSP430x (ultra basse consommation mode
actif 280 microA à 1 MHz, 2.2V, en attente 1.6
microA). - Mémoire très limitée (256 ou 512 octets de RAM)
24Automobile
- Une Mercedes classe S 65 processeurs
- 27-30 du coût dun véhicule, soriente vers 40
du coûts (2020) source PSA - Logiciels dans un véhicule
- 1980 1k, 2000 2Mo,
- même tendance que laéronautique
- Multiples systèmes communiquant par des réseaux
Source numatec automotive
25TV / Set top box
- Exemple du Philips Nexperia
- Intégration dASIC et CPU VLIW/RISC
26Routage (Intel - iapx 2400)
- Adapté à la mise eu uvre de routeur de type
TCP/IP - Processeur Risc
- 16 Micro-engines
- I/O Half Duplex OC-192 / 10Gbps, 2 x 16 bit
LVDS Transmit x Receive (SPI-4, CSIX-L2), 500Mhz - Mémoire RDRAM (400Mhz), QDRSRAM (200Mhz),
Scratchpad - 25 watts (1.4 Ghz)
27 Console de jeux
- Sony PlayStation 3 à base de processeur Cell,
3.2 GHz, 234 Mtransistor, graphique RSX (Nvidia
GeForce based design) - Un processeur maître
- 8 processeurs spécialisés (SIMD - 128 bit)
source IBM
28Quelques exemples de problématiques
- Instructions spécialisées
- Compilateur - optimisation de code
- Analyse de temps dexécution
- Consommation électrique
- Simulation
29Instructions spécialisées
Opérations multimédia Arithmétique saturée
int sadd(int a, int b) int result result
ab if (((ab) 0x80000000) 0) if
((resulta) 0x80000000) result (alt0)?
0x800000000x7fffffff return result
result _sadd(a,b)
30Consommation électrique
- Techniques VLSI mais aussi architecturales et
logicielles pour diminuer la consommation - Contrôle de la fréquence et du voltage
- Performances prédictibles?
- Puissant facteur de lévolution de la technologies
31Analyse de temps dexécution
- Déterminer le temps maximum dexécution des
programmes - Dimensionnement et vérification du système
- Prendre en compte les éléments dynamiques
- Chemin dans les programmes
- Comportement de larchitecture
- Modèle darchitecture?
32Compilateur -optimisation de code
- Nécessaire avec laugmentation de la taille des
logiciels enfouis - Utilisé en avance de phase pour la validation et
le dimensionnement - Déterminer les temps dexécution
- Mais doit
- Produite un code très compact et très optimisé
- Être mis en uvre rapidement (reciblable)
33Simulation
- Nécessaire à la validation et au dimensionnement
des systèmes - Simulation à partir RTL, VHDL,
- Lente mais précise
- Simulation compilée un code compilé imite le
comportement du code sur le processeur - simulation rapide
- éventuellement imprécise temporellement
- Ad-hoc
- Rapide (parfois) mais coûteuse à produire
- Exemple Simics/Virtutech système complet
34Et aussi
- Profiling, analyse dexécution
- Systèmes dexploitation temps réel
- Programmation FPGA
- Technologies objet, Java
- Sécurité, tests,
- Réseau
- Parallélisation de code, threads
- Technologie sans fil
- Bus, périphériques, mémoire,
35Conclusion
- Les systèmes enfouis intègrent de multiples
dimensions - La conception requiert lintégration de très
nombreuses technologies - Recherche de compromis complexe
- Une convergence entre le calcul haute performance
et les systèmes multimedia