Erweiterte Mikrocontroller-Busarchitektur - Advanced Microcontroller Bus Architecture

Die ARM Advanced Microcontroller Bus Architecture ( AMBA ) ist eine On-Chip-Interconnect-Spezifikation mit offenem Standard für die Verbindung und Verwaltung von Funktionsblöcken in System-on-a-Chip- Designs (SoC). Es ermöglicht die Entwicklung von Multiprozessor-Designs mit einer großen Anzahl von Controllern und Komponenten mit einer Busarchitektur . Seit seiner Gründung geht der Anwendungsbereich von AMBA trotz seines Namens weit über Mikrocontroller-Geräte hinaus. Heute wird AMBA häufig auf einer Reihe von ASIC- und SoC-Teilen verwendet, einschließlich Anwendungsprozessoren, die in modernen tragbaren Mobilgeräten wie Smartphones verwendet werden . AMBA ist ein eingetragenes Warenzeichen von ARM Ltd .

AMBA wurde 1996 von ARM eingeführt. Die ersten AMBA-Busse waren der Advanced System Bus (ASB) und der Advanced Peripheral Bus (APB). In seiner zweiten Version, AMBA 2 im Jahr 1999, fügte ARM den AMBA High-Performance Bus (AHB) hinzu, ein Single-Clock-Edge-Protokoll. Im Jahr 2003 führte ARM die dritte Generation, AMBA 3, ein, einschließlich Advanced eXtensible Interface (AXI), um eine noch leistungsfähigere Verbindung zu erreichen, und den Advanced Trace Bus (ATB) als Teil der CoreSight On-Chip Debug- und Trace-Lösung. Im Jahr 2010 wurden die AMBA 4-Spezifikationen eingeführt, beginnend mit AMBA 4 AXI4, dann im Jahr 2011 die systemweite Kohärenz mit AMBA 4 AXI Coherency Extensions (ACE) erweitert. Im Jahr 2013 wurde die AMBA 5 Coherent Hub Interface (CHI)-Spezifikation mit einer neu gestalteten Hochgeschwindigkeits-Transportschicht und Funktionen zur Reduzierung von Staus eingeführt.

Diese Protokolle sind heute der De-facto-Standard für Busarchitekturen mit eingebetteten Prozessoren, da sie gut dokumentiert sind und ohne Lizenzgebühren verwendet werden können.

Design-Prinzipien

AMBA AXI Handschlag

Ein wichtiger Aspekt eines SoCs ist nicht nur, welche Komponenten oder Blöcke darin untergebracht sind, sondern auch, wie sie miteinander verbunden sind. AMBA ist eine Lösung, mit der die Blöcke miteinander verbunden werden können.

Das Ziel der AMBA-Spezifikation ist:

  • die Entwicklung von eingebetteten Mikrocontrollerprodukten mit einer oder mehreren CPUs, GPUs oder Signalprozessoren auf Anhieb zu erleichtern ,
  • technologieunabhängig sein, um die Wiederverwendung von IP-Cores , Peripherie- und Systemmakrozellen über verschiedene IC-Prozesse hinweg zu ermöglichen,
  • Förderung des modularen Systemdesigns zur Verbesserung der Prozessorunabhängigkeit und der Entwicklung wiederverwendbarer Peripherie- und System-IP-Bibliotheken
  • Minimieren Sie die Siliziuminfrastruktur und unterstützen Sie gleichzeitig die On-Chip-Kommunikation mit hoher Leistung und geringem Stromverbrauch.

AMBA-Protokollspezifikationen

Die AMBA-Spezifikation definiert einen On-Chip-Kommunikationsstandard für das Design von Hochleistungs-Embedded-Mikrocontrollern. Es wird von ARM Limited mit breiter branchenübergreifender Beteiligung unterstützt.

Die AMBA 5-Spezifikation definiert die folgenden Busse/Schnittstellen:

  • AXI5, AXI5-Lite und ACE5 Protokollspezifikation
  • Fortschrittlicher Hochleistungsbus (AHB5, AHB-Lite)
  • Kohärente Hub-Schnittstelle (CHI)
  • Verteilte Übersetzungsschnittstelle (DTI)
  • Generischer Flash-Bus (GFB)

Die AMBA 4-Spezifikation definiert folgende Busse/Schnittstellen:

  • AXI Coherency Extensions (ACE) – weit verbreitet auf den neuesten ARM Cortex-A-Prozessoren, einschließlich Cortex-A7 und Cortex-A15
  • AXI Coherency Extensions Lite (ACE-Lite)
  • Erweiterte erweiterbare Schnittstelle 4 (AXI4)
  • Erweiterte erweiterbare Schnittstelle 4 Lite (AXI4-Lite)
  • Erweiterte erweiterbare Schnittstelle 4 Stream (AXI4-Stream v1.0)
  • Erweiterter Trace-Bus (ATB v1.1)
  • Erweiterter Peripheriebus (APB4 v2.0)
  • AMBA Low Power Interfaces (Q-Kanal und P-Kanal)

