Arm Advanced Microcontroller Bus Architecture ( AMBA ) は、システムオンチップ(SoC) 設計における機能ブロックの接続と管理のためのオープン標準のオンチップ相互接続仕様です。バスアーキテクチャを備えた多数のコントローラとコンポーネントを備えたマルチプロセッサ設計の開発を容易にします。AMBA はその名前にもかかわらず、その開始以来、マイクロコントローラデバイスをはるかに超えて適用範囲を広げてきました。今日、AMBA は、スマートフォンなどの最新のポータブルモバイルデバイスで使用されるアプリケーションプロセッサを含む、さまざまなASICおよび SoC 部品で広く使用されています。AMBA はArm Ltdの登録商標です。[1]
AMBA は 1996 年に Arm によって導入されました。最初の AMBA バスは、Advanced System Bus (ASB) と Advanced Peripheral Bus (APB) でした。1999 年、2 番目のバージョンである AMBA 2 で、Arm はシングル クロック エッジ プロトコルである AMBA High-performance Bus (AHB) を追加しました。2003 年には、さらに高性能な相互接続を実現する Advanced eXtensible Interface (AXI) と、CoreSight オンチップ デバッグおよびトレース ソリューションの一部として Advanced Trace Bus (ATB) を含む第 3 世代の AMBA 3 を導入しました。2010 年には、AMBA 4 AXI4 から始まる AMBA 4 仕様が導入され、2011 年[2]にはAMBA 4 AXI Coherency Extensions (ACE) によってシステム全体のコヒーレンシが拡張されました。2013 年[3]には、再設計された高速トランスポート層と輻輳を軽減するように設計された機能を備えた AMBA 5 Coherent Hub Interface (CHI) 仕様が導入されました。これらのプロトコルは、十分に文書化されており、ロイヤリティなしで使用できるため、今日では組み込みプロセッサ バス アーキテクチャの 事実上の標準となっています。
設計原則

