思い出・昔話

パーソナルなコンピュータのプロセッサ事情 (第8回: 続・16ビット時代)

2017-10-26 22:29 — asano

テーマ

カテゴリー

もう少し16ビット時代の話を続けましょう。

Intelの80286ではプロテクトモードが導入されました。これは単にメモリ空間を拡大しただけではなく、名前の通りメモリの保護が可能になりました。今から考えると重要な機能なのですが、当時は「パーソナルな」コンピュータに保護は必要ないという考え方が残っていました。

  • IBM PC AT
    「AT互換機」という名前はここから来ています。PCのバスが初めて16ビット幅になりました。
  • NEC PC-98XA, PC-98XL, ...
    いわゆるハイレゾ機です。
  • NEC PC-9801VX, ...
    互換性重視のためそれまでのV30も搭載しています。同時動作はできず、切替式になっています。
  • 富士通 FM-16Β(FD II, HD II)

このように多くのパソコン・PCに採用されました。

パーソナルなコンピュータのプロセッサ事情 (第7回: 16ビット時代へ)

2017-10-25 23:21 — asano

テーマ

カテゴリー

第3回で取り上げたMN1610も立派な16ビットプロセッサでしたが、一般的に16ビットのプロセッサとして認知度が高いのは今回取り上げるトリオでしょう。

Intelが8080, 8085の後継として投入したのが8086です。8080/8085との直接の互換性はありませんが、アセンブラソースレベルでの変換ツールは用意されていました(MC6800⇒MC6809に似ています)。約一年後に内部はそのまま外部バス幅を8ビットに変更したのが8088です。
8086はPC-9801シリーズ(VシリーズでV30に変更されるまで)に使われ8088はIBM PCに採用されたことで有名になり、現在のx64に続いていると言えるでしょう。他にも多くの採用例があります。

パーソナルなコンピュータのプロセッサ事情 (第6回: ハンドヘルド)

2017-10-24 21:58 — asano

テーマ

カテゴリー

バッテリ駆動が前提のハンドヘルド機ではプロセッサ選択の基準も変わってきます。

まだリチウムイオン電池などは無く、アルカリ乾電池かNi-Cd充電池で実用的に使うためには消費電力が重要になります。まだn-MOSのものが多く、選択肢は限られていました。

Intelの80858080の改良版、といってもハードウェア的な変更が主でソフトウェア的にはほぼ8080です。Z80より先にCMOS版が供給されたため選ばれたようです。

8085の初のCMOS版は沖電気のMSM80C85で1981年登場、Z80では1982年末のシャープLH5080が最初です。

CMOSの80C85を採用していたハンドヘルド機には次のようなものがありました。

パーソナルなコンピュータのプロセッサ事情 (第5回: Z80とMC6809)

2017-10-23 20:15 — asano

テーマ

カテゴリー

今回取り上げる2つはパソコンの一時代を築いたものたちです。少なくとも日本では8ビットパソコンの多くはこのどちらかを搭載していました。

世界的にはこれらに6502を加えた3種が多く使われました。

その後も16ビットの時代になるまでこれらが使い続けられることになります。

まずはZilogのZ80 CPUです。発表は1976年ですが、今でも(n-MOS版は無理ですが)CMOSのZ84C00はDIP品も含めて現行品です。
これまで取り上げたものはMCS-40がMCS-4の上位互換であった他はソフトウェアのバイナリ互換性はありませんでしたが、このZ80は8080の上位互換にあたります。
搭載機種はあまりに多くてきりがありませんが代表的なものを挙げてみます。

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

2017-10-22 21:56 — asano

テーマ

カテゴリー

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

まず最初は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回: ミニコン由来のものたち)

2017-10-21 20:45 — asano

テーマ

カテゴリー

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登場)

2017-10-20 21:55 — asano

テーマ

カテゴリー

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ビットの頃)

2017-10-19 22:37 — asano

テーマ

カテゴリー

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

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

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

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

2017-10-14 16:04 — asano

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

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

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

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

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

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

2017-10-13 10:22 — asano
カテゴリー

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

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

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

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

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

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