Die AMBA 3-Spezifikation definiert vier Busse/Schnittstellen:

  • Advanced eXtensible Interface (AXI3 oder AXI v1.0) – weit verbreitet auf ARM Cortex-A-Prozessoren einschließlich Cortex-A9
  • Advanced High-Performance Bus Lite (AHB-Lite v1.0)
  • Erweiterter Peripheriebus (APB3 v1.0)
  • Erweiterter Trace-Bus (ATB v1.0)

Die AMBA 2-Spezifikation definiert drei Busse/Schnittstellen:

  • Advanced High-Performance Bus (AHB) - weit verbreitet in ARM7-, ARM9- und ARM Cortex-M-basierten Designs
  • Erweiterter Systembus (ASB)
  • Erweiterter Peripheriebus (APB2 oder APB)

Die AMBA-Spezifikation (Erste Version) definiert zwei Busse/Schnittstellen:

  • Erweiterter Systembus (ASB)
  • Erweiterter Peripheriebus (APB)

Die zeitlichen Aspekte und die Spannungspegel auf dem Bus werden nicht durch die Spezifikationen vorgegeben.

AXI-Kohärenzerweiterungen (ACE und ACE-Lite)

ACE , definiert als Teil der AMBA 4-Spezifikation, erweitert AXI um zusätzliche Signalisierung, die systemweite Kohärenz einführt. Diese Systemkohärenz ermöglicht es mehreren Prozessoren, den Speicher gemeinsam zu nutzen, und ermöglicht Technologien wie die big.LITTLE- Verarbeitung von ARM . Das ACE-Lite- Protokoll ermöglicht unidirektionale Kohärenz, auch bekannt als I/O-Kohärenz; B. eine Netzwerkschnittstelle, die aus den Caches eines vollständig kohärenten ACE-Prozessors lesen kann.

Erweiterte erweiterbare Schnittstelle (AXI)

AXI , die dritte Generation der AMBA-Schnittstelle, die in der AMBA 3-Spezifikation definiert ist, zielt auf hochleistungsfähige Systemdesigns mit hoher Taktfrequenz ab und umfasst Funktionen, die es für Hochgeschwindigkeits-Submikrometer-Verbindungen geeignet machen:

  • getrennte Adress-/Steuer- und Datenphasen
  • Unterstützung für nicht ausgerichtete Datenübertragungen mit Byte-Strobes
  • Burst-basierte Transaktionen mit nur ausgegebener Startadresse
  • Ausgabe mehrerer ausstehender Adressen mit nicht geordneten Antworten
  • einfaches Hinzufügen von Registerstufen, um ein Timing-Schließen zu ermöglichen.

Fortschrittlicher Hochleistungsbus (AHB)

AHB ist ein Busprotokoll, das in der Advanced Microcontroller Bus Architecture Version 2 eingeführt wurde, die von der Firma ARM Ltd veröffentlicht wurde .

Zusätzlich zur vorherigen Version bietet es die folgenden Funktionen:

  • große Busbreiten (64/128/256/512/1024 Bit).

Eine einfache Transaktion auf dem AHB besteht aus einer Adressphase und einer anschließenden Datenphase (ohne Wartezustände: nur zwei Buszyklen). Der Zugriff auf das Zielgerät wird durch einen MUX (Nicht-Tristate) gesteuert , wodurch der Buszugriff jeweils nur einem Bus-Master ermöglicht wird.

AHB-Lite ist eine Teilmenge von AHB, die formal im AMBA 3-Standard definiert ist. Diese Untermenge vereinfacht das Design für einen Bus mit einem einzigen Master.

Erweiterter Peripheriebus (APB)

APB ist für Steuerungszugriffe mit geringer Bandbreite ausgelegt, beispielsweise für Registerschnittstellen an Systemperipheriegeräten. Dieser Bus hat eine Adress- und Datenphase ähnlich dem AHB, aber eine stark reduzierte Signalliste geringer Komplexität (beispielsweise keine Bursts). Darüber hinaus handelt es sich um eine Schnittstelle, die für ein Niederfrequenzsystem mit geringer Bitbreite (32 Bit) ausgelegt ist.

AMBA-Produkte

Eine Familie von synthetisierbaren Intellectual Property ( IP )-Cores AMBA Products ist von ARM Limited lizenzierbar , die einen digitalen Bus in einem SoC zum effizienten Verschieben und Speichern von Daten unter Verwendung der AMBA-Protokollspezifikationen implementieren. Die AMBA-Familie umfasst AMBA Network Interconnect (CoreLink NIC-400), Cache Coherent Interconnect (CoreLink CCI-500), SDRAM- Speichercontroller (CoreLink DMC-400), DMA- Controller (CoreLink DMA-230, DMA-330), Level-2-Cache Controller (L2C-310) usw.

Eine Reihe von Herstellern verwenden AMBA-Busse für Nicht-ARM-Designs. Als Beispiel verwendet Infineon einen AMBA-Bus für den ADM5120-SoC auf Basis der MIPS-Architektur .

Konkurrenten

Siehe auch

Verweise

Externe Links