ARM9 - ARM9

ARM9T
Allgemeine Information
Entworfen von ARM-Bestände
Architektur und Klassifizierung
Mikroarchitektur ARMv4T
Befehlssatz ARM (32-Bit) ,
Daumen (16-Bit)
ARM9E
Architektur und Klassifizierung
Mikroarchitektur ARMv5TE
Befehlssatz ARM (32-Bit) ,
Daumen (16-Bit)
ARM9EJ
Architektur und Klassifizierung
Mikroarchitektur ARMv5TEJ
Befehlssatz ARM (32-Bit) ,
Daumen (16-Bit) ,
Jazelle (8-Bit)

ARM9 ist eine Gruppe älterer 32-Bit- RISC- ARM- Prozessorkerne, die von ARM Holdings für die Verwendung von Mikrocontrollern lizenziert wurden . Die ARM9-Kernfamilie besteht aus ARM9TDMI, ARM940T, ARM9E-S, ARM966E-S, ARM920T, ARM922T, ARM946E-S, ARM9EJ-S, ARM926EJ-S, ARM968E-S, ARM996HS. Da ARM9-Kerne von 1998 bis 2006 veröffentlicht wurden , werden sie für neue IC-Designs nicht mehr empfohlen, stattdessen werden ARM-Cortex-A- , ARM-Cortex-M- , ARM-Cortex-R- Kerne bevorzugt.

Überblick

Mit diesem Design Generation bewegte ARM aus einer von Neumann - Architektur (Architektur Princeton) an eine (modifizierte, was bedeutet , Split - Cache) Harvard - Architektur mit separaten Befehls- und Datenbus (und Caches), signifikant sein Potential Geschwindigkeit erhöht wird . Die meisten Siliziumchips, die diese Kerne integrieren, werden sie als Chips mit modifizierter Harvard-Architektur packen, die die beiden Adressbusse auf der anderen Seite getrennter CPU-Caches und eng gekoppelter Speicher kombinieren .

Es gibt zwei Unterfamilien, die unterschiedliche ARM-Architekturversionen implementieren.

Unterschiede zu ARM7-Kernen

Zu den wichtigsten Verbesserungen gegenüber ARM7- Kernen, die durch den Einsatz von mehr Transistoren ermöglicht werden, gehören:

  • Verringerte Wärmeproduktion und geringeres Überhitzungsrisiko.
  • Verbesserungen der Taktfrequenz. Durch den Wechsel von einer dreistufigen Pipeline zu einer fünfstufigen kann die Taktgeschwindigkeit bei demselben Siliziumherstellungsprozess ungefähr verdoppelt werden.
  • Verbesserungen bei der Zykluszählung. Es wurde gemessen, dass viele unmodifizierte ARM7-Binärdateien etwa 30 % weniger Zyklen benötigen, um auf ARM9-Kernen ausgeführt zu werden. Zu den wichtigsten Verbesserungen gehören:
    • Schnelleres Laden und Speichern; viele Anweisungen kosten jetzt nur noch einen Zyklus. Dies wird sowohl durch die modifizierte Harvard-Architektur (Reduzierung von Bus- und Cache-Konflikten) als auch durch die neuen Pipeline-Stufen unterstützt.
    • Offenlegung von Pipeline-Interlocks, wodurch Compiler-Optimierungen ermöglicht werden, um Blockierungen zwischen den Phasen zu reduzieren.

Darüber hinaus enthalten einige ARM9-Kerne "Enhanced DSP"-Befehle, wie beispielsweise eine Multiplikations-Akkumulation, um effizientere Implementierungen von digitalen Signalverarbeitungsalgorithmen zu unterstützen .

Das Umschalten von einer von Neumann-Architektur erforderte die Verwendung eines nicht vereinheitlichten Caches, so dass Befehlsabrufe keine Daten räumen (und umgekehrt). ARM9-Kerne verfügen über separate Daten- und Adressbussignale, die Chipdesigner auf verschiedene Weise verwenden. In den meisten Fällen verbinden sie zumindest einen Teil des Adressraums im von Neumann-Stil, der sowohl für Befehle als auch Daten verwendet wird, normalerweise mit einer AHB- Verbindung, die mit einer DRAM- Schnittstelle und einer externen Busschnittstelle verbunden ist, die mit NOR-Flash- Speicher verwendet werden kann. Solche Hybriden sind keine reinen Prozessoren mit Harvard-Architektur mehr.

ARM-Lizenz

ARM Holdings produziert und vertreibt weder CPU-Geräte auf Basis eigener Designs, sondern lizenziert die Prozessorarchitektur an interessierte Parteien. ARM bietet eine Vielzahl von Lizenzbedingungen mit unterschiedlichen Kosten und Leistungen. Allen Lizenznehmern bietet ARM eine integrierbare Hardwarebeschreibung des ARM-Kerns sowie ein komplettes Softwareentwicklungs-Toolset und das Recht, hergestelltes Silizium mit der ARM-CPU zu verkaufen .

Silikon-Anpassung

