Lycée   >   Terminale   >   NSI   >   Découvrir le système sur une puce

Découvrir le système sur une puce

  • Fiche de cours
  • Quiz
  • Profs en ligne
Objectifs
  • Comprendre le principe et les avantages d’un système sur une puce (SoC).
  • Identifier les principaux composants d’un système sur une puce (SoC).
Points clés
  • Un système sur une puce (system on a chip, en abrégé SoC), est une version miniaturisée à l’extrême d’un PC, on retrouve donc à l’intérieur les processeurs, la RAM, les cartes graphiques et les capteurs.
  • On retrouve les fonctions d’un SoC ainsi que ses principaux composants dans le diagramme de blocs fonctionnels qui est généralement fourni par le constructeur (notice ou site).
  • L’avantage d’un SoC sur un ordinateur tient à sa taille, qui permet la portabilité et l’économie d’énergie. Son défaut principal est sa non-évolution, puisqu’il ne peut pas être modifié.
Pour bien comprendre
  • Architecture de Von Neumann (NSI 1re)
  • Composants de base d’un ordinateur (NSI 1re)
1. Principe d’un système sur une puce (SoC)
a. Apparition du système sur une puce

Dans les premiers ordinateurs, le processeur était entouré d’une multitude de périphériques. Le principal inconvénient était la place occupée par ceux-ci : la taille d’une grosse armoire.

Rappels
  • Le processeur (CPU en anglais pour Central Processing Unit) est un circuit électronique capable d’exécuter des instructions très rapidement, grâce au rythme de ce que l’on appelle une horloge. Tous les circuits peuvent ainsi travailler au rythme des cycles de cette horloge.
  • Les entrées et sorties sont des périphériques (clavier, écran, etc.) qui sont connectés au processeur par des ports.

Il faut attendre les années 1980 pour réduire les tailles, avec la commercialisation du premier microprocesseur Intel 4004 : toutes les fonctions sont intégrées sur un seul et unique circuit intégré.

Un microprocesseur est un processeur dont tous les composants ont été suffisamment miniaturisés pour pouvoir tenir dans un seul circuit intégré, la carte mère. Il va gérer l’exécution des différentes instructions de l’ordinateur.

Ces technologies sont basées sur l’architecture de Von Neumann : les programmes et les données sont stockés dans une même zone mémoire.

Modélisation simplifiée
de l’architecture de Von Neumann

Depuis les années 1990, on miniaturise les différents composants. La carte mère comprend donc le microprocesseur mais aussi une carte vidéo, une carte réseau et les ports IO.

Rappels
  • Une carte mère est un circuit imprimé qui supporte la plupart des composants et des connecteurs nécessaires au fonctionnement d’un ordinateur.
  • Une carte vidéo (ou graphique) est une carte d’extension connectée à la carte mère qui permet de produire des images affichables à l’écran. Selon le modèle, elle peut permettre de créer des images 3D.
  • Une carte réseau est une carte d’extension connectée ou soudée à la carte mère, elle permet de connecter l’ordinateur à un réseau.
  • Les ports I/O correspondent aux entrées et sorties qui permettent de connecter des périphériques (clavier, souris, imprimante, écran, etc.).

Les smartphones ont accéléré cette tendance, il faut ainsi avoir des composants de plus en plus petits et qui intègrent de plus en plus de composants.

Une puce électronique est un circuit intégré qui peut contenir le CPU (processeur), de la RAM, les circuits WiFi et Bluetooth, des circuits graphiques (pour effectuer les mêmes procédures qu’une carte graphique). On appelle cela un système sur une puce (system on a chip en anglais), en abrégé SoC.
Rappel
La RAM (Random Access Memory en anglais) est la mémoire qualifiée de volatile, elle s’efface en effet dès que l’alimentation est coupée. Les données de ces mémoires peuvent être lues, copiées, effacées, etc.
Exemple – SoC d’un smartphone
Ce SoC a été conçu par la société Broadcom : il contient un CPU, de la RAM, les circuits graphiques, des bus, etc.
b. Avantages et inconvénient du système sur une puce
Avantages

Le principal avantage d’un système sur une puce par rapport à un ordinateur est le gain de place qui permet une plus grande portabilité, puisque tous les composants sont miniaturisés pour tenir sur un même circuit.

Il y a un autre avantage non négligeable : la consommation électrique. Si un seul composant est capable d’effectuer plusieurs opérations en même temps, on économise de l’énergie.

De plus, si les composants sont proches les uns des autres, les informations transitent plus vite, on augmente ainsi les performances et les fonctionnalités.

Inconvénient

Le défaut principal d’un système sur une puce est sa non-évolution : on peut en effet faire évoluer un ordinateur en ajoutant de la mémoire, en changeant une carte graphique, une carte réseau, etc.

Le système sur une puce (SoC) ne peut par contre pas être modifié, donc la seule possibilité est la mise à jour logiciel. En cas de panne, on change donc le SoC et parfois même la carte mère sur laquelle le SoC est fixé.

2. Composants et architecture d’un système sur une puce (SoC)

Un système sur une puce (system on a chip en anglais, en abrégé SoC) est un circuit intégré qui représente un ordinateur miniaturisé à l’extrême.

