ATX586でのPCIグラフィックカードの認識問題 #2

何故今?と思うかもしれませんが・・・

初期のPCI、つまりAT時代の本当に初期のPCI搭載マザーに適したグラボを発見したからです。

本当はBIOSを修正して対応するつもりですが、CUDA/OpenCLがP6必須だったのでBIOS修正は優先順位が下がりまして、とりあえず、しばらくは・・・ということで・・・

ZT-62APH2N-HSL
DSC00922.jpg

他にもIODATAのGA-6200A/PCIなんてのもあり、搭載メモリやメモリバンド幅はこちらの方が低いのですがトータルパフォーマンスはZOTACの製品より高いという逆転現象が起きます。但しIODATAの製品は搭載メモリ容量が若干少ない為に動作しないアプリや極端にパフォーマンスが落ちる事もある為、筆者はあえてトータルバランスの若干悪いZOTACの製品を薦めます。
※ていうか、宣伝してるみたいですが、アフィリとか一切してません。念の為・・・

もう、お気付きの方も居ると思いますが、GeForce6200A搭載のPCIグラボです。
6200AはAGPにネイティブ対応したチップですので本来はAGP専用ですが、AGPとPCIはプロトコルが共通で電圧とクロックが異なる(他にメモリアクセス関連の拡張が有りますが割愛)だけの為、PCIブリッジを経由せずとも電圧変換を咬ますだけで動作するという抜け道的な実装手法が有り、それを採用した製品です。
DSC00923.jpg
この赤丸で囲ったチップが信号電圧変換の様です倍率変換かも?
型番を見ると PI5C 16211AE と書いてありまして、24-BIT BUS SWITCH というチップで、DigiKeyで単価183円(関税込み)で入手可能な比較的安価なチップの様です。製造元はPCIブリッジも製作しているPericomで、これが2個乗っていますから合計48Bitのスイッチで、パターンが基盤面上にありますので容易に追えそうです。面倒なのでしませんがw

その為、旧いマザーに適している(と思われる)事を書きますと、

1:PCIブリッジ非搭載でシングルファンクション
 このおかげで、ドライバインストール不良が発生し難い、というか今売ってるグラボがほぼ全滅なATX586やP65UP5でも問題なく動きました
 この記事で以前書きましたが、PCIが登場したての頃は未だPCIブリッジの仕様が曖昧で、Rev2.1以前のマザーではブリッジ搭載製品が正常に動作しない事が多くPCIブリッジ非搭載のシングルファンクションは非常に有り難い存在です。

2:Win95~Win7までのドライバが全て揃っていて、今でもDL可能
 もちろんLinuxのドライバもあります。その為、グラボの為にOSの制限を受ける事がありませんので古いPCのパワーアップに最適です。

3:DirectX 9.0cにネイティブ対応
 古いPCにはDirectX9.0c対応くらいまでがバランスが良いと思います。
 実はATX586でGeForce8400GSを動かしてCUDA/OpenCLをという小さな野望も有ったのですが、CUDA/OpenCLのドライバがP6以降必須だった為に、あっさり諦めたという事情もあります。

4:ファンレス低消費電力
 電力食いなグラボはAT世代マザーには色々な理由から適しません。

5:PureVideoを搭載、DVD程度なら再生支援が効くかも?
 さすがにハイビジョン動画には基本的には対応してませんが、DVD程度なら再生出来る様に成るかもしれません。

これで3.3V不要だったら最強なんですが、その点は未だ調べていません。
筆者は漏れなく3.3V対応改造をしてしまうので・・・
スポンサーサイト

ATX-586 の MPS 1.4 対応

以前よりATX-586のBIOSでMPSの設定項目に1.4/1.1の選択があるにもかかわらず1.1しか選択出来ない事に疑問を感じていましたが、先日、それが解決しました。

なぜか、PCI Rev 2.1 Compliant を Disable にすると MPS 1.4 が選択出来るようになりました。

謎ですw
逆の様な気もしますが・・・

