2003.09.02 当社のXtensaプロセッサ開発サポートビジネスが『EDNJapan9月号』に掲載されました

EDNJapan 2003.09.02
コンフィギュラブル・プロセッサー・コア内蔵のASIC設計を国内の受託開発ベンダーが支援


ユーザーが仕様をカスタマイズできるプロセッサー・コア(コンフィギュラブル・プロセッサー・コア)*1
が日本国内でも少しずつ普及し始めた。コンフィギュラブル・プロセッサー・コアは、ユーザーが
キャッシュやバスなどの構成を変更したり、ユーザーが定義した命令(カスタム命令)をプロセッサーに
追加したりできるコアである。このため、アプリケーション・ソフトウエアの仕様に応じてプロセッサー・
コアの処理性能を高めたASICを設計できる。
ただし、コンフィギュラブル・プロセッサー・コアを内蔵した大規模ASICを効率的に設計することは
容易ではない。さまざまな条件が複雑に絡みあうからだ。まず通常のプロセッサー・コア内蔵ASIC
でも、ハードウエア処理とソフトウエア処理をどのように割り当てるかの作業は簡単ではない。
例えば、ハードウエアの追加による性能向上と回路面積のトレードオフを見積もり、一方では
プロセッサーによる処理性能と消費電力のトレードオフを見積もらなければならない。
コンフィギュラブル・プロセッサー・コア内蔵ASICでは、この作業がさらに複雑になる。プロセッサー・
コアのキャッシュやバス、カスタム命令などによってプロセッサーの処理性能が変化するからだ。

そこで電子機器や大規模ASICなどの受託開発ベンダーであるシステムエルエスアイ株式会社*2
(以下:システムLSI社)は、コンフィギュラブル・プロセッサー・コアを内蔵した大規模ASICの設計
サポートを始めた。コンフィギュラブル・プロセッサー・コアのライセンス事業では最も先行している、
米テンシリカ社のコア「Xtensa」を内蔵するASICがサポートの対象である*3。アプリケーションを
ハードウエア処理とソフトウエア処理に分割する段階から、設計を支援する。「Xtensaコアは、
シーケンサーの置き換えから普及が始まった。現在はハードウエア設計者が開発を主導している」
(システムLSI社システムLSIファームウエア開発グループ ゼネラル・マネジャーの藁科克彦氏)。
プロセッサー・コア設計とASIC設計を最適化するためにはハードウエア設計者だけでなく、
ソフトウエア設計者とシステム設計者の関与が欠かせない。「当社にはシステム・アーキテクチャー
設計者とハードウエア設計者、ソフトウエア設計者がそろっている。システム、ハードウエア、
ソフトウエアの3方向から設計の最適化を狙ってアプローチできる」(藁科克彦氏)。

設計サポート業務の中でも、力を入れている部分が2つある。1つはカスタム命令の設計である。
もう1つは、オンチップ・バスと周辺回路の設計である。
Xtensaコアでは、ユーザーがカスタム命令をハードウエア記述言語で設計しなければならない。
記述にはテンシリカ社が開発した独自仕様の言語「TIE(Tensilica Instruction Extension)」を
使用する。ユーザーはTIE言語を学習し、さらにアプリケーションがカスタム命令に向いた処理を
含んでいるかどうかを検討しながら設計作業を進めなければならない。「カスタム命令にしても、
最適化できているかどうかは分かりにくい。また命令をいたずらに追加すると、コアの回路面積が
大幅に増えかねない」(藁科克彦氏氏)。
そこでシステムLSI社は、Xtensaコアのカスタム命令が適する処理をユーザーに紹介するとともに、
カスタム命令を実際に開発する。カスタム命令が適する処理には例えば、プリンターのポストスクリプト
処理があるという。同社の解析によると、ポストスクリプト処理の70%をスプライン関数が占めていた*4。
この処理には7命令が必要である。TIE言語で記述すると、1命令で処理できるようになる。
この結果、ポストスクリプト処理に要する時間を少なくとも3分の1に減らせるとみている。
このほか、画像圧縮処理や暗号化処理、CDMA信号処理などのカスタム命令を開発する予定である。
オンチップ・バスと周辺回路の設計も、ASICの性能を大きく左右する。具体的には、バス・インター
フェースとメモリー・インターフェース、DMAコントローラーの設計を重点的にサポートする。
ユーザーによって仕様が大きく異なるとともに、データの転送効率に直接影響する部分だからだ。
設計作業の効率を向上させるために、同社はバス・インターフェース回路やメモリー・インターフェース
回路、DMAコントローラー回路を自動生成するツールを開発中である。例えばバス・インターフェース
回路だと、エンディアンやデータ幅、キャッシュの有無、DMAコントローラーの有無などを設定
パラメーターとして回路を生成する。

このほか、Xtensaコアを内蔵したASICとリアルタイムOSを搭載した機器のソフトウエア開発も
支援する。μITRON 4.0仕様準拠のリアルタイム・カーネル「TOPPERS」の移植作業を請け負ったり、
ドライバー・ソフトウエアを開発したりする。なおソフトウエア開発は、開発ツール・ベンダー大手の
ソフィアシステムズと共同でサポートする。ソフィアシステムズはすでに、Xtensaコア用のソフトウエア
開発キットやJTAG ICEの販売を始めた*5。(福田 昭)


*1) EDNJapan2003年7月号、p.65
   あるいはhttp://www.ednjapan.com/edn_j/2003/07/micropr0307.htmlを参照。
*2) 本社は愛媛県松山市。受託開発のサービス拠点は神奈川県横浜市にある。従業員数は約26名。
   従業員のほとんどが設計技術者である。ホームページはhttp://www.syslsi.com/
*3) Xtensaは32ビットRISCアーキテクチャーのプロセッサー。
   システムLSI社は、テンシリカ社が認定した設計サービス企業でもある。国内連絡先はテンシリカ。
   同社のホームページはhttp://www.tensilica.co.jp/
*4) スプライン関数による処理を繰り返すと、曲線を滑らかに描けるようになる。
*5) 関連記事を下記ホームページで閲覧できる。
   http://www.ednjapan.com/l_news/2003/07/15sophiasystemlsi.html