アダルト・ヴァイオリン May the force be with you..

2008年7月16日

SN/Xにおける割込みサポート

Filed under: Weblog — い~ぐる @ 4:17 PM

テキストの巻末付録にはこっそり割込みをサポートしたパイプラインCPUのソースコードを掲載しているが、それとは、少し違うアーキテクチャで割込みをサポートしてみよう。

  1. 割込みベクタ、割込み時PCの格納先をデータメモリ1,0番地とする
  2. 割込み復帰用にメモリ間接分岐命令(BRI)を作り、この命令で割込み許可を可能とする
  3. ソフトウェア割込み命令(EXR)を追加
  4. 割込み入力信号ピンを追加
  5. リセット時は割込み禁止
  6. アドレス最上位ビットが1のアドレスをIO空間とし、キャッシュしない
  7. 割込み刈取りはソフト責任

などの特徴を持たせる。

割込みピンが追加されていたりするので、テストベンチも変更する必要があるし、命令追加に対応するため、アセンブラにも手を入れなくてはならないが、必要な人は個別に連絡をいただくとして、とりあえず、

SN/Xに割込みを追加するパッチ

と、

割込み付きパイプラインSN/Xのソース

をアップしておこう。

追記:このソースは、割込みがクロック同期であることを前提としています。
実用的にするには、CPU内部で割込み信号を同期化しましょう。

Powered by WordPress