SoC の重要な側面は、どのようなコンポーネントやブロックを収容するかだけでなく、それらがどのように相互接続されるかです。AMBA は、ブロックが相互に接続するためのソリューションです。
AMBA 仕様の目的は次のとおりです。
- 1つ以上のCPU、GPU、または信号プロセッサを搭載した組み込みマイクロコントローラ製品の初回開発を容易にします。
- 技術に依存せず、多様なICプロセスにわたってIPコア、周辺機器、システムマクロセルの再利用を可能にする。
- プロセッサの独立性を向上させるためのモジュール式システム設計と、再利用可能な周辺機器およびシステムIPライブラリの開発を奨励する
- 高性能かつ低消費電力のオンチップ通信をサポートしながら、シリコン インフラストラクチャを最小限に抑えます。
AMBAプロトコル仕様
AMBA 仕様は、高性能組み込みマイクロコントローラを設計するためのオンチップ通信標準を定義します。業界横断的な幅広い参加により、 Arm Limitedによってサポートされています。
AMBA 5 仕様では、次のバス/インターフェースが定義されています。
- AXI5、AXI5-Lite、ACE5 プロトコル仕様
- 高度な高性能バス (AHB5、AHB-Lite)
- コヒーレントハブインターフェース(CHI)[3]
- 分散翻訳インターフェース (DTI)
- 汎用フラッシュバス (GFB)
AMBA 4 仕様では、次のバス/インターフェースが定義されています。
- AXIコヒーレンシ拡張(ACE) - Cortex-A7やCortex-A15を含む最新のArm Cortex-Aプロセッサで広く使用されています。
- AXI コヒーレンシー拡張 Lite (ACE-Lite)
- 高度拡張インターフェース 4 (AXI4)
- アドバンスト エクステンシブル インターフェイス 4 Lite (AXI4-Lite)
- 高度な拡張インターフェイス 4 ストリーム (AXI4-Stream v1.0)
- アドバンスト トレース バス (ATB v1.1)
- アドバンスト ペリフェラル バス (APB4 v2.0)
- AMBA 低電力インターフェース (Q チャネルと P チャネル)
AMBA 3 仕様では、次の 4 つのバス/インターフェースが定義されています。
- Advanced eXtensible Interface (AXI3 または AXI v1.0) - Cortex-A9を含む Arm Cortex-A プロセッサで広く使用されています。
- アドバンスト ハイパフォーマンス バス ライト (AHB-Lite v1.0)
- アドバンスト ペリフェラル バス (APB3 v1.0)
- アドバンスト トレース バス (ATB v1.0)
AMBA 2 仕様では、次の 3 つのバス/インターフェースが定義されています。
- 高度高性能バス (AHB) - ARM7、ARM9、Arm Cortex-M ベースの設計で広く使用されています。
- アドバンスト システム バス (ASB)
- アドバンスト ペリフェラル バス (APB2 または APB)
AMBA 仕様 (最初のバージョン) では、次の 2 つのバス/インターフェイスが定義されています。
- アドバンスト システム バス (ASB)
- アドバンスト ペリフェラル バス (APB)
バス上のタイミングの側面と電圧レベルは仕様によって規定されません。
AXI コヒーレンシ拡張 (ACE および ACE-Lite)
AMBA 4仕様の一部として定義されているACEは、システム全体の一貫性を導入する追加のシグナリングでAXIを拡張します。 [4]このシステム一貫性により、複数のプロセッサがメモリを共有できるようになり、Armのbig.LITTLE処理などのテクノロジーが可能になります。ACE -Liteプロトコルは、一方向一貫性(I/O一貫性とも呼ばれます)を実現します。たとえば、完全に一貫性のあるACEプロセッサのキャッシュから読み取ることができるネットワークインターフェイスなどです。
高度な拡張インターフェイス (AXI)
AMBA 3 仕様で定義されている第 3 世代の AMBA インターフェイスであるAXI は、高性能、高クロック周波数のシステム設計を対象としており、高速サブマイクロメートル相互接続に適した機能を備えています。
- アドレス/制御フェーズとデータフェーズを分離する
- バイトストローブを使用した非整列データ転送のサポート
- 開始アドレスのみが発行されるバーストベースのトランザクション
- 複数の未処理アドレスの発行と順序不同の応答
- タイミング クローズを実現するためにレジスタ ステージを簡単に追加できます。
アドバンストハイパフォーマンスバス (AHB)
AHB は、 Arm Ltd社が発行した Advanced Microcontroller Bus Architecture バージョン 2 で導入されたバス プロトコルです。
以前のリリースに加えて、次の機能があります。
- 大きなバス幅 (64/128/256/512/1024 ビット)。
AHB 上の単純なトランザクションは、アドレス フェーズとそれに続くデータ フェーズ (待機状態なし: バス サイクルは 2 つだけ) で構成されます。ターゲット デバイスへのアクセスはMUX (非トライステート) を介して制御され、一度に 1 つのバス マスターにバス アクセスを許可します。
AHB-Lite は、 AMBA 3 標準で正式に定義された AHB のサブセットです。このサブセットにより、単一のマスターを持つバスの設計が簡素化されます。
アドバンスト ペリフェラル バス (APB)
APB は、システム周辺機器のレジスタ インターフェイスなど、低帯域幅の制御アクセス用に設計されています。このバスには、AHB に似たアドレスおよびデータ フェーズがありますが、信号リストが大幅に削減され、複雑さが低くなっています (バーストがないなど)。さらに、これは低ビット幅 (32 ビット) の低周波数システム用に設計されたインターフェイスです。
AMBA製品
合成可能な知的財産 ( IP ) コアのファミリであるAMBA 製品は、 Arm Limitedからライセンス供与されており、AMBA プロトコル仕様を使用してデータを効率的に移動および保存するためのデジタル バスを SoC に実装します。AMBA ファミリには、AMBA ネットワーク インターコネクト (CoreLink NIC-400)、キャッシュ コヒーレント インターコネクト (CoreLink CCI-500)、SDRAMメモリ コントローラ (CoreLink DMC-400)、DMAコントローラ (CoreLink DMA-230、DMA-330)、レベル 2 キャッシュ コントローラ (L2C-310) などが含まれます。
多くのメーカーが、ARM 以外の設計に AMBA バスを利用しています。たとえば、Infineon は、MIPS アーキテクチャに基づく ADM5120 SoC に AMBA バスを使用しています。
競合他社
- OpenCoresのWishbone – フリーでオープンなバス アーキテクチャ (以前は Silicore から)
- IBMのCoreConnectバス技術は、 IBM の組み込みPowerPCで使用されているが、Xilinx MicroBlazeや同様のコアを搭載した他の多くのSoC系システムでも使用されている。
- IDTの IPBus
- Avalon – AlteraのNios II SoCで使用するための独自のバスシステム[5]
- Accelleraのオープン コア プロトコル(OCP)
- AMDのHyperTransport (HT) (ただし、これはオンチップ バスではなく、オフチップ インターフェイスです)
- IntelのQuickPath Interconnect (QPI) (ただし、これはオンチップ バスではなく、オフチップ インターフェイスです)
- PICC の仮想共有 - 無料でオープンソース
- TileLink - CHIPS Allianceによる無料かつオープンなバスアーキテクチャ[6]
参照
- 機能仕様
- マスター/スレーブ(テクノロジー)
- バスベースのアーキテクチャに代わるネットワークオンチップ
参考文献
- ^ AMBA 商標ライセンス、http://arm.com/about/trademarks/arm-trademark-list/AMBA-trademark.php
- ^ 新しい AMBA 4 仕様は異種マルチコア SoC のコヒーレンシーを最適化します、https://www.arm.com/new-amba-4-specification-optimizes-coherency-for-heterogeneous-multicore-socs.php
- ^ ab Arm、高性能で拡張性に優れたシステムオンチップ技術を実現する AMBA 5 CHI 仕様を発表、http://www.arm.com/about/newsroom/arm-announces-amba-5-chi-specification-to-enable-high-performance-highly-scalable-system-on-chip.php
- ^ Kriouile, A., & Serwe, W. (2013). キャッシュコヒーレントシステムオンチップの ACE 仕様の形式分析。産業用クリティカルシステムの形式手法 (pp. 108-122)。Springer Berlin Heidelberg、ISBN 978-3-642-41010-9
- ^ アバロン
- ^ “Chips Alliance”. Chips Alliance . 2020年6月21日閲覧。
外部リンク
- Arm Developer AMBAホームページ - Armより
- AMBA仕様ホームページ - ARM
- ARMのAMBA
- AMBA ドキュメント - ARM より
- AHB を含む AMBA 2 仕様 - ARM より
- AMBA AXI および ACE プロトコル仕様 AXI3、AXI4、AXI4-Lite、ACE および ACE-Lite - ARM から
- APB4、APB3、APB2を含むAMBA APB仕様 - ARMより
