TOPへ  ID:0020

 PC自作に関するFAQ集 


  
PC自作に関するFAQ集です。


Windows Vistaをクラックする
WindowsPC上に、MacOS x86を導入する
PPUとは?(Physics Processing Unit)
Centrino Duo(セントリーノ・デュオ)の省電力機能について
オーバークロック入門(20060212)
オーバークロックし過ぎた場合の対処方法
パッケージ表面の刻印からAMDのCPUリビジョン番号などの詳細情報を読み取る(20051229)
CPUキャッシュの仕組み
S.M.A.R.Tエラーが出たHDDはいつまで使えるのか?
仮想化技術(VT)搭載のPentium4 662(672)(20051212)
HDDの垂直磁気記録技術(20050605)
さまざまなデュアルコア(20050528)
チップセット955Xの新機能(20050522)
ノースブリッジとサウスブリッジの違い(20050519)
WindowsXPにおけるSerial ATAハードディスクのホットスワップ(20050514)
PFU製小型サーバ「AR1000 model1500」でスピンドルレス・サーバを構築する(20050130)
64ビット・コンピューティング(20050105)
GDDR3の性能(20040830)
CPUクーラーの冷却(20040827)(更新:20040912)
915/925プラットフォームにおけるRAIDの設定(20040826)
915/925のBIOSセットアップ上のポイント(20040826)
SP1a適用済みCDの作成方法(20040826)(20040904更新)
新しいマザーボードに更新した場合、OSの再インストールなしで既存のHDDをそのまま使用できるか?(20040825)
LGA775対応24ピン電源ユニットについて(Pentium4対応20ピン電源流用の可否)(20040824)
Intel865PEから925X/915への乗り換えについて(20040818) 
Flex Memory Technologyにおけるシングル/デュアルチャネルの意味(20040817)



分類 FAQ
CPU Centrino Duo(セントリーノ・デュオ)の省電力機能について
説明
ペンティアムMの設計思想をベースに、製造プロセスを65nmにシュリンク(微細化)してデュアルコアにした「Core Duo」。製造プロセスの微細化によっても消費電力の低下が期待できるが、Core Duoにはさらにアグレッシブな省電力機構が加わっている。「拡張版SpeedStepテクノロジー」を利用して、CPU負荷に応じて動作クロックやコア電圧を変化させるという点はペンティアムMと同様だが、加えて、クロックや電圧の制御が2つのコアで独立して行われるのがユニークなところである。片方のコアがフルに稼動している状態でも、もう一方のコアはアイドル状態となることがあるため、無駄な電力消費を抑えられる。

省電力動作時のCore Duoの最低クロックは1GHz。そして、Core Duoには消費電力を抑制するため、アイドル時のコア電圧をさらに引き下げる機構が組み込まれている。その1つが「
ディーパースリープ」である。2つのコア両方が「C4」と呼ばれるアイドル状態になるとディーパースリープに移行し、さらにコア電圧が下がる。ディーパースリープの次の段階の「ディープC4」では、2次キャッシュの動作を停止して消費電力を抑える仕組みになっている。これらの機能を含めたCore Duoの省電力機能を「ダイナミック・パワー・コーディネーション」と呼ぶ。セントリーノ・デュオが高い性能と省電力性を両立できたのは、ICH-7Mの貢献も挙げられるが、Core Duoのきめ細やかな電圧管理の寄与も大きい。
 


分類 FAQ
CPU オーバークロック入門(20060212)
説明
オーバークロックとはパーツを定格以上のクロックで動作させる行為である。行なえば、メーカーの保証は失効するし、それに去って故障したり部品寿命の短縮といったリスクも伴う。しかし,すでにオーバークロックに関する機能はほとんどのマザーボードの標準機能として搭載されているわけで、「禁断の秘技」とか「裏技」といった大げさな存在として扱うのは今となってはナンセンスである。マザーボードなどにオーバークロック向けの機能が標準装備されているのは、やはりそれだけ試してみたい人が多いということを反映している。もっとも、オーバークロック機能を持っているからといって、オーバークロックでの動作保証があるわけではない。また、オーバークロックは、実に奥が深い。ハマるとCPUやメモリをいくつも買ってオーバークロックしやすい製品を探したり,冷却にこだわったりしているうちに、最新のハイエンドCPUが買える以上の金額を投資していたなんてこともよくある話である。あえてその道を進むのはアリだが、目的がパワーアップであれば、損得勘定は冷静に判断したいところである。ここでは、各社の定番マザーボードを使ったオーバークロックの実例を紹介しながら、設定方法や注意事項に触れていく。ただし,スタンスは「定番のマザーボードに標準でついている機能を使って、どのくらいパワーアップできるか」ということが目的であり、追加コストもゼロが基本である。なお、オーバークロックはリスクを伴う行為であり、あくまでも自己の責任において行なっていただきたい。



1.CPUクロック = システムクロック × 倍率

CPUには外部から基準となるクロック(以後「システムクロック」と呼ぶ)が供給されており、それをCPU内部で何倍かにして動作させている。たとえば、3GHzのPentium4ならば,200MHzのシステムクロックを内部で15倍にすることで3GHzで動作するわけである。CPUのオーバークロックの基本は、このシステムクロックを上げていくことで行なう。システムクロックはFSBにも連動しており、Pentium4系CPUでは、FSBのデータ転送スピードはこのシステムクロックの4倍。システムクロック200MHzでFSB800MHzである。仮にシステムクロックを220MHzにすると、FSBはその4倍の880MHzとなり、CPUの動作クロックは15倍の3300MHzとなる。

参考)CPU-Z:オーバークロックに便利なツール。CPUクロックや動作電圧を含めたCPUの情報を表示できる。BIOSでの設定がきちんと反映されているかの確認に重宝する。最小化するとタスクバー上にクロックをリアルタイムで表示する。



2.ASUSTek P5LD2 Deluxを使用したPentium D 830のオーバークロック

・テスト環境:PC2-4200 DIMM 512MB(SAMSUNG M378T6553CZ3-CD5)x2、GeForce 6600GT(128MB)、日立GST Deskstar 7K80(80GB)、Windows XP Professional JPN(SP2)

ASUSTek P5LD2 Deluxは,Intel 945P/ICH7Rチップセットを搭載し、オンボードデバイスもひととおり揃った売れ筋の多機能マザーボードである。BIOSの基本項目は同社のLGA775プラットフォームの多機能製品ならば、ほぼ共通。メモリには安価なDDR2-553MHzを使っている。まずやっておきたいのは,「CIE」や「EIST」といった省電力関連機能のオフである。アイドル時にクロックを下げてしまうので、変更後のクロック確認時などに面倒である(最終的にはオンにしてもよい)。また、高温になるとクロックを自動で下げる「Thermal Monitor2」もオフにする。これらの設定は「Advanced」タブの「CPU Configuration」で行なえる。オーバークロック設定には「JumperFree Configuration」の「Manual」モードを使う。PCI ExpressとPCIのクロックが指定できるので、それぞれ100MHx、33MHzに固定しておくとよい。こうすればCPUに連動して他のパーツのクロックが上がってしまうことがない。メモリクロックは、とりあえず定格のDDR2-553MHzにしておき、それからシステムクロック(CPU Frequency)に手をつける。

クロックなど設定の変更結果は設定を保存した再起動後に反映されるので、逐次テストしながら少しずつ上げていく。システムクロックを上げるとメモリクロックもそれに比例して上がっていくので、限界に達した場合は、メモリとCPU、どちらの限界か確かめるためメモリクロックを変更する。メモリを定格の533MHz以下に設定にしてもなお動作しなければ、CPUの限界だと判断してもいい。今回はシステム250MHzを超えたところで先にCPUの限界がきたためにCPU電圧を上げてみたところ限界が伸び、最終的にはメモリクロックも一段階下げている。

  @DELキーを押して入るMain画面からカーソルキーで「Advanced」画面に移動。オーバークロック関連の設定項目は、ここに揃っている。

  A「CPU Configuration」では,CIEやSpeedStepなどをオフにする。温度が上がると勝手にクロックを下げるInternal Thermal Contgrolもオフにする。

  B「JumperFree Configuration」では、CPUに連動して他部品のクロックが上がるのを防ぐため、PCI Expressを100MHzに、PCIを33MHzに固定する。そうしておけば
   拡張カード類が原因の失敗を防止できる。

  Cシステムクロックは数値を直接キー入力する。5MHz単位くらいで少しずつ上げて試していくのがよい。設定を保存して再起動すれば変更が反映される。起動すれば
   一応はオーバークロックに成功したといえる。

  DCPUよりもメモリの限界が先に来ている場合も多い。一度限界に達したら、メモリの設定を一段階下げてもう一度試してみるとよい。

  E故障確率は上がるが、電圧をアップするとより高いクロックで動作することがある。ただ、まるで起動しないものが動くようになる可能性は低い。

  Fオーバークロックの成功はエンコードでチェックする。高いクロックで動いてもすぐハングアップしてしまうようでは意味がない。特にデュアルコア/HT対応のCPUは、
  それらがフルに生きるエンコードが鬼門となる。動作チェックにはWindows Media Encoder 9を利用した。約200MBのAVIファイルをWMVへ変換完了でOKとした。


・オーバークロック結果:CPUもメモリもかなり動作マージンがあったようで、電圧などをいじらないでも3.75GHz(システムクロック250MHz)までアップできた。電圧アップで3.83GHz、さらにメモリクロックを一段階下げると最高3.9GHzまで上がり、性能では定格の31%もアップした。



3.GIGABYTE GA-8I945P-Gを使用したPentium4 530Jのオーバークロック

・テスト環境:PC2-4200 DIMM 512MB(SAMSUNG M378T6553CZ3-CD5)x2、GeForce 6600GT(128MB)、日立GST Deskstar 7K80(80GB)、Windows XP Professional JPN(SP2)

GIGABYTE GA-8I945P-Gは、Intel 945P/ICH7チップセットを搭載したマザーボードである。多機能とはいえないが、必要十分な機能がうまくまとめられ、コストパフォーマンスの高さからベストセラーとなっている製品である。BIOSの基本項目は同社のLGA775プラットフォームのメインストリーム向け製品とほぼ共通なので、他製品でも参考になるだろう。Pentium4のオーバークロック手順はPentiumDとほぼ同じである。省電力関連の機能をオフにし、PCI ExpressとPCIを固定してからシステムクロックを徐々に上げていく。省電力関連の設定は、Advanced BIOS Featuresで行なえるが、本製品にはPentium4/PentiumDのThermal Monitor 2(TM2)をオフにする機能はないようで、極端な高温になると自動的にクロックが下がって逆に性能が低下する可能性がある。ベンチマークやクロック測定ツールで確認しつつ進めたほうがよい。今回のテスト中は常時CPU−Zで監視していたが、特にTM2が作動するようなことはなかった。また、PCIクロックを固定する設定ももたないが、標準で33MHz固定のようである。メモリクロックの設定はやや独特で、システムクロックに対する倍率で指定するようになっている。定格のシステムクロック200MHzでDDR2-553を使う場合は、2.66が標準である。メモリのせいで動作しないと考えられる場合は2.00以下の設定も試すとよい。今回は、BIOSでの設定では何をしてもシステムクロック224MHz以上では再起動に失敗した。そこで、再起動なしでクロック変更ができる同社独自のユーティリティ「EasyTune5」を使ってみたところ、メモリの変更なしで240MHz、メモリクロックを下げると245MHzまで、システムクロックを上げることができた。


  @GIGABYTE製品以外にも採用例の多いAward BIOSのメイン画面を表示する。「Ctrl」と「F1」キーを押すと内部項目が増え、より細かい設定が可能になる。

  ACIEやEISTなどの省電力機能はAdvanced BIOS Featuresの項目で行なえる。TM2はオフにできないようだが、今回テスト中に作動することはなかった。

  Bオーバークロック関連の設定は「MB Intelligent Tweaker(M.I.T.)」にまとめられている。PCIクロックはデフォルトで33MHz国定のようである。

  Cシステムクロックは100〜600MHzの間でキー入力する。設定を保存して再起動後に有効となる。失敗すると自動的に定格で再起動する。

  Dメモリクロックは、システムクロックに対する倍率で指定する。DDR2-553MHzの定格設定は2.66。これで限界に達したら2.00以下に下げてみるとよい。

  E同社独自のオーバークロックツール「EasyTune5」。これを使えば、224MHz以上の設定も可能であった。メモリクロックの変更は再起動が必要。


・オーバークロック結果:BIOSではリミッターがかかったようにシステム224MHz以上では起動せず。その後はEasyTune5を使ってWindows上から操作したところ、3.6GHz(システム240MHz)までアップ可能。メモリクロックを下げると3.68GHzまで伸びた。電圧アップは効果なし。性能では最大約20%のアップ。



4.MSI K8N Neo4 Platiumを使用したAthlon 64 3500+のオーバークロック

・テスト環境:Athlon 64 3500+(WinChesterコア)、PC3200 DIMM 512MB(Crucial MT16VDDT6464AG-40BG4)x2、GeForce 6600GT(128MB)、日立GST Deskstar 7K80(80GB)、Windows XP Professional JPN(SP2)

MSI K8N Neo4 Platiumは,nForce 4 Ultraチップセットを搭載したマザーボード。コストパフォーマンスの高いスタンダードなAMD CPU向けマザーボードとして、人気の製品となっている。BIOSメニューなどはnForce 4系チップセットを搭載した同社製品と共通点が多い。Athlon64も基本的にはPentium 4と大きな違いはなく、PCI ExpressやPCIにオーバークロックの影響が波及しないよう固定しつつ、システムクロックを上げていけばよい。ただ,Pentium 4よりは少し要素が多い。まずはHTの倍率。HTは、CPUとチップセット間のバスであるが、通常はシステムクロック200MHzX5倍=1GHzで動作している。この倍率を下げてシステムクロックを上げても定格の1GHzを超えないような状態にしてやれば、理屈的にはHTがネックでクロックが上がらないということは避けられる。

また、Athlon64はCPU倍率が変更できるので、使用するメモリのオーバークロック性能の上限を探ることができる。やり方は、CPU倍率を思い切り下げた状態で、システムクロックを上げていけばよい。今回は218MHzで限界に逢してしまい、メモリ電圧をアップしても220MHzがやっとであった。こういう場合は、システムクロックを上げても、それに連動して上がるメモリクロックが220MHzを超えないよう、設定を変えるしかない。DDR400メモリの定格設定は200MHzであるが、それより下(166MHzなど)にしてやれば、システムクロックを上げてもメモリは220MHzを超えない。ただ、システムクロック:メモリクロックが1:1ではなくなり、こういう比率でオーバークロックすると動作がうまくいかないこともある。実際今回もうまくいかず、結局はシステムクロック220MHzのCPU2.4GHzが限界であった。

  @DELキーを押して入るBIOSセットアップのメイン画面を表示する。オーバークロックに関する設定のほとんどは右上にある「Cell Menu」にまとめられている。

  AIntel CPUと同様、PCI ExpressやPCIクロックの設定項目がある場合は、クロックは定格を指定しておく。ここはPCI Expressを100MHzにしている。

  BAthlon 64でもPentium Dなどと同様に、システムクロックを上げることでオーバークロックする。「Adjust CPU FSN Frequency」の項目で調整する。

  CHTは、CPU⇔チップセット間のパスである。システムクロックに連動して上がりすぎないようにするためHT倍率を変更し、システムクロック×倍率が1GHzを超えない
    ようにするとよい。

  DメモリもCPUと同様、理屈的には電圧をアップするとより高いクロックに対応できるようになる。故障の確率は高まり、パーツの寿命は確実に縮まるので注意。

  Eメモリクロックの設定。標準は200MHzで、システムクロックに比例して上下する。メモリが限界と思われる場合は166MHzに下げてみるとよい。


・オーバークロック結果:利用したDDR400メモリのマージンがいまひとつだったようで、電圧ノーマルではシステムクロック218MHzまで上げるのがせいいっぱいであった。メモリ電圧のアップ効果が少しだけあって2.4GHz(システムクロック220MHz)まで、性能にして約8.9%という微増にとどまった。メモリクロックの変更も効果なし。



5.強力なCPUクーラーを導入する

今回のテーマは、基本的にはコストゼロでのパワーアップということで構成してきたが、ワンステップアップするならCPUクーラーの導入をお勧めしたい。今回はオーバークロックが成功したといえる条件として、Windows Media Encoder 9のエンコード(2〜4分程度)をパスすればOKとしたが、常用するとなるとこれだけでは十分とはいえない。消費電力はクロックに比例、そして電圧の2乗に比例して高まるため、オーバークロックを行なうとCPUの発熱も増す。電圧をアップするとなるとなおさらである。Intelなどの純正CPUクーラーは、同じように見えても実はグレード別に銅柱の大きさやフィンの形状や数などが異なり、下位グレードのCPUには、それを定格で冷却するだけの能力しかない廉価版が使われていたりする。オーバークロック状態のまま長時間常用するとなると冷却強化は必須といえる。CPUクーラー選びのポイントとしては、静音性、メンテナンス性が挙げられるが、オーバークロックが前提ならば当然ながら最優先は冷却性能である。何より、CPUクーラーは実用面だけでなく、ビジュアル面でも楽しい。デザインやギミックに凝った製品が多く、単体で見ているだけでも楽しい製品も多い。今回は比較的扱いやすいサイズであり、なおかつ水準以上の冷却性能をもつCPUクーラーを3種類用意し、実際にPentium Dのオーバークロック状態での冷却テストを行なった。


