- ZILOG Z8001 (16bit CPU)
- Address bus 23bit, Data bus 16bit.
- DIP48P、Clock 4MHz、6MHz、10MHz.
- N-MOS トランジスタ数 17,500.
- 1979年発表.
Z80が大ヒットしたZilog社が次に手がけた16bitCPUがZ8001/2です。
Z8001/2は前作のZ80がi8080との互換性を持たせたのに対し、全く新しいアーキティクチャで設計されました。
Z8001/2にはメモリ管理にセグメント機構を使用するZ8001と使用しないZ8002の2種類があります。
前者をセグメント版、後者をノンセグメント版と呼びますが、中身は同一のCPUです。
パッケージの際のボンティングで分けられました。
Z8001は専用のMMU(Z8010)と組み合わせることで、最大で8MBまでのメモリーを使用できました。
Z8001/2の特徴を簡単に列挙すると。
- USER/SYSTEMの動作モードを持つ
- メモリーアドレス空間はセグメント版で8Mバイト、ノンセグメント版で64Kバイト
- 上記のアドレス空間はさらにUSER/SYSYTEMで別々に配置可能
- I/Oアドレス空間は64Kバイト
- 時分割されたアドレス/データバスを採用(Z-BUS)
- 16bitの汎用レジスタを16個持ち、それらは組み合わせて32bit、64bitレジスタとしても使用可能
- 116種の命令
- 8種類のアドレッシングモード
Z8001はセグメント方式で23bit空間のメモリーを管理します。
メモリーアドレスには、セグメント値7bitとオフセット値16bitを組み合わせて指定します。
セグメント値をいったんMMUに入力することにより、論理アドレス-物理アドレスの変換や
再配置など細かなメモリー管理が可能でした。
Z8001/2にはSYSTEMモードと呼ばれる特権モードが用意されました。
このモードはOSやI/O操作等に用いられます。
一方のUSERモードは通常のアプリケーションで使用される動作モードで、
I/O操作などシステムに影響を与える命令の動作が制限されます。
特権モードはMC68000にも用意されていましたが、i8086は8bitからの置き換えを
重視していたせいか用意されていませんでした。i8086が特権モードを用意したのは
iAPX286(80286)からで、一気に4レベルの動作モードが使用することができました。
Z8001/2は16bitCPUでありながら、32bit処理命令をいつか備えていました。
16bit幅の汎用レジスタの組み合わせで、それらを32bit幅や64bit幅のレジスタとして使用できました。
Z8001/2はi8086やMC68000と異なり、マイクロコードはほとんど使用されておらず、
ワイアードロジックにて回路が構成されていました。
そのため、総トランジスタ数が17500個とi8086の29000個、MC68000の68000個と比較して
大変少ない数で構成されています。
右は10MHz版のZ8001。ちなみに1994年第49週品。
ページ先頭は4MHz軍用版のZ8001、1984年第42週品です。
セカンドソースを何点か。
上からAMD社製のZ8001(4MHz品)
SHARP社製のZ8001(6MHz品)
右は最近入手したZ8001 CPUをいくつか。
上の2つが10MHz版、一番下が6MHz版です。
1986年頃までは Z8001が4MHz、Z8001Aが6MHz
Z8001Bが10MHzを表していました。
その後1987年頃に型番の変更が行われ、
型番の最後の数字が動作周波数を表すように
なりました。