メニュータイトルPC98-NX改造記録PC-98改造記録ThinkPad535活用講座WindowsCE活用講座雑感

PC-9821Xv20のソフトウェア設定


 PC-9821Xv20にPC/AT用ビデオカードを搭載することによって、かなり強力な2D/3D描画機能を備えることが可能なことがわかった。しかし、それだけでは描画能力だけが突出してしまい、実使用における体感速度の向上は一部の使用条件下でないと感じられなくなってしまう。
 そこで、ソフトウェア面での設定を変更することにより、体感速度の全体的な底上げを図ってみることにする。

 設定を行うハードウェア環境は以下のとおり。

・CPU AMD K6-III+ 約560MHz駆動(メルコ製NV4下駄によりFSBを2逓倍、CPUで4倍速動作により計8倍速動作)
・メモリ 256MB(EDO RAM搭載72pin SIMM 64MB×4枚、ECC機能付き)
・FSB 原発乗っ取りにより約70MHzにクロックアップ
・HDD Seagate ST3120026A(アイ・オー・データ製UIDE-66にATA66で接続、容量を32GBに制限)
・DVD-ROM Pioneer DVD-116(アイ・オー・データ製UIDE-66にATA66で接続)
・CD-R/PD NEC PC-MCDR220AD(アイ・オー・データ製UIDE-66にPIO mode3で接続)
・VIDEO GeForce FX 5700LE[inno3D TORNADE GeForce FX 5700LE]+ForceWare56.72
・SOUND C-Media CMI-8738(2ch出力に設定)[玄人志向 CHANPON3]
・USB NEC uPD720100[USB2.0:玄人志向 CHANPON3]
・IDE アイ・オー・データ UIDE-66(まりも氏作NOATBOOT適用)
・SCSI initio INIC-1060P[玄人志向 CHANPON3]
・LAN Intel i82557[オンボード]
・MIDI Roland GPPC-NA(Cバス)
・FM音源 NEC PC-9801-86(Cバス)
・OS Windows2000 Professional SP4(PC-9800版)

 なお、このページを作る目的は、自分のマシンの設定を忘れないようにするためというのはナイショである。従って、詳しい設定方法等は記載しない。あまり簡単に設定を変更されると困るような内容ばかりだからなんだけど。いじる時は、あくまでも自己責任で行うという最低限のルールは、ここのWebサイト内における共通事項である。


 1 Write Allocateの設定

 まずはメモリ周りの設定の基本として、Write Allocateの設定を行うことにする。
 この設定は、最初からK6-2やK6-IIIを搭載することを想定しているマシンであればBIOSで行うべきものであるが、PC-9821Xvでは当然のことながらそのようなケースは想定されていないので、デバイスドライバ等によりその機能を用意しなければならないのだ。
 今回は、M.Horiguchi氏作のWrite Allocate Monitor IIを使用して設定を行ってみる。ついでに、Write Allocateについての説明もあるので、よく読んで欲しい。あと、CPUレジスタ設定の詳細については、AMDのWebページからデータシートをダウンロード可能なので、参考までに。

 主な目的はCPUキャッシュの制御に関する設定を行うことなのだが、特にいわゆる新コアと呼ばれるK6-2等を利用している場合、新たに設けられたWrite-Combining memoryをうまく設定することにより、ベンチマークデータの改善を図ることが可能となる。
 Write-Combiningとは、CPUが持っているWrite Merge Buffer(8Byte)を利用して、非キャッシュ領域の連続した細かいメモリ書き込みを一連のかたまりとして1回の書き込みで済ませてしまうというものである。通常は、連続したメモリ書き込みが発生しやすいVGAフレームバッファ領域においてWrite-Combining memory areaを設定することになる。

 さて、まずはどの領域をWrite-Combining設定するのかを決めなければならないのだが、デバイスマネージャのリソース一覧(Windows2000であれば管理ツールのコンピュータの管理にあるシステム情報−ハードウェアリソース−メモリでも可)から、ビデオカードのメモリエリアのアドレスがどこに割り振られているかを確認する。
 その後、開始アドレスと対象容量を用いてMTRRs(Memory Type Range Registers)にWrite-Combining areaを指定する。このあたりのやり方はそれぞれのツールで確認してもらいたいが、その昔CyrixのCx486SLC/DLCのキャッシュ領域設定を行ったことがある人であれば考え方は同じなのであまり迷わないかも。
 なお、通常はVGAの領域は2つ出ていると思うので、両方をMTRR0とMTRR1にWrite-Combining areaとして指定する。あとは、基本的な設定についてWrite Allocate Monitor IIの説明ファイルのとおりに設定を行う。

