当Blogのコメントで頂戴したリクエストにお答えして、土曜の朝、エスプレッソを嗜みながら徒然と「PCの進化とは何か?」について思いつくままに書いていきたい。ただ、本当に徒然と書いていくと収拾が付かなくなるのはいつもの嵌りパターンなので、それを避けるために(あるいは避けられないのなら先に)結論めいたものから述べておこう。もしかしたら書き終えたときには結論は変わっているかもしれないが(笑)、今のこの時点での結論はこうである。
これが結論である。使い方については、PCの、というよりはPCの周辺が進化した結果、PCでの扱い方が変わっただけという見方をしている。例えば、20年前にはインターネットが一般に使われることはなかったが、インフラが整備されたこと、Webブラウザなどの進化によって、そしてもちろんコンテンツの充実も相まって、パソコン通信時代とは見た目はまったく様変わりしているが、本質的な部分である、PCとのデータ送受信という点、そのデータを処理するという点、この二つはデータ量が増えたことに対するPCの処理能力向上に尽きるというわけである。
で、これで終わってしまうのは何なので、もう少し(だけ)徒然っていこう。扱うデータ量が増え、増えたデータ量に応じて処理能力が上がる。ということは、かつては扱うことのできるデータ量が少なかったことになるが、実際そのとおりで、今から15年ほど前になるPC普及の推進力、Windows 95が登場した頃のPCのスペックは以下のようなものだった。
- マイクロプロセッサ(CPU) Pentium または IntelDX4など
- メインメモリ(RAM) 4~16MB
- グラフィックス(GPU的なモノ) S3 Vision968ほか
- ハードディスク(HDD) 500MB~2GB
- 外部バス ISA、EISA、MCA、PCI、VL-Busなど
これよりわずか前のPCでは、HDDはさらに少なく200MB程度あればいい方で、RAMにしても4MB程度のものはごろごろしていた。だからこそ、Windows 95は最低4MBを必須RAMと設定し、広く普及を目指したのだった。今日はGBクラスが当たり前となったメモリが、4MBとか16MBとかでどうやって動いていたんだ?と最近の人は思うかもしれない。しかし、それが現実だったのだ。これよりさらに10年前には、一世を風靡したNEC PC-9800シリーズの支配を決定づけたベストセラーモデルPC-9801VM2がリリースされたが、このスペックは、
- マイクロプロセッサ(CPU) V30(10MHz)
- メインメモリ(RAM) 384KB
- グラフィックス(GPU的なモノ) GRCG
- ハードディスク(HDD) なし(別売)
- 外部バス Cバス
というように、扱うデータ量は圧倒的に少ないことがわかるだろう。プロセッサのV30とはNECが独自拡張を施したi8086互換プロセッサで、その動作クロックは10MHz。今日のGHzで表すなら、0.01GHz。384KBというメモリ(RAM)も今日のGBで表すなら、1GBは1048576KBであるので0.0003662…GB。まぁ、超絶的にに少ないと言うことだけは確認できるし、たかだか384KBというデータ量は今日のちょっとした音を再生しようとするだけでオーバーフローである。また、外部記憶としてのHDDはなく、1.2MB対応のFDDが2基のみ。つまり、ソフトウェアも最大で2.4MB以内に収めなくてはならなかった。
それでも、日本語ワードプロセッサ「一太郎」は日本語FEPのATOKと共に動作しており、これは日本語MS-DOS上で動作していた。そして言うまでもないが、それなりの長さの日本語文書を扱うことができたのである。実用的に!
では、この間のソフトウェアの進化とは何だろうか。無論、これはソフトウェアの内容(ジャンル)によって様々だが、要は基本的な構造はほとんど変わらず、扱うことのできるデータ量が飛躍的に向上する中で、実現方法が変わっただけのものが多いと考える。例えば、PC-9801VM2で画面に漢字(かつての2バイト文字)を表示するのは、2bytesの文字コードをGRCGに送るだけ(漢字ROMからフォントのビットマップ情報を読み込むなどのハードウェア機構の働き)で実現していたので、画面いっぱい(40文字×25行=1,000文字)に漢字を表示するには、たかだか2,000bytes(約2KB)のデータがあれば可能だった。しかし、DOS/Vにおいては漢字ROMを持たず、VGAでは特殊な2バイト文字を表示する機構を持たなかったので、フォントのビットマップ情報をそのままVGAに送る必要があった。圧縮等を考慮に入れなければ、通常16ドットx16ドットで構成されたビットマップフォント情報(1bit x 16 x 16 = 32bytes)を送る必要があったので、PC-9801VM2の2バイト文字表示に比べて16倍ものデータ量を扱うこととなった。DOS/V登場の頃、NECはPC-9800シリーズといわゆるDOS/Vマシンとの画面スクロール速度を比較して優劣をアピールしたことがあったが、何のことはない、16倍ものデータ転送量の差があったのだから、PC-9800シリーズの方が速くて当たり前だったのである。いや、16倍の差があるにもかかわらず、よくぞここまでDOS/V(VGA)が頑張っていると感じたのであった。
しかし、固定化された表示では強みを発揮したPC-9800シリーズも、ハードウェア機構を用いての文字表示機能を使わないでグラフィックスとして文字表現を行わざるを得ない場合(WYSIWYGの実現など)、DOS/Vマシンに及ばないか、いいところどっこいどっこいであり、PCにおいてグラフィックスアクセラレータの強化と普及が進んでくると、ウサギとカメほどに差が生まれるようになる。それがWindowsの普及において致命的な部分として表れたのだった。
あくまで一例のみを示したが、つまりはそういうことである。かつては、いわゆるマルチメディアデータを扱うことはPCでは不可能であった。Windows 3.1でいわゆるマルチメディア機能が標準で搭載され、Video for Windowsが出てきた頃も、そのデータ量はMB台に到達はしたが、10MBなどあり得なかった。圧縮するにも時間がかかり、展開するにも時間がかかったので、マイクロプロセッサでは処理が追いつかず、いずれマイクロプロセッサはDSPに置き換えられるのではないかという議論もあったほどである。
以上、簡単だが、私なりのPCの進化とは何かを徒然と語ってみた。データ量の多寡は、8色(3-bit color)のみかフルカラー(24-bit color)かでも1ドット(ピクセル)あたり8倍の差がある。つまりはそういうことなのだ。
最近のコメント