ですが、これにより少し安定したような気がします。(気がするだけですがw)

ATX586でのPCIグラフィックカードの認識問題 #1

この究極?自作PC改め、魁??漢塾シリーズは、今から約13年前の私が自作PCに憧れてはいたものの当時は貧乏で手にする事の出来なかったDUAL Socket7 マザーのATX586を、ある事が切っ掛けで約13年を経た今になって偶然手にした事からスタートしました。

久しぶりのATX586ネタです。
(前回の記事でも書きましたが、最近外泊が多くてなかなかATX586に触る機会がありません。)

今回は比較的新しいグラボがATX586では全滅な事に対する調査・改修ネタです。

現時点での結論から書きますと、
1)異常が発生している箇所
 グラフィックカード上のPCIブリッジに対するコンフィギュレーションレジスタが
 正しく初期化されていない。
 (比較的新しいグラボは、GPUがPCIeやAGP世代なので必ずPCIブリッジを
  経由しなければPCIバスに接続出来ない。しかしATX586の時代にはPCIに
  直接接続可能なGPUを積んだPCIグラボが大半だった為に、この問題が
  表にでなかったと思われる)
2)調べるケース
 PCIブリッジを搭載したPCIグラフィックカードをATX586に挿して起動
3)調べる対象
 BIOSプログラム
4)調べる具体的な場所
 BIOS-POSTの比較的初期段階でI/Oポート80hに0Dhを出力してから80hに
 0Dh以外の値を出力するまでの間かつ/またはI/Oポート0CF8hに64Bit値を
 入力又は出力している周辺のロジック
 (前者はグラボの初期化、後者はコンフィギュレーションレジスタ初期化)

と言うところまで突き止めました。

AWARD-BIOSの解析に必要なツールはアセンブラ/逆アセンブラ以外は入手済みです(って一番重要なツールがorz)

まぁ結論を読めば判ると思いますが、PCIブリッジを搭載したグラボで問題が起き、その原因はグラボ上のPCIブリッジが正しく初期化されていないからだという所まで突き止めました。
PCIの規格では、PCIブリッジもPCIデバイスと同じように初期化する必要が有りますが、ATX586世代のPCIグラボはマザーボード上のPCIバスにGPUが直結していた為、間に何も介さずに初期化していたのが、PCIブリッジが間に入ってしまった為に、BIOSが想定外の状態になってしまっているのだと思われます。

参考までに、今までのPCI関連の問題と対処をまとめておきます。

問題1:試したPCIカードの6割ほどが動作しなかった。特に新しい製品は全滅だった。
問題1-1:3.3V電源がPCIスロットに供給されていなかった
   対策:自作フレキシブル基板で3.3V電源を供給する改造を行った
   効果:私が所有するグラボ以外の32Bitカードは全て正常動作するようになった
     同じ対策を施したTX97-X(同じ430TXのSocket7マザー)ではグラボも動作
問題1-2:64Bit-PCIカードが物理的に挿さらない
   対策:物理的に挿さる様にPCI2.1規格に準拠したスロット形状に加工
   効果:PCI-X133のカードでさえも動作する様になった
問題1-3:グラボ上のPCIブリッジに対する初期化不良(この記事の主題)
   対策:BIOS改造(調査中)
   効果:最新のDX9~11世代のPCIグラボが正常動作するとイイナ的な

問題2:スロット#2及び#4にPCIカードを挿すとCPU#2が常時負荷100%になる。
 対策:未対策(今はNO-PCIとPCガイガーが刺さっている、これらのカードは
    PCIのリソースを消費しない為、この構成のままなら問題無し)


 

なんだか突然

素の状態に戻ってますw
DSC00341.jpg

今日の主役は、この人です。
DSC00342.jpg

普通は、こんな形で凹状をしてる筈なんですが・・・
DSC00344.jpg

