SSブログ

RAMとEMSその1(月刊ASCII 1990年5月号5) [月刊アスキー廃棄(スクラップ)]

特集は「RAMとEMSはまかせろ!!」だった。
8086という16bitを名乗るのもおこがましい8bitの毛の生えた、16bitから毛を抜いたようなCPUだったためユーザは苦労させられた。
ASCII1990(05)c01RAM-EMS_W520.jpg

EMSって何なのさ

 RAMボードメーカーが一太郎の発売元ジャストシステムに何がしかのものを払って,Ver.4がEMSを必要とするようにしたという話はない。もともと,EMSは,アメリカの人気統合ソフトLotus1-2-3によって広がってきたものという.EMSという規格そのものもLotus1-2-3の発売元LotusとIntelが共同で作ったものなのだ.
 つまり,日米のベストセラーソフト(Lotus1-2-3と一太郎)が,ぜひ欲しいというのだから大変なものである.
 そんなわけで,MS-DOSのシステム環境をリードしていくべきであるMicrosoftが,Lotusさんがそう言うならというので,これに加わってEMSの現在の規格(LIM4.0)が決められた.そして,多くのアプリケーションがこのEMSに対応し始めたのだ。
 日本でも,これに対応しようという動きは見え始めていた。もちろん,Lotus1-2-3の日本版では,すでに対応されている.そして,日本独特のプログラムである日本語入力フロントプロセッサなどで,対応が急がれていたのだ。
 さて,EMSそのものの説明もしないまま,話を進めてしまった.EMSとは一体何なのか?

私が説明するならば「EMSとは8086が名ばかりの腐れCPUだからそれをカバーするためにEMSというメモリを使う規格を作った」だ。さらに漢字表示が使い物になるようにTEXT-VRAMをあみだし、グラフィック表示が使い物になるようにGDCを作った。そんなことが許されるのなら8bit機でもできるわ。実際作られたわ。何を偉そうにEMSだ。8086よ恥を知れ。

640Kbytesの壁を破りたい

 イチニッパー,イックニ,ニゴロ,ザンパースー,ゴイチニといえば,たいていの場合,主メモリの容量を指す.主メモリとは,パソコン本体の中にあるプログラムを実行するための場所のようなものだ。それぞれ,128,192,256,384,512Kbytesを指すことになる.
 PC-9801シリーズでは,初期型が標準で128Kbytes,Mで256Kbytes,VMで384Kbytes,VM21以降のマシンでは,640Kbytesとなっている.640Kbytesにはイチニッパー,ニゴロ……といった色気のある呼び方はない。この場合「フル実装」といって、いわばマンタンの状態である.640枚とじることのできるバインダーに640枚とじて用意してある状態を想像していただきたい.
 ところが,PC-9801RAは,さらに1Mbytesプラスした1.6Mbytesの主メモリを搭載して登場した.640Kbytesでフル実装なのに,1Mbytes足してどういう意味があるのか?
 実は,640Kbytesがマンタンの状態であるというのは,PC-9801シリーズのMS-DOSがアクセスし得るメモリの上限ということなのだ。何だかややこしいが,ほとんどのアプリケーションがMS-DOSの上で動いていることを考えると,これが上限という表現はあやしいものではないらしい。では,RAは,なぜ1.6Mbytesのメモリを搭載して登場したのか?発表資料によれば,新しいOS環境にも対応するため云々とあったようだ。

MS-DOSについてはやっつけ仕事で作ったOSなので仕方がない。8bit機のCP/Mで動くソフトの互換性があったそうだ。つまり、8bitの8080から16bitの8086(IBM PCは8088)に簡単に再コンパイル、アセンブルができたそうだ。CP/M86よりMS-DOSの方がCP/Mに対して互換性高かったそうだ。

メモリは計画的に強化したい

 新しいOS環境とは何か?それはMS-DOSの次期OSといわれるMS-WindowsやOS/2のことであるらしい。これらのOSでは,640Kbytes以上のメモリをアクセスし得るばかりか,1.6Mbytesでもちゃんと使うには足りないというくらいなのだ。
 ところが,MS-WindowsやOS/2を一般的なユーザーが普通に使い出すのには,今しばらく時間がかかると思われる.その一方で,MS-DOS上のアプリケーションは、先の一太郎Ver.4に限らず,しだいに大きなメモリを要求するようになってきたのだ。一太郎についていえば,最初のVer.1が256Kbytes,Ver.2.0が384Kbytes(図形を使う場合は512Kbytes),Ver.3.0が640Kbytesを必要とした.それが,Ver.4ですべての機能を利用するには,640Kbytesでは足りなくなってしまったのだ。
 MS-DOSは640Kbytesの約束なのにそりゃないでしょう,と言いたいところだが,壁があれば破ってみたいというのか,そのための1つの方法がEMSなのである.それじゃメモリを強化しましょうということになったとしても,その方法やRAMボードの種類にはさまざまなものが出てきているのだ。今回の特集は,その辺をスッキリさせて,どのようなユーザーにはどのようなアプローチが最も効率的で,将来的にも問題がないかを探ってみたい.
