Interface増刊テックアイ

マイクロプロセッサ・アーキテクチャ入門

最新情報補足説明ページ
最終更新日:2008年1月5日


 『2007年のRISCプロセッサの動向』

■2007年のARM

 ARMは2004年10月20日に発表したARMv7アーキテクチャを実装するCortexシリーズの新製品を着実にリリースしている.A(Application),R(Real Time),M(Microcontroller)と3分野に対して個別に攻略を行っている.

 特に組み込み制御分野は2010年度には2006年度に比して10倍の成長が見込めるとして注力している.組み込み制御分野向けのプロセッサは,Cortex-M1,Cortex-M3とCortex-R4(F)である.

 Cortex-M1はFPGA用に提供されるCPUコアである.ARMという膨大なソフトウェア資産を背景にFPGAの標準CPUとなることを目標としている.また,SoCの試作品としてのFPGAでのARMアーキテクチャ採用も目論んでいる.

 Cortex-M3は特に組み込み向けに特化したアーキテクチャを提供する.ARMとしては(多分)初めて除算命令を採用する.また,ネスト可能なベクタ式割り込みコントローラを内蔵する.命令セットはThumb-2のみであるが,その性能は1.25DMIPS/MHzと(ARMでの対抗機種と目される)ARM7のネィティブコードよりも高性能を発揮する.これは,IF-THENシーケンスの1命令化,テーブルジャンプ,ビット操作,16ビットの即値転送命令など追加命令の恩恵によるところが大きいと考えられる.

 Cortex-R4(F)はキャッシュを内蔵する分岐予測つきの限定的スーパースカラ実行で1.60DMIPS/MHzという高性能を達成する.もちろん除算命令も実装する.FPUはオプションで内蔵する.

 Cortex-R4Xという製品もある.これはIntrinsity社の開発した1-of-N DominoLogic(NDL)を採用して最高600MHzという高速化を実現する.ただ,GDSIIマクロでしか供給されない点が難である.

 ARMの2007年のハイライトは10月4日のCortex-A9の発表である.ARMアーキテクチャで初めてIn-Orderなスーパースカラを実現したCortex-A8の後継である.

 Cortex-A8は,開発コードネームをTigerと呼ばれたプロセッサで,2005年のFall Processor Forumで発表された.Cortex-A8は13段パイプラインで2命令同時発行する.発表時の目標性能は非常にアグレッシブであり,2000DMIPS(@1GHz)を狙うだけでなく,複数のベンチマークでIPC0.9を狙うとしていた.つまり,1コアで4CPU構成のMPCore(2880DMIPS@400MHz)に匹敵する性能を達成すると豪語していた.この時点では,ARMはMPCoreのロードマップからの切捨てを考えていたのかもしれない.マルチコアよりもシングルコアで十分と…最終的に,ARMのホームページでは,Cortex-A8の動作周波数は600〜800MHz止まりになっており,2000DMIPSには届かなかった.

 Cortex-A9は,明らかに,Cortex-A8で果たせなかった1GHz動作を目標としたプロセッサである.Out-of-Oderのスーパースカラ構造を採用し,8段パイプラインで,最大4命令を同時発行,最大7命令を同時完了する.CPU1個のみの構成ではなく,2〜4個のCPUを内蔵するMPCore構成もある.目標性能は依然として2000DMIPS(@1GHz)であるが,MPCore構成で8000DMIPSというのが売りである.ARM社もマルチコア化に向かい始めた.

