講義のツボプロジェクト2001後期
コンピュータアーキテクチャ
■木曜日3〜4限・曽我正和■
演習#13
2002.1.17実施
2002.1.24回答
(回答の空白部分を範囲選択をすると回答が見えます)
- もし、「割り込み」という機能がなければ、コンピュータはどういうことがやれなくなるか?
回答例:
ある一つのアプリを行っているとき、例えば、
- それと同時にプリントアウトを何枚も実行する。
- それと同時にメール着信信号を受け取る。
- 途中でそのアプリを中断して別のアプリを始める。
というような作業が出来なくなる。
- 割り込みルーチンへ移った最初に行う汎用レジスタの待避の順番を、R0,R1,R2,R3,R4,R5,とすると何か不都合があるか?
回答:
この問題のような順で待避させようとすると、まず、R0の待避をMOV,D0:IP6でうあることになる。この命令自体がMOV命令であるからこの命令のEX0状態のときにPSWフラグ、すなわちR5の値が変化してしまう。R1,R2,R3,R4の待避のときもR5は変化してしまう。
- R6を待避せずともよいのは何故か?
回答:
R6はユーザプログラムでも割り込みルーチンでも常にスタックポインタとして共有される。他の目的に勝手に使用することは厳禁である。仮に(R6)を待避して他の目的に使用するとスタックポインタを手元から失うことになる。(R6)はスタックの最上段に積まれてはいるものの、そのスタックへの道標がなくなる。よってR6はスタックポインタとして常に維持する必要があり、待避して他目的に使用することは禁止される。
←アーキのトップへ
←今期のツボトップへ
←鈴木研のトップへ