Qu'est-ce que le CPU ?
Le CPU (unité centrale de traitement) est le cœur de calcul et de contrôle d'un ordinateur.
Le CPU est composé d'une unité arithmétique et logique, d'une unité de contrôle, de registres et de bus qui facilitent la communication entre eux. Ses principales fonctions consistent à interpréter les instructions informatiques et à traiter les données dans les logiciels informatiques.

Avant les années 1970, les processeurs centraux étaient composés de plusieurs unités indépendantes. Plus tard, des processeurs centraux fabriqués à partir de circuits intégrés, appelés microprocesseurs, ont fait leur apparition. Ces composants très compacts sont ce que nous appelons des microprocesseurs, et les circuits les plus complexes qu'ils contiennent sont conçus comme des unités individuelles puissantes, communément appelées cœurs.
Le fonctionnement de presque tous les processeurs peut être divisé en quatre étapes : récupération, décodage, exécution et réécriture. Le processeur récupère les instructions dans la mémoire ou le cache haute vitesse, les place dans un registre d'instructions, les décode, puis les exécute. Le concept de programmabilité d'un ordinateur concerne principalement la programmation du processeur.
Qu'est-ce que le MPU ?
Un MPU (Micro Processor Unit), également appelé microprocesseur, est un circuit intégré spécial programmable.
Un MPU est simplement un processeur qui doit être associé à de nombreux autres périphériques, tels que la mémoire, pour constituer un système.
Les microprocesseurs représentent généralement des processeurs puissants (semblables à des processeurs améliorés). Ces puces servent souvent de processeur central dans les ordinateurs et les systèmes haut de gamme.

Ils ont gagné en popularité dans les années 1980, lorsque les micro-ordinateurs et les consoles de jeux ont commencé à utiliser des MPU. Au fil du temps, les MPU ont diminué en taille. Aujourd'hui, seuls les processeurs x86 d'Intel et d'AMD sont considérés comme des MPU. Ces processeurs sont également devenus de plus en plus complexes, et les qualifier de « microprocesseurs » pourrait être quelque peu inadéquat.
Dans le domaine des ordinateurs personnels, on peut observer des cartes mères similaires au schéma ci-dessus. En y ajoutant des composants tels que le processeur, des modules de mémoire, des cartes son, etc., on obtient un système informatique complet. La carte mère dans son ensemble est de grande taille et sa fabrication est complexe.
Qu'est-ce que le MCU ?
Un MCU (Micro Control Unit), également appelé microcontrôleur, désigne un micro-ordinateur dans lequel, avec l'émergence et le développement des circuits intégrés à grande échelle, le processeur central, la mémoire, les minuteries/compteurs, diverses interfaces d'entrée/sortie, etc., sont tous intégrés sur une seule puce. Il peut fonctionner avec un minimum de composants (tels que des résistances, des condensateurs) pour former un système minimal capable d'exécuter du code.

Par rapport aux microprocesseurs à usage général utilisés dans les ordinateurs personnels, un microcontrôleur met l'accent sur l'autosuffisance (il ne dépend pas de matériel externe) et la rentabilité.
Son principal avantage réside dans sa taille compacte, qui permet de l'intégrer dans des appareils, mais il présente une capacité de stockage limitée, des interfaces d'entrée/sortie simples et des fonctionnalités réduites.
Le développement des MCU a connu plusieurs phases, notamment les microcontrôleurs 8 bits 8051, les microcontrôleurs 16 bits AVR et les microcontrôleurs 32 bits STM.
Les MCU intègrent des processeurs et divers modules tels que des contrôleurs USB, des contrôleurs UART, de la mémoire, des mémoires Flash, etc. Avec seulement quelques composants externes, il est possible de construire un système électronique.
Qu'est-ce que SOC et SOPC ?
Un système sur puce (SOC) est un circuit intégré qui intègre un ordinateur ou d'autres systèmes électroniques sur une seule puce.

À titre de comparaison, un MCU est un composant au niveau de la puce, tandis qu'un SOC est un composant au niveau du système. Il combine les avantages des MCU et des MPU, avec une mémoire RAM et une mémoire ROM intégrées, tout en étant aussi puissant qu'un MPU. Il peut stocker et exécuter du code au niveau du système, ce qui signifie qu'il peut faire fonctionner des systèmes d'exploitation (principalement Linux OS).
De plus, le SOPC est un concept qui mérite d'être compris. Comparé aux concepts susmentionnés, le SOPC est moins courant, mais son importance n'en reste pas moins grande.
Le SOPC (System On a Programmable Chip) permet de modifier les configurations matérielles, ce qui signifie que vous pouvez construire votre propre puce.
MCU contre MPU
Le MCU intègre des périphériques sur puce, et vous pouvez ajouter directement des périphériques simples (résistances, condensateurs) pour exécuter le code. Il s'agit essentiellement d'un micro-ordinateur monopuce complet doté d'un processeur et de diverses interfaces. Tout le développement repose sur l'architecture système existante. L'utilisateur doit simplement développer des programmes logiciels et ajouter des périphériques externes.
Le MPU ne dispose pas de périphériques (tels que des matrices de mémoire), c'est un processeur polyvalent hautement intégré, et c'est un MCU qui supprime les périphériques intégrés. Les MCU, tels que la série Cortex-A d'ARM, ne peuvent pas exécuter le code directement, car il s'agit essentiellement d'une version améliorée du CPU, et il faut ajouter la RAM et la ROM correspondantes.
| Feature | Microcontroller (MCU) | Microprocessor (MPU) |
|---|---|---|
| Bit Width | Mainstream: 8-32 bits, Some 64-bit | Minimum: 32 bits, Mainstream: 64-bit |
| Operating Frequency | Several MHz to several hundreds of MHz | Mainstream: From hundreds of MHz to several GHz |
| Architecture | Pipeline or random logic systems are mainstream, with some being superscalar | Superscalar architecture is mainstream |
| Memory Management | Can have some external memory, but main memory is built-in, with some having built-in cache and MMC units | Mainstream to have external memory, with some having built-in cache and MMC units |
| Instruction Set | Basic arithmetic and logic operations, limited DSP and floating-point operation support in high-end versions | Supports a wider range of instructions, including DSP and floating-point operations |
| Price | Low | High |
| Examples | ARM Cortex-M (Designed for small-footprint/low-power controller applications) | ARM Cortex-A (Developed with a focus on high-performance application processors) |