・テスト環境:Pentium D 830@ 3.6GHz(240x15倍)、AsusTek P5LD2 Delux、PC2-4200 DIMM 512MB(SAMSUNG M378T6553CZ3-CD5)x2、GeForce 6600GT(128MB)、日立GST Deskstar 7K80(80GB)、Windows XP Professional JPN(SP2)、PC ProbeU v1.00.43


  @クーラーマスター Hyper L3
   ヒートパイプを3本使用して、冷却性能を高めたコンパクトなCPUクーラー。LGA775専用のクリップの採用により着脱が容易。
   冷却性能:★2.5、静音性:★4、メンテナンス性:★5

  A日本サーマルティック Blue OrbU
   直径120mmの1700rpmファンの周囲に扇型のアルミファンを展開させた美しいクーラー。静音と高い冷却性能を両立。
   冷却性能:★3、静音性:★4、メンテナンス性:★3

  BZALMAN CNPS9500
   3本で6本分の熱移動性能をもつという8の字型ヒートパイプを採用。優雅なビジュアルながら強力な冷却性能をもつ。
   冷却性能:★4、静音性:★3.5、メンテナンス性:★4


・テスト結果:室温26℃、CPUはオーバークロックして3.6GHz動作のPentium D 830と、過酷な条件下でのテスト。PC ProbeUは温度が高く出るが、注目はIntel純正ファン(830定格動作)との差である。それより優秀なのはCNPS9500のみであった。他製品ならケースファンなどと上手く組み合わせて効果を出したい。



6.Riva Tunerを使用したExtreme N6600GTのオーバークロック

・テスト環境:Pentium 4 570J、GIGABYTE GA-8I945P-G、PC3200 DIMM 512MBx2、GeForce 6600GT(128MB)、日立GST Deskstar 7K80(80GB)、Windows XP Professional JPN(SP2)、ForceWare 81.95、RivaTuner2.0 RC15.8

ここでは番外編として、GPUのオーバークロックを取り上げる。製品としては、ASUSTeKのGeForce6600GT搭載カード「Extreme N6600GT」を使用する。ASUSTeKのビデオカードには、System Doctorというツールがあり、それを使えばGPUコアとメモリのオーバークロックは簡単に行なえる。しかし、こういったツールを添付しているメーカーはそれほど多いわけではない。今回は汎用のツールであるRivaTunerを使う方法を紹介する。RivaTunerは、The GURU of 3D(http://www.guru3d.com/rivatuner/)などで配布されているNVIDIA GPUのTweakツール。オーバークロックだけでなく、GPUの詳細情報を取得したり、ファンの回転数コントロールなどにも対応している。Riva Tunerではテストをクリアしないとオーバークロックできないが、このテスト機能もかなり精度が高いので、トライ&エラーの手間が少なくて済み、使いやすいといえる。テストではコアとメモリ、それぞれを個別にオーバークロックした場合のスコアも掲載しているが、やはり効果が高いのはGPUコアのほうである。コツとしては、コアの限界をまず探り、その状態のままメモリの限界を探っていくほうがよい結乗が出るだろう。なお、マザーボードにはビデオカードのインターフェイスにも使われているPCI Expressのクロックを調整できるものが多い。マザーボードの機能を使用したPCI Expressのオーバークロックも試してみたので参考にしてほしい。また、RivaTunerではファンの回転速度を調整する機能をもっているので、そち
らも試してみるとよいだろう。


  @ASUSTeKビデオカードに付属するチューニングツール「Smart Doctor」は、GPUコア、メモリのクロックをそれぞれスライダを動かすことで調整可能。オーバークロック
    の範囲はやや控えめである。

  ARivaTunerメイン画面を表示する。「drive setting」の一段目の右端にあるCustomizeボタンをクリックすると現れるカードのアイコンを選択する。

  Bオーバークロックのため「Enable driver-level Hardware Overclocking」をチェックし、右のボックスで「Performance 3D」を選択する。

  Cクロック変更は、GPUコア/メモリともスライダで行なう。変更後のクロックが左側に表示されるので、それを見ながら調整するとよい。

  Dクロック変更後「Test」ボタンを押してテストをパスしたうえで「適用」あるいは「OK」を押せば,変更した設定が適用される。

  E「Fan」のタブでは,ビデオカードのファン回転速度を調整できる。オーバークロックと同じように、各ステータス別にスライダで調整できる。


・オーバークロック結果:GPUコアを上限まで上げたうえで、メモリの上限、PCI Express x16の上限と順に探ったところ、コア570MHz/メモリ1.15GHz/PCI Express x16 110MHzが上限。最大で定格の約12%とまずまずの成果。PCI Express x16のオーバークロックはなぜか逆効果だった。

 


分類 FAQ
CPU オーバークロックし過ぎた場合の対処方法
説明
オーバークロックに失敗すると、フリーズしたり、リセットがかかったり、アプリケージョン実行中にエラーになったりする(*1)。そうした場合は、再起動してBIOSメニューを表示させる。大抵の製品は、BIOSの設定はそのままで、動作周波数などが標準の状態で起動してくる。起動した時点で、BIOSメニューでより安全な設定に変更すればよい。

(*1)うまく稼働しているように見えても、実際はエラーが発生しているケースもある。  例)PCMark05を実行すると、結果画面の「Audio Compression」項目が「Faild」


ただ、中には、オーバークロック設定のまま起動しようとし、再起動しても何の反応も起こらなくなってしまう製品も存在する。その場合はマザーボードのジャンパなどで、CMOSをクリアする必要がある。CMOSをクリアするときは、BIOSが消えないように、電源コードを抜いておく。
 


分類 FAQ
CPU パッケージ表面の刻印からAMDのCPUリビジョン番号などの詳細情報を読み取る(20051229)
説明
Intel同様、AMDのCPUもパッケージ表面に文字が刻印されている。AMDの以下サイトを見れば、各CPUの情報が掲載されているので、自分の持っているCPUのリビジョンが何かを確認できる。

 ・AMD Desktop Processor Quick Reference Guide:http://www.amdcompare.com/us%2Den/desktop/

以下はAthron 64 X2の例である。

ADA 3800 D A A 5 BV
@ A B C D E F

@:ブランド名:デスクトップ向けのAthron 64であることを示す。
Aモデルナンバー:Athron 64 X2では、「3800+」「4200+」「4400+」「4600+」「4800+」の5種類。
B:パッケージ形状:Athron 64 X2はSocket939用のOμPGAのみ。
C:動作電圧:値は可変なので、マークは「A」のみ。
D:パッケージの表面温度:値は可変なので、マークは「A」のみ。
E:キャッシュ容量:「5」は1MB(512KBx2)、「6」は2MB(1MBx2)
F:リビジョン番号:「BV」は合計1MBの2次キャッシュを搭載した「E4」コア。「CD」は合計2MBの「E6コア」

 


分類 FAQ
CPU CPUキャッシュの仕組み
説明
キャッシュメモリーとは、「Cache(貯蔵所)」の名が示す通り、大事なもの、頻繁に使うものを一時的にCPUから手近な場所に置いておくメモリー空間のことである。例えば、レポートを書くために図書館に行ったとする。参照したい本を毎回、本棚から取り出し、元に戻すといったことを繰り返すよりも、一時的に関連する本をまとめて机に並べておいて、あれこれ参照しながらレポートを作成する方が効率が良い。その「机」こそがまさに、パソコンのキャッシュメモリーである。

プログラムも同様で、あるデータを使うとき、そのデータをもう一度使ったり、そのデータに関連したデータを使う可能性が非常に高い。これを「プログラムの局所性」と呼ぶ。つまり、一度使ったデータをCPUの身近に蓄えておけば、次に利用する可能性は非常に高いわけである。キャッシュにはアクセス速度によって種類がある。CPUコアに近ければ近いほど高速で、速い順に並べると「1次キャッシュ(L1:Level1 Cache)」「2次キャッシュ(L2:Level2 Cache)」「3次キャッシュ(L3:Level3 Cache)」となる。Pentiumのころは、マザーボード上にSRAM(パイプラインバーストSRAM)を載せて2次キャッシュとしていたが、Pentium Pro以降は、1次キャッシュ、2次キャッシュ共にCPUに内蔵する形になっている。1次キャッシュは高速だが、CPU内部の限られたトランジスターを使うため、その大きさは8KB、16KB程度しかない。そこで容量の大きい2次キャッシュを外部に持つことで、システムの高速化を目指したわけである。一万、3次キャッシュは、主にマルチプロセッサー場境のCPUが搭載している。その本来の目的は、はかのCPUが内部に持つキャッシュとのデータの整合性を取る「スヌープ(覗き見)」行為に対処することである。3次キャッシュがない場合、2次キャッシュが外部スヌープサイクルに対応しなければならず、その分CPUの性能が劣化する可能性がある。


1.キャッシュにデータを率よく格納する仕組み

一般に、キャッシュ内部のデータは、「ライン」と呼ばれる単位で管理されている。1つのラインのサイズは32バイトから64バイト程度であり、メインメモリーからデータを読み出す場合には、1ライン分のデータをまとめて読み出してキャッシュに格納する仕組みになっている。次にキャッシュ内部の構造について述べる。キャッシュはメインメモリーよりも
容量が少ないため、当然ながらメインメモリーにあるデータ全部を収めることは不可能である。CPUがメモリーに対して読み書きを行う際、その利用したいデータがキャッシュにあるかどうかをチェックする仕組みが必要になる。キャッシュは該当するデータがメモリー内のどこにあるかを示す「タグアドレス」と「インデックスアドレス」、および実際のデータで構成する(以下図の下)。アドレスの上位ビットがタグ、下位ビットがインデックスである。この2つのアドレスを組み合わせて、キャッシュ内部に必要なデータがあるかどうかを判定する仕組みである。もう少し具体的に見ていく。キャッシュラインにデータを格納する方式には、「ダイレクトマップ」方式や「
セットアソシエイティブ」方式がある。現在のIntel製CPUは後者を採用している(以下図の上)。

●キャッシュの構造と4ウェイセットアソシエイティブ方式の仕組み

キャッシュは下図のように、メモリー内のアドレスを示す「タグアドレス」と「インデックスアドレス」、および実際のデータで構成される。キャッシュ内にデータがあるかどうかは、アドレスを使って検索する。上図は4ウェイのセットアソシエイティブ方式の例。図は分かりやすくするため、メモリーアドレスは32ビット、キャッシュのラインサイ・ズを256バイト、キャッシュサイズを256KBとしてある。セットアソシエイティブ方式は、キャッシュを分割し、1つのインデックスに対して複数のタグアドレス(およびデータ)を持つのが特徴である。
3FFFH 0000H   0003FE00H  
0800H 0100H    
2000H 0200H   <- 08000100H  
0C00H 0300H    



0C000300H  
0003H FE00H    
FFFFH FF00H   20000200H  
タグ インデックス データ  
3FFF0000H  
 
FFFFFF00H  
メインメモリー

タグフィールド
(可変値)
インデックスフィールド=ラインアドレス
(固定値)
A データフィールド
メモリーアドレスの上位16ビット メモリーアドレスの下位16ビット キャッシュライン

ダイレクトマップ方式は、タグアドレスに対応するデータを格納できる空間が1つしかない。つまり、同じインデックスアドレスを持つが、タグアドレスが異なるアドレスのデータはどれか1つしか格納できない。アプリケーションを実行する際、1MB程度の単位で領域を確保することが多い。そうなると、上位ビットであるタグアドレス部分は異なるが、下位ビットのインデックスアドレスが同じになる可能性は高い(これもプログラムの局所性の1つ)。要するに、ダイレクトマップ方式では不都合(キャッシュの交替頻度が高い状況)が生じる場合が多いわけである。そこで、キャッシュを分割し、1つのインデックスに対して複数のタグアドレス(およびデータ)を持たせた。これがセットアソシエイティブ方式である。分割する教が2つなら2ウェイ、4つなら4ウェイ、8つなら8ウェイになる。Pentium4の2次キャッシュは8ウェイである。プログラムが参照するアドレスが広範囲に散在するならば、ウェイ数を増やせば増やすほど、効率が高くなる。ただし、その分回路構成が複雑になり、必要なデータがキャッシュ内に存在するかどうかを検索するのに時間がかかる。2ウェイで1段、4ウェイで2段、8ウェイで3段のコンパレーター(アドレス比較)が必要になる。


2.書き戻すタイミングを遅らせて高速化するWrite Back方式

キャッシュのデータをメモリーに書き戻す方式にも種類がある。「WriteThrough」方式と、「Write Back」方式である。前者は、CPUがキャッシュとメモリーの両方に対して書き込みを行う形式である。一方、後者はキャッシュにのみ書き込みを行い、後からメモリーに書き込む。そうすることで、作業の高速化を図るわけである。しかし、後者には危険な落とし穴がある。2次キャッシュ内のデータが最新であるにもかかわらず、他のバスマスターデバイス(別のCPUやDMAなど)がメインメモリーからデータを持ってきてしまい、データの整合性が取れなくなる可能性があるからである。

●WriteThrough方式とWriteBack方式の違い

CPUが更新したデータを、キャッシュに書き込むのと同時にメインメモリーにも書き戻すのが「WriteThrough」方式。別のCPUやDMA動作により、メインメモリーのデータが書き換えられたときには、キャッシュ内にあるデータは「無効(Invalid)」になる。一方、CPUがキャッシュにのみ書き戻すのが「WriteBack」方式。別のCPUがメインメモリーのデータを読み出そうとした際に、キャッシュにある最新データを書き戻す。

・Write Through方式
CPU キャッシュ メインメモリー CPU キャッシュ メインメモリー
CPU0
CPU0の
キャッシュ


→ ●
→ ● CPU0 CPU0の
キャッシュ



→ ● 









メモリー内のデータが更新
されたので、キャッシュを「無
効(Invalid)」のステータスに
同時に書き込む CPU1
○ →
CPU1の
キャッシュ


○ →
●:CPU0が更新したデータ
○:CPU1が更新したデータ
メモリーに最新
データを更新

・Write Back方式
CPU キャッシュ メインメモリー CPU キャッシュ メインメモリー
CPU0
CPU0の
キャッシュ


→ ●
CPU0 CPU0の
キャッシュ



→ ●











取りあえず
キャッシュにのみ書き込む
CPU1がメモリの読み出しを要求
したので、最新データを書き込む
CPU1
○ ←
CPU1の
キャッシュ



○ ←
●:CPU0が更新したデータ
○:元のデータ
メモリーにある
データを読もうとするが・・・

特に、マルチCPUシステムや、デュアルコアCPUなどでは問題が生じやすい。Intelは、これを解決する手段として、「MESLプロトコル」という制御方法を採用した。キャッシュのステータスを管理するものである。キャッシュが唯一正しい値を持っている状態をModfieldの「M」、キャッシュとメインメモリーの2つが唯一正しい値を持っている状態をExclusiveの「E」、キャッシュ、メインメモリーに加え、ほかのキャッシュコントローラーも値を持っている状態をSharedの「S」として管理する。Eステートは、Sステートと似た状態だが、Mステートに遷移するのに重要な役割を果たす。すなわち、マルチプロセッサー環境で各々のキャッシュコントローラーがある場合、同時に複数のS→Mステートに遷移させると、どれが本当に正しい値なのか、分からなくなってしまうからである。


3.キャッシュ技術の応用

キャッシュの主な機能は、CPUのバス要求に対して高速に応答することで、メインメモリーの応答の遅さをカバーすることである。そのキャッシュが大きく進化したのが、1995年に登場したPentium Proである。そこで、Pentium Pro以降のキャッシュの進化やキャッシュ技術を応用した機能について解説する。

Pentium Proでは、キャッシュの実装方法が「ハーバードアーキテクチャー」に変更された。命令とデータを分離して格納するもので、1次キャッシュとして8KBのコード(命令)キャッシュと8KBのデータキャッシュをそれぞれ持つ。これにより、命令のフェッチ(読み出し)とデータへのアクセスが同時に実行できる。2次キャッシュには、容量256KBのコードとデータを共用する「ユニファイドキャッシュ」がある。キャッシュの速度も改善している。それまでのPentium世代では、2次キャッシュは外部バスクロックで動作していた。これに対し、Pentium Proは1次キャッシュ、2次キャッシュともCPUクロックと同じバスクロックで動作する。CPUクロックは外部パスクロックを数倍にして作り出しており、従来の2〜3倍のスピードアップとなった。また、Pentiumが採用していたキャッシュの構造である「トランザクショナルキャッシュ(Transactional Cache)」では、1つの要求が完了するまで次の要求を受け付けられなかった。このため、キャッシュにヒットしなかった(キャッシュミス)時の性能低下が懸念されていた。これに対し、Pentium Proは「ノンブロッキング(non-blocking cache)」という構造を持ち、最大4つのバスリクエストに対応できる。この点でも大幅な改良が加わったことになる。


4.2次キャッシュはCPUコアに統合

Pentium Proの普及型CPUともいうべきPentiumUや同Vの世代になると、2次キャッシュは外部バスと同期して動作する
ようになった。つまり、CPUクロックの1/2スピードとなって、Pentium Proのキャッシュが持つフルスピードという特徴はいったん失われた。しかし、その後プロセス技術が進み、大容量のトランジスターを低コストで集積できるようになると、2次キャッシュをCPUコアに統合するようになった。開発コード名「Mendocino」で知られるCeleronや、開発コード名「Coppermine」のPentiumVで、再びフルスピードキャッシュになったわけである。同時に、1次キャッシュの容量は、従来の倍となり、16KBコード+16KBデータとなった。

