Unterschied zwischen Prozessoren der ARM A- und M-Serie?

Wenn ich das frage, denke ich an Mikrocontroller, was ist der Unterschied zwischen den ARM-Prozessoren der A- und M-Serie. Viele Mikrocontroller wie Beagle Bone haben jetzt eine Art Cortex?

Antworten (2)

ARM-Architekturprofile

Die ARM-Architekturprofile sind:

Anwendungsprofil (Cortex-A)

Anwendungsprofile implementieren eine traditionelle ARM-Architektur mit mehreren Modi und unterstützen eine virtuelle Speichersystemarchitektur basierend auf einer MMU. Diese Profile unterstützen sowohl ARM- als auch Thumb-Befehlssätze.

Echtzeitprofil (Cortex-R)

Echtzeitprofile implementieren eine herkömmliche ARM-Architektur mit mehreren Modi und unterstützen eine geschützte Speichersystemarchitektur auf Basis einer MPU.

Mikrocontroller-Profil (Cortex-M)

Mikrocontrollerprofile implementieren ein Programmiermodell, das für eine schnelle Interrupt-Verarbeitung entwickelt wurde, mit Hardware-Stapeln von Registern und Unterstützung für das Schreiben von Interrupt-Handlern in Hochsprachen. Der Prozessor ist für die Integration in ein FPGA ausgelegt und eignet sich ideal für den Einsatz in Anwendungen mit sehr geringem Stromverbrauch.

Quelle

"Der Prozessor ist für die Integration in ein FPGA ausgelegt und eignet sich ideal für den Einsatz in Anwendungen mit sehr geringem Stromverbrauch." - vielleicht war das einst ein Designkriterium, aber so wird Cortex-m sicherlich nicht am häufigsten verwendet.

Die ARM-CPUs der M-Serie haben einen kleinen Befehlssatz, oft keine Gleitkommaeinheit, keine Speicherverwaltung, keinen Cache. Sie sind eher auf niedrige Kosten als auf hohe Leistung optimiert. Sie werden im Allgemeinen mit FLASH, RAM und Peripheriegeräten zu einem Mikrocontroller-Chip kombiniert. Sie werden hauptsächlich zur Steuerung von Hardware verwendet und entweder Bare-Metal (ohne Bibliotheken) programmiert oder mit einigen Bibliotheken verknüpft, die OS-ähnliche Funktionen bereitstellen könnten. ARM sieht diese CPUs gerne als 8-Bit- und 16-Bit-Mikrocontroller-Killer.

Die ARM-CPUs der A-Serie haben einen größeren Befehlssatz (von dem der M-Befehlssatz eine kleine Teilmenge ist) und sie haben oft (immer?) eine Gleitkommaeinheit, eine Speicherverwaltungseinheit und Cache(s). Sie sind eher auf hohe Leistung als auf niedrige Kosten optimiert (aber immer noch auf hohe Leistung pro Leistungseinheit optimiert). Sie werden im Allgemeinen als Mikroprozessor verkauft (häufig kombiniert mit High-End-Peripheriegeräten wie Ethernet, Video, MPEG-Decoder), die mit Off-Chip-RAM und FLASH kombiniert werden sollen. Sie führen oft einige Betriebssysteme aus, oft Linux, mit einer Trennung zwischen Betriebssystemspeicherplatz und Speicherplatz für Anwendungsprogramme. ARM sieht diese CPUs gerne als DIE Wahl für Mobiltelefone und Tablets (in Konkurrenz zu den Intel-CPUs).

Sehr kurze Zusammenfassung: M steht für (High-End-)Mikrocontroller, A steht für den Betrieb von Linux auf batteriebetriebenen Geräten.