Architecture des ordinateurs (PDF) 2024-2025
Document Details
Université Ibn Zohr (UIZ) d'Agadir
2024
TC : IA
Aimad KARKOUCH
Tags
Summary
This document provides an introduction to computer architecture. It covers fundamental concepts and potential questions within the topic, as well as the objectives for the course. The document is a course material from the 2024-2025 academic year, likely for an undergraduate level.
Full Transcript
Architecture des ordinateurs Introduction TC : IA Faculté des Sciences Appliquées Ait Melloul Université Ibn Zohr (UIZ) d'Agadir 2024-2025 Aimad KARKOUCH...
Architecture des ordinateurs Introduction TC : IA Faculté des Sciences Appliquées Ait Melloul Université Ibn Zohr (UIZ) d'Agadir 2024-2025 Aimad KARKOUCH TC-IA 1 Architecture des ordinateurs Objectifs du module Définir c’est quoi un ordinateur et ses différentes architectures Se familiariser avec les différents composants d’un ordinateur et leurs fonctionnement Présenter des notions sur les instructions d’un ordinateur Identifier les différences entre un microordinateur, un microprocesseur, un microcontrôleur et un SoC Programmer un microcontrôleur (ATMEL AVR): – Avec un langage de haut niveau – En manipulant directement les registres – En assembleur FSA-UIZ TC-IA 2 Architecture des ordinateurs Plan du chapitre Introduction Définir c’est quoi un ordinateur Evolution des ordinateurs: Des modèles abstraits aux machines électroniques Architecture de Von Neumann Vs Architecture de Harvard Différence entre microprocesseur, microcontrôleur et SoC FSA-UIZ TC-IA 5 Architecture des ordinateurs Introduction L’informatique est devenue une science qui opère sur des descriptions rigoureuses de concepts abstraits. Architecture Systèmes Sécurité d’exploitation Informatique Réseaux BD AI Algorithme Complexité Calculabilité Décidabilité FSA-UIZ TC-IA 6 Architecture des ordinateurs Introduction L’architecture de l’ordinateur est le domaine qui s’intéresse aux différents composants internes des machines, en explicitant leur construction et leurs interactions. Un ordinateur est un outil complexe qui peut effectuer des tâches variées et dont les performances globales dépendent des spécifications de tous ses éléments. Comprendre son architecture permet de savoir dans quelle mesure les caractéristiques propres à chaque composant influencent la réactivité de la machine en fonction de son usage : ▪ pourquoi ajouter de la mémoire accélère-t-il l’ordinateur ? ▪ Pourquoi le temps d’accès d’un disque dur n’est-il qu’un des paramètres permettant de mesurer son efficacité ? ▪ Comment les processeurs font-ils pour aller toujours plus vite ? FSA-UIZ TC-IA 7 Architecture des ordinateurs Introduction Définition Ordinateur (selon le dictionnaire Hachette) n. m. INFORM Machine capable d’effectuer automatiquement des opérations arithmétiques et logiques (à des fins scientifiques, administratives, comptable, etc.) à partir de programmes définissant la séquence de ces opérations. Terminologie 1955 : Création du mot français « Ordinateur », déposé d’abord par IBM, pour désigner ce qui est en anglais un "Computer". - Français -> Ordinateur -> Ordre (commande et organisation) - Anglais -> Computer -> Calculateur - Arabe -> كمبيوتر/ حاسوب FSA-UIZ TC-IA 8 Architecture des ordinateurs Introduction Questions fondamentales Que veut dire calculer ? (modèles de calcul) Est-ce que tout est calculable (quitte à disposer d’assez de ressources) ? (calculabilité) Quand on peut calculer, de quelles ressources a-t-on effectivement besoin (temps, espace, …) ? (complexité) FSA-UIZ TC-IA 9 Architecture des ordinateurs Introduction Notion de décidabilité En informatique, pour résoudre un problème donné il faut trouver un algorithme. Un problème est constitué par: ▪ La description de la représentation finie des éléments d’un ensemble fini ou infini dénombrable, ▪ Un énoncé portant sur les éléments de cet ensemble, énoncé qui peut être soit vrai soit faux selon l’élément choisi. Exemple: ▪ Donnée: un entier en base dix, ▪ Question: cet entier est-il premier? FSA-UIZ TC-IA 10 Architecture des ordinateurs Modèle de calcul Méthode/Modèle de calcul Un problème qu’on peut résoudre (i.e. un algorithme existe) est un problème calculable/décidable. Nos algorithmes sont exprimés sous forme d’une suite d’instructions. Ces instructions utilisent un ensemble d’opérations élémentaires. Ces opérations constituent notre méthode de calcul. Décomposition en opérations élémentaires Intuitivement, lorsque nous qualifions des opérations simples (addition, produit…) de «calculables », c’est parce que nous connaissons des algorithmes pour les effectuer, cela signifie que nous sommes capables de réduire ces tâches à des opérations encore plus simples, que nous combinons entre elles. FSA-UIZ TC-IA 11 Architecture des ordinateurs Modèle de calcul Méthode/Modèle de calcul Le problème de la définition de ce que l’on entend par «méthode de calcul » est donc celui de: Méthode/Modèle de calcul La détermination du plus petit ensemble possible d’opérations élémentaires, suffisamment générales pour que le maximum de calculs (sur des entiers, des chaînes quelconques etc.) puissent se ramener à des combinaisons de ces opérations. FSA-UIZ TC-IA 12 Architecture des ordinateurs Modèle de calcul abstrait Modèles abstraits Plusieurs modèles de calcul abstraits existent: Machines de Turing Théorie des fonctions récursives (Church) Lambda –calcul Machines RAM … FSA-UIZ TC-IA 13 Architecture des ordinateurs Modèle de calcul abstrait Automate Fini Déterministe (AFD) Premier modèle de calcul que nous allons étudier. Simple (voire primitif) Facile à comprendre et à étudier Permet de modéliser un grand nombre de systèmes. FSA-UIZ TC-IA 14 Architecture des ordinateurs Modèle de calcul abstrait: Automate Fini Déterministe (AFD) Exemple Un bouton poussoir passant alternativement d’un état «ON» à un état «OFF» par l’action d’appuyer sur le bouton. L’automate correspondant à ce phénomène est: Appuyer OFF ON Appuyer FSA-UIZ TC-IA 15 Architecture des ordinateurs Modèle de calcul abstrait: Automate Fini Déterministe (AFD) Automate Fini Déterministe (AFD) Automate Fini Déterministe Soit Σ un alphabet (fini). On appelle automate fini déterministe (AFD) sur Σ un quadruplait 𝐴 = (𝑆, 𝜆, 𝐼, 𝐹) où: 𝑆 est un ensemble fini: l’ensemble des états, 𝜆 est une application 𝑆 𝑋 Σ → 𝑆 appelée la fonction de transition 𝐼 ∈ 𝑆 est l’état initial 𝐹 ⊂ 𝑆 est l’ensemble des états finaux Un automate fini est généralement utilisé pour la reconnaissance de langages. FSA-UIZ TC-IA 17 Architecture des ordinateurs Modèle de calcul abstrait: Automate Fini Déterministe (AFD) Représentation concrète Un ruban, illimité à droite, divisé en cases Une tête de lecture positionnée sur une seule case à la fois FSA-UIZ TC-IA 18 Architecture des ordinateurs Modèle de calcul abstrait: Automate Fini Déterministe (AFD) Représentation concrète chaque case du ruban contient au plus un symbole, c’est alors nécessairement un symbole de Σ celles qui ne contiennent pas de symbole: cases vides, ou occupées par des blancs («_») a a c b b Σ = {𝑎, 𝑏, 𝑐} FSA-UIZ TC-IA 19 Architecture des ordinateurs Modèle de calcul abstrait: Automate Fini Déterministe (AFD) Représentation concrète Au départ, la tête de lecture sur: Première case non vide à partir de la gauche. Si ruban vide: sur n’importe quelle case. a a c b b Σ = {𝑎, 𝑏, 𝑐} FSA-UIZ TC-IA 20 Architecture des ordinateurs Modèle de calcul abstrait: Automate Fini Déterministe (AFD) Représentation concrète Au départ, la tête de lecture sur: Première case non vide à partir de la gauche (dans l’état initial 𝑞0 ) Si ruban vide: sur n’importe quelle case. a a c b b 𝑞0 Σ = {𝑎, 𝑏, 𝑐} 𝑄 = {𝑞0 , 𝑞1 , 𝑞2 } 𝑞0 initial FSA-UIZ TC-IA 21 Architecture des ordinateurs Modèle de calcul abstrait: Automate Fini Déterministe (AFD) Représentation concrète La tête de lecture se déplace : Uniquement vers la droite, D’une seule case à chaque instant du calcul Son mouvement est déterminé par la fonction 𝜆 a a c b b 𝑞0 Σ = {𝑎, 𝑏, 𝑐} 𝑄 = {𝑞0 , 𝑞1 , 𝑞2 } 𝑞0 initial FSA-UIZ TC-IA 22 Architecture des ordinateurs Modèle de calcul abstrait: Automate Fini Déterministe (AFD) Représentation concrète Si 𝜆(𝑞0 , 𝑎) = 𝑞1 alors la tête de lecture passe à l’état 𝑞1 puis se déplace d’une case vers la droite. a a c b b 𝑞1 Σ = {𝑎, 𝑏, 𝑐} 𝑄 = {𝑞0 , 𝑞1 , 𝑞2 } 𝑞0 initial FSA-UIZ TC-IA 23 Architecture des ordinateurs Modèle de calcul abstrait: Automate Fini Déterministe (AFD) Représentation concrète But: mot accepté (i.e. une solution de notre problème) si et seulement si 1. Mot entièrement «lu» 2. Arrêt dans un état final a a c b b 𝑞2 Σ = {𝑎, 𝑏, 𝑐} 𝑄 = {𝑞0 , 𝑞1 , 𝑞2 } 𝑞0 initial 𝑞2 final FSA-UIZ TC-IA 24 Architecture des ordinateurs Modèle de calcul abstrait: Automate Fini Déterministe (AFD) Représentation par diagramme Représentation par diagramme États = sommets Transitions = arcs étiquetés (par les lettres) État initial = sommet de départ État final = sommet d’arrivée Mot = chemin Mot accepté = chemin allant de l’état initial à un état final FSA-UIZ TC-IA 36 Architecture des ordinateurs Modèle de calcul abstrait: Automate Fini Déterministe (AFD) Représentation par diagramme Remarque Pour un AF déterministe (AFD), si Σ à 𝑛 lettres, de chaque état 𝑞 de 𝑆 partent exactement 𝑛 flèches indexées par les 𝑛 lettres de Σ. Exemple a a b Un AFD sur l’alphabet Σ = {𝑎, 𝑏} 2 3 a b b 1 FSA-UIZ TC-IA 37 Architecture des ordinateurs Modèle de calcul abstrait: Machine de Turing Machine de Turing Définition La machine de Turing est un modèle de calcul abstrait proposé par Alan Turing en 1936 pour décrire le fonctionnement des appareils mécaniques de calcul, tel un ordinateur. Ce modèle a été proposé en vue de donner une définition précise au concept d’algorithme ou de « procédure mécanique ». Selon la thèse de Church-Turing, un algorithme est une machine de Turing. FSA-UIZ TC-IA 38 Architecture des ordinateurs Modèle de calcul abstrait: Machine de Turing Machine de Turing FSA-UIZ TC-IA 39 Architecture des ordinateurs Modèle de calcul abstrait: Machine de Turing Machine de Turing FSA-UIZ TC-IA 40 Architecture des ordinateurs Modèle de calcul abstrait Equivalence Thèse de Church-Turing De façon étonnante, toutes les solutions proposées à ce problème se sont avérées équivalentes, Autrement dit: une fonction calculable au sens des machines de Turing est récursive et réciproquement, ou bien peut se ramener à un calcul au sein du λ-calcul, ou bien peut être réalisée sur une machine RAM etc. et réciproquement une fonction implémentable sur une machine RAM peut être réalisée par une machine de Turing, etc. Autrement dit, on formule la thèse selon laquelle ces définitions permettent de cerner la notion de fonction calculable. FSA-UIZ TC-IA 41 Architecture des ordinateurs Modèle de calcul concret Evolution des ordinateurs concrets FSA-UIZ TC-IA 42 Architecture des ordinateurs Architectures Von Nemann & Harvard Architectures d’un système programmable Les ordinateurs sont construits suivant l’une ou une combinaison des deux architectures-référence suivantes: Architecture de Von Neumann Architecture de Harvard FSA-UIZ TC-IA 43 Architecture des ordinateurs Architectures Von Nemann & Harvard Architecture de Van Neumann C’est un modèle pour un ordinateur qui utilise une structure de stockage unique pour conserver à la fois les instructions et les données demandées ou produites par le calcul. De telles machines sont aussi connues sous le nom d’ordinateur à programme enregistré. La séparation entre le stockage et le processeur est implicite dans ce modèle. FSA-UIZ TC-IA 44 Architecture des ordinateurs Architectures Von Nemann & Harvard Architecture de Van Neumann L’architecture de Von Neumann décompose l’ordinateur en 4 parties distinctes : L’unité arithmétique et logique (UAL ou ALU en anglais) ou Unité de traitement : son rôle est d’effectuer les opérations de base. L’unité de contrôle, chargée du « séquençage » des opérations. La mémoire qui contient à la fois les données et le programme qui indiquera à l’unité de contrôle quels sont les calculs à faire sur ces données. La mémoire se divise entre mémoire volatile (programmes et données en cours de fonctionnement) et mémoire permanente (programmes et données de base de la machine). Un seul bus commun est utilisé pour les données et les instructions. Les dispositifs d’entrée-sortie, qui permettent de communiquer avec le monde extérieur. FSA-UIZ TC-IA 45 Architecture des ordinateurs Architectures Von Nemann & Harvard Architecture de Van Neumann Avantages Universel: Permet de construire un ordinateur universel. C’est le logiciel se trouvant dans la mémoire qui spécifie ce qu’il faut faire. Mémoire flexible qui est partagée entre le code-programme et les données. Système de bus permettant d’ajouter des extensions (i.e. périfphériques) facilement. Inconvénients Von-Neumann-BottleNeck: L’utilisation d’un bus commun pour les données et les instructions introduit une lenteur dans le traitement effectué par le CPU. En effet, le CPU doit attendre le chargement de l’instruction puis le chargement de la donnée pour effectuer l’opération demandée -> Le CPU est bloqué et temps perdu. FSA-UIZ TC-IA 46 Architecture des ordinateurs Architectures Von Nemann & Harvard Architecture de Harvard C’est une conception des processeurs qui sépare physiquement la mémoire de données et la mémoire programme. L’accès à chacune des deux mémoires s’effectue via deux bus distincts. Les machines se basant sur cette architecture sont aussi connues sous le nom d’ordinateur à programme enregistré. FSA-UIZ TC-IA 47 Architecture des ordinateurs Architectures Von Nemann & Harvard Architecture de Harvard L’architecture de Harvard décompose le système en 5 parties distinctes : L’unité arithmétique et logique (UAL ou ALU en anglais) ou Unité de traitement : son rôle est d’effectuer les opérations de base. L’unité de contrôle, chargée du « séquençage » des opérations. La mémoire des données: Contenant le données manipulées par le programme. La mémoire des instructions (i.e. le programme): Contenant les instructions exécutées par le CPU. Les dispositifs d’entrée-sortie, qui permettent de communiquer avec le monde extérieur. FSA-UIZ TC-IA 48 Architecture des ordinateurs Architectures Von Nemann & Harvard Architecture de Harvard Avantages Rapide: Le CPU n’attends plus. La donnée et l’instruction courante sont chargées simultanément en utilisant deux bus distincts. (le problème du Von-Neumann-BottleNeck n’est pas présent). Plus adapté aux systèmes dont on connait la finalité/ ont une tâche bien précise (comme les systèmes embarqués). Inconvénients Plus compliqué: La présence de plus de composants l’a rend plus compliquée que l’architecture de Von Neumann. Utilisation non optimisée de la mémoire: C’est la mémoire des données est pleine, on ne peut pas exploiter la mémoire des instructions même s’elle y est de l’espace disponible. FSA-UIZ TC-IA 49 Architecture des ordinateurs Architectures Von Nemann & Harvard Architecture de Harvard Vs Architecture de Von Neumann FSA-UIZ TC-IA 50 Architecture des ordinateurs Architectures Von Nemann & Harvard Architectures : Applications Les ordinateurs modernes utilisent une combinaison des architectures de Von Neumann (La plus dominante) et celle de Harvard: Architecture de Von Neumann: RAM et Système de Bus Tous les ordinateurs modernes reposent sur l’architecture de Von Neumann pour la RAM (i.e. Données et instructions partagent la même mémoire) et leurs systèmes de bus. Architecture de Harvard: Mémoire Cache du CPU La mémoire cache de niveau 1 (L1) est basée est divisée en mémoire de données (L1D, D pour Data) et mémoire d’instructions (L1I, I pour Instruction) [voir schéma suivant]. Ainsi, on minimise les temps d’attente du CPU puisque L1 est une mémoire ultra-rapide (mais très chère) mais très petite (de l’ordre de 32 KB, L2 est de l’ordre de 256KB et L3 de l’ordre de 4MB). FSA-UIZ TC-IA 51 Architecture des ordinateurs Architectures Von Nemann & Harvard Architectures : Applications Schématisation des mémoires caches dans les ordinateurs modernes: FSA-UIZ TC-IA 52 Architecture des ordinateurs Architectures Von Nemann & Harvard Architectures : Applications L’architecture de Harvard est souvent utilisée dans : Les processeurs numériques de signal (DSP): Microprocesseur optimisé pour exécuter des applications de traitement numérique du signal (filtrage, extraction de signaux, etc.) le plus rapidement possible. Les microcontrôleurs, notamment les PIC de Microchip et les AVR d'Atmel (ex. ATmega328 utilisé sur les cartes Arduino UNO et NANO). FSA-UIZ TC-IA 53 Architecture des ordinateurs Microprocesseur Vs Microcontrôleur Microprocesseur Microprocesseur Un microprocesseur est une machine d'état synchrone qui permet d’exécuter des instructions les unes à la suite des autres. Contrairement à un FPGA qui a une architecture parallèle (plusieurs instructions exécutées en même temps à différents endroits), le microprocesseur a une architecture séquentielle (une seule instruction présente à un instant donné). FSA-UIZ TC-IA 54 Architecture des ordinateurs Microprocesseur Vs Microcontrôleur Fonctionnement du Processeur (Vs FPGA) FSA-UIZ TC-IA 56 Architecture des ordinateurs Microprocesseur Vs Microcontrôleur Microprocesseur Pour chaque instruction, les diverses phases de la machine d'état sont: 1. Lecture de l'instruction en mémoire 2. Décodage de cette instruction 3. Exécution et traitement de l'instruction 4. Stockage des résultats 5. Préparation pour l'instruction suivante FSA-UIZ TC-IA 57 Architecture des ordinateurs Microprocesseur Vs Microcontrôleur Applications des microcontrôleurs Le microcontrôleur est dérivé du microprocesseur, il est spécialisé dans les applications nécessitant principalement des échanges de données entre divers constituants -> Systèmes embarqués. Le traitement de données est, en général, simple et ne nécessite pas une grande puissance de calcul. FSA-UIZ TC-IA 58 Architecture des ordinateurs Microprocesseur Vs Microcontrôleur Applications des microcontrôleurs Le microcontrôleur est un composant très bon marché parfaitement adapté pour piloter les applications embarquées dans de nombreux domaines d’application : Informatique (souris, modem …). Vidéo (Appareil photos numérique, camera numérique …). Contrôle des processus industriels (régulation, pilotage). Appareils de mesures (affichage, calcul statistique, mémorisation). Automobile (ABS, injection, GPS, airbag). Multimédias (téléviseur, carte audio, carte vidéo, MP3, magnétoscope). Téléphones (fax, portable, modem). Electroménagers (lave-vaisselle, lave-linge, four micro-onde). FSA-UIZ TC-IA 59 Architecture des ordinateurs Microprocesseur Vs Microcontrôleur Microcontrôleur Microcontrôleur Le microcontrôleur est une extension du micro-processeur incluant des périphériques. A l'origine, ces périphériques étaient câblés sur la carte mais externe au circuit processeur. Grâce à l'évolution de la fabrication des circuits intégrés, il a été possible d'inclure de plus en plus de périphériques de plus en plus complexe dans le même composant. FSA-UIZ TC-IA 60 Architecture des ordinateurs Microprocesseur Vs Microcontrôleur Microcontrôleur Ces périphériques sont classés par type de fonctionnalité: Extensions mémoires ▪ Mémoire de type Flash pour stocker les instructions d'un programme ▪ Mémoire de type RAM pour stocker des données Entrées sorties numériques ▪ Ce sont généralement des broches individuellement configurables en entrées ou sorties, pour lesquelles on spécifie des caractéristiques physiques (tension, courant, impédance,...). Entrées sorties analogiques ▪ Des convertisseurs sont intégrés qui permettent de générer ou mesurer une tension. Ils sont essentiellement caractérisés par leur rapidité et leur résolution. FSA-UIZ TC-IA 61 Architecture des ordinateurs Microprocesseur Vs Microcontrôleur Microcontrôleur Ces périphériques sont classés par type de fonctionnalité: Ports de communication Les principaux standards sont souvent inclus dans les ports de communication ▪ Ports séries (ports asynchrones) a.k.a. RS232/422/485 ▪ Ports SPI (ports synchrones avec 4 fils, assez rapides) ▪ Ports I2C (ports synchrones avec 2 fils, assez lents) ▪ Ports CAN (standard automobile) ▪ Ports Ethernet (assez complexe à gérer, pas toujours disponible) RS232 – Connecteur mâle DB-25 RS232 – Connecteur mâle DB-9 Port Ethernet (connecteur RJ45) FSA-UIZ TC-IA 62 Architecture des ordinateurs Microprocesseur Vs Microcontrôleur Microcontrôleur Ces périphériques sont classés par type de fonctionnalité: Entrées sorties spécifiques (audio, vidéo,…) Connecteur VGA Audio Jack Connecteur HDMI FSA-UIZ TC-IA 63 Architecture des ordinateurs Microprocesseur Vs Microcontrôleur Fabricants des microcontrôleurs Il existe plusieurs fabricants de microcontrôleurs. Dans l'embarqué, c'est aujourd'hui la famille ARM qui a la plus grosse part du marché. D’autres constructeurs sont aussi présents sur le marché des microcontrôleur comme INTEL, MOTOROLA, ATMEL, ZILOG, PHILIPS et enfin MICROCHIP avec ses PICs très populaires. Les microcontrôleurs, quelque soit leurs constructeurs, ont des architecture très similaires et sont constitués de modules fondamentaux assurant les mêmes fonctions : UAL, Ports d’E/S, interfaces de communications série, Interfaces d’E/S analogiques, Timers et horloge temps réels. On peut dire que seul le langage de programmation (Assembleurs) constitue la différence majeure entre deux microcontrôleurs (similaires) venant de deux constructeurs différents. FSA-UIZ TC-IA 64 Architecture des ordinateurs Microprocesseur Vs Microcontrôleur Familles des microcontrôleurs Il existe plusieurs familles de microcontrôleurs. Par exemple: La famille Atmel AT91 Les familles ARM Cortex-M et ARM Cortex-R La famille Atmel AVR (utilisée par des cartes Wiring et Arduino) Le C167 de Siemens/Infineon La famille des Infineon AURIX TC3x, Infineon AURIX TC2x de Infineon Technologies La famille Hitachi H8 ; L’Intel 8085, à l'origine conçu pour être un microprocesseur, a en pratique souvent été utilisé en tant que microcontrôleur La famille des PIC de Microchip Les microcontrôleurs d’un même constructeur sont regroupés en familles, une même famille a en commun le même jeu d’instructions ainsi qu’une configuration minimale de mémoires et de périphériques. Les cartes Arduino avaient des processeurs de type AVR jusque récemment et ont basculé sur l'architecture ARM avec le DUE. FSA-UIZ TC-IA 65 Architecture des ordinateurs Microprocesseur Vs Microcontrôleur Différence au niveau matériel – Ordinateur Emplacement d’un microprocesseur sur une carte mère FSA-UIZ TC-IA 66 Architecture des ordinateurs Microprocesseur Vs Microcontrôleur Différence au niveau matériel - Microcontrôleur Les composants d’un microcontrôleur FSA-UIZ TC-IA 67 Architecture des ordinateurs Microprocesseur Vs Microcontrôleur Différence au niveau matériel - Microcontrôleur Architecture typique d’un microcontrôleur ARM FSA-UIZ TC-IA 68 Architecture des ordinateurs Microprocesseur Vs Microcontrôleur Différence au niveau des performances Considérons deux problèmes à résoudre avec une solution programmée : L’ordinateur personnel. La machine à laver. Comparons les caractéristiques que doivent avoir les processeurs de ces machines. Caractéristique Ordinateur Machine à laver Puissance de calcul Forte Faible Rapidité Elevée Faible Capacité mémoire RAM Grande Très Faible Mémoires secondaires disques Indispensable Inutile Facilité de changer d’application Indispensable Inutile Taille des programmes Elevée Faible Place du programme en exécution RAM ROM FSA-UIZ TC-IA 69 Architecture des ordinateurs Microprocesseur Vs Microcontrôleur Différence au niveau des performances Nous voyons que les deux systèmes nécessitent à peu près les mêmes compétences mais à des niveaux différents. Le microcontrôleur est principalement chargé d’organiser des échanges avec le milieu extérieur, la charge de calcul étant faible. Il est dédié à une seule tache. Il n’y a pas besoin ni de système d’exploitation ni de mémoires de masse. Le microcontrôleur est généralement moins puissant qu’un microprocesseur en termes de : ▪ Rapidité (fréquence de quelques dizaines de MHz). ▪ de taille mémoire. ▪ Nombre d’instructions (une centaine). FSA-UIZ TC-IA 70 Architecture des ordinateurs Microprocesseur Vs Microcontrôleur Amorçage d’un ordinateur BIOS Boot UEFI Boot FSA-UIZ TC-IA 71 Architecture des ordinateurs Microprocesseur Vs Microcontrôleur Amorçage d’un ordinateur Exemple 1: Démarrage d’un ordinateur avec le OS Linux FSA-UIZ TC-IA 72 Architecture des ordinateurs Microprocesseur Vs Microcontrôleur Amorçage d’un ordinateur Exemple 2: Démarrage d’un ordinateur avec le OS Windows FSA-UIZ TC-IA 73 Architecture des ordinateurs Microprocesseur Vs Microcontrôleur Amorçage d’un microcontrôleur FSA-UIZ TC-IA 74 Architecture des ordinateurs Microprocesseur Vs Microcontrôleur Amorçage d’un microcontrôleur Exemple: Microcontrôleur PIC de Microchip FSA-UIZ TC-IA 75 Architecture des ordinateurs Microprocesseur Vs Microcontrôleur Amorçage - Conclusion Le Système d’exploitation est absent dans les systèmes embarqués (Microcontrôleur) et est présent pour les ordinateurs (Microprocesseur). FSA-UIZ TC-IA 76 Architecture des ordinateurs Microprocesseur Vs Microcontrôleur Comment les différencier? Taille ? Les microcontrôleurs et les processeurs sont devenus de plus en plus petits. Performance? Peut-être. Emplacement de composants? Oui, mais il faut faire attention car c’est pas toujours évident. (Voir SOC) La séquence d’amorçage? L’absence d’un OS est un indicateur fiable qu’on est en présence d’un microcontrôleur/Système embarqué. FSA-UIZ TC-IA 77 Architecture des ordinateurs Système embarqué à base de microcontrôleur Fonctionnement général: Boucle Infinie Tant que TOUJOURS faire Acquisition des entrées (données capteurs, mesures) Calcul des ordres à envoyer au procédé Émission des ordres (Actionneurs) Fin tant que FSA-UIZ TC-IA 78 Architecture des ordinateurs Système embarqué à base de microcontrôleur Comparaison aux systèmes informatiques standards Standard Embarqué Processeur standard Processeur dédié (contrôleur) Vitesse Elevée (> GHz) Architecture adaptée Consommation électrique élevée Vitesse faible (~ MHz) Chaleur Mémoire limitée Taille Basse consommation MMU Petite taille OS (SE) Cache Quelque Mo de mémoire Grand nombre de périphériques Sans OS (Firmware en boucle) RTOS FSA-UIZ TC-IA 79 Architecture des ordinateurs Système embarqué à base de microcontrôleur Exemple Clé USB FSA-UIZ TC-IA 84 Architecture des ordinateurs SoC System On Chip (SOC) System On Chip Un « système sur une puce » ( en anglais, system on a chip, SOC), est un système complet embarqué sur une seule 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 (ex. Mémoire, capteurs,…) FSA-UIZ TC-IA 85 Architecture des ordinateurs SoC Principaux Applications Smartphone (avec l’architecture ARM avec sa famille des processeurs ARM Cortex-A, que ce soit, Exynos de Samsung,Tigra de Nvidia, Snapdragon de Qualcomm ou autres). Ordinateur à carte unique basés principalement, sur les SoC d'architecture ARM (comme le Banana Pi, Cubieboard, Raspberry Pi, etc) FSA-UIZ TC-IA 86 Architecture des ordinateurs SoC Différence avec un Microcontrôleur Présence d’un Système d’exploitation: ▪ Android ou IOS pour les Smartphones ▪ Debian pour Raspberry Pi FSA-UIZ TC-IA 87 Architecture des ordinateurs Microprocesseur Vs Microcontrôleur Vs SoC Comparaison des cas d’utilisation Système informatique embarqué Système informatique standard Microcontrôleur Soc Microprocesseur FSA-UIZ TC-IA 88