さらに、1次キャッシュを大幅に改良したのが、2000年に登場したPentium 4である。「
NetBurstマイクロアーキテクチャ」と呼ぶCPU高速化技術で、多段パイプライン構造を採用し、コードキャッシュをCPUにより近い位置に配置した。これが「トレースキャッシュ(TraceCache)」である。


●Pentium 4の「NetBurstマイクロアーキテクチャ」
Pentium 4の「NetBurstマイクロアーキテクチャ」の特徴の1つに、「トレースキャッシュ(TraceCache)」がある。Pentium Pro以降のIntelCPUは、x86命令を単純な「μOPS」命令に変換してから処理する。従来は1次キャッシュから逐次取り出して変換していたが、Pentium 4は変換後のμOPSを1次キャッシュに蓄える。分岐命令実行後の予測ミスなどによるペナルティー発生時の回復時間を最小限に抑えるのが狙いである。図は初代Pentium 4(開発コード名:Willamette)のブロックダイヤグラム。

フロントエンド分岐予測機構:BTB
(4096エントリー)
<-> 命令TLB/プリフェッチャー <- ------ 64ビット幅 ----- -
|
命令デコーダー | システムバス(FSB)
100MHz(400MHz)
マイクロコードROM |
トレースキャッシュBTB
(512エントリー)
<-> トレースキャッシュ
(最大1万2000個分の命令)
μOPSキュー |
|
| 4倍速FSB
(3.2GB/秒)
アロケーター/レジスターリネーマー |
|
メモリーμOPSキュー 整数/浮動小数点μOPSキュー |
|
メモリースケジューラー 高速/整数
スケジューラ
低速/汎用浮動小数点
スケジューラ
単純な浮動小数点演算
スケジューラ
|
|
|
整数レジスターファイル/バイパスネットワーク <-> 浮動小数点レジスター/バイパス |



|
|



AGU
読み出しアドレス
生成
AGU
書き込みアドレス
生成
低速ALU
単純な
整数演算
低速ALU
単純な
整数演算
低速ALU
複雑な
整数演算
|
|
|
浮動小数点
演算とMMX/SSE
/SSE2関連の演算
浮動小数点
データの
移動/退避
2次キャッシュ
(256KB、8ウェイ)
48GB/秒
|
1次データキャッシュ(8KB、4ウェイ) <->
256
ビット幅

ALU:Arthmetric and Logic Unit(演算ユニット)、AGU:Address Generation Unit(アドレス生成ユニット)、
:キャッシュ、:キャッシュを応用した技術


Pentium Pro以降のCPUは、x86命令をいったんRISC CPUに似た単純な命令に変換してから処理を行う。この命令を「μOPS」と呼ぶ。従来の1次コードキャッシュは、図中の「命令デコーダー」の前段に位置していた。すなわち、x86命令そのものを1次コードキャッシュに格納しており、命令を読み出す度にμOPSに変換していたわけである。これに対し、Pentium 4が採用するTrace Cacheでは、FLOPSに変換した後の命令を格納する。これにより、分岐命令実行後の予測ミスなどによるペナルティー発生時の回復時間を最小限に抑えるのが狙いである。最大1万2000個のμOPSを格納できる仕様になっている。ちなみに、12KμOPSというのは、従来のCPUキャッシュのように、バイト単位に換算すると、一応8KBから16KB程度いうことになっている。1つのx86命令をμOPSに変換する際、1〜4μOPSになる。さらにx86系の場合、可変長命令なので、1〜15バイトの命令がある。平均命令長を5〜6バイトとして計算としてみると、およそ16KB程度になるわけである。


5.キャッシュ技術はあちこちで活躍

さて次は、キャッシュ技術を応用した事例をいくつか見てみる。まずは、仮想メモリーのアドレス算出に利用する「
TLB(Translation Lookaside Buffer)」。Intel 386のころからページングメカニズムを搭載し、仮想(論理)アドレスからリニアアドレスへの変換は「セグメントテーブル」、リニアアドレスから物理アドレスへの変換は「ページテーブル」を使って管理する。どちらのテーブルもメインメモリー上で管理することになっているが、変換アドレスを算出するのに、毎回メモリーテーブルを参照すると、性能の低下が著しい。そこで、よく参照するテーブルをCPU内部で持とうと考えた。つまりテーブルをキャッシュすることで性能低下を最小限にとどめようとするもので、これがTLBの役割である。Intel 386、同486の世代は、コード/データで共有したTLBを備えていたが、Pentium世代以降は、それぞれ独立したTLBを備えている。次に「BTB(Branch Target Buffer)」と呼ばれる機能を見てみる。これは、CPUを高速化するためのパイプラインに関連した機能である。CPUの高速化で特に困るのは、パイプラインに詰め込んで準備していた後続の命令群が、条件分岐などによって一瞬でご破算(flush)になり、再度、命令取り込み(instruction fetch)からやり直すことである。せっかく読み込んで実行待ちの命令群がすべて無駄になってしまう。その点、RISC CPUの命令体系はよくできており、分岐命令には分岐先(taken)か、そのまま次の命令(not taken)を実行するのかを明示できる。例えば、10回ループする分岐命令ならば、takenにしておくと、10対1でtakenの頻度が高く、パイプラインが途切れにくい。しかしながら、残念なことにx86命令には、そのような概念がない。そこで、それを補うのがPentium世代から導入した「分岐命令予測ユニット(Branch Prediction Unit)」である。そして、分岐に関する情報を記録したものがBTBである。BTBを用いて命令の実行履歴を管理することで、次回同じ命令を読み込む際、その次の命令は、分岐後なのか、そうでないかを判断できる。要はRISC命令でいうtakenか、not takenかを自動的に判断する機能である。Pentiumでは、BTBに記憶できるのは256エントリーとなり、Pentium ProからPentium Vまででは512エントリー、Pentium 4になると、これの実に8倍(4096エントリー)を有している。

振り返って先の図を見てみると、Pentium 4のNetBurstマイクロアーキテクチャが、複数のBTBを搭載し、各所にキャッシュメモリーを搭載している。これは、パイプラインの途切れや外部メモリーへの読み書きによる性能低下が起きないための工夫にほかならない。あくまでもキャッシュは、頻繁に参照するコードやデータを一時的に身近に配置するものである。それが十分に機能しないソフトウエアを実行した場合、キャッシュによる性能向上はさほど見込めない。ただ、今後もCPUの高速化のため、デュアルコア、マルチコア化などの進化とともに、より「賢い(smart)」、「大容量」のキャッシュへと進化していくものと予測される。
 


分類 FAQ
ストレージ S.M.A.R.Tエラーが出たHDDはいつまで使えるのか?
説明
S.M.A.R.T.は、セクター不良の数やシークエラー率、ECCエラー率など、さまざまなステータスをHDDの内部で監視している。マザーボードは起動時のチェックでこのデータをHDDから受け取り、近いうちにHDDが故障する可能性が高いと判断すると、S.M.A.R.T.エラーを起動時画面に表示する(例:「Ultra DMA Mode-5,S.M.A.R.T. Capable and Status BAD」)。

S.M.A.R.T.の警告は、エラーの量が規定値を超えると自動的に出力される。
即、HDDが壊れるとは限らないが、危険な状態であることは間違いない。そのHDDに入っている重要なデータはすぐにバックアップを取る必要がある。続いて、原因を探る。警告が出ても、温度上昇やケーブルの接触不良などにより、一時的なエラー状態になっている可能性があるからである。HDDのケーブルやケースファンの動作などを確認し、異常の有無をチェックする。問題ないようなら、再起動する。それでも、S.M.A.R.T.エラーが出るようであれば、対処が必要になる。

HDDは一度エラーが出始めると、加速度的にエラー個所が増えていくのが特徴である。ソフトウェア的な対処や冷却などをしたところで、症状の進行を止めることはできない。壊れるまで使い続けても構わないが、起動ドライブや重要なデータを保存する用途には向かない。動画編集の一時ファイル置き場などには使えるとしても、やはり新品の購入をお勧めする。

エラーが出るまで漫然と使い続けるのではなく、ユーザーが積極的にS.M.A.R.T.の情報をチェックすることもできる。フリーソフトではMam's S.M.A.R.T. Readerがお薦めである。最も重要なHDDの温度情報をリアルタイムで監視できる。S.M.A.R.T.の情報を一覧表示する機能も備えている。HDDの状態を自動で監視させたいならHDDlife JEがよい。タスクトレイに常駐し、HDDの状態に異変があれば青を鳴らしたり、アラートを出す機能も備えている。ただし、こうした汎用のS.M.A.R.T.ツールの情報をうのみにすることはできない。S.M.A.R.T.の情報をどう解釈して警告を出すべきかは、HDDごとに差があり、S.M.A.R.T.ツールがすべてのHDDのしきい値をサポートしているとは限らないからである。各メーカー純正のS.M.A.R.T.ツールも用意されているので、そちらを試すのもよい。HDDは1年でも壊れることもあるし、逆に5年以上稼働することも珍しくない。できるだけ長く使うためにも、普段から熱や振動に気を配って使うようにする。
 


分類 FAQ
CPU 仮想化技術(VT)搭載のPentium4 662(672)(20051212)
説明
PC向けCPUにおける仮想化技術とは、1個の物理的なCPUをあたかも複数個あるように扱う仕組みのこと。Intelは2005/11/15、仮想化技術「Virtualization Technology」(VT)を実装した、「Pentium4 662」(672)を発表した。VTの有無以外の仕様は、ベースとなったPentium4 660(3.6GHz)、同670(3.8GHz)とほぼ同じである。FSBは800MHzで、2次キャッシュ容量は2MB。Hyper-Threading拡張版SpeedStepを搭載する。ただし、SpeedStepでの下限周波数が従来の2.8GHzから2.4GHzに下げられている。SteppingはR0(従来の600番台はN0)である。

1.BIOSの対応が不可欠。また利用には専用のソフトが必要

VTを搭載したCPUには、新たな動作モードと、それを制御する新命令が実装されている。利用するには、BIOSの対応だけでなく、新命令を使ったソフトウェアが不可欠である。PC分野では、既に仮想化ソフトを出荷しているマイクロソフトやXenSource、VMWare(VMWare Workstation 5.5以降)などがVTへの対応を表明している。


2.ソフトだけでは遅い仮想環境。VTはCPUを丸ごと切り替える

下図は、PCでの仮想化の概要を示したものである。

●PCにおける仮想化のイメージ
「Ring0」「Ring3」はそれぞれCPUの動作モードで、Ring0では各種の割り込みやメモリー領域の管理がすべてできる。一番上はPCにおける一般的な使い方。中央は、VTのない従来のCPUで仮想化ソフトを動かす実装例のひとつ。一番下はVTの例。VMMと呼ばれるソフトで複数のOSを並列に動かす。VMMによるOSの切り替えにVTの機能を使う。

○仮想化のない状態
Ring3            アプリ    アプリ
Ring0            OS システム全体でOSは1つ
ハードウェア


○従来の仮想化環境の実装例
仮想PC環境
Ring3    アプリ     アプリ アプリ デバイスドライバー+アプリケーション
という形で、純粋にソフトウェアのみで実装する
Ring0    OS ゲストOS ゲストOS
ハードウェア


○VTを使った仮想化の実装例
Ring3  アプリ Ring3  アプリ Ring3  アプリ
Ring0  OS Ring0  OS Ring0  OS
VMM(Virtual machine Monitor) VMMでOSを切り替える。OSはお互いに干渉できない
VT対応ハードウェア


一番上は仮想化のない状態で、現在の多くのPCはこの形態で使われている。図中の
「Ring0」「Ring3」は、CPUの動作モードのことである。Ring0はドライバーを含むOSを動かすモードで、メモリ領域の設定や各種の割り込み(処理を中断して別の処理をすること)などを細かく制御できる。Ring3は主にアプリケーションを動かすモードである。Ring3で動くプログラムは、Ring0のプログラムによって設定された領域以外へはアクセスできない。

中央の図が、従来からあるPC用仮想化ソフトの構造の一例である。デバイスドライバーとアプリケーションで仮想環境を作り出し、HDDにあるイメージファイルを仮想HDDに見立ててそこへOSをインストールして実行する。本来はCPUがハードウェアの機構として処理するRing3とRing0の切り替えや各種の割り込みを、すべてソフトウェアでエミュレートするためオーバーヘッドが大きい。特に既存のOSに全く手を加えずに動かせるようにしたソフトでは、仮想環境の動作速度がどうしても低下してしまう。

VTでは、従来のRing0とRing3を含めてCPUの状態を丸ごと切り替えるイメージになる(一番下の図)。その設定と制御をするのがVMM(Virtual Machine Monitor)である。図中のRing0とRing3の組は「仮想マシン」と呼ぶ。ある仮想マシン内のプログラムは、ほかの仮想マシン内のプログラムへは干渉できない。VMMと仮想マシンは、先に述べたOSとアプリケーションの関係を拡大した形になっているわけである。


3.仮想マシンの動作状態をメモリーの専用領域に確保

下の図は、IntelのVTによる仮想マシンの切り替えをより具体的に示したものである。

●VTを使ったOSの切り替え動作の概要
VTでは、新たに「VMX root」「VMX non-root」という動作モードが加わっている。VMX rootモードでVMMを動かして仮想マシンを制御する。各仮想マシンの情報は、「VMCS」というメインメモリー上の領域に保持される。特定の命令の実行、割り込みの発生、I/Oポートへのアクセスなどがあると、仮想マシンからVMMへ制御が戻される。

Ring3  アプリ アプリ Ring3  アプリ アプリ
Ring0  OS1 Ring0  OS2
VMX non-root
VMX root ↑VM Entry VMCS1 ↑VM Entry VMCS2
VMLAUNCH命令(初回)
VMRESUME命令
VMX Exitには
さまざまな条件がある
↓↑
↓VM Exit VMREAD
VMWRITE
↓ VM Exit VMREAD
VMWRITE
VM operation
を有効にする
Ring3
VMXON命令→ Ring0
VMM →VMOFF命令
0


VT搭載のCPUでは、
「VMX root」と「VMX non-root」という動作モードが新たに定義されている。VMX rootでVMMを動かして、仮想マシンを設定して起動する。仮想マシンはVMX non-rootで動く。仮想マシンとはいっても、Ring0〜3までの各モードを備えており、機能や仕様は今までのCPUとまったく同じである。

それぞれの仮想マシンには、
「VMCS(Virtual Machine Control Structure)」と呼ばれる領域が物理メモリ上に確保される。VMCSには、仮想マシンからVMMへ制御を戻したとき(VM Exit)の仮想マシンのCPUの状態(ゲストステート)や、仮想マシンの実行条件、VM Exitが起こる条件などを収めておく。VT特有のいくつかの例外を除いて、基本的にはOSを含む既存のソフトウェアを手直しすることなく動かせる。

この図は仮想マシンの中で既存のOSを動かす場合の典型的な例であり、VT対応ソフトでも、実際の動作はソフトの作り方で大きく異なる。例えば、VMWare Workstation 5.5 RC2では、第2項の中央の図のような実装の中で「VMWareの仮想マシンの切り替えにVMCSを使う」にとどまっている。また、VMM側に各種のデバイスドライバーを実装して、仮想マシン内のソフトウェアにはよりアプリケーションに近い動作しかさせない、という実装も実際のところはあり得る。


4.セキュリティや管理機能がメインと別のOSとして動く

IntelはVTの応用例として、主に業務用PC向けに「Embedded IT」というコンセプトを明らかにしている(下図)

●管理や監視用のOSを同時に動かす
Intelが提案するVTの利用例の1つ。メインで使うOS以外に、データの監視やシステムの管理を行うOSを同時に動かす。例えば、ファイアーウォール機能を、別のOSで動くアプリケーションとしてメインOSから切り離し、仮想的なネットワークで接続する。お互いに影響を受けにくくなり、機能の更新や不具合発生時の修復が楽になる。

Ring3  アプリ アプリ Ring3  管理用アプリ 管理用アプリ
Ring0  メインOS Ring0  サービスOS(群)
VMM(Virtual machine Monitor) ファイアーウォールや、システムメンテナンス用のソフトなど
VT対応ハードウェア


メール送受信や文書作成などを行うメインのOSから、ウィルス対策やファイアーウォール、システム管理用のソフトウェアを別の仮想マシン「サービスOS」として切り離す。サービスOSの設定変更や機能の追加は、メインOSとは無関係にできる。業務システムの管理者の観点からは、ユーザによるセキュリティ関連の設定変更を防げるし、システムのアップデートなどの管理が楽になるというわけである。

また、Microsoftは、仮想化のアーキテクチャとして下図のようなイメージを公開している。

●Microsoftの仮想化構想
Microsoftの仮想化構造プラン。シンプルな「ハイパーバイザー」と、その上で動く「親パーティション」が連携して、仮想マシンを制御する。親パーティションから作られる「子パーティション」でソフトが動く。ハードウェアは仮想化されており、親を通じてアクセスする。信頼性を高める仕組みになっている。Microsoftはサーバ製品からこの仕組みを導入する意向を示している。

「Virtualization Stack」を持ち、子パーティション
を管理する。ごく小さなOS


各種ハードウェアへ直接アクセスするのは →
この部分のドライバ

子パーティションからハードウェアへのアクセス
はVMパスを使用
新パーティション(仮想マシン1)
  
VSP
  ↑
  ↓             ↑
  ストレージスタック   ↓
    ポートドライバ   VMパス←
子パーティション(仮想マシン2) 
 
ストレージスタック
   VSC
    ↑
    ↓
→VMパス←−
子パーティション(仮想マシン3)
 



→VMパス
Ring0  メインOS Ring0  サービスOS(群)
      ハイパーバイザー
HDD   VT対応ハードウェア


