元麻布春男の週刊PCホットライン

Research@Intel Dayで展示された次世代技術



 6月30日(現地時間)に開催された「Research@Intel Day」は、Intelの研究開発を担当するIntel Labsのイベントであり、直接製品開発に関わるものではない。あくまでも研究ということなのだが、では製品とは無関係かというと、決してそんなことはない。展示される研究の多くは1~5年程度での実用化を目指したものだ。ここでは、将来のマイクロプロセッサに採用されるかもしれない技術を2つ拾ってみた。

●Resilient Processors(自己修復型プロセッサ)
Resilient Processorsの展示パネル

 市販のマイクロプロセッサには、必ず定格のスペックが決められている。が、そのスペックを少しでも超えると動作しなくなったり、プロセッサが壊れてしまうかというと、決してそんなことはない。少しずつ動作クロックを引き上げていくと、クロックに従って性能は向上していく。そして、ある線を越えたところで、テストプログラムが落ちたり、ブルースクリーンでOSが落ちたり、フリーズするといった現象が生じる。テストプログラムが一定期間、何事もなく動いたのち、突然クラッシュするということもよくあることだ。

 こうした場合も、いったん電源を落とし、設定を定格に戻してやれば、何事もなかったようにPCは起動する。限度を超えてしまえば、プロセッサやマザーボードが焼損し、2度と動作することはなくなってしまうが、そこに至るにはかなりのマージンが設けられている。これはオーバークロックを行なったことがある人なら知っているだろうし、逆に動作電圧を下げアンダークロックする静音化を試みたことがある人も、似たような(こちらは焼損する可能性はほぼないが)経験をしたことがあるだろう。

 こうしたマージンはなぜ存在するのか。もちろんその理由には、マーケティング的な要素も含まれている。が、マーケティング的な要素を除外しても、やはり一定のマージンは必要だ。プロセッサが実際に使用される環境は、研究室のように条件が整えられた場所ではない。利用中に周囲の温度は変動するし、電源電圧も上下する。それはマザーボード上のレギュレーターにも影響を及ぼす。マイクロプロセッサの定格は、そうした周囲の環境変化に対し、一定割合のマージンを見越して設定されている。実際にはめったに遭遇しないような条件まで踏まえて設定されているらしい。

 定格を超えるとどうなるか。すぐに壊れたり、システムが落ちるわけでもないのは上述した通り。それでもマージンの領域に突入すると、演算結果にエラーが生じる確率が徐々に高くなっていく。定格を超えれば超えるほど、エラーの確率は上がり、正常な動作が見込めなくなっていく。あるいは、正常な動作が見込める時間が短くなっていく。定格のスペックというのは、一定幅の環境温度や電源電圧の変動に対しても、絶対にエラーを起こさないという保証値であるわけだ。

 ここで発想を変えて、エラーが発生するのであれば、それを検知して再実行し修正すれば良いというのが、Resilient Processors(自己修復型プロセッサ)の考え方だ。もちろん、再実行によるエラーのリカバリはペナルティを生む。しかし、1%の実行にエラーが発生し、リカバリが必要になったとしても、クロックアップにより残る99%の実行が高速化されることでトータルでの処理時間が短縮できれば良いといった考え方である。ある程度以上クロックを上げると、リカバリによるペナルティの方がメリットを上回るようになるから、その手前で止めておくのがポイントとなる。

 この自己修復型プロセッサを実現するには、実行コアのパイプライン各段やL1キャッシュ等にエラー検出回路を設け、さらに再実行を制御する回路を追加する必要がある。エラーを検出したら必要な処理を自動再実行して、エラーの発生を外部(ソフトウェア)に見せないよう設計しなければならない。そういう意味では、自己修復型プロセッサは、ソフトウェアにトランスペアレントで性能向上を実現する技術でもある。自己修復設計をプロセッサに加えることで、同じ消費エネルギーにおいて41%の性能向上、あるいは同じ性能において22%の消費エネルギー削減が可能になるというのがIntelの試算だ。

 Nehalemマイクロアーキテクチャに加えられたTurbo Boostテクノロジーは、消費電力、動作クロック、動作コア数などの条件により、エラーが発生しない範囲でクロックを引き上げるものだった。この自己修復型プロセッサは、エラーの発生を見込んでさらにクロックを上げようというものであり、それを性能向上に割り振るか、その性能向上分を見込んだ上で動作電圧を引き下げ、消費電力を抑えることができる。また、環境条件の変化についても、自律的にチューニングされ、ソフトウェア等による制御を行なう必要はないとされる。

 現時点で、この自己修復技術が、いつ実用化されるかは明らかにされていない。今、技術発表が行なわれているということは、すでに動作するシリコンが存在するSandy Bridgeには間に合わないのではないかと思う。この技術を発表したのが、オレゴン州ヒルスボロのCircuit Research Labであることを考えると、Iby Bridge(22nmにシュリンクされる2世代目のSandy Bridgeマイクロアーキテクチャプロセッサ)のさらに次あたり、というのが妥当な予測かもしれない。