Hersteller integrierter Geräte (IDM) erhalten das ARM-Prozessor- IP als synthetisierbares RTL (geschrieben in Verilog ). In dieser Form haben sie die Möglichkeit, Optimierungen und Erweiterungen auf Architekturebene durchzuführen. Auf diese Weise kann der Hersteller benutzerdefinierte Designziele erreichen, wie z. B. höhere Taktgeschwindigkeit, sehr geringer Stromverbrauch, Befehlssatzerweiterungen, Größenoptimierungen, Debug-Unterstützung usw. Um zu bestimmen, welche Komponenten in einem bestimmten ARM-CPU-Chip enthalten sind, konsultieren Sie die Herstellerdatenblatt und zugehörige Dokumentation.

Kerne

Jahr ARM9-Kerne
1998 ARM9TDMI
1998 ARM940T
1999 ARM9E-S
1999 ARM966E-S
2000 ARM920T
2000 ARM922T
2000 ARM946E-S
2001 ARM9EJ-S
2001 ARM926EJ-S
2004 ARM968E-S
2006 ARM996HS

Die Multicore-Prozessoren der ARM MPCore-Familie unterstützen Software, die entweder nach dem asymmetrischen ( AMP ) oder symmetrischen ( SMP ) Multiprozessor-Programmierparadigma geschrieben wurde . Für die AMP-Entwicklung kann jede zentrale Verarbeitungseinheit innerhalb des MPCore als unabhängiger Prozessor betrachtet werden und kann als solcher traditionellen Einzelprozessor-Entwicklungsstrategien folgen.

ARM9TDMI

ARM9TDMI ist ein Nachfolger des beliebten ARM7TDMI- Kerns und basiert ebenfalls auf der ARMv4T- Architektur. Darauf basierende Kerne unterstützen sowohl 32-Bit-ARM- als auch 16-Bit-Thumb-Befehlssätze und umfassen:

  • ARM920T mit je 16 KB I/D-Cache und einer MMU
  • ARM922T mit je 8 KB I/D-Cache und einer MMU
  • ARM940T mit Cache und einer Memory Protection Unit (MPU)

ARM9E-S und ARM9EJ-S

ARM9E und sein Geschwister ARM9EJ implementieren die grundlegende ARM9TDMI- Pipeline, fügen jedoch Unterstützung für die ARMv5TE- Architektur hinzu, die einige DSP-ähnliche Befehlssatzerweiterungen enthält. Außerdem wurde die Breite der Multiplizierereinheit verdoppelt, wodurch die für die meisten Multiplikationsoperationen erforderliche Zeit halbiert wurde. Sie unterstützen 32-Bit-, 16-Bit- und manchmal 8-Bit-Befehlssätze.

  • ARM926EJ-S mit ARM- Jazelle- Technologie, die die direkte Ausführung von 8-Bit- Java-Bytecode in Hardware ermöglicht, und einer MMU
  • ARM946
  • ARM966
  • ARM968

Die Grafikrechner TI-Nspire CX (2011) und CX II (2019) verwenden einen ARM926EJ-S-Prozessor, der mit 132 bzw. 396 MHz getaktet ist.

Chips

Nintendo DSi hat einen Chip mit einem ARM9- und ARM7-Kern
ARM946E-S-Basisbandprozessor auf einem Samsung SGH-D900- Telefon
ARM920T
ARM926EJ-S
ARM940T
ARM966E-S
Nicht referenzierter ARM9-Kern

Dokumentation

Die Menge an Dokumentation für alle ARM-Chips ist vor allem für Neueinsteiger erschreckend. Die Dokumentation für Mikrocontroller der letzten Jahrzehnte wäre leicht in einem einzigen Dokument enthalten, aber mit der Entwicklung der Chips ist auch die Dokumentation gewachsen. Die Gesamtdokumentation ist für alle ARM-Chips besonders schwer zu fassen, da sie aus Dokumenten des IC-Herstellers und Dokumenten des CPU-Core-Herstellers ( ARM Holdings ) besteht.

Ein typischer Top-Down-Dokumentationsbaum ist: High-Level-Marketingfolien, Datenblatt für den genauen physischen Chip, ein detailliertes Referenzhandbuch, das gängige Peripheriegeräte und andere Aspekte von physischen Chips innerhalb derselben Serie beschreibt, Referenzhandbuch für den genauen ARM-Core-Prozessor innerhalb dem Chip, Referenzhandbuch für die ARM-Architektur des Kerns, das eine detaillierte Beschreibung aller Befehlssätze enthält.

Dokumentationsbaum (von oben nach unten)
  1. Marketingfolien von IC-Herstellern.
  2. Datenblätter der IC-Hersteller.
  3. Referenzhandbücher der IC-Hersteller.
  4. ARM-Kern-Referenzhandbücher.
  5. Referenzhandbücher zur ARM-Architektur.

Der IC-Hersteller verfügt über zusätzliche Dokumente, darunter: Benutzerhandbücher für Evaluationsboards, Anwendungshinweise, erste Schritte mit Entwicklungssoftware, Softwarebibliotheksdokumente, Errata und mehr.

Siehe auch

Verweise

Externe Links

Offizielle ARM9-Dokumente
Kurzübersichtskarten
  • Anleitung: Thumb ( 1 ), ARM und Thumb-2 ( 2 ), Vector Floating Point ( 3 )
  • Opcodes: Thumb ( 1 , 2 ), ARM ( 3 , 4 ), GNU-Assembler-Direktiven 5 .