
![]() 試作チップ写真 |
◆本技術開発の背景
近年、カーナビゲーション機器やデジタルTV、DVDレコーダー、家庭用ゲーム機、携帯電話などの情報家電は、ブロードバンド・ネットワークへの接続をはじめ、音声・画像など多様なマルチメディア処理機能の搭載、さらには一般家庭への普及に伴う低消費電力化、高性能化、安全性の向上など、上記製品の中核技術となるプロセッサへの要求は急速に高まっています。高性能化・低消費電力化に対応する新技術として、1チップに複数のCPUコアを集積し、それらを並列に動作させることによって高い性能を低消費電力で実現するマルチコア技術が注目を集めており、高性能なパソコン、サーバ、スーパーコンピュータ向けのプロセッサで採用されています。そして、今後、情報家電向けの低消費電力プロセッサにおいても適用が拡大していくことが見込まれます。さらに、情報家電においては、高性能化・低消費電力化に加え、短期間でのソフトウェア開発が重要な要素となります。
今回開発した技術は、コンパイラとハードウェアの協調により、1アプリケーションプログラムの低消費電力制御を含めた自動並列化を実現したもので、今後、マルチコア技術を広く利用していくための重要な低消費電力、高性能、短ソフトウェア開発期間を実現する革新的な技術と期待できます。
◆開発したLSI技術の特長
試作チップは、1チップに、最新のSuperHTM(*2)マイコンのコアを8個集積しています。クロック周波数は、最大600MHz(メガヘルツ)で動作し、処理性能は、最大8640MIPS(million instructions per second)(Dhrystone 2.1時)を実現します。消費電力は600MHz動作時に約2.8Wで、単位電力あたりの性能は3000MIPS/W以上を実現しています。
開発した技術の特長は以下のとおりです。
| 1. | 8個のCPUコアとメモリの電源独立遮断技術 試作チップは、8個のCPUコアとともに、各CPUコアにプログラムおよびデータの一時格納用RAM (Random Access Memory)を搭載しています。今回、CPUコアとRAMに供給する電源を、CPUごと、RAMごととそれぞれ独立にした回路構成にし、CPUやRAMが動作不要の時は、個別に電源供給を停止できる構造としました。これにより、微細化時の問題となるリーク電流による無駄な消費電流を削減することができます。また、各CPUコア毎に動作周波数を変えると共に、全CPUコア同時に電圧も制御することが可能です。 各CPUとRAMの電源遮断および周波数・電圧の制御は、早稲田大学が開発した自動並列化コンパイラにより行われます。自動並列化コンパイラは1つのアプリケーションプログラムを自動並列化し、リアルタイム情報家電用マルチコアプロジェクトで策定されたマルチコア用API(Application Programming Interface)を用いて電力制御を行う並列Cプログラムを生成します。この並列プログラムは各CPUに効率的な並列動作を行うよう処理を割り当てますが、その際に、所望の処理時間を満足しつつ低電力化するように、各CPUの状態を制御する電力制御プログラムを自動生成します。 |
|---|---|
| 2. | 複数CPUコアの高速同期技術 マルチコアLSIでは、各CPUで処理が並行して行われますが、処理の終了は同時ではありません。プログラム全体の処理の流れでは、例えば、あるCPUでの処理が完了しても、他のCPUの処理が終わっていなければ、次の処理を開始できない場合があります。このため、各CPUが処理を行っているか、もしくは終了しているかの状態を判断することが必要であり、これまでの1つの方法としては、専用のメモリ領域を設け、プログラムでこのメモリ領域の状況を確認して判断する方式がありました。しかし、この方式はソフトウェアによる実行のため時間を要します。 今回、この課題に対し、複数のCPU間で高速に同期を取ることができる新たな同期機構を考案しました。この機構は、システム内の全CPUコアの実行タイミングを合わせたり(バリア同期)、部分CPUコア間の実行タイミングを合わせたりする(部分バリア同期)ことができるハードウェア機構です。さらにこのハードウェア機構は、自動並列化コンパイラとの協調により、次世代の並列化技術である階層型粗粒度タスク並列化(*3)を効果的にサポートすることができます。これにより、本マルチコア利用者は、従来の人手による並列化及びチューニングという難しい作業の負担が軽減され、短期間でのマルチコア用並列アプリケーションプログラムの開発が可能となります。 |
◆注釈