(57)【要約】  【課題】  他のチャネル用のメモリ領域へのアクセスを防止できるＤＭＡ制御方法及びＤＭＡコントローラを提供する。  【解決手段】  使用するメモリ領域の始端アドレスＳＡと終端アドレスＥＡとを各チャネルに対して設定しておき、ＤＭＡ転送が開始されてアクセスアドレスが終端アドレスＥＡに達した場合に、アクセスアドレスを始端アドレスＳＡへ戻して、アクセスを継続する。各チャネルに設定された始端アドレスＳＡと終端アドレスＥＡとの間のみをアクセスできる。３ページ分のデータを第１チャネルに貼り付ける際に、３ページ目の貼り付け時にメモリ領域が不足する場合（（ａ），（ｂ））、３ページ目のＤＭＡ転送時に、１ページ目及び２ページ目と同じ転送回数が設定される。この際、アクセスアドレスが終端アドレスＥＡに達した場合に、始端アドレスＳＡへ自動的に戻ってアクセスが継続されるので（（ｃ））、第２チャネルにアクセスされることがない。【選択図】      図２
2007058350.tif 000002
【特許請求の範囲】
【請求項１】
設定された始端アドレスと終端アドレスとの間で、メモリへのアクセスが許容されるダイレクト・メモリ・アクセス制御方法において、
前記メモリへのアクセスアドレスを監視し、前記アクセスアドレスが前記終端アドレスに達した場合に、前記アクセスアドレスを前記始端アドレスへ戻すことを特徴とするダイレクト・メモリ・アクセス制御方法。
【請求項２】
複数組の始端アドレスと終端アドレスとが設定されており、各組毎に前記メモリの異なるメモリ領域にアクセスが許容されることを特徴とする請求項１記載のダイレクト・メモリ・アクセス制御方法。
【請求項３】
設定された始端アドレスと終端アドレスとの間で規定されるメモリの所定領域にアクセスが許容されるダイレクト・メモリ・アクセス・コントローラにおいて、
前記メモリへのアクセスアドレスを計数する計数手段と、該計数手段で計数されたアクセスアドレスと前記終端アドレスとを比較する比較手段と、前記アクセスアドレスが前記終端アドレスと一致した場合に、前記アクセスアドレスを前記始端アドレスにリセットするリセット手段とを備えることを特徴とするダイレクト・メモリ・アクセス・コントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリと周辺装置との間でデータを高速転送するためのダイレクト・メモリ・アクセス制御方法及びダイレクト・メモリ・アクセス・コントローラに関するものである。
【背景技術】
【０００２】
ダイレクト・メモリ・アクセス（ＤＭＡ：Direct Memory Access）方式は、広く利用されている高速度のデータ伝送方式の一つであり、メモリと周辺機器（スキャナ、プリンタなど）との間でデータの直接やりとりを行う方式である。ＤＭＡ方式では、データのやりとりにＣＰＵ（Central Processing Unit)を介さないため、ＣＰＵの負担を大きく減らすことができる。そして、ＤＭＡ転送を行うための制御装置（ダイレクト・メモリ・アクセス・コントローラ）は、情報処理装置にとって不可欠なものである。
【０００３】
ＤＭＡ転送方式には、複数のチャネルを備えたものがある。ＤＭＡ転送の各チャネルの選択は、所定の優先順位に従って行われるが、一旦優先順位が高いチャネルのＤＭＡ転送が開始されると、優先順位が低いチャネルのＤＭＡ転送が長時間行われないことになる。そこで、一つのチャネルでのＤＭＡ転送だけが連続して行われることがないように、転送回数が所定回数を超えた場合には、そのチャネルでのＤＭＡ転送を終了する手法が提案されている（特許文献１参照）。
【特許文献１】特開平４−２５０５５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
また、複数のチャネルそれぞれに対してメモリの所定領域（メモリ領域）を割り当てることにより、つまり、各チャネルによって使用するメモリ領域を分けることにより、制御を簡単にすることも行われている。しかしながら、あるチャネルのデータ転送中に、他のチャネルに割り当てられているメモリ領域にデータを転送してしまうという問題がある。      
【０００５】
図５は、ＤＭＡ転送方式での各チャネルのメモリ領域の構成を示す図である。各チャネル（第１チャネル，第２チャネル）毎にメモリ領域が分けられている。１回のＤＭＡ転送は、開始アドレスと転送回数とで設定され、１ページ目及び２ページ目がメモリに貼り付けられる（図５（ａ），（ｂ））。３ページ目の貼り付け時には、メモリ領域が不足するため、３ページ目の後半のデータは、１ページ目のデータの処理後に、１ページ目に上書きされる。この場合に、３ページ目のデータを前半と後半との２回に分けてＤＭＡ転送している（図５（ｃ））。
【０００６】
もし、３ページ目のＤＭＡ転送を上述したように２回に分けずに、１，２ページ目と同じ転送回数を設定した場合には、第２チャネルのメモリ領域に３ページ目の後半のデータを転送してしまうことになる。このように、１回のＤＭＡ転送は開始アドレスと転送回数とで設定されるが、あるチャネルでの何回目かのＤＭＡ転送の開始アドレスがそのチャネル内の終端アドレスに近くて転送回数が多めに設定された場合に、他のチャネルのメモリ領域にアクセスしてしまうという問題がある。
【０００７】
本発明は斯かる事情に鑑みてなされたものであり、他のチャネルのメモリ領域までアクセスすることを防止できるダイレクト・メモリ・アクセス制御方法及びダイレクト・メモリ・アクセス・コントローラを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係るダイレクト・メモリ・アクセス制御方法は、設定された始端アドレスと終端アドレスとの間で、メモリへのアクセスが許容されるダイレクト・メモリ・アクセス制御方法において、前記メモリへのアクセスアドレスを監視し、前記アクセスアドレスが前記終端アドレスに達した場合に、前記アクセスアドレスを前記始端アドレスへ戻すことを特徴とする。
【０００９】
本発明のダイレクト・メモリ・アクセス制御方法にあっては、ＤＭＡ転送が開始されると、メモリへのアクセスアドレスを監視し、そのアクセスアドレスが終端アドレスに達した場合に、アクセスアドレスを始端アドレスへ戻すようにしている。よって、設定された始端アドレスと終端アドレスとの間でのみアクセスされる。
【００１０】
本発明に係るダイレクト・メモリ・アクセス制御方法は、複数組の始端アドレスと終端アドレスとが設定されており、各組毎に前記メモリの異なるメモリ領域にアクセスが許容されることを特徴とする。
【００１１】
本発明のダイレクト・メモリ・アクセス制御方法にあっては、あるチャネルのＤＭＡ転送が開始されると、メモリへのアクセスアドレスを監視し、そのアクセスアドレスが終端アドレスに達した場合に、アクセスアドレスを始端アドレスへ戻すようにしている。よって、各チャネルに設定された始端アドレスと終端アドレスとの間でのみアクセスされるため、あるチャネルのＤＭＡ転送時に、他のチャネルが使用するメモリ領域に入るような転送回数が設定されたとしても、そのメモリ領域までアクセスすることがない。
【００１２】
本発明に係るダイレクト・メモリ・アクセス・コントローラは、設定された始端アドレスと終端アドレスとの間で規定されるメモリの所定領域にアクセスが許容されるダイレクト・メモリ・アクセス・コントローラにおいて、前記メモリへのアクセスアドレスを計数する計数手段と、該計数手段で計数されたアクセスアドレスと前記終端アドレスとを比較する比較手段と、前記アクセスアドレスが前記終端アドレスと一致した場合に、前記アクセスアドレスを前記始端アドレスにリセットするリセット手段とを備えることを特徴とする。
【００１３】
本発明のダイレクト・メモリ・アクセス・コントローラにあっては、ＤＭＡ転送が開始された際に、計数手段にてメモリへのアクセスアドレスを計数し、その計数値と終端アドレスとを比較手段にて比較し、その計数値が終端アドレスと一致した場合に、リセット手段にてアクセスアドレスを始端アドレスにリセットする。よって、設定された始端アドレスと終端アドレスとの間でのみアクセスされ、複数のチャネルが備えられている場合に、あるチャネルのデータが他のチャネルのメモリ領域に転送されることはない。
【発明の効果】
【００１４】
本発明では、ＤＭＡ転送が開始されると、メモリへのアクセスアドレスを監視し、そのアクセスアドレスが終端アドレスに達した場合に、アクセスアドレスを始端アドレスへ戻すようにしており、設定された始端アドレスと終端アドレスとの間でのみアクセスされるため、あるチャネルのＤＭＡ転送時に、他のチャネルが使用するメモリ領域に入るような転送回数が設定されたとしても、そのチャネルの終端アドレスまでアクセスした時点でアクセスアドレスが始端アドレスまで戻されるので、他のチャネルが使用するメモリ領域へアクセスすることを防止できる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明をその実施の形態を示す図面を参照して具体的に説明する。なお、本発明は、以下の実施の形態に限定されるものではない。
【００１６】
図１及び図２は、本発明のＤＭＡ制御方法の概念を示す図である。ＤＭＡの複数のチャネルそれぞれは周辺機器とメモリとの間のデータ転送に割り付けられる。図１，図２に示す例では、例えばＤＭＡの２つのチャネルの一方（第１チャネル）はスキャナとメモリとの間のデータ転送に割り付けられ、他方（第２チャネル）はプリンタとメモリとの間のデータ転送に割り付けられている。
【００１７】
本発明では、図１に示す如く、使用するメモリ領域の始端アドレスＳＡと終端アドレスＥＡとを各チャネルに対して設定しておき、ＤＭＡ転送が開始された場合にアクセスアドレスを監視し、アクセスアドレスが終端アドレスＥＡに達した場合に、アクセスアドレスを始端アドレスＳＡへ戻して、アクセスを継続する。この結果、各チャネルに設定された始端アドレスＳＡと終端アドレスＥＡとの間のみをアクセスできる。
【００１８】
スキャナで読み取って得られる３ページ分のデータを第１チャネルのメモリに貼り付ける際に、図５の例と同様に、３ページ目の貼り付け時にメモリ領域が不足する場合を考える。この場合、図５の例と同様に、開始アドレスと転送回数とが設定されて、１ページ目及び２ページ目がメモリに貼り付けられる（図２（ａ），（ｂ））。次に、１ページ目及び２ページ目と同じ転送回数が設定される。この際、アクセスアドレスが終端アドレスＥＡに達した場合に、アクセスアドレスが始端アドレスＳＡへ自動的に戻って、アクセスが継続されるので（図２（ｃ））、プリンタ用の第２チャネルにアクセスされることがない。
【００１９】
第２チャネルへのアクセスを防止するために、図５の例では転送回数をそれぞれに設定しながら２回に分けてＤＭＡ転送を行う必要があったが、本発明では第１チャネルの終端までくると自動的に始端へ戻るようになっているため、あらためて転送回数を設定し直すことなく１回のＤＭＡ転送で第２チャネルへのアクセスを防止できる。
【００２０】
図３は、本発明のＤＭＡコントローラを使用するＤＭＡシステムの構成を示す図である。図３において、１０はデータバスであり、データバス１０には、本発明のＤＭＡコントローラ１１に加えて、周辺装置としてのスキャナ１２及びプリンタ１３と、メモリ１４と、ＣＰＵ１５とが接続されている。
【００２１】
スキャナ１２またはプリンタ１３からＤＭＡを要求する信号（ＤＲＥＱ）がＤＭＡコントローラ１１へ出力されると、ＤＭＡコントローラ１１からデータバス１０の使用許可を求める信号（ＢＲＥＱ）がＣＰＵ１５へ出力される。ＣＰＵ１５からデータバス１０の使用許可を示す信号（ＢＡＣＫ）がＤＭＡコントローラ１１へ出力されると、ＤＭＡコントローラ１１からＤＭＡ転送を行う旨の信号（ＤＡＣＫ）がスキャナ１２またはプリンタ１３へ出力される。そして、読取りを制御する信号（ＲＤ）、書込みを制御する信号（ＷＲ）が、それぞれＤＭＡコントローラ１１からスキャナ１２またはプリンタ１３へ出力されるとともに、書込みを制御する信号及び読取りを制御する信号（ＷＲ／ＲＤ）がＤＭＡコントローラ１１からメモリ１４へ出力され、スキャナ１２またはプリンタ１３とメモリ１４との間でデータ転送が行われる。
【００２２】
図４は、ＤＭＡコントローラ１１の主要な内部構成を示す図である。ＤＭＡコントローラ１１は、加算器１とセレクタ２とアドレスカウンタ３と比較器４とを備えている。
【００２３】
加算器１は、アドレスカウンタ３の出力（アクセスアドレス）に”１”を加算して、その加算値をセレクタ２へ出力する。セレクタ２は、加算器１の出力または始端アドレスＳＡの何れかを選択してアドレスカウンタ３へ出力する。アドレスカウンタ３は、ラッチ信号（ＤＡＣＫ）に基づいてセレクタ２からの出力をラッチし、ラッチした値（アクセスアドレス）を加算器１、比較器４及び外部へ出力する。比較器４は、アドレスカウンタ３の出力と終端アドレスＥＡとを比較し、両者が一致する場合に一致信号（ＣＳ）をセレクタ２へ出力する。セレクタ２は、初期化時または比較器４から一致信号（ＣＳ）が入力されたときに始端アドレスＳＡを選択し、それ以外のときには加算器１の出力を選択する。
【００２４】
ＤＭＡコントローラ１１では、このような構成により、アドレスカウンタ３の出力と終端アドレスＥＡとを比較器４で比較し、両者が一致した場合、すなわちアクセスアドレスが終端アドレスＥＡに達した場合に、比較器４から一致信号（ＣＳ）をセレクタ２へ出力し、アクセスアドレスとして始端アドレスＳＡをロードする。よって、チャネルでアクセスアドレスが終端アドレスまできたときに自動的に始端アドレスまで戻る動作を、図４の回路構成で実現できる。
【図面の簡単な説明】
【００２５】
【図１】本発明のＤＭＡ制御方法の概念を示す図である。
【図２】本発明のＤＭＡ制御方法の概念を示す図である。
【図３】本発明のＤＭＡコントローラを使用するＤＭＡシステムの構成を示す図である。
【図４】ＤＭＡコントローラの主要な内部構成を示す図である。
【図５】ＤＭＡ転送方式での各チャネルのメモリ領域の構成を示す図である。
【符号の説明】
【００２６】
１  加算器
２  セレクタ
３  アドレスカウンタ
４  比較器
１０  データバス
１１  ＤＭＡコントローラ
１２  スキャナ
１３  プリンタ
１４  メモリ
１５  ＣＰＵ
ＳＡ  始端アドレス
ＥＡ  終端アドレス
【図１】
2007058350.tif 000003
【図２】
2007058350.tif 000004
【図３】
2007058350.tif 000005
【図４】
2007058350.tif 000006
【図５】
2007058350.tif 000007