今だから言えるPC−98の開発裏話 IDE編

June 04 [Mon], 2012, 20:20
これは1992年頃のお話です。
ひさしぶりに、またまた私でない私が書きます。
SCSIが落ち着いた頃、デスクトップにIDEを採用しようという話が出ていました。
実は、この頃既にNotePCではIDEを採用していました。
この頃私の仕事の量が多すぎるとIFのみの担当になりました。
事業部で残業の多さが5番内で、仕事が一時期20個以上パラにやっていたので、さすがに無理だという判断だったとは思いますがちなみに私はこの頃仕事の量を適当であると、面接で言ってました。
じゃあ何もする事ないんじゃと思ったのですが、検討開始して直ぐに問題唐ェ見つかりました。
大きく3つです。
1つ目は、デスクトップだから2台以上接続する必要があります。
IDEの仕様を見るとMasterSlaveでOKのようですが。
これ実は問題がありました。
よくいわれる相性問題です。
このMasterSlave接続ってその名前の通り元々MasterのコントローラHDD内でSlaveも制御しようとするのです。
でここらへんの仕様は殆ど公開されておらず、メーカー間更には同じメーカーでもシリーズが違うとSlaveを認識出来ない事がある事がわかりました。
まあ当時のAT互換機だとそれでも良かったのですが、PC98でそんな事は許される訳もなくマルチベン、修理、その他の管理もうひとつのPrimarySecondary接続を採用しようという事に。
で98のIOマップに新たにSecondary用をPrimaryと同じようにマッピングしようとすると連続32Byteとれる場所がありませんまあ無計画に拡張した結果と最初にIOバスを16bitで設計した結果なので仕方ないですがちなみにAT互換機はIOバスは8bit設計で、隙間なくきれいにマッピングされています。
これについては後で書くかもしれませんで、結局セレクター方式をとる事にしました。
これは今まで使っているIOに1つコントロールするIOを一つ追加して切り替える方式です。
でせっかくこの方式にするので規格上7台まで拡張出来るようにしました結局これはチップフェイスブックのピン数、コネクタ等のコストでSecondaryまでしか使われませんでしたが2つ目は、割り込みリソースです。
PC98君はこの頃割り込みリソース不足になっていました。
これはIOデバイスが増えるたびに割り込みを使っていたのと、割り込みコントローラ8259を2個使いで15個しかない為です。
割り込みコントローラを増やそうという話もありましたが、色々と理由があって実現しませんでした。
でSecondary用に1つ使う事なんて許されません。
ここでふと思ったのが割り込みのシェアリングです。
これは、通常割り込みがCPUにかかると割り込みコントローラを見て何番が割り込みが上がっているかで制御するのですが、それにもう一つその割り込みのステータスがわかる機能Primaryが割り込みを上げているか、Secondaryがあげているかを入れておけば制御出来そうです。
実はこの仕組みNESAバスには既にあり、その後のPCIでも採用されています。
これのメリットはPrimarySecondaryを並列処理できる唐ナす。
実は仕様どおりならこういう仕様だったのですがこの機能実機ではバグってしまい使われなかったんです。
一応ハードウエアレビジョンををソフトに見せる仕様になってバグを改善出来るようにはしていたのですが、この仕様を受け取った、次の担当者がこの重要性を認識していなかった為か、バグを直す事はなかったです。
この担当者、私が次の仕事に変わってからも半年近く仕様がわからないといっては私が、こっそりHelpしてました。
まあ雑誌とかの質問もゴーストライターにになっていましたが。
この仕様のお陰で、WindowsのIDEドライバーがPrimarySecondaryで1つで済んでいます。
ちなみにAT互換機は確か3つのドライバーが必要だったと思います。
3つ目は性能です。
実はこの頃WD社がIDEの拡張機能を提案していたのですがちなみにIDEの仕様はWDが作った仕様でAT機に始めFDD用として採用されていますこれにIOのサイクル幅を小さくして性能を上げようという提案があったので、これに対応する機能も入れておきましたが私はこの仕様もっと改善版が出てくると思って対応出来るようにしようと思ったつまりIOサイクルを結構自由に設定出来る仕様のですが、反対されてしまい設計期間、評価期間の問題かなり余裕のある固定値にしてしまいました。
ただただでは起きません実は隠しコマンドでIDEのデータポートは16bitだったのですが、CPUが32bitアクセス出来る仕様を仕様書にも載せずに作りこみましたこういうのって結構やっているエンジニアは多いです。
後でAT互換機にもこの仕様が入ったようですが。
実はこの機能、IDEの性能問題が出た時既にこの頃は私はIDE担当ではなく、次の仕事をしていたのですが会議に呼ばれてこの隠し機能を公表して使われたのです。
この機能検討に許されたのはIDEIF担当になってから、1週間だったので、かなりどたばたして決めた仕様だったのですが、この仕様PC98君がEOLまで使われたのです。
実は、性能を追求したIDE専用コントローラを後で作ったのですが、これについては後々書く予定ですここまで見てあれMasterSlave接続のPC98もあるっと思われた方もいると思うと思います。
実はこの仕様書を配ってたのですが、装置担当者がコストのみを優先してMasterSlave対応の装置を勝手に作ってしまったのです。
当然相性問題も出ましたし、後PC98君はハード的電気的にIDEが接続されているかどうかの機能もあったのですが、この装置屋さんはこの機能に必要なチップ抵抗5銭位をコストウンといって外してしまい私は正式文章で、警告したにもかかわらず当然とらぶり、謝罪もなくIDE担当だからどうにかしてくれと言ってくる始末。
装置出荷時期を考えると、ハード的改造する時間も無く、ソフトのみの対応策を出したのですが。
これPCの立ち上げ時間は確実に長くなります。
ちなみに私のIDE担当は半年でした。
プロフィール
  • プロフィール画像
  • アイコン画像 ニックネーム:d8o229l7jh
読者になる
2012年06月
« 前の月  |  次の月 »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
最新コメント
Yapme!一覧
読者になる
P R
カテゴリアーカイブ
月別アーカイブ
http://yaplog.jp/d8o229l7jh/index1_0.rdf