nodocumentsの日記: 貴様はこれまでに出したバグの数を覚えているか? 5
日記 by
nodocuments
無茶を言うな
メインフレームの割り込みハンドラの中で割り込み発行して無限ループに陥らせたことがあるが
割り込み処理は優先度が高いので他の処理が全部止まって大騒ぎになったっけなぁ(トオイメ…
無茶を言うな
メインフレームの割り込みハンドラの中で割り込み発行して無限ループに陥らせたことがあるが
割り込み処理は優先度が高いので他の処理が全部止まって大騒ぎになったっけなぁ(トオイメ…
コンピュータは旧約聖書の神に似ている、規則は多く、慈悲は無い -- Joseph Campbell
憶えているわけが無い (スコア:2)
割り込みは (スコア:0)
割り込みをされる側の方が難しいですね。
データを壊されないように割り込み禁止にして守ってやらないといけないし。
Re: (スコア:0)
一般的にはアトミック又はリアルタイムな処理でだけ割り込み禁止して、
割り込む側が他のステートを維持(又は保存&復元)する事が多い気がするけど。
メインフレームだと違うんかな?
Re: (スコア:0)
(ARM の cortex-M3 とかのイメージなんだけど)
パイプラインなRISC CPUで(core側の)割り込み禁止命令を置いたら
次の命令行ではもうホントに割り込み禁止になってるの?
ブランチ命令の遅延スロットみたいに継続の1命令も実行されちゃうんじゃないの?
って疑問を持ちつつ割り込みまわり書いてるけど明白に記述されたドキュメントには
まだ巡りあってない。(まあそれで問題になったわけでもないんだが)
「割り込み禁止はこの命令を使え」っていう記述はあるんだけどね。
周辺レジスタ側での割り込み禁止ビットの書き込みは
たぶん実際に書き込まれるのは数クロック後だからアレよね?
Re:割り込みは (スコア:1)
「次の命令」でなく、「次のバスサイクル」になってないかな? CISCでさえ「次のバスサイクルが始まるときにフェッチされる」で、数クロックかかっていたはず。 確か「割り込み禁止しても次の命令のまえに割り込みが発生することがあります」って書いてあったのは見た気がする。