You can read this blog in any language using google translate as follows:

Goto http://translate.google.com/
Paste URL in the box and select "Japanese for From Language" and "To Language". Then click "Translate".

English translated pages are here:
http://bit.ly/xPuXoy

你可以閱讀這個博客,在任何使用“Google”的語言翻譯

本ブログのアクセス統計: 60万アクセスを達成しました。ご訪問ありがとうございました。

60万アクセスまでの経過

2009年12月に始めた本blog。2011年7月ごろに10万アクセスを達成し、2011年12月13日には15万アクセスを達成。
その後、私も更新しておらず、アクセスは少し減りましたが、3月1日には18万アクセス。2012/4/18に20万アクセス、2012/8/21に25万アクセス、2013/1/18に30万アクセス、2013/12/17に40万アクセスを達成しました。しばらく見ていなかったら、2015/5/1に50万2584アクセスになっていました。またまた、しばらく更新しないうちに、2017/6/11に60万7197アクセスになっていました。久しぶりに更新します。

2012年1月15日日曜日

IntelとARMの戦いの予想: Intel TriGate Trのすごさ

日本もちょっと前は凄かった)
以下、少々難しい技術論に入るまえに。。。

今、Intelが恐ろしく素晴らしいが、実は2000年頃のIntelは、CMPという平坦化も満足にできないほど、半導体技術が後れていた。
当時の半導体技術のトップは、銅配線を導入したIBMと、それに対しても、いち早く追いついたNECであった。当時のNECは秀逸であった、どんな革新技術にも即座に追いつく。相当優秀な技術者が大勢いたのであろう。

日本がDRAM技術でのトップを韓国に明け渡したのが1990年ごろ。それから10年したあとでも、日本の半導体技術はまだ世界トップに君臨していた。

2012年1月、現在、NECはリストラ等、業績低迷で話題になっているが、1990年頃台の半導体生産世界トップであった。1995年頃には、それを他社に明け渡した。それでも2000年までは、世界トップの半導体技術を維持していた。
2000年までいたトップレベルの技術者が実力を発揮できていれば、昨今のリストラ等の迷走には陥らなかったのではなかろうか。

なんでこんなに迷走したのか、本人達も理由が分かっていないのであろう。それが一番の迷走の理由だろう。


LSIの動作周波数と消費電力の関係)

にあるように、CMOS LSIの消費電力は、以下の式の初項から、1) 容量の充放電(計算によって生じる電力)、2) 貫通電流(CMOSの作り上生じる電力)、3) リーク(トランジスタの漏れ電流 - 動いていなくても消費される電力) で示される。以下 Vは電源電圧。V^2はV電圧の2乗を示す。Nはスイッチング率、fは周波数。Cは容量(自分自身のトランジスタと配線の容量、ドライブする相手のゲート容量などの総和)。ILはリーク電流。Qは蓄えられた電力になる。

Power = 1/2 CV^2N + QVfN + IL V

1周期で、充電と放電をくりかえし、充放電の際にトランジスタが抵抗で発熱するので、充電でも発熱し、放電でも発熱する。すなわちNは周波数fの2倍になり、第1項が、よく見かけるP=CV^2f の式になる。

この原理を以下では、積分を使わず簡単に説明している: http://www.moge.org/okabe/temp/circuit/node24.html

今は、Domino(バタバタ倒れる、ドミノ倒しのような高速回路の作り方)やPass Tr論理(電力を食い、遅延を食う縦積みトランジスタによる増幅回路を極力減らす方法。配置設計を緻密にやらないとならず、設計に手間も掛かる。) をやめてまたオードドックスなCMOSに戻っている。微細化でリークが増えたり、電源電圧がきわめて下がってきていて、CMOSしか使えないなどが理由。

Intelが今回開発し、近々製品化するIvy Bridgeや新ATOMでつかう22nmプロセスすなわちTri Gate Trは、3) リークが少なく、2) Vg-Ids特性が急峻であり、貫通電流が小さい特徴がある。Vgはゲート電圧、Idsはドレインソース電流というトランジスタの駆動能力つまり性能になる。(特徴1)

Trigate Trについては、

2011年5月16日月曜日: Intelの立体トランジスタ

に書いた。 以下にIntel FellowのMarkのvideoを埋め込んだのでクリックすれば動く。


また、PCwatch後藤弘茂さんの記事はいつも正確で分かりやすい: http://pc.watch.impress.co.jp/docs/column/kaigai/20110915_477478.html

なぜ立体トランジスタにするのか)
大きく2つの要因がある。
  1. 微細化すると量子効果があらわれ、トランジスタが完全にoffできなくなり機能しなくなる。パンチスルーなど。これを防ぐために、両側から電流を制御するダブルゲート、Tri Gateなどが必要である。- これはキッチリonにする技術といえるだろうか。
  2. 従来の拡散を使ったトランジスタの性能を上げるために、SOIという手法があった。これはPD (部分Depletion 型)と呼ばれる。微細化した3次元トランジスタでは、これよりも特性の良いFD(完全Depletion型)が使える。- これはキッチリoffにする技術といえるだろうか。
http://bit.ly/JFz1F1 に分かりやすい資料がある。従来トランジスタを高性能化してきた、スケーリング則なども説明されている。
ここから上記1のダブルゲートの効果をしめした図を以下に引用する。青っぽいほうがoffが強く、赤っぽい方がonが強い。




量子効果による、パンチスルーが10nmぐらいになると、もはや看過できなくなり、Ion/Ioffの比率が稼げなくなり、Trとして機能しなくなる。その時代には、FD型のFin Trが必然といわれていたが、Intelは、なんと22nmでこれを投入してきた。

これは、製造の問題があり、難しいと思われていた。半導体プロセスは厚さ方向は、CVDなどで原子単位で積み上げ制御できて高精度につくれるが、平面方向は複数マスクを用いた露光(多色刷り版画みたいなもの)とエッチングなので加工精度が下がる。3D化は、その加工精度の低い方向にしわ寄せを及ぼす、大変難しい技術である。が、堆積やエッチングなど、厚さ方向の技術を上手く用いて、精度は向上させてきているのだろう。


元の消費電力の議論にもどると)
3)のリークの増大が微細化で問題になっているが、通常、高速動作で電力を支配するのは1)の充放電電流である。

CMOSはフルスイングするので、冒頭に書いたとおり1回のクロックサイクルでCが完全に充放電され、Cにたまった電荷のエネルギーと同じ分のエネルギーが、トランジスタで発熱し全部熱になる。なので、振幅を小さくする論理などが、検討されたりしてきた。

今は、微細化でリーク 3)の項も影響が大きいので、電源電圧自体を落とすのが主流である。回路技術の流行は、半導体の進化でどんどん変わる。
特徴1)に書いたようにVgs-Ids特性が急峻なTriGate Trは、電源電圧を落とす点でも有利だと思う。

周波数を上げるには、容量Cの充放電を速めないとならない。充電電流であるIon (トランジスタがOnになっているときのIds) を大きくする必要がある。Ionは電圧の関数である。

ここで、Q=CV=IT (Tは時間) なので、V=Ion * T / C すなわち充放電時間を縮めるには、Cを下げるかIをあげる必要がある。IntelのTri GateはCを下げる効果、ならびに同じVdsに対してIonが増える効果がある。ともに高速化に効く。
なにしろチャネルを3次元的にゲートが取り巻いているので、直感的に考えても、体積=容量をふやさず、実効的なチャネル=電流を上げられると理解できる。(特徴2)

以下では、Ionを、Ids (drain-source電流)と呼んでいる。


FETは定電流特性があるので、Vdsを十分あげれば、飽和領域になりIonはVgsだけの関数になるのだが、現在のように電源電圧を下げていくと、おそらく実際には不飽和域に近いところでつかわざるを得ない。
するとIonはVdsに比例してくる。
(上記、-1/2Vds^2 の項は一定のリークカレントみたいなので、とりあえずおいておく。)

これらを総合すると、Fをあげるためには、Vを比例してあげないとならないことがわかる。ざっくりというと、FもVの関数なので電力は、電源電圧Vの3乗に比例すると考えられる。-- 次の章で使うのでココだけでも覚えておいてください。

これが、DVFS : Dynamic Voltage Frequency Scaling - 動作周波数も変えつつ電圧も変えて低電力化する基本原理である。
2003年頃だろうか、微細化が進み電源電圧Vddがスレシホールド電圧Vtに近づいたので、DVFSは役に立たないという説明が日本でされた。今も信じている方が多いと思う。

先のPCwatchの記事からグラフを引用しておく。Y軸、ゲートディレイがトランジスタで作った論理素子の応答時間つまり値が小さいほど高速に動作することになる。


これを活用したのが、後述するIntelのNear threshold回路である。一番最初のPentiumで試作し、40MHz動作くらいなら、2cm各の太陽電池のそれも、電灯の明かり程度の数mWで動き、電圧を上げると、そのままフルスピードになれるらしいのである。もはや、面倒な、レジスタ待避とかなくても、いちおう動作したまま、CPUは待機状態なみの低消費電力に、入れるのかもしれない。
日本の低消費電力の研究者の方が、考え方が変わったと行っておられた。

上記、特徴1, 特徴2に書いたように、Intelが新開発したTriGateトランジスタは、低電力になるための素質をいろいろ備えている。Intelに限らず、3Dトランジスタ、ないしは、FD (Full Depletion : 完全空乏型)といわれるトランジスタが未来のトランジスタと呼ばれていた理由である。その夢のトランジスタをIntelは22nmで来年にも、主力CPUに商用搭載してくるのである。この発表を聞き、デバイス関係の専門家が、信じられないと大騒ぎしたのである。

Intel 対 ARMの戦い)

この2月にサンフランシスコで開催される、
ISSCC2012国際固体素子学会という、世界で最も権威ある学会で、Ivy Bridgeは発表される。日本の有名な先生方もこの学会の運営に非常に貢献されており、心強い限りである。
ISSCCプレビュー (日本語) : http://eetimes.jp/ee/articles/1111/21/news084.html

ここで、Intel のIvy Bridge:http://bit.ly/zsxvhk や、新ATOMが発表される。
22nmプロセスの概要は上記リンクにあったように夏のIDF2011などで解説済み。

同時に発表される22nmのIA-32コア 多分新ATOMのコア。なので、これは1 coreのチップだと思う。これは、915MHz動作時に737mW。

対するARM cortex-A7は、1コアあたり250mW。Nvidea Tegraは2コア1GHz 500mW http://engt.co/A8SV0w 

が、組み込み世界では、周波数にコア数を書けるのが普通らしいので、Tegraは、500MHz x 2コア。(この表記とてもインチキ臭いですが。。)

性能は命令の同時発行数にも比例するが、ATOMは2命令のIn order同時発行、ARM Cortex A9はOut of orderの2命令同時発行。この点からみると、一命令がこなす処理がIntelの方が多いのに対して、ARMはOut of orderと別の性能向上を持っているので、周波数に対する性能はほぼ互角と、丸めることにする。


すると性能は:

Intel 22nm ATOM:  915MHz 1コア 最大消費電力 737mW
ARM 40nm Tegra: 500MHz 2コア   最大消費電力 500mW

となります。製品時期は同時期でしょうから、Intelの方が半導体が2世代くらい進んでいるのがわかる。1世代は1/√2 なので、40nmの次が、32nm、そのつぎが20nmになる。

ここで注目すべきは、IntelがARMの2倍のクロックなのに、電力が1.5倍も行っていないことと。前章で書いたとおり、速度を上げるには動作電圧を上げないとならず、これによって、電力は速度の3乗で増えかねないのに、Intelは速度が2倍になっても電力が1.5倍にしか増えていない。これが、Intelの半導体技術の底力だと思う。

所詮アーキテクチャの差による電力差は小さい。Crusoeを作ったTransmetaが、Intelの超低電圧動作Pentium-Mに蹴散らされたのでもわかる。

マルチコアは難しい)
クロック掛けるコア数がほぼ同じなので達成される性能はほぼ同じでだろが、のろい2つで実行するARMよりは、速い一人が実効するIntelの方が瞬発力があるのは容易に想像できる。

つまり2個別々のプログラムの同時動作ならARMで速くなるが、一つの仕事だけを速くするには仕事をうまく並列に処理するプログラム改造が必要なのが、Tegraである。

実はこれは結構大変で、仕事の分割損もでる。いわゆるマルチスレッド化だが、大変なので、世の中では、一つのソフトの中がマルチスレッド化されたソフトは、PhotoshopとかVideo編集とか、かなり性能が必要なアプリに、まだまだかなり限られている。iOSのiアプリが使うObjective-Cもマルチスレッド対応はしているが、どれだけこの機能が生かされるようになっているのか、今後調査してみる。iOSは、基本シングルタスクなので、どこまでマルチコアが生かせるのか。

所詮、端末で携帯同時に動くプロセス数は少ない。それもあってiPad2では搭載メモリをけちっているように思う。2011夏には、1Gbit のDRAM chipが30セント程度だったので、1GBでも2.4ドル。200円程度。大したコストダウンにもならないにも関わらずである。

ともあれ、CPU x 周波数のピーク周波数では、Tegraの方が上だが、分割損と並列プログラムの問題があるので、実際は700MHz動作くらいのIntelコアの方が快適かもしれない。500MHz x 2 vs. 700MHz x 1で比べるなら、消費電力はIntelのほうが小さくなる可能性すらあうる。

SRAM技術)
Cacheとして使うonchipのSRAMに関してもIntelはすばらしい技術を持っている。
なにせ、IBMがPower8でDRAMでようやっと32MBのL3を作り込んだのに、Intel Neharemでは、同じプロセス技術のSRAMで24MBを作り込んできた。

さらには、回路技術もある)
Intelは、Near Threashold Logicという技術がある。2011夏のIDF (Intel Developer Forum)では、初代Pentiumを40MHz位にクロックをおとして、2cm角くらいの太陽電池で動作させていた。数mWクラスの消費電力である。


この記事を書かれている後藤弘茂さんとは、Hot Chips23とか、IDF2012でお会いして立ち話をしました。
「Intelのプロセス、回路技術は本当に凄いねぇ。ある意味、プロセスと回路しか強みがないから、そこを徹底的に強化するのでしょうね。逆に日本メーカは、ソフトとか、アーキテクチャとかいろいろ強みを持つから、逆に器用貧乏になるのかもねぇ。」と、お互い納得してきました。

この技術が凄いのは、電圧を上げた途端に、通常の速度に戻ることである。データの待避もなにもいらない。自由に速度を換え、待機に入れるのである。ノートPC, スマホ、タブレットの電池の持ちと使い勝手が圧倒的に向上することが期待される。

この技術もARMには存在しない。

ARMの主張)
ところが、ARMは、Intelは電力を食うんだと、いまだに主張している。
それも全く定量的なデータなしで主張するARMと、定量的なデータをもって主張するIntel。なので、私はARMに対してかなり疑心暗鬼になっている。

あまりしっかりはよんでいませんが。
ARM CEO: Intel will never be the leader in silicon power efficiency
とか。

どうなるか今後のIntel対ARMの戦い。デバイス、製造、回路、ならびにそのトレンドをしっかり押さえている点で、Intelは優位。多くの半導体メーカを巻き込んでいるのがARMの強み。烏合の衆にならないように、力を引き出せばARMにも勝ち目がある。ARMには、Open Sourceのように、共同作業やOpenの強みを出していく方法もあろう。


blog comments powered by Disqus