You are here

TMPZ8003


テーマ:

カテゴリー:

前回無事にZ8001が動作したわけですが、あれは以前中国から買ったもので念のため製作と並行して国内でZ8003も調達していました。


東芝製のTMPZ8003P-6、Z8003のセカンドソース品です。

Z8003というのはZ8001を仮想記憶対応したもので、MC68000に対するMC68010のようなものです。同様にZ8002に対するZ8004というのもありますが、セグメント無しの仮想記憶という需要はあまりなかったためか見かけませんね。

ピン配置はZ8001と一緒で、唯一RESERVEDだったピン33がABORTに変わっています。これはアクセスに失敗したことを知らせて実行中の命令を中断させ(例外処理を始め)る信号です。M68000系のBERRのようなものです。不用意にアサートされると問題なのでアダプタにプルアップを追加しました。

Z8001使用時にプルアップが問題にならないか、データシートにも記載はないようです。今のところZ8001でも問題なく動作しています。

Z8001との動作上の相違点は前述のアボート機能の他、TSET(Test and Set)命令で外部回路でロックできるように専用のステータスを出力することです。

MC68010ではバスエラー時にエラーになったアクセスの詳細や内部情報がスタックに積まれますが、Z8003は特に追加の情報は積まないようです。どうもアクセスの詳細は外部回路で記録しておけということのようです。どうせABORTを出すのはMMUだからそのくらいの追加は問題ないだろうという判断なのでしょうか。

内部情報が無いのは命令を頭から再実行するから不要ということなのでしょうかね。ロングワードのPUSHの2ワード目でエラー発生とかどうなるんでしょう。デクリメントしちゃったポインタレジスタとか戻しているのかな。

Z8001/Z8002とZ8003/Z8004の判別を書けないかなと思っていましたが、ここまで動作に違いが無いと難しそうです。ABORTTSETも外部回路の助けを借りないといけませんから、ソフトウェアのみで汎用なルーチンは無理です。他に動作の違いでもあればいいのですが...


Add new comment

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
※ コメントは原則公開です。個別のご相談などは「ご意見・ご要望」からお願いします。