■2007年のMIPS

 MIPS社は2007年5月の「Microprocessor Forum 2007」でMIPS32 74Kを発表した.これは,合成可能な32ビットCPUコアとして初めて1GHzの壁を超えたというのが売りである.TSMCの65nmプロセスを想定した場合の動作周波数である.最低でも1.04GHz動作で,命令/データ各32KBのL1キャッシュを搭載する場合の面積は2.5mm2という.Out-of-Orderのスーパスカラ構成の17段パイプラインを採用し,性能は1.8DMIPS/MHzである.

 74Kの元になった24Kは8段のシングルパイプライン構成でTSMCの130nmプロセスでは400MHzの動作周波数だった(公称では最大動作周波数は625MHz).性能は1.44DMIPS/MHzである.これを一気に(90nmプロセスをスキップして)1GHzまで引き上げてARMのCortex-A8との差別化を行う戦略に出た.

 MIPSには24KをSMT(Simulateous Multi-Thread)化した34Kがあるが,74Kは34Kではなく24Kを元にしている.MIPS社は74KをSMT対応にする計画はあるというものの,現在では組み込みソフトウェアがマルチスレッドを前提としておらず、それに対応するには,まだ時間がかかると見ているからだそうだ.

 MIPS社は,現在でも民生機器ではARM社に対して優位性を保っており,アプリケーション変更の手間を考えると,ARM社がこれらの分野に参入するのは難しいと見ている.また,ベンチマーキングにおいても,74KはCortex-A8に対して,性能的,面積的に優位性を保っているとしている.しかし,公平な目で見れば,74KがCortex-A8に勝っているのは動作クロックと面積のみであり,MHz当りの性能(DMIPS)は劣っている.Cortex-A9の出現によって,その優位性は揺らいでいる.ただ,ソフトウェアの移行に難があるのは事実であり,現行がMIPSの場合は,MIPSからARMへの切り替えという事態は,当面の間は,ほとんど発生しないと思われる.その逆も真なりで,現状ARMが成功している分野へのMIPSでの切り込みは難しいと思われる.

 MIPS社はマルチスレッドに進む用意はあると言うものの,マルチコアには興味がないように思える.しかし,MIPSのアーキテクチャライセンスを有するベンダはマルチコア製品を当たり前のように投入してきている(動作クロックは600〜800MHz).また,L2キャッシュの搭載も当然のようになっている.事実,組み込み制御分野のマルチコア化は急速に進みつつあり,これらマルチコア製品とMIPS純正の24Kや34Kを比べると本家製品の方が見劣りする感がある.MIPS社がアーキテクチャ提唱者としての存在感を誇示するために1GHzの74K開発は必然だったのかもしれない.MIPSがマルチコア化にいつ進むかが注目される.

 2007年8月,MIPS社は,アナログIPコアを提供するポルトガルChipidea Microelectronica社を買収した.これにより,MIPS社は,無線用PHYやMAC,USBなどのアナログIPも供給できる強みが生まれた.アナログIPコアとMIPS32コアの組み合わせにより,より一般的なSoCを短期間で開発できるようになる.また,MIPS社はこれを契機に32ビットマイコン市場に本格参入すると表明し,Cortex-M3に対抗して,組み込み向けM4Kコアに改良を加えた.具体的にはレジスタバンクの増加,動作周波数の動的変更機能,回路規模の少ないオンチップデバッグ機能の追加である.

■2007年のPowerPC

 IBM社は2006年10月にPower5の後継となるPower6の開発を表明した.Power6は,既存のPower5に比べて,消費電力やパイプライン段数を増やすことなく,動作周波数と処理性能を2倍に高めることを目標とする.キャッシュや外部メモリとの転送帯域幅を考慮せずに,むやみにCPUコアの個数ばかり増やしてもプロセッサ性能は向上しないとして,Power5と同様に1チップに2コアを集積する構成を採用した.

 動作周波数を2倍(目標4GHz)にする仕組みは非常に複雑なラッチ回路やスタティック・ゲート回路を導入して論理段数を半分にすることにあるという.これを実現するために,SOI基板と歪みSi技術を適用した65nmプロセスを使用する.また,さまざまなゲート長や可変閾値電圧などを適用することで単位電力当たりの性能を絞り出す.この結果,わずか0.8Vの電源電圧でチップを駆動できるようになる.これにより,ローエンド分野にもPower6の技術を適用することが可能になる.

 IBMは従来も,Power4,Power5の技術を組み込み分野向けのPowerPCに適用してきた.Power6も同様の方針であると思われる.

 Power6を搭載したサーバー「System p モデル570」の発表は2007年5月に発表した.結局,動作周波数は4.7GHzとなった.2007年11月に発表されたブレードサーバーは4GHz動作である.

