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

五月女哲夫

tag: 半導体

技術解説 2007年8月 7日

 これらのバスは単に情報をバス上に載せるだけの信号であり,情報を外部デバイスに渡す手順自体は,ほかのバスや制御信号とのタイミングで定義されています.手順としては以下のようになります(図4)

zu04_01.gif
〔図4〕AHBのタイミング図
アドレスと制御信号を送信し,それに対してデータを送信して,応答するという一連の流れと順序が決められている.遅いデバイスがデータの準備に手間どると,その間アドレス・バスは次に進めず,バスの効率が下がる.また,高速なデバイスが後続の転送を行う場合,その高速性が生かせない.

1)1サイクルの間,マスタ(CPU)がアドレス・バス(HADDR)にアドレスを載せ,制御信号(Control)にトランザクション注2の属性を載せる.

2)(データ読み出しの場合)次のサイクルでスレーブ(デバイス)が読み出しデータ・バス(HRDATA)にデータを載せ,応答を応答信号(HRESP)に載せる.

3)(データ書き込みの場合)マスタが書き込みデータを書き込みデータ・バス(HWDATA)に載せて,スレーブが応答を応答信号に載せる.

注2;命令の発行から命令処理終了までのひとまとまりの処理をトランザクションと呼んでいる.例えば読み出し処理の場合,読み出し命令を発行してからデータを読み出すまでを指す.

 この方式では,各バスに信号が載る順番やタイミング,バス相互の関係によってデータの転送処理が進んでいきます.したがって,バス間の動作タイミングは厳密に定義されており,どれかのバスだけが独立して処理が進むことはありません.

 AHB型のバスの問題点の一つは,遅いデバイスとのデータ転送が存在すると後続のデバイスとのデータ転送が待たされることです.例えば,アドレスをアドレス・バスに載せた次のサイクルでは,必ずそのアドレスに対するデータをデータ・バスで転送する必要があります.したがって,遅いデバイスがデータの準備に手間どると,その間アドレス・バスは次に進めず,バスの効率が下がります.また,高速なデバイスが後続の転送を行う場合,その高速性が生かせません.

 これに対し,AXIでは次のような信号構成になっています(詳しくはコラム「AXIバスの構成と信号」を参照).

・アドレス・チャネル
・読み出しデータ・チャネル
・書き込みデータ・チャネル
・書き込み応答チャネル

 従来「xxxバス」と称していたものが「xxxチャネル」になっています.AXIでは各チャネルごとに独立して情報を送出できます.例えば,AHBのような「アドレスを送出したら次のサイクルで対応するデータを必ず転送しなければならない」などの,チャネル間の手順の制約がありません.このため,ほかのチャネルのタイミングに関係なく情報をどんどん転送できます.このように,AXI仕様ではバス間が独立し,それだけで情報ストリームを送出できるので,「チャネル」という呼びかたをしています.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! 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日