AMBA 3.0に追加された高性能バス用のAXI仕様 ―― チャネル方式を導入し従来のAMBAバスから大きく変更

五月女哲夫

tag: 半導体

技術解説 2007年8月 7日

 システム中に複数のマスタが存在する場合,各マスタが独自に発行するIDのユニーク性が問題となります.この場合はマスタとスレーブを接続するインターコネクトがマスタごとにユニークな番号を決定し,その番号をトランザクションIDの上位に連結してユニーク性を保ちます.

2)遅いデバイスを待たずにすむアウトオブオーダ完了

 転送されるデータにトランザクションごとにユニークなIDを付加することで,トランザクションの発行の順番にデータが到着する必要がなくなります(ただし,同じIDを持つデータ間の順番は発行順と同じでなければならない).マスタは,順番ではなくトランザクションIDによってデータを識別するからです.これにより,トランザクションの発行の順とは関係なくトランザクションを完了できます(アウトオブオーダ完了).

 アウトオブオーダ完了はシステムの性能を向上させます.例えば,DRAMのように最初のデータが出力されるまでに時間のかかるメモリの後に高速なメモリをアクセスする場合を考えてみます.アウトオブオーダ完了が不可能な場合,高速なメモリをアクセスしたにもかかわらず,遅いDRAMの動作を待たなければなりません(図12(a)).

 アウトオブオーダ完了が可能な場合,後でアクセスした高速なメモリの転送を先に完了させて,その後DRAMからの転送を完了させることができます.図12(b)では,レイテンシの大きいA11のトランザクションの完了を待つことなくA21,A31のトランザクションが先に完了しています.さらに,複数のトランザクションのデータ転送を図12(c)のようにインターリーブする(はさむ)ことも可能です.

zu12_01.gif

〔図12〕アウトオブオーダとデータ・インターリーブの効果
アウトオブオーダ完了が不可能な場合,先にアクセスしたメモリの転送が終わるまで,ほかのメモリにはアクセスできない.アウトオブオーダ完了が可能な場合,後でアクセスしたメモリの転送を先に完了させることができる.さらに,複数のトランザクションのデータ転送をインターリーブすることも可能.

●バスをロックしない排他アクセス

 複雑なシステムでは,複数のバス・マスタの間の同期や排他処理を実現するための手段として,セマフォなどが必要となります.したがって複雑なシステム向けのバスは,セマフォを実現するための排他処理をサポートする機能を持つ必要があります.

 セマフォの実体は,複数のマスタ間で共有する特定のメモリ位置です.同一のメモリの内容をマスタ間で参照/更新し合うことで動作を制御します.セマフォが正しく動作するためには,あるマスタがメモリを読み出して(read),変更し(modify),書き込む(write)間,ほかのマスタによって干渉されない(排他)ことを保障するメカニズムが必要になります.

 AHBではそのためにロック信号を定義しています.あるマスタがバスをロックしている場合,ほかのマスタがバスを獲得できなくすることで排他処理を実現していました.この方式の問題点は,あるマスタがバスをロックしてしまうと,ほかのマスタはバスを獲得できず,ロックが解除されるまで待たされることです.

 AXI仕様ではバスをロックせずに排他アクセスを行うことができます(なお,AHBと同様のロック・アクセスも実行できる).このアクセスではスレーブ側にモニタ機構が必要になります.また,バースト転送長は1に制限されます.

 以下に,排他アクセスの一連の流れ(読み出し,変更,書き込み)を示します(図13)

zu13_01.gif
〔図13〕排他アクセス動作
排他アクセスの一連の流れを示す.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日