最新ニュース
【11月30日】
【11月29日】
【11月28日】

【Watch記事検索】

Spring Processor Forum 2005レポート
〜MarvellのARM互換プロセッサ「Feroceon」

カンファレンス会期:5月17日〜18日(現地時間)

会場:米カリフォルニア州サンノゼ
DoubleTree Hotel



Marvell Technology Groupの会長であり、Marvel Semiconductorの創立者の1人で現在CEO兼Directorを勤めるSehat Sutardja氏

 MarvellといえばPHYのトップメーカーの1つであり、ネットワーク系を中心にさまざまな製品をリリースしている大手ベンダーである。PCI Expressへの対応も早く、Intelの915/925系マザーボードには(結局製造を中止したIntel自身のNorthway GbEに代わり)Marvellの「Yukon」が使われていた事などでも有名である。

 また、SAN(Storage Area Network)向けに「Discover」ファミリー(PMC-SierraのPM7000ベース)やMIPS/PowerPCベースのプロセッサ、あるいはTensilicaのXtensa CPUコアをベースにした「NetGX」コプロセッサを、またルータ向けには「LinkStreet」ファミリーというARM9ベースのプロセッサを提供するなど、幅広く組み込みプロセッサも供給している。

 これだけアーキテクチャが異なるプロセッサをまとめて売っているものの、CPU Businessはあくまで片手間であって、Marvellのネットワークコンポーネントを売る際に、一緒にMarvellブランドのコントローラとして販売するという程度で、顧客の要求に合わせやすいよう、さまざまなアーキテクチャを用意するというビジネスであると考えられる。

 そうしたビジネスモデルだったはずのMarvellが、今回ハイパフォーマンスのARMアーキテクチャプロセッサ「Feroceon」を自ら開発した。

●ARMを選んだ理由

 まず業界背景として、ARMはトップシェアを持っているが、MIPS/PowerPCに競合するには性能が足りないとしており、だからといってその他のアーキテクチャを持ってきてもわずかなパイを食い合うだけだという洞察を示した後、Marvellのような規模の会社であっても複数のアーキテクチャをサポートするコストが全然馬鹿にならないということで、やはりどれか1つのアーキテクチャに絞るのが賢明であるとした。

 その結果としてARMを選んだのは、今ではダントツにシェアが大きいからという点に尽きているわけだが、MarvellがこれまでMIPS/PowerPCコアで提供してきたコントローラをARMで代替するにはやや性能が足りない、としている。そこでMarvellは、ARM9/ARM10のアーキテクチャと互換があるハイパフォーマンスのCPUコアを自ら開発する、という決断をした。プレゼンテーションにもあるように、ARM9と比較して倍以上の周波数で動作し、倍以上の性能を持つARM9/10互換プロセッサというのがその目標だ。

ARMが携帯電話用としてスタートしたというのはあんまりだと思うが、携帯電話に採用されたことでワールドワイドでシェアが爆発的に伸びたのは事実だ 「Tiger」は、ARM12の開発コード(といわれているもの)。今年のFPFあたりで、その片鱗を見せてくれるのだろうか?
ARMを蟻に例え、サイズ(というか性能やコスト)こそ小さいものの、数で圧倒する事が可能としている。やはり互換性は重要なのである むやみやたらと高性能、つまりPowerPC970のようなハイエンドの性能は狙わないということである。Embedded Marketの場合、500〜1,000DMIPS(Dhrystone MIPS)クラスがハイエンド製品に相当する。ちなみにPentium4の場合、環境にもよるが2,000〜5,000DMIPSをシングルコアで叩き出す

●Feroceonのアーキテクチャ

 ARMコアの動作周波数と性能を上げる、というと最初に思い出すのがSamsungのHalla(そういえばその後Sorakとかいうコアも出すとか言っていた気がするのだが、どうなってしまったのだろう?)であるが、Marvellはもう少しコンサバティブな方法を採っている。パイプライン段数を深くすると共に、アウトオブオーダーを実装する事にしたのだ。

 パイプライン段数を増やす場合、分岐予測が当然重要なファクターになるが、これに関しては2段の分岐予測メカニズムを導入し、かつプリロード命令を実装することでパイプラインストールやパイプラインハザードを最小限に抑える工夫がなされている。キャッシュに関しては、ARMとしてはかなり大容量のキャッシュを持つほか、TLBやWrite Bufferの強化が目立つ。ただ、ARM11などで使われていたMicroTLBなどがどうなったのかは不明だ。

