Z800
Z800 は、ザイログが1985年にリリースを予定して設計していた16ビットマイクロプロセッサ。Z80とは命令レベルの互換性を維持しつつ多数の命令を追加し直交性を大幅に強化していた。また、オンチップのキャッシュメモリと16MBのメモリ空間を管理するメモリ管理ユニットを備えていた。しかし、32ビットのZ80000の方が優先され、結局Z800は大量生産されることなく終わった。1987年にはZ800のアーキテクチャを引き継いでCMOS化したZ280プロセッサが製品化されている。
概要
レジスタセットの拡張はないが、命令セットは大幅に直交化され、汎用性を高めた。多数の8ビット操作や16ビット操作が追加され、Z80では用途が限定されていた HL、IX、IY レジスタは、16ビット幅の汎用のアキュムレータとされた。Z80ではレジスタオペランドに使用可能だったが、即値データ、直接アドレス、レジスタ間接、インデックス付きオペランド、プログラムカウンタ相対などにも使えるようになった。8ビット演算でも、スタックポインタ相対アドレッシングと8ビットまたは16ビットの即値オフセットが可能となっている。
アドレスバスは16MBのメモリを扱えるよう24ビット幅に拡張された。製品としては外部バスを19ビットに制限して40pinのパッケージに収めて512kBメモリを扱えるバージョンと、24ビット外部バスで16MBメモリを扱える64pinのパッケージに収めたバージョンが用意された。Z80と同様、DRAMコントローラとクロックを内蔵している。256バイトのRAMを内蔵し、スクラッチパッドとしても使えるし、キャッシュとしても機能する。キャッシュとして利用する場合には、命令キャッシュ/データキャッシュ/両用の設定ができる。
さらに、マルチプロセッシングという野心的な構想もあり、疎結合または密結合のスレーブプロセッサ群を構成可能で、メモリを共有するか否かも選択可能とされた。これを extended processing architecture および extended processing units (EPU) と称した。
もう1つのオプションとして、Z80と互換性の高い8ビットデータバスの他に16ビットデータバスの製品もあり、メモリシステムが適切に設計されていればデータ転送レートが2倍になる。外部アドレスバスの幅も2種類あるので、このチップには4つのバージョンが存在した。
part # | ピン数 | データバス幅 | アドレスバス幅 |
---|---|---|---|
Z8108 | 40 | 8ビット | 19ビット (512kB) |
Z8116 | 40 | 16ビット | 19ビット (512kB) |
Z8208 | 64 | 8ビット | 24ビット (16MB) |
Z8216 | 64 | 16ビット | 24ビット (16MB) |
失敗の原因
Z800は全体として、ミニコンピュータに影響された「超Z80」とも言うべきもので、大きなプログラムを非常に高速に実行できただろう。しかし、アドレスバスとデータバスのピンは多重化されており、プログラミング的にもインタフェース的にも複雑化していた。正確な実行時間の計算もZ80に比べると非常に難しかった。さらに言えば、普通のZ80で当時の大抵のアプリケーションには十分であり、多くの場合Z800の複雑さに見合うほどの高性能が要求されることは少なかった。マーケティング上の失策も影響したと見られる。日立製作所は、後にHD64180を開発した。これはZ800ほど野心的ではないが、大いに成功を収めた。それは、Z80に比較してプログラムやインタフェースの複雑さがほとんど増していなかったためと思われる。若干設計を変更したZ180が後にザイログからリリースされ、その後20年以上に渡って開発・生産が続いている。
その他の成功したZ80派生製品(ザイログ製)
成功を収めたZ180(開発は主に日立製作所が行った)は別として、Z80アーキテクチャの拡張の試みは他にも行われている。32ビット化したZ380(1994年リリース)は商業的には成功しなかったが、通信分野で需要があるため今も生産されている。一方、アドレスバスを24ビット幅とし、パイプライン化で高速化をはかったeZ80(2001年リリース)は商業的にも成功し、各種技術賞も受賞した。興味深いことに、Z800、Z280、Z380 とは異なり、eZ80 は命令を追加したりアドレッシングモードを追加したりせず、単に16ビットレジスタを24ビットに拡張してメモリ容量を256倍にし、同時に内部をパイプライン化することでZ80命令をオリジナルの4倍の速度で実行できるようにしたものであった。