【MPF 2002 レポート】非x86関連もチェック(3)-400MHzプロセッサを3倍速で動かすSamsungのHalla

○Samsung Halla

今回のMPFの中で一番ブッ飛んだ発表は断然このSamsungのHallaである。冒頭にHallaとは何かという説明が唐突に出てくるあたりから、そのブッ飛び感への期待が高まる。

SamsungのLead Architect and designer for Halla ProjectであるJin Cheon Kim氏
Hallaとは韓国で一番高い山の名前。正式名称は漢拏山(ハンラサン)である。今回は、ARM10ベースの最高の性能を目指すプロセッサということで、最高つながりでHallaという名前を使ったそうな。ちなみに後継製品のSorakというのは雪嶽山(ソラクサン)で、韓国第3の高さを持つ山。高さが下がってどうするんだ? という気もしなくはない

さてそのHallaだが、ベースとなるのはARM1020Eという、ARM V5ベースのプロセッサである。このARM1020Eから、プロセスルールやパイプライン構造、パッケージなどを一切変えないまま、動作速度にして3倍強の1.2GHzで動作させてしまったというのがHallaである。どうしてこんな事が可能になったか、というと(Intelも似たようなことを言っていたが)Alphaの技術をフルにつぎ込んだのだという。

図中でもはっきり描かれている通り、ライバルはズバリIntelのXScale。それは判るのだが、6ステージパイプラインで1.2GHzという動作は前代未聞である
壇上でKim氏は「ARMアーキテクチャにAlphaのテクノロジをつぎ込んだ!」と力説していた。でもIntelも似たようなことを言っていたような……もっともStrongARMは確かにDECのAlphaのテクノロジが入っているが、XScaleは純粋にIntelが再設計しており、あまりAlphaのテクノロジはつぎ込まれていない気がする

Samsungは以前、API(Alpha Processor Inc.)という子会社を作ってAlpha Processorの製造を行っており、EV68A/EV68DC/EV68Eという製品を世に出している。このAPIは既に解散しており、旧DECのエンジニアの大半はその後AMDでHTの開発に携わっているという話を別のところで聞いたことがあるが、Samsung側のエンジニアはSamsungに戻って、このHalla Projectに参加したということだ。

さて、Alphaのテクノロジをどうやってつぎ込むと3倍速動作が可能になるか? まず一般論の話をしよう。通常プロセッサのクロックを上げてゆくと、やがてクリティカルパスと呼ばれるボトルネックが必ず発生する。このクリティカルパスとは、「これ以上クロックを上げても、トランジスタの処理が追いつかないため、処理が間に合わなくなる」という部分の事だ。

デジタル回路といってもその内部はしょせんアナログであり、トランジスタ回路の組み合わせである。そのトランジスタの特性というのは、半導体の製造レベルで決まってしまう話である。

例えばパイプラインのあるステージで、10個のトランジスタをシーケンシャルに動作させる必要があるとしよう。1つのトランジスタのOn/Offに1ns掛かるとすれば、このパイプラインのステージは最短でも10ns必要になる。パイプラインの1ステージは1クロックで動作しないといけないから、つまりこのパイプラインは100MHz以上のスピードで動作させることができない。仮に6段のパイプラインで、他のステージが全部5nsで動作するとしても、10ns掛かるステージが1つあるだけで、そこがボトルネックとなってしまう訳だ。

ではこれを解決するためにはどうするか? 良くあるのはパイプラインの分割である。10ns掛かるステージを、5ns掛かるステージ2つに分割してしまえば、もはやそれはボトルネックとならず、パイプライン全体を200MHzで動作させられる。この結果パイプラインは7段に増えるが、通常これは許容すべきペナルティとして受け入れられる。

しかし、400MHzで動く6段のパイプラインを1.2GHz動作させようとすると、単純計算では18段ものパイプラインが必要になる。これは、パイプラインストールの危険性が高く、あまり一般的ではない。Pentium 4では20段ものパイプラインを持つが、その代わりTraceCacheその他の機構を大量に設ける必要があったことを忘れてはならない。

さてSamsungはHalla Projectにおいて、クリティカルセクションの解決にもうひとつの方法を取ることにした。つまりパイプライン段数を増やさず、その代わり各ステージを3倍のスピードで動作するようにしたのだ。内部回路を徹底的に見直し、内部の信号も高速動作できる様に低振幅のものを使い、クロック引き回しの遅延を嫌い網状の回路を使うなど、徹底的に高速化を行った。

実際会場では1.2GHzのシミュレーションの結果が示されたが、確かに1.2GHzで動作することが示されている。これによる成績は、というと、最大速度で駆動時の消費電力は1.8W@1.1Vだから、他のプロセッサよりも成績が悪い。ところが、800MHz動作だと電圧を0.75Vまで下げられるため、消費電力は550mW程度となりXScaleよりも良い数字を出すという結果が示されている。

例えば32bitの加算器は、2.56GHzで動作するほどに高速化されたという。他のボトルネックもあるから、CPU全体をここまで高速化することは、現在は不可能だが、これは将来の高速化へのヘッドルームとして利用できる
赤い線がクロック信号で、1周期あたり0.83nsである。緑色がShiftの出力、黄色がAddの出力だが、どちらも1クロック分を待たずに出力されており、1.2GHzで問題なく動作することが示されている。なお、高速化のために信号の振幅は1.1Vにまで減らされている
赤い線がクロック信号で、1周期あたり0.83nsである。緑色がShiftの出力、黄色がAddの出力だが、どちらも1クロック分を待たずに出力されており、1.2GHzで問題なく動作することが示されている。なお、高速化のために信号の振幅は1.1Vにまで減らされている

このHallaをどう評価するか、というとちょいと難しい。例えばXScaleは0.18μmプロセスのものであり、今後登場する0.13μmプロセスや、来年には利用できる90nmプロセスでは更に省電力、高クロック動作が可能だろう。

また、1.2GHzもの高速動作となると、キャッシュの影響が更に大きい(メモリのバンド幅とプロセッサ側のデータ処理能力の乖離が大きくなるため、キャッシュが少ないと無駄にメモリウェイトが入りやすい)訳だが、こうした容量はベースとなるARM1020Eのままであり、クロックの高さに比例した性能が出るかどうか、非常に疑問ではある。

その一方、1GHz越えプロセッサとしては珍しく少ないパイプライン段数は、キャッシュミスによるパイプラインストールや、割り込み/分岐ミスによるパイプラインハザードの際の影響が最小限に抑えられるはずで、最終的にどんな性能になるのかはちょっと興味あるところだ。

ちなみに上のロードマップの写真にもある通り、今後はプロセスを90nm化し、SMT(Simultaneous Multi-Thread:IntelのHyperThreadingと同じアレである)を搭載、3GHzものスピードで動作するSorakが更に控えている。

ちなみに国内某メーカーのLSI設計者はHallaを評して曰く「10年前の日本がやってた事みたいだ」。筆者も割と同意見である。ただ違うのはそのパワー。既存の回路の見直しで、数十%性能を向上といった話は日本でもよくあったが、400MHzのプロセッサを3倍速で動かした、なんて話はまず聞いたことがない。Samsung恐るべし、である。

(大原雄介)

【NewsSpecial】MPF 2002 レポート
http://pcweb.mycom.co.jp/news/special/2002/10/16/02.html

Samsung
http://www.samsung.com/



人気記事

一覧

イチオシ記事

新着記事