|
|
|
特徴 |
Zilog拡張アーキテクチャ(EPA = Extended Processing Architecture)は、Z800CPUのハードウェアとソフトウェアの両面を拡張する極めて柔軟なモジュール方式の手法を提供します。EPAの機能は、 |
|
|
Z800 CPU命令セットを外部デバイスにより拡張可能 |
|
|
最大4つの専用外部プロセッサをCPUと並行して使うことによってシステムのスループットを向上が図れる |
|
|
Z8070フローティングポイントEPUが使用可能 |
|
|
Z800CPUベースのシステムのモジュール設計が可能 |
|
|
「シングル命令ストリーム」通信を使ってマルチマイクロプロセッサの管理を容易にできる |
|
|
EPUとZ800MPUの接続には、追加の外部ロジックを全く必要としない |
|
|
信頼できるソフトウェアによって、怪しいハードウェアのデバッグをサポート |
|
|
システムが成長したり、新たな機能を持つEPUが開発されても、新しくEPUを追加することが可能 |
|
|
概要 |
Zilog Z-BUS Z8000マイクロプロセッサの処理パワーは、それがもともと持っている機能を、拡張処理アーキテクチャ(EPA)により強化拡張することができます。EPAによってZ800CPUは、メイン命令実行ストリームと並行して特化された機能を実行する最大4つの拡張プロセシングユニット(EPU)を扱うことができるのです。
これらEPUは直接Z-BUSと接続され、EPU向けの命令(テンプレート)が来ないかCPU命令の流れを常に監視しています。テンプレートが見つかると、Z800CPUが生成した制御シグナルを使い、その機能を実行することによって、Z-BUS上のデータやステータス情報を取得して、適切なEPUがそれに応答します。
CPUはEPUに指示したりオペランドやデータを渡す必要があります。EPUはその内部レジスタ内のテンプレートのand/orのデータを供給されたデータを使うことで、そのテンプレートを認識し、実行します。 |
EPU命令には3つのクラスがあります。 |
|
|
メインメモリとEPUレジスタ間のデータ転送 |
|
|
CPUレジスタとEPUステータスレジスタ間のデータ転送 |
|
|
EPU内部操作 |
|
また、6つのアドレッシングモードが、EPUレジスタおよびCPU、メインメモリ間の転送に利用できます。 |
|
|
直接アドレス |
|
|
レジスタ間接 |
|
|
インデックス付き |
|
|
スタックポインタ相対 |
|
|
相対 |
|
|
ベースインデックス |
|
Z800MPUには、EPAがハードウェア実装されているときの機能だけでなく、EPU機能のソフトウェアシミュレーションを実現するための拡張命令トラップメカニズムもあります。Z800MPUトラップコントロールレジスタのEPU実装ビットは、EPUが実装されているか否かを示します。もしEPUが実装されていなければ、拡張命令が検出されたときにCPUがトラップし、「トラップハンドラ」ルーチンがEPU機能をエミュレートすることが可能です。このようにして、EPAトラップルーチンがEPUの実装されていないシステムをサポートするわけです。 |
EPAおよびCPU命令の実行の様子を下図に示します。CPUは命令をフェッチし、それがEPU命令であるかどうかを判断することから処理を始めます。もしその命令がEPU命令であるなら、トラップコントロールレジスタのEPUイネーブルビットの状態がテストされます。もしEPUイネーブルビットがリセットされている(E = 0)なら、CPUはトラップを発生させ、EPU命令は「EPU命令トラップルーチン」によってシミュレートされます。しかし、EPUイネーブルビットがセットされている(E = 1)と、システム内にEPUが存在することが明示され、4バイトのEPUテンプレートがメモリからフェッチされます。EPUテンプレートのフェッチはステータスラインST0-ST3でわかります。EPUはその間ずっとZ-BUSと自身のテンプレートのステータスラインを監視します。EPUテンプレートをフェッチ後、必要であれば、CPUはCPUとメモリまたはCPUとEPUの間のデータ転送を実行します。これらのトランザクションの状態はステータスラインでわかるようになっています。もしテンプレートとデータが現れたときにEPUがフリー状態だと、EPUテンプレートが実行されます。もしEPUがまだ前の命令を処理している最中なら、実行が完了するまで、CPUがそれ以上命令を実行しないように、PAUSEライン(Z8216のみ)をアクティブ化します。テンプレートの実行が完了した後、EPUはPAUSEラインをイナクティブ化し、CPU命令の実行が継続されます。 |
|
|
|
↑図をクリックすると拡大されます。
|
|