パイプライン段数が可変長、というあたりがちょっと面白いがこれは後述 命令セットには既にあるものを極力採用している。これは、Marvellがあくまでもハードウェアの会社であり、開発ツールやライブラリなどにあまり手が廻っていない事とも関連する。自社で新たな命令セットや拡張機能を入れてしまった場合、自社でツールを用意するか、サードパーティにサポートをお願いしなければならず、どちらもコストと時間がかかる。これを極力避けよう、というのが重要なテーマになっているようだ MicroTLBなどに関してはコチラでも以前触れたので参照していただきたい

 パイプラインは、整数がIF(Instruction Fetch:命令フェッチ)後5〜7サイクルで、浮動小数点は8〜62サイクルでそれぞれWB(WriteBack:書き戻し)されているのがわかる。5サイクルなのはごく一部の命令(DSP命令がここに含まれているのは流石である)で、ほとんどの命令は6サイクルということになる。今回示されたのはパイプラインの説明であって、CPUコアの構成自体は推察するしかないが、整数部はDSPとAG/ALU、AG/Multiの3つの命令ユニットが用意され、各々がアウトオブオーダー発行/完了で動作するというあたりではないかと思われる。

 命令セットに関する部分はFeroceonとARM11/XScaleが完全に同一であるのがわかる。違いはソフトウェアから見えない部分であって、このあたりが特徴的とも言える。

 開発ツールに関しては先ほども触れたとおり、極力既存の製品で賄うつもりのようだ。既にFeroceonが搭載された評価ボードがあり、一部の開発元には供給が始まっているという。

要するにそれぞれ5サイクル/6サイクル/7サイクルで処理が終わる実行ユニットが1つずつ用意され、全てアウトオブオーダーで動作するというメカニズム。アウトオブオーダー完了をサポートするためにはWBにやや複雑な機構が必要になるので、逆に実行ユニットは3つくらいで済ませないとまずいのではないか、と思われる ここで言及されていないのは消費電力で、後のQ&Aでも具体的な数字は「今は言えない」で終わっていたが、まぁ良いとは思えない。目的を考えれば、例えばARM10の2倍とかであってもそれほど支障はないのだろう
“Optimized Compiler”の詳細も突っ込まれていたが、やはり未公開だった。単純に考えれば、GCCにアウトオブオーダーの対応を付け加えたスペシャルバージョンというあたりではないかと思う ARMのPrimeXsysボード上にFerroceonのCPUボードを搭載した形になっている

●今後の展開

 Marvellは、まずFeroceonをベースとした「Orion」というSoC(System-on-Chip)を予定しているという。同社の製品ラインナップを考えれば、FeroceonそのものよりもOrionの方が使い勝手が良いのは明白で、最初に製品に搭載されるのはFeroceonよりもOrionの公算が高い。

 またプロセッサロードマップとしては、現在のプロセス(0.15μm Standard)に加え、90nmや65nmへの移行を考えているとしている。性能面から考えれば、単にプロセスを移行して高速動作をさせるだけで性能が上がりそうだから、アーキテクチャ的な改良よりもプロセスの熟成の方が重要ということだろう。

 競合製品はというと、本家ARMのTigerがちょうどこのあたりの性能レンジにくると考えられている。2004年に行なわれた投資家向けの説明会でその一部は明らかにされており、予定通りなら2005年第1四半期には既に一部パートナーに提供が始まったはずである。今年中には実際にファーストシリコンが(ARMもしくはパートナー企業から)出てくるとされており、出荷スケジュール的にもちょうど互角である。「Tigerは高すぎる」のがFeroceon開発の動機の1つだ、としたSutardja氏であるが、さて実際にはどうなるのかちょっと楽しみである。

XORエンジンを搭載するあたりは、明らかにNAS向け。PCI Expressを搭載するのは、さすがMarvellという感じである。ただ、中央のXbar Switchが150MHz動作で間に合うのだろうか? IPCの改良はバッファサイズの改良とコンパイラの質の改善で実現できるとしており、それよりもプロセスの変更やレイアウトの改良にむしろ注力するというのは、これらに長けたエンジニアを多く抱えるMarvellらしい選択であろう

□SPF2005のホームページ(英文)
http://www.instat.com/spf/05/
□関連記事
【5月18日】Spring Processor Forum 2005前日レポート
http://pc.watch.impress.co.jp/docs/2005/0518/spf01.htm
【2004年5月21日】大原雄介のEmbedded Processor Forum 2004レポート
組み込み用マルチコアプロセッサ「ARM MPCore」
http://pc.watch.impress.co.jp/docs/2004/0521/epf02.htm

(2005年5月20日)

[Reported by 大原雄介]

【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp
お問い合わせに対して、個別にご回答はいたしません。

Copyright (c) 2005 Impress Corporation, an Impress Group company.All rights reserved.