■2007年のSPARC

 2007年8月7日,Sun Microsystemsは「Niagara 2」の開発コード名で呼ばれていたプロセッサ「UltraSPARC T2」を正式発表した.プロセッサ内に最大8コアを内蔵し,コア間をクロスバスイッチで結合する.CoolThreads chip multithreading(CMT)と呼ばれるSMT技術を用いることで,各コアごとに8つのスレッドを同時実行できるため,1つのプロセッサで合計64スレッドを同時実行できる.CMTは1スレッド当りの電力が2W以下の低消費電力であることを特徴とする.とはいえ,サーバーに組んだ場合の消費電力は70〜80Wというから,組み込み制御向きではない.

 UltraSPARC T2の発表で特徴的なことは,最初からプロセッサの外販を念頭に置いている点である.ライバル他社に製品の採用を積極的に訴えていくだけでなく,ネットワーク機器などの他のデバイスにも用途を広げていくことを検討しているという.

 NiagaraやNiagara 2はシングルチップの構成しか取れず,小規模なサーバーへの適用に留まっていた.そこで,Sun Microsystemsは2007年8月のHot Chips19にて,マルチコア構成のVictoria Fallsを発表した.これは,大雑把にいうと,Niagara 2プロセッサ4個をSMP構成で使用可能にしたプロセッサである.新たに2領域の2次キャッシュのコヒーレンシを維持するCLC(coherence & link controller)という回路を4個集積した.これにより,クロスバスイッチの帯域を使わずにキャッシュのコヒーレンシを維持できる.サーバー機向けのベンチマークテストでは,2プロセッサ構成のシステムのスループットが,1プロセサ構成のシステムに比べて1.8〜1.9倍程度になったという.

 Niagara 2の後継に当たるRockに関しては新しい情報はあまりない.Rockを搭載するサーバーは2008年発売予定であり,競合各社のチップが最大で8コア搭載になることを受けて,16コアでの登場になるらしい.

 2007年12月11日に,Sunは MicrosystemsはNiagara 2チップのオープンソース化を発表した.これはNiagaraのオープンソース化に続くものである.オープンソース化により,NiagaraやNiagara 2をサーバーチップのデファクトスタンダードにしたい意向と思うが,オープンソースのソフトウェアとは異なり、ハードウェアはLSI開発に膨大なコストがかかるので採用する大学や企業はあるのだろうか.

■2007年のSuperH

 ルネサステクノロジはSH-X(SH-2AやSH-4A)をCPUコアとしたSoCで組み込み制御分野を着実に攻略して行っている.特に,携帯電話にはSH-Mobile,カーナビにはSH-Naviといった専用ラインナップが存在し,この2つの分野を重要分野としているのがわかる.

 ルネサステクノロジは,2007年8月には汎用品のSH7730グループを発表している.これはSH-4AをCPUコアとするプロセッサで,主としてSH-3が使用されていた分野の置き換えを狙う.これにより,SuperHのコアはSH-2AとSH-4Aで集約されることになると思われる.

 なお,組み込み制御分野で主流となりつつあるマルチコア対応としては,2006年10月の「Fall Microprocessor Forum 2006」でルネサステクノロジはSH-4Aのマルチコア版であるSH-X3を発表した.これはSH-Xシリーズの第3世代に当たる.第1世代のSH-X1は,7段パイプラインを採用し,最高400MHzで動作する.第2世代のSH-X2は,8段パイプラインを採用し,最高800MHzで動作する.SH-X3自体はSH-X2のCPUコアを流用しており,最大4個のCPUをSMPまたはAMP構成で結合できる.発表では,SH-X3のリリースは2007年の第1四半期ということだったが,2007年10月の「CEATEC JAPAN 2007」でもテストチップの参考出展のみに終わった.やはり,SMP対応のマルチコアのデバッグは難しいのだろうか?

 その代わりといっては何だが,ルネサステクノロジは,2007年4月16日にSH-2Aを2個搭載するSH2A-DUALを発表した.これは機能分散処理を前提としており,CPU間のキャッシュのコヒーレンシを維持する機能はない.悪い言葉でいえば2個のCPUをそのまま集積しただけである.しかし,それだけでも市場ニーズはあるのだろう.SH2A-DUALは,それぞれのCPUで別々にOSが動作し,別々の機能を実行することを想定している.最大動作周波数は200MHzである.

 面白い話題としては,2007年10月の「CEATEC JAPAN 2007」でルネサステクノロジが配布した資料によると,「SH-Mobile G」シリーズの第1世代品である「SH-Mobile G1」にはARM9コアとSH-X2コアが、第2世代品の「SH-Mobile G2」にはARM11コアとSH-X2コアが搭載されている.いずれもアプリケーション処理に向けたプロセッサである.詳しいARMの型番までは公表してないが、恐らくはJazelle機能を使用してJavaの仮想マシンを効率よく動作させるためと推測される.孤高のSuperHもやはりARMの力を借りるようになったかという驚きがある.

