Wenn ich das frage, denke ich an Mikrocontroller, was ist der Unterschied zwischen ARM-Prozessoren der A- und M-Serie. Viele Mikrocontroller wie Beagle Bone haben jetzt eine Art Cortex?
Wenn ich das frage, denke ich an Mikrocontroller, was ist der Unterschied zwischen ARM-Prozessoren der A- und M-Serie. Viele Mikrocontroller wie Beagle Bone haben jetzt eine Art Cortex?
Antworten:
ARM-Architekturprofile
Die ARM-Architekturprofile sind:
Anwendungsprofil (Cortex-A)
Anwendungsprofile implementieren eine traditionelle ARM-Architektur mit mehreren Modi und unterstützen eine auf einer MMU basierende virtuelle Speichersystemarchitektur. Diese Profile unterstützen sowohl ARM- als auch Thumb-Befehlssätze.
Echtzeitprofil (Cortex-R)
Echtzeitprofile implementieren eine traditionelle ARM-Architektur mit mehreren Modi und unterstützen eine geschützte Speichersystemarchitektur basierend auf einer MPU.
Mikrocontroller-Profil (Cortex-M)
Mikrocontroller-Profile implementieren ein Programmierermodell, das für eine schnelle Interrupt-Verarbeitung ausgelegt ist, mit Hardware-Stapelung von Registern und Unterstützung für das Schreiben von Interrupt-Handlern in Hochsprachen. Der Prozessor ist für die Integration in ein FPGA konzipiert und eignet sich ideal für Anwendungen mit sehr geringem Stromverbrauch.
Die ARM-CPUs der M-Serie verfügen über einen kleinen Befehlssatz, häufig keine Gleitkommaeinheit, keine Speicherverwaltung und 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 betriebssystemähnliche Funktionen bieten 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 häufig (immer?) Eine Gleitkommaeinheit, eine Speicherverwaltungseinheit und Cache (s). Sie sind eher für hohe Leistung als für niedrige Kosten optimiert (aber immer noch für 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), der mit Off-Chip-RAM und FLASH kombiniert werden soll. Sie führen häufig ein Betriebssystem aus, häufig Linux, mit einer Trennung zwischen Betriebssystembereich und Speicherplatz für Anwendungsprogramme. ARM sieht diese CPUs gerne als DIE Wahl für Mobiltelefone und Tablets (im Wettbewerb mit den Intel-CPUs).
Sehr kurze Zusammenfassung: M ist für (High-End-) Mikrocontroller, A für die Ausführung von Linux auf batteriebetriebenen Geräten.