プロが教えるわが家の防犯対策術!

(1)割り込みの優先順位はどのような方法で決定されているか説明しなさい。
(2)入出力割込みの必要性について、プロセッサと入出力装置における時間経過にしたがって具体的に説明しなさい。

コンピュータアーキテクチャについて、以上の2つの設問が分かりませんでした。助言をお願いします。

(1)の設問では、インターネットで調べたのですが、割り込みなどのプロセスやタスクはディスパッチ処理などによって割り当てられている、ということが分かりました。
調べると、例えばディスパッチ処理では、「ディスパッチの優先順位はタスク毎に決められており,作られた時刻に関わらず優先順位の高いタスクから順にディスパッチされていく」ということまでは分かったのですが、その優先順位はどうやって決められているのか?ということが分からず困っています。

そして(2)の設問では、調べただけでは分かりませんでした。「入出力装置における時間経過」の意味が分からず、どう具体的に説明していいのかも分からない状況です。

以上の2点についてご回答お願いします。
質問に補足しなければいけない点などがあればコメントしてください。

A 回答 (4件)

1)CPUにより方法が異なります、一概にこういう方法というのはありません。


一部勘違いされていることがあるので、コメントしますが
マルチタスクOSにおけるプロセス、スレッドの優先度とCPUの割り込み優先度とは別のものです。

CPUの割り込み優先度、優先順位一般的に私の知る限り、
CPUの割り込み優先度は、
1)レベルで数段階の優先度を持つタイプのCPU
2)ノンマスカブル、マスカブルの2段階しかないもの
3)そもそも優先度という観念がないが、プログラムで振り分けできるもの

があるかと思います。 そもそも優先度、優先順位とは、
同時に複数の割り込みが発生した場合にどちらを先に実行するかという
ことです。
上記1)2)の場合には、デバイス毎に優先順位がデフォルトで決まっていて
それによります。 1)の場合はプログラムであらかじめデバイス毎にどのレベル
にするかを指定することが可能です。3)の場合は、共通ルーチンから割り込み要因を
自分で判別するので、どれを先に処理するかを決めることで優先度をつけることが可能
になると考えます。

2)詳しくは書きませんが、マイコンのハードウエアマニュアルなどに書かれている
タイミングチャートを想定すればよいかと思います。横軸に時間、縦軸には
いろんなイベントのオンとオフがあるというチャートです。

たとえば、SIO RS232C 9600bpsのデータ通信中に カードリーダ(DMA、完了時に割り込み)の読み取りにより、施錠を解除するようなことを想定しましょう。
2つの割り込みが同時に起こる場合にどのようなタイミングで処理すれば
処理可能なのか、そのために割り込み優先度をどちらを高く設定すればいいのか
それらを考えてチャートにしてみてはいかがでしょうか。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。解決しました。

お礼日時:2008/07/31 04:02

(2)について少々。



これはおそらく学校の課題だと思うので、直接答えを書く事はしません。
(利用規約に違反するからでもあるが)

ヒントを出しておきますので、それを元にご自身で調査・推論を進めて答えに辿り着いて下さい。

 ・入出力装置とOSとのデータの遣り取りのシーケンスを具体的に想像して見てください。
  (キーボートからの入力でも、HDDからの入力でも構いません)

 ・CPUの処理速度と入出力装置との処理速度の違いを調べて見てください。
  (単位は1秒で良いかな)

 ・割り込み処理の対義語に相当する「ポーリング処理」の意味を調べて見てください。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。ボーリング処理で割り込み処理を説明することも出来るようですね。

お礼日時:2008/07/31 04:04

他の方も回答されている通り、この設問の回答は主題により変わりますが、μITRONで考えるといいと思います。

(Webにいくらでも資料・説明はありますし)

ちなみに授業・講義の課題で出た設問だと思いますが、その中で説明や配布された資料の中には、これらについて何も記載がないのでしょうか?(特に時間経過の図は割り込みの説明に必ず登場しそうなものですが...)

参考URL:http://www.nces.is.nagoya-u.ac.jp/NEXCESS/blog/i …
    • good
    • 0

(1)(2)だけでは、割り込みに関する主題がわかりません。


それによって多少内容が違ってきます。

>その優先順位はどうやって決められているのか?ということが分からず困っています。
設計上で利用頻度や重要性などを鑑みて決めます。

>「入出力装置における時間経過」の意味が分からず、どう具体的に説明していいのかも分からない状況です。
(1)にも関係しますが、まず「割り込み」という概念、結局のところなぜ「割り込み」という処理が必要かについては理解されていますか?

質問とは離れて、一例として記載します。
例えば、デスクワークで筆記作業を行っている時に電話かかってきました。
この「電話がかかってくる」ということが割り込みになります。
ここでは二つの選択肢があります。
a.電話に出ないで筆記作業を継続する。
b.一時筆記作業を中断して電話の応対を行う
この「筆記作業」と「電話の応対」のどちらを優先するかが優先度です。
また、a/b以外に「かかってきた相手先によって電話に出るかを判断する」という行為も考えられます。
この「かかってきた相手」も「応対する/しない」といった行為をおこなうので「優先順位」になります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!