第3章 デュアルCPU搭載PCパフォーマンスレポート 個人でも利用者が増えている 野葉 光一 (http://www.system9.co.jp/masa/)
|
デュアルCPU PCについて
一つのPCにCPUが複数個あるというと,その動作の仕組みが難しくなったように感じられます.そこで,まず今回のターゲットであるデュアルCPU
PCの仕組みと動作について簡単に説明しておきましょう.
図1は,デュアルCPU用マザーボードの簡単な構成図です.本当はもっと複雑ですがエッセンスだけを載せています.構成図を見ると通常のシングルCPUマザーボードとさほど変わったようには見えないのではないでしょうか.使用されているチップセットは同じ440BXですし,AGPやPC100対応のSDRAMソケットが実装されているのも同様です.
目立った点ではデュアルCPU用に追加されたSLOT1コネクタとIO APICだけです.実際デュアルCPU用マザーボードとシングルCPUマザーボードの現品を比べるとその違いは上記の点以外ほとんど見受けられません.PentiumUCPUと440BXチップセットはデュアルCPUを考慮して設計されているので,最初からデュアル用の一部機構は内蔵していました.
実はデュアルCPU用マザーボードで最も重要な構成品はAPICにあります.APICとはAdvanced
Programmable Interrupt Controllerの略でプログラム可能な割り込み制御装置のことです.
PentiumU内部にもAPICを内蔵していますが,こちらはローカルAPICと呼ばれています.ローカルAPICとIO
APICを含めてAPICシステムが構成されます.
さてデュアルCPU構成の核心ですが,CPUを2つ搭載していても何の機構もないままでは同時にCPUが動作することは困難です.構成図を見ればすぐに気が付くことですがメモリやPCIバスなど入出力を行っているデータのラインは1系統であり,どう考えてみても同時に二つのCPUがこのラインにアクセスしてデータ処理を行うことはできないというのがおわかりでしょう.二つのCPUが同時に1つのデータラインにアクセスしたらとたんにシステムは異常動作することになってしまいます.
APICシステムはこの問題に対処するために設けられており,二つのCPUをシステムが異常にならないように割り込みを調停しながら動作させるのです.2つのCPUを衝突しないようにそれぞれ運行していくのがAPICシステムの役目ということになります.
それでは,ここまでの説明ではデュアルCPU用マザーボードに二つCPUを取り付けても二つが同時には動作しないのかと疑問を持たれるのではないでしょうか.実はちゃんと二つ同時に動作している瞬間もあります.その瞬間とはPentiumUCPUの内蔵1次,2次キャッシュにあるプログラムを実行している時間です.
PentiumUCPUのキャッシュメモリはDIBアーキテクチャによってCPU個別に独立して非同期アクセスできますので,片方のCPUによる干渉をまったく受けることがありません.ですので,各CPUがキャッシュメモリ内のプログラムを実行している瞬間に限り,同時に別々の処理を実行することが可能になります.しかし,キャッシュメモリ内のプログラムを実行している瞬間でも各CPUからメモリにアクセスしたり各I/Oにアクセスする場合はやはり同時には行えませんので,そのような場合にはAPICによって各々のCPUごとにアクセスが許されますから,その間一方の処理が終わるまで待たされることになります.
このあたりのアルゴリズムは複雑です.複雑ですが,その目的は,CPUがなるべく遊ばないように,間違ってキャッシュに入っている古いデータを使わないようにという両立しにくいことを高度な次元で処理をしています.
一般的にはデュアルCPUにすることで,例えば300MHzのCPUを二つ搭載すれば2倍の600MHzのCPUを搭載したPCに相当するパフォーマンスが得られるのではと期待されるかもしれませんが,現実には搭載したCPUの1.5〜1.6倍ほどになるようです.
デュアルCPUとCeleron
通常デュアルCPUシステムでは,PentiumUを使用することが条件となっていました.IntelではPentiumU以外のCPUではデュアルCPUシステムを構成することができないように設計されており,例えばデュアル用マザーボードに同じP6コアを持つCeleronを二つ搭載しても動作しません.
しかし良く調べるとCeleronにもローカルAPICは搭載されており,デュアルCPUに対応することは決して不可能ではなかったことが知られるようになりました〔技術参考ホームページ(3)〕.CeleronでデュアルCPU構成で動作しなかったのは,CPUとSLOT1までのデュアル用の信号がいくつか結線されていなかったからであり,この信号を復元することでデュアル化が可能になります.しかしSEPP版のCeleronではCPUがBGAで取り付けられているので,信号を復元するのにジャンパ結線するのが難しく,また,ほかの信号の処理のためにドリルで加工したりと誰でも容易にできるわけではなかったようです.
ところがCeleronの新パッケージであるPPGA版では,CPUはソケットになっているのでCPUの取り付けは簡単になり,またPPGAのCPUをSLOT1に組み込むための変換アダプタが各メーカーから一斉に発売されたこともあって,比較的にデュアル化への加工がしやすくなりました.今では既にデュアル化の加工済みの変換アダプタを二つセットにして販売するショップもあるほどで,低価格のCeleronと合わせて非常にユーザーの人気を博している様相です.
写真1はデュアル対応を既に施している変換アダプタですが,何とたった1本のジャンパのみで対応されています.このジャンパはSLOT1のB75端子とCPUのAN15ピンのBR1#信号と接続されており,非常に簡単に加工できそうです.なお変換アダプタによっては様々なものがありますので,どれでもデュアル化の加工が簡単にできるというわけではないようですが,これらの変換アダプタを用いることによって,PPGA版のCeleronで非常に低コストでデュアルCPU
PCを構築することが可能になりました.
デュアルCPU PCの構築
では,実際にデュアルCPU PCの構築について触れたいと思います.今回は前述のとおりPPGA版Celeronとデュアル改良済み変換アダプタを用いて構築してみます.デュアルCPU用のマザーボードにはTEKRAM製のP6B40Dを使用します.
写真2はDUAL CPU用マザーボードです.このマザーボードはCPUの実装にはSLOT1×2本を用いています.チップセットは440BXチップセットであり,現在一般的なPentiumU用マザーボードと同等の構成です.このマザーボードには実装されていませんが,マザーボードの右下にはSCSIコントローラ用の実装パターンがあり,SCSI搭載マザーボードと同じベースであることが伺えます.
なお,440BXチップセットでのマルチプロセッササポート数はCPU2個までとなっています.これより上位としては,PentiumUXeon
CPUを4個までサポートする450NXチップセットがあります.
写真3はCeleron 2個をマザーボードに組み込んでみた時の写真です.Celeronを変換アダプタによってSLOT1に取り付けると,このような状態になります.写真ではよくわかりませんが,CeleronにCPU空冷ファンを取り付けると,空間的にはかなり大きなボリュームになり,変換アダプタを用いていることも相まって,PentiumUCPUを使用した時に比べて背が高くなるのでケース内の空間がかなり拡大されます.これを2個搭載しますので,使用するケースには十分空間があることが必要になります.
また,今回使用したCeleronは,Intel純正のリテール版で空冷ファンが付属しているのは良いのですが,空冷ファンの回転検出信号のラインがありません.ですのでBIOSで空冷ファンの回転停止アラームは未使用にしておかないと正常に稼動できません.最終的に今回構築したPCの仕様は表1のようになりました.
以下略
Copyright 1999 野葉 光一