(遠藤)

だからすべては8086が悪い。
ケース1 RAMディスク
 HDDを導入したら,ワープロもすぐ起動するし,変換も速くなってめでたしめでたし─これは買ってしばらくの間の話だ。
 最近の大型のアプリケーションでは,640Kbytesのメモリ空間に入り切れない機能をHDD上に置き、必要なときに読み込んで使うという方式をとる(一太郎Ver.4やP1.EXEなど)。こうなると,さしものHDDも速いとは感じられなくなる。まして扱うデータ(文書)が大きくなってくると,データもHDD上に置く必要が生じる。これがまたレスポンスを悪化させる(図1).
 もう1つ気になるのが,辞書へのアクセスだ。FDDよりははるかに速いとはいえ,アクセスそのものがなくなるわけではない。HDDのアクセスが終わって文字が確定するまでは,次にタイプした文字は画面に現われない。結果として,確定を待つ形になり,タイプ速度が落ちる.そもそも、こんなに頻繁にこま切れなアクセスを繰り返していて,ヘッドの寿命が減ることはないのだろうか.1変換ごとに思考を途切らせるのもよいことではない。
 「RAMディスク」がそれを解決する.RAMディスクというのは,RAMをちょうどFDDと同じ感覚で扱えるようにする機能である。だから,RAMディスク上に辞書を転送すれば,以後変換に際してHDDが回ることはない。反応速度が一瞬になるので,多少速くタイプしても画面が付いてくる.アクセスランプがつかないのも精神衛生上よろしい。もちろん,ワープロそのものも転送できれば,起動も処理も見違えるようになる。特に機能の一部をHDD上に置くようなものでは,その効果は閃光のように鮮やかだ.
 それくらい我慢できる,現にしている,とおっしゃる気持ちは分かる.しかし,環境の良さというのは,実際にそれに触れるまでは、本で読んでも,話に聞いても,あまりぴんとこないものだ。HDDユーザーの方なら,昔FDDでワープロを使っていたときのことを考えてみると,何となく見当が付くのではないか。
 RAMディスクは超高速のFDDと見ることができるから,MS-DOSのコマンドをある程度使いこなしている方には,さまざまな応用が考えられるだろう.コンパイラなどでは,ワークファイルを作るドライブを指定できるが,このドライブをRAMに割り当てると,コンパイル時間が画期的に向上する.もっと速くしたければ,ソースもオブジェクトもRAMディスク上に置くといい。ただこの場合,作業終了後に結果をHDDに戻すことを忘れないようにしたい。


ASCII1990(05)c02RAMDisk図1_W413.jpg

ASCII1990(05)c11図1一太郎Ver4_W387.jpg
RAMディスクは8bit機のX1で既に使っていた。CP/Mで利用していたがMacro80でのアセンブル、リンクが快適だった。ゲームのゼビウスでも利用できた。最初ロード時間が長くRAMディスクを置いているとダメなのかなと思ったが、データをRAMディスクに読み込み、ステージをクリアすると次のステージに瞬時に移り、速さにびっくりした。
RAMディスクは16bit機に特有のものではなく8bit機のころから利用されていた。なにを今更の記事だ。

ケース2 EMSメモリ
 多くの表計算ソフトは,データをオンメモリで管理している。再計算などのためにデータを非常に頻繁にアクセスするので,ディスクとのスワップアウトなどをしていては実用的な動作速度が得にくいということのようだ。そのため,メモリがいっぱいになると,それ以上ワークシートを広げることができない。たとえば,Lotus1-2-3では,130×130程度の表を作るとメモリがいっぱいになってしまう(セル1つに半角文字10文字を入れた場合).
 しかし「EMSメモリ」があれば話は別だ.EMSは,ソフトが扱えるメモリ空間を拡張するもの(詳しくはコラムを参照)。従来のメモリに加えて,最大32Mbytesまでの空間を確保できるのである.たとえば1Mbytes増設すると,Lotus1-2-3ではセル数が4万以上も増える.
 現在ではほとんどの表計算ソフトがEMSに対応する形になってきている.前述のLotus1-2-3をはじめ,Multiplan,アシストカルク,Success,そしてWindows上で動くExcelもそうだ。ワークシートサイズに悩む方は,躊躇することなくEMS導入に踏み切るべきだろう(図2)。
 EMSは別に表計算ソフトのためのものではない。後に詳しく触れるが,一太郎Ver.4も,EMSメモリの効用が非常に大きい.EMSがないと一部の機能が使えないし,使えるにしても,HDDのアクセスが頻繁に起き,操作性がかなり悪くなる.日本語入力FPのEMS対応も進んできた.メインメモリを100Kbytes以上圧迫するFPがEMS上に展開してくれれば,メモリに余裕ができる。たいていのソフトは,メインメモリに余裕があるほうが,快適に動作する(図3).


