Capacités attendues : identifier les principaux
composants sur un schéma de circuit et les avantages de leur intégration
en termes de vitesse et de consommation.
Commentaires : le circuit d’un téléphone peut être
pris comme exemple (microprocesseurs, mémoires locales, interfaces radio
et filaires, gestion d’énergie, contrôleurs vidéo, accélérateur
graphique, réseau sur puce, etc.)
Introduction
Loi de Moore
Histoire : Gordon E. Moore (cofondateur Intel)
Dans les microprocesseurs, le nombre de transistors sur une puce va
doubler tous les deux ans
1965 : Moore annonce un doublement tous les ans,
corrigé en tous les deux ans en 1975
Passage d’environ 2300 transistors en 1971 (Intel 4004) à plusieurs
dizaines de milliards actuellement
Actuellement encore plus ou moins valable (ralentissement depuis
2015)
Ce n’est pas une loi physique : c’est une
observation empirique, devenue objectif industriel (feuille de route des
fabricants)
Jusqu’en 2018
Loi de Moore - 2018
Jusqu’en 2025
Loi de Moore - 2025
Avantages
Finesse de gravure : 2 nm en 2026 (TSMC N2, Intel 18A, Samsung SF2),
contre 10 µm en 1971
attention : le « 2 nm » est un nom commercial de
nœud, ce n’est plus la taille réelle d’un transistor (plutôt
quelques dizaines de nm)
Augmentation du nombre de cœurs et de blocs spécialisés
la fréquence d’horloge, elle, plafonne vers 3-5 GHz
depuis ~2005 : on ne sait pas évacuer la chaleur au delà
Diminution du coût par transistor
Diminution de la consommation par transistor (mais
pas par puce : le smartphone chauffe toujours…)
Intégration de plus de fonctionnalités
Le « 2 nm » ne mesure rien
Jusqu’aux années 1990, le nom du nœud était une vraie mesure : la
longueur de la grille du transistor. Ce n’est plus le cas.
un atome de silicium mesure ≈ 0,2 nm : un
transistor « 2 nm » ferait 10 atomes de large, les électrons le
traverseraient par effet tunnel
en réalité, sur un nœud « 2 nm » : grille ≈ 15 nm, écart entre deux
pistes de métal ≈ 20 nm
L’unité de l’industrie est la densité : ≈ 130
millions de transistors par mm² en « 5 nm » (2020), 200 à 300 en « 2 nm
» (2026).
Un nom de génération, comme la 5G ou une pointure :
pas une longueur.
Microcontrôleurs
Description
Regroupent sur une même puce :
microprocesseur
mémoire(s)
ports entrée/sortie
périphériques
bus de communication
Arduino nano
Caractéristiques
puissance, mémoire & fréquence d’horloge le plus souvent <
ordinateurs
consommation faible
prix relativement faible
utilisation dans des systèmes embarqués
Exemple
Machine à laver :
capteurs (ports d’entrée) : molette de programme,
niveau d’eau, température, vitesse du tambour, verrou de la porte
actionneurs (ports de sortie) : électrovanne,
résistance de chauffe, moteur du tambour, pompe de vidange, verrou,
afficheur
à ne pas confondre avec le bus CAN (Controller Area
Network) des voitures
modules de communication
System on Chip
(SOC)
Description
Définition SOC : circuit intégré comportant tout ou
partie des composants d’un ordinateur.
Au niveau de la quantité de fonctionnalités intégrées directement sur
la puce :
Microprocesseur < Microcontrôleur < SOC
La frontière microcontrôleur / SOC est floue : un même composant (ex
: ESP32) peut être vendu sous les deux noms.
Types
SOC basés sur un microcontrôleur
SOC basés sur un microprocesseur
Selon la façon de graver le circuit :
ASIC : circuit gravé pour une application donnée,
définitivement figé (c’est le cas de la quasi totalité des SOC du
commerce)
SOC FPGA : microprocesseur + FPGA (Field
Programmable Gate Array) reconfigurable, ex : AMD/Xilinx Zynq,
Intel/Altera Agilex (la gamme PSoC d’Infineon en est un exemple
commercial)
fonctions radio (WIFI / BT / NFC) et modem cellulaire (4G / 5G)
traitement du signal : numérique, analogique, mixte, radio
bus / réseau sur puce reliant le tout
gestion de l’énergie
Bus et réseau sur puce
Il faut faire communiquer tous ces composants entre eux :
bus : un seul support partagé, un seul échange à la
fois
simple, mais devient le goulot d’étranglement quand les composants
se multiplient
souvent plusieurs bus hiérarchisés : un rapide pour CPU / mémoire,
un lent pour les périphériques (ex : AMBA AHB / APB chez ARM)
réseau sur puce (NoC, Network on Chip) :
les composants sont reliés par un réseau de routeurs, comme des machines
sur internet
plusieurs échanges simultanés
solution retenue sur les gros SOC actuels
Gestion de l’énergie
Premier critère sur mobile et en embarqué :
PMIC : circuit dédié à la distribution et à la
régulation des tensions
îlots de tension : chaque bloc inutilisé est
ralenti ou éteint
DVFS : la fréquence et la tension s’ajustent en
permanence à la charge
big.LITTLE : des cœurs rapides et gourmands + des
cœurs lents et économes sur la même puce, le système choisit selon la
tâche
Organisation
Peut aussi être associé à des composants externes pour
mémoire (LPDDR : mémoire DDR basse consommation)
stockage secondaire (eMMC, puis eUFS : mémoire flash
soudée sur la carte, héritière du format MMC / SD, mais
bien plus rapide)
Trois façons de les assembler :
PoP (Package on Package) : le boîtier mémoire est
empilé au-dessus du boîtier du SOC
2.5D : les puces sont posées côte à côte sur un
interposeur silicium (TSI, Through Silicon
Interposer) qui les relie
3D : les puces sont empilées et traversées par des
connexions verticales (TSV, Through Silicon Vias)
Package On Package2.5D : CPU et mémoire 3D sur interposeur
silicium (TSI)Mémoire sur barrettes DDR4 (à gauche)
contre mémoire 3D sur interposeur (à droite)
Avantages et inconvénients
Avantages
gain de place
amélioration des performances
diminution de la consommation énergétique
Inconvénients
moins d’évolutivité
pas remplaçable : une panne = toute la carte à changer
coût de conception très élevé, rentable seulement sur de gros
volumes
obsolescence : le matériel dépend du support logiciel du fabricant
du SOC (pilotes, mises à jour)
Lire un schéma de circuit
Schéma
d’un SOC à base de microcontrôleur
Schéma d’un SOC Atmel AT91SAM
(ARM)
Les blocs à repérer
Sur ce type de schéma, savoir retrouver :
le processeur (ARM) et la logique
spécifique à l’application
les mémoires : SRAM (vive), Flash (morte), et leur
contrôleur
les bus : ASB/AHB (rapide, côté processeur et
mémoire), APB (lent, côté périphériques), et le pont entre les deux
la gestion de l’énergie et des horloges :
régulateur de tension, PLL, oscillateurs, reset
les périphériques : timers, watchdog, convertisseur
analogique-numérique (ADC)
les interfaces de communication : Ethernet, USB,
CAN, USART, SPI, I2C (Two Wire Interface)
les ports d’entrée / sortie (PIO) et le port de
débogage (JTAG)
ARM ne fabrique rien : l’entreprise vend des
licences (jeu d’instructions ou cœurs tout faits), que chaque
fondeur intègre dans son propre SOC
d’où des puces très différentes, qui exécutent les mêmes
programmes
le Raspberry Pi 4 de la première page utilise ainsi un SOC Broadcom
BCM2711 (4 cœurs ARM Cortex-A72, GPU, contrôleur mémoire, USB,
Ethernet…)
concurrent en forte progression : RISC-V, jeu
d’instructions libre de droits
Entraînement
Questions
Citer trois composants que l’on trouve dans le SOC d’un smartphone,
mais pas dans le microcontrôleur d’un Arduino.
Sur le schéma de l’AT91SAM, repérer : le processeur, la mémoire
vive, la mémoire morte, un bus, un convertisseur
analogique-numérique.
Pourquoi intégrer la mémoire au plus près du processeur
améliore-t-il à la fois la vitesse et la
consommation ?
Un fabricant annonce une puce « gravée en 2 nm ». Qu’est-ce que ce
chiffre désigne réellement ?
Donner un avantage et un inconvénient du SOC par rapport à une carte
mère de PC de bureau.
La fréquence d’horloge des processeurs n’augmente plus depuis ~2005
: par quels moyens les fabricants gagnent-ils malgré tout en
performances ?
Réponses détaillées
Composants absents d’un Arduino : GPU, NPU
(accélérateur IA), modem 4G / 5G, Wifi / Bluetooth / NFC, contrôleur de
DRAM (LPDDR), processeur d’image pour l’appareil photo, réseau sur puce.
Un microcontrôleur se contente d’un cœur, de quelques ko de SRAM et de
Flash, et de périphériques simples (timers, CAN, SPI, I2C).
Sur le schéma de l’AT91SAM : processeur = bloc
ARM processor ; mémoire vive = SRAM ; mémoire morte =
Flash (les deux passent par le Memory controller) ;
bus = ASB/AHB côté processeur et mémoire, APB côté périphériques, reliés
par le Peripheral bridge ; convertisseur analogique-numérique =
ADC0-7.
Mémoire intégrée = plus rapide et moins
gourmande : le signal parcourt quelques millimètres au lieu de
traverser le boîtier, le circuit imprimé et une barrette. Deux
conséquences : le temps de propagation diminue (donc la fréquence peut
monter), et surtout la capacité électrique à charger à chaque changement
d’état est bien plus faible. Comme l’énergie dépensée vaut
,
une capacité plus petite = beaucoup moins d’énergie par bit transmis.
Sortir de la puce est l’opération la plus coûteuse en énergie d’un
circuit. C’est pour cette raison que l’on empile la mémoire au-dessus du
SOC (PoP) ou sur un interposeur (2.5D).
« Gravée en 2 nm » : c’est un nom
commercial de génération, plus une dimension. Sur un tel nœud,
la grille du transistor mesure environ 15 nm et l’écart entre deux
pistes de métal une vingtaine de nm. La grandeur réellement comparable
est la densité de transistors (millions de transistors
par mm²), qui passe d’environ 130 MTr/mm² en « 5 nm » à 200-300 en « 2
nm ».
SOC contre carte mère de PC : avantages = gain
de place, consommation réduite, performances (composants proches), coût
unitaire faible en grande série. Inconvénients = rien n’est évolutif
(mémoire et stockage soudés), rien n’est réparable (une panne = toute la
carte), coût de conception très élevé, et durée de vie liée au support
logiciel du fabricant.
Gagner en performances sans monter en fréquence
: multiplier les cœurs, ajouter des blocs spécialisés (GPU, NPU, codecs
vidéo, modem) bien plus efficaces que le CPU sur leur tâche, agrandir
les caches, rapprocher la mémoire (PoP, 2.5D, 3D), et répartir le
travail entre cœurs rapides et cœurs économes (big.LITTLE).