AMBA 3.0に追加された高性能バス用のAXI仕様 ―― チャネル方式を導入し従来のAMBAバスから大きく変更
●アドレス・チャネルで送信する転送制御情報
アドレス・チャネルで送られる情報は,転送のアドレス以外に下記のような転送の制御情報を含んでいます.
1)バースト長
アドレス・チャネルのALEN[3:0]で送出され,一つのバースト転送におけるデータ転送回数を指定します.バースト長はバースト・タイプによって異なり,固定,インクリメントの場合は1~16,ラッピングの場合は2,4,8,16のいずれかになります.不定長のバーストは定義されていません.また,指定された転送回数に達する前にバースト転送を打ち切ることはできません.バースト転送中にアドレスが4Kバイトのアドレス境界を越てはいけません.
2)バースト・サイズ
アドレス・チャネルのASIZE[2:0]で送出され,一つのデータ転送で転送されるバイト数を指定します.1,2,4,8,16,32,64,128のバイト数から指定できます.
3)バースト・タイプ
アドレス・チャネルのABURST[1:0]で送出され,バースト転送のタイプ(表1)を指定します.
バースト・タイプ | 説 明 |
固定バースト | バースト転送のどのデータ転送も同じアドレスを用固定バースト いる.FIFOメモリのアクセスのように,同一位置への複数データ転送で用いられる |
インクリメント・バースト | 通常のバースト.データ転送ごとにアドレスが単調に増加していく |
ラッピング・バースト | インクリメント・バーストのようにアドレスは単調 に増加するが,ラッピング境界に達するとアドレスバースト はそれより増加せず,低位アドレスにラップ・ラウンドする.CPUのキャッシュ・ラインフィルなどに |
〔表1〕バースト・タイプ
4)ロック・タイプ
アドレス・チャネルのALOCK[1:0]で送出され,アトミック(分割不可能)なトランザクションを実現するための動作モード(表2)を指定します.ロック・タイプ | 説 明 |
通常アクセス | 排他処理を行わない通常のアクセスであることを示す |
排他アクセス | 排他アクセス(そのアドレスに対して排他処理を行う)であることを示す |
ロック・アクセス | ロック・アクセス(バスに対して排他処理を行う)であることを示す |
〔表2〕ロック・タイプ
●読み出し/書き込み応答チャネルが返すステータス情報
読み出しトランザクションの場合,スレーブは転送するデータごとにマスタに対してステータス情報を送ります.書き込みトランザクションの場合,スレーブは書き込みデータをすべて受信した後,ステータス情報を書き込み応答チャネル経由で一つ送ります.どちらの場合も,送られるステータス情報は表3のどれかになります.
読み出しトランザクションで16ワードのバースト転送の場合,16個のステータス情報が送られることになります.そのうち一つのステータス情報がエラーを示したとしても,データ転送は指定された回数実行してトランザクションを終了する必要があります.
2.AXIバスのトランザクション例
それでは,ここまで説明した内容に関して,具体的な例を見てみましょう.
●トランザクションIDによるアウトオブオーダ完了
AXI仕様では,トランザクションの最初に1回でアドレスを送出した後は,そのトランザクションに関してアドレスが送出されることはありません.そのため,読み出しチャネルや書き込みチャネルがデータを転送している間,アドレス・チャネルは次のアドレス情報を複数発行することができます(図10).アドレスの発行は読み出しチャネルのデータ転送のタイミングとは関連していません.
このように,非同期なアドレス・チャネルと読み出し/書き込み/書き込み応答チャネル・データの間の関係を維持するために用いられるのがトランザクションIDです.
〔図10〕読み出しバースト転送の複数アドレス発行
アドレス・チャネルがトランザクションAのアドレスを発行した後,トランザクションAのデータ転送の進行を待つことなく,直ちにトランザクションBのアドレスを発行できる.
1)トランザクションIDにより並列処理を実現
トランザクションIDは,トランザクションの最初の部分でアドレス情報とともにマスタから発行されます.そのトランザクションで転送されるデータにはアドレスとともに発行されたトランザクションIDが必ず付加されて転送されます(図11).そのため,トランザクションIDを見れば,データはどのトランザクションに関連しているかを判断できます.
〔図11〕IDによるデータの識別
そのトランザクションで転送されるデータにはアドレスとともに発行されたトランザクションIDが必ず付加されて転送される.このIDにより,アウトオブオーダ完了やデータ・インターリーブ(異なるトランザクションのデータ転送をはさむこと)が可能になる.