JP2006119982A - コンピュータシステム - Google Patents
コンピュータシステム Download PDFInfo
- Publication number
- JP2006119982A JP2006119982A JP2004308270A JP2004308270A JP2006119982A JP 2006119982 A JP2006119982 A JP 2006119982A JP 2004308270 A JP2004308270 A JP 2004308270A JP 2004308270 A JP2004308270 A JP 2004308270A JP 2006119982 A JP2006119982 A JP 2006119982A
- Authority
- JP
- Japan
- Prior art keywords
- processing unit
- interrupt
- dma transfer
- dma
- dmac
- 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
Images
Landscapes
- Bus Control (AREA)
Abstract
【課題】 従来の非リアルタイムOSにおける割り込み駆動型I/Oのデータ転送では、データ転送帯域が十分確保できない場合があり、データ転送レートの向上が図れなかった。
【解決手段】 I/O装置1からIRQ信号(割り込み信号)が入力され、IRQ入力制御処理部2からDMA制御装置3へ直接出力されるIRQ信号により、DMA制御装置3が起動し、DMA転送が行われる。これにより、従来の割り込みハンドラによるDMA起動よりも、高速にDMAを起動することが可能となり、起動時間を短縮し、データ転送レートの向上が可能となる。
【選択図】 図1
【解決手段】 I/O装置1からIRQ信号(割り込み信号)が入力され、IRQ入力制御処理部2からDMA制御装置3へ直接出力されるIRQ信号により、DMA制御装置3が起動し、DMA転送が行われる。これにより、従来の割り込みハンドラによるDMA起動よりも、高速にDMAを起動することが可能となり、起動時間を短縮し、データ転送レートの向上が可能となる。
【選択図】 図1
Description
本発明は、特に入出力(I/O)部からの割り込みによってデータ転送を行う場合の割り込み制御装置を有するコンピュータシステムに関する。
一般に、コンピュータシステムにおけるデータ転送では、中央演算処理装置(CPU)、記憶装置、及びDMAC(Direct Memory Access Controller)、入出力(I/O)装置などの各種システム上装置間で転送が行われる。
I/O装置は、各種システム装置に対してデータ転送を行う際に、CPUに対して割り込みをかけることで、データ転送の開始、終了タイミング及び転送に関する情報をCPUに伝達する。
割り込みの処理方式としては、CPUが、発生した割り込み要因に関連付けられた割り込みベクタの処理を行い、その割り込みベクタはソフトウェアで実装される場合が多い。
また、I/O装置からのデータ転送方式としては、CPU処理負荷の軽減及びバス帯域の有効活用のため、DMA(Direct Memory Access)転送方式がある。このDMA制御装置は、CPU及び外部からの割り込み要因でDMA起動を行うことが一般的であり、上述した割り込みベクタソフトウェア内で、データ転送要因を確認後、DMACを制御することで、DMA起動を行うことが一般的である。
また、I/Oからの割り込み要因には、データ転送だけではなくエラー及びデータ転送完了時のアクノリッジなどが多重化されており、上述した割り込みベクタソフトウェア内でこれらの割り込み要因を判断する。例えば、I/Oに対するRead(リード)、Write(ライト)などの要因においてはデータ転送が発生するため、DMAを起動しCPU負荷を軽減することが可能である。
特許文献1には、DMAコントローラの1チャネル当りに複数本の動作要求入力端子を設けるとともに、DMAコントローラ内には上記各動作要求入力端子に対応してそれぞれポインタ(レジスタ)を設け、このポインタに、DMA転送コマンドや転送元、転送先の先頭アドレス等の転送情報がテーブルとして格納されているメモリ上の対応するアドレス(テーブル参照アドレス)を設定するようにした、DMAコントローラを直接起動するための割り込み入力方法が開示されている。
特開昭63−266568号公報
特開平3−129448号公報
上述したような、I/O装置からCPUへの割り込みによって開始されるデータ転送の場合、以下のような課題がある。
(a)割り込み発生から割り込みベクタが処理されるまでの遅延時間は、システム上のOS(Operating System)によって左右されるが、特に非リアルタイムOSの場合は、図16のような割り込み処理シーケンスを行う。図16で示す割り込み遅延時間は予測ができず、システムのアプリケーション動作によって数100μsec〜数msecのオーダで遅延する場合を考慮しなければならない。
(b)上述したように、I/O装置からの割り込み要因には種々の要因が多重化されているため、DMA起動を行うためには、CPUによる要因処理が必要である。よってデータ転送要因で発生した割り込みのみを利用し、DMA制御装置に対して直接DMA起動を行うことが出来ない。その結果DMA起動は、図17に示すようにハンドラ処理を経由し、かつOSの割り込み応答遅延時間分、遅延することとなる。
(c)特許文献1における技術の場合、割り込みコントローラがないシステム構成を考慮しているため、I/O装置からの割り込みに対して、上述したようなエラーやアクノリッジなどの必要な要因処理を行えない問題がある。
さらにエラーやデータ転送完了時のアクノリッジなどのデータ転送が発生することがない要因においても、DMAが起動されるという問題に対しても考慮できていない。
(d)(a)、(b)、(c)により、I/O装置からの割り込みによるデータ転送では、データ転送帯域が十分確保できない場合があり、データ転送レートの向上が図れなかった。
本発明の目的は、I/O部からの割り込みによるDMA転送において、データ転送レートの向上を図ることが可能となるコンピュータシステムを提供することである。
本発明のコンピュータシステムは、CPUと、メモリと、I/O部と、メモリとI/O部との間でのデータ転送を制御するDMACと、I/O部から入力される第1の割り込み信号をDMACおよびCPUへ出力制御するための割り込み入力制御処理部とを備え、CPUには、割り込み入力制御処理部からの第1の割り込み信号がメモリとI/O部との間でのデータ転送要求であるか否かを判断し、データ転送要求である場合に割り込み入力制御処理部に対してDMA転送開始通知を行う第1の割り込み要因処理部を備えるとともに、第2の割り込み信号に基いてDMA転送終了を判断し割り込み入力制御処理部に対してDMA転送終了通知を行う第2の割り込み要因処理部を備え、割り込み入力制御処理部は、第1の割り込み要因処理部からのDMA転送開始通知に応答して第1の割り込み信号をDMACへ出力するようにし、第2の割り込み要因処理部からのDMA転送終了通知に応答して第1の割り込み信号のDMACへの出力を停止するようにし、DMACは、割り込み入力制御処理部から第1の割り込み信号が入力されている間、メモリとI/O部との間でのデータ転送を行うようにしている。
本発明において、第2の割り込み要因処理部はDMACによるDMA転送回数を所定の回数に設定し、DMACはDMA転送回数が所定の回数に達したときに第2の割り込み信号を第2の割り込み要因処理部へ出力するようにしてもよい。
本発明において、DMA転送時間を計測するタイマを設け、第2の割り込み要因処理部はDMACによるDMA転送時間を所定の時間に設定し、タイマはDMA転送時間が所定の時間に達したときに第2の割り込み信号を第2の割り込み要因処理部へ出力するようにしてもよい。
本発明において、第2の割り込み要因処理部は、DMA転送終了を判断したとき、上位ソフトウェアに対してDMA転送終了を通知するようにしてもよい。
本発明において、DMACからのDMA転送データの誤り検出を行う誤り検出処理部と、誤り検出処理後の有効なデータをストアするデータバッファ領域とを設けてもよい。
この場合、DMACにおけるDMA転送データにヘッダ情報を付加するヘッダ生成処理部を設けてもよい。また、DMACからのDMA転送データの誤り検出結果を、上位ソフトウェアに対して通知する手段を設けてもよい。また、第1の割り込み要因処理部は、割り込み入力制御処理部からの第1の割り込み信号がエラー発生を示すときエラー処理を行うエラー処理部を有するようにしてもよい。さらに、エラー処理部において、エラー発生時に割り込み入力制御処理部に対して、DMA転送終了の通知を行うようにしてもよい。また、エラー処理部の処理結果を、上位ソフトウェアに対して通知するようにしてもよい。
以上説明したように、本発明によれば、I/O部からの割り込みによるDMA起動において、DMAをI/O部からの割り込み信号(IRQ信号)で直接起動することにより、起動時間を短縮することで、I/O部からのデータ転送レートの向上が可能である。
また、割り込みハンドラの制御内で、上述した直接起動の切り替えを行うことで、従来行ってきた直接起動に比べて、ソフトウェアで任意のタイミングで本発明の機構を使用することが可能である。
また、割り込みハンドラの制御内で、エラー処理などデータ転送要因以外の割り込み処理も行うことで、従来行ってきた直接起動に比べて、I/O部の要求するすべての割り込み要因を処理することが可能である。
また、誤り検出処理部を設けDMA転送データの誤り検出を行うことで、転送後データの有効性を確認することが可能となる。
また、エラー処理部を設けることでDMA転送中のエラー処理に対応することが可能となる。
以下、本発明の割り込み制御装置を有するコンピュータシステムの実施形態について、図面を参照しながら説明する。
(第1の実施形態)
図1は、本発明の第1の実施形態のシステム構成図であり、I/O装置1と、I/O装置1からのIRQ(割り込み要求)を制御するためのIRQ入力制御処理部2と、DMA制御装置(DMAC)3と、CPU4と、メモリ5とで構成されている。
図1は、本発明の第1の実施形態のシステム構成図であり、I/O装置1と、I/O装置1からのIRQ(割り込み要求)を制御するためのIRQ入力制御処理部2と、DMA制御装置(DMAC)3と、CPU4と、メモリ5とで構成されている。
IRQ入力制御処理部2では、I/O装置1からのIRQ信号をDMA制御装置3へ直接出力し、かつCPU4へも出力するための制御を行う。
図2は、本発明の第1の実施形態の処理ブロック図であり、IRQ入力制御処理部2と、HW起動DMA転送要求処理部11と、割り込み要因処理部12と、DMA転送終了処理部13とで構成される。なお、本明細書では、DMA制御装置3に印加される割り込みによってDMA転送が開始される、この割り込みによるDMA転送起動のことを、HW起動と記載する。
また、割り込み要因処理部12は、R/W(Read/Write)要因以外の処理部(図示せず)と、HW起動DMA転送開始処理部を有するR/W要因処理部とで構成され、DMA転送終了処理部13では、HW起動DMA転送終了処理部で構成される。
また図3は、割り込みベクタと割り込みハンドラの対応図であり、図1のI/O装置1からのIRQ信号(IRQ0)とDMA制御装置3からのIRQ信号(IRQ1)と、図2の割り込み要因処理部12とDMA転送終了処理部13の対応を示している。図2の、割り込み要因処理部12とDMA転送終了処理部13は、CPU4の割り込みベクタから割り込みハンドラとして参照可能で、該当するIRQ入力時にそれぞれの処理部へと遷移する。
割り込み要因処理部12では、I/O装置1からの割り込み処理を行い、具体的にはRead、Write要因の場合に、HW起動DMA転送開始処理部にて、HW起動DMA転送開始するための処理を行い、それ以外の要因では、Read/Write要因以外の割り込み処理部で処理を行う。
HW起動DMA転送は、図1で示したIRQ入力制御処理部2からDMA制御装置3へ直接出力されるIRQ信号により、DMA転送が起動される。結果的にI/O装置1からIRQ信号が入力されるたびにDMA制御装置3が起動し、DMA転送が行われる。
また、HW起動DMA転送終了処理部では、HW起動DMA転送を終了するか否かの判断を行い、終了する場合にはIRQ入力制御処理部2に対してDMA制御装置3へのIRQ信号の直接出力を停止する処理を行う。
図4は、本発明の第1の実施形態のフローチャートである。
図4に示すように、アプリケーションからのHW起動DMA転送要求を、HW起動DMA転送要求処理部11において、割り込み要因処理部12、DMA転送終了処理部13に対して通知を行う。
その後、I/O装置1からのIRQ信号が発生すると、割り込み要因処理部12において、割り込み要因の判断を行い、Read・Write要因であれば、HW起動DMA転送終了処理部とIRQ入力制御処理部2に対して、HW起動DMA転送開始を通知する。
IRQ入力制御処理部2では、該当I/O装置1に対応するIRQ信号をDMA制御装置3へ直接出力するための処理を行う。
HW起動DMA転送終了処理部では、HW起動DMA転送の転送回数の設定を行う。この転送回数は、制御ソフトウェアで任意の値に設定される。
これらの処理が終了した時点でHW起動DMA転送を開始して、転送回数をカウントし、そのカウントした転送回数が前述の設定したHW起動DMA転送の転送回数に達すればHW起動DMA転送の終了を判断し、この転送終了が判断された場合に、IRQ入力制御処理部2ではDMA制御装置3へのIRQ信号の直接出力を停止し、アプリケーションに対し終了を通知することで、HW起動DMA転送が終了する。
なお、図3のIRQ0の割り込みハンドラ(割り込み要因判断)が図2の割り込みハンドラ1に相当し、図3のIRQ1の割り込みハンドラ(DMA終了処理)が図2の割り込みハンドラ2に相当し、IRQ1を受けたCPU4は、割り込みハンドラ2の処理を実行する。図2において、図1にも示されているIRQ入力制御処理部2は回路などのハードウェアであり、それ以外の全て、ここではHW起動DMA転送要求処理部11、割り込み要因処理部12、DMA転送終了処理部13は、すべてソフトウェア(プログラム)で構成される。すなわち、割り込みハンドラ1及び2、アプリケーションタスクは、メモリ5上にプログラムが置かれ、CPU4によりコード実行される。割り込みハンドラ1及び2とアプリケーションタスクの関係は、アプリケーションからの操作により、HW起動DMA転送機能を使うか使わないか(IRQ入力制御処理部2が、DMA制御装置3に対して割り込みを発生するかしないか)の制御を行うことを意図している。処理の流れは以下のようになる。
1.「割り込みハンドラ1」内の「HW起動DMA転送開始処理部(プログラム)」によって、IRQ入力制御処理部2が割り込みを発生する。
2.DMA転送が割り込み駆動で実行される。
3.「割り込みハンドラ2」内の「HW起動DMA転送終了処理部(プログラム)」によって、IRQ入力制御処理部2の割り込み発生を止める。
1.「割り込みハンドラ1」内の「HW起動DMA転送開始処理部(プログラム)」によって、IRQ入力制御処理部2が割り込みを発生する。
2.DMA転送が割り込み駆動で実行される。
3.「割り込みハンドラ2」内の「HW起動DMA転送終了処理部(プログラム)」によって、IRQ入力制御処理部2の割り込み発生を止める。
以上の仕組みにより、本発明の第1の実施形態では、HW起動DMA転送を実現することで、従来の割り込みハンドラによるDMA起動よりも、高速にDMAを起動することが可能となり、起動時間を短縮することで、データ転送レートの向上が可能である。
なお、図1の構成では、I/O装置1、DMA制御装置3が1つずつであるが、この例にとらわれることなく複数であっても良い。また、図1では、I/O装置1からのIRQ信号線が1本であるが、この例にとらわれることなくIRQ信号線が複数であっても良い。
(第2の実施形態)
図5は、本発明の第2の実施形態のシステム構成図であり、I/O装置1と、I/O装置1からのIRQを制御するためのIRQ入力制御処理部2と、DMA制御装置3と、CPU4と、Header(ヘッダ)生成処理部6と、メモリ5とで構成されている。
図5は、本発明の第2の実施形態のシステム構成図であり、I/O装置1と、I/O装置1からのIRQを制御するためのIRQ入力制御処理部2と、DMA制御装置3と、CPU4と、Header(ヘッダ)生成処理部6と、メモリ5とで構成されている。
図5では、Header生成処理部6を設け、DMA制御装置3内にパケット生成処理部3aを設けていることが、図1とは異なる。以下では、第1の実施形態と異なる点を主に説明する。
Header生成処理部6では、Checksum(チェックサム)を含むHeaderデータを生成する。このHeaderをDMA制御装置3は、内部のパケット生成処理部3aにおいて、転送データとHeaderをパケット化する処理を行い、パケットのデータ転送を行う。
Headerは、図6に示すように、n回のDMA転送を1パケットとするパケット単位毎に存在する。このHeader内の記述では、Checksum領域を設けておくこととし、またそれ以外の任意の情報も付加可能である。Checksumとは、データ伝送において、伝送されたデータに誤りがないかどうかをチェックする方法のひとつであり、その実装アルゴリズムは様々である。一般的にはあらかじめデータの合計の値を計算しておき、データの伝送のときに、データと合計の値を送り、受信側では受信データの合計を計算して、送信側で計算した合計値と比較する。伝送されたデータの値に誤りがあれば、合計の値は一致しないので誤りを検出できる、という仕組みである。
またパケットN個分を、HW起動DMA転送の1つの転送単位とする。
図7は、本発明の第2の実施形態の処理ブロック図であり、IRQ入力制御処理部2と、HW起動DMA転送要求処理部11と、割り込み要因処理部12と、DMA転送終了処理部13と、有効データ取得処理部14と、有効データバッファ領域15とで構成される。
第1の実施形態と同様に、割り込み要因処理部12は、割り込み要因処理部12は、R/W要因以外の処理部(図示せず)と、HW起動DMA転送開始処理部を有するR/W要因処理部とで構成され、DMA転送終了処理部13は、HW起動DMA転送終了処理部で構成される。有効データ取得処理部14では、HW起動DMA転送が終了した時点で、DMA転送されたデータの有効部分を判定し、有効データを有効データバッファ領域15へコピーを行う。なお、有効データ取得処理部14(割り込みハンドラ2内)は、メモリ5中にプログラムが置かれ、CPU4によりコード実行される。有効データバッファ領域15は、メモリ5上に配置される。
図8の、本発明の第2の実施形態のフローチャートを用いて、有効データ取得処理部14の処理シーケンスを具体的に説明する。
「HW起動DMA転送終了」までは、第1の実施形態と同様である。DMA転送終了後、有効データ取得処理部14において、転送データ処理を以下の要領で実施する。
(a)パケットの取得を行う。
(b)図6に示すパケットのHeaderフィールドのChecksumを確認することで、パケットの有効性の判断を行う。
(c)有効パケットを有効データバッファ領域15にコピーする。
(d)パケットが無効の場合は、有効データ取得処理部14の処理を終了し、アプリケーションにHW起動DMA転送が終了したことを通知する。
(e)パケットの処理がN個分実施された時点でも、アプリケーションにHW起動DMA転送が終了したことを通知する。通知方法には、OSのAPIで実現されるメッセージ通信を用いる方法などが考えられる。
(a)パケットの取得を行う。
(b)図6に示すパケットのHeaderフィールドのChecksumを確認することで、パケットの有効性の判断を行う。
(c)有効パケットを有効データバッファ領域15にコピーする。
(d)パケットが無効の場合は、有効データ取得処理部14の処理を終了し、アプリケーションにHW起動DMA転送が終了したことを通知する。
(e)パケットの処理がN個分実施された時点でも、アプリケーションにHW起動DMA転送が終了したことを通知する。通知方法には、OSのAPIで実現されるメッセージ通信を用いる方法などが考えられる。
以上(a)〜(e)の処理シーケンスにより、本発明の第2の実施形態では、HW起動によるDMA転送の高速化と、転送後データの有効性を確認することが可能となる。
なお、図5の構成では、I/O装置1、DMA制御装置3が1つずつであるが、この例にとらわれることなく複数であっても良い。また、図5では、I/O装置1からのIRQ信号線が1本であるが、この例にとらわれることなくIRQ信号線が複数であっても良い。
(第3の実施形態)
本発明の第3の実施形態のシステム構成は、第2の実施形態で用いた図5と同様である。
本発明の第3の実施形態のシステム構成は、第2の実施形態で用いた図5と同様である。
図9は、本発明の第3の実施形態の処理ブロック図であり、IRQ入力制御処理部2と、HW起動DMA転送要求処理部11と、割り込み要因処理部12と、DMA転送終了処理部13と、有効データ取得処理部14と、有効データバッファ領域15とで構成される。
第1、第2の実施形態と同様に、DMA転送終了処理部13は、HW起動DMA転送終了処理部で構成される。
また、割り込み要因処理部12は、R/W要因以外の処理部(図示せず)と、HW起動DMA転送開始処理部を有するR/W要因処理部と、さらにError(エラー)処理部とで構成される。
すなわち、第3の実施形態では、割り込み要因処理部12に、Error処理部が追加されていることが第2の実施形態とは異なり、その他の構成は第2の実施形態と同様である。
図10の、本発明の第3の実施形態のフローチャートを用いて、Error処理部に関わる処理シーケンスを具体的に説明する。
「HW起動DMA転送開始」までは、第1、第2の実施形態と同様である。HW起動DMA転送開始後、I/O装置1からのError割り込み処理を以下の要領で実施する。
(a)Error割り込み発生後、割り込みハンドラ内でErrorステータスをセットする。
(b)HW起動DMA転送終了後、有効データ取得処理部14において、Errorステータスがセットされていなければ、以下第2の実施形態と同様の処理を行う。
(c)HW起動DMA転送終了後、有効データ取得処理部14において、Errorステータスがセットされていれば、有効データ取得処理を行わず、IRQ入力制御処理部2において、DMA制御装置3への入力Off制御を行う。
(d)アプリケーションに対して、転送終了状態(Error)を通知する(具体的にはErrorリターンする)。
(a)Error割り込み発生後、割り込みハンドラ内でErrorステータスをセットする。
(b)HW起動DMA転送終了後、有効データ取得処理部14において、Errorステータスがセットされていなければ、以下第2の実施形態と同様の処理を行う。
(c)HW起動DMA転送終了後、有効データ取得処理部14において、Errorステータスがセットされていれば、有効データ取得処理を行わず、IRQ入力制御処理部2において、DMA制御装置3への入力Off制御を行う。
(d)アプリケーションに対して、転送終了状態(Error)を通知する(具体的にはErrorリターンする)。
以上(a)〜(d)の処理シーケンスにより、本発明の第3の実施形態では、HW起動DMA転送中のError処理に対応することが可能となる。また、第2の実施形態と同様の効果が得られることは言うまでもない。
なお、図9の構成では、Error処理部が1つであるが、この例にとらわれることなく複数であっても良い。
(第4の実施形態)
図11は、本発明の第4の実施形態のシステム構成図であり、I/O装置1と、I/O装置1からのIRQ(割り込み要求)を制御するためのIRQ入力制御処理部2と、DMA制御装置(DMAC)3と、CPU4と、メモリ5、タイマ7とで構成されている。
図11は、本発明の第4の実施形態のシステム構成図であり、I/O装置1と、I/O装置1からのIRQ(割り込み要求)を制御するためのIRQ入力制御処理部2と、DMA制御装置(DMAC)3と、CPU4と、メモリ5、タイマ7とで構成されている。
IRQ入力制御処理部2では、I/O装置1からのIRQ信号をDMA制御装置3へ直接出力し、かつCPU4へも出力するための制御を行う。
図12は、本発明の第4の実施形態の処理ブロック図であり、IRQ入力制御処理部2と、HW起動DMA転送要求処理部11と、割り込み要因処理部12と、タイマのオーバフロー割り込み処理部16とで構成される。
また、割り込み要因処理部12は、R/W(Read/Write)要因以外の処理部(図示せず)と、HW起動DMA転送開始処理部を有するR/W要因処理部とで構成され、タイマのオーバフロー割り込み処理部16は、HW起動DMA転送終了処理部で構成される。
また図13は、割り込みベクタと割り込みハンドラの対応図であり、タイマ7からの割り込みIRQ2はCPUの割り込みベクタに、図13のように関連付けられている。図12の、割り込み要因処理部12とタイマオーバフロー割り込み処理部16は、CPU4の割り込みベクタから割り込みハンドラとして参照可能で、該当するIRQ入力時にそれぞれの処理部へと遷移する。
割り込み要因処理部12では、I/O装置1からの割り込み処理を行い、具体的にはRead、Write要因の場合に、HW起動DMA転送開始処理部にて、HW起動DMA転送開始するための処理を行い、それ以外の要因では、Read/Write要因以外の割り込み処理部で処理を行う。
HW起動DMA転送は、図11で示したIRQ入力制御処理部2からDMA制御装置3へ直接出力されるIRQ信号により、DMA転送が起動される。結果的にI/O装置1からIRQ信号が入力されるたびにDMA制御装置3が起動し、DMA転送が行われる。
また、HW起動DMA転送終了処理部では、HW起動DMA転送を終了するか否かの判断を行い、終了する場合にはIRQ入力制御処理部2に対してDMA制御装置3へのIRQ信号の直接出力を停止する処理を行う。
図14は、本発明の第4の実施形態のフローチャートである。
図14に示すように、アプリケーションからのHW起動DMA転送要求を、HW起動DMA転送要求処理部11において、割り込み要因処理部12、DMA転送終了処理部13に対して通知を行う。
その後、I/O装置1からのIRQ信号が発生すると、割り込み要因処理部12において、割り込み要因の判断を行い、Read・Write要因であれば、HW起動DMA転送終了処理部とIRQ入力制御処理部2に対して、HW起動DMA転送開始を通知する。
IRQ入力制御処理部2では、該当I/O装置1に対応するIRQ信号をDMA制御装置3へ直接出力するための処理を行う。
HW起動DMA転送終了処理部では、HW起動DMA転送の転送時間設定行う。
これらの処理が終了した時点でHW起動DMA転送を開始し、開始後、前述の設定したHW起動DMA転送時間がカウントされた(その時間が経過した)ことによりHW起動DMA転送の終了を判断し、この転送終了が判断された場合に、IRQ入力制御処理部2ではDMA制御装置3へのIRQ信号の直接出力を停止し、アプリケーションに対し終了を通知することで、HW起動DMA転送が終了する。
先の第1の実施形態では、HW起動DMA転送回数が設定回数に到達することによりHW起動DMA転送終了の判断を行っていたのに対し、本発明の第4の実施形態では、HW起動DMA転送時間が設定時間になったときにHW起動DMA転送終了の判断を行うようにしたものであり、第1の実施形態と同様の効果が得られる。
また、第1の実施形態に対する第2の実施形態または第3の実施形態のように、第4の実施形態において、図5のHeader生成処理部6およびパケット生成処理部3aを有するシステム構成とし、図7の有効データ取得処理部14(割り込みハンドラ内)および有効データバッファ領域15を持つようにしてもよいし、さらには図9のError処理部(割り込みハンドラ内)を持つようにしてもよい。この場合の処理ブロックの例を図15に示す。
なお本発明は、上述した各実施形態に限定されるものではなく、その要旨を逸脱しない範囲で、種々変形して実施することができる。
本発明は、DMA転送を行うコンピュータシステム等として有用である。
1 I/O部
2 IRQ入力制御処理部
3 DMA制御装置
4 CPU
5 メモリ
6 Header生成処理部
2 IRQ入力制御処理部
3 DMA制御装置
4 CPU
5 メモリ
6 Header生成処理部
Claims (10)
- CPUと、メモリと、I/O部と、前記メモリと前記I/O部との間でのデータ転送を制御するDMACと、前記I/O部から入力される第1の割り込み信号を前記DMACおよび前記CPUへ出力制御するための割り込み入力制御処理部とを備え、
前記CPUには、前記割り込み入力制御処理部からの前記第1の割り込み信号が前記メモリと前記I/O部との間でのデータ転送要求であるか否かを判断し、前記データ転送要求である場合に前記割り込み入力制御処理部に対してDMA転送開始通知を行う前記第1の割り込み要因処理部を備えるとともに、第2の割り込み信号に基いてDMA転送終了を判断し前記割り込み入力制御処理部に対してDMA転送終了通知を行う第2の割り込み要因処理部を備え、
前記割り込み入力制御処理部は、前記第1の割り込み要因処理部からの前記DMA転送開始通知に応答して前記第1の割り込み信号を前記DMACへ出力するようにし、前記第2の割り込み要因処理部からの前記DMA転送終了通知に応答して前記第1の割り込み信号の前記DMACへの出力を停止するようにし、
前記DMACは、前記割り込み入力制御処理部から前記第1の割り込み信号が入力されている間、前記メモリと前記I/O部との間でのデータ転送を行うようにしたコンピュータシステム。 - 前記第2の割り込み要因処理部は前記DMACによるDMA転送回数を所定の回数に設定し、前記DMACはDMA転送回数が前記所定の回数に達したときに前記第2の割り込み信号を前記第2の割り込み要因処理部へ出力するようにしたことを特徴とする請求項1記載のコンピュータシステム。
- DMA転送時間を計測するタイマを設け、前記第2の割り込み要因処理部は前記DMACによるDMA転送時間を所定の時間に設定し、前記タイマはDMA転送時間が前記所定の時間に達したときに前記第2の割り込み信号を前記第2の割り込み要因処理部へ出力するようにしたことを特徴とする請求項1記載のコンピュータシステム。
- 前記第2の割り込み要因処理部は、DMA転送終了を判断したとき、上位ソフトウェアに対してDMA転送終了を通知するようにしたことを特徴とする請求項1記載のコンピュータシステム。
- 前記DMACからのDMA転送データの誤り検出を行う誤り検出処理部と、
前記誤り検出処理後の有効なデータをストアするデータバッファ領域とを設けたことを特徴とする請求項1記載のコンピュータシステム。 - 前記DMACにおけるDMA転送データにヘッダ情報を付加するヘッダ生成処理部を設けたことを特徴とする請求項5記載のコンピュータシステム。
- 前記DMACからのDMA転送データの誤り検出結果を、上位ソフトウェアに対して通知する手段を設けたことを特徴とする請求項5記載のコンピュータシステム。
- 前記第1の割り込み要因処理部は、前記割り込み入力制御処理部からの前記第1の割り込み信号がエラー発生を示すときエラー処理を行うエラー処理部を有することを特徴とする請求項5記載のコンピュータシステム。
- 前記エラー処理部において、エラー発生時に前記割り込み入力制御処理部に対して、DMA転送終了の通知を行うことを特徴とする請求項8記載のコンピュータシステム。
- 前記エラー処理部の処理結果を、上位ソフトウェアに対して通知することを特徴とする請求項8記載のコンピュータシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004308270A JP2006119982A (ja) | 2004-10-22 | 2004-10-22 | コンピュータシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004308270A JP2006119982A (ja) | 2004-10-22 | 2004-10-22 | コンピュータシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006119982A true JP2006119982A (ja) | 2006-05-11 |
Family
ID=36537792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004308270A Pending JP2006119982A (ja) | 2004-10-22 | 2004-10-22 | コンピュータシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006119982A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9075784B2 (en) | 2012-10-01 | 2015-07-07 | Kabushiki Kaisha Toshiba | Communication device, communication method and computer-readable recording medium |
US9122779B2 (en) | 2012-07-02 | 2015-09-01 | Kabushiki Kaisha Toshiba | Bridge device with an error tolerant DMA transfer function |
-
2004
- 2004-10-22 JP JP2004308270A patent/JP2006119982A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9122779B2 (en) | 2012-07-02 | 2015-09-01 | Kabushiki Kaisha Toshiba | Bridge device with an error tolerant DMA transfer function |
US9075784B2 (en) | 2012-10-01 | 2015-07-07 | Kabushiki Kaisha Toshiba | Communication device, communication method and computer-readable recording medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008090375A (ja) | 割込み制御システム、およびこれを利用した記憶制御システム | |
JP2007058716A (ja) | データ転送バスシステム | |
US5928348A (en) | Method of processing interrupt requests and information processing apparatus using the method | |
CN112119386B (zh) | 中断控制器 | |
JP3703439B2 (ja) | データ転送制御装置及び方法 | |
JP2004078683A (ja) | コンピュータシステムおよび共有メモリ制御方法 | |
JP2006119982A (ja) | コンピュータシステム | |
US7711885B2 (en) | Bus control apparatus and bus control method | |
US8185668B2 (en) | System having processor and I/O controller | |
KR100606163B1 (ko) | 디렉트 메모리 엑세스 장치, 디렉트 메모리 엑세스 장치를통한 데이터를 송수신하는 시스템 및 방법 | |
US7631114B2 (en) | Serial communication device | |
JP5644197B2 (ja) | コンピュータシステムおよび割込要求処理方法 | |
JP4941212B2 (ja) | 電子デバイス、データ処理装置、及びバス制御方法 | |
US7073007B1 (en) | Interrupt efficiency across expansion busses | |
JP2008152665A (ja) | 半導体集積回路の動作解析方法 | |
JP2008118211A (ja) | データ転送装置及びデータ転送方法 | |
JP2006195607A (ja) | バルクアウト転送終了判定方法および回路 | |
JP2005032036A (ja) | チャネルカードの割込間隔値自動設定装置 | |
KR100223983B1 (ko) | 충돌방지회로 | |
JP2667285B2 (ja) | 割込制御装置 | |
JP2006092077A (ja) | バスシステム | |
JPH10116245A (ja) | Dma制御装置 | |
JP2007285737A (ja) | 半導体検査装置 | |
JPH04369065A (ja) | ダイレクトメモリアクセスコントローラ | |
CN113711192A (zh) | 信息处理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060823 |