後藤弘茂のWeekly海外ニュース

Hot Chipsで発表されたサーバー向けARM CPUやMIPSの次世代コア



●64-bit ARMベースのスモールメニイコアサーバーチップX-Gene
Hot Chips会場は例年はスタンフォード大学の講堂だが、今年は改装中であるためクパチーノのFlint Center for the Performing Artsで開催された

 米クパチーノで開催された半導体チップカンファレンス「Hot Chips 24」では、組み込み系プロセッサやそこから発展したプロセッサアーキテクチャについてもいくつもの発表があった。最近のトレンドは、従来組み込み系だったアーキテクチャからシングルスレッド性能を発展させたコアを、より多用途へと適用しようとしている点。また、特定用途向けのアクセラレータの強化も、電力効率の向上のために進んでいる。

 組み込みチップベンダーのApplied Microは、昨年(2011年)開発をアナウンスしたサーバー向けのARM CPUコアSoC「X-Gene」をHot Chipsで発表した。ARMコアを使ったサーバーSoCは、ARMが昨年次期64-bit命令セット「ARMv8」を発表したことで、活気づいている。下はARM発表時のスライドだ。

 ARM自身が開発するARMv8ベースのマイクロアーキテクチャ、「Atlas(アトラス)」と「Apollo(アポロ)」として2014年に市場に登場する予定だ。Applied Microは、ARMからのアーキテクチャルライセンスを得て、一足先に、ARMv8ベースのCPUをX-Geneとして開発しようとしている。ARMのAtlas/Apolloとは別設計の製品となる。モバイルでのQualcommのSnapdragonと同じように、ARMと命令セット互換の、独自設計CPUコアのSoCとなる。

 X-Geneのポイントは、ARMv8互換であり、サーバーに焦点を絞ったこと。相対的に高いシングルスレッドパフォーマンスを低い消費電力で実現する、パフォーマンス効率の高いアーキテクチャが目標となっている。発表時のアナウンスでは3GHzがターゲット周波数とされていた。

 ARMは、複雑でアウトオブオーダ実行に向かない命令セットアーキテクチャを、ARMv8で一新。ARMv8の64-bitモード命令では、ハードウェアによる高速化がしやすい命令セットに発展させた。Applied MicroのX-Geneは、新しいARMv8にフォーカスし、ARMv8でフルパフォーマンスが出るように設計されたパイプラインとなっている。

 CPUコアは2コアで1モジュールとなっており、L2キャッシュを共有している。最大4命令デコードのアウトオブオーダスーパースカラマイクロアーキテクチャだ。フロントエンドでは、4命令までを1グループとして扱う。実行ユニットは、1サイクルに最大2整数オペレーションの整数ユニットと、ロードとストアそれぞれのユニット、ブランチパイプを持つ。浮動小数点演算/SIMD(Single Instruction Stream, Multiple Data Stream)ユニットは、個別のスケジューラを備え、フルパイプラインでフルスピードの動作が可能。

 SoC全体の構成では、最大128コアまでのスケーラビリティを持つとされている。コアはモジュール単位でスイッチに接続され、メモリインターフェイスとI/Oブリッジ、共有L3コアに接続される。実際の製品の構成では、4個のSoCを載せた1ブレード当たり数百のCPUコアとされている。

 X-GeneをはじめとするARMベースサーバーチップは、一部のサーバーに必要とされる特質が変化しているという認識に立って開発されている。クラウドコンピューティング時代には、シングルスレッドパフォーマンスがクリティカルではないワークロードになり、スモールメニイコアのサーバーが有利になるという視点に立っている。しかし、実際にどれだけの市場があるのか、ARMがそこに食い込めるのかは、まだ見えていない。


●新しいproAptivシリーズでARMに対抗するMIPS

 組み込み用途ではARMと並んでポピュラーなプロセッサアーキテクチャのMIPSも、シングルスレッドパフォーマンスを引き上げた新マイクロアーキテクチャ「proAptiv」シリーズを発表している。MIPS Technologiesは、今年(2012年)5月に日本でproAptivの概要を発表するセミナーを行なったが、Hot Chipsでは、より詳しい内容も明かしている。

 MIPSは2010年9月に行なわれたLinley Tech Processor Conferenceで、proAptivファミリの前世代となる「1074K」コアを発表。1074Kはデュアルイシューのアウトオブオーダスーパースカラコアで、ARMで言えばCortex-A9世代相当となる。その時に、同社は、今後はシングルスレッドパフォーマンスを高める路線を取ることを明らかにした。proAptivはその路線で産まれたアーキテクチャで、最大4命令フェッチ、ピークで4整数命令、2浮動小数点演算命令発行のパイプラインとなっている。

 パイプラインは整数で16ステージと、これも最近の流れのやや深いステージ数となっている。それに合わせて、分岐予測機構がより複雑で高精度なものに進化している。整数パイプは、シンプル演算パイプが1、コンプレックス演算パイプが1の構成。分岐パイプとロード/ストアメモリパイプ、デュアルイシュー浮動小数点演算パイプがある。

 マイクロアーキテクチャで特徴的な点は、2つのメモリアクセス命令を1命令に結合させるロード/ストアボンディングを行なうこと。メモリアクセスの効率を高めて、内部命令数を減らす工夫だ。

 Hot Chipsでは、これまで明確にされなかったproAptivの具体的なマクロの姿も明らかにされた。フルシンセサイザブルコアとして提供されるが、ARM同様に、パワーパフォーマンスに最適化したパッケージとして提供される。旧来のRTLベースのソフトコアのように、パフォーマンスや電力で妥協しない。


●アクセラレータで画像認識を高速化する東芝のVisconti2

 ヘテロジニアス(Heterogeneous:異種混合)化とマルチコア化が進むプロセッサアーキテクチャの、特定用途への適用例が東芝の画像認識プロセッサ「Visconti2」チップだ。Visconti2は、複雑で負荷の高い画像認識処理を、1W以下の低消費電力で行なうために開発された。ボトルネックになる処理は、ハードワイヤド化されたアクセラレータで行なうことで、高いパフォーマンス/電力を達成する。車載用途などもターゲットとしているため、高いリアルタイム処理性能も実現する。

 チップ全体のアーキテクチャは、専用化したCPUコアを4コアに、アクセラレータ群とI/O群の構成となっている。Visconti2は、今年2月のISSCC(IEEE International Solid-State Circuits Conference)でも概要が発表されており、より詳細なブロックダイアグラムがその時に示されている。

 Visconti2は、画像認識に特化した専用アクセラレータを6ユニット備える。アクセラレータの搭載は組み込み系では以前から一般的だが、現在は、組み込み系でもヘテロジニアス(Heterogeneous:異種混合)構成と呼ぶようになっている。パターンマッチング、ヒストグラム、アフィン変換、エッヂディテクションフィルタリングといった画像認識に必要な処理を、それぞれハードウェアで処理する。実際の認識処理では、アクセラレータによって、例えば、歩行者の検知を1フレーム内で実行することができる。

 汎用のプロセッサで画像認識を行なう場合、CPUはもちろんGPUでも処理が重く電力を消費する。それに対して、Visconti2は、1GHzのCPUで処理を行なった場合に対して、50倍のパフォーマンス向上となっているという。利点は、コンシューマ機器や車載機器への適用が容易な電力とコストに抑えられること。Visconti2はチップサイズが40nmで44.54平方mmで、処理性能はピークで464GOPS(Giga Operation Per Second)、消費電力は748.6mWとなっている。