OCP(Open Core Protocol)技術解説 ―― CPUに依存しないオンチップ・バス・プロトコルがマルチコアを効率良く動作させる

鈴木一可

tag: 半導体

技術解説 2007年5月10日

2.OCP vs. AMBA

 システムLSIのオンチップ・バスとしてすでに広く使われているプロトコルとしては,AMBA(Advanced Micro-controller Bus Architecture)があります.これはもともと英国ARM社が提唱していたオンチップ・バス・プロトコルです.AMBA(AMBA 2.0)には,メインのバスとして使われるAHB(Advanced High-performance Bus)と,AHBに接続して周辺バスとして使われるAPB(Advanced Peripheral Bus)があります.

 AMBAは,システムLSIにおけるARMプロセッサ・コアの普及に伴って,広く使われるようになりました.AMBAのインターフェースを持つIPコアが多くのIPベンダから提供されています.現在広く普及しているAMBA AHBの特徴を表2に示します2).また,OCP 1.0とAHBの比較を表3に示します.

バースト転送 複数の転送を一つのかたまりとして扱い,バースト転送 個別に転送するよりも効率良く転送することが可能
分割トランザクション バースト転送中でも,その転送を区切ってほかの転送を行うことが可能
シングル・サイクル・バス・マスタ・ハンドオーバ 最小1サイクルでバス・マスタを切り替えることが可能
シングル・クロック・エッジ動作 すべての信号は,一つの転送クロックの立ち上がりエッジ同期で動作する
非3ステート実行 すべての信号は,3ステートのない単方向の信号である
広幅データ・バス構成 64ビット,128ビットなどのデータ・バス幅にも対応可能

〔表2〕AHBの特徴

  OCP 1.0 AHB
すでに提供されているIPコアの種類
バースト転送
スプリット・リクエスト/レスポンス
マルチスレッド ×
信号選択の自由度
特 徴 特定のコア・プロトコルに依存しない. IPコアのインターフェースに特化 従来型のコンピュータ・バス・プロトコル
◎非常に有利  ○有利  △やや有利  ×不利

〔表3〕OCP 1.0とAHBの比較

 AHBは従来より広く使われているので,供給されているIPコアの種類が多いという点で大きくリードしています.また,バースト転送や分割トランザクション注8など,パイプライン処理に適した基本的なプロトコルをサポートしています.ただし,基本的にあるサイクルでマスタがコマンド/アドレスを出すと,次のサイクルでスレーブがレスポンス(データ)を返すというプロトコルであるため,スレーブがそのサイクルでレスポンスを返せない場合にはバスにウェイトがかかります(図8).ウェイトがかかる分だけ,バスの利用効率が低下してしまいます.

zu08_01.gif
〔図8〕AHBのタイミング図
AHBでは,スレーブがコマンド(A0)の次のサイクルでレスポンスを返せないとウェイト・サイクルに入ってしまい,次のコマンド(A1)の発行でもウェイトが入ってしまう.

注8;AMBA(ARMの仕様書)で言う「Sprit Transaction(分割トランザクション)」は,あるマスタがバースト転送しているときに,その途中でほかのマスタの転送をはさむことができる(分割して転送できる)という意味.さきほど定義した「スプリット・トランザクション」とは内容が異なる.本稿では,ARMのほうを分割トランザクションと表記した.

 これに対してOCP規格では,先ほど説明したとおり,コマンド/アドレスとレスポンス(データ)をまったく独立のタイミングでやり取りできます(図5).また,マルチスレッドをサポートしているので,コマンドの発行順とは異なる順番でレスポンスを返すことが可能です.したがって,遅いレスポンスに待たされることなく,早いレスポンスを先に返すことができ,バスの利用効率を引き上げることができます.

 言わば,AHBは従来型のコンピュータ・バス・プロトコルを踏襲した仕様であり,OCP 1.0はIPコアのインターフェースに配慮した仕様であると言えます.

●オンチップ・バス仕様は収束の方向へ

 このような状況を踏まえて,2003年6月にARM社はAMBA 3.0(AXI仕様)を発表しています.筆者はAXIの詳細な仕様に触れる機会をまだ得ていませんので詳しくコメントできませんが,IPコアのインターフェースとして性能を発揮できるような大きな仕様変更が行われているようです.OCPで実現されているかなりの仕様がAXIに盛り込まれているようです(ただし,AXIの仕様とAHBの仕様とはかなり異なっているので,AXIとAHBの互換性が気になるところだ).

 OCP,AMBAに限らず,現在多く存在しているオンチップ・バス仕様が,将来的にはIPコアのインターフェースとして最適な仕様に収束していくだろうと筆者は期待しています.

参考・引用*文献
(1)「1000万ゲート世代を目前に生まれ変わるチップ内バス」,『日経エレクトロニクス』,2003年8月18日号.
(2)英国ARM社,『AMBA仕様書 Rev 2.0』,1999年.


すずき・かずよし
イノテック(株) デザインシステム部
◆筆者プロフィール◆
鈴木一可.イノテック(株)デザインシステム部 SSグループ グループリーダ,主任技師.SOC開発のための技術コンサルティングに従事.

組み込みキャッチアップ

お知らせ 一覧を見る

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