Introduction

Aujourd’hui dans le cours sur l’introduction aux Systèmes Embarquées vous allez apprendre à définir ce qu’est un microsystème et les règles qui le définisse.

Qu’est-ce qu’un Système Embarqué ?

C’est une question primordiale à se poser pour entrer dans le vif du sujet. Un système embarqué est défini comme un système électronique et informatique autonome, spécialisé dans une tâche précise. C’est là toute la différence avec un ordinateur qui lui n’est pas dédié à une tâche précise mais est plutôt multifonction pour être utile à la plupart des gens. Un ordinateur n’est donc pas un système embarqué.

Dans les cours sur les systèmes embarqués, on parle souvent de « System on chip » ou SOC, qui signifie système sur une puce en anglais.

Il y a beaucoup de terme en anglais dans les systèmes embarqués, mais une traduction en français sera donnée pour chaque terme. Dans ce cours, on utilisera le terme microsystème pour parler de System On Chip.

Un microsystème est composé d’un processeur, d’une mémoire et d’un périphérique.

Les 7 principes d'un microsystème

Voici les 7 principes permettant de caractériser un microsystème :

1. Un microsystème embarqué signifie qu’il caché. En effet, tous les objets électroniques du quotidien possèdent une électronique embarquée : grille-pain, radiateur électrique, micro-onde et pourtant dans aucun de ces objets vous ne verrez la carte électronique depuis l’extérieur.

2. Il ne peut faire qu’une seule tâche. Par exemple, un grille-pain ne peut faire que du café.

3. Il doit être nécessaire et suffisant. Cela signifie que sa puce électronique ne doit pas être surdimensionnée pour ne pas augmenter les coûts. Le meilleur microsystème est celui qui marche et qui ne coûte pas cher.

4. Un microsystème doit consommer peu. En effet, on ne veut pas que l’électronique soit la principale dépense d’énergie comme sur une télécommande par exemple.

5. Il doit être très petit. On ne veut pas que la carte électronique fasse doubler la taille de notre grille-pain  par exemple.

6. Il doit être robuste à un environnement contraignant. En effet, la carte électronique peut parfois servir en été et en hiver et doit donc résister à des températures très élevé ou encore très basse. De plus ces microsystèmes doivent respectés les températures pour le marché auquel ils seront vendus :

  • Température du marché commerciale : [0°C; 85°C]
  • Température du marché industriel : [-20°C; 125°C]
  • Température du marché spatiale : [-40°C; 150°C]

7. Enfin, un système embarqué doit être autonome, c’est à dire qu’il doit fonctionnner sans l’intervention de l’utilisateur sur la carté électronique en elle-même.

Les performances d’un cœur

Si vous faites un projet, vous aurez sûrement le choix entre plusieurs microsystèmes. Il va donc vous falloir les comparer pour savoir lequel correspond le mieux à ce que vous souhaitez. C’est pour cela que l’on va vous donner des critères de comparaison de performance :

  • La taille du bus de données

Il existe plusieurs tailles : 8 ; 16 ou 32 bits. Plus la taille est importante et plus les données peuvent être communiquées rapidement.

  • L’architecture du processeur

Comme les bus de données, les processeurs peuvent être de 8, 16 et 32 bits. Un processeur de 32 bits va pouvoir faire plus de calcul que celui de 8 bits pour le même temps.

  • Les coprocesseurs embarqués

Comme vu précédemment un microsystème est dédié à une tâche précise. Et bien c’est pareil que le processeur, il va pouvoir faire que des additions par exemple. Enfin  on peut faire faire au processeur une boucle d’addition ou de soustraction pour émuler la multiplication ou la division.

Néanmoins pour des multiplications plus importantes, le processeur peut mettre du temps à calculer. C’est pour cela que on lui ajoute un coprocesseur qui va servir à une tâche précise, notamment la multiplication si on en a besoin.

Avant de vous citer les prochains critères, on va voir une notion importante pour les microsystèmes : une instruction. C’est ce que l’on demande de faire au microsystème. Par exemple une addition peut correspondre à une instruction. Pour les prochains critères on va calculer le nombre de coup d’horloge que met le microsystème à faire l’instruction qu’on lui a demandée. Une instruction se calcule en MIPS/MHz ce qui signifie le nombre d’instructions exécutées par coup d’horloge et Méga Hertz.

  • Le rendement

Le rendement d’un processeur est la capacité du processeur à exécuter un nombre de calcul en un temps réduit pour un coup d’horloge.

Ce rendement est donné par les constructeurs de ces processeurs. On va donc prendre un exemple afin que vous puissiez mieux comprendre :

microship puce

Puce MicroChip :

  • 8 bits
  • 0,25 MIPS/Mhz
  • Fréquence Maximum : 40 Mhz

On peut voir ici que la puce de Microship de 8 bits à 0,25 MIPS/Mhz. Cela veut dire qu’il va lui falloir 4 coups d’horloge pour faire une instruction.

De plus une fréquence maximum est indiquée. On va voir tout de suite qu’elle est son utilité.

  • La fréquence maximale de fonctionnement

La fréquence maximale d’un microsystème est la fréquence pour laquelle le processeur fonctionne à son maximum pour la tâche donnée. Néanmoins le processeur ne fonctionne pas toujours à cette valeur, cela dépend si la tâche demandée est conséquente ou peu conséquente. Réduire la fréquence permettra au microsystème de consommer moins d’énergie.

En reprenant notre exemple avec la puce Microchip, on a 0,25 MIPS/MHz pour une fréquence maximum de 40 MHz ça donne 10 Méga instructions par seconde (0,25 *40)

Les 5 premiers critères que l’on a vus concerne le matériel, on va maintenant voir le dernier critère qui est un critère logiciel.

  • Le compilateur

En électronique, les microsystèmes sont programmés en langage C : c’est un langage qui va vous permettre de piloter facilement une carte.

Néanmoins les microsystèmes ne comprennent que le langage machine, c’est-à-dire le langage assembleur, c’est pour cela que l’on a besoin d’un compilateur. Le compilateur va transformer vos instructions en langage C en instructions binaire compréhensible par le microsystème.

compilateur c++

Le compilateur est un critère de qualité, en effet si le compilateur génère 20 lignes assembleur il est plus performant que celui qui génère 30 lignes assembleur. De plus cela vous demandera une mémoire moins importante donc un coût plus faible.

On peut demander au compilateur de compiler en taille, c’est-à-dire le moins ligne d’assembleur possible, ou en vitesse c’est-à-dire que le programme doit s’exécuter rapidement.

Un compromis possible est que l’on optimise la vitesse tout en prenant pas trop de ligne assembleur.