Ist ARM ein Mikroprozessor oder ein Mikrocontroller?

18

Es fiel mir schwer zu wissen, ob ARM ein Mikroprozessor oder ein Mikrocontroller ist oder etwas anderes?

Abhijit K Rao
quelle

Antworten:

41

Weder.

ARM ist eine CPU-Architektur (genauer gesagt eine Familie verwandter CPU-Architekturen). Wenn Sie diese CPU (oder eine andere) von sich aus auf einen Chip setzen, haben Sie einen Mikroprozessor (wie in den uralten Acorn-Maschinen). Wenn Sie es mit ROM (Flash), RAM und Peripheriegeräten auf einem Chip kombinieren, haben Sie einen Mikrocontroller (Beispiel: LPC2148).

Wenn Sie die CPU mit ROM und RAM kombinieren, können die Dinge etwas matschig werden, aber Sie können auch die Daten-, Adress- und Steuerleitungen auf den Pins bereitstellen, sodass externer Speicher hinzugefügt werden kann. Ein solcher Chip kann entweder im Mikrocontroller-Modus oder im Mikroprozessor-Modus verwendet werden. (Beispiel: LPC2478)

Heutzutage sind kleinere Systeme (bis zu 0,5 MB Flash, einige 10 KB RAM) als Mikrocontroller verfügbar. Größere Systeme (in der Regel unter Linux oder ähnlichen Betriebssystemen) bestehen in der Regel aus einem Mikroprozessor mit externem RAM. (ROM kann auch extern sein oder ein kleines Boot-ROM auf dem Chip + eine SD-Karte oder ähnliches). Beispiele: Das Raspberry Pi und andere kleine Linux-Boards, der ESP8266 oder ein beliebiges Mobiltelefon, eine Set-Top-Box, ein Modem / Router usw. öffnen.

Witzige Anmerkung: Mikrocontroller haben in der Regel zu wenig Arbeitsspeicher, daher die Ausführung von Flash, was häufig die Geschwindigkeit einschränkt. Mikroprozessoren haben oft viel RAM, haben einen langsameren Flash, aus dem der Code und die Daten zur Ausführung in den RAM geladen werden.

Heutzutage (2015) ist der Begriff ARM zunehmend verwirrend, da er sich auf das Unternehmen beziehen kann, das die ARM-Designs herstellt, oder auf eines der Designs. (Das ARM-Unternehmen selbst stellt keine Chips her, sondern lizenziert seine Designs an Chiphersteller.) Die jüngste Cortex-Designfamilie unterscheidet sich hinreichend von den alten ARM-Designs, die ich lieber nicht als ARM bezeichne.

Wouter van Ooijen
quelle
Ich würde vorschlagen, dass eine sinnvolle Unterteilung zwischen Mikroprozessoren und Mikrocontrollern darin besteht, zu sagen, dass letztere genügend Material auf dem Chip haben, um zumindest einigermaßen nützlich zu laufen, ohne dass ein RAM oder ROM angeschlossen ist. Die einzigen trüben Fälle wären Vorrichtungen, die Platz für ein Masken-ROM enthalten, jedoch häufig ohne irgendeinen nützlichen Code darin verkauft werden. Ich würde solche Geräte als Mikrocontroller betrachten, wenn ihr Benutzerverhalten im Wesentlichen nicht von dem Verhalten eines Geräts zu unterscheiden wäre, dessen Masken-ROM "programmiert", aber von außen deaktiviert ist.
Supercat
@supercat: Meine Unterteilung würde sich nicht danach richten, wie es verwendet werden kann, sondern danach, wie es verwendet wird (oder vielleicht danach, wie es verwendet werden soll). Ihrer Meinung nach wäre der LPC2478 ein Mikrocontroller, ich halte ihn für einen Hybrid.
Wouter van Ooijen
Mit 98K On-Board-RAM und 512K On-Board-Flash klingt es sicherlich so, als ob es in Systemen ohne externen Speicher durchaus sinnvoll eingesetzt werden könnte. Bei einem kurzen Blick auf das Datenblatt würde ich dieses als "Mikrocontroller" -Lager betrachten und es nicht als engen Anruf ansehen.
Supercat
Ich weiß, dass du es nicht tust, aber ich tue es. Der Chip wird (oder wurde) regelmäßig verwendet, um beispielsweise Linux zu betreiben, und ich denke, dass er zwar durchaus als Mikrocontroller verwendet werden kann, aber nicht (nur) als Mikrocontroller.
Wouter van Ooijen
Vielleicht steckt alles im Namen? Ein Mikrocontroller ist ein Chip mit einer CPU, die hauptsächlich für die Steuerung anderer Komponenten / Chips entwickelt und verwendet wird, aber dennoch Daten verarbeiten kann. Ein Mikroprozessor ist ein Chip mit einer CPU, die hauptsächlich für die Verarbeitung von Daten entwickelt und verwendet wird, aber natürlich auch andere Komponenten (wie zum Beispiel externes RAM) steuern muss.
Pål-Kristian Engstad
13

Technisch gesehen ist ARM ein Mikroprozessor oder genauer gesagt eine Mikroprozessorarchitektur. Zu verstehen ist jedoch, dass es sich nicht um einen physischen Mikroprozessor handelt, sondern um das Design, mit dem man einen bauen kann.

ARM Holdings ist ein multinationaler Halbleiterkonzern, der keine CPU herstellt. Stattdessen entwerfen sie sie und verkaufen die Architektur dann unter Lizenz. Die Designs werden sowohl zum Bau von Mikroprozessoren als auch von Mikrocontrollern verwendet. Was ARM bietet, ist jedoch nur der Kern.

Es ist auch falsch zu sagen, dass es sich um einen Mikrocontroller handelt, da der Hersteller den ARM-Kern nimmt und alle Peripheriegeräte um ihn herum baut.

Clabacchio
quelle
9

Keiner (und beide)

ARM ist ein Unternehmen, das CPU-Kerne lizenziert.

Der ARM-Kern kann und wird von vielen Unternehmen verwendet, um sowohl Mikrocontroller als auch Mikroprozessoren herzustellen.

Toby Jaffey
quelle
1

ARM ist der Kern für Mikroprozessor und Mikrocontroller. ARM basiert auf der CPU-Architektur. Wenn ARM mit Speichern (RAM und ROM) auf einem einzelnen Chip kombiniert wird, kann dies als Mikrocontroller bezeichnet werden, der Speicher ist jedoch begrenzt, wenn es sich um einen Mikroprozessor handelt RAM und ROM sind extern verbunden, die Geschwindigkeit wird höher sein.

user52027
quelle