(1/3)組み込みプロセッサを使用するアプリケーションでは、コストを抑えた上で、少しでも高い性能を得たいというケースが多い。ソフトIPを利用する場合に、この要求を満たすのは容易なことではない。適切な設計/実装フローを用いて最適化を実施すれば、最高の性能を引き出すことも可能である。Property)コアの性能と消費電力が、設計や機器の成功を左右する重要な要素となる。使われるプロセッサIPコアとしては、サードパーティが提供し、ユーザーが合成を行うタイプのソフトIPであるケースが多い。このことが理由となって、性能、消費電力の面で問題が起きることが多々あるというのが現状だ。あきらめることはない。このタイプのコアでも、設計上の高い目標を達成することは可能である。最高の性能と最小の消費電力を実現するためには、選択したプロセス技術とアーキテクチャについて考慮し、設計上の複数の最適化手法を適用しなければならない。Technologies社(以下、MIPS社)のプロセッサIPコア「24Kc」に対する最適化の実例を紹介することで明らかにしたい。Scaling)や基板バイアス制御など、プロセッサの動作に新しいモードを導入する手法についての議論は省略することにした。プロセッサの仕様を最適化するために製造技術での対応が必要となるチャンネル長変調などの手法についても議論しないこととする。初期検討プロセッサの設計における最初の重要な工程は、アーキテクチャとプロセス技術を選択することである。これには、プロセッサ自体、マクロ、スタンダードセルライブラリの選定が含まれる。選定の基準は、アプリケーションの要件によって決まる。次の工程は実装である。ここでは、選定したプロセス技術やアーキテクチャ、IPなどを使って、最高の性能と最小の消費電力を実現しなければならない。設計チームは、標準的な設計工程の改良と、セルライブラリの追加/拡張などにより、最大限の結果を目指すことになる。International社など、いくつかのベンダーによる多くの選択肢が存在する。テクノロジなどのベンダーによるカスタムプロセッサという選択肢もある。アプリケーションの内容やコスト、性能、検証、リスク、インフラのコストなど、選択の際の検討要素は数多く存在する。その中でも、いちばん最初に検討すべきなのはアプリケーションについてである。プロセッサによっては、特定のアプリケーションを得意とするものがあるからだ。次に、コストについて検討する。IPを購入するのに必要なコストとライセンス条件にも注意を払う。必要になる性能の範囲についても知らなければならない。コアが異なれば、達成可能な性能目標も異なる。アプリケーションにおいて非常に高速なクロックが必要な場合には、プロセッサの選択肢はかなり限定されるだろう。フットプリントの小さいプロセッサを必要とするアプリケーションもあれば、消費電力や性能、占有面積、スケジュールについて、ある一定のバランスをとることが必要となるアプリケーションもある。検証作業と設計におけるリスクの程度を評価する必要もある。プロジェクトで許容されるリスクの程度によっては、最先端の技術を利用するよりも開発されてからすでに長い時間がたっているコアを使用するほうがよいかもしれない。リスクに関連する要素として、使用可能なインフラについて考慮する必要がある。使用可能な命令セットや開発システム、デバッグ環境などがプロセッサの選択における検討項目となる。設計チームがあるプロセッサに対する経験を持っていたり、開発済みのソフトウエアインフラが存在したりする場合には、そのプロセッサを使用するのがよいかもしれない。プロセッサファミリを選定したら、キャッシュメモリーやスクラッチパッドメモリー、密結合メモリーを構成する必要がある。これらのメモリーのサイズによっては、メモリーパスがクリティカルな部分となり、最終的な性能を制限することになるかもしれない。そのほか、メモリーのバンク構成を採用することも検討する。32Kバイトのキャッシュは、1K×64ビットのメモリーバンク4本の構成とすることができる。メモリー容量が大きくなるほど、遅延が増加する傾向にある。メモリーについて検討する際に注意すべきなのは、その容量(サイズ)と構成が性能に影響を与えるということだ。図1は、メモリーにおけるクロックからデータ出力までの遅延を示したものである。この図からは、130nmと90nm、65nmの各プロセスを利用した場合、メモリーサイズと速度の関係がどのようになるかを把握することができる。メモリー容量が大きくなるほど遅延が増加していることがわかる。90nmでは、メモリーが1K×32ビットから4K×32ビットに増加すると、遅延は20%弱増加している。一般的に、クロックからメモリーデータ出力へのパスはクリティカルパスであり、速度性能も20%弱低下すると考えられる。製造プロセスを正しく選択できるか否かによって、プロセッサコアの最終的な性能が決まる。コストや消費電力、性能の間のトレードオフは、ターゲットとするプロセス技術を選定する際に検討すべきだ。現行のプロセス技術で目標に近い性能を達成しているのならば、より高速で高価なプロセスへと移行する前に、高度な最適化手法を検討するべきである。その手法によっては歩留りを5%程度改善できることは珍しくない。その結果、低コストなプロセス技術を使用し続けることができるかもしれない。プロセス技術の選定においては、ノードサイズのほか、汎用プロセスや低消費電力プロセスについても検討する必要がある。要件に合わせて、閾(しきい)値電圧や酸化膜の厚さなどのプロセスパラメータを調整する必要もある。動作電圧を調整してリーク電力と性能のバランスをとることも考える。スタンダードセルライブラリの選定も、プロセッサコアの性能に影響を与える重要な要素である。ここでも、コストや消費電力、性能の間のトレードオフについて検討する必要がある。プロセッサコアが、ほかの部分と異なるセルライブラリを使用している場合には、そのことによって集積がどのくらい困難になるかについて考察しなければならない。動作周波数が増加する割合に比べると、消費電力が上昇する割合のほうが大きい。一般的に使用されるプロセッサIPコアの正規化周波数と正規化消費電力は、汎用ライブラリと標準プロセスによる実装を基準としている。図2は、最適化手法やライブラリ、プロセス技術を変更した際の正規化周波数と正規化消費電力(消費電流)を比較したものである。この図から周波数と消費電力との間にトレードオフが存在するのがわかるだろう。周波数を50%上げると、消費電力が50%以上増加するということである。そのほか、キャッシュメモリーの選定も、最終的な性能に大きな影響を与える。MIPS社の24Kcでは、メモリーパスの速度がプロセッサの最大性能を決める要因になる。IPベンダーは、広範囲の性能や消費電力を実現する種々のメモリーを提供しているので、その中からプロセッサIPコアに最適なものを選択するべきだ。24Kcの場合、このメモリーの選定が消費電力当たりの処理能力を最終的に決定する要因になる。メモリーコンパイラでは、フットプリントと速度がトレードオフの関係になる。その入力パラメータとして、デコーダ上にマルチプレクサを配置するかどうかといったことが検討すべき項目となる。メモリーのアスペクト比は、アクセス時間に影響を与える。デコーダを配置するとメモリーは高速になるが、アスペクト比はフロアプランに合わないものとなる可能性がある。メモリーのアスペクト比は、異なるメモリーサイズに対するアクセス時間に影響を与える。図3は、メモリーのアスペクト比とアクセス時間の関係を表している。メモリーのアスペクト比が大きいほど、マルチプレクサの幅は広く、実装のオーバーヘッドが大きいので、アクセスは遅くなる。LLC.ITmediaはアイティメディア株式会社の登録商標です。