PC-H98の全容(月刊ASCII 1990年7月号6) [月刊アスキー廃棄(スクラップ)]
この号から「次世代98マシン PC-H98の全容」の記事が連載された。
この機体は使ったこともなく、使っているところを見たこともない幻の機体だった。そもそも98に次世代は無かった。
PC-98についてはこの資料でしか知ることができない。以下スクラップしていく。
H98はオフィス用ワークステーションだったのか。どうりで身近で見ることができなかったはずだ。この頃は最早別の所属へ行き5200を見ることもできなかった。
表1 PC-H98model70の主な仕様(抜粋スクラップ)
キャッシュは64Kだった。メインメモリが少ないのでこれでも良かったのだ。それほど昔のプログラムは局所的に動いていた。
この機体は使ったこともなく、使っているところを見たこともない幻の機体だった。そもそも98に次世代は無かった。
PC-98についてはこの資料でしか知ることができない。以下スクラップしていく。
Part1:オーバービュー&ハードウェア将来現れるだろうソフトを考えて機械を買ってもだめだ。そのソフトがあらわれときはもう使えない機械になっている。登場するソフトは現行機種でやっとこさ使えるものばかりだった。
PC-H98シリーズは,NESAの採用や強化されたグラフィックスなど、従来のPC-9801で弱点とされてきた部分が重点的に補われている(概要は4月号のProducts Showcaseを参照)。つまり,'90年代の主流を担うと予測されているGUI(グラフィックス・ユーザー・インターフェイス)を,ハードウェア面から支援するための機能が重点的に強化されているのである.
しかしながら,MS-WindowsやOS/2のアプリケーション・ソフトウェアの充実には,今後数年を必要とすると思われ,現在におけるH98には従来のPC-9801シリーズの高速版的な用途が最も期待される.いわば,将来の標準を確保するための日本電気の布石として捉えるべきマシンであろう.
当連載では,3回にわたって,H98という,PC-9801シリーズの将来型マシンを理解するために,従来マシンとの相違やNESA,グラフィックス機能などの解説を行なっていく.
(株)エー・ピー・ラボ 日笠健
何が変わったのか全く新しいマシンを作るのではなく従来機との互換性を保つのは困難な作業だったろう。なぜこんな仕様にと疑問に思うところはたいていは互換性のためだった。別の話になるけど8086を腐れCPUだと散々呪っていたけど8080の40ピンというピン数は従来の周辺チップを利用するため維持しなければならなかったという話を聞いたとき8086を作るのにそんなところに苦労したのかと技術者に詫びたくなった。そりゃ全く新しく作れるのなら良いものを作れるけど営業的にこういうのを作れと言われたら技術者は要望をかなえるしかない。不可能なら別だけど可能ならしょうがない。
PC-H98model70(以降H98)は,NESA(New Extended Standard Architecture)を採用した最初のマシンである.新しいアーキテクチャを持つマシンを調査する際は,いろいろな意味で従来からのアーキテクチャの継承性が気にかかるところである。
たとえば,今まで使ってきたアプリケーションが流用できるのか、周辺装置用のI/Oボードは使えるのかなどの「98ユーザー」としての不安や,I/Oポート,メモリマップ,拡張バスタイミングの変更などのハードウェア面での興味や心配である.
巨大な基板面積
H98は従来のハイレゾ機と同様に幅広でありRA21と比較すると横幅が約1.2倍になっている.
H98の内部に収められている基板類を一面に並べてみたが,筐体の大型化がうなずけるほどの基板面積である.各I/O機能ごとにバス調停機能の追加が必要となるであろうNESAの採用が,大型化の理由なのだろうか.
基板を見ると,面積のわりにはデバイス数が少なく感じられる.しかし,これはアドレス/データバスがともに32bit化したことにより,デバイス間を引き回す信号線数が増加しているためである。写真では分かりにくいが,2.54mmピッチのピン間に3本の信号線パターンを通すほどの高密度実装である.NESAを採用した小型機の登場も待たれるが,小型化のためには,DRAMがSIMM化されている以上、より大規模なゲートアレイの採用以外考えられない.
ハードウェア面から見た,従来のシリーズとの主な相違点をまとめると以下のようになる.
4Gbytesのアドレス空間
従来のシリーズは,アドレスバス幅が24bitであったためCPUからアドレス可能な空間は「16Mbytes」であった.これが,NESAでは幅が32bitとなり,理論的には「4Gbytes」の空間にアクセス可能となっている.
ただし,現実にはユーザー用RAMを拡張できる空間は,本体内専用メモリスロット(10Mbytes)に限られ,16Mbytes以上の空間にメモリを実装するためには外部拡張スロット用のNESA対応メモリボードを用意しなければならない.したがって,現実的な利用可能RAM容量は,標準実装RAMと合わせて約12Mbytesとなり,PC-98RLと同じである.UNIX系のオペレーティングシステムを利用したEWS的な用途では少々不安な数字である.
もっとも,これはH98model70に限った話であり,今後登場するかもしれない新機種では専用メモリスロットに実装可能なメモリ容量が増加することもあり得るだろう.
2種類の拡張バス
NESAでは,2種類の拡張バスをサポートする。従来のPC-9801シリーズと同じタイミングを有する「Cバス(100ピン)」と,32bitのアドレス/データバスを持つ「Eバス(180ピン)」である。2つのバスのうち数本の信号は共通であり,同一のスロットでEバスとCバスを共用することはできないが,異なるスロットであれば混在させることができる。2種類のバス用の拡張ボードは同じスロットにセットするようになっており,Eバス用のコネクタは従来と同様のCバスの上に位置している.
Cバスのメモリタイミングは,8086やV30マシンと同様の「CAタイミング」と,80286マシン以降と同じ「CBタイミング」が用意されており、特に拡張ROM空間を利用した従来の拡張ボードも使用することができる.NESAのバスコントローラはいわば3種類のバスタイミングの混在を許しているわけであり非常に複雑な制御ロジックであることが予想される.
最大32bitのデータ転送幅
NESAのデータバス幅は32bitである.本体内CPU,DMAともに8/16/32bitのデータ転送が可能になっており,特にメモリーCPU(キャッシュメモリ)間の高速なデータ転送が期待される.
今後,H98の低価格版としてデータバスが16bitの386SXを本体内に持つ機種の登場も予測されるが,NESAに接続されるバスマスタ(CPU,DMAなど)やメモリスレーブ(拡張用メモリボードやフレームバッファなど)のバス幅は,8/16/32bitのどれかから自由に決定することが可能で、すべてEバスに接続可能である.
強化されたDMA
DMA(Direct Memory Access)は,高速なデータ転送を実現するために用いられるテクニックであり,主にメモリーI/O間のデータ転送に用いられる。DMAは,CPUで実行されるソフトウェアによるデータの転送ではなく,専用のハードウェアによってデータの読み出しと書き込みを実行するために高速なのであるが,従来のPC-9801シリーズではCPUの高速化によって,あえてDMAを用いるよりもソフトウェアによる転送のほうが高速な場合もあった。また、従来のDMAチャネルは4本しかなく、いわば,フロッピーディスクおよびハードディスク専用であった.H98シリーズでは8本のDMAチャネルが用意されており,高速の通信回線やフレームバッファなどでも,DMAが利用できることになる.
さらに,従来のPC-9801シリーズのDMA機能は,8bitバス用のDMAコントローラを外部拡張することによって実現されていたため,転送するデータ幅に応じたプログラミングを行なう必要があったが,NESAでは32bitのアドレス幅およびデータ幅に対応した新しいコントローラが採用され,奇数アドレスからの16bit転送についてもDMAコントローラが自動的に補正動作を行なうなどオーバーへッドの低減が図られている.
また、従来のPC-9801シリーズは、基本的に1回のDMA転送ごとにバスの制御権を放棄する「シングル転送モード」を用いる必要があったが,NESAではDMA要求を行なうI/Oモジュール側が必要なだけバスを占有することができる(デマンド転送モード)ため,I/Oモジュール側のハードウェアを強化することにより,より高速なデータ転送が期待できる.ただし,他のモジュールからのバス要求が発生した場合には,NESAの中核である「NESAバス・アービタ」によるバス使用権の「調停(アービトレーション)」が行なわれることになる。さらに,DMAを利用するためのDMABIOSが備えられているため,DMA利用時の手間も少なくなった。
キャッシュメモリ付きのCPU80386は使わなかったので分からないが80486のときは従来のソフトウェアが快適に使えたことでキャッシュの威力というものを感じた。
H98model70には,動作クロック33MHzの80386CPUが用いられており,このCPU本来の高速な動作を実現するためには,やはりメモリおよびバス転送速度も高速でなければならない。80386,キャッシュコントローラ(82385)および64Kbytesのキャッシュメモリ(アクセスタイム20nsの64KbitSRAM×8)を実装したCPUモジュールを内蔵しており,キャッシュメモリーCPU間のデータ転送に対してはウェイトサイクルは挿入されない.なお,浮動小数点アクセラレータの80387を実装するためのソケットもこの基板上に用意されている.
NESAに接続されているメインメモリおよび本体内専用メモリスロット用RAMには,アクセスタイム80nsの1MbitDRAMが用いられている.CPUがアクセスしようとするメモリアドレスの内容がキャッシュ内に用意されていない場合,CPUモジュールからメインメモリモジュールへのアクセスには2つのウェイトサイクルが挿入される.
キャッシュメモリは,メインメモリのような固有のアドレスを持っておらず,多くの場合、最も最近に読み出されたメモリアドレスから始まる一連の数バイトのデータ(「ライン」と称する)に関するメインメモリのコピーを保持している.CPUが読み出そうとするメモリアドレスの内容がキャッシュメモリ内に存在する場合はCPUは高速なキャッシュメモリからデータを得ることができるが,キャッシュメモリ内に存在しない場合には(比較的)低速なメインメモリにアクセスしなければならない.
CPUが発生するメモリアドレスについて,キャッシュメモリ内にコピーが用意されているかどうかを高速に判断するためのデバイスがキャッシュコントローラである.82385は,80386のファミリデバイスであり,80386と組み合わせた場合,最適なキャッシュ効果が期待できる.NESAのように,同一バス上にDMAコントローラなどのメインCPU以外のバスマスタが存在し,同一のメモリ空間(共有メモリ:H98の場合はメインメモリである)を介してデータのやり取りを行なうシステムでは,キャッシュメモリ内と共有メモリ内のデータが異なる場合があり得る。たとえば,CPUが共有メモリ内からあるアドレスを読み出した場合には,キャッシュの構成に応じて数バイトのデータが連続的に共有メモリからキャッシュに転送される。そのとき,他のバスマスタがバスの制御権を取得し,直前にキャッシュに転送された共有メモリにデータを書き込んだ場合,バス制御権がCPUに戻った時点で,そのメモリアドレス内のデータはキャッシュメモリ内と共有メモリ内とで異なっていることになる.
なお,H98における実現方法については,次回以降で解説する予定である.
拡張されたグラフィックス・システム
CRTインターフェイスはアナログRGBのみが用意されており,コネクタにパワーON用の信号や,キーボードおよびオーディオ出力信号が内蔵されている。従来のディスプレイを接続する場合にはこれらの拡張された信号を扱わない専用ケーブルを使用する必要があるため,拡張機能を利用することはできない。
グラフィックス関係の基板はバスコントロール関係の基板の上に重ねられており,512KbytesのグラフィックスVRAM,2つのGDC(μPD72020),AGDC(μPD72120),E2GC(Enhanced Enhanced Graphics Charger:ゲートアレイ)および,キャラクタ・ジェネレータROM用コネクタなどが実装されている.
3種類のグラフィックスコントローラが実装されたことによって,GDCのみによる描画,EGCレベルでの描画,AGDCとE2GCを組み合わせた描画など,いくつもの描画モードを持つことになった.おそらく新しく用意された描画モードほど高速と思われ,AGDCとEGCの組み合わせモードに対応した,H98専用のMS-Windowsは高速のようだ。
その他パレットやテキストVRAM用アトリビュートも拡張されている.
NESA-FO
H98に従来の拡張インターフェイスボードをセットする場合,割り込みやDMANESA対応,ノーマルモードとハイレゾモードでメモリアドレスの異なる拡張ROMの有無などを設定する必要がある.従来は本体やボード上のDIPSWで設定していたそれらの情報を,ソフトウェアによって設定し,管理するために用意されている体系がNESA-FO(Flexible Option)である. NESA-FOは,実装されている拡張ボードのチェックや初期化を行なうための本体内ASP(Auto Setup Program),設定情報を記憶するためのBUM(Back Up Memory),NESA対応ボード(Eバス専用)に用意されるNESA-FOレジスタから構成される(図1)。
NESA-FOレジスタを備えているボードについてはASPによって自動的に設定が行なわれるが,従来のCバス用ボードの場合には付属のリファレンスディスク内の「リファレンスディスクASP」を用いて設定を行なう必要がある.
NESA-FOに対応するボードを作成する場合,ボードメーカーは日本電気に「ボード識別用ID」の申請を行ない,あらかじめボード識別用IDが記録されている「NESA-FOゲートアレイ」を購入する必要がある.このゲートアレイには,NESA-FOレジスタのほか,EバスとCバスの信号タイミングの変更機能,DMAや割り込みの制御機能などNESAバスに対応する上で非常に重要な機能が盛り込まれている.たとえばアマチュアがNESA対応の拡張ボードの設計を試みる場合,このゲートアレイの支援を受けることはできないため、従来のように安易にはいかない。
最初の印象「筆者はPC-9801RA2を発売以来利用してきたが,ソフトウェアを移すだけでよく,しかも実行速度が2倍以上のH98を使い始めてしまうともうRA2を使う気がしなくなってしまった。」同感だ。この頃は速さは正義だった。体感速度が全然違うともう古い環境に戻れなかった。
今回は「NESA」という言葉をちらつかせながら変更されたハードウェアを中心に見てきたわけであるが,まとめとして,1カ月余り利用してみた印象を書いておく.
PC-98RLの後継機として
さて,H98を購入しよう,という場面でのユーザーから見た最大の不安に対しては,H98に関する日本電気の位置付けがひとつの答えになっている。つまり,「PC-98RLの上位機」なのだから,従来のユーザー資産が継承できて当たり前なのだ。H98もまた,従来のPC-98シリーズと同様に「ノーマルモード」と「ハイレゾモード」という2つの動作モードを用意しているため,これまで,PC-9801RAやPC-98XLなどで利用してきたアプリケーション・ソフトウェアはほとんどそのまま利用することができる.したがって,従来の98シリーズからH98への移行はスムーズに行なうことが可能である。
筆者はPC-9801RA2を発売以来利用してきたが,ソフトウェアを移すだけでよく,しかも実行速度が2倍以上のH98を使い始めてしまうともうRA2を使う気がしなくなってしまった。ただ価格もまた2倍以上ではあるが.
従来の98シリーズの良いところだったケーブル類の継承性が途切れてしまったのは残念である。以前と同じケーブルが使えるのはキーボードとAC電源のみである。モデムやプリンタに接続するためのケーブルは,本体側のコネクタがハーフピッチに変更になってしまったために新たに購入する必要がある.また,マウスコネクタの形状も変更になっているため,マウスごと新規に購入するか,変換用のアダプタを用意しなければならない.
N5200シリーズとの関係
日本電気は,オフィス用ワークステーションとしてN5200シリーズを用意しており,先頃発表された486CPU機を含むN5200シリーズのラインナップを見ると,今後発売されるであろうH98シリーズのスペックをうかがい知ることができる.H98シリーズのハードウェア・スペックや価格設定はN5200シリーズとほぼ同様であり,どちらのシリーズも,主なターゲットはオフィス用ワークステーションであると思われる.
となると,両シリーズの違いは従来からのソフトウェアの互換性のみということになり,H98model70の「売り」は,PC-9801シリーズにおいて蓄えられたユーザー資産の継承性の維持および高速性能以外に考えられない。つまりH98model70に限って見れば,新たに冠された「H」は「High Speed」の頭文字に過ぎない。
NESAの将来は?
今回,掲載した基板写真から分かるように,NESAの採用によって実装部品や必要な基板面積は増加してしまった。ということは,製造コストも上がり価格も上がる.本文中にも述べた通り,小型化のためにはより大規模なゲートアレイ化以外考えられず,低価格化は量産によってしか実現できないであろう.
ユーザーにとって、従来のPC-9801RA21との2倍近い価格差によって得られるものが,従来のソフトウェアを利用する際の2倍に満たない実行速度では少々いただけない。やはり,H98独自のハードウェア機構を生かし,ハイレゾモードの高品位な描画を高速に実現したオペレーティングシステムやアプリケーションが標準となるように市場を誘導しなければ,このシリーズもまた従来のハイレゾ機と同様の運命をたどるのではないだろうか.
ただ、初めに述べたように,快適なGUIの実現には高速で柔軟なバスが必須である。数年後にはNESAとハイレゾ・ディスプレイを持ち,ぜい肉をそぎ落とした安価なH98シリーズが提供されるようになってほしい。
★
次回は,他のバスに関する紹介も含めて、NESAのバス制御方法やローカルCPUキャッシュの実現方法などNESAの中身に触れる予定である。
H98はオフィス用ワークステーションだったのか。どうりで身近で見ることができなかったはずだ。この頃は最早別の所属へ行き5200を見ることもできなかった。
表1 PC-H98model70の主な仕様(抜粋スクラップ)
モデル:価格 | model70-00299万5000円,model70-100168万円 | ||
ハイレゾモード | ノーマルモード | ||
CPU | i386 クロック周波数33MHz | ||
33/20MHz | 33/20/8MHz | ||
RAM | 1.5Mbytes(002) 5.5Mbytes(100) 最大27.5Mbytes | 1.6Mbytes(002) 5.6Mbytes(100) 最大27.6Mbytes | |
キャッシュメモリ | 64Kbytes | ||
表示 | テキスト 漢字 | 80文字×25/20行 漢字24×24ドット40字×25行 | 80/40文字×25/20行 16×16ドット40字×25/20行 |
グラフィック | 1120×750ドット モノクロ1画面 カラー1画面 | 640×200/400ドット モノクロ16/8画面 カラー4/2画面 8色中8色 | |
4096色中16色,1600万色中16色 オプションで1600万色中256色 | |||
重量 サイズ(W/D/H) 消費電力 | 本体:13.5kg(100は15kg) 本体:470×345×150mm 消費電力100W(100は130W)最大210W |
キャッシュは64Kだった。メインメモリが少ないのでこれでも良かったのだ。それほど昔のプログラムは局所的に動いていた。
コメント 0