Tous les composants d’un ordinateur sont donc réunis sur une seule puce électronique.
a. Les composants d’un SoC
Composants généralement présents

On trouve généralement les composants suivants dans les SoC.

  • Un processeur qui exécute les instructions données par l’OS.
  • Remarque
    Un processeur peut comporter un ou plusieurs processeurs appelés cœurs. Dans le cas où il y a plusieurs processeurs, on dit que le processeur est multi-core, il sera donc capable de gérer plusieurs tâches en même temps.
  • De la mémoire (statique (SRAM), dynamique, flash, ROM, etc.) pour sauvegarder les instructions, les fichiers, etc.
  • Des circuits radio (WiFi, Bluetooth) pour communiquer.
  • Des processeurs graphiques pour gérer l’affichage à l’écran et les images HD ou 3D.
  • Des capteurs (accéléromètres, magnétomètres, etc.) pour pouvoir interagir avec l’utilisateur ou l’extérieur.
Identifier les principaux composants

Les fabricants de SoC mettent à disposition le diagramme de blocs fonctionnels.

Le diagramme de blocs fonctionnels (Function block diagram en anglais, en abrégé FBD) est un diagramme qui permet de retrouver les composants importants et les différentes fonctions assumées par le SoC.
Exemple – Diagramme de blocs fonctionnels du SoC ESP32

On retrouve toutes les fonctions de communication Radio, Bluetooth et Wifi.

On constate que ce SoC a la possibilité d’utiliser des données cryptées (RSA, SH, AES et RNG).

On identifie le nom du microprocesseur Xtensa LX6, et on remarque qu’il y a de la ROM ainsi que de la SRAM.

Ce SoC possède aussi des périphériques (« Peripheral interfaces »), avec un capteur de température (« Temperature sensor »), un port ethernet (« ETH »), etc.

b. Architecture d’un SoC

Les SoC utilisent généralement une architecture différente de la Von Neumann : l’architecture d'Harvard.

Principe
L’architecture d'Harvard est un type de conception de processeurs dans laquelle les données des programmes et les instructions sont physiquement séparées.

L'accès à ces mémoires s’effectue donc par des bus différents. Les processeurs qui ont une architecture mémoire de type Harvard utilisent un jeu d’instructions réduit, que l’on nomme RISC (en anglais Reduce Instruction Set Computer).


Modélisation simplifiée
de l’architecture d'Harvard
Avantage et inconvénient

Les performances sont plus élevées par rapport à l’architecture de Von Neumann, car l’accès aux données se fait par un bus et l’accès aux instructions se fait par un autre bus.

La structure interne est par contre beaucoup plus complexe puisqu’elle utilise des bus différents pour les données et les instructions.

c. Exemple d’un SoC, sur l’Arduino

On prend la carte Arduino qui possède un SoC très simple à utiliser, il s’agit de l’ATMEGA328P.


SoC ATMEGA328P sur la carte Arduino Uno

Il est facile de trouver la documentation technique de ce SoC sur le site du constructeur.

En cas de panne, il est facile de changer ce SoC de l’arduino (moins de 2 euros le SoC).

La carte mère (carte Arduino) sur laquelle est fixé le SoC comprend l’alimentation et différentes connectiques.

On peut ajouter des fonctionnalités en ajoutant ce qu’on appelle des shields, par exemple pour ajouter la Wifi, ou encore pour avoir un accéléromètre.

Pour la portabilité, il existe même des cartes mini ATMEGA328P.


SoC ATMEGA328P sur la carte Arduino Nano

Comment as-tu trouvé ce cours ?

Évalue ce cours !

 

Question 1/5

La médiane de 6 notes est 13. Cela signifie que :

Question 2/5

On a obtenu la série statistique suivante :

Combien vaut la médiane ?

Question 3/5

On a obtenu la série ci-dessous :

Quelle est la médiane de cette série ?

Question 4/5

On a relevé les tailles en cm des élèves d’une classe :

 

Parmi les propositions suivantes, laquelle est vraie ?

Question 5/5

Les notes en français de deux classes littéraires sont données dans le tableau suivant :

Quelle est la note médiane ?

Vous avez obtenu75%de bonnes réponses !

Reçois l’intégralité des bonnes réponses ainsi que les rappels de cours associés

Une erreur s'est produite, veuillez ré-essayer

Consultez votre boite email, vous y trouverez vos résultats de quiz!

Découvrez le soutien scolaire en ligne avec myMaxicours

Le service propose une plateforme de contenus interactifs, ludiques et variés pour les élèves du CP à la Terminale. Nous proposons des univers adaptés aux tranches d'âge afin de favoriser la concentration, encourager et motiver quel que soit le niveau. Nous souhaitons que chacun se sente bien pour apprendre et progresser en toute sérénité ! 

Fiches de cours les plus recherchées

NSI

Comprendre la gestion de plusieurs processus

NSI

Comprendre la notion d'interblocage de processus

NSI

Comprendre les protocoles de routage

NSI

Introduire la cryptographie

NSI

Comprendre le chiffrement symétrique

NSI

Comprendre le chiffrement asymétrique

NSI

Décrire de manière détaillée le protocole HTTPS

NSI

Comprendre qu'un programme peut être une donnée

NSI

Introduire les notions de calculabilité et de décidabilité

NSI

Utiliser la récursivité en Python