CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

挿入部品完了

基板に実装する部品で残っていたボックスコネクタ10p,14p,20pを取付けて部品のはんだ付けはすべて終わりました。

f:id:O3I:20200130213922j:plain

あとはコプロセッサNS32081をソケットに差し込めば完成です。

 

f:id:O3I:20200130214106j:plain

パラレル出力の20ピンコネクタにデバッグ用LED基板を差し込んでチカチカさせています。このポートにはNS32202から16ビットのポートを接続していますが、このうち汎用I/Oにプログラムできるのは8ビットのみで残り8ビットは割込み入力に固定されているため赤いLEDしか点滅しません。

 

ところでこのボードの今までの動作状態と違うのはCPUの上の方にあるオレンジ色のLEDが消灯しているところです。右側のLED(D2)はCPUのU/~Sピンに直結してあるのでスーパバイザモードのとき点灯しますが、消えているということはユーザモードです。

f:id:O3I:20200130214046j:plain

 

実はリセット解除後の初期化の中でbispsrw命令によってPSRレジスタ中のU(ユーザ)ビットをONにしてユーザモードに切り替える実験をしていました。

f:id:O3I:20200130215204j:plain

こんな小規模でOSも無いシステムではスーパバイザモードもユーザモードも関係ありませんがPSRを弄るbispsr/bicpsr命令自体がスーパバイザモードでしか許可されない特権命令のため、一度ユーザモードに移行したあとでbicpsrw x'0100とかでスーパバイザモードに戻ろうとすると特権違反、いわゆる「一般保護例外」でトラップしてしまいます。