組み込み向け半導体最新動向
32ビットMPUの「性能・消費電力・コスト」を調整する18の技法
組み込み向けマイクロプロセッサの最近のトレンドをまとめ、昨今MPUに求められる条件を満たすための主な技法を簡単に紹介する。
この連載では、組み込み(Embedded)機器向け半導体のトレンドを追っていく。連載1回目となる今回は、組み込み機器向けMPU(マイクロプロセッサ)の中で最近主流になってきた32ビットMPUの一般的なアーキテクチャを解説する。
組み込み機器で使われるMPUは非常に幅広く、その構成もさまざまだ。単に命令セットの違いの域を超え(※注)、目的や利用方法に合わせて内部アーキテクチャもバラエティーに富んでいる。全般的な傾向について簡単にまとめておきたい。
※注 昨今では、実質的に命令セットの差はそれほど大きな問題にはなっていない。80~90年代にかけて設計様式に関して起きた、「CISC(Complex Instruction Set Computer)」vs.「RISC(Reduced Instruction Set Computer)」といった論争は、既にまったく実情に合っていない。
MPUの性能向上が課題となる一方で、消費電力の抑制にも注目
まずは、8/16ビットMPUと32ビットMPUに求められる機能の違いを簡単に説明しよう。
8/16ビットMCU(マイクロコントローラー)に搭載されるMPUは、一般に「低価格・省スペース・省電力」にフォーカスしているのが特徴で、いまだに大きなマーケットがある。もちろん、8/16ビットMPUに対して「多機能」というニーズもあるが、8/16ビットMCUは一般にデバイス制御が主目的であるため「多機能=多インタフェース」となり、多機能化はパッケージの大型化、すなわち高コスト化につながる。さらに、多数のインタフェースをハンドリングするにはMPUのパフォーマンスも必要となるが、8/16ビットMPUでは力不足になることがある。そのため、8/16ビットMPUを搭載する際には機能をある程度割り切り、複数の機能が必要な場合は複数のMCUを投入するというアプローチが一般的である。
一方で、32ビットMCUに求められるのは多機能(=多インタフェース)であることと、それを支えられる高い性能だ。もちろん、「低価格・省スペース・省電力」も求められるが、8/16ビットMCUに内蔵されるMPUほどシビアではない。むしろ高性能やスケーラビリティ、多目的といった事柄が相対的に重視される。
特に、デジタルカメラやメディアプレーヤー、携帯電話などの情報家電で求められる機能は年々増えており、高性能化への要求は増す一方だ。特定分野に関してはアクセラレータを入れたり、コプロセッサとしてDSP(Digital Signal Processor)を導入したりする形で対処できるケースもあるが、柔軟性に欠けることが多く決定的な打開策とはならない。やはりMPUの性能向上が重要な項目といえる。
ただ、組み込み向けMPUにはさまざまな種類があり、MPUによって性能向上の方法は大きく異なる。例えば、消費電力別にMPUをざっと分類し、求められる性能強化を見てみると以下のようになる。
- 消費電力100ワットのオーダーを許容し、通信関連機器に利用されるMPU
- 消費電力20~50ワット未満でさまざまな機器の内部に組み込んで利用されるMPU
- 消費電力数ワット~10ワット以下程度で、非常に小型の機器や携帯機器に利用されるMPU
消費電力の高いMPUは同時に複数の処理が走ることが多いため、並列実行性能を強化したものになる。一方、消費電力が低いMPUでは、同時に走るのはせいぜい2処理程度なので、むしろ1つひとつの処理に対する絶対的な処理性能の強化が求められる。20~50ワット程度の中間くらいの消費電力のMPUは、両者の折衷といったところだ。いずれのマーケットも消費電力の増加は許されないため、「同じ消費電力でより性能を引き上げる」か、「同じ性能でより消費電力を下げる」かのどちらか(あるいは両方)という形で改良が続けられている。
ただ、ここで難しいのは、「性能・消費電力・コスト」のバランスである。この3つを同時に満足させるのは非常に難しく、どこで妥協するかがMPUの用途によって大きく変わってくる。
高性能、高機能、低消費電力を実現するための主なアーキテクチャ
では、MPUの性能向上や低消費電力化、多機能化を実現するにはどのような手法があるのか? 以下に、主な技法を用途別に列挙する。ちなみに、これらをすべて搭載するMPUは存在しない。採用する技法を取捨選択し、各MPUの特徴を作り出している。
高性能化
1.パイプライン/スーパーパイプライン
MPU内部を細分化することで、動作周波数を引き上げやすくする。ただし、回路規模が大きくなり消費電力も増えるほか、パイプラインストールやパイプラインハザードなどが起きた場合に、性能が著しく下がる欠点がある。
2.スーパースケーラ
同時に複数の命令を処理できるようにする仕組み。うまく動くと一気に性能が向上するが効果のない場合もあり、回路規模が大幅に増える。
3.アウトオブオーダー
複数の命令を「処理できるものから先に処理する」仕組み。スーパースケーラと組み合わせると効果大。ただし、この場合も回路規模が大幅に増える。
4.レジスタリネーミング
内部で利用するレジスタを複数用意して効率よく使い回すことで、アウトオブオーダーやスーパースケーラにおける「レジスタの取り合い」を回避する。これも回路規模の肥大化につながるという欠点がある。
5.分岐予測
特にスーパーパイプラインを採用したとき、分岐命令に起因したパイプラインハザード発生を避けるために、分岐の方向をあらかじめ予測する仕組み。これも回路規模の肥大化につながる。
6.キャッシュ
MPUコアとメモリの間に、複数レベルの「キャッシュ」と呼ばれる領域を設けることで、メモリアクセスを(見掛け上)高速化する。キャッシュのサイズや性能にもよるが、かなりの実装面積を必要とするため、コストが掛かる。
7.MT(マルチスレッド)/SMT(同時マルチスレッディング)
処理のコンテクスト(スレッド)を複数実行できるようにする仕組み。SMTでは、さらに複数同時実行も可能にする。性能を引き上げやすい半面、回路がやや複雑化する。
8.マルチコア
MPUのコアを複数搭載して一斉に動かすことで処理性能を向上させる。ただし、消費電力と回路面積は増やしたコアの数だけ増えることになる。
9.SIMD(Single Instruction Multiple Data)演算
大量のデータ処理を行う際に有効な技法。ただし小回りは利かず、いろいろな演算に対応させようとすると、あっという間に回路規模が肥大化するという欠点がある。さらに、データの持たせ方などに制限があり、どんな場合でも高速化できるとは限らない。
10.DSP演算
SIMDと同じく、大量のデータ処理を行う際に有効。ただし適用できる用途が限られている。また、DSPエンジン部を別に用意する必要があり、回路規模の肥大化につながる。
11.製造プロセスの微細化
回路をより小さくすることで、高速化と小型化を実現する方法。ただし、製造プロセスが130ナノメートル以下の場合、何らかの対策をしないと消費電力が増える傾向にある。さらに、90ナノメートル以下は量産に必要な初期コストが指数関数的に跳ね上がるので、量産へのハードルが高い。
高機能化
12.MMU(Memory Management Unit)の実装
仮想メモリを使う際、仮想アドレスと実アドレスの変換をハードウェアで行うMMUを搭載することで、高速な変換を可能にする。ただし、回路規模は大きくなる。
13.TLB(Translation Look-aside Buffer)の搭載
MMUでアドレス変換を高速に行うための一時記憶領域。分かりやすくいえばMMU専用キャッシュ。MMUを使う場合、TLBも一緒に搭載するのが普通だが、容量に気を付けないと回路規模の増大につながりやすい。
14.Virtualizationの実装
いわゆる仮想化支援のハードウェア。仮想化環境を使う場合は必須であり、これがないと処理はかなり遅くなる。ただし、当然回路規模の増大につながる。
低消費電力化
15.クロックゲーティング(Clock Gating)
MPU内部を細かくブロック分けし、稼働中か否かで電圧レベルを変化させるなどして不要な消費電力を低減する。待機時などの消費電力は削減されるが、全力稼働時のピーク消費電力はほとんど変わらない。電源管理に余分な回路が必要な分、回路規模がやや大きくなる。
16.周波数/電圧調整
全力稼働時は電圧と動作周波数を引き上げて高速動作させ、待機時には電圧と動作周波数を引き下げて省電力を実現する仕組み。これを静的に行うか、動的に行うかで幾つかの手法に分かれる。回路規模はそれほど増えないが、MPU外部に電圧調整機構が必要になるため、余分なコストが掛かる。また、待機時の消費電力は減っても全力稼働時の消費電力はほとんど変わらないのが欠点。
17.複数の待機モード
待機時間が長い場合に、キャッシュの中身をフラッシュして電源供給を止めることで消費電力を低減する。ただ、携帯機器などのような待機時間の長い用途には効果的だが、常に稼働するサーバなどでは効果がなく、むしろ煩雑に待機モードに入ったり復帰したりすることで性能が落ちる危険性がある。
18.低消費電力プロセスの利用
デバイスの構造を工夫したり、逆電圧を掛けたりといった技法により、待機時の消費電力を下げる仕組み。これを使うと、待機時~ピーク時まで一様に消費電力を抑えられる。一方で、全力稼働時の性能が落ちやすい、製造に余分なコストが掛かるといったデメリットもある。
以上、広く利用されている技法を簡単に紹介した。後はこれらを組み合わせてアーキテクチャを構成するわけだが、具体的にどのようなアーキテクチャが実装されてきた(されている)のか? その辺りを、次回から具体的に紹介していく。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
2
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
3
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
4
221人調査で分かった「情シス最大のストレス」は?
-
5
「データストレージの活用方法」に関するアンケート
-
6
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
7
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
-
8
本当に安いPCで十分か? “すぐ重くなる”を防ぐノートPC選びの絶対条件
-
9
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
10
Claudeの不可視透かしに批判殺到 著作権消失や誤判定に潜む企業リスク
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー