
最近の話題 2006年7月29日
1.AMDがATIの買収を発表
2006年7月26日にAMDは,グラフィック大手のATIを買収すると発表しました。敵対的買収ではなく,両者は合意しているので,数ヵ月後に当局の許可が出次第,合併することになります。
当面は,Intelプロセサにつけるグラフィックスボードなどを含めて現状の製品を継続しますが,2008年頃からはCPUとGPUを一体化した製品なども開発していくと発表文には書かれています。
AMDは現金$4.2BとAMDの株で5700万株の支払いでATIの全株式を取得するというもので,総額$5.4Bという大型買収です。先日発表したQ2の結果によれば,流動資産から流動負債を引いた額は$2B強で,$4.2Bには大幅に不足ですが,Morgan Stanley Senior Fundingから$2.5Bの借りれを行うことで,買収資金をまかないます。
2.IntelがConroeとMeromを発表
CoreアーキテクチャのサーバチップであるWoodcrestの発表については7月1日の話題で紹介していますが,2006年7月27日にデスクトップ用のConroeとモバイル用のMeromを発表しました。「Intelが世界最高のプロセサのベールを取る」と題した,先週の減収減益の発表とは打って変わった長い発表文です。
Wide Dynamic ExecutionとかSmart Memory AccessとかAdvanced Smart CacheとかAdvanced Digital Media BoostとかIntel® 64 TechnologyとかがConroeの売りです。Meromは,これらに加えてDynamic Power Coordination,Dynamic Bus Parking,Deeper Sleep with Dynamic Cache Sizingが特徴であるとしています。
今回発表されたのは以下の,デスクトップ系が5種,モバイル系が5種の合計10種のチップです。
| Desktop Processors | ||||
| Processor | Frequency | Bus Speed | L2 Cache | Price |
| Intel® Core™2 Extreme processor X6800 | 2.93 GHz | 1066 | 4MB | $999 |
| Intel® Core™2 Duo processor E6700 | 2.66 GHz | 1066 | 4MB | $530 |
| Intel® Core™2 Duo processor E6600 | 2.40 GHz | 1066 | 4MB | $316 |
| Intel® Core™2 Duo processor E6400 | 2.13 GHz | 1066 | 2MB | $224 |
| Intel® Core™2 Duo processor E6300 | 1.86 GHz | 1066 | 2MB | $183 |
| Mobile Processors | |||||
| Processor | Frequency | Bus Speed | L2 Cache | Voltage | |
| Intel® Core™2 Duo processor T7600 | 2.33 GHz | 667 | 4MB | 1.0375–1.3V | |
| Intel® Core™2 Duo processor T7400 | 2.16 GHz | 667 | 4MB | 1.0375–1.3V | |
| Intel® Core™2 Duo processor T7200 | 2.00 GHz | 667 | 4MB | 1.0375–1.3V | |
| Intel® Core™2 Duo processor T5600 | 1.83 GHz | 667 | 2MB | 1.0375–1.3V | |
| Intel® Core™2 Duo processor T5500 | 1.66 GHz | 667 | 2MB | 1.0375–1.3V | |
Intelは,同時にPentium系の値下げを発表し,Pentium Dは3.6GHzクロックの960が$530から$316を始めとして40%〜18%値下げされ,Pentiumは3.4GHzの541が$218から$84を始めとして61%から8%の値下げです。
Core 2 Duoの高性能とPentium系の値下げの両面でAMDを攻撃する作戦です。
3.Coreアーキチップは64ビットが苦手か?
2006年7月18日のPC Watchに,後藤さんが 「64bitは苦手なCore Microarchitecture」と題したレポートを書かれています。この話題は,Intelが出したCoreアーキ用の命令最適化資料に,EM64TのLong Modeでは,Coreアーキの売りのMacroFusionがサポートされないとか,64ビットで追加されたレジスタを使うのに必要なREX Prefixを使うと命令が1バイト長くなるからEM64Tでも最初の8個のレジスタだけを使用する方が良いとか書かれていることに端を発しています。この2枚のスライドは後藤さんのレポートに貼り付けられています。スライドを見れば分かるように,ご丁寧にこの部分がハイライトされています。
後藤さんのレポート以外にも,Coreアーキは64ビットが不得手という話はあちこちで議論されていたのですが,このほど,Xbit LaboratoriesがCore 2 Duo Extreme X6800とAthlon 64 FX2とPentium XE 965をそれぞれWindows XP Professional SP2(32bit動作)とWindows XP Professional x64 Edition(64bit動作)とで動作させ,64ビットと32ビット版があるアプリケーションを集めてベンチマークをやってくれました。結果の詳細はXbit Laboratoriesのページを参照戴きたいのですが,簡単に纏めると次のような結果です。
Sandra 2007 Dhrystone ALUベンチマークでは,64ビットにするとx6800の性能は21%低下し,一方,Athlon 64 FX62では64ビット化で2%の性能向上,同じIntelのPentium XE 965では11%性能が向上しているのに比べると,Coreアーキは64ビットは苦手という形容が当てはまるのですが,Xbitが実施した17種のベンチマークを総合すると,64ビットで上がるのもあれば下がるものあり,全体としては64ビットの方が多少性能が高い感じです。また,32ビット,64ビットの性能比はAthlon 64の傾向と大差なく,x6800が特に64ビットが苦手という感じではありません。
前述の2枚のIntelのスライドを含むスライドがXbitの記事に掲載されていますが,これらは興味深いもので,EM64TのLong Mode以外に,CMT/TEST命令がメモリと即値を比較するタイプであるとMacroFusionできないと書かれています。また,プリデコードユニットは最大6命令の先頭位置を見つけることが出来るのですが, フェッチされた16バイトの中に6個を越える命令がある場合は,最初の6命令を1サイクルで処理し,残りは次のサイクルで処理されると書かれています。つまり,7命令を含む場合は,プリデコードに2サイクルを必要とし,平均速度は3.5命令/サイクルに低下してしまいます。
最悪なのはLength Changing Prefixと呼ばれるプレフィックスが使われている場合で,高速のプリデコーダはこれに対処出来ないようで,プリデコードが失敗してやり直しとなり,通常1サイクルでできるものが6サイクル必要となる。もし,その命令が16バイト境界を跨いでいると11サイクル必要と書かれており,こうなると1サイクルあたりの命令プリデコードが0.5〜1命令という悲惨な状態になり,これが頻発すると性能が大幅に低下します。
もともとの8086アーキは16ビットアドレスで,データは8ビットと16ビットという前提で出来ていました。これを32ビット,64ビットと拡張するに当たり,Intel,AMDは命令の前に特別なバイトを置くことにより,16ビットのデータやアドレスを32ビット,あるいは64ビットに読み替えるという手法で拡張を行いました。この読み替えを指示するのがPrefixで,即値やオフセットのビット数が切り替えられてしまうと,命令自体の長さが変ってしまい,これを考慮しないで計算した次の命令の先頭番地が間違ってしまいます。
このLCPが頻繁に使われると大幅に性能が低下すると考えられますが,これはEM64Tかどうかに係わらず発生する問題で,一般的な32ビットベンチマークでCoreアーキのチップが高い性能をマークしていることから考えて,大きな問題になっていないようです。
REX PrefixはLCPではないのでこのような大きなペナルティーは無いのですが,例えば,32ビットでは命令の長さが4バイトで,16バイトに4命令入ったものが,REXがついて5バイトになったので1サイクルに処理できる命令数が4から3に低下したというケースでは,性能低下が起こり得ます。しかし,8個のレジスタで溢れた分はメモリに退避復元するというやり方と,16個のレジスタを使うことによりメモリへの退避復元を減らすというやり方のどちらが得かというと,一般的には後者の方が得で,8個のレジスタだけに限定してREXを使わない方が良いというIntelスライドの記述は,プリデコーダの動作だけを見た,あまりに近視眼的なものに思えます。
4.IBMがマルチコアプロセサ向けのソフト価格体系を改定
2006年7月25日にIBMはProcessor Value Unitの基づくミドルウェアのライセンス体系を発表しました。これは,2006年7月27日付けのThe Registerに報道されています。
現状,IBMはx86のデュアルコアチップに対しては1ライセンス,RISC系はPOWERもSPARCもコアあたり1ライセンス,SunのNiagara(UltraSPARC T1)だけは3コアで1ライセンスとなっていますが,将来は,プロセサの性能値を測定して,この性能でProcessor Value Unit(PVU)を定義し,それに比例したライセンス料とするということです。
現状は,シングルコアのチップやRISCは1コアあたり100PVU,x86は50PVU,UltraSPARC T1は20PVUと定義しているので,当面はラインセンス量は変わりませんが,将来的には,性能が高ければPVUが増え,値段が上がるということになります。
しかし,利害関係の対立する多くのパーティーを納得させる性能比率測定は至難の業ですし,これを唯我独尊,ウチの測定が絶対基準と押し切ったとしても,3ヵ月毎に出るクロックアップやキャッシュ容量の増加などを行ったチップにどうやって追従するのでしょうか?大体,CPUが同じでもチップセットが違えば性能も違い,厳密にやろうとすると,対象とする全てのサーバについて測定するという不可能な作業になってしまいます。
一方,測定したサーバメーカーの製品にだけしかIBMのソフトを売らないという選択は可能ですが,IBMソフトの売り上げが増える作戦とも思えません。
また,RISCの性能が上がれば,PVUが120とか150になってライセンス料が上がってしまい,現状,100PVUで1ライセンスという体系を定期的に見直す必要が出てきます。更に,WoodcrestやOpteronのコアの性能がRISCの半分というのも,実測すれば崩れてしまいます。
また,8プロセサのサーバは1プロセサのサーバの8倍の性能にはならず,一般にはそれより低い性能になり,その性能低下の程度は如何にソフトが並列化されているかによります。こういう状況では,お前のところのソフトがヘボだから8倍の性能にならないのに,ライセンス料だけは8倍取るのか,ふざけるなと言うユーザだって出てくるでしょう。
PVUというのは概念としては公平で良いのですが,どうやって実現するかという現実面が分かってなくて,自分の頭の中の世界観で現実離れした命令を出す大本営みたいですが,IBMでもこういうことは起こるんですね〜〜。
5.イランが32ビットSPARCプロセサを開発
2006年7月26日付けのEETimesが,イランが32ビットプロセサを開発したと報じています。報道によるとPars Semiconductorという会社がイラン国営のHigh Tech Industries Centerと協力して開発を行ったということですが,製造はTSMCの0.18umプロセスということで,イランが行ったのは設計までのようです。
また,2005年12月2日の話題で紹介したように,ヨーロッパの宇宙開発機構であるESAはスエーデンにあるGaisler Research ABという会社のLeon SPARCという32ビットSPARCを使っており,このLeon SPARCプロセサの設計はGPLに基づいてWebで公開されているので,Pars社の設計はこれをベースにしていると見られています。
Leon SPARCのVHDLソースがあり,それをTSMCの0.18umプロセスのライブラリにマッピングするだけなら,大したノウハウは要らず,イランの会社が開発に成功しても不思議はありませんが,これでイランのミサイルの命中精度が上がり,そ の技術が日本の隣の某氏が指導する独裁国家に渡るなどという事態になるときな臭くなってきます。
台湾はアメリカにお世話になっていて,アメリカが毛嫌いするイランのプロセサの製造を請け負っていいんだっけ?