JP2010072888A - Dma転送制御システム - Google Patents

Dma転送制御システム Download PDF

Info

Publication number
JP2010072888A
JP2010072888A JP2008238784A JP2008238784A JP2010072888A JP 2010072888 A JP2010072888 A JP 2010072888A JP 2008238784 A JP2008238784 A JP 2008238784A JP 2008238784 A JP2008238784 A JP 2008238784A JP 2010072888 A JP2010072888 A JP 2010072888A
Authority
JP
Japan
Prior art keywords
dma transfer
interrupt
memory
status
register
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.)
Granted
Application number
JP2008238784A
Other languages
English (en)
Other versions
JP4985599B2 (ja
Inventor
Shiro Sakurada
史郎 桜田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Engineering Ltd
Original Assignee
NEC Engineering Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP2008238784A priority Critical patent/JP4985599B2/ja
Publication of JP2010072888A publication Critical patent/JP2010072888A/ja
Application granted granted Critical
Publication of JP4985599B2 publication Critical patent/JP4985599B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

【課題】SWがメモリのステータス領域を確認する時には未だ正しいステータスがメモリに書き込まれてない可能性がある。
【解決手段】IOデバイス4,9は、DMA転送結果をメモリ5に書き込むためのステータスライトコマンドを発行しCPU2へ割込みを通知する。CPUは、割込みの通知を受けると、IOデバイスの割込みレジスタ13を読み出すためのレジスタリードコマンドを発行する。バスブリッジ10は、ステータスライトコマンドおよびレジスタリードコマンドに対するレジスタリードレスポンスをDMA転送データと共にポストする。バスブリッジは、レジスタリードレスポンスの実行に先立ってステータスライトコマンドを実行することでライトとリードの順番を保証する。
【選択図】図1

Description

本発明は、DMA転送制御システムに関し、特に、メモリに書き込まれたDMA転送データと、CPUで使用されるDMA転送データとの一貫性を担保するDMA転送制御システムに関する。
高速なインターフェースを持つIOデバイスや、大容量データの転送を必要とするIOデバイスに対しては、CPUを介さずにIOデバイスとメインメモリ間で直接データ転送を行うDMA転送方式がよく採用される。これにより、CPUの負荷を軽減し、データ転送や他の処理への影響も含めシステム全体の性能低下を阻止する。
このDMA転送制御方式に関し、転送情報(ディスクリプタという)を用いた方法が周知である。図11と図12はこの種のDMA転送制御方式の構成例とデータフローを示し、図13はDMA制御フローを示す(文献公知発明に係るものではない)。
先ず、CPU2で実行されるソフトウェア(SW)1はメモリ5のディスクリプタ領域6へディスクリプタ Des を書き込み(図13のステップB1)、ディスクリプタ Des を書き込んだメモリ5のディスクリプタ領域6の該当アドレスをIOデバイス4,9へ通知する(ステップB2)。次に、IOデバイス4,9のDMAエンジンは、通知されたメモリ5のディスクリプタ領域6の該当アドレスからディスクリプタ Des を読み込み(ステップB3)、内容に応じてメモリ5のデータ領域8との間でDMA転送を開始する(ステップB4)。この時に転送されるDMA転送データ Dat は、バスブリッジ10にバッファリングされる。
そして、IOデバイス4,9はDMA転送が終了すると(ステップB5)、ステータスライトコマンド Stw によりメモリ5のステータス領域7へDMA転送結果ステータス Sts(成功 or 失敗 or 完了DMA数等)を書き込み(ステップB6、図11)、IOデバイスは、ディスクリプタの終了(DMAの終了)を割込み信号で割込みコントローラ12へ通知する(ステップB7、図12)。SW1は、割込み処理の中で、HWによって処理が終了したディスクリプタ Des とその結果をステータスリードコマンド Str によりメモリ5のステータス領域7から読み出して確認して(ステップB8)、一連のDMA動作を完了する。
しかし、この方式では、SW1がメモリ5のステータス領域7を確認する時には未だ正しいステータスがメモリ5に書き込まれてない可能性がある。図14を用いてその理由を説明する。
IOデバイス4からDMA転送結果ステータス Sts がメモリ5のステータス領域7へ書き込まれる流れとして、先ず、IOデバイス4からステータスライトコマンド Stw がバスブリッジ10へポストされる。バスブリッジ10内では、IOデバイス4からのDMA転送データ Dat やIOデバイス9のDMA転送データ Dat 等も滞留しており、直にメモリ5への書込みがされるとは限らない。
一方、ステータスライトコマンド Stw をバスブリッジ10にポストしたIOデバイス4はDMA終了通知を割込み線経由で行い、SW1は割込み処理の中でDMAのステータスを読み込む為に、CPU2を通じてメモリ5のステータス領域7をリードする為のステータスリードコマンド Str を発行する。このステータスリードコマンド Str とステータスライトコマンド Stw の順番保証がなされていない為に、ステータスリードコマンド Str がステータスライトコマンド Stw より早くメモリ5に受け付けられた場合、DMA転送結果のステータスは不正になってしまう。
そして、ステータス不正により、DMA転送異常終了をDMA転送正常終了と認識してしまう場合が考えられ、その場合には、SW1がDMA成功と誤認し、次処理へ移行してしまうため、結果としてデータ化けを引き起こす。
また、同じ理由により、SW1がメモリ5のステータス領域7を確認する時に、DMAデータ自体がメモリ5に書き込まれていない可能性もあり、この場合にも結果としてデータ化けを引き起こす。
このような問題を解決するための技術が公知である(例えば、特許文献1参照)。この従来技術は、入出力デバイスから送られてくるデータを、CPUを介さずメモリ上の所定の領域へ書き込むための転送を開始し、最後の書込み転送後に入出力デバイスからデータの入出力に関する割込みを受けると、CPUに対する割込みを発生せずに、メモリに書き込んだデータを読み出すためのリードコマンドを発行する入出力コントローラを設ける。
入出力コントローラは、リードコマンドに対する応答を受け、メモリでのデータ書込みが完了したことを確認した上で、割込みコントローラに対してデータ転送が完了したことを示す割込みを発生する。割込みコントローラは、入出力コントローラから発生される割込みを受けて、当該割込みをCPUに伝える。
特開2003−271541号公報(第4頁−第5頁、図6)
しかしながら、上述した従来技術では、入出力コントローラというハードウェアを設ける必要があるため、コスト、スペース、電力等の点で問題がある。
そこで、本発明の目的は、簡便な構成によって、DMA転送結果ステータスのリードとライトの順番を保障でき、これにより、データ化け等の不正動作を防ぎ、メモリに書き込まれたDMA転送データと、CPUで使用されるデータとの一貫性を担保することが可能なDMA転送制御システムを提供することを目的とする。
本発明のDMA転送制御システムは、CPUおよびメモリとIOデバイスがバスブリッジを介して接続されたDMA転送制御システムにおいて、CPUは、IOデバイスから割込み発行の有無を読み出すためのコマンドをバスブリッジ経由で発行することにより、DMA転送結果がIOデバイスから前記メモリに書き込まれたことを確認した後に該DMA転送結果をメモリから読み出すことを特徴とする。
更に詳しくは、本発明のDMA転送制御システムは、CPUおよびメモリとIOデバイスがバスブリッジを介して接続されたDMA転送制御システムにおいて、IOデバイスは、割込み発行の有無を示す割込みレジスタを備え、DMA転送結果をメモリに書き込むためのステータスライトコマンドを発行し、CPUは、割込みの通知を受けると、割込みレジスタを読み出すためのレジスタリードコマンドを発行し、バスブリッジは、ステータスライトコマンドおよびレジスタリードコマンドに対するレジスタリードレスポンスをDMA転送データと共にポストし、レジスタリードレスポンスの実行に先立ってステータスライトコマンドを実行し、CPUは、レジスタリードレスポンスを受けると、DMA転送結果をメモリから読み出すためのステータスリードコマンドを発行し、読み出されたDMA転送結果によりDMA転送データをメモリから読み出して処理することを特徴とする。
本発明では、IOデバイスは、DMA転送終了時に、該DMA転送結果をメモリに書き込むためのステータスライトコマンドを発行し、DMA転送終了時にCPUへ割込みを通知する。CPUは、割込みの通知を受けると、IOデバイスの割込みレジスタを読み出すためのレジスタリードコマンドを発行する。
バスブリッジは、ステータスライトコマンドおよびレジスタリードコマンドに対するレジスタリードレスポンスをDMA転送データと共にポストする。バスブリッジは、レジスタリードレスポンスの実行に先立ってステータスライトコマンドを実行する。
CPUは、レジスタリードレスポンスを受けると、DMA転送結果をメモリから読み出すためのステータスリードコマンドを発行し、読み出されたDMA転送結果によりDMA転送データをメモリから読み出して処理する。
このように、本発明は、バスブリッジの一般的仕様としてリードがライトを追い越すことはないという特性を利用し、割り込み通知を受けたSWがメモリ上にあるDMA転送結果のステータスをリードする前に、IOデバイスに対して必ずリード動作を行うことで、DMA転送結果のステータスに対するライトとリードの順番を保証することにより本発明の目的を達成する。
即ち、IOデバイスに対するリードのレスポンスを確認してからメモリ上のDMA転送結果のステータスをリードすることで、上記特性により、IOデバイスのリードレスポンスが、その時点でのバスブリッジ内滞留コマンドの最後になり、該当リードレスポンスがSWに届くときには、それ以前にバスブリッジ内に滞留していたコマンドは全て実行されているため、メモリ上へ正しいDMA転送結果ステータスが書き込まれていることになるのである。
本発明の第1の効果は、ステータス不正によるデータ化けを防止できるということである。その理由は、割込み通知を受けたSWはメモリ上のDMA転送結果ステータスを読む前に、IOデバイスに対して必ずリード動作を行うことで、ステータスライトコマンドとステータスリードコマンドの順番を保証することができる為である。
また、第2の効果は、同じ理由により、DMA転送データのメモリ書込み前にメモリデータを使用することを防止できるというである。
更に、IOデバイスに割込みイネーブル自動無効機能を持たせ、かつ割込みステータスレジスタにDMA転送終了ディスクリプタ数を追加することによって、SWとIOデバイス間での処理終了ディスクリプタ数と割込みとの関係を一対一に対応させ、処理数の不一致や不正割り込み等を防ぐことができるという第3の効果を得ることも可能である。
次に、本発明の実施の形態について図面を参照して詳細に説明する。
[構成の説明]
図1は本発明のDMA転送制御システムの一実施形態の構成を示すブロック図である。このDMA転送制御システムのブロック構成自体は、2つのIOデバイス4,9それぞれに割込みレジスタ13を設けたこと以外、図11等に示した従来技術の構成と変わりがないが、SW1およびIOデバイス4,9の処理内容が異なっている。
図1において、SW1はCPU2で実行され、ディスクリプタを生成してメモリ5のディスクリプタ領域6へ書き込み、書き込んだディスクリプタ領域のアドレスをIOデバイス4,9へ通知する。ディスクリプタとは、コマンド種、転送元アドレス、転送先アドレス、転送長等のDMA転送に必要な転送情報である。
そして、DMA終了時に割込みコントローラ12から割り込みを受けると、割り込み処理の中で、IOデバイス4,9に対して割込みレジスタ13を読み出すためのレジスタリードコマンドを発行する。その後に、CPU2は、レジスタリードコマンドに対するリードレスポンスを受けると、HWによって処理が完了したディスクリプタとその結果をステータスリードコマンドによりメモリ5のステータス領域7から読み出して確認する。そして、CPU2は、メモリ5のデータ領域8から転送済みデータを読み出して必要な処理を進める。
2つのIOデバイス4,9それぞれはDMAエンジン14を有しており、外部バス3を介してバスブリッジ10と接続されている。DMAエンジン14はディスクリプタを基にDMAを実行する機能を有する。IOデバイス4,9それぞれのDMAエンジン14は、SW1から通知されたメモリ5のディスクリプタ領域6の該当アドレスからディスクリプタを読み込み、その内容に応じてメモリ5のデータ領域8との間でDMA転送を行なう。
また、2つのIOデバイス4,9それぞれは割込み発行の有無を示すリードオンリーの割込みレジスタ13を有する。DMA終了時には、ステータスライトコマンドによりメモリ5のステータス領域7へDMA転送結果ステータスを書き込み、DMAの終了を割込み信号で割込みコントローラ12へ通知する。また、SW1からのレジスタリードコマンドに対するリードレスポンスを発行する。このとき、割込みレジスタ13はクリアされ、これによりSW処理を低減させる。
バスブリッジ10はCPU2およびメモリ5と外部バス3との間のブリッジ処理などを行い、双方向にデータを転送することができる。また、データ転送の際に使用するバッファを備え、DMA転送データ,ステータスライトコマンドおよびIOデバイス4,9の割り込みレジスタのリードレスポンスをバッファリングする。バスブリッジ10は、リードがライトを追い越すことはないという特性を一般的な仕様として有しており、本発明はこの特性を利用する。
割込みコントローラ12は、IOデバイス4,9およびCPU2とバス接続されることなく直結され、IOデバイス4,9からの割込み信号をアービトレーションしてCPU2に通知する。メモリ5は、ディスクリプタ領域6,ステータス領域7およびデータ領域8を有しており、内部バス11を介してCPU2とバスブリッジ10に接続されている。
本発明は、IOバイスに割込みレジスタ13を設けて、このレジスタに対するリード動作を追加し、バスブリッジ10におけるリードがライトを追い越すことはないという特性を利用することで、DMA転送結果ステータスに対するライトとリードの順番を保障することが可能になり、これによりメモリ5とCPU2におけるデータの一貫性を担保するものである。
[動作の説明]
以下、図2〜図8に示すDMA制御フローと、図9に示すフローチャートを用いて本発明のDMA転送制御システムの動作について説明する。
先ず、SW1はメモリ5のディスクリプタ領域6へディスクリプタ Des を書き込み(図10のステップA1、図2)、ディスクリプタ Des を書き込んだメモリ5のディスクリプタ領域6の該当アドレスをIOデバイス4,9へ通知する(ステップA2)。図2に示した3つのディスクリプタ Des は、例えば、その内の1つはIOデバイス4用、残りの2つはチェーンされたIOデバイス9用のものである。ディスクリプタのチェーンは、より多くのデータの転送やメモリ資源の有効活用の為にデータ格納領域を分散させるために行なわれる。しかし、ここでの説明では簡略化の為、ディスクリプタ Des の処理は一つだけとしている。
次に、IOデバイス4,9のDMAエンジンは、通知されたメモリ5のディスクリプタ領域6の該当アドレスからディスクリプタ Des を読み込み(ステップA3、図3)、内容に応じてメモリ5のデータ領域8との間でDMA転送を開始する(ステップA4、図4)。この時に転送されるDMA転送データ Dat は、バスブリッジ10にポストされる。
そして、IOデバイス4,9はDMA転送が完了すると(ステップA5)、メモリ5のステータス領域7へDMA転送結果ステータス Sts(成功 or 失敗 or 完了DMA数等)を書き込む(ステップA6)ためのステータスライトコマンド Stw を発行する。このステータスライトコマンド Stw はバスブリッジ10にポストされる(図5)。また、ディスクリプタの終了(DMAの終了)を割込み信号で割込みコントローラ12へ通知する(ステップA7、図5)。割込みコントローラ12は割込み信号をアービトレーションしてCPU2に通知する。
SW1は、割込み処理の中で、先ず、IOデバイス4,9に対して割り込みステータスレジスタを読み出す(ステップA8)ためのレジスタリードコマンドを発行する。IOデバイス4,9は、そのレスポンスとしてリードレスポンス Isr を発行するが、このリードレスポンス Isr もバスブリッジ10にポストされる(図6)。
以上の処理において、バスブリッジ10には、DMA転送データ Dat ,およびリードレスポンス Isr が滞留していることになる。バスブリッジ10は、DMA転送データ Datはデータ領域8、ステータスライトコマンド Stw によるDMA転送結果ステータス Sts はステータス領域7、リードレスポンス Isr はCPU2へ振り分けて転送する(図7)。
このとき、バスブリッジ10の前述の一般的な仕様に従い、リードレスポンス Isr の転送がステータスライトコマンド Stw の転送を追い越すことはない。従って、リードレスポンス Isr が、その時点でのバスブリッジ内滞留コマンドの最後になり、該当リードレスポンス Isr がSW1に届くときには、それ以前にバスブリッジ10内に滞留していたコマンドは全て実行されていることになる。
SW1はリードレスポンス Isr を認識した後にステータスリードコマンド Str を発行する。その結果、ステータスライトコマンド Stw とステータスリードコマンド Str の順番制御が可能になり、ステータスライトコマンド Stw がメモリ5へ送られて実行され、DMA転送結果ステータス Sts がステータス領域7に書き込まれてから、ステータスリードコマンド Str を発行する。SW1は、ステータスリードコマンド Str によりメモリ5のステータス領域7から正しいDMA転送結果ステータス Sts を読み出して確認し(ステップA9、図8)一連のDMA動作を終了する。そして、CPU2は、メモリ5のデータ領域8から転送済みデータを読み出して必要な処理を進める。
[発明の他の実施の形態]
本発明の他の実施の形態として、その基本的構成は上記の通りであるが、ディスクリプタのチェーンが複数存在する場合のディスクリプタの終了通知と、それに基づく処理について更に工夫した例について説明する。図2において、ディスクリプタ領域6にはIOデバイス9用に2つのディスクリプタ Des がチェーンされているとしたが、この実施の形態は、このようなチェーンが複数存在する場合の処理を取り扱う。
SW1に対し、割込み通知タイミングと割込みレジスタ13の更新、DMA転送結果ステータス Sts の見せ方を図9に示すようにする仕組みをIOデバイス4,9それぞれに持たせる。これにより、SW1が必要な場合のみ割込みを通知させ、SW1とIOデバイス4,9間での処理終了したチェーンと割込みとの関係を一対一に対応させ、処理が終了した(1チェーンの)ディスクリプタ数の不一致や不正割込み等を防ぐことを可能とする。このため、割込みレジスタ13は、割込み発行の有無だけでなく、処理が終了した(1チェーンの)ディスクリプタ数も保持する。
当初、IOデバイス4,9の割込みスレジスタ13はクリア状態であり、IOデバイス4,9において一番目のディスクリプタ・チェーンのDMA処理が開始されると、SW1は割込みイネーブル IntEnable をIOデバイス4,9中の割込みイネーブルレジスタ(不図示)に書き込む(図9のS1)。図9に示す割込みイネーブル信号の波形で高レベルが有効、低レベルが無効を示す。割込みイネーブルレジスタはディスクリプタ・チェーンのDMA処理完了を確認するために使用される。
IOデバイス4,9は一番目のディスクリプタ・チェーンのディスクリプタ処理の終了毎にDMA転送結果ステータス Sts をメモリ5に書き込み(図7)、割込みジスタ13のDMA転送終了ディスクリプタ数がカウントアップされる。一番目のディスクリプタ・チェーンのDMA処理が完了すると、IOデバイス4,9は割込みレジスタ13を割込み発行「有」と更新して、割込み信号 Interrupt を有効にする(図5)。
割込み信号 Interrupt は割込みコントローラ12を経由してCPU1に入力する。図9に示す割込み信号 Interrupt の波形で高レベルが有効、低レベルが無効を示す。また、IOデバイス4,9は、割込み信号 Interrupt の有効化と同時に割込みイネーブル信号を自動的に無効にする。(以上、図9のS2)。
SW1は二番目のディスクリプタ・チェーンのディスクリプタを設定し(図2)、DMA転送データに係わらない他の処理を行っているが、有効化された割込み信号 Interrupt が入力すると、リードレスポンス Isr (図7)とDMA転送終了ディスクリプタ数を割込みレジスタ13からリードする。これにより、CPU2は、メモリ5のデータ領域8から転送済みデータを読み出して必要な処理を進めるに当たり、予め設定した(図2)ディスクリプタ数とDMA転送終了ディスクリプタ数との一致をチェックし、処理数の不一致や不正割込みを防ぐことができる。
IOデバイス4,9は、リードレスポンス Isr のリードで割込みレジスタ13を自動的にクリアする。これにより割込み信号 Interrupt は無効となる。IOデバイス4,9は、二番目のディスクリプタ・チェーンの処理を開始しており、ディスクリプタ処理の終了毎にDMA転送結果ステータス Sts を更新していく(図7)が、割込みレジスタ13は、割込みイネーブル信号が有効時のみ更新される。割込みイネーブル信号は上述のように無効とされているから、割込みレジスタ13はクリア状態を維持する。割込みイネーブル信号が無効時に処理完了したディスクリプタの数は割込みイネーブル信号が有効時に更新される(以上、図9のS3)。
二番目のディスクリプタ・チェーンのDMA処理が完了すると、SW1は三番目のディスクリプタ・チェーンのディスクリプタを設定する(図2)。IOデバイス4,9は割込みレジスタを割込み発行「有」と更新して、割込み信号 Interrupt を有効化する(図5)。IOデバイス4,9は、割込み信号 Interrupt の有効化と同時に割込みイネーブル信号を自動的に無効にする(以上、図9のS4)。
以下、同様にして処理が進行していく。SW1には、1つのディスクリプタ・チェーンに対する処理が完了した時のみ割込みの通知がくる。SW1は、これを受けて、IOデバイス4,9の割込みレジスタ13を読み出し、SW1とIOデバイス4,9間での処理終了したディスクリプタ数の一致を確認する。その結果、一致を確認できれば、メモリ5のデータ領域8から転送済みデータを読み出して必要な処理を進める。
本発明のDMA転送制御システムの一実施形態の構成を示すブロック図 本発明のDMA転送制御システムにおけるディスクリプタライトのデータフローチャート 本発明のDMA転送制御システムにおけるディスクリプタリードのデータフローチャート 本発明のDMA転送制御システムにおけるDMA実行のデータフローチャート 本発明のDMA転送制御システムにおけるステータスライトのデータフローチャート 本発明のDMA転送制御システムにおけるIOデバイスリードのデータフローチャート。 本発明のDMA転送制御システムにおけるステータスリードコマンド発行のデータフローチャート 本発明のDMA転送制御システムにおけるステータスリードのデータフローチャート 本発明のDMA転送制御システムの他の実施形態を説明するための図 本発明のDMA転送制御システムの動作を示すフローチャート 従来のDMA転送制御方式におけるステータスライトのデータフローチャート 従来のDMA転送制御方式におけるステータスリードのデータフローチャート 従来のDMA転送制御方式の動作を示すフローチャート 従来のDMA転送制御方式における問題点を説明するための図
符号の説明
1 ソフトウェア(SW)
2 CPU
3 外部バス
4 IOデバイス
5 メモリ
6 ディスクリプタ領域
7 ステータス領域
8 データ領域
9 IOデバイス
10 バスブリッジ
11 内部バス
12 割込みコントローラ
13 割込みレジスタ
14 DMAエンジン
Des ディスクリプタ
Dat DMA転送データ
Stw ステータスライトコマンド
Str ステータスリードコマンド
Sts DMA転送結果ステータス
Isr リードレスポンス

Claims (5)

  1. CPUおよびメモリとIOデバイスがバスブリッジを介して接続されたDMA転送制御システムにおいて、
    前記CPUは、前記IOデバイスから割込み発行の有無を読み出すためのコマンドを前記バスブリッジ経由で発行することにより、DMA転送結果が前記IOデバイスから前記メモリに書き込まれたことを確認した後に該DMA転送結果を前記メモリから読み出すことを特徴とするDMA転送制御システム。
  2. CPUおよびメモリとIOデバイスがバスブリッジを介して接続されたDMA転送制御システムにおいて、
    前記IOデバイスは、割込み発行の有無を示す割込みレジスタを備え、DMA転送結果を前記メモリに書き込むためのステータスライトコマンドを発行し、
    前記CPUは、前記割込みの通知を受けると、前記割込みレジスタを読み出すためのレジスタリードコマンドを発行し、
    前記バスブリッジは、前記ステータスライトコマンドおよび前記レジスタリードコマンドに対するレジスタリードレスポンスをDMA転送データと共にポストし、前記レジスタリードレスポンスの実行に先立って前記ステータスライトコマンドを実行し、
    前記CPUは、前記レジスタリードレスポンスを受けると、前記DMA転送結果を前記メモリから読み出すためのステータスリードコマンドを発行し、読み出されたDMA転送結果により前記DMA転送データを前記メモリから読み出して処理することを特徴とするDMA転送制御システム。
  3. 複数のDMA転送情報(ディスクリプタ)が連結されたディスクリプタチェーンの場合、前記割込みレジスタは処理が終了したディスクリプタ数も保持して前記レジスタリードレスポンスに含めることを特徴とする請求項2記載のDMA転送制御システム。
  4. 少なくとも1つのDMA転送情報(ディスクリプタ)が連結されたディスクリプタチェーンが複数存在する場合、前記IOデバイスは、前記ディスクリプタチェーンの処理が終了した時のみ前記割込みを発行することを特徴とする請求項2記載のDMA転送制御システム。
  5. メモリとIOデバイスがバスブリッジで接続されたDMA転送制御方法において、
    前記IOデバイスは、DMA転送終了時に、該DMA転送結果を前記メモリに書き込むためのステータスライトコマンドを発行する段階と、
    前記IOデバイスは、DMA転送終了時にCPUへ割込みを通知する段階と、
    CPUは、前記割込みの通知を受けると、前記IOデバイスの割込みレジスタを読み出すためのレジスタリードコマンドを発行する段階と、
    前記バスブリッジは、前記ステータスライトコマンドおよび前記レジスタリードコマンドに対するレジスタリードレスポンスをDMA転送データと共にポストする段階と、
    前記バスブリッジは、前記レジスタリードレスポンスの実行に先立って前記ステータスライトコマンドを実行する段階と、
    前記CPUは、前記レジスタリードレスポンスを受けると、前記DMA転送結果を前記メモリから読み出すためのステータスリードコマンドを発行する段階と、
    前記CPUは、読み出されたDMA転送結果により前記DMA転送データを前記メモリから読み出して処理することを特徴とするDMA転送制御方法。
JP2008238784A 2008-09-18 2008-09-18 Dma転送制御システム Expired - Fee Related JP4985599B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008238784A JP4985599B2 (ja) 2008-09-18 2008-09-18 Dma転送制御システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008238784A JP4985599B2 (ja) 2008-09-18 2008-09-18 Dma転送制御システム

Publications (2)

Publication Number Publication Date
JP2010072888A true JP2010072888A (ja) 2010-04-02
JP4985599B2 JP4985599B2 (ja) 2012-07-25

Family

ID=42204614

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008238784A Expired - Fee Related JP4985599B2 (ja) 2008-09-18 2008-09-18 Dma転送制御システム

Country Status (1)

Country Link
JP (1) JP4985599B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016035721A (ja) * 2014-08-05 2016-03-17 Necエンジニアリング株式会社 Usb転送装置、usb転送システムおよびusb転送方法
JP2018156428A (ja) * 2017-03-17 2018-10-04 富士ゼロックス株式会社 転送制御装置、処理システム及び処理装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210500A (ja) * 1994-01-25 1995-08-11 Fujitsu Ltd データ転送制御装置
JP2003271541A (ja) * 2002-03-14 2003-09-26 Fuji Xerox Co Ltd Dma転送装置およびその制御方法
JP2006024134A (ja) * 2004-07-09 2006-01-26 Sony Corp Dma転送装置及びdma転送方法
JP2006215873A (ja) * 2005-02-04 2006-08-17 Toshiba Corp 制御装置、情報処理装置、及び転送処理方法
JP2008158572A (ja) * 2006-12-20 2008-07-10 Canon Inc データ記憶装置
JP2010517182A (ja) * 2007-01-24 2010-05-20 クゥアルコム・インコーポレイテッド 内容終了型dma

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210500A (ja) * 1994-01-25 1995-08-11 Fujitsu Ltd データ転送制御装置
JP2003271541A (ja) * 2002-03-14 2003-09-26 Fuji Xerox Co Ltd Dma転送装置およびその制御方法
JP2006024134A (ja) * 2004-07-09 2006-01-26 Sony Corp Dma転送装置及びdma転送方法
JP2006215873A (ja) * 2005-02-04 2006-08-17 Toshiba Corp 制御装置、情報処理装置、及び転送処理方法
JP2008158572A (ja) * 2006-12-20 2008-07-10 Canon Inc データ記憶装置
JP2010517182A (ja) * 2007-01-24 2010-05-20 クゥアルコム・インコーポレイテッド 内容終了型dma

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016035721A (ja) * 2014-08-05 2016-03-17 Necエンジニアリング株式会社 Usb転送装置、usb転送システムおよびusb転送方法
JP2018156428A (ja) * 2017-03-17 2018-10-04 富士ゼロックス株式会社 転送制御装置、処理システム及び処理装置

Also Published As

Publication number Publication date
JP4985599B2 (ja) 2012-07-25

Similar Documents

Publication Publication Date Title
US7263572B2 (en) Bus bridge and data transfer method
US20090271536A1 (en) Descriptor integrity checking in a dma controller
JP2008090375A (ja) 割込み制御システム、およびこれを利用した記憶制御システム
JP2005071303A (ja) プログラム起動装置
JP5186779B2 (ja) コンピュータシステム、ホストコンピュータ
JP4985599B2 (ja) Dma転送制御システム
WO2012081085A1 (ja) 割込み要因管理装置及び割込み処理システム
JP2008282314A (ja) シミュレータ、シミュレーション方法
JPH11272603A (ja) バスブリッジ装置及びトランザクションフォワード方法
JP6294732B2 (ja) データ転送制御装置及びメモリ内蔵装置
JP2008146541A (ja) Dma転送システム、dmaコントローラ及びdma転送方法
JP4649257B2 (ja) マルチcpuシステム
WO2012124431A1 (ja) 半導体装置
JP2012163995A (ja) 情報処理装置
JP4818820B2 (ja) バスシステムおよびバススレーブならびにバス制御方法
JP2008299425A (ja) データ転送装置及びデータ転送方法
US20100153610A1 (en) Bus arbiter and bus system
JP5541544B2 (ja) コンピュータ装置、データ転送方法、及びプログラム
JP2679440B2 (ja) 情報処理装置
JP2006092077A (ja) バスシステム
JPH11252150A (ja) ネットワーク接続装置、及びネットワーク接続制御方法
CN115658601A (zh) 多核处理器系统及其控制方法
JP2005025371A (ja) ディスクアレイ装置及びデータ書き込み制御方法
JP5656589B2 (ja) データ転送装置、データ転送方法及びデータ転送プログラム
JP6519343B2 (ja) データ処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120302

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120329

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120416

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees