(57)【要約】【課題】  従来の非リアルタイムＯＳにおける割り込み駆動型Ｉ／Ｏのデータ転送では、データ転送帯域が十分確保できない場合があり、データ転送レートの向上が図れなかった。【解決手段】  Ｉ／Ｏ装置１からＩＲＱ信号（割り込み信号）が入力され、ＩＲＱ入力制御処理部２からＤＭＡ制御装置３へ直接出力されるＩＲＱ信号により、ＤＭＡ制御装置３が起動し、ＤＭＡ転送が行われる。これにより、従来の割り込みハンドラによるＤＭＡ起動よりも、高速にＤＭＡを起動することが可能となり、起動時間を短縮し、データ転送レートの向上が可能となる。【選択図】  図１
2006119982.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、メモリと、Ｉ／Ｏ部と、前記メモリと前記Ｉ／Ｏ部との間でのデータ転送を制御するＤＭＡＣと、前記Ｉ／Ｏ部から入力される第１の割り込み信号を前記ＤＭＡＣおよび前記ＣＰＵへ出力制御するための割り込み入力制御処理部とを備え、
前記ＣＰＵには、前記割り込み入力制御処理部からの前記第１の割り込み信号が前記メモリと前記Ｉ／Ｏ部との間でのデータ転送要求であるか否かを判断し、前記データ転送要求である場合に前記割り込み入力制御処理部に対してＤＭＡ転送開始通知を行う前記第１の割り込み要因処理部を備えるとともに、第２の割り込み信号に基いてＤＭＡ転送終了を判断し前記割り込み入力制御処理部に対してＤＭＡ転送終了通知を行う第２の割り込み要因処理部を備え、
前記割り込み入力制御処理部は、前記第１の割り込み要因処理部からの前記ＤＭＡ転送開始通知に応答して前記第１の割り込み信号を前記ＤＭＡＣへ出力するようにし、前記第２の割り込み要因処理部からの前記ＤＭＡ転送終了通知に応答して前記第１の割り込み信号の前記ＤＭＡＣへの出力を停止するようにし、
前記ＤＭＡＣは、前記割り込み入力制御処理部から前記第１の割り込み信号が入力されている間、前記メモリと前記Ｉ／Ｏ部との間でのデータ転送を行うようにしたコンピュータシステム。
【請求項２】
前記第２の割り込み要因処理部は前記ＤＭＡＣによるＤＭＡ転送回数を所定の回数に設定し、前記ＤＭＡＣはＤＭＡ転送回数が前記所定の回数に達したときに前記第２の割り込み信号を前記第２の割り込み要因処理部へ出力するようにしたことを特徴とする請求項１記載のコンピュータシステム。
【請求項３】
ＤＭＡ転送時間を計測するタイマを設け、前記第２の割り込み要因処理部は前記ＤＭＡＣによるＤＭＡ転送時間を所定の時間に設定し、前記タイマはＤＭＡ転送時間が前記所定の時間に達したときに前記第２の割り込み信号を前記第２の割り込み要因処理部へ出力するようにしたことを特徴とする請求項１記載のコンピュータシステム。
【請求項４】
前記第２の割り込み要因処理部は、ＤＭＡ転送終了を判断したとき、上位ソフトウェアに対してＤＭＡ転送終了を通知するようにしたことを特徴とする請求項１記載のコンピュータシステム。
【請求項５】
前記ＤＭＡＣからのＤＭＡ転送データの誤り検出を行う誤り検出処理部と、
前記誤り検出処理後の有効なデータをストアするデータバッファ領域とを設けたことを特徴とする請求項１記載のコンピュータシステム。
【請求項６】
前記ＤＭＡＣにおけるＤＭＡ転送データにヘッダ情報を付加するヘッダ生成処理部を設けたことを特徴とする請求項５記載のコンピュータシステム。
【請求項７】
前記ＤＭＡＣからのＤＭＡ転送データの誤り検出結果を、上位ソフトウェアに対して通知する手段を設けたことを特徴とする請求項５記載のコンピュータシステム。
【請求項８】
前記第１の割り込み要因処理部は、前記割り込み入力制御処理部からの前記第１の割り込み信号がエラー発生を示すときエラー処理を行うエラー処理部を有することを特徴とする請求項５記載のコンピュータシステム。
【請求項９】
前記エラー処理部において、エラー発生時に前記割り込み入力制御処理部に対して、ＤＭＡ転送終了の通知を行うことを特徴とする請求項８記載のコンピュータシステム。
【請求項１０】
前記エラー処理部の処理結果を、上位ソフトウェアに対して通知することを特徴とする請求項８記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に入出力（Ｉ／Ｏ）部からの割り込みによってデータ転送を行う場合の割り込み制御装置を有するコンピュータシステムに関する。
【背景技術】
【０００２】
一般に、コンピュータシステムにおけるデータ転送では、中央演算処理装置（ＣＰＵ）、記憶装置、及びＤＭＡＣ(Direct Memory Access Controller)、入出力（Ｉ／Ｏ）装置などの各種システム上装置間で転送が行われる。
【０００３】
Ｉ／Ｏ装置は、各種システム装置に対してデータ転送を行う際に、ＣＰＵに対して割り込みをかけることで、データ転送の開始、終了タイミング及び転送に関する情報をＣＰＵに伝達する。
【０００４】
割り込みの処理方式としては、ＣＰＵが、発生した割り込み要因に関連付けられた割り込みベクタの処理を行い、その割り込みベクタはソフトウェアで実装される場合が多い。
【０００５】
また、Ｉ／Ｏ装置からのデータ転送方式としては、ＣＰＵ処理負荷の軽減及びバス帯域の有効活用のため、ＤＭＡ(Direct Memory Access)転送方式がある。このＤＭＡ制御装置は、ＣＰＵ及び外部からの割り込み要因でＤＭＡ起動を行うことが一般的であり、上述した割り込みベクタソフトウェア内で、データ転送要因を確認後、ＤＭＡＣを制御することで、ＤＭＡ起動を行うことが一般的である。
【０００６】
また、Ｉ／Ｏからの割り込み要因には、データ転送だけではなくエラー及びデータ転送完了時のアクノリッジなどが多重化されており、上述した割り込みベクタソフトウェア内でこれらの割り込み要因を判断する。例えば、Ｉ／Ｏに対するＲｅａｄ（リード）、Ｗｒｉｔｅ（ライト）などの要因においてはデータ転送が発生するため、ＤＭＡを起動しＣＰＵ負荷を軽減することが可能である。
【０００７】
特許文献１には、ＤＭＡコントローラの１チャネル当りに複数本の動作要求入力端子を設けるとともに、ＤＭＡコントローラ内には上記各動作要求入力端子に対応してそれぞれポインタ（レジスタ）を設け、このポインタに、ＤＭＡ転送コマンドや転送元、転送先の先頭アドレス等の転送情報がテーブルとして格納されているメモリ上の対応するアドレス（テーブル参照アドレス）を設定するようにした、ＤＭＡコントローラを直接起動するための割り込み入力方法が開示されている。
【特許文献１】特開昭６３−２６６５６８号公報
【特許文献２】特開平３−１２９４４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述したような、Ｉ／Ｏ装置からＣＰＵへの割り込みによって開始されるデータ転送の場合、以下のような課題がある。
【０００９】
（ａ）割り込み発生から割り込みベクタが処理されるまでの遅延時間は、システム上のＯＳ（Operating System）によって左右されるが、特に非リアルタイムＯＳの場合は、図１６のような割り込み処理シーケンスを行う。図１６で示す割り込み遅延時間は予測ができず、システムのアプリケーション動作によって数１００μｓｅｃ〜数ｍｓｅｃのオーダで遅延する場合を考慮しなければならない。
【００１０】
（ｂ）上述したように、Ｉ／Ｏ装置からの割り込み要因には種々の要因が多重化されているため、ＤＭＡ起動を行うためには、ＣＰＵによる要因処理が必要である。よってデータ転送要因で発生した割り込みのみを利用し、ＤＭＡ制御装置に対して直接ＤＭＡ起動を行うことが出来ない。その結果ＤＭＡ起動は、図１７に示すようにハンドラ処理を経由し、かつＯＳの割り込み応答遅延時間分、遅延することとなる。
【００１１】
（ｃ）特許文献１における技術の場合、割り込みコントローラがないシステム構成を考慮しているため、Ｉ／Ｏ装置からの割り込みに対して、上述したようなエラーやアクノリッジなどの必要な要因処理を行えない問題がある。
【００１２】
さらにエラーやデータ転送完了時のアクノリッジなどのデータ転送が発生することがない要因においても、ＤＭＡが起動されるという問題に対しても考慮できていない。
【００１３】
（ｄ）（ａ）、（ｂ）、（ｃ）により、Ｉ／Ｏ装置からの割り込みによるデータ転送では、データ転送帯域が十分確保できない場合があり、データ転送レートの向上が図れなかった。
【００１４】
本発明の目的は、Ｉ／Ｏ部からの割り込みによるＤＭＡ転送において、データ転送レートの向上を図ることが可能となるコンピュータシステムを提供することである。
【課題を解決するための手段】
【００１５】
本発明のコンピュータシステムは、ＣＰＵと、メモリと、Ｉ／Ｏ部と、メモリとＩ／Ｏ部との間でのデータ転送を制御するＤＭＡＣと、Ｉ／Ｏ部から入力される第１の割り込み信号をＤＭＡＣおよびＣＰＵへ出力制御するための割り込み入力制御処理部とを備え、ＣＰＵには、割り込み入力制御処理部からの第１の割り込み信号がメモリとＩ／Ｏ部との間でのデータ転送要求であるか否かを判断し、データ転送要求である場合に割り込み入力制御処理部に対してＤＭＡ転送開始通知を行う第１の割り込み要因処理部を備えるとともに、第２の割り込み信号に基いてＤＭＡ転送終了を判断し割り込み入力制御処理部に対してＤＭＡ転送終了通知を行う第２の割り込み要因処理部を備え、割り込み入力制御処理部は、第１の割り込み要因処理部からのＤＭＡ転送開始通知に応答して第１の割り込み信号をＤＭＡＣへ出力するようにし、第２の割り込み要因処理部からのＤＭＡ転送終了通知に応答して第１の割り込み信号のＤＭＡＣへの出力を停止するようにし、ＤＭＡＣは、割り込み入力制御処理部から第１の割り込み信号が入力されている間、メモリとＩ／Ｏ部との間でのデータ転送を行うようにしている。
【００１６】
本発明において、第２の割り込み要因処理部はＤＭＡＣによるＤＭＡ転送回数を所定の回数に設定し、ＤＭＡＣはＤＭＡ転送回数が所定の回数に達したときに第２の割り込み信号を第２の割り込み要因処理部へ出力するようにしてもよい。
【００１７】
本発明において、ＤＭＡ転送時間を計測するタイマを設け、第２の割り込み要因処理部はＤＭＡＣによるＤＭＡ転送時間を所定の時間に設定し、タイマはＤＭＡ転送時間が所定の時間に達したときに第２の割り込み信号を第２の割り込み要因処理部へ出力するようにしてもよい。
【００１８】
本発明において、第２の割り込み要因処理部は、ＤＭＡ転送終了を判断したとき、上位ソフトウェアに対してＤＭＡ転送終了を通知するようにしてもよい。
【００１９】
本発明において、ＤＭＡＣからのＤＭＡ転送データの誤り検出を行う誤り検出処理部と、誤り検出処理後の有効なデータをストアするデータバッファ領域とを設けてもよい。
【００２０】
この場合、ＤＭＡＣにおけるＤＭＡ転送データにヘッダ情報を付加するヘッダ生成処理部を設けてもよい。また、ＤＭＡＣからのＤＭＡ転送データの誤り検出結果を、上位ソフトウェアに対して通知する手段を設けてもよい。また、第１の割り込み要因処理部は、割り込み入力制御処理部からの第１の割り込み信号がエラー発生を示すときエラー処理を行うエラー処理部を有するようにしてもよい。さらに、エラー処理部において、エラー発生時に割り込み入力制御処理部に対して、ＤＭＡ転送終了の通知を行うようにしてもよい。また、エラー処理部の処理結果を、上位ソフトウェアに対して通知するようにしてもよい。
【発明の効果】
【００２１】
以上説明したように、本発明によれば、Ｉ／Ｏ部からの割り込みによるＤＭＡ起動において、ＤＭＡをＩ／Ｏ部からの割り込み信号（ＩＲＱ信号）で直接起動することにより、起動時間を短縮することで、Ｉ／Ｏ部からのデータ転送レートの向上が可能である。
【００２２】
また、割り込みハンドラの制御内で、上述した直接起動の切り替えを行うことで、従来行ってきた直接起動に比べて、ソフトウェアで任意のタイミングで本発明の機構を使用することが可能である。
【００２３】
また、割り込みハンドラの制御内で、エラー処理などデータ転送要因以外の割り込み処理も行うことで、従来行ってきた直接起動に比べて、Ｉ／Ｏ部の要求するすべての割り込み要因を処理することが可能である。
【００２４】
また、誤り検出処理部を設けＤＭＡ転送データの誤り検出を行うことで、転送後データの有効性を確認することが可能となる。
【００２５】
また、エラー処理部を設けることでＤＭＡ転送中のエラー処理に対応することが可能となる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の割り込み制御装置を有するコンピュータシステムの実施形態について、図面を参照しながら説明する。
【００２７】
（第１の実施形態）
図１は、本発明の第１の実施形態のシステム構成図であり、Ｉ／Ｏ装置１と、Ｉ／Ｏ装置１からのＩＲＱ（割り込み要求）を制御するためのＩＲＱ入力制御処理部２と、ＤＭＡ制御装置（ＤＭＡＣ）３と、ＣＰＵ４と、メモリ５とで構成されている。
【００２８】
ＩＲＱ入力制御処理部２では、Ｉ／Ｏ装置１からのＩＲＱ信号をＤＭＡ制御装置３へ直接出力し、かつＣＰＵ４へも出力するための制御を行う。
【００２９】
図２は、本発明の第１の実施形態の処理ブロック図であり、ＩＲＱ入力制御処理部２と、ＨＷ起動ＤＭＡ転送要求処理部１１と、割り込み要因処理部１２と、ＤＭＡ転送終了処理部１３とで構成される。なお、本明細書では、ＤＭＡ制御装置３に印加される割り込みによってＤＭＡ転送が開始される、この割り込みによるＤＭＡ転送起動のことを、ＨＷ起動と記載する。
【００３０】
また、割り込み要因処理部１２は、Ｒ／Ｗ（Ｒｅａｄ／Ｗｒｉｔｅ）要因以外の処理部（図示せず）と、ＨＷ起動ＤＭＡ転送開始処理部を有するＲ／Ｗ要因処理部とで構成され、ＤＭＡ転送終了処理部１３では、ＨＷ起動ＤＭＡ転送終了処理部で構成される。
【００３１】
また図３は、割り込みベクタと割り込みハンドラの対応図であり、図１のＩ／Ｏ装置１からのＩＲＱ信号（ＩＲＱ０）とＤＭＡ制御装置３からのＩＲＱ信号（ＩＲＱ１）と、図２の割り込み要因処理部１２とＤＭＡ転送終了処理部１３の対応を示している。図２の、割り込み要因処理部１２とＤＭＡ転送終了処理部１３は、ＣＰＵ４の割り込みベクタから割り込みハンドラとして参照可能で、該当するＩＲＱ入力時にそれぞれの処理部へと遷移する。
【００３２】
割り込み要因処理部１２では、Ｉ／Ｏ装置１からの割り込み処理を行い、具体的にはＲｅａｄ、Ｗｒｉｔｅ要因の場合に、ＨＷ起動ＤＭＡ転送開始処理部にて、ＨＷ起動ＤＭＡ転送開始するための処理を行い、それ以外の要因では、Ｒｅａｄ／Ｗｒｉｔｅ要因以外の割り込み処理部で処理を行う。
【００３３】
ＨＷ起動ＤＭＡ転送は、図１で示したＩＲＱ入力制御処理部２からＤＭＡ制御装置３へ直接出力されるＩＲＱ信号により、ＤＭＡ転送が起動される。結果的にＩ／Ｏ装置１からＩＲＱ信号が入力されるたびにＤＭＡ制御装置３が起動し、ＤＭＡ転送が行われる。
【００３４】
また、ＨＷ起動ＤＭＡ転送終了処理部では、ＨＷ起動ＤＭＡ転送を終了するか否かの判断を行い、終了する場合にはＩＲＱ入力制御処理部２に対してＤＭＡ制御装置３へのＩＲＱ信号の直接出力を停止する処理を行う。
【００３５】
図４は、本発明の第１の実施形態のフローチャートである。
【００３６】
図４に示すように、アプリケーションからのＨＷ起動ＤＭＡ転送要求を、ＨＷ起動ＤＭＡ転送要求処理部１１において、割り込み要因処理部１２、ＤＭＡ転送終了処理部１３に対して通知を行う。
【００３７】
その後、Ｉ／Ｏ装置１からのＩＲＱ信号が発生すると、割り込み要因処理部１２において、割り込み要因の判断を行い、Ｒｅａｄ・Ｗｒｉｔｅ要因であれば、ＨＷ起動ＤＭＡ転送終了処理部とＩＲＱ入力制御処理部２に対して、ＨＷ起動ＤＭＡ転送開始を通知する。
【００３８】
ＩＲＱ入力制御処理部２では、該当Ｉ／Ｏ装置１に対応するＩＲＱ信号をＤＭＡ制御装置３へ直接出力するための処理を行う。
【００３９】
ＨＷ起動ＤＭＡ転送終了処理部では、ＨＷ起動ＤＭＡ転送の転送回数の設定を行う。この転送回数は、制御ソフトウェアで任意の値に設定される。
【００４０】
これらの処理が終了した時点でＨＷ起動ＤＭＡ転送を開始して、転送回数をカウントし、そのカウントした転送回数が前述の設定したＨＷ起動ＤＭＡ転送の転送回数に達すればＨＷ起動ＤＭＡ転送の終了を判断し、この転送終了が判断された場合に、ＩＲＱ入力制御処理部２ではＤＭＡ制御装置３へのＩＲＱ信号の直接出力を停止し、アプリケーションに対し終了を通知することで、ＨＷ起動ＤＭＡ転送が終了する。
【００４１】
なお、図３のＩＲＱ０の割り込みハンドラ（割り込み要因判断）が図２の割り込みハンドラ１に相当し、図３のＩＲＱ１の割り込みハンドラ（ＤＭＡ終了処理）が図２の割り込みハンドラ２に相当し、ＩＲＱ１を受けたＣＰＵ４は、割り込みハンドラ２の処理を実行する。図２において、図１にも示されているＩＲＱ入力制御処理部２は回路などのハードウェアであり、それ以外の全て、ここではＨＷ起動ＤＭＡ転送要求処理部１１、割り込み要因処理部１２、ＤＭＡ転送終了処理部１３は、すべてソフトウェア（プログラム）で構成される。すなわち、割り込みハンドラ１及び２、アプリケーションタスクは、メモリ５上にプログラムが置かれ、ＣＰＵ４によりコード実行される。割り込みハンドラ１及び２とアプリケーションタスクの関係は、アプリケーションからの操作により、ＨＷ起動ＤＭＡ転送機能を使うか使わないか（ＩＲＱ入力制御処理部２が、ＤＭＡ制御装置３に対して割り込みを発生するかしないか）の制御を行うことを意図している。処理の流れは以下のようになる。
１．「割り込みハンドラ１」内の「ＨＷ起動ＤＭＡ転送開始処理部（プログラム）」によって、ＩＲＱ入力制御処理部２が割り込みを発生する。
２．ＤＭＡ転送が割り込み駆動で実行される。
３．「割り込みハンドラ２」内の「ＨＷ起動ＤＭＡ転送終了処理部（プログラム）」によって、ＩＲＱ入力制御処理部２の割り込み発生を止める。
【００４２】
以上の仕組みにより、本発明の第１の実施形態では、ＨＷ起動ＤＭＡ転送を実現することで、従来の割り込みハンドラによるＤＭＡ起動よりも、高速にＤＭＡを起動することが可能となり、起動時間を短縮することで、データ転送レートの向上が可能である。
【００４３】
なお、図１の構成では、Ｉ／Ｏ装置１、ＤＭＡ制御装置３が１つずつであるが、この例にとらわれることなく複数であっても良い。また、図１では、Ｉ／Ｏ装置１からのＩＲＱ信号線が１本であるが、この例にとらわれることなくＩＲＱ信号線が複数であっても良い。
【００４４】
（第２の実施形態）
図５は、本発明の第２の実施形態のシステム構成図であり、Ｉ／Ｏ装置１と、Ｉ／Ｏ装置１からのＩＲＱを制御するためのＩＲＱ入力制御処理部２と、ＤＭＡ制御装置３と、ＣＰＵ４と、Ｈｅａｄｅｒ（ヘッダ）生成処理部６と、メモリ５とで構成されている。
【００４５】
図５では、Ｈｅａｄｅｒ生成処理部６を設け、ＤＭＡ制御装置３内にパケット生成処理部３ａを設けていることが、図１とは異なる。以下では、第１の実施形態と異なる点を主に説明する。
【００４６】
Ｈｅａｄｅｒ生成処理部６では、Ｃｈｅｃｋｓｕｍ（チェックサム）を含むＨｅａｄｅｒデータを生成する。このＨｅａｄｅｒをＤＭＡ制御装置３は、内部のパケット生成処理部３ａにおいて、転送データとＨｅａｄｅｒをパケット化する処理を行い、パケットのデータ転送を行う。
【００４７】
Ｈｅａｄｅｒは、図６に示すように、ｎ回のＤＭＡ転送を１パケットとするパケット単位毎に存在する。このＨｅａｄｅｒ内の記述では、Ｃｈｅｃｋｓｕｍ領域を設けておくこととし、またそれ以外の任意の情報も付加可能である。Ｃｈｅｃｋｓｕｍとは、データ伝送において、伝送されたデータに誤りがないかどうかをチェックする方法のひとつであり、その実装アルゴリズムは様々である。一般的にはあらかじめデータの合計の値を計算しておき、データの伝送のときに、データと合計の値を送り、受信側では受信データの合計を計算して、送信側で計算した合計値と比較する。伝送されたデータの値に誤りがあれば、合計の値は一致しないので誤りを検出できる、という仕組みである。
【００４８】
またパケットＮ個分を、ＨＷ起動ＤＭＡ転送の１つの転送単位とする。
【００４９】
図７は、本発明の第２の実施形態の処理ブロック図であり、ＩＲＱ入力制御処理部２と、ＨＷ起動ＤＭＡ転送要求処理部１１と、割り込み要因処理部１２と、ＤＭＡ転送終了処理部１３と、有効データ取得処理部１４と、有効データバッファ領域１５とで構成される。
【００５０】
第１の実施形態と同様に、割り込み要因処理部１２は、割り込み要因処理部１２は、Ｒ／Ｗ要因以外の処理部（図示せず）と、ＨＷ起動ＤＭＡ転送開始処理部を有するＲ／Ｗ要因処理部とで構成され、ＤＭＡ転送終了処理部１３は、ＨＷ起動ＤＭＡ転送終了処理部で構成される。有効データ取得処理部１４では、ＨＷ起動ＤＭＡ転送が終了した時点で、ＤＭＡ転送されたデータの有効部分を判定し、有効データを有効データバッファ領域１５へコピーを行う。なお、有効データ取得処理部１４（割り込みハンドラ２内）は、メモリ５中にプログラムが置かれ、ＣＰＵ４によりコード実行される。有効データバッファ領域１５は、メモリ５上に配置される。
【００５１】
図８の、本発明の第２の実施形態のフローチャートを用いて、有効データ取得処理部１４の処理シーケンスを具体的に説明する。
【００５２】
「ＨＷ起動ＤＭＡ転送終了」までは、第１の実施形態と同様である。ＤＭＡ転送終了後、有効データ取得処理部１４において、転送データ処理を以下の要領で実施する。
（ａ）パケットの取得を行う。
（ｂ）図６に示すパケットのＨｅａｄｅｒフィールドのＣｈｅｃｋｓｕｍを確認することで、パケットの有効性の判断を行う。
（ｃ）有効パケットを有効データバッファ領域１５にコピーする。
（ｄ）パケットが無効の場合は、有効データ取得処理部１４の処理を終了し、アプリケーションにＨＷ起動ＤＭＡ転送が終了したことを通知する。
（ｅ）パケットの処理がＮ個分実施された時点でも、アプリケーションにＨＷ起動ＤＭＡ転送が終了したことを通知する。通知方法には、ＯＳのＡＰＩで実現されるメッセージ通信を用いる方法などが考えられる。
【００５３】
以上（ａ）〜（ｅ）の処理シーケンスにより、本発明の第２の実施形態では、ＨＷ起動によるＤＭＡ転送の高速化と、転送後データの有効性を確認することが可能となる。
【００５４】
なお、図５の構成では、Ｉ／Ｏ装置１、ＤＭＡ制御装置３が１つずつであるが、この例にとらわれることなく複数であっても良い。また、図５では、Ｉ／Ｏ装置１からのＩＲＱ信号線が１本であるが、この例にとらわれることなくＩＲＱ信号線が複数であっても良い。
【００５５】
（第３の実施形態）
本発明の第３の実施形態のシステム構成は、第２の実施形態で用いた図５と同様である。
【００５６】
図９は、本発明の第３の実施形態の処理ブロック図であり、ＩＲＱ入力制御処理部２と、ＨＷ起動ＤＭＡ転送要求処理部１１と、割り込み要因処理部１２と、ＤＭＡ転送終了処理部１３と、有効データ取得処理部１４と、有効データバッファ領域１５とで構成される。
【００５７】
第１、第２の実施形態と同様に、ＤＭＡ転送終了処理部１３は、ＨＷ起動ＤＭＡ転送終了処理部で構成される。
【００５８】
また、割り込み要因処理部１２は、Ｒ／Ｗ要因以外の処理部（図示せず）と、ＨＷ起動ＤＭＡ転送開始処理部を有するＲ／Ｗ要因処理部と、さらにＥｒｒｏｒ（エラー）処理部とで構成される。
【００５９】
すなわち、第３の実施形態では、割り込み要因処理部１２に、Ｅｒｒｏｒ処理部が追加されていることが第２の実施形態とは異なり、その他の構成は第２の実施形態と同様である。
【００６０】
図１０の、本発明の第３の実施形態のフローチャートを用いて、Ｅｒｒｏｒ処理部に関わる処理シーケンスを具体的に説明する。
【００６１】
「ＨＷ起動ＤＭＡ転送開始」までは、第１、第２の実施形態と同様である。ＨＷ起動ＤＭＡ転送開始後、Ｉ／Ｏ装置１からのＥｒｒｏｒ割り込み処理を以下の要領で実施する。
（ａ）Ｅｒｒｏｒ割り込み発生後、割り込みハンドラ内でＥｒｒｏｒステータスをセットする。
（ｂ）ＨＷ起動ＤＭＡ転送終了後、有効データ取得処理部１４において、Ｅｒｒｏｒステータスがセットされていなければ、以下第２の実施形態と同様の処理を行う。
（ｃ）ＨＷ起動ＤＭＡ転送終了後、有効データ取得処理部１４において、Ｅｒｒｏｒステータスがセットされていれば、有効データ取得処理を行わず、ＩＲＱ入力制御処理部２において、ＤＭＡ制御装置３への入力Ｏｆｆ制御を行う。
（ｄ）アプリケーションに対して、転送終了状態（Ｅｒｒｏｒ）を通知する（具体的にはＥｒｒｏｒリターンする）。
【００６２】
以上（ａ）〜（ｄ）の処理シーケンスにより、本発明の第３の実施形態では、ＨＷ起動ＤＭＡ転送中のＥｒｒｏｒ処理に対応することが可能となる。また、第２の実施形態と同様の効果が得られることは言うまでもない。
【００６３】
なお、図９の構成では、Ｅｒｒｏｒ処理部が１つであるが、この例にとらわれることなく複数であっても良い。
【００６４】
（第４の実施形態）
図１１は、本発明の第４の実施形態のシステム構成図であり、Ｉ／Ｏ装置１と、Ｉ／Ｏ装置１からのＩＲＱ（割り込み要求）を制御するためのＩＲＱ入力制御処理部２と、ＤＭＡ制御装置（ＤＭＡＣ）３と、ＣＰＵ４と、メモリ５、タイマ７とで構成されている。
【００６５】
ＩＲＱ入力制御処理部２では、Ｉ／Ｏ装置１からのＩＲＱ信号をＤＭＡ制御装置３へ直接出力し、かつＣＰＵ４へも出力するための制御を行う。
【００６６】
図１２は、本発明の第４の実施形態の処理ブロック図であり、ＩＲＱ入力制御処理部２と、ＨＷ起動ＤＭＡ転送要求処理部１１と、割り込み要因処理部１２と、タイマのオーバフロー割り込み処理部１６とで構成される。
【００６７】
また、割り込み要因処理部１２は、Ｒ／Ｗ（Ｒｅａｄ／Ｗｒｉｔｅ）要因以外の処理部（図示せず）と、ＨＷ起動ＤＭＡ転送開始処理部を有するＲ／Ｗ要因処理部とで構成され、タイマのオーバフロー割り込み処理部１６は、ＨＷ起動ＤＭＡ転送終了処理部で構成される。
【００６８】
また図１３は、割り込みベクタと割り込みハンドラの対応図であり、タイマ７からの割り込みＩＲＱ２はＣＰＵの割り込みベクタに、図１３のように関連付けられている。図１２の、割り込み要因処理部１２とタイマオーバフロー割り込み処理部１６は、ＣＰＵ４の割り込みベクタから割り込みハンドラとして参照可能で、該当するＩＲＱ入力時にそれぞれの処理部へと遷移する。
【００６９】
割り込み要因処理部１２では、Ｉ／Ｏ装置１からの割り込み処理を行い、具体的にはＲｅａｄ、Ｗｒｉｔｅ要因の場合に、ＨＷ起動ＤＭＡ転送開始処理部にて、ＨＷ起動ＤＭＡ転送開始するための処理を行い、それ以外の要因では、Ｒｅａｄ／Ｗｒｉｔｅ要因以外の割り込み処理部で処理を行う。
【００７０】
ＨＷ起動ＤＭＡ転送は、図１１で示したＩＲＱ入力制御処理部２からＤＭＡ制御装置３へ直接出力されるＩＲＱ信号により、ＤＭＡ転送が起動される。結果的にＩ／Ｏ装置１からＩＲＱ信号が入力されるたびにＤＭＡ制御装置３が起動し、ＤＭＡ転送が行われる。
【００７１】
また、ＨＷ起動ＤＭＡ転送終了処理部では、ＨＷ起動ＤＭＡ転送を終了するか否かの判断を行い、終了する場合にはＩＲＱ入力制御処理部２に対してＤＭＡ制御装置３へのＩＲＱ信号の直接出力を停止する処理を行う。
【００７２】
図１４は、本発明の第４の実施形態のフローチャートである。
【００７３】
図１４に示すように、アプリケーションからのＨＷ起動ＤＭＡ転送要求を、ＨＷ起動ＤＭＡ転送要求処理部１１において、割り込み要因処理部１２、ＤＭＡ転送終了処理部１３に対して通知を行う。
【００７４】
その後、Ｉ／Ｏ装置１からのＩＲＱ信号が発生すると、割り込み要因処理部１２において、割り込み要因の判断を行い、Ｒｅａｄ・Ｗｒｉｔｅ要因であれば、ＨＷ起動ＤＭＡ転送終了処理部とＩＲＱ入力制御処理部２に対して、ＨＷ起動ＤＭＡ転送開始を通知する。
【００７５】
ＩＲＱ入力制御処理部２では、該当Ｉ／Ｏ装置１に対応するＩＲＱ信号をＤＭＡ制御装置３へ直接出力するための処理を行う。
【００７６】
ＨＷ起動ＤＭＡ転送終了処理部では、ＨＷ起動ＤＭＡ転送の転送時間設定行う。
【００７７】
これらの処理が終了した時点でＨＷ起動ＤＭＡ転送を開始し、開始後、前述の設定したＨＷ起動ＤＭＡ転送時間がカウントされた（その時間が経過した）ことによりＨＷ起動ＤＭＡ転送の終了を判断し、この転送終了が判断された場合に、ＩＲＱ入力制御処理部２ではＤＭＡ制御装置３へのＩＲＱ信号の直接出力を停止し、アプリケーションに対し終了を通知することで、ＨＷ起動ＤＭＡ転送が終了する。
【００７８】
先の第１の実施形態では、ＨＷ起動ＤＭＡ転送回数が設定回数に到達することによりＨＷ起動ＤＭＡ転送終了の判断を行っていたのに対し、本発明の第４の実施形態では、ＨＷ起動ＤＭＡ転送時間が設定時間になったときにＨＷ起動ＤＭＡ転送終了の判断を行うようにしたものであり、第１の実施形態と同様の効果が得られる。
【００７９】
また、第１の実施形態に対する第２の実施形態または第３の実施形態のように、第４の実施形態において、図５のＨｅａｄｅｒ生成処理部６およびパケット生成処理部３ａを有するシステム構成とし、図７の有効データ取得処理部１４（割り込みハンドラ内）および有効データバッファ領域１５を持つようにしてもよいし、さらには図９のＥｒｒｏｒ処理部（割り込みハンドラ内）を持つようにしてもよい。この場合の処理ブロックの例を図１５に示す。
【００８０】
なお本発明は、上述した各実施形態に限定されるものではなく、その要旨を逸脱しない範囲で、種々変形して実施することができる。
【産業上の利用可能性】
【００８１】
本発明は、ＤＭＡ転送を行うコンピュータシステム等として有用である。
【図面の簡単な説明】
【００８２】
【図１】本発明の第１の実施形態のシステム構成図
【図２】本発明の第１の実施形態の処理ブロック図
【図３】本発明の第１の実施形態における割り込みベクタと割り込みハンドラの対応図
【図４】本発明の第１の実施形態のフローチャート
【図５】本発明の第２の実施形態のシステム構成図
【図６】本発明の第２の実施形態で定義する転送データパケット図
【図７】本発明の第２の実施形態の処理ブロック図
【図８】本発明の第２の実施形態のフローチャート
【図９】本発明の第３の実施形態の処理ブロック図
【図１０】本発明の第３の実施形態のフローチャート
【図１１】本発明の第４の実施形態のシステム構成図
【図１２】本発明の第４の実施形態の処理ブロック図
【図１３】本発明の第４の実施形態における割り込みベクタと割り込みハンドラの対応図。
【図１４】本発明の第４の実施形態のフローチャート
【図１５】本発明の第４の実施形態における他の例の処理ブロック図
【図１６】非リアルタイムＯＳの割り込み応答シーケンス図
【図１７】従来技術のＤＭＡ起動方法を示す図
【符号の説明】
【００８３】
１  Ｉ／Ｏ部
２  ＩＲＱ入力制御処理部
３  ＤＭＡ制御装置
４  ＣＰＵ
５  メモリ
６  Ｈｅａｄｅｒ生成処理部
【図１】
2006119982.tif 000003
【図２】
2006119982.tif 000004
【図３】
2006119982.tif 000005
【図４】
2006119982.tif 000006
【図５】
2006119982.tif 000007
【図６】
2006119982.tif 000008
【図７】
2006119982.tif 000009
【図８】
2006119982.tif 000010
【図９】
2006119982.tif 000011
【図１０】
2006119982.tif 000012
【図１１】
2006119982.tif 000013
【図１２】
2006119982.tif 000014
【図１３】
2006119982.tif 000015
【図１４】
2006119982.tif 000016
【図１５】
2006119982.tif 000017
【図１６】
2006119982.tif 000018
【図１７】
2006119982.tif 000019