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

鈴木一可

tag: 半導体

技術解説 2007年5月10日

 OCP(Open Core Protocol)とは,特定のCPUやバスのプロトコルに依存しないオンチップ・バスの規格である.コマンドとレスポンスを独立したタイミングで送ることができる(スプリット・トランザクション).また,スレッドを複数に分けることにより,コマンドの発行順とは異なる順番でレスポンスを返すこともできる(マルチスレッド).本稿ではこのような特徴を持つOCP規格について解説する.  (編集部)


= 関連情報 =
2007年5月29日(火)に,OCPテクノロジーフォーラム2007が開催される.参加費は無料(事前登録制).詳細は以下のURLを参照のこと.
http://www.coware.co.jp/ocpip07/


 現在の大規模LSIでは,複数の機能ブロック(ハード・マクロ,ソフト・マクロなどのIPコア)を組み合わせて一つのLSIを構成するシステムLSIが主流となっています.複数のIPコアを組み合わせて1チップのLSIにするためには,チップ内でIPコア間の通信を行うためのオンチップ・バスが必要です.LSIの高速化,高機能化,高集積化に伴って最近,オンチップ・バスが注目を集めています1)

 それはなぜでしょうか?

●CPUに依存したオンチップ・バスは使いにくくなった

 初期のシステムLSIでは,マスタとなるIPコア(能動的に動作するIPコア)はマイクロプロセッサ(CPU)一つだけで,それにRAMやI/O,周辺論理など,スレーブとなるいくつかのIPコア(受動的に動作するIPコア)が存在する,というような構成でした.このような場合は,CPUのバス・プロトコルに合わせて,スレーブのIPコアをCPUに接続すればよかったのです.

 しかし,最近のシステムLSIでは,マスタはCPUだけとは限りません.DSP(digital signal processor)やMPEGなどのディジタル信号処理ブロック,PCIやUSBなどのインターフェース・ブロックなど,数多くのマスタが存在します(図1).各マスタは動作仕様に基づいてそれぞれ独立に動作します.したがって,異なるデータ・フローがオンチップ・バス内を同時に流れることになります.

zu01_01.gif
〔図1〕マスタIPコアが複数になった
かつてのシステムLSIでは,マスタとなるIPコアはCPUだけだった.現在のシステムLSIでは,CPU以外にもディジタル信号処理ブロックやインターフェース・ブロックなど,マスタのIPコアが複数存在することが多い.

 また,外部のDRAMを共有して複数のマスタが効率良く同時にアクセスすることも必要となってきています.さらに,システムLSIそのものの動作周波数も数百MHzと非常に高速であり,オンチップ・バスを高い使用効率で動作させる必要があります.

組み込みキャッチアップ

お知らせ 一覧を見る

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