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

Mentor Graphics、ヘテロなコアとOSのマルチコアIC総合設計ツールを発表

Mentor Graphicsは、CPUコアが異なるヘテロジニアスで、かつマルチコアのICを容易に設計できる包括的なソリューションを発表した。異なるOS(operating system)の上に異なるCPUコアを集積するマルチコアICを設計・検証するのに向く。

スマートフォンやタブレットなどのアプリケーションプロセッサでは、消費電力を下げるため、制御や軽い演算を行うCortex-Mシリーズなどと、高性能演算を得意とするCortex-A15を集積させるICがある。このような場合、例えば実行する演算によって高性能が必要な場合(ブラウジングなど)にはCortex-A15のデュアルコアを利用し、音楽を聴くときはシングルコアのCortex-Mシリーズを使う。高性能な演算では多くの消費電力を費やすため、一気に演算するが、それ以外は休ませておく、というような使う方にして消費電力を下げることが多い。

また、SoCの消費電力を下げるために、クロック周波数を減らすクロックゲーティングや、電源電圧を低減する電圧ゲーティングなどの方法を使う。それだけでは済まないため、フルに演算しない場合に必要なCPUと、目いっぱい演算する場合に必要なCPUを使い分けるため、ヘテロジニアスなコアを集積する。加えて、フィルタリングやモデム演算にはDSPコア、ビデオのストリーミングにはビデオコーデック、音楽ストリーミングのサウンドを改良するにはオーディオコーデック、ゲーム機能などのビジュアル系の演算にはGPU(グラフィックプロセッサ)コアなども集積する。

しかし、異なるプロセッサコアを使ったIC設計は複雑になる。同じデュアルコアの場合には、一つのコア向けの命令・データがもう一つのコアに影響を及ぼすかどうかを考えながらプログラムするツールはある。しかし、プロセッサコアが異なる場合、ジョブも異なるが、それらを割り付けたり、起動させる順番を決めたり、ヘテロでなければ問題にならなかったことが出てくる。このため設計に時間がかかっていた。

今回、Mentorが発表したソリューション(図1)は、いろいろな異なるプロセッサの上に複数のOSとアプリケーションをコンフィギュレーションし、1チップに集積する機能を持つ。異なるプロセッサコアで、複数のOSを効率よく起動させる。例えばユーザーインターフェースを動作させるためのLinuxベースのプロセッサを起動させOSを立ち上げた後、すぐにRTOSのNucleusを立ち上げる。Nucleusは、リアルタイムのデータを取得し制御する役割を持たせ、アプリケーションを載せる。


図1 マルチOS、ヘテロのマルチコア向けの新ソリューション 出典:Mentor Graphics

図1 マルチOS、ヘテロのマルチコア向けの新ソリューション 出典:Mentor Graphics


もし、あるコアのバグによってそのコアがダウンしても、他のプロセッサコアに影響を及ぼさないように分離する機能もある。ハイパーバイザーがこの分離機能を受け持つ。このため外部へのシステムに影響を及ぼすことがない。

さらにデバッグ作業では、時刻ごとに各コアの動作を捉えるように可視化しているため、バグを見つけやすい。異なるOS間の情報のやり取りをタイミングごとに見ることができる。この作業に必要なSourcery Analyzerを搭載している。

加えて、オープンソースと独自ソースの両環境で相互利用するための機能も搭載していく。夏から秋にかけてこの総合ソリューションを製品化していくという。

このヘテロジニアスな総合設計ソリューションには、クルマ向けソフトウエア開発仕様であるAUTOSARを含むクルマ用開発ツールVolcanoや、ハードウエア設計がGDS-IIまで完成していなくても、RTL完了次第ソフトウエアを開発に着手するためのツールVirtual Prototyping Toolsも搭載している。クルマ用のSoC開発にも向く。

(2014/07/17)

月別アーカイブ