■2007年のV850

 V850は現在では非常に多くの製品があり,その総数を把握するのは困難です.しかし,CPUコアとしては「V850ES」,「V850E1」,「V850E2」の3種類に集約されている.V850ESコアは低コスト用に最適化されており,16ビット・マイクロコントローラが使用されるアプリケーションにも向いている.一方,V850E1は高性能分野を目標に開発されている.さらに上位コア製品のV850E2は,さらなる高性能なアプリケーションに適している.

 2007年の主たるトピックスとしては,V850ESのオールフラッシュ宣言が挙げられる.

 オールフラッシュとは,応用セットのライフサイクルの短小化による

新機能要求や,仕向け地ごとに異なる微妙な仕様の差を内蔵フラッシュROMを変更することで迅速に対応することを目指し,すべてのマイコンにフラッシュROMを搭載することである.

 つまり,V850ESは,V850に最大1MBのフラッシュメモリや最大60KBのRAMを内蔵し,多様化する顧客ニーズやビジネススピードに応えることを目的としたプロセッサである.

 NECエレクトロニクスは2004年11月からオールフラッシュ宣言を行っているが、その対象は8ビットや16ビットのマイクロコントローラのみだった.今回はその宣言を32ビットまで拡充したことになる(32ビットのオールフラッシュ製品の第一弾は2005年だが).

 2007年10月30日にはフラッシュメモリにアクセスする時のみ電源をONする回路を内蔵した低電力版V850ESを発表している.

 ただ,NECエレクトロニクスはハイエンド分野ではARM(特にMPCore)の採用を全面的にアピールしている.当面,ローエンドのV850とハイエンドのARMの2本立てになると思われる.NECエレクトロニクスもやはりARMなのか.

■ルネサスのRX

 組み込み制御向けのプロセッサは特にコードサイズが重要視される.SuperHやV850はそれを考慮して16ビット命令長を採用してきたし,ARMやMIPSも16ビット長の命令セットが使えるようになっている.コード効率向上のために,8ビットの命令長という考えも当然出てくると思われる.しかし,8ビット長だけで命令体系を構成するのは不可能なので,バイト可変長という発想が生まれる.これはIntelに代表されるCISC的命令セットへの回帰であろう.

 それを実現するのがルネサステクノロジのRXマイコンである.ルネサステクノロジはCISCと表明しているが,実体はRISCに近い(つまり,ロード/ストア・アーキテクチャ)ではないかと推測される.

 ルネサステクノロジは2007年11月8日,16ビット/32ビット・マイコンに向けた新しいCISC型CPUコアの設計を完了したと発表した.このCPUコアを使ったマイコン製品群は「RX(Renesas eXtreme)マイコン」と呼ばれる.現行の「M16Cファミリ」,「R32Cファミリ」,「H8Sファミリ」,「H8SXファミリ」の4製品群を統合する次世代品として位置付けるらしい.最大動作周波数は200MHzで,1.25DMIPS/MHz以上の性能を達成し,コードサイズは30%削減,消費電力は0.03mA/MHzと野心的なプロセッサである.

 3オペランド命令,32ビット長のレジスタを16本とSuperHを彷彿とさせる仕様であるが,大きな違いは,バイト可変長の命令体系(1〜9バイト)にしてコード効率を向上させている点である.

 RXファミリの第一弾製品は、OA、デジタル民生、産業分野向けに2009年第2四半期を予定しているという.RXファミリの売上目標は2010年に100億円.既存製品群の出荷量をRXファミリが上回る時期は2015年ころになると見込まれている. 少々気の長い話ではある.


<< 前へ エピローグ RISCプロセッサ興亡史 次へ>>

Interfaceのホームページへ