Cours Architecture SoC & Interfaçage (1ère Partie) 4ème Année Ingénieur Informa
Cours Architecture SoC & Interfaçage (1ère Partie) 4ème Année Ingénieur Informatique Option : Ingénierie IoT Professeur Samir BEN AHMED Faculté des Sciences de Tunis Laboratoire LIPSIC-FST Année universitaire 2020-2021 1 1. Introduction aux Systèmes Embarqués et Systèmes sur puce 2. Architecture des Processeurs Embarqués : Les Processeurs ARM et Cortex • Processeurs embarqués • Evolution des Processeurs ARM • ARM7TDMI : Architecture et langage d’assembleur • Le Cœur Cortex M3 3. Les Microcontrôleurs • Introduction aux Microcontrôleurs • Concepts généraux • Les Microcontrôleurs STM32 - La famille STM32 - Entrées Sorties GPIO du STM32 - ST Firmware Library : Présentation et application à la programmation du GPIO - Gestion des interruptions par le NVIC - Le Convertisseur Analogique-Numérique - Le DMA : Direct Memory Access - Les Timers - L’USART 2 Plan du cours 1ère Partie 2ème Partie Références bibliographiques • David Patterson et John Hennessy « Computer Architecture, A Quantitative Approach » 4ème édition – Morgan Kaufman • William Stallings « Computer Organization and Architecture » - 5ème édition – Prentice-Hall • Cours : Introduction aux architectures des microprocesseurs (ELEC223) - TELECOM – Paris-Tech • Cours : Architecture des Ordinateurs (INF559) - Olivier TEMAN - Ecole Polytechnique –ParisTech 2012 • Jacques Jorda « Processeurs ARM : Architecture et langage d’assemblage » Edition : DUNOD • Joseph Yiu « The Definitive Guide to the ARM CORTEX – M3 » Amazone.fr • Daniel W. Lewis « Fundamentals of Embedded Software with the ARM Cortex-M3 » Amazon.fr • Michael Keating & Pierre Bricaud « Reuse Methodology Manual for System-On-a-Chips Designs » Kluwer academic publishers 3 1. Définition d’un système embarqué 2. Grands domaines d’application 3. Définition – SoC 4. Définition MPSoC 5. Notion d’IP (Intellectual Property) 6. Spécificité des Systèmes Embarqués 4 Chapitre 1: Introduction aux systèmes embarqués et systèmes sur puce ■Définition d’un Système Embarqué 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. Le système matériel et l’application sont intimement liés et noyés dans le matériel et ne sont pas aussi facilement discernables comme dans un environnement de travail classique de type PC. 5 Introduction aux Systèmes Embarqués et Systèmes sur puce ■Définition : Systèmes Embarqués (suite) Les systèmes embarqués peuvent être vus comme des ordinateurs enfouis dans les équipements électroniques du quotidien (téléphones, voitures, avions, satellites, engins industriels). Ils sont souvent développés pour une application particulière et sont soumis à des contraintes fortes : faible consommation, capacité mémoire réduite, temps-réel, communication, etc. 6 Introduction aux Systèmes Embarqués et Systèmes sur puce ■Grands domaines d’application Télécommunications • Disponibilité, qualité de service • Dissipation de chaleur, … Electronique grand public • Coût déterminants • Consommation d’énergie • Evolution rapide, … Transports • Sécurité, Fiabilité (certification) • Temps réel Médical Militaire 7 Introduction aux Systèmes Embarqués et Systèmes sur puce Telecomm Consumer automotive Medical/Office Industrial/Milit. $ Billions 0 5 25 15 20 10 AAGR% 0 5 25 15 20 10 World Embeded Systems Revenue 2004 2009 AAGR% AAGR = taux de croissance annuel moyen 8 Introduction aux Systèmes Embarqués et Systèmes sur puce ■Définition – SoC Un System on Chip, abrégé en SoC (« système sur puce » ou « système mono-puce » en français), est un système complet embarqué sur une puce, pouvant comprendre de la mémoire, un ou plusieurs microprocesseurs, des périphériques d'interface, ou tout autre composant nécessaire à la réalisation de la fonction attendue. 9 Introduction aux Systèmes Embarqués et Systèmes sur puce ■ Evolution vers l’intégration 10 Introduction aux Systèmes Embarqués et Systèmes sur puce ■Une architecture de SoC 11 Introduction aux Systèmes Embarqués et Systèmes sur puce OMAP 1510 12 Introduction aux Systèmes Embarqués et Systèmes sur puce 13 Introduction aux Systèmes Embarqués et Systèmes sur puce Omap ■ Conception de SoC 14 Introduction aux Systèmes Embarqués et Systèmes sur puce ■Réalisation d’un SoC • Réutiliser les blocs déjà conçus dans la société ; • Utiliser les générateurs de macro-cellules (Ram, multiplieurs,…) • Acheter des blocs conçus hors de l’entreprise. 15 Introduction aux Systèmes Embarqués et Systèmes sur puce ■Principes de conception • 70-80 : full-custom – Schéma – Dessin des masques – Simulation electronique • 80-90 : Précaractérisé FPGA – Réutilisation de briques élémentaires – Modélisation, simulation • 00-xx : SoC – Réutlisation du matériel et logiciel – Co-design, vérification 16 Introduction aux Systèmes Embarqués et Systèmes sur puce ■Principes de conception • Une architecture matérielle – Blocs standards (CPU, mem) – Blocs spécifiques – Bus de communication • Des ressources logicielles • SoC = cohabitation de ces ressources sur un même chip, prise en compte globale pour la réalisation hard/soft 17 Introduction aux Systèmes Embarqués et Systèmes sur puce ■Définition d’un MPSoC The multiprocessor System-on-Chip (MPSoC) is a system-on- chip (SoC) which uses multiple processors, usually targeted for embedded applications. It is used by platforms that contain multiple, usually heterogeneous, processing elements with specific functionalities reflecting the need of the expected application domain, a memory hierarchy and I/O components. All these components are linked to each other by an on-chip interconnect. These architectures meet the performance needs of multimedia applications, telecommunication architectures, network security and other application domains while limiting the power consumption through the use of specialized processing elements and architecture 18 Introduction aux Systèmes Embarqués et Systèmes sur puce ■Notion d’IP (Intellectual Property) • Blocs fonctionnels complexes réutilisables – Hard: déjà implanté, dépendant de la technologies, fortement optimisé – Soft: dans un langage de haut niveau (VHDL, Verilog, C++…), paramétrables • Normalisation des interfaces ( OCP) • Environnement de développement (co-design, co-specif, co-verif) • Performances moyennes (peu optimisé) 19 Introduction aux Systèmes Embarqués et Systèmes sur puce ■Utilisation d’IP • Bloc réutilisable (IP) – connaître les fonctionnalités – estimer les performances dans un système – être sûr du bon fonctionnement de l’IP – intégrer cet IP dans le système – valider le système 20 Introduction aux Systèmes Embarqués et Systèmes sur puce ■Caractéristiques des systèmes embarqués Souvent dédiés à des tâches spécifiques Généralement soumis à Des contraintes temps réel (le système d’exploitation peut être temps réel) Des contraintes liées à la consommation d’énergie, dissipation de chaleur, … Les ressources peuvent être plus restreintes que dans un système fixe (Ex : mémoire) 21 Introduction aux Systèmes Embarqués et Systèmes sur puce ■Caractéristiques des systèmes embarqués Le code est généralement stocké en ROM Peuvent être amenés à fonctionner dans des conditions extrêmes (température, humidité, …) Les aspects sécurités, fiabilité, tolérance aux fautes , … sont souvent cruciaux Des méthodes de conception et de validation spécifiques doivent leur être associées 22 Introduction aux Systèmes Embarqués et Systèmes sur puce 1. Introduction aux Processeurs embarqués 2. Evolution des architectures des cœurs ARM 3. Processeur ARM7TDMI : Architecture et langage assembleur 4. Architecture Cortex-M3 23 Chapitre 3 : Architecture des Processeurs ARM et Cortex • Un microcontrôleur ou MCU (Microcontroller Circuit Unit) est un système informatique entier : (CPU ou Central Processing Unit, mémoire, bus contrôleur d’interruption, interfaces parallèles et séries, Timers, Convertisseurs A/N et N/A) contenu intégralement dans un circuit intégré unique • Le CPU d’un microcontrôleur est généralement moins complexe que celui d’un système informatique ordinaire (microordinateur), à consommation électrique plus faible (qq miliwatt en fonctionnement et de l’ordre du microwatt en veille) et également moins performant : il supporte également une centaine d’instruction et fonctionne à des fréquences relativement basse variant de quelques dizaines de MHz à quelques centaines. Ceci permet de limiter la consommation en énergie du circuit • Ces circuits à prix réduits à grandes quantités (moins de 1$ pour 10000 pièces) sont d’une grande utilités pour les applications embarquées 24 Introduction aux Processeurs Embarqués • Même si les c 8 bits se sont imposés longtemps ; l’étendue des domaines d’application des c, le besoin croissant en capacité de traitement et en comportement temps réel ont incité les concepteurs à proposé des processeurs 16 bits et particulièrement 32 bits beaucoup plus performants • Les ventes des c 32 bits ont énormément progressé lors de la dernière décennie et sont passé de moins de 1% en 2000 à 30% en 2006 pour atteindre les 38% en 2009 et on prévoit que cette croissance continuera durant les prochaines années 25 Figure 1 : Evolution des ventes des c 8, 16 et 32 bits Introduction aux Processeurs Embarqués • La majorité des fabricants de c optent pour l’intégration de CPU préconçu, sous forme d’IP « Intellectual Property », dans leurs circuits et lui ajoutent les mémoires et les entrées/sorties nécessaires pour les applications ciblées • Parmi les CPU (IP) les plus utilisés dans les c 32 bits, on trouve les cœurs de la société ARM (Advanced Risc Machine), qui grâce à son cœur Cortex s’est imposé comme le leaders des fournisseurs de cœurs 32 bits pour les applications embarqués (75% du marché 32 bits) 26 Introduction aux Processeurs Embarqués 1. Introduction aux Processeurs embarqués 2. Evolution des architectures des cœurs ARM Extensions technologiques des cœurs ARM : Jazelle, Thumb, uploads/Ingenierie_Lourd/ cours-p1.pdf
Documents similaires










-
33
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jan 13, 2021
- Catégorie Heavy Engineering/...
- Langue French
- Taille du fichier 3.7923MB