現在地

思い出・昔話

パーソナルなコンピュータのプロセッサ事情 (第4回: 変り種)

カテゴリー:

今回もちょっとマイナー路線です。

まず最初はNational SemiconductorのSC/MP (Simple Cost-effective Micro Prosessor)、「スキャンプ」と発音します。まだプログラムしたことはありませんが、資料を読むかぎりソフトウェアはかなり癖のある仕様です。
p-MOSのSC/MP (ISP-8A/500)、これをそのままn-MOSにしたSC/MP II (INS8060)、スタックや16ビット演算機能を追加したSC/MP III (INS8070)などがありました。SC/MP IIIでは残念ながらそれまでのものとソースレベルでもバイナリレベルでも上位互換ではなくなってしまっています。

パーソナルなコンピュータのプロセッサ事情 (第3回: ミニコン由来のものたち)

カテゴリー:

8080・MC6800・6502を取り上げたので次はZ80・MC6809か、と行きたいところですがその前にちょっと変わったプロセッサたちを見ていきましょう。今回はミニコンをLSI化したものたちです。

Panafacomが1975年に発売したのがL-16A(MN1610)です。初期の16ビットマイクロプロセッサですね。
+12V,+5V,-3Vの3電源が必要(8080も+12V,+5V,-5Vが必要)でしたが、後に+5V,-3Vの2電源のMN1610A、+5V単一電源のMN1611も発表されました。

あまり広くは使われませんでしたが、以下に採用されていました。

  • Panafacom LKit-16
    1977年発売のトレーニングキットです。アルファベットキーではなくニーモニック(命令)ごとに専用キーのある簡易アセンブラを搭載していました。
  • FACOM 9450
    富士通から1981年に発売されたパソコン(いわゆるオフコンに近い)でした。CPUはMN1610Aを2つ積んでいました。

上位互換で32ビット浮動小数点命令のあるMN1613などというものもありました。

パーソナルなコンピュータのプロセッサ事情 (第2回: 8080登場)

カテゴリー:

1974年にIntelが発表した8080は、それまでのプログラムを固定して使う組み込み用から汎用コンピュータとしても認識されることになりました。

40ピンDIPのパッケージ、アドレス16ビット・データ8ビット・RD,WR信号を用いる80系バス、割り込み、DMAのためにバスを開放する機能といったその後のマイクロプロセッサで一般化したものの多くが採用されています。

RDは実は8080から出力されておらず、外付け回路で作成する必要があります。後にこの回路は8228/8238 System Controller and Bus Driver for 8080A CPUとしてIC化されました。

エンディアン(2バイトのデータをメモリに置く順番)はリトル(8008もそうです)となっていて、これは現代のx64アーキテクチャまで続いています。

この8080を採用したコンピュータには以下のようなものがありました。

パーソナルなコンピュータのプロセッサ事情 (第1回: 4ビットの頃)

カテゴリー:

これまでメモリサウンドグラフィック漢字・そして技術情報の各事情について書いてきました。
でも肝心のプロセッサの事情についてはまだでしたので、何回かに分けて書いてみようと思います。

個人向けコンピュータのプロセッサというと現在ではPC系はIntel・AMDの「x64」、スマートホン・タブレット等は「ARM」にほぼ統一されてしまっています。しかし最初からそうだったわけではありません。

まだトレーニングキットなども発売されていなかった頃、個人でコンピュータを持とうとすれば自作するより他ありませんでした。汎用ロジックICを組み合わせてプロセッサ自身を作成する人もいれば、登場したばかりのマイクロプロセッサを利用することもあります。
トランジスタ技術誌に掲載されたコンピュータ自作記事を集めた「つくるコンピュータ」には4つの製作例が載っています。

パーソナルなコンピュータの技術情報事情 (ソフトウェア編)

ハードウェア編に続きまして、今回はソフトウェア編です。

トレーニングキットの時代は回路図同様にソフトウェアについてもオープンなものが多かったと思います。
ソフトウェアといってもメモリの内容を表示・変更したりプログラムの実行ができるモニタ等ですが、これのソースコードがマニュアルに掲載されていたりするわけです。これもサンプルとしての意味が大きいからでしょう。オブジェクトのサイズも数kB以下ですから量的にも大したことはありません。

BASICインタープリタをROM搭載したいわゆるパソコンになると状況が変わりました。シャープのようにモニタのソースコードのマニュアルへの掲載を続けたところもありますが、BASIC自体となるとそうはいきません。

  • マイクロソフト等の社外開発のものが多く勝手に公開できない
  • サイズも小さなものでも10kB以上と大きくなり紙面的にも難しい
  • ユーザ層としても必要としない人が増えた

といった事情からソースコードの公開は困難になります。

パーソナルなコンピュータの技術情報事情 (ハードウェア編)

カテゴリー:

今パソコン・PCはブラックボックスになっています。どんな回路構成になっているのか、どんなソフトウェアが入っているのか、ほとんどの人は気にしません。

「いや、俺は気にする」という人でも、XXXチップセットを搭載している⇒このくらいのパフォーマンスが期待できる、OSのバージョンがYYY⇒何とか機能がある、といった機能・性能の指標として気にしている人が大半ではないでしょうか。