Write Allocate Monitor II設定画面


 2 チップセットの設定

 続いて、やはりメモリ周りの設定としてチップセットのノースブリッジである430HX(82439HX)の設定を行う。 設定用の基本資料としてはintelのWebサイトにあるデータシートを参考にして欲しい。
 利用するツールは、PC-VS26DS7DA2のチップセット設定でも使用したWPCREDITWPCRSETである。

 今回設定するポイントは、(1)ECC機能の停止、(2)DRAMアクセスタイミングの再設定である。

 (1)ECC機能については本来信頼性向上のための機能であるが、サーバなど厳密な信頼性と動作継続性が求められているわけではない点、ハードウェア的に限界に近い動作をさせていることから不安定な状態で動作を続けるよりはエラーを吐いて停止してくれた方が好ましいという判断、ECC機能に伴うオーバーヘッドが大きい点等を考慮して、機能を停止させることとした。
 (2)DRAMアクセスタイミングについては、ECC機能の停止による再設定と、より限界に近いタイミングの設定を目的としている。

 (1)についてはチップセットレジスタの90h00hに、50h0Bhに設定している(設定の順番を間違えるとハングアップするので注意)。そして、(2)についてはチップセットレジスタの56h(DRAM EXTENDED CONTROL REGISTER)を1Fhに、58h(DRAM TIMING REGISTER)を55hとしている。

 特に注意すべき点として、(2)で設定しているレジスタは、ECC機能を有効にしている場合と無効にしている場合で設定可能な値が変わってくることと、マザーボード上のセカンドキャッシュボードの有無によっても値が変わるため、必ずデータシートをよく読んで設定して欲しい


 3 ビデオカードのクロックアップ

 nVidiaのGPUを積んでいることからドライバはForceWareを利用しているが、ForceWareには元から組み込まれている隠しクロック制御機能がある。GPUのコア動作クロックとメモリクロックが設定できるのだが、簡単な自己診断機能があるので設定限界の目安をつかみやすいという特徴がある。
 今回はこの機能を利用してビデオカードのクロックアップを行うこととした。なお、通常はForceWareのクロックアップ機能は使えないようになっているので、レジストリを書き換えて使えるようにしておく必要がある。

ForceWare設定画面

 コアクロックについては、標準で250MHzのところを310MHzに、メモリクロックは400MHzのところを418MHzとしている。これは、ForceWareによる自動設定クロックよりも上ではあるが、自己診断テストの結果はクリアしている値であり、ベンチマークテストによる12時間程度の連続稼働でもシャットダウンしない値である。


 4 その他の設定

 本機では各チップごとの設定を変更するとともに、レジストリをいじることによりWindowsシステム全体の動作条件も多少変更している。具体的には「窓の手」あるいは「Win高速化 PC+」といったツールを使っての設定変更を行っている。
 特にWin高速化 PC+において設定できるメモリ・マルチタスク・USB関連の設定は、体感速度に影響する部分が大きいので、低速なマシンほど導入して効果があるツールだと思う。

 今回の設定を行う前と行った後のHDBENCHのデータは以下のとおり。
★ ★ ★ HDBENCH Ver 3.40 beta 6 (C)EP82改/かず ★ ★ ★
M/B Name
Processor AMD K6-III+ 555.89MHz[AuthenticAMD family 5 model D step 0]
Cache L1_D:[32K] L1_I:[32K] L2:[256K]
Name String AMD-K6(tm)-III Processor
VideoCard NVIDIA GeForce FX 5700LE
Resolution 1024x768 (16Bit color)
Memory 260,668 KByte
OS Windows 2000 5.0 (Build: 2195) Service Pack 4

※設定前
ALL Integer Float MemoryR MemoryW MemoryRW DirectDraw
20786 31020 19204 6040 2701 5819 30

Rectangle Text Ellipse BitBlt Read Write RRead RWrite Drive
27758 19980 3315 692 42296 37088 18959 17265 C:\100MB

※設定後
ALL Integer Float MemoryR MemoryW MemoryRW DirectDraw
22356 31026 19213 9004 4137 8273 33

Rectangle Text Ellipse BitBlt Read Write RRead RWrite Drive
33000 27916 4431 731 44502 39369 18024 18249 C:\100MB



(c)2006 WANI3/わくわくWANILAND ロゴ小