AMBA 3.0に追加された高性能バス用のAXI仕様 ―― チャネル方式を導入し従来のAMBAバスから大きく変更
2)バースト・ベース・トランザクション
AXI仕様のトランザクションはバースト転送を前提としています(もちろん単一データ転送もできる).高性能システムでは,ほとんどの場合CPUにキャッシュ・メモリが搭載されており,メイン・メモリとのデータ転送は,キャッシュ・メモリのラインフィルまたはライン排出によるバースト転送が大半を占めます.また,連続的なストリーミング・データは一般的に一定量のバースト転送を繰り返します.このため,バースト転送を前提としたトランザクションがシステムの性能向上に寄与します.
AHB仕様では,バースト転送の際にもバス・マスタがデータ一つずつにアドレスを生成していました(図8).AXI仕様では,バースト転送されるデータのアドレスについては先頭のアドレスを送るだけでよく,後続のデータのアドレス生成はスレーブ側が責任を持ちます.このため,アドレス・チャネルの転送量はほかのチャネルと比べて格段に低くできます.
〔図8〕バースト転送のデータのアドレスは先頭だけを指定
AHB仕様では,バースト転送の場合も,それぞれのアドレスをマスタで指定していた.
3)複数アドレス発行
バスの効率的な利用という観点からは,動作の遅いスレーブ・デバイスの存在は非常につごうの悪いものです.従来型のバスでは,一つのトランザクションが終了してから次を発行します.そのため,いったん遅いデバイスにアクセスしてしまうと,そのトランザクションが終了するまでバス全体が占有されてしまいます.
AXI仕様では,先に発行したアドレスのトランザクションが終了する前に,次のアドレスを複数発行できます(複数アドレス発行).発行されたアドレスに対応するトランザクションは,アウトオブオーダ(out-of-order)で完了できます(すなわち,発行したアドレスの順番とは関係なくトランザクションを終了できる.詳しくは後述する).
4)制御情報の追加
高性能システムで必要とされる2次キャッシュを接続したり,プロセッサに追加されるセキュリティ機能に対応するために,AXI仕様では以下の信号を定義しています.
・システム・キャッシュを接続するための信号
・セキュア・アクセスを示す信号
5)排他アクセスの追加
マルチプロセッサ構成の場合,プロセッサ間の同期動作を実現するためにセマフォなどが利用されます.セマフォを実現するためには,セマフォ処理の間,ほかのプロセッサ処理が割り込めないように排他処理を施す必要があります.AHBではこれを特定のバス・マスタがバスを占有するバス・ロックで実現しており,その間ほかのバス・マスタはバスを使用できませんでした.AXIでは該当アドレスに対して排他アクセスを行う方法を採り,バスが占有されないようになっています(詳細は後述する).
6)バイト・レーン・ストローブ信号
データ・バス幅より幅の狭いデータを転送する場合にどのバイト・レーンに有効なデータがあるかを示す信号(バイト・レーン・ストローブ信号)が追加されました.
7)低消費電力化
消費電力を低減するため,AXI仕様では周辺回路のクロックを停止するためのインターフェース信号とプロトコルの仕様が定義されました.
●基本データ転送プロトコル
ここでは,AXI仕様の基本データ転送プロトコルを,読み出しと書き込みのそれぞれについて,4ワード・バースト転送トランザクションを使って解説します.