Z80000

Z80000はザイログ社が1986年から投入した32ビットマイクロプロセッサであり、16ビットプロセッサZ8000の拡張版である。マルチプロセッサ対応機能を持っていて、6ステージのパイプラインを持ち、256バイトのキャッシュを備えていた。メモリ空間は4GバイトIC collection Z80000。当時の記述として「ワンチップのメインフレーム」とされていた。このプロセッサは色々な意味でインテルの80386に近い。
Z8000用のコードは実行できたが、x86との互換性はなく、Z80とも互換性はなかった。

Z80000の発表は1983年に行われ、1984年第2四半期にサンプル出荷、第4四半期から量産、平均性能は1.5MIPS、ピーク性能は5.0MIPS(10MHz動作時)とされていた。

16本の32ビット汎用レジスタを持ち、様々なサイズのレジスタとして使うことができた。MMUを備えていてメモリのプロテクション機能を提供している。このプロセッサはメモリアクセス方式を3種類用意していた。
 コンパクトモード：小規模プログラム用、64Kバイト空間のみアクセス可（Z8000のセグメント無しモードと同じ）
 セグメントモード：32,768セグメント×64Kバイト、または128セグメント×16Mバイト(トータルで2Gバイト空間にアクセス)
 リニアモード：4Gバイト空間に直接アクセス可能

FPUとしてZ8070を接続する予定であったが、Z8070は量産前に開発中止になった8ビットCPUの名機Z80の後継はなぜ失敗した？　Zilog Z800/Z8000/Z80000の誕生と消滅（人知れず消えていったマイナーCPUを語ろう　第10回）。

1988年にZ320というZ80000のCMOS版が発売されたIC collection Z320。

 アーキテクチャ 
Z80000では、32bit長で真の汎用レジスタを16本持つレジスタ指向のプロセッサーで、どのレジスタでも用途に制限なく、アキュムレータ、アドレスレジスタ、スタックポインタ、またはデータレジスタとして使える。したがって、特定の専用レジスタへフェッチするためのボトルネックが生じない。これら任意のレジスタをスタックポインタとして使用できるため、解析操作に必要なスタックポインタを複数提供することも可能で高水準言語サポートに有利といえる。レジスタ構成において、様々なサイズのデータ型レジスタとして使うことができた。レジスタは、上位24bitあるいは16bitを損なわずに、それぞれ8bitまたは16bitの算術演算および論理演算に使用することができ、より大きなレジスタ空間の効果が得られた。さらに、32bit長レジスタをペアにすることで64bitデータ用にもできる。

 アドレス空間 
アドレス空間のアドレッシングモードには、コンパクトモード、セグメントモード、リニアアドレッシングのモードがあり、フラグ・コントロール・ワード（FCW）のうち 2 bit を用いてモード選択できる。

リニアアドレッシングでは、32bit論理アドレスを使って最大4ギガバイトのメモリに直接アクセスでき、4種類のアドレス空間「システム・モードとノーマル・モード、命令用とデータ用」に別れたアドレス領域が用意されている。
プログラマーは、4種類の異なるアドレス領域を利用してメモリ空間にアクセスでき、アプリケーション環境で特定要件に適用する際にプロセッサの柔軟性を最大限に提供できる。コンピュータ・グラフィックスや大規模配列の処理など、セグメンテーションの構造を用いずに大規模なリニアアドレス空間を必要とするアプリケーションに向いている。

コンパクト・モードでは16bitアドレスを用い、これをプログラム・カウンターの上位16ビットに連結させ32bitアドレスを扱える。 64Kワークスペース内で動作するプログラムは、コンパクト・モードの高密度コードが利用でき、ベース・レジスタを効率的に活用できる。

セグメント・モードでは、個々のオブジェクトを分離した保護メモリのセグメントに割り当てられる。アドレス計算中も、セグメントは変更されず、オフセットだけが影響を受ける。また、最大16メガバイトまでの128セグメントと、最大64キロバイトまでの32Kセグメントの2種類のセグメント・サイズが用意されており、アドレス・フィールドの最上位ビットによって制御でき柔軟に使い分けることができる。

 脚注 

 参考文献 

外部リンク
1984年の文書をスキャンして電子化したもの。

Category:マイクロプロセッサ