Systèmes électroniques à base de processeurs – Partie 3 Les Microcontrôleurs, SoC … –

Electronique

Table des matières

I. Microprocesseurs Microcontrôleurs et SoC
1. Similarités ? Différences ?
2. Éléments en commun
   a. Régulateurs
   b. Un cristal
   c. Condensateur de découplage
   d. Les multicœurs
3. Les microcontrôleurs
   a. Définition
   b. Phase de démarrage
   c. Éléments constitutifs
4. Les SoC (System on Chip)
   a. Présentation
   b. Un exemple le SoC A14 d’Apple
5. Autre type de processeur les GPU
6. Microcontrôleur et carte de prototypage
   a. À surtout à ne pas confondre !!
   b. Exemple de l’Arduino

 


  1. Microprocesseurs Microcontrôleurs et SoC

Dans cette partie, nous allons comparer les microcontrôleurs, SoC (Systèmes sur Puces) d’un microprocesseur.

Similarités ? Différences ?

Similarités : ce sont tous des puces, ou circuits intégrés, qui est constitué d’un microprocesseur.

Les différences ? Avec un tableau, c’est mieux :

Microcontrôleurs SoC
(Système sur Puce)
Puissance de
calculs
Faible Importante
Fréquence
d’horloge
De l’ordre des dizaines de
méga-Hertz (MHz)
Plutôt giga Hertz (GHz) donc 80/200
fois plus rapide
Mémoire Kilo-octets (ko) Mégaoctets (Mo) : 100 fois
supérieur
Taille des
registres
8, 16, voire 32 bits 32 ou 64 bits
Consommation Faible, voire très faible Faible
Coût 1-3 € 3-10 €
Convertisseur
analogique numérique
Souvent présent Rarement
Fonctionnalités
temps réel
Souvent Rarement
Fonctionne
avec un système d’exploitation (Windows/Linux)
Jamais Toujours
RISC ou
CISC
RISC Plutôt RISC

Éléments en commun

Pour fonctionner, un microcontrôleur a besoin de :

Régulateurs

Un régulateur de tension va fournir à la carte et à ses broches, une tension fixe malgré les fluctuations de la tension d’entrée qui peut être 5 volts, 3.3 V …

Souvent, on trouve des régulateurs un pour chacune des tensions.

Un cristal

C’est une horloge qui va cadencer le microcontrôleur.

Condensateur de découplage

C’est un condensateur de découplage de l’alimentation placé au plus près des broches du microcontrôleur : il permet d’éliminer les petites variations du courant.

Imaginons une microcoupure, la broche est toujours alimentée à Vcc car le condensateur se décharge dans le microcontrôleur.

Les multicœurs

Les systèmes à plusieurs cœurs permettent de traiter simultanément, en parallèle, plusieurs tâches. Le gain par rapport aux systèmes multiprocesseurs est un gain énergétique et financier : moins cher de fabriquer un processeur à deux cœurs que deux processeurs avec une consommation électrique deux fois plus importante.

Ce système à multicœurs n’est pas réservé aux gros processeurs somme le Xeon Phi d’Intel, il est utilisé dans les ESP32 ou la Raspberry Pi Pico.

Les microcontrôleurs

Définition

Un microcontrôleur est un circuit intégré comprenant au moins un microprocesseur, des mémoires et ports d’entrée-sortie … Ce qui le caractérise vraiment des microprocesseurs, c’est leurs faibles consommations. Ainsi ils peuvent être alimentés par simple batterie. Pour terminer, leur coût est très faible.

Ils sont utilisés essentiellement sur les systèmes embarqués tels que les téléphones, les robots, les avions, les lecteurs de DVD, injecteur de voiture…

Le choix d’un microcontrôleur dépend de la complexité de système embarqué : un 8 bits pour des petits appareils électronique jusqu’à 32 bits pour les plus complexes comme les téléphones.

Bien sûr plus le composant est complexe, plus il est cher et consomme de l’énergie.

Les caractéristiques fréquentes que l’on trouve chez les microcontrôleurs sont :

  • Fréquence de l’horloge : 10, 20,30 MHz
  • Mémoire : se compte en ko rarement en Mo

 

Ces limitations sont un obstacle à l’installation d’un système d’exploitation comme Linux et pour les programmer il est impossible de le faire directement dessus. Pour cela on utilise un cross-compilateur (compilateur croisé) sur, par exemple un PC, qui va fournir un code machine pour le microcontrôleur cible.

En général, c’est l’architecture avec deux bus, un pour les données l’autre pour la mémoire qui est utilisée : celle de Harvard.

Phase de démarrage

Tout simplement, le microcontrôleur exécute au démarrage le programme contenu dans sa mémoire.