クロックとスループットの関係。マージンの領域(グレーになっている部分)に入ると、エラーをリカバリする比率が増していく。図では1.45GHzを超えたところでリカバリ率が急騰し、クロックを上げたことによるスループットの向上をスポイルしてしまう。一般的なプロセッサとResilient Processorの比較。動作電圧を10%引き下げたResilient Processorは、同じ消費エネルギーにおいて41%の性能向上、あるいは同じ性能において22%の消費エネルギー削減が実現される。Reconfigurable Near Threshold Voltage Encryption Acceleratorの展示パネル。

●Reconfigurable Near Threshold Voltage Encryption Accelerator

 Intelは2世代目のNehalemマイクロアーキテクチャプロセッサ(Westmere)で、AES-NIと呼ばれる暗号処理のアクセラレータ機能(命令セット)を追加した。今回Research@Intel Dayでは、次世代のAESアクセラレータと思われる展示があった。それがこの「Reconfigurable Near Threshold Voltage Encryption Accelerator」だ。

 こちらのキモは、Reconfigurableであることと、Near Threshold Voltageの2つが示す通り。Reconfigurableが示しているのは、このアクセラレータが、AES-128/192/256(数字はキーの長さを表す)のEncryptionとDecryptionの両方に利用可能なこと、つまりそれぞれの役割用に構成可能であることを意味している。Near Threshold Voltageとは、このアクセラレータの動作電圧が、0.32V~1.35Vとスレッショルド電圧以下の低電圧までカバーしていることを表している。この低電圧でも動作可能という特性は、この技術がPC向けのマイクロプロセッサだけでなく、組み込み用途向けの製品にも応用可能であることを示している。

 性能的にも、2.1GHzの1.1V動作時におけるAES-128の53Gbpsという数字は、発表されている既存のアクセラレータ中、最も優れたものの5倍だという。とはいえ、既存のアクセラレータで最も性能の優れたものと言われてもピンとこないので、Westmereと比べてどうなの? と尋ねてみたのだが、逆にポカンとされてしまった。どうやらそんな比較はしたことがなかったらしい。製品開発でも、マーケティングの担当者でもないので、そんなもののようだ。こういうところからも、前回記したように、どこか微笑ましく感じるのではないかと思う。

 こちらもResilient Processors同様、正確な実用化の時期は分からない。が、Sandy Bridgeに間に合っているとは考えにくい。Iby Bridge以降の製品に採用されるのではないかと思われる。筆者はこのResearch@Intel Dayというイベントに参加するのはこれが4回目だったが、このような形で将来のプロセッサに採用されそうな技術が具体的な形で展示されていたのは、あまり記憶にない。そういう点では、ポール・オッテリーニ体制になり、研究活動もより製品にフォーカスしたものになっているのではないかという気がしている。

動作電圧範囲が広く、高性能を達成したAESアクセラレータ300mmウェハ(45nm)上のAESアクセラレータは、赤枠で囲った範囲。ほかの部分は「よそのLabの試作シリコン」らしい