「ハイパーバイザー」と呼ぶコンパクトなVMMと、仮想マシンの1つである「親パーティション」で全体を制御。仮想マシンである「子パーティション」を起動してそこで各種のソフトウェアを動かす。ハードウェアへのアクセス権限は親に集約、子からは仮想のパスを通じてアクセスする。将来のサーバ製品からこの仕組みが導入される予定である。サーバ分野では、役割ごとに複数台に分かれたサーバ機を、1台に集約して保守コストを下げる「サーバ統合」が注目を浴びている。VTのような仮想化機能は、そうした用途には最適である。ただ、家庭で使うPCでのVTの利用について、Intelもまだ明確なイメージを描けていない。VTの実装は始まったばかりで、Intelは今後、I/O仮想化などの機能を追加するとしている。AMDはIntelにおけるVTとLT(LaRgande Technology)を合わせたような「Pacifica」を、2006年に出荷するCPUに実装する予定である。
 


分類 FAQ
ストレージ HDDの垂直磁気記録技術(20050605)
説明
参考)日立グローバルストレージテクノロジーズ 磁性体くん
参考)GMRヘッド流体軸受け


1.記録密度向上のブレイクスルー


HDD単体の最大容量の伸びは一時期、やや伸び悩んでいた。だが、ここにきて見通しが明るくなってきた。記錨密度向上技術のブレイクスルーとして長らく研究が続けられていた、「
垂直磁気記録方式」の実用化の目処がついたことが、その大きな理由である。これまでの磁気記録は水平磁気記録と呼ばれるもので、磁性体をヨコ方向に磁化してデータを記録している。棒磁石をヨコに並べることをイメージしてもらえばわかりやすい。一方,垂直磁気記録では、磁性体をタテ方向に磁化することでデータを記録する。棒磁石をタテに並べるイメージである。記録容量を大きくする(記録密度を高める)ということは、一定の面積によりたくさん磁石を並べるということに相当する。「ヨコよりタテのほうが同じ面積にたくさんのデータを詰め込みやすい」という、この簡単な理屈が、垂直記録のメリットをごく単純に表わしている。2005年に日立グローバルストレージテクノロジーズ(日立GST)は、垂直記録で記録密度230Gbit/平方インチの実証実験に成功。これを3.5インチHDDのプラッタに当てはめると1プラッタで約300GBに相当し、3プラッタで900GB、4プラッタで1.2TBとなる。230Gbit/平方インチの技術が投入される2007年には,1TBの3.5インチHDDが登場する可能性が高い。

●水平記録方式
N S A N S A N S

●垂直記録方式
N N S N S N N S
S S N S N S S N


2.磁化される体積が小さくなるとHDD内部の熱でデータが消失する


従来の水平磁気記録では、大容量化、高密度化の限界が近くに迫っている。何が限界かを説明する前に、HDDの基本的なしくみからおさらいする。HDDのデータは、内部の円盤(プラッタ)上の、円周状に連なる「磁化方向」によって記録されている。プラッタ上にごく小さい磁石がたくさん並んでいると考えてもよい。磁化方向とは磁気の向きのことである。磁石の中ではS極からN極へと向く磁力が働いており、これを磁化方向と呼ぶ。また、磁石の外ではN極からS極へ向かう磁力が働いており、これを磁束という。HDDのデータの書き込みとは、ヘッドによってプラッタ上の磁石の向きを変えることであり、逆に読み取りとは、ヘッドでプラッタ上の磁石がどちらを向いているかを判別することである。そしてHDDの大容量化とは、プラッタ上の磁石を増やすということである。プラッタの大きさは変わらないため、大容量化するためにはその磁石の1つ1つを小さくしていくことになる。

水平記録のさらなる高密度化には、その磁石1つ1つをこれ以上小さくするのが難しいという問題がある。HDDが記録装置としての役目を果たすためには、磁化方向を長期間保っていなければならない。そのためには一定以上の磁気エネルギー(保磁力)が必要となるが、そのエネルギー量は磁石の(磁化された)体積に比例する。つまりは、高密度化のために磁石1つ1つの体積を小さくすると、磁気エネルギー(保磁力)が減ってしまう。磁気エネルギーが一定以下になると、熟の影響で磁化方向が変化する
「熟ゆらぎ」が発生し、磁化方向が消えてしまう。さらに、水平記録では本質的に隣の磁石同士で磁束が反発する(たとえば、同じN極とN極が向かい合って反発する)ことが避けられない。隣の磁石からの磁束を反磁界というが、この反磁界もそれぞれの磁石の磁気エネルギーを弱める原因となっている。

●データ書き込みの仕組み
- - 記録ヘッド
| |
N S 記録ヘッド
移動方向
N S N S S N N S S N S N
左向きに磁化された磁性体に、右向きの磁束を発する磁気ヘッドが近づくと、磁性体の磁化方向は、記録ヘッドの磁束と同じ右向きに変わる
HDDのデータ書き込みとは、プラッタ上の磁石(磁性体)に磁化方向を与えることである。水平記録で言えば、1bitに相当する小さな磁石の、左右どちらがS極(あるいはN極)かを決めることである。ヘッドはC字型の電磁石のようなもので、N極とS極の闇から漏れる磁束を利用して、プラッタ上の磁性体の磁化方向を変える。


●データ読み込みの仕組み
読み取りヘッド
A
N S N S S N N S
高磁化すると、同じ極同士が打ち消しあう
データの読み込みとは,プラッタ上の磁性体の磁化方向がどちらを向いているのかを知ることである。これは、磁性体から漏れる磁束の向きで判別
する。隣り合う磁性体の磁束の集合が上や下に向いている時は1、上下どちらにも向いていない(横向き)場合は0といったように判断している。
磁気エネルギーは、磁気の強さと磁石の体積で決まる。高密度化するということは磁1つ1つの体積が小さくなることであり、高密度化すればするほど磁石1つ1つのエルギーは弱まっていく。そして、それが一定量を下回ると、熱の影響で磁化方向が変化する「熱揺らぎ」が発生してしまう(-> HDD内部の熱でデータが消える)


3.垂直磁気記録のカギを握る単磁極ヘッドと2層プラッタ


垂直磁気記録方式では、プラッタ上に棒磁石をタテにして並べるイメージで、磁性体を垂直方向に磁化する。冒頭でも触れたよう
に,ヨコになっていたものをタテに並べれば、体積を減らすことなく磁石をたくさん並べられる。つまり、磁石1つ1つの磁気エネルギーを減らすことなく、より密度を高められるわけである。しかも垂直磁気記録では、原理的に隣合う磁石の磁束同士が反発することはなく、逆に引き付け合う(N極から出た磁束は隣のS極に吸収される)ため、より磁気エネルギーの強い、安定した記録ができるのも特徴である。極性部分(棒磁石の両端にあたる)がプラッタ上面を向いているので漏れる磁束もクリアで、読み取り時も都合がいい。しかし、磁化方向を保つエネルギーが強いため、磁化方向を変える書き込み時にはそれ以上に大きなエネルギーを必要とする。しかも、離体の向きをタテ方向に磁化しなければならない。そこで導入されたのが、
単磁極ヘッドと、軟磁性層を裏打ちした2層プラッタである。軟磁性層というのは、「磁化しやすいが磁気が残らない」特性を持つ層のこと。磁気を透過させる層と考えてもよい。書き込みのしくみは後述である。垂直記録のヘッドは、太い前端部分(リターンポール)と極細の後端部分(単磁極ヘッド)で構成されており、リターンポーラから放出された磁束は記録層を貫通し、さらに軟磁性層を経由して単磁極ヘッドに戻るしくみになっている(あるいはその逆)。記録層が磁化されるのは、単磁極ヘッド側で磁束が記録層を貫通するときである。リターンポールは単磁極ヘッドに比べて何十倍も大きいので、磁束密度が低く、記録層の磁化方向に影響を与えない。なお、この単磁極ヘッド部分の磁束は、水平記録で使うリングヘッド間の磁束の2倍以上の強さがあるという。

●垂直磁気記録の仕組み
こちら側は磁束が緩やかなので、記録層は変化しない
リターンボール 磁束
- - - - - -
| | | | 単磁性ヘッド側は磁束が収束して、強い磁力を発する。これによって記録層を磁化する
| | N S
N N S N S N N S 記録層
S S N S N S S N
軟磁性裏打ち層
単磁極ヘッドとリターンポール間の磁束は記録層を挟んで軟磁性層を通過する。記録層は,ヘッド部分の磁束が記録層を貫通する時に磁化方向が与えられる。


4.課題は軟磁性層の性質とヘッドの微細化技術


このように、原理的には実にスマートな垂直磁気記録だが、実際の技術面では課題もある。中でも重要なのは、軟磁性層の特性の向上である。「磁化しやすいが、磁気が残らない性質」と口でいうのは簡単だが、これはあくまでも理想であり、実際にはまったく磁化が残らないというのは難しい。たとえごく微量でも残ればそれがノイズとして作用するため、どれだけ理想に近い軟磁性層を製造できるかは大きなポイントとなる。また,HDDのヘッドはスイングアーム式であるため、内周部や外岡部ではヘッドが斜めになった状態で読み書きが行なわれる。トラック密度をギリギリまで高めるには、ヘッドが傾いても隣のトラックに張り出さないように、逆台形になっていなければならない。ヘッドの大きさは記録密度に直結するため、この逆台形型を維持したまま、いかに小さなヘッドを製造できるかというプロセス技術の進化も求められる。
  


分類 FAQ
CPU さまざまなデュアルコア(20050528)
説明
インテルから登場したPentiumXEとPentiumDは,物理的にはどちらも「Pentium4を2つ,まるごとくっつけたもの」と言える。2つのコアは、800MHz8のP4バスで接続されており,構造(トポロジー)的にはデュアルXeonのシステムと同じになる。一方,来年早々にはデスクトップ向けにさらに強力な「Presler(プレスラー)」が登場する。こちらは,Prescottの改良版コアに2MBの2次キャッシュを組み合わせたダイを2つ、パッケージ内で接続する。ダイそのものはシングルコアになるが、パッケージ内で2つのダイはP4バスで結ばれるので、PentiumXE/Dに比べ不利になる面はおそらくない。2ダイ構成にするのは,ダイレベルでデュアルコアにした場合にサイズが大きくなり、不良率が上がるからである。新しい65nmプロセスでの製造なので、歩留まりが安定するまではあまり大きなダイにしたくない、というところであろう。サーバ向けデュアルコアCPUは、2CPU構成の「Dempsey(デンプセイ)」、4CPUまで可能な「Paxville(パクスヴィル)」がともに2006年の出荷となっている。このうちDempseyはPresler同様、2つのチップを1パッケージに収める形だが、Paxvilleは1つのダイに2つのコアを収納し、さらに、両コアがバスインターフェイスを共用するという、一歩統合度が進んだコアになる。

1.真のデュアルコアとは?


一方、AMDは同社のデュアルコアOpteronの発表会において「真のデュアルコア」という表現を多用している。これは明らかにPentiumXE/Dを意識した表現であろう。実はOpteronAthron64は,設計当初からデュアルコアを想定したものになっていた。CPU内部に「クロスバー」と呼ばれる接続ポイントがあり、そこにはCPUコア、メモリコントローラ、バスインターフェイスが接続されているが、ここにはもう一つCPUコアを接続できるようになっている。PentiumXE/Dのように、実質上Pentium4をまるごと2つくっつけるのではなく、CPUとしての機能の中心(コア)部分だけをもう1つ足せる、よりエレガントな構造であるという主張である。これは、性能面でもメリットがある。たとえばCPU1が、メモリアドレスXに対して値Aを書き込むとする。現在のCPUでは、値AはまずCPU内のキャッシュに書き込まれ、後ほど適当なタイミングでメモリに反映される。そのため、CPU1がキャッシュ内容をメモリに書き戻す前にCPU2がメモリXを読み出すと、ウソの値を得ることになってしまう。このような問題が生じないように、キャッシュメモリはブロックごとに「ステート」を持っている。当ケースでは、CPU1における値Aを保持するブロックは「修正済み」ステートになっており、CPU2がアドレスXを読み出そうとしたのを検出した時点で、CPU1が自分のキャッシュの中身を先に書き戻す処理を行なう。この、両CPUの1次、2次キャッシュ、およびメモリの内容に食い違いが生じないようにする「スヌーブ」処理は、800MHzのFSB上で行なうPentiumXE/Dより、2GHzオーバーで動くダイ上のクロスバー経由で行なえるOpteronのほうが高速なのは確かである。コアの結合度という意味で一歩進んでいるのは、インテルがモバイル向けに2006年に出荷予定の「Yonah(ヨナハ)」である。ここでは2MBの2次キャッシュを2つのコアが共用する設計である。そのため片方のスレッドは1.5MBほど必要だが、もう片方は500Kでいい、というようなケースで、両方に十分なキャッシュを用意できる。他のデュアルコアのように、1MBX2に分かれていると、1.5MB必要なスレッドが割り当てられたコアは,2次キャッシュが足りずに性能が落ちてしまうが、Yonahではこうしたケースでもうまく動ける場合がありうる。

インテルの4種類のデュアルコア構造 デュアルコアOpteron/Athron64x2のデュアルコア構造


2.各社デュアルコア


デュアルコアを実現したのはPentiumXEが最初ではない。PC以上の規模のコンピュータで使われるCPUとしては、IBMが2001年に出荷した「
Power4」が最初である。現在はSMT(インテルのHTに相当)も組み込んだPower5が出荷されている。Power5は、CPU4つと32MBの外部3次キャッシュチップ4つをワンパッケージに収めたモジュールも提供され、これを8つ組み合わせると,2(コア)×2(スレッド)×4(チップ)×8(モジュール)=128CPU構成のマシンが作れるのがポイントである。HPは同社のRISC CPU「PA-8700」の後継として、8700コアを2つ内蔵する「PA-8800」を2004年から出荷している。このとき初めて2次キャッシュのコントローラもCPUに内蔵させた。2005年にはSunが、UltraAparcVを2つ内蔵する「UltraSparcW」をリリースしている。さらに2005年中にはインテルがItanium2のデュアルコア版、コードネーム「Montecito(モンテシート)」を予定。2MBの2次キャッシュに加え,24MBもの3次キャッシュをオンダイに搭載、トランジスタ数17億というモンスターである。また、富士通からは「SPARC64Y」も登場する。メモリ帯域の確保のために新しいバスプロトコルも設計、6MBの大容量2次キャッシュを2つのコアがシェアするなど、マルチコア化をにらんだ意欲的なデザインである。デュアルコアによる性能向上効果を、CPUの標準的なベンチマーク「SPEC CPU2000 rate」で見ると、UltraSparcVとWでは約2倍、PA-8700と8800では2次キャッシュの効果もあり、同周波数換算で2.2倍の性能向上が得られている。デュアルコア化は熾烈な性能競争を勝ち抜く上での必須要件となっている。

Power5アーキテクチャ 2005年度中に各社で予定されているサーバ用デュアルコアCPU

(左)ソニー・東芝・IBMのセル   (右)サンのNiagara


こうした、既存のCPUをベースにしたマルチコア化とは別の動きもある。斬新なのは、2005年2月に仕様が公開されたソニー・東芝・IBMによる「
セル」。これは,全体を制御するメインCPUとも言うべきユニットとして64bit PowerPCアーキテクチャのコアを置き、3Dレンダリングに最適化された8つの「SPU」というユニットを統合したものである。SPUは128bitのレジスタを持ち、浮動小数点演算の同時実行に特化している。簡単に言えば、Pentium4からSSE部分を取り出したようなものと考えていいかもしれない。メインプロセッサにはPentium互換のX86コアを置き、周囲にSSEエンジンを多数設置する、というプロセッサを作れば、エンコードは超高速、日常動作も快適というCPUが作れるかも知れない。

もうひとつの試みは,サンが開発中の「
Niagara(ナイアガラ)」。このプロセッサは内部に8つのコアを持つが、そのコアは、同時1命令実行、パイプラインは6段と伝えられ、設計的には1994年ごろのMicroSparcやHyper Sparcといったレベルのシンプルなものである。ただ、各コアは同時に4スレッドを実行可能にしており、8コアだと同時に32スレッドを動かせる。数多くのトランザクションをこなすサーバ用途では確かに力を発揮しそうだが、少ないアプリに特殊、かつ膨大な負荷がかかるPC用CPUには、一つ一つのコアを非力にしてまでコア数を増やすというアプローチよりも、セル的な設計のほうが向いているかもしれない。
 


分類 FAQ
M/B チップセット955Xの新機能(20050522)
説明
PentiumXEの発表と同時に新チップセット「955X」がアナウンスされた。これは現行のハイエンド向けチップセット「925X」の後継にあたる。また、過去のIDFでは、PentiumD向けの「945」も投入されることが明らかになっている。つまり、現在の915/925というラインナップが、2005年6月以降は945/955に切り替わっていくことになる。ソケット形状はLGA775のまま変更なく、従来のシングルコアのCPUも、LGA775なら問題なく利用できる。注意が必要なのは、デュアルコアのPentiumは、915Xや925マザーでの動作がサポートされていないことである。つまり、デュアルコアにする場合は,955Xか945のマザーに買い替える必要がある。

955Xの主な新機能は以下。
 @デュアルチャネルのDDR666(PC5400)をサポート
 A3GbpsのSATAUポートを4つ用意
 BRAID対応のサウスブリッジ「ICH7R」はRAID 0/1/0+1に加えRAID 5をサポート
 C1066MHzのFSBをサポート
 D最大メモリ容量が8GBに拡大(従来は4GB)
 E周辺機器用PCI Express x1のポートが2つ増え6に
 Fメモリ性能最適化回路を搭載
 GECCメモリをサポート

945については正式発表前なので正確なことは言えないが、過去の875/865、925X/915の違いからすると、FとGは削られる可能性が高い。

Dは,Pentium 4XE、600シリーズ、XE、Dと、64ビット対応CPUが増えつつある状況をふまえ,4GBの壁を物理的にも打ち破れるようにした点で注目される。ただ、スロットが4つなので、2GBのモジュールが出てくるまでは,恩恵には預かれない。
 


分類 FAQ
デバイス ノースブリッジとサウスブリッジの違い(20050519)
説明
実はノースブリッジやサウスブリッジに入れる機能やインターフェースは決まりがある訳ではない。とはいえ、それぞれのブリッジチップは、CPUに近いがゆえに必要となる機能や、CPUから遠い(= 逆に外部インターフェースに近い)側で必要となる機能があるので、結果的に各製品で似たような機能が組み込まれている。

1.ノースブリッジの機能


CPUに近い位置にあるノースブリッジチップでは、一般的にCPUとメモリ間のデータ制御、グラフィックバスのブリッジなどが主要な機能とされている。Intelでは、ノースブリッジに相当するチップを
MCH(Memory Controller Hub)と呼んでいる。つまり、メモリーコントローラがこのチップの重要な機能と見なされている。ただし、ノースブリッジチップが、これらの機能を全て持っているとは限らない。たとえば、AMDのAthron64やSocket754 SempronはCPU内にメモリーコントローラを内蔵している。そのためAthron64向けのノースブリッジではHyperTransportによるCPUとの接続とグラフィックパスへのブリッジが主要な仕事ということになる。メモリーコントローラは、SDRAM、DDR、DDR2への対応、Dual Channelのサポートの有無などで機能が分かれるが、SDRAMをサポートするチップセットは徐々に減ってきている。グラフィックパスへのブリッジは、AGPからPCI Expressへの置き換えが進みつつある。PCI Expressについては、グラフィックス用のx16以外は、サウスブリッジが担当するのが一般的だが、ノースブリッジでPCI Expressのインターフェースを集中して担当させているATI RADEON XPRESS200などもある。ノースブリッジのインターフェースで珍しい例を挙げると、Intel875/865シリーズと845PのMCHで採用した2Gbit/秒帯域を持つギガビットLAN用のCSA(Communication Streaming Architecture)などがある。


2.サウスブリッジの機能

サウスブリッジの機能と言えば、PCI、IDE、Serial ATA、USB、サウンド、LANなどが定番である。Intelチップセットでは、
ICH(I/O Controller Hub)、nVIDIAではMCP(Media and Communications Processor)と呼ぶ。PCIは現在のところPC必須の拡張インターフェースだが、徐々にPCI Expressに置き換えられていく予定である。ただし、現状でPCI以上の高速な転送速度を必要とする拡張カードが少ないため、置き換えスペースは遅い。同様にIDEもSerial ATAに置き換えられていく予定である。Intelは925/915シリーズでIDEを1ポートに減らし、Serial ATAを4ポートに拡大している。ただし、IDEポートを減らしているのはIntelのみで、他社は2ポートを当面維持する。また、Serial ATAは、今後現行の2倍の帯域(3Gbps)を持つ新しいSerial ATAUへの対応が進む。Serial ATAインターフェースは現状でもRAID構成が可能なものが多い。例えばIntekはICH6をRAID機能搭載の有無(ある場合は型名にRがつく)と無線LAN機能搭載の有無(ある場合は型名にWがつく)で4種類の製品構成にしている。RAID付きのICH6Rでは、2台のHDD上でRAID0とRAID1を同時に構築できるMatrix RAIDを特徴としている。Intel社以外の製品でも、RAID 0/1/0+1構成が可能なものが多い。ここ数年で著しく強化されたのはオーディオ機能である。当初は音さえ出れば・・・レベルであったものが、現在では音質も向上し、チャネル数も8chサポートが常識となりつつある。


3.ノースとサウスを合体したチップセット

統合チップセットとは、本来のチップセット機能に何らかの別の機能を統合した製品のことだが、一般にはノースブリッジにグラフィックス機能を統合した製品を指す。グラフィックス統合型ノースブリッジはIntelが
GMCH(Graphics Memory Controller Hub)、nVIDIAがIGP(Integrated Graphics Processor)と呼ぶ(ATIもIGPという呼称を使用している)。高価なビデオカードを購入しなくてもグラフィックス環境が用意できるのでコストパフォーマンスは高いが、メインメモリーからビデオメモリーを確保するため、速度面では外付けのビデオカードよりも劣る。またnVIDIAでは、nForce3以降の製品ではグラフィックス統合型チップセットがまだない。ノースとサウスを一体化した1チップのチップセットは、主にコスト面にメリットがあるが、ノース-サウス間リンクがチップ内で完結できるため、配線取り回しによるロスが少ないという特徴もある。しかし、現行チップセットで1チップ化製品を発売しているのはnVIDIAのAthron64向けチップセットnForce3、nForce4ファミリーくらいである。この他にも、組込用途では、チップセットとCPUが合体した製品もある。たとえばSiS55x LXは、x86コアのCPUにノース/サウス/グラフィックスを統合したものである。VIA Luke CoreFusionはEden-N CPU(C3系)にグラフィックス内蔵ノースブリッジCN400を統合したもので、こちらはメモリにDDR333/400が使用できる。

グラフィックス統合チップセット
チップセット名 プラットフォーム ベースチップセット グラフィックスコア DirectX9対応
Intel915G LGA775 Intel915P GMA900
ATI RADEON XPRESS200 for Intel LGA775/Socket478 - RADEON X300相当
ATI RADEON XPRESS200 Socket939/754 - RADEON X300相当
nVIDIA nForce2 IGP SocketA - GeForce4 MX相当 ×
PM880 Socket478 PT880 UniChrome Pro ×
SiS761GX Socket940/939/754 SiS756 Mirage1
 


分類 FAQ
デバイス WindowsXPにおけるSerial ATAハードディスクのホットスワップ(20050514)
説明
Serial ATA接続のドライブは、ハード的にはホットスワップに対応しているが、WindowsXP側の対応が完全ではない(完全対応はLonghorn以降)。しかし、WindowsXPでも特定の条件下に置いて、電源を入れたまま抜き差しをすることは可能である。

1.ICH6Rの場合

ホットスワップ対応の状況は、チップセットによっても異なる。例えば、Intel915/925搭載機で抜き差しを行う場合は、Enhanced AHCIモードで動作させる必要がある。このEnhanced AHCIモードではICH6Rにのみ用意されているモードであるので、「R」がつかないICH6搭載機では正常な抜き差しは望めない。

ICH6RがEnhancedモードで動作している場合、WindowsXPが動作している状態でSerialATAハードディスクの抜き差しが可能である。しかし、ユーザが行った抜き差しの操作をOSが認識することはない。そこで下記のようにユーザが手動でフォローしてやる必要がある。

 装着手順:
 @SerialATAドライブの電源を入れてから、信号ケーブルをSerial ATAポートに接続する。この時点ではまだドライブが認識されない。
 Aデバイスマネージャを起動して、適当なデバイスを右クリック→「ハードウェア変更のスキャン」を選択する。
 Bデバイスのスキャンが開始される。装着したドライブが認識されると、デバイスマネージャの「ディスクドライブ」の項目に追加される。

 
取り外し手順:
 SerialATAドライブを取り外す場合は、いきなり信号ケーブルや電源ケーブルを外さないように注意する。上記装着手順でSerialATAドライブが認識されても、USBや
 IEEE1394機器のように「安全なデバイスの取り外し」アイコンは表示されない。下記の手順により取り外しを行う

 @デバイスマネージャを起動する。
 A「ディスクドライブ」を開く。
 B対象の取り外すドライブを右クリックして、ショートカット・メニューから「削除」の順に選択する
 C確認メッセージが表示されるので、「OK」ボタンを押下。

 以上で、デバイスマネージャの「ディスク ドライブ」から対象のドライブが消えるので、信号ケーブルと電源ケーブルを取り外す。


2.nForce4/3の場合

nForce4/3シリーズを搭載したマシンでは、SerialATAハードディスクが接続された状態でWindowsXPを起動すると、タスクトレイに「安全なデバイスの取り外し」アイコンが表示される(nVIDIA IDEドライバをインストールした場合)。この場合、SeiralATAハードディスクはリムーバブル・ドライブとして認識されており、このアイコンから操作することで、USBやIEEE1394機器と同様に
取り外し/再接続ができる。

ただし、残念ながら起動時に接続されていなかったSerialATAハードディスクに関しては、WindowsXP起動後に接続しても認識されない。あくまで起動時に接続されていたドライブの脱付が可能というだけである。 
 


分類 FAQ
デバイス PFU製小型サーバ「AR1000 model1500」でスピンドルレス・サーバを構築する(20050130)
説明
PFU製小型サーバAR1000シリーズ モデル1500はコンパクトさと高耐久性(温度/振動)を売りにする企業向けサーバである。ARシリーズには「AR1000」の他、「AR2000」「AR3000」「AR8000」があり、そのうち「AR1000」「AR2000」シリーズが小型サーバ製品となっている。モデル1500では、使用するOSや用途にあったサイズのメモリを選択したり、HDDの追加を指定したりすることができる(デフォルトでは光学ドライブ、HDDは搭載していない)。

 ・株式会社PFU エンベデッドコンピュータ「ARシリーズ」
 ・
ぷらっとホーム -FACTORY -SERVER -高耐久性サーバ ToughPM/AR2500・ToughP3/AR1500

  
AR1000シリーズ モデル1500 PD-KGP393FJ 基本スペック
  CPU:超低電圧版933NHz/PentiumV
  HDD:- (オプション)
  メモリ:SO-DIMM 256MB/133MHz(最大512MB)
  ネットワーク:10Base-T/100Base-TX ×1
  価格:20万円前後

本製品では、超低電圧とはいえ高性能なPentiumVを搭載している都合上、ケース・ファンが取り付けられており、取り外す訳にはいかない。しかし、HDDについてはコンパクトフラッシュ(以下CF)による代替が可能となっている。

コンパクトフラッシュからブートさせる
1.本体カバーを開ける。IDEコネクタ横のジャンパ・ピンがディスク起動設定用スイッチになっており(
[1-2]IDE [2-3]CF)、2,3番のジャンパ・ピンにプラグを差し込む。
2.本体カバーを取り付ける。本体左側面にCFカードスロットが1つ搭載されており、金属製のフタを取り外してCFを装着する。
3.マシンの電源を投入すると、CFがIDEプライマリ・マスタとして認識される。

OSを導入するには、前面についているUSB1.1ポート2つ、背面についているUSB2.0ポート1つのうち、前面のUSB1.1ポートにUSB接続のCD-ROMドライブを取り付けて行う
(当製品のUSB2.0ポートは、OSのインストール時には使用できない。 
参考USB1.1の転送速度:12Mビット/秒、USB2.0の転送速度:480Mビット/秒

●その他おすすめ小型PC

1.Ituner Networks Mini-Box M100
  幅20cm x 奥行き22cm x 高さ4.4cmの、Mini-ITXマザーボード採用小型PC。注目すべきポイントは、CFからの起動を前提としている点と、フロントパネル上に液晶
  ディスプレイとボタン・スイッチから構成されるインターフェースが搭載されている点の2項。当インターフェースを使用することで、設定の変更を容易に行うことができる。
2.イーレッツ株式会社 BeSilentシリーズ
  省エネ・省スペース・低騒音の小型静音PC。Sv10では幅16.8cm、奥行き16cmとピンポン球4個分の超小型筐体を採用する。


分類 FAQ
CPU 64ビット・コンピューティング(20050105)
説明
1.IA-32の恩恵

インテル製サーバPC(IAサーバ)用の32ビット・プロセッサには、「IA-32」と呼ばれる共通のアーキテクチャが採用されており、そうした一貫性は
、IA-32プロセッサのいくつかの利点に繋がっている。

その1つは、新旧プロセッサ間での互換性が確保され、ソフトウェア資産の継承がスムーズに行われる点にある。またそれは「対応ソフトウェアの
豊富さ」というIA-32プロセッサのメリットを創出している。加えて、IA-32プロセッサはこれまでIAサーバのみならず、一般的なディスクトップPCやノートPCにも標準的に採用されてきた。そのため、大量生産による製造単価の引き下げも進展し、IA-32プロセッサはきわめて高いコスト・パフォーマンスを発揮してきた。

IA-32プロセッサの成功と普及は、インテルの成長へとつながった。ただしその恩恵はインテルのみならず、IA互換のプロセッサを開発・供給する他
のメーカーにももたらされた。とりわけAMDはIA(IA-32)互換の低価格なプロセッサを供給することで、IA市場での存在感を着実に増していった。


2.64ビット化のニーズ


当然のことながらIA-32プロセッサの場合、内部レジスタの演算単位は32ビットであり、メモリのアドレス指定(アドレッシング)も32ビットで行わ
れる。そのため、4GBまでのメモリを同時に扱うことが可能である。

しかし、近年、サーバ・システム上で処理すべきデータ量は増大の一途をたどっている。とりわけ、データベース・サーバなどは大量のデータを物
理メモリ上に配置することで、処理の高速化を実現する仕組みになっている。それ故に、IA-32プロセッサに内在する4GBという「メモリ空間の制約」が性能向上のボトルネックとなるケースも少なくない。

そこで求められるようになったのが、プロセッサの64ビット化である。そのニーズに対応する目的で、インテルは「IA-64」と呼ばれるアーキテクチ
ャを開発した。IA-64は、IA-32における命令セットを基本的に見直し、高性能化を実現した64ビット・アーキテクチャであり、IA-32との互換性は確保されていない。換言すれば、IA-64プロセッサとIA-32プロセッサは、同じインテルの製品でありながらまったく異なるプロセッサなのである。

ちなみに、IA-64プロセッサ「Itanium2」の動作クロックは、同時期の32ビットXeonよりも低い。しかしながらItanium2にはEPICなどの並列処理技術
が採用されているため、1クロック当りでより多くの命令が実行できるようになっている。故に実性能は同時期32ビットXeonよりもItanium2のほうが高い。しかもItanium2は、プロセッサ自体やマザーボード上のデータ・パスが誤動作を発生させた場合にそれを検出し、エラー訂正を行う機構も備えている。つまり、インテルはItanium(IA-64プロセッサ)を、IA-32プロセッサの単なる拡張版ではなく、大型の商用UNIXサーバなどに搭載されている64ビットのRISCプロセッサの代替品として位置づけている。

インテル・アーキテクチャの発展
↑性能 Itanium
(EPIC)[64ビット]
・64ビット・アドレッシング
・バイナリ非互換
・スケーラブルな性能
EM64T対応Xeon[64ビット] ・64ビット・アドレッシング
・バイナリ互換
Pentium4/Xeon
(NetBurst)
・命令トレース・キャッシュ
・8つのレジスタを128にリネーム
・ハイパースレッディング
Pentium Pro
(スーパースカラ)
・命令の依存性を検出
・O-O-Oスケジュールと
 スペキュレーション
・8つのレジスタを40超にリネーム
Pentium
(RISC)
・簡単で固定長の命令
・コンパイラによる命令配置
286/386
(CISC)
・複雑で可変長な命令
・ハードウェアによる
 命令配置
時間 →


3.IA-64のデメリット


もっとも、上述したようなIA-64プロセッサの特性や位置づけは、IAサーバの性能を単純に底上げしたいと考えるユーザにとってあまり歓迎すべきも
のではない。例えば、サーバ・システムの性能を高めるべく、その稼動マシンをIA-32プロセッサからItanium2に切り替えるとすると、マシンのOSをItanium2専用版に変更しなければならない。また、既存の32ビット・アプリケーションをItanium2マシン上でもそのまま使い続けるとすれば、「IA-32EL」というソフトウェア・エミュレータを介して動作させる必要がある。その結果、アプリケーションの動作速度が従来より遅くなってしまう恐れが高まる。つまり、IA-64プロセッサの性能を最大限に引き出すためには、IA-32プロセッサ上で稼動させてきたOSやアプリケーションをすべてIA-64対応のものに変更しなければならず、事実上、過去の資産をそのまま生かすことができなくなる。

加えて前述したとおり、IA-64プロセッサは、プロセッサ自身の性能を向上させたり、システム全体の信頼性を高めたりするために、特殊な機構を備
えている。そのため、IA-32プロセッサよりもはるかに単価が高く、搭載マシンの価格もおのずと割高になる。実際同じようなシステム構成のサーバ・マシンであっても、Xeon搭載モデルの価格は数十万円と設定されているのに対し、Itanium搭載モデルは数百万円へと一気に跳ね上がる。

こうした現状を考え合わせれば、IA-32ベースのサーバ・システムをIA-64ベースへとおいそれと移行させることはできない。別の言い方をすれば、
「ソフトウェア資産の継承性やコストよりもぷらっとフォームの性能向上や64ビット化が優先される」といった特殊な場合を除き、ユーザが、サーバマシンのプロセッサ・アーキテクチャをIA-32からIA-64へと切り替える必然性は乏しい。

そうしたなか、AMDは「AMD64」と呼ばれるアーキテクチャを開発し、同アーキテクチャを採用したサーバ向けプロセッサ「Opteron」を2003年4月に
リリースした。AMD64はIA-32との互換性を確保した64ビット・アーキテクチャであり、AMD64プロセッサ上では、IA-32対応の32ビット・アプリケーションをそのまま実行することができる。故に、32ビット・アプリケーションの動作速度が低下することはない。

もっともOpteronを巡っては、当初「互換プロセッサ・メーカーが独自に開発した64ビット・アーキテクチャを、周囲のソフトウェア・ベンダが積極
的にサポートするとは思えない」といった悲観的な見方も少なからずあった。

しかし、実際はSUSE LINUXやRed Hat Linuxといったディストリビューションがいち早くOpteronの64ビット環境に対応した他、マイクロソフトも
Windows系サーバーOSでOpteronをサポートすると表明した。これにより、Opteronは一躍注目の的となった。

インテルも、このような市場の動きを看過しているわけにはいかず、AMD64同様、IA-32を64ビットに拡張したアーキテクチャ、すなわちEM64TをXeon
に換装すると決断を下した。その帰結として、2004年6月、EM64T対応のXeonが登場した。


4.64ビット拡張の中身


EM64Tの特徴と仕組みを説明する。EM64Tは、既に説明したとおり、IA-32をベースにしたアーキテクチャであり、IA-32の64ビット拡張版と言えるも
のである。ここで言う「64ビット拡張」とは、すなわち「プロセッサがアクセス可能なメモリ容量の拡張」に他ならない。

前述したとおり、IA-32の場合、「仮想メモリの領域は4GBまで」という制約がある。また、物理メモリについてもPSEPAEという仕組みを利用して64GBま
でアクセスすることが可能だが、PAEではリニアなアドレッシングは行えない。そのためIA-32プロセッサは、4GBを超える巨大なデータを直接扱うことができなかったのである。

対するEM64Tでは、汎用レジスタ(EAX,EBX・・・)というプログラム・カウンタが64ビットに拡張され
、4GBを超えるメモリ領域にも直接アクセスすることが可能となっている。ただし、初期のEM64Tでは、仮想メモリ・アドレスが48ビット(256TB)、物理メモリ・アドレスが36ビット(64GB)に制限されており、その点では一定の制約はある。

64ビット対応プロセッサの最大物理メモリ
プロセッサ 最大物理メモリ
Xeon 64GB
XeonMP 1TB(=1024GB)
Itanium2 1PB(=1024TB)

また、先にも触れたとおり、Itanium2などのIA-64プロセッサの場合、サーバ・システムの可用性を高める設計上の配慮が施されており、プロセッサ
のコアとメモリを結ぶデータ・バス上でも、MCA(Machine Check Architecture)やECC(Error Correcting Code)といったエラー・チェック/訂正機能が装備されている。しかし、IA-32の拡張版であるEM64Tには、これらの機能は搭載されていない。

なお、上述したレジスタの64ビット化は、大容量メモリへのアクセス時には有効だが、実のところ、レジスタの64ビット化によって、プロセッサの
演算性能が単純に上がるわけではない。それよりむしろ「レジスタの数」を増やすことのほうが、処理性能の向上には効果的なのである。そのため、EM64Tでは、通常の演算に用いられる汎用レジスタ(EAX,EBX・・・)と、浮動小数点の並列演算に用いられるSSEレジスタの双方が、従来の(=IA-32の)8個から、その倍の16個に拡張されている。

EM64Tで拡張されたレジスタ
AAASSEレジスタAAA AAA AAA汎用レジスタAAA AAA AAAプログラム・カウンタAAA
A 32ビット 32ビット
XMM0 RAX EAX RIP EIP
XMM1 RBX EBX
XMM2 RCX ECX 64ビット
XMM3 RDX EDX
XMM4 RBP EBP
XMM5 RSI ESI
XMM6 RDI EDI
XMM7 RSP ESP
XMM8 R6
XMM9 R8
既存レジスタ
拡張・追加レジスタ

* RAX〜RSPとRIPは
64ビット幅で、下位
32ビットは既存レジスタ
と共用。
XMM14 R14
XMM15 R15
  A
128ビット 64ビット
・拡張された命令セット
EM64TのIA-32eモード(64ビット・モード)で利用する命令セットは、IA-32命令セットを拡張したものである。IA-32に比べ、SWAPGS、SYSCALL、SYSRET、CDQE、CMPSQ、CMPXCHG16B、LODSQ、MOVSQ、MOVZX、STOSQという9個の命令が新たに追加されている。IA-32の命令セットは、「プリフィックス」「オペコード」「Mod/R/M」「SIB」「ディスプレースメント」「イミディエート」の順で構成されているが、IA-32eモードはオペコードの前にREXというプリフィックスを追加する。命令の内容を示すオペコード自体はIA-32とIA-32eで同じだが、レジスタやアドレッシング方法を示す「ModR/M」の解釈は異なっている。そのため、EM64Tの拡張レジスタの使用とオペランドサイズを指定するために「REX」を追加する。例えば、「JMP r/m32(32ビットのレジスタ/メモリ参照)」という命令は、IA-32では、「オペコード」+「Mod/R/M」+「ディスプレースメント」で構成されるが、IA-32eでは「JMP rel32(32ビットのディスプレースメント)」となり、「オペコード」の前に「REX」が付加され、追加されたレジスタの利用を可能とする。64ビットモードではEIP(命令ポインタ)を64ビットに拡張した64ビット命令カウンタ(RIP)を使用する。Mod/R/Mを使用する命令はすべてRIPからの相対アドレッシングが可能で、符号つき32ビット・ディスプレースメントを使用してRIPへのメモリ相対アドレスを許す。なお、「JMP rel8(8ビット・イミディエート相対)」のようなレジスタを使用しない命令では、IA-32とIA-32eで同じ命令セットとなる。

・幅と個数が拡張されたEM64Tレジスタ
機能面では汎用レジスタが64ビット長に拡張され、さらに8個の汎用レジスタが追加された。また、SSE、SSE2、SSE3命令が使用する128ビットのXMMレジスタも、新たに8個追加され、16個になっている。拡張された64ビット長の汎用レジスタ名は、RAXやRBXのように、既存の32ビット・レジスタ(EAXやEBXなど)の接頭子"E"を"R"に置き換えたものになっている。追加された8個の汎用レジスタは、R8からR15という名称で利用できる。IA-32では、実行コードはコード・セグメント(CS)、データはデータセグメント(DS)、スタックはスタック・セグメント(SS)と、それぞれのセグメント・レジスタが格納先を示す。EM64TのレガシーモードとIA32eの互換モードでは、これらのレジスタを使用した同じセグメンテーションとなる。しかし、IA-32eモードでは、IA-32で利用していたセグメンテーションは無効になり、完全にフラットなアドレス空間を構成する。セグメント・レジスタはFSとGSのみが使用され、その他のセグメント・レジスタのベース・アドレスやリミット値は無視される(属性ビットなど一部は利用される)。

これによってEM64Tでは、コンパイラによる「変数のレジスタ割り当ての最適化」が有効に機能す
るようになり、高速実行が可能なコードが生成されるようになっている。


5.「ロングモード(IA-32e)」と「レガシーモード」


EM64Tには、「ロングモード(IA-32e)」と「レガシーモード」
の2つの動作モードがある。これらの動作モードはお互いに排他的(同時に動作させることはできない)であり、それはちょうどIA-32の「プロテクトモード」と「シリアルモード」の関係に似ている。

EM64Tの
レガシーモードでは、EM64TプロセッサをIA-32プロセッサとして動作させるためのモードである。当然、このモードでは、EM64Tの64ビット拡張機能は一切利用できない。ただし、その代わりにIA-32に対応した32ビットOSやアプリケーションをそのまま動作させることができる。それに対し、ロングモードは、EM64Tのネイティブな動作モードである。ロングモードでは「64ビット・モード」と「互換モード」という2つのサブモードを使い分けることが可能であり、このうち64ビット・モードにおいては、レジスタやアドレッシングが64ビットに拡張される。つまり、64ビット・モードでは、EM64Tの64ビット拡張機能をフルに利用できるのである。対する互換モードでは、IA-32と同様に64ビット拡張の機能は利用できず、同モード下のEM64TプロセッサはIA-32プロセッサとして機能することになる。

言うまでもなく、EM64Tのロングモードを使用するには、その上で稼動させるOS(デバイス・ドライバも含む)としてEM64T専用のものを用意しな
ければならない。ただし、ロングモードでは、動作させるアプリケーションの特性(つまり32ビットか64ビットか)によって、64ビット・モードと互換モードの切り替えを自動的に行えるようになっている。つまり、ロングモード下のEM64Tプロセッサでは、64ビットと32ビットのアプリケーションを混在させておき、64ビット・アプリケーションについては64ビットモードで動作させ、32ビット・アプリケーションは互換モードで実行させることが可能なのである。しかも、互換モードはEM64Tプロセッサのネイティブなサブモードの1つであり、ソフトウェア・エミュレータによって32ビット・アプリケーションを動作させる仕組みではない。そのため、32ビット・。アプリケーションの実行速度が低する心配もない。

さらにEM64Tは、Pentium4から搭載されている並列処理技術「ハイパー・スレッディング」もサポートしている。これにより、ロングモードで動作す
るEM64Tプロセッサは、OSに対してあたかも複数の64ビット・プロセッサであるかのように振舞う。より端的に言えば、EM64Tプロセッサは物理的に単一であっても2つのプロセッサとして仮想的に動作する仕組みを備えているのである。また、2つの仮想プロセッサの上で64ビット・モードと互換モードのスレッドを混在させることもできる。

以下にEM64Tの各動作モード概要を以下にまとめる。

モード名 ロングモード レガシーモード
サブモード 64ビットモード 互換モード IA-32と同じ
OSの64ビット版 必要 必要 不要
アプリケーションの64ビット版 必要 不要 不要
アドレッシング 64ビット 32ビット 最大32ビット
レジスタ拡張 あり なし なし


6.AMD64との互換性


EM64Tには、もう1つ注目すべき特徴がある。それは、AMD64とのバイナリ互換がほぼ確立されている点である。先の記述からもわかるとおり、IA-32
互換の64ビット・アーキテクチャの開発とリリースでは、AMDがインテルを先行する格好となった。とはいえ、IA-32プロセッサの市場では、インテル純正品のほうが、、AMD互換プロセッサよりも圧倒的にシェアが高い。そう考えれば、たとえ後発であっても、インテルのEM64TがAMD64に対する市場でも優位を確立するのは時間の問題であった。故に、インテルとしてみれば、競合であるAMD64と自社アーキテクチャとの互換性をあえて確保する必要はなく、逆にそうしなかったほうが、ビジネス戦略上有利に事が運べたはずである。

にも関わらず、インテルがEM64TとAMD64との互換性の確保に踏み切った背景には、OSベンダーからの強い要望があったからとされている。しかし、
その背景はどうであれ、インテルの英断によって、EM64TとAMD64の双方に対応した64ビット・アプリケーション/OSの開発が行いやすくなったのは事実である。それは、OS/アプリケーション・ベンダにとって歓迎すべきことである。

もちろん、上で「ほぼ」と触れたとおり、EM64TとAMD64との間には、非互換部分も存在する。例えば、前出のハイパースレッディングはインテル独
自の技術であるため、AMD64プロセッサ(Opteron)には搭載されていない。そのためインテルは、EM64Tに対応した自社コンパイラの生成コードについて、AMD64上での動作保証を行っていない。またEM64Tでは、複数の浮動小数点演算を高速に処理する命令の方式として、「SSE3命令」及び「SIMD命令」がサポートされている。両者はともに動画のエンコードのようなマルチメディア処理において威力を発揮するものだが、実はこれらの命令も、AMD64には存在していないのである。

とは言え、これらの非互換部分は、全体から見ればごくわずかな違いでしかない。こうした差異は、ソフトウェア間でプロセッサ種別を検出して処
理を分けたり、代替命令を利用したりすることで吸収できるのである。


7.EM64Tの能力が生きる領域


以上、EM64Tの仕組みと特徴を様々な角度で見てきた。ではこうした特徴をもつEM64Tに対応したプロセッサ(または、それを搭載したサーバ・マシ
ン)は、どのような用途に適しているのであろうか。

まず、EM64Tプロセッサの用途であるが、その特性から見て、ミッドレンジないし、ローエンドのデータベース・サーバを強化するのに最適であると
思われる。前述したとおり、データベース・サーバの処理能力を向上させる上では、64ビット・プロセッサを用いて、IA-32プロセッサにあるメモリ空間の制約を取り払うのは実に有効である。無論大規模なデータベース・サーバには、信頼と性能に優れたIA-64プロセッサを適用したほうが賢明である。だが、中規模ないし小規模データベース・サーバであれば、EM64Tによる64ビット化で十分な性能の向上が見込める。

しかも、EM64Tプロセッサは、32ビット・アプリケーションも高速に動作させることができる。したがって、データベース・サーバのみを64ビット対
応とし、その他サーバ・アプリケーションや運用管理ソフトなどについては、従来どおり32ビット版をそのまま使い続けることもできる。換言すれば、既存のソフトウェア資産を有効に活用して、データベース・サーバの64ビット化に向けた初期コストを最小限に抑えることが可能になるのである。

64ビットベースのシステム比較
プラットフォーム EM64T搭載Xeonベース Itanium2ベース 補足
パフォーマンス 32ビット・アプリケーションの
パフォーマンスを向上。段階的に
64ビット環境に移行可能
ハイエンドの64ビット・アプリケーションの
パフォーマンスで真価。32ビット・
アプリケーションも動作可能
Itaniumアーキテクチャのほうが一般的に
30〜50%高いパフォーマンスを提供。主に
大量の浮動小数点を使う処理や基幹業務で
のデータ処理で効果を発揮
拡張性 16ウェイまで 512ウェイまで 大規模なSMP構成になるほどItaniumのほうが
高性能(4ウェイで約35%、32ウェイで約140%
高速)
メモリー・アドレス空間 最大1Tバイト 最大1Pバイト -
信頼性/可用性/保守性(RAS) メモリー・スペアリング、Chipkillメモリ
、エラー修正などをオンチップで実現
改良型マシン・チェック・アーキテクチャ
(MCA)などの高信頼性機能をオンチップ
で追加(次世代版ではPellston技術をサポート)
Itaniumアーキテクチャのほうがより高度な
信頼性/可用性/保守性を提供する
用途 幅広い処理向けにバランスを
重視した分野で利用
大規模なSMP構成を使った高パフォーマンス
向けの分野で利用
Itaniumアーキテクチャはハイエンドの
基幹業務におけるデータ処理を対象に採用
される傾向がある


8.64ビット・アプリケーション開発環境


64ビット用の開発環境は、MicrosoftのWindows Platform Software Development Kit(PSDK)とDriver Development Kit(DDK)に含まれている。Visual Studio .NET 2003にはIPFやEM64T対応の64ビット・コンパイラと関連ツールは含まれていないが、2005年発売のVisual Studio 2005には64ビット向けのコンパイラも含まれる。

PSDKとDDKに含まれる64ビット・ツールは統合開発環境を備えていない。PSDKやDDKのインストール時に、環境変数などが定義したコマンド・プロンプトのアイコンがWindowsのスタート・メニューに追加されるので、これを利用してコンパイラなどのツールを起動する。また、手動でVisual Studioにビルトインすれば、開発環境としてVisual Studioが利用可能となる。

インテルもIPFとEM64T対応Xeon向けに、「
インテル・コンパイラ」、ホットスポットを認識する「VTuneアナライザ」、最適化した専門的な関数を利用する「パフォーマンス・ライブラリ」、マルチスレッド・アプリケーションを開発・管理する「スレッド化ツール」(EM64T版のみ)といったツール群を提供している。

最新のWindows版インテル・コンパイラには、IPF版とEM64T版のC/C++コンパイラV8.1が1つのパッケージに収められている。マイクロソフトのVisual Studioにプラグインして統合開発環境で利用できるほか、Visual C++とソース・コード互換で再コンパイルするだけで最適化した実行コードを生成する。

開発した64ビット・アプリケーションのチューニングには、VTuneパフォーマンス・アナライザとスレッド化ツールが有効である。VTuneはコード内の性能上のボトルネックを洗い出し、スレッド化ツールはスレッディングにおける問題点を探り出す。


9.32ビットアプリケーションの移植

64ビットWindowsシステムの導入に際し、既存の32ビット・システムで運用中のアプリケーションの現状を見極めることが重要となる。その流れとしては、@現在のシステムの分析、A64ビットWindowsの調査、B調査内容の判定(現在の問題をどのように解決するか)、C特定アプリケーションの調査(互換性など)、Dコストの削り出し となる。

その結果、アプリケーションを64ビットに移行することが決定したら、次は64ビットWindows上でIPFやEM64T対応Xeonの性能を最大限に引き出すために、ソフトウェア開発者の労力が必要になる。

現在の32ビット・アプリケーションのパフォーマンス・クリティカルな部分を64ビットのネイティブ・コードに移植する作業が発生する。32ビット・デバイス・ドライバは64ビットWindows上で動かないため、デバイス・ドライバに関しては64ビットへの移植が必須となる。

また、64ビット化に際し、既存のアプリケーションで採用しているメモリー利用モデルのデザイン変更が必要となる場合がある。ほとんどの32ビットのデータベース・システムでは、AWEを利用しない場合、メモリー・スワップを避けるためにオン・メモリーで処理するデータを2Gバイトから3Gバイト以下に制限している。また、CADや3Dモデリング処理でも、オン・メモリーで処理するためにパーツに分割するなど、処理単位を小さく分けている。64ビット化の際には処理性能を高めるために、このような足かせを取りさらい、すべてを一括してオン・メモリーで扱うよう設定を変更する必要がある。

それ以外に、既存のIA-32アプリケーションを64ビット環境に移植する際の注意として、以下表に挙げた点がある。Visual C++やインテル・コンパイラで「/Wp64」オプションを指定して実行すると、移植時のデータ型の違いや言語上の問題をコンパイラに検出させることができる。

IA-32アプリケーションを64ビット環境に移植する場合の注意点
注意点 内容と対策
インライン・アセンブラは使用できない 64ビット対応コンパイラでは、IPFとEM64T対応のどちらもC/C++ソース・コード中にインライン・アセンブリの記述を許可しない。IA-32環境でインライン・アセンブリで記述してあるコードはC/C++言語で書き換えるか、サブルーチンとして別ファイルにしてからリンクする。
プロセッサ固有機能の使用に注意する IPFとEM64T対応Xeonでソース・コードを共有する場合、プロセッサ固有のイントリンジック(アセンブラに代わる組み込み関数)命令を極力使わない。使わざるをえない場合は、#ifdefなどでプラットフォームごとに切り分ける
浮動小数点データの精度が異なる IA-32環境では、float型やdouble型の浮動小数点データはx87(FPU)命令を使って80ビットのFPレジスタで演算される。これに対して、EM64TではSSE命令MMXレジスタが使用され、IPFでは浮動小数点命令と82ビットのFPレジスタが使用される。これが原因で、わずかに精度が異なる

開発者にとって32ビットから64ビットへの世界への移行には多少の困難を伴うが、塾考のもとに移植された資源は今後強力な武器となる。移植作業の手順や手法が一般的になるまでは時間を要するが、移植する際の問題のほとんどはIPF版とEM64T対応Xeon版の両方のWindowsに共通である。少なくともどちらかのプロセッサで対応しておけば、アプリケーション・レベルでのアーキテクチャの切り替えは比較的容易である。
 


分類 FAQ
グラフィックボード GDDR3の性能(20040830)
説明
多くのグラフィックボードメーカーが採用しているグラフィックメモリーGDDRは、従来のDDRメモリーと異なりグラフィックボード専用に設計され、高クロックで低発熱が特徴である。

  GDDR GDDR3
動作クロック 350〜400MHz 500〜800MHz
転送レート DDR700〜800相当 DDR1000〜1600相当
コア電圧 2.5V 1.8V


cf)高解像度のアンチエイリアシング環境では、動作クロックよりピクセルパイプの数値が最も威力を発揮する。
  低価格版RADEON 9800 RADEON 9600XT RADEON 9600PRO
コアクロック 380MHz 500MHz 400MHz
メモリークロック 300MHz 300MHz 300MHz
メモリーインターフェース 128bit 128bit 128bit
メモリー容量 128MB 128MB 128MB
pixel pipe-line 8 4 4
vertex shader 3 2 2
性能比(例) 1.19 1.15 1



分類 FAQ
冷却装置 CPUクーラーの冷却(20040827)(更新:20040912)
説明
CPUクーラーは大別すると、「ファンモーター部」「ヒートシンク部」「TIM:Thermal Interface Material、熱伝導材」の3つの部品で構成される。CPUの発熱はTIMを介してヒートシンクに伝わる。ヒートシンク材は熱伝導性に優れた材料(アルミニウム or 銅)を使用し、CPUから伝わった熱をヒートシンク全体に拡散させる。

さらにヒートシンク表面積を極力大きくして放熱効果が得られるようにフィンを設けている。このフィンに向かって強制的に風を送るために「ファンモーター」を組み合わせる。この「ファンモーター」「ヒートシンク」「TIM」に関連する指標が熱抵抗、熱伝導率、風量などである。

熱抵抗(K/W、℃/W)

CPUクーラーの冷却性能を表す指標として用いるのが「熱抵抗」である。使用する単位は「K(ケルビン)/W(ワット) ℃/Wで表示する場合もあり)」で、1W当たりの発熱量に対して、CPU温度上昇を何度(℃)に抑えられるかを表している。従って、熱抵抗値が小さいほど、冷却性能が高いことを意味している。例えば熱抵抗が「0.3K/W」のCPUクーラーを発熱量100WのCPUに使用した場合、CPUの表面温度上昇は、周囲温度に対して、0.3K/W×100W=30℃の温度上昇に抑えられる。

 CPUクーラーと熱抵抗の求め方
 Ta:CPUクーラーの吸い込む空気の温度(℃)
 Tc:CPUのヒートスプレッダー表面温度(℃)
 P:CPUの発熱量(W)
 熱抵抗 Rth=(Tc-Ta)/P (K/W)

 シリコングリス(TIM)まで含めた、CPUクーラーの熱抵抗
 Rc-s:TIMの熱抵抗
 Rs-a:(ファン+ヒートシンク)の熱抵抗
 熱抵抗 Rth=Rc-a=Rc-s + Rs-a(K/W)

 TIMの熱抵抗の求め方
 λ:TIMの熱伝導率(W/m・K)
 A:TIMの接触面積(u)
 б:TIMの厚さ(m)
 TIMの熱抵抗 Rc-s:б/(λ×A)(K/W)

逆に、対象CPUを冷却するのに必要となるCPUクーラーの性能は以下のように計算できる。例えばPentium4(3.2GHz)の場合、Intelが提供するデータシートによると、TDP(Thermal Design Power、CPUの最大発熱量を示す)は103Wで、CPUの最大許容表面温度Tcmax(ティーケースマックス):
CPU上部のヒートスプレッター表面中心の温度)が73℃となっている。PC動作時のCPUクーラー周囲温度Ta(ティーアンビエント:筐体内の温度上昇を含む)が38℃であるとすると、CPUを冷却するのに必要な冷却性能すなわち熱抵抗は(73-38)/103=約0.34K/Wとなり、この値以下の熱抵抗値を持つCPUクーラーが必要になる。なお、この値は
CPUクーラーだけでなく、TIMも含めた性能になる点に注意が必要である。

市販CPUクーラーの多くは、パッケージなどに適用CPUの動作周波数などを表示している。だが、PC筐体内の温度上昇を含めた周囲温度が何℃になるか(先述のPentium4 3.2E GHzの場合は、Intel推奨で38℃以下)によっては、冷却性能が充分でない場合もありうる。熱抵抗を決定する式から分かるとおり、使用するCPUが決まると、ユーザー側で変化させる可能性がある要素は、周囲温度を含めた筐体内の空気の温度だけとなる。この
周囲温度を低くすれば、CPUクーラーの要求冷却性能が緩和され、CPUクーラーの選択肢が広がることになる。また、周囲温度が低ければ、CPUクーラーに搭載しているファンの回転数を低く抑えることができるため、低騒音化が可能になる。

熱伝導率(W/m・K)

TIMやヒートシンクの熱が伝わりやすさを示す指標が「熱伝導率」である。「熱伝導率」は物質固有の値で、その物質内の熱の伝わりやすさを示す。使用する値は「W/m・K(ワット/メーター・ケルビン)」で値が大きいほど熱を伝えやすい。「熱伝導率」に伝熱断面積をかけて、長さ(厚さ)で割ると「熱の伝わりやすさ」の逆数が熱抵抗なので、例えばTIMの場合は「熱伝導率」が大きい物質を「薄く」塗ることで小さな熱抵抗を得られる。

風量(立方メートル/分)

ファンの役割は「風を送ること」にあり、通常は「風量」が多いほど、冷却に効果を発揮する。風量を表す単位は、一般に単位時間当たりに送られる空気の体積を用いる。例えば「最大風量1.5立方メートル/分」と表示する。一部製品には、「CFM」と表示するものがあるが、これも風量を表す単位で「Cubic Feet per Minute(1分あたりの立方フィート)」の略である。例えば、先ほどの「最大風量1.5立方メートル/分」をCFMに換算すると、1CFM=0.0283立方メートル/分であることから、1.5/0.0283=約53CFMとなる。

ファンを選定する際、風量を確認して選ぶことになるが、この時注意したいのが、「表示の風量で必ずしもファンが動作するわけではない」ことである。カタログに表示されている「風量」は「最大風量」を示しており、これはファンが筐体などに組み込まれていない状態を想定したものである。ファンがヒートシンクと組み合わされたり、PCの筐体に組み込まれたりする場合など、ファンには「負荷(システムインピーダンス)」がかかる。つまり、ヒートシンクやPC筐体によって通風が邪魔されるため、風量が低下する。その低下量はヒートシンクやPC筐体の状態によって変化する。


静圧(Pa) システムインピーダンス
ファン風量特性
風量(立方メートル/分)
実際にファンが動作する際の風量は、この交点になる。

 風量が多いほうが冷却には効果的だが、カタログ上の最大風量だけでは冷却性能を判断できない。カタログの数値はファンが筐体などに
 組み込まれていない状態での風量を示している。組み合わせるヒートシンクや取り付けるケースなどによってファンには
 「負荷」(システムインピーダンス)がかかり、これによって風量は低下する。実際に得られる風量はシステムインピーダンスとファン風量特性
 の交点となるなお、静圧とはケース内圧力を指し、静圧が高いファンのほうが風量を得られる。

CPUクーラーのパッケージに、熱抵抗値などどあわせてファンの風量を併記する製品があるが、、この風量も「ファン単体」の性能を示しているにすぎない。ヒートシンクなどの「負荷」による風量低下を考慮した値ではない。

また、「静音ファン」として販売されている製品は、ファン回転速度を低く抑えられているものが多いが、それに伴い風量も少なくなっている。実際の風量はパッケージに表示された風量(最大風量)よりもさらに少なくなるため、やみくもに「静音」仕様にすると、騒音は下がっても冷却不足になる可能性がある。基本的に静音と冷却性能はトレードオフの関係にあることを充分考慮すべきである。

静圧(Pa)
CPUクーラーの指標の中で冷却に寄与するのは「風量」であるが、この「風量」を決定するのに大きく関係するのが「静圧」である。静圧を表す単位は、圧力を表す単位「Pa(パスカル)」を用いる。1Pa=1N/u(ニュートン/平方メートル。1ニュートンは1kgの物体に1m/s
2の加速度を生じさせる力の大きさ)。

例えば、風を箱の内部に押し込むような向きにファンを取り付けたとする。箱に開口部が全くなければ、箱内部の圧力は箱の周辺よりも高くなる。このときの箱の内部圧力が「静圧(最大静圧)」となる。この箱に開口部を設けることで通風が得られるが、そのときの内部の圧力(静圧)分が通風を防いでいることになる。この内部圧力分を圧力損失と呼ぶ。つまり、圧力損失が大きいと通風量が低下する。

そのため、PCケースを変更せずに通風量を増やすには
「静圧特性に優れたファン」を使用する必要がある。ここで「静圧特性が優れたファン」とは同一筐体に組み付けたとき、ケース内圧力(静圧)がより高くなるファンを指す。一般に「風量」が大きいファンは「静圧特性」も優れているため、結果として通風量が増えることになる。同一のファンを使用する場合は、ファンの回転速度を上げることで風量-静圧特性がアップし、通風量を増やせる。逆に、筐体の開口部の面積を大きくすることで、ファンにかかる負荷(システムインピーダンス)を小さく出来る。この結果、圧力損失が低下して、同一ファンを使用した場合でも、通風量は増加する。

なお、使用するファンの数を増やして、ファントータルでの風量-静圧特性を向上させ、通風量をアップさせることも可能であり。このとき問題になるのは「並列運転」と「直列運転」のどちらを選ぶかである。同一のファンの場合、例えば2台並列運転すると、得られる風量-静圧特性は1台の特性を風量方向に2倍にしたような特性になる。2台直列運転した場合には、1台の特性を静圧方向に2倍にしたような特性になる。従って、筐体のシステムインピーダンスが比較的小さい(圧力損失が小さい)場合は「並列運転」を選択し、圧力損失が大きい場合には「直列運転」のほうが効果的に通風量を増やすことができる。ファンを複数台使用するよりも、例えば大型ファン1台を使用した方が、取り付けスペースや騒音などの点から有効な場合もある。どの手法で通風量を増やすかを見極めることが大事になる。

音圧レベル(dB[A])
ファンの騒音は「音圧」レベルを表すのが一般的である。単位は「dB[A](デシベルエイ)」で表す。「dB(デシベル)」とは、基準となる音の大きさに対する比を常用対数で表している。音は媒質(ファンの場合は空気)中の圧力変動として定義され、その大きさは圧力「Pa(パスカル)」で表せる。騒音の場合、人間の耳が検知できることがポイントになるため、一般に人の耳が空気中で検知検知できるとされる最小の圧力Po(=20uPa、マイクロパスカル)を基準とする。さらに、人間の耳は可聴域(聴き取ることができる周波数の範囲で、一般的に20Hz〜20kHz)の中でも敏感に聴き取ることが出来る周波数と聴き取りにくい周波数がある。従って、人の耳の聴こえ方に近い補正(A特性の重み付け)をした数値であることを表すため、単位の後ろに[A]をつける。

測定音圧にA特性の重みを付けた音圧をpAとすると、音圧レベルは以下の式で計算できる。

JIS B8346規格に準拠した音圧レベルの測定方法:
ファンの吸い込み方向1mの位置にマイクを置いて測定する。CPUクーラーの場合、メーカーによっては、ヒートシンクを装着せずにファン単位で測定した結果を記載している場合もあるので、単純な比較ができない点に注意が必要である。

基準音圧Po:20uPa(Pa:パスカル)  (1Pa=1N/u、Nはニュートン)
Pa:A特性の重み付けした測定音圧(Pa)

音圧レベル=20log10(Pa/Po)(dB[A])


実際は、騒音計を用いて測定し、騒音計の中で当計算が実行されるため、騒音値は「dB[A]」として直読できる。PC関連に使用するサイズのファンの場合、「JIS B8346」規格に従い、マイクロフォン位置はファン吸い込み側から1mの距離にセットして測定するのが標準になっている。

CPUクーラーの場合、メーカーによっては、ヒートシンクを付けた状態の騒音を表示するものもあれば、ファン単品での騒音値を記載する場合もある。そのため単純な比較はできない。また、実際にPCに組み込むことで騒音は変化する。騒音評価の際は、カタログ値はあくまでも目安と考え、実際に組み込んで評価する必要がある。

また、ファンモーターの回転速度と音圧レベルは、理論的には以下の関係がある。同一ファンで、回転速度がN1(min-1、min-1は1分間あたりの回転数)のときの音圧レベルがS1(dB[A])とすると、回転速度がN2(min-1)のときの音圧レベルS2(dB[A])は、S2=S1+50log10(N2/N1)で表せる。この式は、ファンによって起こる空気の流体騒音にあてはまる。ファンの回転速度を変化させたときの騒音変化を、ある程度推定するのにこの式が利用できる。この式からすると、ファンの回転速度を半減させると約15dB[A]の騒音低減が見込まれることになる。

最近のCPUクーラーは、筐体内部の温度に応じてファン回転数を変化させる「温度可変速ファン」を採用している。冷却性能に余裕がある低温時はファン回転速度を低くして騒音を下げ、機器動作により筐体内部の温度が高くなるに応じて、ファン回転速度を上げて冷却する。

さらに最近の傾向は、PCを静音化するために、温度可変速機能だけではなく、マザーボード側できめ細かくファンの回転速度を制御する機能を併せ持つ製品も登場している。筐体内部の温度が高温になっても、CPUの発熱が少ない場合は、ファンの回転数を抑えて騒音を低減させる。このように「静音」を意識したCPUクーラーは「高冷却性能」と「静音」の両方を図っている。
 


分類 FAQ
ストレージ - RAID 915/925プラットフォームにおけるRAIDの設定(20040826)
説明
Intel915プラットフォームでは、RAID機能を使うかどうかで、インストール手順が変わってくる。なお、RAIDを一切使わない、もしくはRAID機能のないICH6無印なら、インストールの流れは今までと変わらない。


1.手持ちのセットアップCD-ROMの確認
SP1以上でない場合、インストール時に137GBまでしか認識されない(参考:Big Drive)。インストールが済んでからSP1を適用すればいいが、起動用に137GBより大きなパーティションを確保したい場合は、SP1適用済みCDを作っておく。

2.RAIDを使用する形態を整理する
以下の手順1〜4のどれに該当するか整理する。


手順1
RAIDを使わない
手順2
後からRAID
手順3
初めからRAID
手順4
Matrix Storage
BIOSでRAIDを有効にする
RAID0、1の設定 Matrix RAID設定
WindowsXPセットアップCDを実行
RAID用ドライバーフロッピーの読み込み
パーティション確保
OSインストール
OSパッチ適用
ドライバーインストール
終了 終了 終了
HDDの追加
マイグレーション
終了

RAIDでは、2つ以上のHDDを同時に使用して「ボリューム」と呼ぶ論理的なドライブを作成する。「RAID0」は、データを分散して書き込むことで処理速度を上げる。ボリューム容量はHDDを合わせた分だけ増える。「RAID1」は、2つのHDDに同じデータを書き込む。1台が故障してもデータは保護されるが、HDD2台で1台分の容量にしかならない。MatrixRAIDでは、2つのHDDにRAID0とRAID1を混在させられる。ICH6R、ICH6RWだけの機能である。

物理的なHDD 論理的なボリューム(OSからはHDDに見える)
ストライピング(RAID0) ミラーリング(RAID1) Matrix Storage Technology
SerialATA ポート0
160GB HDD
-> 320GB 160GB 160GB - 80GB
SerialATA ポート1
160GB HDD
2台のデータを
同一に保つ
RAID0と1を同時に使う
2台を分散して書き込む

3.BIOSでRAID機能を有効にする

BIOSのHDD設定にて、「Enhanced」-「RAID」(AHCIの状態で接続したうえで、SerialATAのRAIDを構成)に設定しておく。RAID機能無効のままOSをインストールして、後から気づいて有効にしてもOSは起動しなくなってしまう。