周辺機器のハードウェア設計者でもPCI・USBといったインターフェイスの仕様は調べますが本体の回路がどうなっているかは(トラブルでも起きないかぎり)普通は調べません。ソフトウェア設計者もAPIの使い方は知っていますがそれがどう実装されているかは考えません。

これはもちろん悪いことではありません。効率を上げ、互換性を保つには必要不可欠でしょう。

しかし昔は事情が違っていました。各社が互換性の無い機種を発売し、標準的なOSも無く(あっても機能が限られ)、ハードウェアを直接叩かなくては十分なパフォーマンスが得られない状況では内部の情報は重要だったのです。

ということで今回はハードウェア情報(主に回路図)について書いてみます。

パーソナルなコンピュータの漢字事情 (第5回: 文字コード)

カテゴリー:

これまで表示や印字の見た目の話がメインでしたが、最後に文字コードの話をしてみたいと思います。

漢字ROMが最初に搭載された頃、パソコン上ではまだBASICが主流でしたが、まだ「文字」という扱いではありませんでした。JISコードを指定すればパターンとして表示できるというだけで、文字列として(変数に入れたり)扱うことはできませんでした。ワープロ等のソフトウェアは独自に処理していたものです。

使える文字もJIS第1水準の約3,000字(+非漢字)のみでした。足りない字については次のような方法で対処します。

  • 第1水準の文字で置き換える
    例えば私の姓の「淺」は第2水準なので、第1水準の「浅」を使っていました。
  • 外字(ユーザ定義文字)に定義する
    自分でフォントを作らなくてはいけないこと、互換性がなく他人とのやり取りに支障があること、使える字数が限られること、などの欠点があります。
  • (印刷なら)空白にしておいて手書きする

PC-9801シリーズ等ではオプションでJIS第2水準(約3,400字)まで使えるようになりました。

パーソナルなコンピュータの漢字事情 (第4回: スケーラブルフォント)

16×16ドットまでは漢字は読めれば(識別できれば)良いと思われていたのが、24×24ドットくらいから美しさが要求されるようになってきます。美しさを考える余裕が生まれたと言ってもよいかもしれません。
また書体(明朝体・ゴシック体など)やサイズを変えたいという要望も出てきます。

ディスプレイよりプリンタのほうが高解像度を実現しやすいこと、プリントは他人に渡すものであること、といった事情からかプリンタでの対応が先行することになります。

AdobeのPostScriptやCanonのLIPSといったページ記述言語では文字のサイズを自由に変化させることが可能になりました。それまでのフォントが(例えば24×24の)ドットの有無で定義されていた(ビットマップフォント)のに対し、文字の輪郭の座標を持って(アウトラインフォント)いて都度必要なサイズのドットに展開するのです。

パーソナルなコンピュータの漢字事情 (第3回: プリンタ)

カテゴリー:

これまで漢字を画面に表示することについて書いてきましたが、今回はプリンタについてです。

漢字が表示できるようになると当然ながら印字したくなります。

1980年代初期に一般的だったのはドットインパクトプリンタでした。縦にピンが1文字分並んだヘッドが左右に動きながら1行ずつプリントしていく仕組みです。

漢字を考慮していない初期のものは8~9ピン程度でした。
ASCIIやカナ文字は文字コードを送ればプリントできますが、漢字についてはパソコン側の漢字ROMのデータを使いグラフィックとしてプリントします。改行幅を調整して行間を0にして2行に分けてプリントするのです。
プリンタによっては半ドットの改行ができるものもあり、この場合は半ドットずらして重ね打ちすることで通常の高さでプリントできました。

前に取り上げたNK3618-21などは漢字を考慮してピン数が18ピンとなっています。漢字ROMを搭載しない「-21」と搭載する「-22」があり、「-21」にもあとから漢字ROMの追加が可能だったはずです。
漢字ROMを搭載していれば文字コードを送るだけで漢字もプリント可能になりました。

パーソナルなコンピュータの漢字事情 (第2回: PC-9801の登場)

前回は漢字ROMの登場とかな漢字変換まで書きました。今回はその続きです。

PC-9801ではグラフィック画面ではなくテキスト画面に漢字を表示できるようになりました。これによって漢字を含むテキストを高速で表示・スクロールできるようになりました。
ところで漢字を表示するにはASCII・カナの倍の幅が必要です。幅の違う文字をハードウェアでどう取り扱っていたのでしょうか?
これは実に単純な方式で、漢字は「左半分」と「右半分」の2文字としてテキストVRAMに書き込むようになっていました。左右を正しく組み合わせて漢字を表示するのはソフトウェアの仕事です。

初期のPC-9801のソフトウェアにはバグがあって、画面の右端に漢字が泣き別れるように表示しようとするとおかしな表示になることがありました。

このためPC-9801シリーズのテキストVRAMは漢字コードが格納できるように16ビット幅になっています(上位8ビットは漢字ROMボードに搭載)。必ず左右並べるので8ビット×2文字分で格納することも原理的には可能なはずですが、ハードウェアでやるのは大変だったからでしょう。

ページ