2017-03-22 22:04 — asano
前にZ8001 CPUをお見せしましたが、今回のものはその弟分にあたるものです。
Zilog製のZ0800206PSC、Z8002と呼ばれているものです。これは6MHz版、「0817」ということは2008年製ということでしょうか。
Z8001は16ビットのアドレスと7ビットのセグメントで広大な(今となってはそれほどでもありませんが)メモリ空間をサポートしましたが、このZ8002はセグメントがありません。ですからメモリ空間は64kBのみと8ビットCPU並みになります。
このセグメントの省略により、Z8001が48ピンパッケージだったのに対しZ8002は一般的な40ピンのパッケージとなっています。
少なくなった8ピンの内訳は、セグメント(SN0~SN6)で7本と、MMUがセグメントのエラーを通知するSEGT(Segment Trap)です。
ハードウェアの違いはこれだけですが、ソフトウェアもポインタ長が違うので注意が必要です。Z8001ではポインタは16ビットの汎用レジスタを2つペアにして用いますが、Z8002では1つで済みます。全部で16本しかないレジスタのいくつか(少なくともSPは必要)をペアにしてしまうとレジスタにはそれほど余裕はなくなってしまいそうです。
Z8001でもセグメントを使わないモードにすることは可能で、Z8002用の通常のコードはそのまま実行可能になります。ただし、例外処理に関しては対応が必要になります。
逆に、セグメントを使用しなければセグメントレジスタを汎用レジスタとして使用できる、と考えることもできます。こっちの方が少し前向きでしょうか。
ちなみにCP/M-8000は128kB以上のメモリが必要らしいのでZ8002では動作できません。
実はデバイス以外にマニュアルも出てきました。それもオリジナルのZilogのものだけでなく、セカンドソーサになっていたAMDとシャープのものもです。
すっかり忘れていましたが、これだけ資料を集めていたということは当時から「いつか作りたい」と思っていたということでしょうね。
参考文献・関連図書:
「Z8000 Data Manual」Zilog.
「AmZ8000 Family Data Book」Advanced Micro Devices.
「Z8000ユーザーズ・マニュアル 1 CPU/MMU編」シャープ.
コメントを追加