「世界で初めてPC向けにデュアルコアCPUを提供した企業」と言う名声を得たいが為に、4/18にデュアルコアCPUの出荷を発表したintel。
でも、発表は地味だし、採用メーカーの足並みは揃っていないし、発熱は凄いし。
しかも、デュアルコアと言っているけど、蓋を開けてみれば、マルチコアプロセッサと殆ど変わらないんじゃないかと言う仕様。
以下、その理由書いてみます。
※ある程度、簡潔にしています。
・一般的なマルチプロセッサ
CPU-0 | CPU-1 | CPU |
Cache | Cache | |
Bus | Bus | |
調停 | Chipset | |
クロスバースイッチ | ||
メモリコントローラー | 各種デバイス制御 | |
Bus | Bus | |
メモリ | 各種デバイス |
主にサーバ用途向けのソリューションであり、お値段もエライ事になる。
CPUの調停部分がChipset側にある事で、間にBusが入り、ボトルネックとなる。
(調停:二つ以上のプロセッサが巧く動く様にFSB制御等の調整行う処理の事を指す。)
CPUコア-0 | CPUコア-1 | CPU |
Cache | Cache | |
調停 | ||
クロスバースイッチ | ||
メモリコントローラー | Bus | |
Bus | HyperTransport | |
メモリ | 各種デバイス制御 | Chipset |
Bus | ||
各種デバイス |
既存とのピン互換性が保つために、CPU内にメモリコントローラーを共有している。
SunのUltraSPARCIVやIBMのPower4/Power5は、(L2Cacheが共有だったり、プロセッサ専用だったりするが)、根本的な部分は似たような感じ。
マルチプロセッサシステムでは、調停がChipset側にあったのに対し、デュアルコアCPUでは、その役割がCPU側に移った。
その為、マルチプロセッサ側にあったBusのボトルネックは無くなる。
・デュアルコアPentiumXE
CPUコア-0 | CPUコア-1 | CPU |
HT命令振り分け | HT命令振り分け | |
Cache | Cache | |
Bus | Bus | |
調停 | Chipset | |
クロスバースイッチ | ||
メモリコントローラー | 各種デバイス制御 | |
Bus | Bus | |
メモリ | 各種デバイス |
CPUとチップセット間のBusは、恐らくCPU毎に分かれている。
なので、こんなブロック図になると思われる
-
-
- -
-
※追記:一応、955Xにも既存のシングルコアPentium4は搭載可能なようです。
つまり、今まで未使用だったピンを利用する様にしたのかな?
-
-
- -
-
えー、このブロック図、どこかで見た事がありますな。
正にマルチプロセッサのブロック図です。
以下、推論ですが。
(1)ライバルのAMDは、既にマルチコアCPUの事も考えて設計していたが
intelはクロック至上主義を貫き続けてきた。
しかし、NetBurstで10GHzどころか、約束していた4GHzすら怪しい状況になってしまった。
(2)早急にAMDを出し抜くマルチコアCPUを出さなければならない。
しかし、マルチコアCPUのノウハウは全く無いに等しい状況から、AMDの所に辿り着くには無理がある。
(3)intelには、過去にマルチプロセッサのチップセットを作っており、
マルチプロセッサの制御のノウハウを持っている。
(4)マルチプロセッサを動作させるチップセットさえあれば、
CPUがシングル用のCeleronが2つでも一応動きます。(動作保証外だが)
(5)CPUコアを2つくっつけて、本来はCPU側がやるべきCPU間の調停をチップセット側にやらせれば、
既存のノウハウ(3)が流用できないか?
→ソレダ!!
と言う思考なんじゃないかなと。