ASCII1990(05)c03EMS図2_W405.jpg
ASCII1990(05)c03EMS図3_W453.jpg
 そのとおり。EMSがない環境で仕事はできなかった。

ケース3 プリンタスプーラとキャッシュ
 どちらかというと地味なのがこの2つの機能だ。プリンタスプーラというのは,プリンタへ渡すデータをためてしまい、パソコン本体が次の仕事に移れるようにするためのもの(図4)。長いドキュメントを印字するような場合,プリンタの印字を待っていると,パソコンがいつまでも使えなくて困るが,スプーラを導入するとこれを解決できる.一方キャッシュディスクというのは,FDDやHDDを読み書きするたびに,そのデータをこっそりRAM上にコピーしておく,という機能だ(図5).そのため,1度アクセスされた領域に関しては,2度目からはFDDやHDDを読まずにRAMに保存したデータが使われる.辞書などは,使っているうちにどんどんアクセスしなくなるし,容量が大きいキャッシュでは,ワープロを2度目に起動するときにはHDDが回らないことすらある.RAMディスクと違って,事前にRAM上にデータを転送しなくてすむのも,ずぼらなユーザーにはありがたい。

ASCII1990(05)c04図4プリンタスプーラ_W520.jpg
ASCII1990(05)c04図5キャッシュ_W377.jpg
プリンタスプーラは使わなかった。なぜなら、PC-9801を使い始めてすぐにプリンタバッファ(パソコン切り替え機能付き)を買っていたから。また、キャッシュメモリとしても使わなかった。理由はメモリが少ないからキャッシュになんてもったいなく使えなかった。

● I・Oバンクメモリ
 EMS以前の標準的なRAMボードの仕様(図6)RAMディスクなどの機能は利用できるが,EMSメモリにはならない(無理やりEMSとして使うためのエミュレータも存在するが,速度面で実用的でない)。
 I・Oバンク方式は,どのメーカーのものでも同じハードウェア構成なので,各 社のボードを混在させて使うことができる.


ASCII1990(05)c05I・Oバンクメモリ_W512.jpg
 始めはバンク切り替えでRAMディスクにすることが主だった。作業データをテンポラリファイルとしてバンク切り替えメモリに置いたりして使っていた。

● EMSメモリ
 EMSメモリとして利用するためのハードウェアを備えている製品(図7).EMSハードウェア対応,などといった表記もなされる.ただし,これをEMSメモリとして使うには,そのメーカーが供給する「EMSマネージャ」が必要となる.EMSメモリは各社ごとにハードウェアが異なるため、基本的に他社のEMSマネージャではEMSメモリとして利用できない。したがって,EMSメモリを増設する場合は,最初のEMSメモリと同じ会社のものを購入する必要がある.

ASCII1990(05)c06図7EMS_W505.jpg
EMSメモリは重宝したというか必須だった。

● プロテクトメモリ
 80286以上のCPUを搭載するマシンについて,1Mbytesを超える空間に増設するためのメモリ(図8)MS-DOSで使うためには,特別なソフトウェアが必要。RAMディスクやディスクキャッシュなどのドライバが,ボードに付属したり,市販されたりしている。このメモリも各社ハードウェアは共通なので,混用できる.MS-DOSVer.3.3以降では,このメモリをRAMディスクとして利用する「RAMDISK.SYS」などが付属する.

ASCII1990(05)c07図8プロテクトメモリ_W520.jpg
もちろん使ってたが印象がない。多分EMSメモリに見せかけて使っていたと思う。動作が怪しくエラーを起こした記憶がある。

● 混合方式メモリ
 上記の設定をボード上のディップスイッチなどで変更できるようにしたもの。これにもさまざまな種類があり,たとえばディップの切り替えによってA方式にもB方式にもなる,といったもののほか,1枚のボードのうちOKbytesをEMSメモリとして,残りをIOバンクメモリとして,といった分割ができるものや,EMSメモリであり同時にプロテクトメモリである,といった増設方式が可能なものもある(こうしたものは,プロテクト+EMS,などと表記される).
● 内蔵メモリとSIMMメモリ
 最近のマシンでは,上記のプロテクトメモリを本体のボード上に増設できるようになっている.これらが,PC-○○用内部増設メモリ,として販売されている製品だ。基本機能はプロテクトメモリと同じだが,ボード上にあるために,拡張スロットに差すタイプに比べて高速で,場所も取らず,当然スロットも消費しないというメリットがある.
 これらのメモリはみんなSIMMと呼ばれる小さなボード上に載っていて,簡単に取り外しができる.SIMMそのものは,一部機種では互換性がある場合もあるが,SIMMを乗せるボードそのものにほとんど互換性がないのは残念である。









nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。