現状のATX586のPCIスロットでは、凹が無い為、この様に64Bitカードが刺さりません。
DSC00346.jpg
この凹はPCI Rev2.1の規格にも明記されていて、64Bit-PCIカードが挿せるようにする為の切り欠きです。

そこで、こうします。
DSC00347.jpg

手段はコレ、リューターです。
DSC00348.jpg

先端形状は、細かい物を使うと摩擦熱でプラスチックが溶けたり焦げたりするので、経験上、荒削りが出来るコレを選択しました
DSC00349.jpg

こんな感じに削って
DSC00350.jpg

エアダスターで掃除して完成です。
DSC00351.jpg

別のアングルから
DSC00354.jpg

なんで突然こんな事したか、
そして、何を挿したかは次回公開します・・・

あえて理由を書くならATX586のPCIスロット形状が規格外の状態だったので規格に準拠した形状に修正したという事で、ATX586のPCI互換性向上でしょうか?

問題の干渉部分は、実は信号が無い予約ピンとGNDピンですので、64Bitカード側を削って挿入すれば、ATX586を壊してしまう危険を伴う改造をしなくて済む訳ですが、それではATX586が規格外の状態のままですから、後々に問題を残しかねません。社員教育と一緒で、上司や先輩がやってあげるといつまでたっても自分では何も出来ない子になってしまいますから、自分で出来る様に教育を・・・って話がすっ飛んでるしw

と、まぁ、これで晴れてATX586も5V対応品つまり事実上ほとんどのPCIカードが刺さりますよ的な互換性の高いマザーに生まれ変ってくれましたとさw

グラボだけは未だコンフィギュレーション関連の問題が山済みに残っているんですが、その他のカードは私が持っているカードに付いては今回の改修で全て動作するようになりました。

PCIカードの相性問題、BIOS編、第?談

以前の記事で紹介しましたPCI関連書籍の付属CD-ROMにPCIコンフィギュレーションレジスタのチェックプログラムが入っていましたので、先週末、それを使ってATX586とTX97-Xで同じPCIカードを挿した場合の違いを調べてみました。

先程、とっておいたログを手があいた時に比較していたのですが、やはり何点か違いが有る事が判りました。

具体的な報告は、追々してゆきますが、核心に迫れそうな予感がしています。
プロフィール

DualSocketTheWorld

Author:DualSocketTheWorld
自作を始めて20台目くらいになりますが、最初からデュアルソケット限定(始めた当時はデュアルスロット)で自作しており、近年になってAMD K6を試したくなりSocket7でK6-2+のシングル構成で組んだのがシングル初です。

シングルマザー(含:シングルソケットマルチコア)や4ソケット以上の自作は基本的にしませんし、メーカー製PCの改造も基本的にはしません(ノートPCのSSD化くらいはしますが・・・)

基本路線はワークステーションと呼ばれる分野での自作で、OSもWindows系であればProfesionalが主な対象に成ります。

ゲーマーの様なOverClockは行わず、WS路線としてハイエンドCPUとハイエンドGPUの組み合わせで定格或いはDownClockで発熱を抑えつつ、その時のアーキテクチャに置いて爆速かつ静音を目指し、30年以上の長期に渡り稼動状態をキープする事を目指します。

※基本的にリンクフリーです。どこでも自由にどうぞ。

※画像は時々変ります。

※お決まりの文章ですが、改造は個人の責任で行ってください。ここに記載された情報は間違いを含んでいる可能性が有り、それを元に製作や改造などをして失敗しても筆者は一切責任持てませんので悪しからず。

筆者略歴:
小学生時代にゴミ捨て場で拾ったジャンクテレビ数台を分解して部品を取り出し真空管アンプを自作、中学生時代にPC8801mkⅡsrでZ80アセンブラを始める。社会人になって初のプログラムは弾道計算、後に医療系・金融系プログラマ~SEを経て100~200人規模プロジェクトのジェネラルマネジャを数年経験、独立して起業。現在は不動産所得で半引退生活。
(人物特定を避ける目的で一部経歴を変更しています)

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
アクセスカウンター
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR