企業統合とマルチコア

ビデオ出力の歴史は速度との勝負です。
画面サイズもVGA以下だった昔には、ビデオアクセラレーターという概念すらありませんでした。
画面の表示に該当するメモリーにCPUからデータを書き込めば表示されるという仕組み。
文字は、キャラクタージェネレーターというハードに持っているデータを表示する仕組みでグラフィックは今の2chの文字絵の元祖となるものがグラフィックとして表示されていた時代。
CGAからVGAの変化は、VGAと今言われる解像度を手に入れた以外にグラフィックの表示も可能にしました。
そしてキャラクタージェネレーターからではなくPCのメモリー上のキャラクターを画面に表示する仕組みに変わったことで、一般的なASCII半角以外の文字の表示を可能にして日本語表示が出来るようになるのですが・・・・・
 
日本語の問題はさておき、ハードで文字を表示していた時代からグラフィックで文字を表示するようになって 半角一文字の表示に8バイトの書き込みが必要となりました。但しこれは白黒の場合で、同じものを256色のカラー表示にすると64バイトの書き込みが必要となります。これが32万色(フルカラーといわれるもの)の表示で128バイト。
最初から比べると128倍の書き込み速度が要求されます。
その、解像度はVGAからXGAになると約4倍になります。
128×4ですから、512倍の速度が必要になります。
CPUの速度は上がりますが、バス速度は標準化の問題もあり、ISAからPCIになりPCI−Xと大きくは3世代しか進歩していません(VL−BUSやAGPは専用なのでこの際除外します。EISAはサーバー用ですし)
バスの速度や、CPUと周辺と接続速度の向上はそれほどのペースで進まない。
そして、3Dという今の2次元ですら512倍になっているのにそれに奥行きを加えて 奥行き倍の速度を必要とする表示を望んだものですから画面の表示の遅れが顕著になります。
まあ、そこに行く前に画面が大きくなった段階で画面の描画速度が遅くなったので グラフィックアクセラレーターが追加されます。
最初は直線を引いたり、塗りつぶしたり、画面を上下左右に動かしたり、マウスカーソルを画面上に重ねて、マウスカーソルが動いてもグラフィックを書き換えなくて良い様な機能を追加してゆきます。
そして、今では テクスチャーと呼ばれる3Dの物体に画像を貼り付ける機能をグラフィックカード側におき回転ベクトルなどを指定するだけで3Dの物体がグラフィックカードで生成され表示されるような まるで別のコンピューターが処理しているかのごとき処理をグラフィックチップは担うこととなります。
すでに、CPUと同等のチップサイズとなっていますので 価格も10万円を超えるものまで・・・メモリー搭載量も1Gクラスが並んでいます。
そして、低価格層では3D機能を取り除きCPUのコンパニオンチップと一体化することで低価格なPCでのシェアをもつという図式となってきました。
そして今回のAMDのATI買収は以前の日記に書いたとおり、モバイル向けのPC市場にAMDが本格的に参入するようなかたちとなると締めくくったような気がします(自分で書いて覚えてないし 読み返す気もないらしい)
それは真実の一つを付いているのでしょうが、それ以外にも合併するメリットが最近見えてきました。
それがCPUのマルチコア化なのです。
 
IntelとAMDのマルチコアの違いは、メモリーまでのアクセス方式が違うこと。
二つのCPUをくっつけただけのPentiumDは論外として、マルチコアとされるのはCoreDuo以降として比較した場合。
Intelは二つのコアでキャッシュを共有して、可変的にキャッシュの容量をコントロールして シングルスレッドでのオペレーションが多い現在でもパフォーマンスを上げることができる仕組みだと思います。
また、省電力においてCPUのコアを一つで動かしたりと言う時にもキャッシュが倍のシングルコアですから効率はよくなるでしょう。
反面、メモリーへの出口は一つなので 容量の制限が発生すること。
既に64bitの時代に入っていますので これは内部的には問題が無く 外へ出すバスのビットを増やしてゆくことで対応できるのではないかと思います。
それに対して、AMDはCPUコアにメモリーコントローラーを持ちキャッシュも独立しています。
高速に接続される二つのCPUが個別に動いているイメージです。
シングルスレッドのときに速度を上げるといったメリットは無いものの、各CPU毎にメモリーを置くことが出来るので メモリーの容量が比較的増やしやすくレイアウトも簡単になります。
しかし、それだけを本当に狙っているのでしょうか?
現在計画されているのはQuadCore つまり4CPUの構成です。
4つのCPUが一つのコアに搭載されたものです。
では、その先は?
4の次は5で、6、7,8・・・・・
って増やしてゆくのでしょうか?
増やしても複数同時に動く処理が無い限り効果が無いことは当たり前で、同時に複数の処理が発生する数は 大きくなれば大きくなるほど低くなるわけです。
では、4つで打ち止めちゃうとこれ以降高速化する方法がなくなるのでしょうか?
勿論プロセスの縮小や高クロック化等はありますがそれが顧客の望んだ形なのか同化が問題です。
現在、AMDでは数値演算用の専用プロセッサの開発を積極的に行っています。
QuadCoreの次の世代になったときに、悪戯にCPUを増やすのではなく CPU4+数値演算チップ2とかいう構成も将来的にはあると考えています。
そして、その際効果的に働くのが数値演算チップもメモリーが必要となったとしても メモリーコントローラーが搭載されていればつけはずしの後世の変更が簡単になります。
Intel方式の場合、CPU同士の接続と数値演算チップの接続では接続方法を変える必要があります。
そして、今回のATIの買収で手に入れたGPU(グラフィックプロセッサーユニット)も+1のコアの中に含まれるかもしれません。
高速で演算するまではGPUの仕事ですが、その後表示するのは実は別回路。
該当メモリーを映像に展開するのは昔からそんなに変わらない仕組みです。
その部分を別の回路としてCPUのコンパニオンチップに搭載すれば、グラフィック内臓のCPUも出来上がるわけです。
そして、数値演算用のプロセッサは、CPUにも力を貸し、GPUにも力を貸せば非常に高速・省電力なCPUが出来上がります。
現在は、GPUがどれほど高性能な演算装置を装備していても 画面を作ること以外には使われてないのですから、普通にWindowsでWordで文章を書いている限り 殆ど寝ているに仁状態なのです。
 
プロセスをブロック構造にすることにより、新しい付加価値を生み出すのがAMDの向かっている将来の姿なら、今回の買収は未来のための大きな一歩になった可能性があるのですが・・・