セミコンポータル
半導体・FPD・液晶・製造装置・材料・設計のポータルサイト

IMECがコグニティブ無線を意識したリコンフィギュアラブルプロセッサを開発

|

ベルギーの研究開発会社IMECが次世代ネットワーク、通信技術向け半導体チップおよび関連ツールの開発に力を入れ始めた。4月はじめに米国カリフォルニア州サンノゼで開かれた組み込みシステム展(Embedded Systems Conference)において、フレキシブルで消費電力が低くチップ面積も小さなプロセッサを開発、さらにマルチコア用のプログラム開発ツールも開発していることを明らかにした。いずれも次世代ネットワークへの応用を狙う。

IMECの製造ライン
IMECの製造ライン

電子機器を動作中に、プロセッサが実行している仕事を自由に変えられるリコンフィギュアラブルプロセッサは、ソフトウエア無線技術と相まって次世代通信方式の一つであるコグニティブ通信にぴったりの応用といえる。コグニティブ通信とは、例えば電話中にいろいろなデータが飛び交い、回線が混み合ってきたら別の回線を探して通信状態の良い通話やデータ通信をしてくれる通信方式のこと。常にベストの通信状態になるように自動的に調整してくる。場合によっては、NTTドモコ方式からKDDIあるいはソフトバンク方式に1台の電話で変えることもできる(現実には通信業者の思惑があるためできないが、欧州ではすでにできている)。

携帯電話や携帯機器の方式や技術をフレキシブルに変えたい、という要望に応えるプロセッサがリコンフィギュアラブルプロセッサである。ARC InternationalやTensilicaなど、これまでもプロセッサ内部の構成をプログラムできるコンフギュアラブルプロセッサはあった。ただし、ダイナミックに変えられるという訳ではなかった。またプロセッサを動かしている最中に構成を変えられるリコンフィギュアラブルプロセッサもこれまで日本のアイピーフレックスから出ていた。しかし、それを動かすためのソフトウエアツールが充実していなかった。最適なアプリケーションもなかった。

ここにきて、携帯電話や通信ネットワーク分野でプロセッサの中身を変えようというコグニティブ通信や、人体の心拍や体温、血圧などを測定するプロセッサを利用するBAN(ボディエリアネットワーク)が出てきてその需要に期待が高まっている。

開発ツールを使って自動的にプロセッサ構成を変える

IMECの方式は基本的なプラットフォームを作り、ユーザーインターフェースやリソースなどをダイナミックに変えられるもの。まずその第1弾として低消費電力分野向けADRES(architecture for dynamically reconfigurable embedded systems)プロセッサを設計した。これはVLIW(very long instruction word)プロセッサと粒度の粗いアレイベースのプロセッサからなる。リコンフィギュアラブルプロセッサは機能をプロセッサアレイにマッピングし直すことで再構成できるようにしているため、再ターゲットができるシミュレータとANSI-Cコンパイラを使って目的とするプロセッサが得られるように再構成し直す。


ADRESプロセッサ


構成し直すための開発ツールにはDRESC開発環境を使う。設計者が選んだADRESプロセッサのハードウエア構成を記述したXMLアーキテクチャテンプレートを開発ツールに入力し、VLIWプロセッサとアレイ状のプロセッサを選択する。アレイマトリックスのサイズや、機能ユニット、機能ユニットの接続情報などについて入力する。

そうすると、この開発ツールは、ADRESプロセッサ上で実行するためにコンパイルされたマシンコードを出力する。さらにシミュレータや合成可能なVHDLファイルも出力する。

スクラッチパッドメモリーを使いこなす

マルチコアプロセッサ用の開発ソフトウエアは、2種類開発した。並列性のプログラミングを自動的に生成するMPA(Multi-Processing Assistant)と、メモリーを多用する設計に応じた低消費電力のメモリー階層設計を提供するMH(Memory Hierarchy)である。マルチコアが同じコアでもヘテロのコアでもいずれにも使える。

MPAでは、従来と同じようにCコードでシーケンシャルなアプリケーションを書いていくと同時に、タスクをどのプロセッサ上で実行するかを直接表す並列化処理を行う。すると、5分程度の時間でプロセッサごとにCコードを出力する。

従来、マルチコアプロセッサのコードを書くには、並列化処理を手で行っていたため、間違いが起きやすく、しかもレーシングやデッドロックなどの不具合も生じやすかった。このためソフトウエア開発の負荷は重く、時間がかかりコストもアップしていた。

マルチコアプロセッサ、それも携帯機器を中心とした応用では消費電力の低減はマスト。並列処理プロセッサシステムに、これまでのようなキャッシュシステムを導入すると消費電力が大きすぎてとても携帯機器には向かない。このためメモリーをプロセッサのそばに置くスクラッチパッド方式のプロセッサシステムを使う。しかし、データのマッピングと転送をきちんと管理する必要がある。このために、自動的にデータコピー、スクラッチパッドメモリーへのデータのマッピング、そしてDMA転送命令を組み込めるようにMHソフトウエアを開発した。並列処理が可能になりスケジューリングでプロセッサコアを制御し、メモリーの階層を最適化することで、データを最適に割り当て、いろいろなメモリー層へ貼り付けることができる。


(2009/04/20 セミコンポータル編集室)

月別アーカイブ