Une particularité, c’est qu’il existe souvent la possibilité d’une remise à zéro par l’intermédiaire d’une broche ou d’un bouton-poussoir.

Éléments constitutifs

En règle générale, on peut trouver :

Convertisseurs analogiques-numériques (CAN)

Il permet la conversion d’une tension électrique en binaire.

Ce besoin est assez courant dans les systèmes embarqués par exemple pour récupérer une valeur analogique d’un capteur de températures.

Convertisseurs numériques-analogiques (CNA)

Ils effectuent l’opération inverse.

Générateurs de signaux à modulation de largeur d’impulsion PWM ou RLI.

Timers

Ce sont des horloges interne ou d’événements externes).

Contrôleurs de bus de communication

Suivant les types (UART, USB, CAN, I2C etc.).

A noter qu’en raison des droits détenus par Philips sur le nom I2C, certains fabricants utilisent le terme Two Wire Interface (TWI).

Les mémoires 

On trouve essentiellement :

  • ROM
  • EEPROM
  • FLASH

Les SoC (System on Chip)

Ou Système sur Puce.

Ce type de carte à processeur se trouve dans de nombreux utilisés tous les jours :

  • Toutes les Raspberry Pi
  • iPhone et assimilé
  • Tous les téléphones portables et tablette

Les fabricants de SoC les plus connus sont : Apple, Huawei, Intel, MediaTek, Qualcomm ou Samsung.

Présentation

On pourrait dire que ce sont des microcontrôleurs survitaminés : microprocesseur cadencé à plusieurs centaines de MHz 32 ou 64 bits, un GPU, de la RAM, de la cache, des modems, GPS, USB, WIFI, des modules de cryptographie, d’IA … Bref un ordinateur dans un circuit imprimé.

Plus généraliste, les SoC utilisent plutôt l’architecture de Von Neumann où l’accès à la mémoire (ROM, RAM ou FLSH) et aux périphériques se fait par le même bus.

Avec une particularité toute fois : l’utilisation de deux types de bus :

  • Un bus haute performance (appelée ASH AHB ) qui relie le processeur avec la mémoire ou le GPU à une vitesse maximale
  • Un bus basse performance (appelée APB) qui relie le processeur à travers un pont, les périphériques plus lentes

En effet, la fréquence d’horloge est tellement importante, qu’il est ralenti lorsqu’une connexion avec un périphérique est en jeu (goulot d’étranglement).

Pour assurer une haute performance, un SoC est toujours équipé d’un cache et du DMA.

Un exemple le SoC A14 d’Apple

Source :

https://semianalysis.com/apple-a14-die-annotation-and-analysis-terrifying-implications-for-the-industry/

En ce début d’année 2021, on peut dire que c’est la Rolls du SoC :

  • 134 millions de transistors par millimètre carré
  • Un CPU 64 bits six cœurs :
    • Deux rapides Firestorm
    • Quatre plus petits et plus lentes Icestorm
  • Un processeur dédié à l’IA (réseau de neurones, reconnaissance faciale et réalité augmenté) de 16 cœurs, NPU,
  • Un processeur graphique GPU à 4 cœurs
  • 16 Mo RAM
  • Des caches : System Cache L1i de 128 Ko, Small L2 de 68 Ko et Big L2

 

Autre type de processeur les GPU

Ces processeurs sont ceux ayant le plus grand nombre de cœurs : 5120 !!! pour le Tesla V100 de chez NVidia.

Attention, on ne peut pas comparer des GPU avec des processeurs multicœurs : les premiers sont des processeurs spécialisés en traitement d’images (calculs graphiques, rendu 3D, textures, vidéos) où le parallélisme massif est possible tandis que les seconds sont conçus pour toutes type d’applications.

Mais, les GPU ont d’excellents résultats en intelligente artificielle (IA) et en apprentissage en profondeur (deeplearning).

Microcontrôleur et carte de prototypage

A surtout à ne pas confondre !!

Des microprocesseurs implantés sur de cartes sont utilisés pour la mise au point et le développement de maquette. Elles sont appelées Cartes de prototypage ou kit de dévoppement : c’est le cas de l’Arduino sur lequel on trouve un Atmega328p et la nucléo board , un ARM Cortex.

Exemple de l’Arduino

  • Premier niveau : soit la carte Arduino qui contient
  • Seconde niveau : un microcontrôleur l’Atmel qui est composé d’un
  • Troisième niveau : microprocesseur

Premier niveau la carte Arduino

Second niveau le microcontrôleur

Troisième niveau le processeur

a)                 Quatrième niveau

 

A l’intérieur du microprocesseur se trouve : ALU, les registres, le PC …

Leave a Reply