また、AHCIの利用には、MaxtorのMaXLineVなどの対応HDDが必要となる。RAIDを使う場合でも、RAIDは使わなくとも取りあえずAHCIは有効にしておきたい場合でも、OSインストール時にフロッピーからドライバーを読み込ませる必要がある。

4.RAID BIOSを使用して、RAIDボリュームを構成する

RAIDを利用する手順3,4の場合は、RAIDコントローラーBIOSにて、RAIDボリュームを設定する。設定前は、2台のHDDを接続しても、それぞれ単一のHDDとして認識されている。手順2のように当面RAIDとして使わない場合は何も設定しなくてよい。

手順3,4の場合は、まず「1.Create RAID Volume(RAIDボリュームの作成)」を選ぶ。作成画面のボリューム名は任意の名前を指定する。RAID0かRAID1かは「RAID Level」で選ぶ。「Disks」はHDDが2台だけの場合は自動で決まる。「Strip Size」はRAID0のみの設定で、ファイルの分割単位のこと。標準(128KB)でよい。

Matrix Storageを使うかどうかは、最後の容量「Capacity」の指定で決める。例えば、250GBのHDDが2台ある状態で、RAID1を選ぶと容量表示が250GB(計算方法の違いで実際は233.7GBと表示)になる。ここで例えば40GBを設定すると、2台のHDDから40GBがRAID1用に確保される。この状態でさらに「Create RAID Volume」でRAID0を指定すると、210GB(元の250GBからRAID1用の40GBを引いた容量)×2の420GB分のボリュームができる。

Matrix Storageでは2つのHDDでは3つ以上のボリュームは作れない。また、RAID0、RAID1を組み合わせて速度とデータ保護を両立させるRAID0+1も設定不可能である。

5.WindowsXPのセットアップ

設定が終わったら、WindowsXPのセットアップを起動する。RAIDやAHCIを使う場合は、起動後すぐに「F6」キーを押す。一通りドライバの検索が終わった後、ドライバー読み込みの画面になる。RAIDやAHCIを有効にしているにも関わらず、ドライバーを読み込ませないと「PCにHDDがない」というメッセージが出てきてインストールできない。ドライバーさえ読み込んでしまえば、あとは従来のWindowsXPのインストールと変わらない。作成したRAIDボリュームは、インストール時にはあたかも1つのHDDに見える。例えば160GB+160GBで320GBのRAID0ボリュームを作った場合、セットアップでは単なる320GBのHDDとして認識する。複数パーティションが必要なら、そこを切り分ければよい。

6.OS導入後の設定

OSインストール後のドライバーやパッチの適用順は以下。

1 OS
2 最新のサービスパック、パッチ
3 Intel Chipset Software Installation Utility
4 DirectX
5 IAA、デバイスドライバ

RAIDを使わない手順1の場合は、デバイスドライバーを入れて終わりである。手順3,4の場合は「Intel Application Accerator(IAA)」を各種デバイスドライバーの前に入れる。現在のIAAはRAID用ツールとの位置づけであり、BIOSでRAIDが無効だとインストール時にエラーが出て入らない。

IAAは、RAID BIOSを意識したつくりになっている。どちらかで設定を変えると、もう一方の設定も変わる。RAID BIOSで50GBのRAID0ボリュームを作成し、OSをインストールした後、IAAで残りのボリュームを設定することもできる。IAAの「アクション」メニューから「ボリュームの作成」を選択するとウィザードが立ち上がり、残りの領域を新たなRAIDボリュームとして構築できる。

確保したボリュームは「コントロールパネル」からたどれる「ディスクの管理」で、ほかのHDDと同様にパーティションを分けたりフォーマットできる。

後からRAID化する手順2の場合は、さらに「マイグレーション」を行う。マイグレーションは、既にOSやデータが入っているHDDがある状態にHDDを追加して、後からRAIDボリュームにする手順。ICHで提供されるRAID機能の特徴の一つである。

 ・250GBのHDDをシステム約80GB、データ約170GBの2つのドライブに分けているところに、新たに250GBのディスクを取り付けたとする。
  取り付けた時点では、未割り当ての領域として認識されるので、「既存のハードディスクからのRAIDボリュームの作成ウィザード」を使い、
  RAIDボリュームを構築する。

 ・ここではRAID0を選択。サイズはディスク1台分にあたる50%を選択するとする。なおRAID1を選択するとディスク全体がミラーリングされて
  しまう。

 ・移行が完了すると、一見全く変わってないように見えるが、それは元のHDDを丸ごストライピングしたためである。

 ・残りの領域も全てRAIDボリュームにする。ここではRAID1のミラーリングにする。1台233.8GBのHDDからRAID0用に116.9GBずつ使われ、
  余った116.9GB×2台の領域がRAID1として出来る。

注意が必要なのは、初めに確保する容量である。上の例では1台分のHDDに当たる250GBを確保しているが、これはパーティション構成の無駄を無くすためである。例えば300GBをRAID0として確保すると、300GBの中に元の80GBと170GB以外の50GBの未割り当てのHDD領域ができてしまう。中途半端な50GBはそのまま使うか、170GBのデータを退避させた後、パーティションを壊して新たに220GBとして確保する、市販ユーティリティを使ってデータを保持したまま170GBを220GBに拡張するなど、使い勝手が悪くなる。


分類 FAQ
BIOS 915/925のBIOSセットアップ上のポイント(20040826)
説明
1.HDDの設定
SerialATAの設定は、「Enhanced(NativeIDE)」と「Compatible(Legacy)」に大別される。両者の違いは、取り付け可能なHDDの台数である。前者は6台。後者は4台となる。WindowsXPを使用している場合は前者を指定する。

さらにその下に「NonAHCI」「AHCI(ICH6R、ICH6RWのみ)」「RAID」「P-ATA+S-ATA」「S-ATAOnly」「P-ATAOnly」という分類がある。特にわかりにくいのは「NonAHCI」と「AHCI」の違いである。「NonAHCI」は、SerialATAの4ポートを従来のUltraATAのように、それぞれプライマリー/セカンダリーのマスター/スレーブとして認識する。「AHCI」は全てがプライマリーのマスターとして認識し、ホットプラグやNCQなどの新機能を唯一使用できるモードになっている。

BIOSの設定項目 接続可能台数 備考
大分類 小分類 SerialATA UltraATA
1 Enhanced
(Native IDE)
Non AHCI 4台 2台 SerialATAは4つのポートをプライマリー/セカンダリーのマスター/スレーブとして利用
2 AHCI 4台 2台 SerialATAには全ての機器をプライマリーのマスターで接続。ホットプラグやNCQを使用する場合に選択
3 RAID 4台 2台 AHCIの状態で接続したうえで、SerialATAのRAIDを構成
4 Compatible
(Legacy)
(Standard)
P-ATA + S-ATA
(Combined)
2台 2台 SerialATAとUltraATAの両方を使えるが、接続できるのは4台まで
5 S-ATA Only
(Non Combined)
4台 - SerialATAポートのみを使用
6 P-ATA Only
(Non Combined)
- 2台 UltraATAポートのみを使用
「Enhanced」を選ぶと最大6台まで接続できる。さらに小分類の「Non AHCI」を選ぶとSerial ATAのHDDはプライマリー/セカンダリーのマスター/スレーブとして認識される。「AHCI」は全てのHDDがマスター接続となる。一方「Compatible」の場合は最大で4台まで接続可能。WindowsXPや2000以外のOSを使用する場合はこちらを選択する。

2.CPUクーラーの設定

従来のCPUクーラーは周囲の温度を感知するセンサーでファンの回転数を制御していたが、新しいCPUクーラーはCPU温度に関する情報をマザーボード経由でCPUから取得する。この機能を使うためには、BIOSの「CPU FAN PIN Type」という項目で、「4PIN」を選択する。

3.メモリーの設定

メモリーの種類や動作周波数、使用しているチャネル(デュアルチャネル/シングルチャネル)などを自動で認識するため、「Auto」で設定しておけば問題はない。

4.その他の設定

・HDA

915/925では新たに「High Definition Audio」という機能が追加されたが、開発コードである「Azalia」という名前ををそのままBIOSの設定項目にしている製品もある。

・内臓ビデオ

915Gが備える内蔵ビデオ機能を使う場合は、ビデオメモリに割り当てるメインメモリーの容量を固定にするか自動的に変更するかという項目がチェックすべき設定項目となる。通常は「Auto」にしておけば問題ない。

・PCI Express

製品により異なる。PCI Expressビデオボードのアクセスタイミングを調整する項目である「Link Latency」(Autoに設定)や、ビデオボードの優先順位を決める(Booting Graphic Adapter Priorl [PCI Express/PCI])(PCI Express優先に設定)など。

5.オーバークロック

ASUSTekのAI Overclocking、GIGA-BYTEのC.I.A.2(CPU Intelligent Accelerator)など、BIOSの設定項目にクロックアップ関連の項目を用意する製品は多いが、効果が少ないわりにハングアップやデータ破壊、ハード破損などのリスクが高く、あまりおすすめできない。


分類 FAQ
OS SP1a適用済みCDの作成方法(20040826)(20040904更新)
説明
ServicePack1a適用済みセットアップディスクの作り方は以下になる。ただし、この方法ではセットアップCDのみでは起動できず、マイクロソフトがWebサイトで公開しているユーティリティ「 フロッピー ブート インストール用起動ディスク Home HomeSP1 Pro ProSP1」で作成した、6枚組フロッピーが必要になる。

1.HDDへファイルをコピー

元のWindowsXPセットアップCD-ROMの内容を全てHDDの任意のフォルダにコピーする(仮に、C:\winxp_sp1aにコピーしたとする)。

2.SP1aのファイルを入手

マイクロソフトのWebサイトから「全ファイルインストール」用のSP1aを入手する。

3.ファイルを統合する

SP1aと、元のファイルを統合する。MS-DOSプロンプトを開き、SP1aのファイルをダウンロードした場所(仮にC:\とする)まで移動した後、以下コマンドを入力する。

(例) 
C:\Documents and Settings\user>cd c:\
C:\>xpsp1a_ja_x86.exe /s:C:\winxp_sp1a

4.日付を確認してCD-Rに記録

展開が終わると、多くのファイルが書き換わる。「I386」フォルダに「2001/08/27」以降の日付のファイルが含まれているかどうか確認する。問題なければ全てのファイルをフォルダを含めてCD-Rに記録する。
 
5.その他の作成方法
・WindowsXPがプリインストールされているPCでSP適用済のブータブルCDを作成する(とあるちいさなメモ用紙の野望
・WindowsXP/2000 SP適用済みブータブルCD作成ツール(We`re alive


分類 FAQ
導入 新しいマザーボードに更新した場合、OSの再インストールなしで既存のHDDをそのまま使用できるか?(20040825)
説明
新しい規格のマザーボード(ex. 865プラットフォーム -> 915プラットフォーム)に変更した際に、OSの再インストールなしに既存のHDDをそのまま使用すると、大抵は問題なく使えるが、動作が不安定になる場合もあるため、できればOSの再インストールの実施が望ましい。


分類 FAQ
電源ユニット LGA775対応24ピン電源ユニットについて(Pentium4対応20ピン電源流用の可否)(20040824)
説明
LGA775マザーボードのメイン電源コネクタは24ピン。ただしフックの問題はあるものの、物理的には従来のPentium4対応電源20ピンコネクタが挿し込めるようになっている。追加になった4ピンはごく一般的な電力供給用で、今までの20ピンにある電源線からの分岐で作られているため、アダプタを使えば簡単に対応できる。

24ピン電源信号図:
   <-
赤部分が追加分
青部分は変化なし
+3.3V _12V COM PS_ON# COM COM COM NC +5V +5V +5V COM
+3.3V +3.3V COM +5V COM +5V COM PWR_ON +5VSB +12V1 +12V1 +3.3V

20ピンでよいかどうかはマザーボードの設計に依存するが、著しく動作不安定になる例は割と少ない。むしろ+12Vの容量が問題になることが多く、IntelではCPUに11A、ビデオボードに3A、HDDに1A、ファン類に1.5A、光学ドライブに0.75A、総体で16〜18A必要だとしている。


分類 FAQ
M/B Intel865PEから925X/915への乗り換えについて(20040818)
説明
PCI Expressの採用やDDR2 SDRAMメモリーへの対応、仕様強化されたHigh Definition Audioの搭載など、Intel925X/915P/915G Expressチップセットには数多くの新技術が盛り込まれている。過去1年間の主力であったIntel865PEと比較すると、特に各種バスの転送速度の高さが際立っている。

Intel865PE Intel915P
PGA Socket 478 LGA775
(6.4GB/秒)
・AGP8x(2.1GB/秒)
送受信帯域同じ
FSB800MHz
(6.4GB/秒)
デュアルチャネル
DDR400
(6.4GB/秒)
AAAAA ・PCI Express x16
(8GB/秒・送受信帯域別)
・PCI Expressx4
(2GB/秒)

・PCI Expressx1
(500MB/秒)
MCH
FSB800MHz
(6.4GB/秒)
デュアルチャネル
DDR2-533
(8.4GB/秒)
Gigabit Ethernet専用
CSAポート(266MB/秒)
ICH5R
Hub Interface
(266MB/秒)
PCIバス
SerialATAx2ポート(150MB/秒)
UltraATA/100x2チャンネル(100MB/秒)
USB2.0x8ポート
AC'97
RAID機能
ICH6RW
Direct Media
Interface
(DMI)
(2GB/秒)
PCI Expressx4ポート
PCIバス
SerialATAx4ポート(150MB/秒)
UltraATA/100x1チャネル(100MB/秒)
USB2.0x8ポート
High Definition Audio
Matrix Storage Technology
IEEE802.11b/g無線LAN

こうした変化により、パーツ選び、組み立て、設定とインストール、それぞれのフェーズにて新たなノウハウが必要となった。特に大きいのは手持ちのパーツが流用しにくい点である。

パーツ 流用可否 流用不可になる条件 備考
マザーボード × ×
CPU × ×
CPUクーラー × ×
ビデオボード × × AGP流用可能なボードも例外的にあるが、原則PCI Expressx16で接続
メモリー DDR2を使用 DDR400なら、両対応の製品が多く出ており流用可能。
HDD ひとつのUltraATAチャネルで2台以上つなぐ UltraATAは1チャンネル。UltraATAのHDDを流用する場合、光学ドライブの取り付けを考えると1台しか付けられない。
光学ドライブ 特になし 3台以上取り付けなければ問題なし
PCケース 冷却性能の限界 Prescottは発熱が多い。PentiumV世代からの流用の場合、冷却ファンの交換が必要
電源 容量が小さい場合 最低限2×2コネクターを持ったPentium4対応電源が必要。1×4ピンから2×2への変換はトラブルが多い
拡張ボード 4種類以上のボードを挿す PCI Expressスロットを2つ搭載しているボードが多いが、その分PCIスロットが減っている

865プラットフォームに比べて、価格性能比が劣る。バスの強化はあくまでも将来を見越してのものなので、ビデオチップやHDDが既存のバスでも余裕のある現状では、チップセットの変更だけで処理速度の向上に繋がっていない。DDR2メモリーも割高なわりにDDR400との性能差は5%ほどなので見合うメリットはない。

また、Prescottコアの新バージョンである「E-0 Stepping」が今年秋ごろに登場する予定であり、できればそこまで待つのが得策と言える。

Pentium4に今後搭載される機能:
EM64T:Extended Memory 64 Technology。AMD製のCPU互換の64ビット拡張のこと。レジスター幅が64ビットになり数も倍増。
      4GB以上のメモリー空間が使える。当面はワークステーション用のPentium4のみで有効。OSの対応が必要。
XD:データー用に確保したメモリー領域から命令を実行すると通知を発する機能。不正アクセス手段のバッファーオーバーフロー攻撃に有効。
    WindowsXPではSP2から対応。Athron64は既に実装実装済み。対応CPUはプロセッサ・ナンバーに「J」がつく。
拡張版SpeedStep:ノート向けCPUに搭載されている省電力機能。CPU負荷に応じて動作周波数と動作電圧を切り替える。Athron64などでは
            「
Cool'n'Quiet」という似た機能が実装されている。ワークステーション版Pentium4でまず実装が図られる。
AAC:静音化機能
2MBキャッシュ
デュアルコア
VT:仮想化技術
LT:セキュリティー技術


分類 FAQ
メモリ Flex Memory Technologyにおけるシングル/デュアルチャネルの意味(20040817)
説明
Intel 925X/915シリーズ以降のデュアルチャネルの制限は、依然と比べ緩和されている。

シングルチャネル
AA AAACPUAAAA --- ---256MB--- チャネルA AA 1つのチャネルにしかメモリーモジュールが装着されていない状態
性能は最も低い
---256MB---
A
--- 空き --- チャネルB
--- 空き ---

デュアルチャネル アシンメトリック
AA AAACPUAAAA --- ---256MB--- チャネルA AA 2つの容量の異なるモジュールが取り付けられた状態。
従来までは、この状態をシングルチャネルとしていた。

なお実際的にはほぼシングルチャネルと同性能。
BIOSによってデュアルと表示する場合と、シングルと表示する場合が
分かれる。
---256MB---
A
---256MB--- チャネルB
--- 空き ---

デュアルチャネル インターリーブド
AA AAACPUAAAA --- ---256MB--- チャネルA AA 従来と異なり、チップ構成と容量が同じモジュールを使う必要はなく、
異なる容量のモジュールでもチャネルの総容量があっていればよい。

性能はインターリーブドが最も高い。
---256MB---
A
---512MB--- チャネルB
--- 空き ---
 


分類 FAQ
説明