JP2008084043A - 割り込み処理方法 - Google Patents
割り込み処理方法 Download PDFInfo
- Publication number
- JP2008084043A JP2008084043A JP2006263783A JP2006263783A JP2008084043A JP 2008084043 A JP2008084043 A JP 2008084043A JP 2006263783 A JP2006263783 A JP 2006263783A JP 2006263783 A JP2006263783 A JP 2006263783A JP 2008084043 A JP2008084043 A JP 2008084043A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- interrupt
- control unit
- device control
- interrupt processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
【課題】割り込み対象装置のI/OレスポンスとI/O処理回数とを同時に向上することができる割り込み処理方法を提供する。
【解決手段】上記課題を解決するために、装置制御部101は、自身の負荷に応じて自身に対する割り込み処理の方式を決定し、決定した割り込み処理の方式を割り込み制御情報として記憶する。周辺装置制御部102は、装置制御部101からの実行要求を受付けると、命令記憶部103から命令を読出して実行し、割り込み制御情報に応じた割り込み処理方式で装置制御部101に割り込みを行い終了通知をする。
【選択図】図1
【解決手段】上記課題を解決するために、装置制御部101は、自身の負荷に応じて自身に対する割り込み処理の方式を決定し、決定した割り込み処理の方式を割り込み制御情報として記憶する。周辺装置制御部102は、装置制御部101からの実行要求を受付けると、命令記憶部103から命令を読出して実行し、割り込み制御情報に応じた割り込み処理方式で装置制御部101に割り込みを行い終了通知をする。
【選択図】図1
Description
本発明は、周辺デバイスからCPU(Central Processing Unit)への割り込み処理方法に関する。
情報処理装置や組み込みハードウェアにおいては、割り込み処理を使用することは当然の技術となっている。例えば、CPUが周辺デバイスに対して所望の処理を実行させる場合も、効率的に周辺デバイスを制御するために割り込み処理が利用される。
図9は、DMA転送を行なう場合の一般的な構成例を示す図である。
CPU901は、実行しようとする命令をメモリ902に書き込むとともに、DMAエンジン(以下、単に「DMA」という)903に命令の実行を要求する。すると、DMA903は、CPU901からの要求に応じてメモリ902から所定の命令を読出して実行する。
CPU901は、実行しようとする命令をメモリ902に書き込むとともに、DMAエンジン(以下、単に「DMA」という)903に命令の実行を要求する。すると、DMA903は、CPU901からの要求に応じてメモリ902から所定の命令を読出して実行する。
実行が完了すると、DMA903はCPU901に対して割り込み処理をおこなって命令実行が完了した旨の終了通知を行なう。
従来は、以下のような割り込み処理が行なわれていた。
従来は、以下のような割り込み処理が行なわれていた。
図10は、割り込み処理の従来例を説明する図である。
(1)CPU901がDMA903に対して命令の実行要求を行なうと、(2)DMA903は、メモリ902から所定の命令を読出して実行を行なう。そして、(3)直ちに、CPU901に対して割り込み処理を行なって、命令の実行が終了した旨の終了通知を行なう。(4)〜(9)も同様である。以上に説明した割り込み処理を、以下「即時割り込み処理」という。
(1)CPU901がDMA903に対して命令の実行要求を行なうと、(2)DMA903は、メモリ902から所定の命令を読出して実行を行なう。そして、(3)直ちに、CPU901に対して割り込み処理を行なって、命令の実行が終了した旨の終了通知を行なう。(4)〜(9)も同様である。以上に説明した割り込み処理を、以下「即時割り込み処理」という。
また、以下に示す割り込み処理を使用する場合もある。
図11は、図10と異なる割り込み処理の従来例を説明する図である。
(1)CPU901がDMA903に対して命令−1の実行要求を行なうと、(2)DMA903は、メモリ902から命令−1を読出して実行する。この時、(3)DMA903は、命令−1の実行が完了しても一定時間割り込みを上げない。そして、一定時間経過後、CPU901に対して割り込み処理を行なって終了通知をする。
図11は、図10と異なる割り込み処理の従来例を説明する図である。
(1)CPU901がDMA903に対して命令−1の実行要求を行なうと、(2)DMA903は、メモリ902から命令−1を読出して実行する。この時、(3)DMA903は、命令−1の実行が完了しても一定時間割り込みを上げない。そして、一定時間経過後、CPU901に対して割り込み処理を行なって終了通知をする。
(4)同様に、CPU901がDMA903に対して命令−2の実行要求を行なうと、(5)DMA903は、命令−2を実行後、一定時間割り込み処理(終了通知処理)を休止する。 (6)さらに、CPU901がDMA903に対して命令−3の実行要求を行なうと、(7)DMA903は、命令−2の終了通知をすることなく命令−3を実行する。
(8)一定時間経過すると、DMA903は、CPU901に対して割り込み処理を行なって当該一定時間内に実行した命令(命令−2及び命令−3)の終了通知を行なう。以上に説明した割り込み処理を、以下「遅延割り込み処理」という。
図9に示した装置を、例えば、ディスクアレイ装置の制御装置に使用した場合、ホストコンピュータからのI/O命令をCPU901が実行するレスポンス時間(以下、「I/Oレスポンス」という)を改善するには、即時割り込み処理を使用した方が有利である。しかし、CPU901の負荷が高くなるため、CPU901が一定時間に処理できるI/O命令の回数(以下、「I/O処理回数」という)は低下する。
一方、I/O処理回数の改善には、遅延割り込み処理を使用した方が有利であるが、割り込むタイミングが制限されるため、I/Oレスポンスが低下する。
特許文献1には、CPUへの割り込み後、CPUが割り込み受付け通知を出すまで割り込み処理を停止するI/O割り込み制御方式について開示されている。また、特許文献2には、コマンドの種類やキャッシュメモリの使用状況に応じて、即時割り込みと遅延割り込みとを選択的に実行する割り込み実行方法について開示されている。
特開平02−041548号公報
特開2002−023961号公報
特許文献1には、CPUへの割り込み後、CPUが割り込み受付け通知を出すまで割り込み処理を停止するI/O割り込み制御方式について開示されている。また、特許文献2には、コマンドの種類やキャッシュメモリの使用状況に応じて、即時割り込みと遅延割り込みとを選択的に実行する割り込み実行方法について開示されている。
本発明は、上述した問題に鑑みてなされたものであり、その解決しようとする課題は、割り込み対象装置のI/OレスポンスとI/O処理回数とを同時に向上することができる割り込み処理方法を提供することである。
上記課題を解決するために、本発明に係る割り込み処理方法は、周辺装置に対してデータの入出力処理を行なう周辺装置制御部と該周辺装置制御部に対して任意の命令を実行させる装置制御部とを有する情報処理装置における割り込み処理方法において、前記装置制御部が、所望の命令を命令記憶部に記憶して、前記周辺装置制御部に対して該命令を実行するように要求するとともに、自身の負荷状態に基づいて割り込み処理の方式を決定し、該決定した方式を割り込み制御情報として割り込み制御情報記憶部に記憶し、前記周辺装置制御部が、前記装置制御部からの要求に応じて前記命令を実行し、該実行の終了を前記装置制御部に通知するための割り込み処理を、前記割り込み制御情報に基づいて行なう、ことを特徴とする。
本発明によると、装置制御部が自身の負荷状態に基づいて自身に対して行なわれる割り込み処理の方式を決定し、割り込み制御情報として割り込み制御情報記憶部に記憶する。一方、周辺装置制御部は、その割り込み制御情報として記憶された(設定された)割り込み制御処理の方式にしたがって装置制御部に対する割り込み処理を行なう。
したがって、例えば、装置制御部の負荷が低い時には、直ちに割り込み処理を行なう即時割り込み処理を行なうように割り込み制御情報に設定することで、装置制御部が周辺装置制御部から実行終了の通知を得るまでの時間(例えば、I/Oレスポンス)を向上できる。
また、装置制御部の負荷が高い時には、一定時間経過するまで割り込み処理を行なわない遅延割り込み処理を行なうように割り込み制御情報に設定することで、装置制御部の負荷が軽減されるので装置制御部による周辺装置制御部への命令回数(例えば、I/O処理回数)を向上できる。
以上に説明したように、本発明によると、割り込み対象装置のI/OレスポンスとI/O処理回数とを同時に向上することができる割り込み処理方法を提供できる。
以下、本発明の実施の形態について図1〜図8に基づいて説明する。
図1は、本発明の実施例に係る割り込み処理方法を使用するディスクアレイ制御装置100の動作原理を説明する図である。
図1は、本発明の実施例に係る割り込み処理方法を使用するディスクアレイ制御装置100の動作原理を説明する図である。
図1に示すディスクアレイ制御装置100は、ホストコンピュータ105からの要求に応じてディスクアレイ106に対してデータの読出し・書込み処理を行なう。また、ディスクアレイ制御装置100は、他のディスクアレイ制御装置107とデータの送受信を行なう。例えば、ディスクアレイ装置が多重化されている場合のデータの同期処理等でデータの送受信が行なわれる。
本実施例に係るディスクアレイ制御装置100は、装置全体の制御を行なう装置制御部101と、装置制御部101の要求に応じて他のディスクアレイ制御装置107とデータの送受信等を行なう周辺装置制御部102と、実行命令やディスクキャッシュ時のデータ記憶する命令記憶部103と、割り込み制御情報を記憶する割り込み制御情報記憶部104と、を少なくとも備える。
装置制御部101は、ホストコンピュータ105からの要求に応じてディスクアレイ106に対してデータの読出し・書込み処理を行なう。
また、装置制御部101は、周辺装置制御部102に対して他のディスクアレイ制御装置107とデータの送受信等の処理を実行させる。この時、装置制御部101は、実行させたい命令を命令記憶部101に書き込んだ後、周辺装置制御部102に対して実行要求を行なう。
また、装置制御部101は、周辺装置制御部102に対して他のディスクアレイ制御装置107とデータの送受信等の処理を実行させる。この時、装置制御部101は、実行させたい命令を命令記憶部101に書き込んだ後、周辺装置制御部102に対して実行要求を行なう。
同時に、装置制御部101は、自身の負荷状態に基づいて自身に対する割り込み処理の方式を決定する。そして、決定した割り込み処理の方式を割り込み制御情報として割り込み制御情報記憶部10に記憶する。
周辺装置制御部102は、装置制御部101からの実行要求を受付けると、命令記憶部103から命令を読出して実行し、例えば、他のディスクアレイ制御装置107とデータの送受信等を行なう。そして、命令の実行が完了すると、割り込み制御情報にしたがって装置制御部101に対する割り込み処理を行い終了通知をする。
図2は、本発明の実施例に係る割り込み処理方法を使用したディスクアレイシステムの全体構成の例を示す図である。
図2に示すようにディスクアレイシステム200は、RAID(Redundant Arrays of Inexpensive Disks)等を構成するディスクアレイ装置201〜204と、各ディスクアレイ装置間を通信可能に接続するFRT(Front end Router)205と、を備える。
図2に示すようにディスクアレイシステム200は、RAID(Redundant Arrays of Inexpensive Disks)等を構成するディスクアレイ装置201〜204と、各ディスクアレイ装置間を通信可能に接続するFRT(Front end Router)205と、を備える。
ディスクアレイ装置201は、1又は2以上のディスクで構成されるディスクアレイ201aと、ディスクアレイ201aに対してデータの読出し・書込みを行なうCM(Controller Module)201bと、を備える。
同様に、ディスクアレイ装置202〜204も、それぞれディスクアレイ202a、203a、204aと、CM202b、CM203b、CM204bと、を備える。
また、ディスクアレイ装置201及び204は、ホストコンピュータと接続されている。
また、ディスクアレイ装置201及び204は、ホストコンピュータと接続されている。
例えば、ホストコンピュータからREAD命令を受付けると、CM201bは該当するデータをディスクアレイ201aから読出してホストコンピュータに送信する。
また、WRITE命令を受付けると、CM201bは、ホストコンピュータから受信したデータをディスクアレイ201aに書き込む。さらに、ディスクアレイ装置201及び202が2重化を構成する場合、CM201bは、ディスクアレイ装置202にデータを送信する。データを受付けたCM202bは、そのデータをディスクアレイ202aに記憶する。ディスクアレイ装置203及び204も同様である。
また、WRITE命令を受付けると、CM201bは、ホストコンピュータから受信したデータをディスクアレイ201aに書き込む。さらに、ディスクアレイ装置201及び202が2重化を構成する場合、CM201bは、ディスクアレイ装置202にデータを送信する。データを受付けたCM202bは、そのデータをディスクアレイ202aに記憶する。ディスクアレイ装置203及び204も同様である。
なお、図2では磁気ディスク及びCMが4つの場合の構成例を示したが、図示した構成に限定されないのは当然である。
図3は、本発明の実施例に係るCM300の具体的な構成例を示す図である。
図3は、本発明の実施例に係るCM300の具体的な構成例を示す図である。
図3に示すようにCM300は、ホストコンピュータとの接続インターフェースであるCA(Channel Adaptor)301と、他のCMとDMA(Direct Memory Access)による通信を行なうDMAエンジン(以下、単に「DMA」という)302と、ホストコンピュータからの命令に応じてデータの読出し・書込みを行なうCPU303と、ディスクキャッシュや制御用メモリとして使用するメモリ304と、メモリ304を制御するMCH(Memory Controller)305と、ディスクアレイ制御用のアダプタであるDA(Device Adaptor)306と、を備える。
ディスクアレイ装置間でデータ転送を行なう場合、DMA302は、CPU303からの要求に応じて、メモリ304の所定の位置に記憶されている命令(例えば、READ命令やWRITE命令)を読出して実行する。
図4は、本発明に係る割り込み処理方法を使用したDMA転送処理の概要を説明する図である。
DMA302は、CPU303からの要求に応じて命令を実行する命令実行部302aと、CPU303への割り込みを制御する割り込み制御部302bと、を備える。
DMA302は、CPU303からの要求に応じて命令を実行する命令実行部302aと、CPU303への割り込みを制御する割り込み制御部302bと、を備える。
命令実行部302aは、命令実行ポインタと命令最終ポインタを保持する。いずれのポインタも、メモリ304に連続的に書き込まれた命令のアドレスを記憶する。そして、命令実行ポインタは実行する最初の命令のアドレスを記憶し、命令最終ポインタは、連続する命令の最後尾にある命令のアドレスを記憶する。
また、DMA302は、CPU303の要求に応じて、命令実行ポインタが示す命令から命令最終ポインタが示す命令までを順次実行する。
CPU303は、命令終了ポインタと命令最終ポインタを保持する。いずれのポインタも、メモリ304に連続的に書き込まれた命令のアドレスを記憶する。そして、命令終了ポインタは前回実行された命令のアドレスを、命令最終ポインタはリストの最後尾の命令のアドレスを記憶する。
CPU303は、命令終了ポインタと命令最終ポインタを保持する。いずれのポインタも、メモリ304に連続的に書き込まれた命令のアドレスを記憶する。そして、命令終了ポインタは前回実行された命令のアドレスを、命令最終ポインタはリストの最後尾の命令のアドレスを記憶する。
CM間でDMA転送を行なう場合、CPU303は、DMA302に実行させたい命令をメモリ304に書き込む(命令の終りに追加する)とともに、命令最終ポインタを更新する。図の例4では、命令−2、命令−3及び命令−4をメモリ304に書き込んだ場合を示している。したがって、この時の命令終了ポインタには命令−1のアドレス、命令最終ポインタには命令−4のアドレスがセットされる。
所望の命令をメモリ304に書き込むと、CPU303は、DMA302に対して命令の実行を要求する。この時、DMA302が保持する命令最終ポインタも更新される。図4の例では、命令最終ポインタに命令−4のアドレスがセットされる。
CPU303から命令の実行要求を受付けると、DMA302は、命令の実行を開始する。まず、DMA302は、命令実行ポインタが示すアドレスの命令をメモリ304から読出して実行する。図4の例では、命令−2をメモリ304から読出して実行する。
命令の実行が終了すると、DMA302は、当該命令の割り込み制御フラグを参照する。そして、割り込み制御フラグがOFFの場合、DMA302は、CPU303への割り込みを行なって命令の実行が完了したことを通知する。そして、命令実行ポインタを更新し、次の命令を読出す。図4の例では、命令実行ポインタを1命令分だけインクリメントし、命令−3を読出す。
一方、DMA302から実行完了の通知を受けると、CPU303は、命令終了ポインタを更新する。図4の例では、命令終了ポインタを1命令分だけインクリメントし、命令−3のアドレスに設定する。
また、当該命令の割り込み制御フラグがONの場合、DMA302は、CPU303への割り込みを行なうことなく(CPU303へ命令の実行完了を通知することなく)、命令実行ポインタを更新して次の命令を読出す。
DMA302は、以上の処理を命令実行ポインタと命令最終ポインタが一致するまで実行する。
図5は、本発明の実施例に係るDMA302が実行する命令の構成例を示す図である。
図5は、本発明の実施例に係るDMA302が実行する命令の構成例を示す図である。
図5に示す命令500は、コマンド、割り込み制御フラグ、データ長、転送元アドレス及び転送先アドレスで構成されている。
コマンドは、READ/WRITEといった命令の種類(処理内容)である。割り込み制御フラグは、CPU303への割り込み処理を制御するフラグであり、CPU303が自身の負荷状態等に応じて設定する。
コマンドは、READ/WRITEといった命令の種類(処理内容)である。割り込み制御フラグは、CPU303への割り込み処理を制御するフラグであり、CPU303が自身の負荷状態等に応じて設定する。
本実施例では、所定のサンプリング間隔(例えば、1ms)で処理状況をチェックし、例えば、CPU303が何らかの処理中であればBUSY状態と判断し、処理中でなければIDLE状態と判断する。そして、BUSY状態にあった場合をカウントし(この時のカウント値を「BUSYカウント値」という)、以下の式からBUSY率を算出する。
(BUSY率)=(BUSYカウント値/サンプリング総数)×100
そして、BUSY率が70%を超えると負荷が高いと判断し、割り込み制御フラグをONに設定する。なお、本実施例では、BUSY率の閾値に70%を使用しているが、これに限定しないのは当然であり、必要に応じた値を閾値として使用すればよい。
そして、BUSY率が70%を超えると負荷が高いと判断し、割り込み制御フラグをONに設定する。なお、本実施例では、BUSY率の閾値に70%を使用しているが、これに限定しないのは当然であり、必要に応じた値を閾値として使用すればよい。
データ長は、コマンドに応じて処理を行なうデータのサイズを示す。また、転送元アドレスは転送するデータが記憶されている先頭アドレス、転送先アドレスはデータを転送して記憶する先頭アドレスを示す。
DMA302は、割り込み制御フラグのON/OFFに応じてCPU303への割り込み処理の方法を切換える。すなわち、割り込み制御フラグがONの場合には遅延割り込み処理、割り込み制御フラグがOFFの場合には即時割り込み処理を行なう。
図6は、本発明の実施例に係る割り込み処理の概要を説明する図である。
(1)CPU303の負荷が大きい場合、CPU303は、割り込み制御フラグをONに設定した命令−1をメモリ304に書込み、DMA302に対して実行要求を行なう。
(1)CPU303の負荷が大きい場合、CPU303は、割り込み制御フラグをONに設定した命令−1をメモリ304に書込み、DMA302に対して実行要求を行なう。
(2)CPU303からの実行要求を受付けると、DMA302は、メモリ304から命令−1を読出して実行する。また、当該命令の割り込み制御フラグはONに設定されているので、DMA302は、命令実行後一定時間経過するまでCPU303への割り込み処理を抑止する。そして、一定時間経過後にCPU303に対して割り込み処理を行なって終了通知をする。
(3)CPU303の負荷が小さい場合、CPU303は、割り込み制御フラグをOFFに設定した命令−2をメモリ304に書込み、DMA302に対して実行要求を行なう。
(4)CPU303からの実行要求を受付けると、DMA302は、メモリ304から命令−2を読出して実行する。また、当該命令の割り込み制御フラグはOFFに設定されているので、DMA302は、命令実行後直ちにCPU303に対して割り込み処理を行なって終了通知をする。
(5)(1)と同様に、CPU303が割り込み制御フラグをONに設定した命令−3をメモリ304に書き込んでDMA302に対して実行要求を行なうと、DMA302は命令−3をメモリ304から読出して実行する。
この時、当該命令の割り込み制御フラグはONに設定されているので、DMA302は、一定時間経過するまでCPU303への割り込み処理を休止する。
(6)さらに、(1)と同様に、CPU303が割り込み制御フラグをONに設定した命令−3をメモリ304に書き込んでDMA302に対して実行要求を行なうと、DMA302は、命令−3の終了通知をすることなく命令−4を実行する。
(6)さらに、(1)と同様に、CPU303が割り込み制御フラグをONに設定した命令−3をメモリ304に書き込んでDMA302に対して実行要求を行なうと、DMA302は、命令−3の終了通知をすることなく命令−4を実行する。
(7)DMA302は、一定時間経過後に、CPU303への割り込み処理を行ない、当該一定時間内に実行した命令(命令−3及び命令−4)の終了通知をする。
図7は、本発明の実施例に係る命令実行部302aの具体的な処理を示すフローチャートである。
図7は、本発明の実施例に係る命令実行部302aの具体的な処理を示すフローチャートである。
CPU303からの実行要求を受付けると、命令実行部302aは、処理をステップS701に移行する。
ステップS701において、命令実行部302aは、例えば、内部に備わるレジスタ等から命令実行ポインタと命令最終ポインタとを読出す。そして、両ポインタのアドレスを比較する。比較の結果、両ポインタが一致する場合、命令実行部302aは、実行する命令が存在しないと判断し、処理をステップS701に移行する。
ステップS701において、命令実行部302aは、例えば、内部に備わるレジスタ等から命令実行ポインタと命令最終ポインタとを読出す。そして、両ポインタのアドレスを比較する。比較の結果、両ポインタが一致する場合、命令実行部302aは、実行する命令が存在しないと判断し、処理をステップS701に移行する。
一方、ステップS701において、比較の結果、両ポインタが一致しない場合、実行する命令が存在すると判断し、処理をステップS702に移行する。
ステップS702において、命令実行部302aは、命令実行ポインタが指すメモリ304内のアドレスから命令を読み込む。そして、処理をステップS703に移行し、当該命令を実行する。
ステップS702において、命令実行部302aは、命令実行ポインタが指すメモリ304内のアドレスから命令を読み込む。そして、処理をステップS703に移行し、当該命令を実行する。
命令の実行が完了すると、命令実行ポインタは、処理をステップS704に移行する。そして、命令実行部302aは、命令実行ポインタを1(1命令文)だけインクリメントする。
以上の処理によって、1つの命令の実行が完了すると、命令実行部302aは、処理をステップS705に移行する。そして、CPU303に対して終了通知を行なう割り込み処理を割り込み制御部302bに依頼する。
以上の処理が終了すると、命令実行部302aは、処理をステップS701に移行し、全ての命令の実行が終わるまで、ステップS701〜S705の処理を実行する。
図8は、本発明の実施例に係る割り込み制御部302bの具体的な処理を示すフローチャートである。
図8は、本発明の実施例に係る割り込み制御部302bの具体的な処理を示すフローチャートである。
図7に示したS705において、命令実行部302aが割り込み制御部302bに対して割り込み処理による終了通知を依頼すると、割り込み制御部302bは、処理をステップS801に移行する。
ステップS801において、割り込み制御部302bは、図7に示したステップS703で実行した命令の割り込み制御フラグをチェックする。そして、割り込み制御フラグがONの場合、処理をステップS802に移行する。
ステップS802において、割り込み制御部302bは、DMA302内部のレジスタ等に設けられた待ちフラグ(以下、単に「待ちフラグ」という)を読出し、待ちフラグをチェックする。なお、待ちフラグは、タイマ機能の有無を示すためのフラグであり、待ちフラグがONの場合にタイマ起動中であることを示す。
ステップS802において、待ちフラグがONの場合、割り込み制御部302bは、割り込み処理を行なうことなくステップS806に移行して処理を終了する。
ステップS802において、待ちフラグがOFFの場合、割り込み制御部302bは、処理をステップS803に移行する。そして、待ちフラグをONに設定すると同時に、タイマを起動して一定時間待機(スリープ)状態となる。
ステップS802において、待ちフラグがOFFの場合、割り込み制御部302bは、処理をステップS803に移行する。そして、待ちフラグをONに設定すると同時に、タイマを起動して一定時間待機(スリープ)状態となる。
この状態で、更に命令実行部302aから割り込み制御部302b(プロセス)が呼び出された場合、当該割り込み制御部302bはステップS802からステップS806に移行して処理を終了することとなる。
タイマ機能により一定時間経過して待機状態から復帰すると、割り込み制御部302bは、処理をステップS805に移行する。そして、CPU303に対して割り込み処理を行ない命令の終了通知を行なう。そして、ステップS803に移行して割り込み処理を終了する。
一方、ステップS801において、割り込み制御フラグがOFFの場合、割り込み制御部302bは、処理をステップS804に移行する。
ステップS804において、割り込み制御部302bは、待ちフラグを読出す。そして、待ちフラグがONの場合には、当該待ちフラグをOFFにすると同時に、タイマをキャンセルする。そして、処理をステップS805に移行する。
ステップS804において、割り込み制御部302bは、待ちフラグを読出す。そして、待ちフラグがONの場合には、当該待ちフラグをOFFにすると同時に、タイマをキャンセルする。そして、処理をステップS805に移行する。
ステップS805において、割り込み制御部302bは、CPU303に対して割り込み処理をおこなって、図7に示したステップS703の命令の終了通知を行なう。そして、ステップS806に移行して割り込み処理を終了する。
ここで、以上に説明した実施例では、本実施例に係る割り込み処理方法をディスクアレイ制御装置100に適用した場合について説明したが、例えば、情報処理装置のようにCPUが周辺装置を制御する場合に割り込み処理を使用する装置であれば同様の効果を得ることが可能である。
以上に説明したように、本実施例に係るディスクアレイ制御装置100は、CPU303が自身の負荷状態に応じて割り込み処理の方式を割り込み制御情報として割り込み制御情報記憶部10に記憶(設定)し、DMA302は、割り込み制御情報として設定された割り込み処理の方式を使用してCPU303に割り込み処理を行なう。
BUSY率が低いときには、割り込み制御情報に即時割り込み処理を設定することで、1つのI/O処理をすばやく終えることができるようになり、I/Oレスポンスを向上することができる。
また、BUSY率が高いときには、割り込み制御情報に遅延割り込み処理を設定することで、複数の割り込み処理を1回の割り込み処理にまとめて行なうことができるようになり、CPU303の負荷が軽減され、CPU303におけるI/O処理回数を向上することができる。
その結果、I/OレスポンスとI/O処理回数を同時に性能向上させることが可能となる効果を奏する。
その結果、I/OレスポンスとI/O処理回数を同時に性能向上させることが可能となる効果を奏する。
(付記1) 周辺装置に対してデータの入出力処理を行なう周辺装置制御部と該周辺装置制御部に対して任意の命令を実行させる装置制御部とを有する情報処理装置における割り込み処理方法において、
前記装置制御部が、所望の命令を命令記憶部に記憶して、前記周辺装置制御部に対して該命令を実行するように要求するとともに、自身の負荷状態に基づいて割り込み処理の方式を決定し、該決定した方式を割り込み制御情報として割り込み制御情報記憶部に記憶し、
前記周辺装置制御部が、前記装置制御部からの要求に応じて前記命令を実行し、該実行の終了を前記装置制御部に通知するための割り込み処理を、前記割り込み制御情報に基づいて行なう、
ことを特徴とする割り込み処理方法。
(付記2) 前負荷に応じて、前記命令を完了すると直ちに割り込み処理を行なう即時割り込み処理と、前記命令終了後一定時間経過するまで割り込み処理を行なわない遅延割り込み処理、のいずれかの方式に決定する、
ことを特徴とする付記1に記載の割り込み処理方法。
(付記3) 所定のサンプリング間隔で自身の処理状況を監視してビジー率を算出し、該ビジー率が所定の値以下の場合は即時割り込み処理に決定し、該ビジー率が所定の値以上の場合は遅延割り込み処理に設定する、
ことを特徴とする付記1に記載の割り込み処理方法。
(付記4) 所望の命令を命令記憶部に記憶して、該命令を実行するように要求するとともに、自身の負荷状態に基づいて割り込み処理の方式を決定し、該決定した方式を割り込み制御情報として割り込み制御情報記憶部に記憶する装置制御部と、
該装置制御部からの要求に応じて前記命令を実行し、該実行の終了を前記装置制御部に通知するための割り込み処理を、前記割り込み制御情報に基づいて行なう周辺装置制御部と、
を備える情報処理装置。
(付記5) 前記装置制御部は、前負荷に応じて、前記命令終了すると直ちに割り込み処理を行なう即時割り込み処理と、前記命令終了後一定時間経過するまで割り込み処理を行なわない遅延割り込み処理、のいずれかの方式に決定する、
ことを特徴とする付記4に記載の情報処理装置。
(付記6) 前記装置制御部は、所定のサンプリング間隔で自身の処理状況を監視してビジー率を算出し、該ビジー率が所定の値以下の場合は即時割り込み処理に決定し、該ビジー率が所定の値以上の場合は遅延割り込み処理に設定する、
ことを特徴とする付記4に記載の情報処理装置。
(付記7) 1または2以上のディスクアレイを制御するディスクアレイ制御装置であって、他のディスクアレイ制御装置とデータの送受信が可能なディスクアレイ制御装置において、
ホストコンピュータからの要求に応じて命令を命令記憶部に記憶して、該命令を実行するように要求するとともに、自身の負荷状態に基づいて割り込み処理の方式を決定し、該決定した方式を割り込み制御情報として割り込み制御情報記憶部に記憶する装置制御部と、
該装置制御部からの要求に応じて前記命令を実行することにより前記他のディスクアレイ制御装置とデータの送受信を実行し、該実行の終了を前記装置制御部に通知するための割り込み処理を、前記割り込み制御情報に基づいて行なう周辺装置制御部と、
を備えるディスクアレイ制御装置。
(付記8) 前記装置制御部は、前負荷に応じて、前記命令終了すると直ちに割り込み処理を行なう即時割り込み処理と、前記命令終了後一定時間経過するまで割り込み処理を行なわない遅延割り込み処理、のいずれかの方式に決定する、
ことを特徴とする付記7に記載のディスクアレイ制御装置。
(付記9) 前記装置制御部は、所定のサンプリング間隔で自身の処理状況を監視してビジー率を算出し、該ビジー率が所定の値以下の場合は即時割り込み処理に決定し、該ビジー率が所定の値以上の場合は遅延割り込み処理に設定する、
ことを特徴とする付記7に記載のディスクアレイ制御装置。
前記装置制御部が、所望の命令を命令記憶部に記憶して、前記周辺装置制御部に対して該命令を実行するように要求するとともに、自身の負荷状態に基づいて割り込み処理の方式を決定し、該決定した方式を割り込み制御情報として割り込み制御情報記憶部に記憶し、
前記周辺装置制御部が、前記装置制御部からの要求に応じて前記命令を実行し、該実行の終了を前記装置制御部に通知するための割り込み処理を、前記割り込み制御情報に基づいて行なう、
ことを特徴とする割り込み処理方法。
(付記2) 前負荷に応じて、前記命令を完了すると直ちに割り込み処理を行なう即時割り込み処理と、前記命令終了後一定時間経過するまで割り込み処理を行なわない遅延割り込み処理、のいずれかの方式に決定する、
ことを特徴とする付記1に記載の割り込み処理方法。
(付記3) 所定のサンプリング間隔で自身の処理状況を監視してビジー率を算出し、該ビジー率が所定の値以下の場合は即時割り込み処理に決定し、該ビジー率が所定の値以上の場合は遅延割り込み処理に設定する、
ことを特徴とする付記1に記載の割り込み処理方法。
(付記4) 所望の命令を命令記憶部に記憶して、該命令を実行するように要求するとともに、自身の負荷状態に基づいて割り込み処理の方式を決定し、該決定した方式を割り込み制御情報として割り込み制御情報記憶部に記憶する装置制御部と、
該装置制御部からの要求に応じて前記命令を実行し、該実行の終了を前記装置制御部に通知するための割り込み処理を、前記割り込み制御情報に基づいて行なう周辺装置制御部と、
を備える情報処理装置。
(付記5) 前記装置制御部は、前負荷に応じて、前記命令終了すると直ちに割り込み処理を行なう即時割り込み処理と、前記命令終了後一定時間経過するまで割り込み処理を行なわない遅延割り込み処理、のいずれかの方式に決定する、
ことを特徴とする付記4に記載の情報処理装置。
(付記6) 前記装置制御部は、所定のサンプリング間隔で自身の処理状況を監視してビジー率を算出し、該ビジー率が所定の値以下の場合は即時割り込み処理に決定し、該ビジー率が所定の値以上の場合は遅延割り込み処理に設定する、
ことを特徴とする付記4に記載の情報処理装置。
(付記7) 1または2以上のディスクアレイを制御するディスクアレイ制御装置であって、他のディスクアレイ制御装置とデータの送受信が可能なディスクアレイ制御装置において、
ホストコンピュータからの要求に応じて命令を命令記憶部に記憶して、該命令を実行するように要求するとともに、自身の負荷状態に基づいて割り込み処理の方式を決定し、該決定した方式を割り込み制御情報として割り込み制御情報記憶部に記憶する装置制御部と、
該装置制御部からの要求に応じて前記命令を実行することにより前記他のディスクアレイ制御装置とデータの送受信を実行し、該実行の終了を前記装置制御部に通知するための割り込み処理を、前記割り込み制御情報に基づいて行なう周辺装置制御部と、
を備えるディスクアレイ制御装置。
(付記8) 前記装置制御部は、前負荷に応じて、前記命令終了すると直ちに割り込み処理を行なう即時割り込み処理と、前記命令終了後一定時間経過するまで割り込み処理を行なわない遅延割り込み処理、のいずれかの方式に決定する、
ことを特徴とする付記7に記載のディスクアレイ制御装置。
(付記9) 前記装置制御部は、所定のサンプリング間隔で自身の処理状況を監視してビジー率を算出し、該ビジー率が所定の値以下の場合は即時割り込み処理に決定し、該ビジー率が所定の値以上の場合は遅延割り込み処理に設定する、
ことを特徴とする付記7に記載のディスクアレイ制御装置。
100 ディスクアレイ制御装置
101 装置制御部
102 周辺装置制御部
103 命令記憶部
104 割り込み制御情報記憶部
105 ホストコンピュータ
106 ディスクアレイ
107 他のディスクアレイ制御装置
201 ディスクアレイ装置
201a ディスクアレイ
201b CM
302 DMAエンジン
303 CPU
304 メモリ
305 MCH
101 装置制御部
102 周辺装置制御部
103 命令記憶部
104 割り込み制御情報記憶部
105 ホストコンピュータ
106 ディスクアレイ
107 他のディスクアレイ制御装置
201 ディスクアレイ装置
201a ディスクアレイ
201b CM
302 DMAエンジン
303 CPU
304 メモリ
305 MCH
Claims (5)
- 周辺装置に対してデータの入出力処理を行なう周辺装置制御部と該周辺装置制御部に対して任意の命令を実行させる装置制御部とを有する情報処理装置における割り込み処理方法において、
前記装置制御部が、所望の命令を命令記憶部に記憶して、前記周辺装置制御部に対して該命令を実行するように要求するとともに、自身の負荷状態に基づいて割り込み処理の方式を決定し、該決定した方式を割り込み制御情報として割り込み制御情報記憶部に記憶し、
前記周辺装置制御部が、前記装置制御部からの要求に応じて前記命令を実行し、該実行の終了を前記装置制御部に通知するための割り込み処理を、前記割り込み制御情報に基づいて行なう、
ことを特徴とする割り込み処理方法。 - 前負荷に応じて、前記命令を完了すると直ちに割り込み処理を行なう即時割り込み処理と、前記命令終了後一定時間経過するまで割り込み処理を行なわない遅延割り込み処理、のいずれかの方式に決定する、
ことを特徴とする請求項1に記載の割り込み処理方法。 - 所定のサンプリング間隔で自身の処理状況を監視してビジー率を算出し、該ビジー率が所定の値以下の場合は即時割り込み処理に決定し、該ビジー率が所定の値以上の場合は遅延割り込み処理に設定する、
ことを特徴とする請求項1に記載の割り込み処理方法。 - 所望の命令を命令記憶部に記憶して、該命令を実行するように要求するとともに、自身の負荷状態に基づいて割り込み処理の方式を決定し、該決定した方式を割り込み制御情報として割り込み制御情報記憶部に記憶する装置制御部と、
該装置制御部からの要求に応じて前記命令を実行し、該実行の終了を前記装置制御部に通知するための割り込み処理を、前記割り込み制御情報に基づいて行なう周辺装置制御部と、
を備える情報処理装置。 - 1または2以上のディスクアレイを制御するディスクアレイ制御装置であって、他のディスクアレイ制御装置とデータの送受信が可能なディスクアレイ制御装置において、
ホストコンピュータからの要求に応じて命令を命令記憶部に記憶して、該命令を実行するように要求するとともに、自身の負荷状態に基づいて割り込み処理の方式を決定し、該決定した方式を割り込み制御情報として割り込み制御情報記憶部に記憶する装置制御部と、
該装置制御部からの要求に応じて前記命令を実行することにより前記他のディスクアレイ制御装置とデータの送受信を実行し、該実行の終了を前記装置制御部に通知するための割り込み処理を、前記割り込み制御情報に基づいて行なう周辺装置制御部と、
を備えるディスクアレイ制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006263783A JP2008084043A (ja) | 2006-09-28 | 2006-09-28 | 割り込み処理方法 |
US11/742,127 US20080082700A1 (en) | 2006-09-28 | 2007-04-30 | Interrupt processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006263783A JP2008084043A (ja) | 2006-09-28 | 2006-09-28 | 割り込み処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008084043A true JP2008084043A (ja) | 2008-04-10 |
Family
ID=39262325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006263783A Pending JP2008084043A (ja) | 2006-09-28 | 2006-09-28 | 割り込み処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20080082700A1 (ja) |
JP (1) | JP2008084043A (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8560750B2 (en) | 2011-05-25 | 2013-10-15 | Lsi Corporation | Systems and methods for advanced interrupt scheduling and priority processing in a storage system environment |
TWI672593B (zh) * | 2018-06-21 | 2019-09-21 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
CN110659229B (zh) * | 2018-06-29 | 2022-11-08 | 群联电子股份有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0241548A (ja) * | 1988-08-02 | 1990-02-09 | Fujitsu Ltd | I/o割込み制御方式 |
JP2001014243A (ja) * | 1999-07-01 | 2001-01-19 | Mitsubishi Electric Corp | 受信割込処理装置 |
WO2003063002A1 (fr) * | 2002-01-24 | 2003-07-31 | Fujitsu Limited | Ordinateur permettant de determiner dynamiquement un delai d'interruption |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5860022A (en) * | 1994-07-26 | 1999-01-12 | Hitachi, Ltd. | Computer system and method of issuing input/output commands therefrom |
JP3389920B2 (ja) * | 2000-07-10 | 2003-03-24 | 日本電気株式会社 | ディスクアレイ装置およびディスクアレイ装置の割り込み実行方法 |
US7165141B2 (en) * | 2004-02-27 | 2007-01-16 | Hewlett-Packard Development Company, L.P. | Daisy-chained device-mirroring architecture |
-
2006
- 2006-09-28 JP JP2006263783A patent/JP2008084043A/ja active Pending
-
2007
- 2007-04-30 US US11/742,127 patent/US20080082700A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0241548A (ja) * | 1988-08-02 | 1990-02-09 | Fujitsu Ltd | I/o割込み制御方式 |
JP2001014243A (ja) * | 1999-07-01 | 2001-01-19 | Mitsubishi Electric Corp | 受信割込処理装置 |
WO2003063002A1 (fr) * | 2002-01-24 | 2003-07-31 | Fujitsu Limited | Ordinateur permettant de determiner dynamiquement un delai d'interruption |
Also Published As
Publication number | Publication date |
---|---|
US20080082700A1 (en) | 2008-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7627697B2 (en) | Device using multiple DMA controllers for transferring data between a storage device and multiple processing units | |
US9977602B2 (en) | Storage system, storage device, and control method of storage system | |
US8190924B2 (en) | Computer system, processor device, and method for controlling computer system | |
US20140006742A1 (en) | Storage device and write completion notification method | |
JP2019159802A (ja) | 記憶装置の電力制御方法および記憶装置 | |
KR102320386B1 (ko) | 화상 형성 장치 및 화상 형성 장치의 전력 제어 방법 | |
JP4719801B2 (ja) | デバイス管理装置、デバイス初期化方法、デバイス初期化プログラムおよびデバイスシステム | |
JP2008084043A (ja) | 割り込み処理方法 | |
JP2005275538A (ja) | ダイレクトメモリアクセス制御装置および方法 | |
US9921983B2 (en) | Direct memory access controller, control method thereof, and information processing system | |
JP2006227985A (ja) | データ転送制御装置及び電子機器 | |
KR20130047680A (ko) | 비대칭 데이터 소스 간의 비동기 데이터 시프트 및 백업 | |
JP2004078683A (ja) | コンピュータシステムおよび共有メモリ制御方法 | |
JP2008262393A (ja) | 情報処理システムおよびその制御方法 | |
JP2011070259A (ja) | データ転送装置及びデータ転送方法 | |
JP4862395B2 (ja) | 情報処理装置及び情報処理装置の制御方法 | |
JP2010211506A (ja) | 不均一メモリアクセス機構を備えるコンピュータ、コントローラ、及びデータ移動方法 | |
JP2009059276A (ja) | 情報処理装置およびプログラム | |
JP2007249667A (ja) | データ転送装置およびデータ転送システム | |
JP2004118300A (ja) | Dmaコントローラ | |
KR101209914B1 (ko) | 프로그램 가능한 호스트 인터페이스를 갖는 반도체 저장 장치 메모리 디스크 유닛 | |
JP2008118211A (ja) | データ転送装置及びデータ転送方法 | |
JP2006276947A (ja) | 電源制御装置および電源制御方法 | |
JP2005276104A (ja) | マイクロコンピュータ | |
JP5244759B2 (ja) | 情報処理装置および画像形成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081117 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100113 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100126 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100525 |