パーソナルなコンピュータのプロセッサ事情 (第11回: 異なるプロセッサを使う)
カテゴリー:
これまでさまざまなプロセッサを見てきましたが、本来と異なるプロセッサを使う試みも多くありました。
さまざまな目的・形態の製品が発売され、また個人で製作されることもあったのです。
まず目的から見てみましょう。
これまでさまざまなプロセッサを見てきましたが、本来と異なるプロセッサを使う試みも多くありました。
さまざまな目的・形態の製品が発売され、また個人で製作されることもあったのです。
まず目的から見てみましょう。
32ビット以上になるとRISC (Reduced Instruction Set Computer)と呼ばれる命令セットを持つプロセッサが出てきます。
従来のプロセッサとはソフトウェアの互換性が無いのでPC・パソコンの世界ではあまり使われませんでしたが、UNIXワークステーション等の世界では普及しました。「パーソナル」の趣旨から少し外れますが、リースバック品等を入手して個人で動かしていた人もそれなりにいましたので簡単に触れることにします。
IBMのPowerPCは一時期Apple Macintoshに使用されていました。またPlayStation3のCELLにも汎用プロセッサコアとして入っていました。
SPARCはSun Microsystemsや富士通のワークステーション・サーバに使用されました。一時期Sunワークステーションのジャンクや中古が用意に入手可能だったので自宅で動かしていた人もいました。(私もです)
MIPSはR3000, R4700といったモデル名で呼ばれることが多いです。RISCの中では広く用いられた部類だと思います。
もう少し16ビット時代の話を続けましょう。
Intelの80286ではプロテクトモードが導入されました。これは単にメモリ空間を拡大しただけではなく、名前の通りメモリの保護が可能になりました。今から考えると重要な機能なのですが、当時は「パーソナルな」コンピュータに保護は必要ないという考え方が残っていました。
このように多くのパソコン・PCに採用されました。
第3回で取り上げたMN1610も立派な16ビットプロセッサでしたが、一般的に16ビットのプロセッサとして認知度が高いのは今回取り上げるトリオでしょう。
Intelが8080, 8085の後継として投入したのが8086です。8080/8085との直接の互換性はありませんが、アセンブラソースレベルでの変換ツールは用意されていました(MC6800⇒MC6809に似ています)。約一年後に内部はそのまま外部バス幅を8ビットに変更したのが8088です。
8086はPC-9801シリーズ(VシリーズでV30に変更されるまで)に使われ8088はIBM PCに採用されたことで有名になり、現在のx64に続いていると言えるでしょう。他にも多くの採用例があります。
バッテリ駆動が前提のハンドヘルド機ではプロセッサ選択の基準も変わってきます。
まだリチウムイオン電池などは無く、アルカリ乾電池かNi-Cd充電池で実用的に使うためには消費電力が重要になります。まだn-MOSのものが多く、選択肢は限られていました。
Intelの8085は8080の改良版、といってもハードウェア的な変更が主でソフトウェア的にはほぼ8080です。Z80より先にCMOS版が供給されたため選ばれたようです。
CMOSの80C85を採用していたハンドヘルド機には次のようなものがありました。
今回取り上げる2つはパソコンの一時代を築いたものたちです。少なくとも日本では8ビットパソコンの多くはこのどちらかを搭載していました。
その後も16ビットの時代になるまでこれらが使い続けられることになります。
まずはZilogのZ80 CPUです。発表は1976年ですが、今でも(n-MOS版は無理ですが)CMOSのZ84C00はDIP品も含めて現行品です。
これまで取り上げたものはMCS-40がMCS-4の上位互換であった他はソフトウェアのバイナリ互換性はありませんでしたが、このZ80は8080の上位互換にあたります。
搭載機種はあまりに多くてきりがありませんが代表的なものを挙げてみます。
今回もちょっとマイナー路線です。
まず最初は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では残念ながらそれまでのものとソースレベルでもバイナリレベルでも上位互換ではなくなってしまっています。
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も発表されました。
あまり広くは使われませんでしたが、以下に採用されていました。
上位互換で32ビット浮動小数点命令のあるMN1613などというものもありました。