東芝セミコンダクター社は、2008年7月25日開催の「SpursEngine Developers Forum 2008」で、「SpursEngine Reference Kit」、および「SpursEngine」を活用するプログラミング手法について明らかにした。SpursEngineは、東芝が開発した「Cell/B.E.」の設計資産を継承するメディア・ストリーミング・プロセサで、すでに2008年7月に東芝が発売したAVノート・パソコン「Qosmio」に搭載されている。同キット は、SpursEngineを搭載した機器およびソフトウェアを開発する技術者に向けたもの。東芝セミコンダクター社は、同キットを使うことにより、ユーザーは開発費を軽減したり、開発期間を短縮したりすることができるとしている。
SpursEngine Reference Kitは、ハードウェア開発キットとソフトウェア開発環境で構成される。前者は、回路図、PCBレイアウト、ガーバーデータ、デザイン・ガイドから成る。後者は、基本ソフトウェア、応用ソフトウェア、開発ツール、サンプル・プログラムから成る。
SpursEngine を搭載した「SE1000」リファレンス・ボードは、汎用デスクトップ・パソコンに接続して使う。このためのインタフェースとして、PCI Express(×1)を備える。ローカル・メモリーとして、128MバイトのXDR DRAMを搭載している。リファレンス・ボードの外形寸法は、縦111.15mm×横167.65mm×板厚1.57mmである。「東芝は、必要に応じて、SE1000リファレンス・ボードのデータシート、スケマテック、BOM(Bill of Materials)といった設計情報をユーザーに提供する。ユーザーは、その情報に基づき、回路設計やレイアウト設計を実施することなく、SpursEngine搭載製品の製造が可能になる」と、東芝セミコンダクター社システムLSI事業部先端SoC応用技術部の濱岡快之氏は言う(図1)。
東芝セミコンダクター社は、ソフトウェア開発環境として、基本ソフトウェア、応用ソフトウェア、SPEソフトウェア開発ツールを用意した。東芝セミコンダクター社から、基本ソフトウェアとして、Windows用ドライバ、ホストやSPEからのコマンド・インタプリタが提供され、応用ソフトウェアとして、ホスト・アプリケーションのサンプル・プログラム、ホスト・アプリケーションからSE1000の映像処理機能などを利用するためのミドルウェア、応用ソフトウェアからSE1000の基本ソフトウェアを利用するための基本ソフトI/Fライブラリが提供される。SPEソフトウェア開発ツールには、SPE統合開発環境、SPEツール・チェーン、SPEプログラム・デバッガ、パフォーマンス・モニターが含まれている。
SPEのプログラミング手法は、大きく二つに分かれる。第一は、応用プログラムがAPIを介して、SE1000に用意されているビデオ・コーデック、ビデオ顔認識、ハンド・ジェスチャ認識などのミドルウェアを利用する手法である。第二は、SpursEngine に集積されているSPEのプログラムを、ユーザーが直接開発する手法である。
前者の場合、ユーザーはAPIを介して、東芝の用意した機能を利用するため、「SPEのプログラムを知らなくても、SpursEngineの高い演算性能を利用できる」と、ソフトウェア開発キットの解説を担当したフィックスターズSolution Service事業本部 組込ソリューション部の阿部貴之氏は言う(図2)。ホスト・プログラムの開発環境は、Microsoftの「Visual Studio」である。
後者は、ユーザーが独自のプログラムを開発して差異化したいケースで、SPEのプログラムをユーザーが直接開発することになる。この場合、ユーザーは、基本ソフトI/Fライブラリを使ってSPEプログラムや処理データを、ホストからSPEへ転送する。基本ソフトI/FライブラリのAPIには、ホストとSPE間のストリーム・データの転送を行う「SpursStream」、ホスト・プログラムで使用するSE1000ファームウェアのコマンドを実行する「SPHA」、SPEプログラムで使用するSE1000ファームウェアのコマンドを実行する「SPSA」と呼ぶAPIが用意されている。SPEのソフト開発環境は、「Eclipse」である。
こうしたSpursEngineのプログラミング手法の詳細が明らかになったのは、今回のフォーラムが初めてである。東芝セミコンダクター社は、今後も、SpursEngineパートナーズ会のメンバー企業と協力してSpursEngineのプログラミング環境を整備していく考えだ。