ARM est-il un microprocesseur ou un microcontrôleur?

18

J'ai eu du mal à savoir si ARM est un microprocesseur ou un microcontrôleur ou autre chose?

Abhijit K Rao
la source

Réponses:

41

Ni.

ARM est une architecture CPU (plus précise, une famille d'architectures CPU associées). Si vous mettez ce CPU (ou tout autre) CPU sur une puce à lui tout seul, vous avez un microprocesseur (comme ils le faisaient dans les vieilles machines Acorn). Si vous le combinez avec ROM (Flash), RAM et périphériques sur une seule puce, vous avez un microcontrôleur (exemple: LPC2148).

Les choses peuvent devenir un peu boueuses lorsque vous combinez le CPU avec la ROM et la RAM, mais fournissez également les données, l'adresse et les lignes de contrôle sur les broches, de sorte que la mémoire externe peut être ajoutée. Une telle puce est utilisable soit en mode microcontrôleur, soit en mode microprocesseur. (exemple: LPC2478)

De nos jours, des systèmes plus petits (jusqu'à 0,5 Mo de mémoire Flash, quelques 10 Ko de RAM) sont disponibles en tant que microcontrôleur. Les systèmes plus grands (exécutant généralement Linux ou quelque chose de similaire) sont généralement composés d'un microprocesseur avec RAM externe. (La ROM peut également être externe, ou un petit boot-rom sur puce + une carte SD ou similaire). Exemples: le Raspberry Pi et d'autres petites cartes Linux, l'ESP8266, ou ouvrez n'importe quel téléphone mobile, décodeur, modem / routeur, etc.

Note amusante: les microcontrôleurs ont tendance à manquer de RAM, d'où la course depuis Flash, qui limite souvent leur vitesse. Les microprocesseurs ont souvent beaucoup de RAM, un Flash plus lent, à partir duquel le code et les données sont chargés dans la RAM pour l'exécution.

De nos jours (2015), le terme ARM est de plus en plus déroutant, car il peut désigner la société qui fabrique les conceptions ARM ou l'une des conceptions. (La société ARM elle-même ne fabrique pas de puces, elle concède sous licence ses conceptions aux fabricants de puces.) La récente «famille» de conceptions Cortex est suffisamment différente des anciennes conceptions ARM que je préfère ne pas l'appeler «ARM».

Wouter van Ooijen
la source
Je dirais qu'un partage utile entre les microprocesseurs et les microcontrôleurs est de dire que ces derniers ont suffisamment de trucs sur puce pour fonctionner au moins assez utilement sans RAM ou ROM attachée. Les seuls cas troubles seraient des appareils qui incluent un espace pour la ROM de masque, mais sont souvent vendus sans code utile. Je considérerais de tels dispositifs comme des microcontrôleurs si leur comportement en cours d'utilisation était essentiellement indiscernable du comportement de celui dont la ROM de masque était "programmée" mais désactivée de l'extérieur.
supercat
@supercat: Ma division ne serait pas basée sur «comment elle peut être utilisée» mais plutôt sur «comment elle est utilisée» (ou peut-être «comment elle est destinée à être utilisée»). Selon vous, le LPC2478 serait un microcontrôleur, je le considère comme un hybride.
Wouter van Ooijen
Avec 98 Ko de RAM intégrée et 512 Ko de mémoire flash intégrée, il semble que cela puisse être utilisé de manière très utile dans des systèmes sans mémoire externe; d'un rapide coup d'œil à la fiche technique, je considérerais celle-ci comme étant dans le camp des "microcontrôleurs", et je ne la considérerais pas comme un appel de près.
supercat
Je sais que non, mais je le fais. La puce est (ou était) régulièrement utilisée pour exécuter Linux par exemple, donc je pense que même si elle peut certainement être utilisée comme microcontrôleur, ce n'est pas (seulement) un microcontrôleur.
Wouter van Ooijen
Peut-être que tout est dans le nom? Un microcontrôleur est une puce avec un processeur principalement conçu et utilisé pour contrôler d'autres composants / puces, bien qu'il soit toujours capable de traiter des données. Un microprocesseur est une puce avec un processeur principalement conçu et utilisé pour le traitement des données, bien qu'il doive aussi évidemment contrôler d'autres composants (comme par exemple la RAM externe).
Pål-Kristian Engstad
13

Techniquement, ARM est un microprocesseur ou, plus précisément, une architecture de microprocesseur. La chose à comprendre, cependant, est qu'il ne représente pas un microprocesseur physique , mais la conception qui permet d'en construire un.

ARM Holdings est un groupe multinational de semi-conducteurs qui ne fabrique aucun CPU; au lieu de cela, ils les conçoivent puis vendent l'architecture sous licence. Les conceptions sont utilisées pour construire des microprocesseurs ainsi que des microcontrôleurs, mais ce que fournit ARM n'est que le cœur.

Il est également faux de dire que c'est un microcontrôleur, car c'est le fabricant qui prend le cœur ARM et construit tous les périphériques autour de lui.

clabacchio
la source
9

Ni (ni les deux)

ARM est une entreprise qui octroie des licences pour les cœurs de processeur.

Le cœur ARM peut être et est utilisé par de nombreuses entreprises pour fabriquer à la fois des microcontrôleurs et des microprocesseurs.

Toby Jaffey
la source
1

ARM est au cœur du microprocesseur et du microcontrôleur. ARM est basé sur l'architecture du processeur, donc nous l'appelons généralement avec un microprocesseur lorsqu'il est placé sur une puce si ARM est combiné avec des mémoires (RAM et ROM) sur une seule puce, nous pouvons l'appeler avec un micro-contrôleur, il a une mémoire limitée mais en venant au microprocesseur RAM et ROM sont connectés en externe, la vitesse sera plus.

user52027
la source