JP2008192090A - Dma転送装置およびデータ転送装置 - Google Patents

Dma転送装置およびデータ転送装置 Download PDF

Info

Publication number
JP2008192090A
JP2008192090A JP2007028615A JP2007028615A JP2008192090A JP 2008192090 A JP2008192090 A JP 2008192090A JP 2007028615 A JP2007028615 A JP 2007028615A JP 2007028615 A JP2007028615 A JP 2007028615A JP 2008192090 A JP2008192090 A JP 2008192090A
Authority
JP
Japan
Prior art keywords
dma
data transfer
module
request
transfer
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
JP2007028615A
Other languages
English (en)
Other versions
JP4863282B2 (ja
Inventor
Isao Nakamura
功 中村
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP2007028615A priority Critical patent/JP4863282B2/ja
Publication of JP2008192090A publication Critical patent/JP2008192090A/ja
Application granted granted Critical
Publication of JP4863282B2 publication Critical patent/JP4863282B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

【課題】効率良くDMA転送を行い、特定のモジュールによりデータバスが占有され続けることによって生じる不整合を回避する。
【解決手段】各DMAモジュール12−0〜12−nのいずれかによるDMA転送完了後に次のDMA要求が行われるまでの間隔を示すDMAインターバルの期間値が、各DMAモジュール内のレジスタ12−0a〜12−naに設定されている。各DMAモジュール12−0〜12−nのうちの複数からのDMA要求が競合した場合に、DMAバス調停回路14によって、優先順位が高い例えばDMAモジュール12−1からのDMA要求に対してDMA転送許可が与えられ、そのDMA転送の完了後、DMAモジュール12−1からの次のDMA要求の発生が、DMA転送が完了したDMAモジュール12−1以外の他のDMAモジュール12−0、12−2および12−3からのDMA要求が全てなくなるまで抑制される。
【選択図】図1

Description

本発明は、例えば携帯型ゲーム機などのように複数種類のデータを扱う電子機器において、DMA(ダイレクト・メモリ・アクセス)転送によりCPU(中央演算処理装置)を介さずにデータ転送を可能とするために、複数のモジュールからのDMA要求を調停し、特定のモジュールに対してバスを使用する許可を与えてDMA転送を行うDMA転送装置および、CPUが接続されないデータ転送専用バスに接続され、複数のデータ転送モジュールからのデータ転送要求を調停し、特定のモジュールにバスを使用する許可を与えてデータ転送を行うデータ転送装置に関する。
従来、複数のモジュールが共通のデータバスに接続されている装置やシステムにおいて、DMA転送を行う場合には、DMAC(DMAコントローラまたはDMAバス調停回路)によって各モジュールからのDMA要求が調停され、DMA転送が可能なモジュールに対して許可が与えられて、DMA転送が行われている。
図13は、従来のDMA転送装置におけるデータバスの接続例を示すブロック図である。
図13において、従来のDMA転送装置100は、データバス101が複数のDMAモジュール102−0、102−1、・・・、102−n(nは0以上の整数)とCPU103に共有されており、各DMAモジュール102−0〜102−nのうちの複数からのDMA要求が競合した場合にはDMAバス調停回路104によって調停が行われ、CPU103からのバス要求と特定のDMAモジュール102−nからのバス要求が競合した場合にはバス調停回路105によって調停が行われて、CPU103またはDMAモジュール102−0〜102−nの一つがデータバス101のバスマスターとしてバス接続を許可され、そのCPU103または特定のDMAモジュールがデータバス101に接続される。
また、データバス101には、スレーブブロックとして制御回路106、メモリ制御回路107および外部デバイス制御回路108がそれぞれ接続されており、上記バスマスターとしてデータバス101に接続されたCPU103または特定のDMAモジュールによって、制御回路106内に設けられたレジスタ106a、メモリ制御回路107内に設けられたレジスタ107a、メモリ制御回路107によって制御されるメモリ109とメモリ110、および外部デバイス制御回路108内に設けられたレジスタ108aとの間のデータ転送が制御されるように構成されている。
複数のDMAモジュール102−0,102−1、・・・、102−nおよびCPU103からは、それぞれのデータ転送が必要になったタイミングにおいて、データ転送要求が出力される。
DMAバス調停回路104では、複数のDMAモジュール102−0,102−1、・・・、102−nから出力されるデータ転送要求(DMA要求)が調停され、DMAバス調停回路104からバス調停回路105に対して、調停された特定のDMAモジュール102−nからのデータ転送要求が出力される。
バス調停回路105では、DMAバス調停回路104からのデータ転送要求とCPU103からのバス要求とが調停され、複数のDMAモジュール102−0,102−1、・・・、102−nおよびCPU103のうち、バスマスターとしてデータ転送を許可されたものが、データバス101に接続されてアクセス可能とされる。
この従来のDMA転送装置100において、複数のDMAモジュール102−0,102−1、・・・、102−nの複数から同時にデータ転送要求(DMA要求)が出力された場合には、優先順位に従って、各データ転送要求の調停が行われている。このため、優先順位が高いDMAモジュール、例えばDMAモジュール102−0によってデータバス101が連続して占有され続け、優先順位が低い他のDMAモジュールによってデータバスを使用できなくなり、他のDMAモジュール102−1、・・・、102−nによるDMA転送が不可能になる場合があるという問題があった。
この問題を解決するために、例えば特許文献1には、上記図13を用いて説明すると、複数のDMAモジュール102−0,102−1、・・・、102−nが共通のデータバス101に接続されている装置において、DMA要求が競合した場合に、優先順位が高いDMAモジュールからのDMA要求に対してDMA転送の許可を与える一方、DMA要求に対する許可が与えられたDMAモジュールが次にDMA要求を行うことができるまでの待ち時間を示すDMA要求間隔(DMAインターバル)を設定可能としたバス制御方法が提案されている。
この特許文献1のバス制御方法では、各DMAモジュール102−0,102−1、・・・、102−nのいずれかからのDMA要求が許可された後、各DMAモジュール102−0、102−1、・・・、102−nのうちの最も優先順位の高い特定のDMAモジュール102−0のDMA転送が完了した後に、次にDMA要求が出力されるまでの間隔を示すDMAインターバルが経過するまでは、この優先順位の高い特定のDMAモジュール102−0からは次のDMA要求が出力されない。これにより、優先順位の高い特定のDMAモジュール102−0が連続してデータバス101を占有することがなくなって、各DMAモジュール102−0、102−1、・・・、102−nによるDMA要求の発生タイミングが分散されるため、DMAモジュール102−0よりも優先順位が低いDMAモジュール、例えばDMAモジュール102−1についても、ある程度の割合によりデータバスを使用可能とされている。この場合、このDMAインターバルは、図13に示す各DMAモジュール102−0、102−1、・・・、102−n内に設けられたレジスタ102−0a、102−1a、・・・、102−naに設定される。
特開2002−351815号公報
上記従来のDMA転送装置100は、上述したように、複数のDMAモジュール102−0,102−1、・・・、102−nが共通のデータバス101に接続されている装置において、DMAコントローラ(DMAバス調停回路104)によって各DMAモジュール102−0,102−1、・・・、102−nからのDMA要求の調停が行われ、DMA転送が可能なモジュールに対して許可が与えられてDMA転送が行われる場合に、先にDMA要求を発生させたDMAモジュールまたは優先順位が高いDMAモジュールによってデータバス101が連続して占有され、他のDMAモジュールによるDMA転送が不可能になるという問題があった。この問題を解決するために、特許文献1に開示されている従来技術のように、上記DMA要求間隔(DMAインターバル)を設定することによってDMA要求の発生タイミングを分散させる方法では、優先順位が高いDMAモジュールによるDMA要求間隔を十分大きく設定するか、または適切に設定しておく必要がある。このため、優先順位が高いDMAモジュールのDMA要求間隔(DMAインターバル)が十分大きく設定されていないか、または適切に設定されていない場合には、優先順位が低いDMAモジュールからのDMA要求に対してDMA転送の許可が与えられず、優先順位が低いDMAモジュールによるデータバスの使用割合が高くならないという問題がある。
この問題について、図14を用いて具体的に説明する。
図14は、図13の従来のDMA転送装置を、DMA要求間隔(DMAインターバル)を設定する特許文献1のバス制御方法に適用した場合の使用例を説明するためのタイミングチャートである。
図14において、横軸は時間の経過を示し、各波形はDMAモジュール102−0〜102−3からのデータ転送要求(DMA要求)およびDMAモジュール102−0〜102−3によるデータ転送(DMA転送)の実行を示し、矢印はDMAインターバルの期間を示している。なお、この事例では、DMAモジュール102−0〜102−3の優先順位は、DMAモジュール102−0が最も高く、DMAモジュール102−3が最も低く設定されている。即ち、
DMAモジュール102−0 > DMAモジュール102−1 > DMAモジュール102−2 >DMAモジュール102−3とされているものとする。
図14に示すように、まず、タイミングaで、DMAモジュール102−3からのデータ転送要求が発生すると、このときは、他のDMAモジュール102−0〜102−2からのデータ転送要求が発生がないため、DMAモジュール102−3によるデータ転送が許可されて実行される。このDMAモジュール102−3によるデータ転送実行中に、次のタイミングbで、DMAモジュール102−2からのデータ転送要求が発生し、次のタイミングcで、DMAモジュール102−1からの転送要求が発生するが、DMAモジュール102−3によるデータ転送実行中であるため、データ転送実行が許可されずに待たされる。
さらに次のタイミングdで、DMAモジュール102−3によるデータ転送が完了するが、タイミングfまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール102−3からのデータ転送要求は発生されない。この矢印で示す期間は、図14では、DMAモジュールが実行する実行期間よりも若干長い期間である。
一方、このタイミングdで、DMAモジュール102−0からのデータ転送要求が発生しており、この時点では、DMAモジュール102−0、DMAモジュール102−1およびDMAモジュール102−2からの各データ転送要求がそれぞれ発生しているが、優先順位に従ってDMAモジュール102−0からのデータ転送要求が優先され、DMAモジュール102−0からのデータ転送が許可されて実行される。
その後、タイミングeでDMAモジュール102−0によるデータ転送が完了するが、タイミングhまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール102−0からのデータ転送要求は発生されない。
このタイミングeで、DMAモジュール102−0によるデータ転送が完了した時点で、DMAモジュール102−1およびDMAモジュール102−2からの各データ転送要求がそれぞれ発生しているが、優先順位に従ってDMAモジュール102−1が優先され、DMAモジュール102−1によるデータ転送が許可されて実行される。
その後、タイミングgで、DMAモジュール102−1によるデータ転送が完了するが、次のタイミングjまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール102−1からのデータ転送要求は発生されない。
このタイミングgで、DMAモジュール102−1によるデータ転送が完了した時点で、DMAモジュール102−2およびDMAモジュール102−3からのデータ転送要求が発生しているが、優先順位に従ってDMAモジュール102−2が優先され、DMAモジュール102−2によるデータ転送が許可されて実行される。
その後、タイミングiで、DMAモジュール102−2によるデータ転送が完了されるが、タイミングlまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール102−2からのデータ転送要求は発生されない。
このタイミングiで、DMAモジュール102−2によるデータ転送が完了した時点で、DMAモジュール102−3およびDMAモジュール102−0からのデータ転送要求が発生しているが、優先順位に従ってDMAモジュール102−0が優先され、DMAモジュール102−0によるデータ転送が許可されて実行される。
その後、タイミングkで、DMAモジュール102−0によるデータ転送が完了するが、タイミングnまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール102−0からのデータ転送要求は発生されない。
このタイミングkで、DMAモジュール102−0によるデータ転送が完了した時点で、DMAモジュール102−3およびDMAモジュール102−1からのデータ転送要求が発生しているが、優先順位に従ってDMAモジュール102−1が優先され、DMAモジュール102−1によるデータ転送が許可されて実行される。
その後、タイミングmで、DMAモジュール102−1によるデータ転送が完了するが、タイミングpまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール102−1からのデータ転送要求は発生されない。
このタイミングmで、DMAモジュール102−1によるデータ転送が完了した時点で、DMAモジュール102−3およびDMAモジュール102−2からのデータ転送要求が発生しているが、優先順位に従ってDMAモジュール102−2が優先され、DMAモジュール102−2によるデータ転送が許可されて実行される。
その後、タイミングoで、DMAモジュール102−2によるデータ転送が完了するが、タイミングrまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール102−2からのデータ転送要求は発生されない。
タイミングoで、DMAモジュール102−2によるデータ転送が完了した時点で、DMAモジュール102−3およびDMAモジュール102−0からのデータ転送要求が発生しているが、優先順位に従ってDMAモジュール102−0が優先され、DMAモジュール102−0によるデータ転送が許可されて実行される。
その後、タイミングqで、DMAモジュール102−0によるデータ転送が完了するが、タイミングtまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール102−0からのデータ転送要求は発生されない。
このタイミングqで、DMAモジュール102−0によるデータ転送が完了した時点で、DMAモジュール102−3およびDMAモジュール102−1からの各データ転送要求がそれぞれ発生しているが、優先順位に従ってDMAモジュール102−1が優先され、DMAモジュール102−1によるデータ転送が許可されて実行される。
その後、タイミングsでDMA102−1によるデータ転送が完了するが、タイミングvまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール102−1からのデータ転送要求は発生されない。
このタイミングsで、DMAモジュール102−1によるデータ転送が完了した時点で、DMAモジュール102−3およびDMAモジュール102−2からの各データ転送要求が発生しているが、優先順位に従ってDMAモジュール102−2が優先され、DMAモジュール102−2によるデータ転送が許可されて実行される。その後、タイミングuで、DMAモジュール102−2によるデータ転送が完了する。
以上のように、DMAインターバルの期間(矢印で示す期間)を設定することにより、優先順位が高いDMAモジュール102−0によりデータバス101が占有され続けることを回避して、優先順位が低いDMAモジュール102−1およびDMAモジュール102−2による各データ転送の実行が可能とされているが、さらに優先順位が低いDMAモジュール102−3によるデータ転送については相変わらず実行できないという問題が残っていた。
優先順位が低いDMAモジュール102−3によるデータ転送の実行を可能にするためには、優先順位が高いDMAモジュール102−0、DMAモジュール102−1およびDMAモジュール102−2のDMAインターバルの期間(矢印で示す期間)をさらに大きく設定する必要がある。
しかしながら、DMAモジュール102−3によるデータ転送の実行が可能になるようにDMAインターバルの期間が大きく設定されていると、DMAモジュール102−3からのデータ転送要求が発生していない場合であっても、大きく設定されたDMAインターバルの期間は、DMAモジュール102−0、DMAモジュール102−1およびDMAモジュール102−2からの各データ転送要求が発生されないため、どのDMAモジュールからのデータ転送要求も発生されない無駄な期間が生じてしまうという問題があった。
さらに、通常、DMAモジュールよりも優先順位が低いCPUについては、常に、バス要求を出力していても、優先順位が低いDMAモジュールよりもデータバスの使用割合を高くすることが困難であるだけでなく、CPUにより転送処理を実行可能なサイクルを把握することさえ困難であった。
本発明は、上記従来の問題を解決するもので、より効率良くデータ転送を行い、特定のモジュールによりデータバスが占有され続けることによって生じる不整合を回避することができ、しかも、そのモジュールよりも優先順位が低いCPUによるデータ転送処理を実行可能するサイクルをも明確に把握して要求可能とするDMA転送装置および、CPUが接続されないデータ転送専用バスを複数のデータ転送モジュールにより共有する場合に、特定のモジュールによりデータ転送専用バスが占有され続けることによって生じる不整合を回避することができるデータ転送装置を提供することを目的とする。
本発明のDMA転送装置は、 データバスが複数のDMA(ダイレクト・メモリ・アクセス)モジュールに共有され、該複数のDMAモジュールのうちの各DMAモジュールからのDMA要求が競合した場合にDMAバス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたDMAモジュールがデータバスに接続されるDMA転送装置において、該DMAバス調停手段は、該DMA要求の競合時に、該各DMAモジュールのうちの優先順位が高いDMAモジュールからのDMA要求に対してDMA転送の許可を与え、該DMA転送が完了した後に、当該DMAモジュールからの次のDMA要求が、該DMA転送が完了したDMAモジュール以外の他のDMAモジュールからのDMA要求が全てなくなるまでの期間だけ抑制されるものであり、そのことによリ上記目的が達成される。
本発明のDMA転送装置は、データバスが複数のDMA(ダイレクト・メモリ・アクセス)モジュールに共有され、該複数のDMAモジュールのうちの各DMAモジュールからのDMA要求が競合した場合にDMAバス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたDMAモジュールがデータバスに接続されるDMA転送装置において、該DMAバス調停手段は、該DMA要求の競合時に、該各DMAモジュールのうちの優先順位が高いDMAモジュールからのDMA要求に対してDMA転送の許可を与え、該DMA転送が完了した後に、当該DMAモジュールからの次のDMA要求が、該DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからのDMA要求が全てなくなるまでの期間だけ抑制されるものであり、そのことによリ上記目的が達成される。
本発明のDMA転送装置は、データバスが複数のDMAモジュールおよびCPU(中央演算処理回路)に共有され、該複数のDMAモジュールのうちの各DMAモジュールからのDMA要求が競合した場合にDMAバス調停手段によって調停が行われ、さらに、該各DMAモジュールのうちの調停されたDMA要求と該CPUからのバス要求が競合した場合にDMAバス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたDMAモジュールまたはCPUがデータバスに接続されるDMA転送装置において、 該DMAバス調停手段は、該DMA要求の競合時に、該各DMAモジュールのうちの優先順位が高いDMAモジュールからのDMA要求に対してDMA転送の許可を与え、該DMA転送が完了した後に、当該DMAモジュールからの次のDMA要求が、該DMA転送が完了したDMAモジュール以外の他のDMAモジュールからのDMA要求が全てなくなるまでの期間だけ抑制されると共に、該各DMAモジュールによるDMA転送が一巡する時点で該CPUからのバス要求がある場合に、該CPUの所定のCPUサイクルの期間だけ抑制されるものであり、そのことによリ上記目的が達成される。
本発明のDMA転送装置は、データバスが複数のDMAモジュールおよびCPU(中央演算処理回路)に共有され、該複数のDMAモジュールのうちの各DMAモジュールからのDMA要求が競合した場合にDMAバス調停手段によって調停が行われ、さらに、該各DMAモジュールのうちの調停されたDMA要求と該CPUからのバス要求が競合した場合にDMAバス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたDMAモジュールまたはCPUがデータバスに接続されるDMA転送装置において、該DMAバス調停手段は、該DMA要求の競合時に、該各DMAモジュールのうちの優先順位が高いDMAモジュールからのDMA要求に対してDMA転送の許可を与え、該DMA転送が完了した後に、当該DMAモジュールからの次のDMA要求が、該DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからのDMA要求が全てなくなるまでの期間だけ抑制されると共に、該各DMAモジュールによるDMA転送が一巡する時点で該CPUからのバス要求がある場合に、該CPUの所定のCPUサイクルの期間だけ抑制されるものであり、そのことによリ上記目的が達成される。
本発明のDMA転送装置は、データバスが複数のDMAモジュールに共有され、該複数のDMAモジュールのうちの各DMAモジュールからのDMA要求が競合した場合にDMAバス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたDMAモジュールがデータバスに接続されるDMA転送装置において、該DMAバス調停手段は、該DMA要求の競合時に、該各データ転送モジュールのうちの優先順位が高いデータ転送モジュールからのデータ転送要求に対してデータ転送の許可を与え、該データ転送が完了した後に、該DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからのDMA要求が全てなくなるまで、該DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールの中から、優先順位が最も高いDMAモジュールに許可を順次与えてそれぞれ実行させるものであり、そのことによリ上記目的が達成される。
本発明のDMA転送装置は、データバスが複数のDMAモジュールおよびCPUに共有され、該複数のDMAモジュールのうちの各DMAモジュールからのDMA要求が競合した場合にDMAバス調停手段によって調停が行われ、さらに、該各DMAモジュールのうちの調停されたDMA要求と該CPUからのバス要求が競合した場合にDMAバス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたDMAモジュールまたはCPUがデータバスに接続されるDMA転送装置において、該DMAバス調停手段は、該DMA要求の競合時に、該各DMAモジュールのうちの優先順位が高いDMAモジュールからのDMA要求に対してDMA転送の許可を与え、該DMA転送が完了した後に、該DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからのDMA要求が全てなくなるまで、該DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールの中から、優先順位が最も高いDMAモジュールに許可を順次与えてそれぞれ実行させ、さらに、該各DMAモジュールによるDMA転送が一巡した時点で該CPUからのバス要求がある場合に、該CPUの所定の該CPUサイクルの期間だけ該CPUによるデータ転送を許可して実行させるものであり、そのことによリ上記目的が達成される。
また、好ましくは、本発明のDMA転送装置において、前記DMA転送の完了後で前記次のDMA要求の抑制前に、該DMA要求が行われないDMAインターバルの期間が別途設けられている。
さらに、好ましくは、本発明のDMA転送装置において、前記DMA転送の完了後に、次のDMA要求までにDMA要求が行われないDMAインターバルの期間が別途設けられている。
さらに、好ましくは、本発明のDMA転送装置における期間に関する情報は、前記DMAモジュール毎に設けられた第1記憶手段内にそれぞれ記憶されて設定されている。
さらに、好ましくは、本発明のDMA転送装置における次のDMA要求の抑制は、前記DMAモジュールからのDMA要求の発生を停止させるように制御するかまたは、該DMAモジュールからのDMA要求を当該DMA要求がなかったようにマスクする。
さらに、好ましくは、本発明のDMA転送装置におけるDMAバス調停手段は、前記DMA転送が完了したDMAモジュールよりも優先順位が下位にあるDMAモジュールからの各DMA要求が全てなくなった時点で、該DMA転送が完了したDMA転送モジュール以外の全てのDMA転送モジュールからのDMA要求に対して前記次のDMA要求の抑制を解除する。
さらに、好ましくは、本発明のDMA転送装置におけるDMAバス調停手段は、前記DMA転送が完了したDMAモジュールよりも優先順位が下位にあるDMAモジュールからの各DMA要求が全てなくなった時点から、該DMA転送が完了したDMAモジュール以外の他のDMAモジュールの中から、優先順位が最も高いDMAモジュールに許可を与えて実行し、前記優先順位が下位にある他のDMAモジュールの中から優先順位が最も高いDMAモジュールに許可が順次与えられてそれぞれ実行される。
さらに、好ましくは、本発明のDMA転送装置において、前記DMA転送が完了したDMAモジュールに関する情報が、前記DMAバス調停手段に設けられた第2記憶手段内にそれぞれ記憶されて設定される。
さらに、好ましくは、本発明のDMA転送装置において、前記DMA転送が完了したDMAモジュール以外の他のDMAモジュールは、前記第2記憶手段に前記DMAモジュールに関する情報として記憶されたモジュール番号以外のDMAモジュールである。
さらに、好ましくは、本発明のDMA転送装置において、前記DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールは、前記第2記憶手段に前記DMAモジュールに関する情報として記憶されたモジュール番号を基準にして次の番号以降のDMAモジュールである。
さらに、好ましくは、本発明のDMA転送装置におけるCPUサイクルの期間として、前記CPUによる転送処理を実行可能な期間が前記DMAバス調停手段に設けられた第3記憶手段内に記憶されて設定されている。
本発明のデータ転送装置は、データ転送専用バスが複数のデータ転送モジュールに共有され、該複数のデータ転送モジュールのうちの各データ転送モジュールからのデータ転送要求が競合した場合にデータ転送バス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたデータ転送モジュールが該データ転送専用バスに接続されるデータ転送装置において、該データ転送バス調停手段は、該データ転送要求の競合時に、該各データ転送モジュールのうちの優先順位が高いデータ転送モジュールからのデータ転送要求に対してデータ転送の許可を与え、該データ転送が完了した後に、当該データ転送モジュールからの次のデータ転送要求が、該データ転送が完了したデータ転送モジュール以外の他のデータ転送モジュールからのデータ転送要求が全てなくなるまでの期間だけ抑制されるものであり、そのことによリ上記目的が達成される。
本発明のデータ転送装置は、データ転送専用バスが複数のデータ転送モジュールに共有され、該複数のデータ転送モジュールのうちの各データ転送モジュールからのデータ転送要求が競合した場合にデータ転送バス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたデータ転送モジュールが該データ転送専用バスに接続されるデータ転送装置において、該データ転送バス調停手段は、該データ転送要求の競合時に、該各データ転送モジュールのうちの優先順位が高いデータ転送モジュールからのデータ転送要求に対してデータ転送の許可を与え、該データ転送が完了した後に、当該データ転送モジュールからの次のデータ転送要求が、該データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールからのデータ転送要求が全てなくなるまでの期間だけ抑制されるものであり、そのことによリ上記目的が達成される。
本発明のデータ転送装置は、データ転送専用バスが複数のデータ転送モジュールに共有され、該複数のデータ転送モジュールのうちの各データ転送モジュールからのデータ転送要求が競合した場合にデータ転送バス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたデータ転送モジュールが該データ転送専用バスに接続されるデータ転送装置において、該データ転送バス調停手段は、該データ転送要求の競合時に、該各データ転送モジュールのうちの優先順位が高いデータ転送モジュールからのデータ転送要求に対してデータ転送の許可を与え、該データ転送が完了した後に、該データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールからのデータ転送要求が全てなくなるまで、該データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールの中から、優先順位が最も高いデータ転送モジュールに許可が順次与えられてそれぞれ実行されるものであり、そのことによリ上記目的が達成される。
また、好ましくは、本発明のデータ転送装置において、前記データ転送の完了後で前記次のデータ転送要求の抑制前に、該データ転送要求が行われないデータ転送インターバルの期間が別途設けられている。
さらに、好ましくは、本発明のデータ転送装置におけるデータ転送の完了後に、次のデータ転送要求までにデータ転送要求が行われないデータ転送インターバルの期間が別途設けられている。
さらに、好ましくは、本発明のデータ転送装置における期間に関する情報は、前記データ転送モジュール毎に設けられた第4記憶手段内にそれぞれ記憶されて設定されている。
さらに、好ましくは、本発明のデータ転送装置における次のデータ転送要求の抑制は、前記データ転送モジュールからのデータ転送要求の発生を停止させるように制御するかまたは、該データ転送モジュールからのデータ転送要求を当該データ転送要求がなかったようにマスクする。
さらに、好ましくは、本発明のデータ転送装置におけるデータ転送バス調停手段は、前記データ転送が完了したデータ転送モジュールよりも優先順位が下位にあるデータ転送モジュールからの各データ転送要求が全てなくなった時点で、該データ転送が完了したデータ転送モジュール以外の全てのデータ転送モジュールからの各データ転送要求に対して前記次のデータ転送要求の抑制を解除する。
さらに、好ましくは、本発明のデータ転送装置におけるデータ転送バス調停手段は、前記データ転送が完了したデータ転送モジュールよりも優先順位が下位にあるデータ転送モジュールからの各データ転送要求が全てなくなった時点から、該データ転送が完了したデータ転送モジュール以外の他のデータ転送モジュールの中から、優先順位が最も高いデータ転送モジュールに許可を与えて実行し、前記優先順位が下位にある他のデータ転送モジュールの中から優先順位が最も高いデータ転送モジュールに許可が順次与えられてそれぞれ実行される。
さらに、好ましくは、本発明のデータ転送装置において、前記データ転送が完了したデータ転送モジュールに関する情報が、前記データ転送バス調停手段に設けられた第5記憶手段内にそれぞれ記憶されて設定される。
さらに、好ましくは、本発明のデータ転送装置において、前記データ転送が完了したデータ転送モジュール以外の他のデータ転送モジュールは、前記第5記憶手段に前記データ転送モジュールに関する情報として記憶されたモジュール番号以外のデータ転送モジュールである。
さらに、好ましくは、本発明のデータ転送装置において、前記データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールは、前記第5記憶手段に前記データ転送モジュールに関する情報として記憶されたモジュール番号を基準にして次の番号以降のデータ転送モジュールである。
上記構成により、以下に、本発明の作用について説明する。
本発明にあっては、データバスが複数のDMA(ダイレクト・メモリ・アクセス)モジュールに共有されたDMA転送装置において、各DMAモジュールによるDMA転送完了後に次のDMA要求が行われるまでの間隔を示すDMAインターバルが、各DMAモジュール内に設けられたレジスタなどの記憶手段に設定されている。各DMAモジュールからのDMA要求が競合した場合には、DMAバス調停手段によって、優先順位が高いモジュールからのDMA要求に対してDMA転送の許可が与えられ、許可が与えられたDMAモジュールによるDMA転送の完了後、例えばDMAインターバル後に行われる次のDMA要求が、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからのDMA要求が無くなるまで抑制される。これにより、各DMAモジュールによるDMA転送が循環され、優先順位が高いDMAモジュールについて、DMA転送完了後に次のDMA要求が行われるまでの間隔を示すDMAインターバルを大きく設定しなくても、優先順位が低いモジュールによるデータバスの使用割合を必要に応じて高くすることが可能となる。さらに、優先順位が高いDMAモジュールのDMAインターバルを必要以上に大きく設定する必要がないため、各DMAモジュールによるデータバスの使用割合を必要に応じて調整することが可能になる。また、本発明にあっては、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからのDMA要求が全てなくなるまで、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールの中から、優先順位が最も高いDMAモジュールに許可を順次与えてそれぞれ実行させる。これによっても、上記と同様の効果を生じる。
また、本発明にあっては、データバスが複数のDMAモジュールおよびCPUに共有されたDMA転送装置において、各DMAモジュールによるDMA転送完了後に次のDMA要求が行われるまでの間隔を示すDMAインターバルが、各DMAモジュール内に設けられたレジスタなどの記憶手段に設定されている。各DMAモジュールからのDMA要求が競合した場合に、DMAバス調停手段によって、優先順位が高いモジュールからのDMA要求に対してDMA転送の許可が与えられ、許可が与えられたDMAモジュールによるDMA転送の完了後、DMAインターバル後に行われる次のDMA要求の発生が、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからのDMA要求が全てなくなるまで抑制される。これにより、全てのDMAモジュールによるDMA転送が循環方式により実行される。さらに、通常、CPUからは常にバス要求が出力されているが、DMAモジュールよりも優先順位が低く、CPUによる転送処理を実行可能なサイクルを明確に把握して要求することは困難である。よって、CPUによる転送処理を実行可能な期間を示すCPUサイクルを、DMAバス調停手段内に設けられたレジスタなどの記憶手段に設定し、各DMAモジュールによるDMA転送が一巡した時点で、CPUからのバス要求がある場合に、CPUによる転送処理を実行可能な期間を示すCPUサイクルの期間だけ、次のDMA要求の発生が抑制される。これによって、CPUにより転送処理を実行可能なサイクルを明確に把握して要求することが可能となる。また、本発明にあっては、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからのDMA要求が全てなくなるまで、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールの中から、優先順位が最も高いDMAモジュールに許可を順次与えてそれぞれ実行させ、さらに、各DMAモジュールによるDMA転送が一巡した時点でCPUからのバス要求がある場合に、CPUの所定のCPUサイクルの期間だけCPUによるデータ転送を許可して実行させる。これによっても、上記と同様の効果を生じる。
さらに、本発明にあっては、CPUに接続されていない共通のデータ転送専用バスが複数のデータ転送モジュールに共有されたデータ転送装置において、各データ転送モジュールによるデータ転送完了後に次のデータ転送要求が行われるまでの間隔を示すデータ転送インターバルが、各データ転送モジュール内に設けられたレジスタなどの記憶手段に設定されている。各データ転送モジュールからのデータ転送要求が競合した場合には、データ転送バス調停手段によって、優先順位が高いモジュールからのデータ転送要求に対してデータ転送の許可が与えられ、許可が与えられたデータ転送モジュールによるデータ転送の完了後、データ転送インターバル後に行われる次のデータ転送要求の発生が、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のデータ転送モジュールからのデータ転送要求が全てなくなるまで抑制される。これにより、優先順位が高いデータ転送モジュールについて、データ転送完了後に次のデータ転送要求が行われるまでの間隔を示すデータ転送インターバルを大きく設定しなくても、優先順位が低いデータ転送モジュールによるデータ転送専用バスの使用割合を必要に応じて高くすることができる。さらに、優先順位が高いデータ転送モジュールのデータ転送インターバルを大きく設定する必要がないため、各データ転送モジュールによるデータ転送専用バスの使用割合を必要に応じて調整することが可能になる。また、本発明にあっては、データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールからのデータ転送要求が全てなくなるまで、データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールの中から、優先順位が最も高いデータ転送モジュールに許可を順次与えてそれぞれ実行させる。これによっても、上記と同様の効果を生じる。
以上により、本発明によれば、複数のDMAモジュールにデータバスが共有されたDMA転送装置において、DMA要求に対する許可が与えられたモジュールのDMA転送が完了した後に、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからのDMA要求が無くなるまで次のDMA要求の発生が抑制される。または、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからのDMA要求が全てなくなるまで、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールの中から、優先順位が最も高いDMAモジュールに許可を順次与えてそれぞれ実行させる。このため、優先順位が高いDMAモジュールによりデータバスが占有されず、優先順位が低いDMAモジュールによりDMA転送を実行することが可能とされる。これにより、特許文献1に開示されている従来技術のようにDMAインターバルを大きく設定する必要がなく、各モジュールによるデータバスの使用割合を必要に応じて調整することができる。
また、本発明によれば、複数のDMAモジュールおよびCPUにデータバスが共有されたDMA転送装置において、DMA要求に対する許可が与えられたモジュールのDMA転送が完了した後に、他のDMAモジュールからのDMA要求およびCPUからのバス要求が無くなるまで次のDMA要求の発生が抑制され、各DMAモジュールによるDMA転送が一巡した時点で、CPUからのバス要求がある場合に、CPUによる転送処理を実行可能な期間を示すCPUサイクルの期間だけ、次のDMA要求の発生が抑制される。または、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからのDMA要求が全てなくなるまで、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールの中から、優先順位が最も高いDMAモジュールに許可を順次与えてそれぞれ実行させ、さらに、各DMAモジュールによるDMA転送が一巡した時点でCPUからのバス要求がある場合に、CPUの所定のCPUサイクルの期間だけCPUによるデータ転送を許可して実行させる。これにより、各DMAモジュールおよびCPUによるデータバスの使用割合を必要に応じて調整することが可能になり、CPUにより転送処理を実行可能なサイクルを明確に把握して要求することができる。
さらに、本発明によれば、複数のデータ転送モジュールにデータ転送専用バスが共有されたデータ転送装置において、データ転送要求に対する許可が与えられたモジュールのデータ転送が完了した後に、他のデータ転送モジュールからのデータ転送要求が無くなるまで次のデータ転送要求の発生が抑制されるため、優先順位が高いデータ転送モジュールによりデータ転送専用バスが占有されず、優先順位が低いデータ転送モジュールによりデータ転送を実行することが可能とされる。または、データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールからのデータ転送要求が全てなくなるまで、データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールの中から、優先順位が最も高いデータ転送モジュールに許可を順次与えてそれぞれ実行させる。これにより、特許文献1に開示されている従来技術のようにデータ転送インターバルを大きく設定する必要がなく、各モジュールによるデータ転送専用バスの使用割合を必要に応じて調整することができる。
以下に、本発明のDMA転送装置の実施形態1、2、4,5および本発明のデータ転送装置の実施形態3、6について、図面を参照しながら詳細に説明する。なお、本発明のDMA転送装置およびデータ転送装置はそれぞれ、例えば携帯型ゲーム機などのように複数種類のデータを扱う電子機器であってもよく、例えば携帯型ゲーム機などのように複数種類のデータを扱う複数の電子機器の間をDMA転送可能とするDMA転送システムおよび、複数の電子機器の間をデータ転送可能とするデータ転送システムや、インターネットやイントラネットなどを介して互いに離れた複数の電子機器間をDMA転送可能とするDMA転送システムおよび、複数の電子機器の間をデータ転送可能とするデータ転送システムであってもよい。
ここで、まず、本発明の実施形態1〜3および4〜6について簡単に説明する。本発明の実施形態1〜3では、データ転送完了後、そのモジュールによる次の転送要求が、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のモジュールからのDMA要求が全てなくなるまで抑制される場合について説明する。また、本発明の実施形態4〜6では、データ転送完了後、データ転送が完了したモジュールよりも優先順位が下位にある他のモジュールの中から、優先順位が最も高いモジュールに許可が順次与えられる場合について説明する。これらのいずれの場合にも、複数のモジュールによりデータバスが共有された装置において、より効率良くデータ転送を行い、特定のモジュールによりデータバスが占有され続けることによって生じる不整合を確実に回避する本発明の目的を達成することができる。
(実施形態1)
本実施形態1では、DMA要求に対する許可が与えられたDMAモジュールのDMA転送が完了した後に、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからのDMA要求が無くなるまで、次のDMA要求が抑制されることにより、DMAモジュールによるDMA転送が循環され、特許文献1に開示されている従来技術のようにDMAインターバルを大きく設定する必要がなく、各モジュールによるデータバスの使用割合を必要に応じて調整することができる場合について説明する。なお、DMA要求に対する許可が与えられたDMAモジュールのDMA転送が完了した後に、DMA転送が完了したDMAモジュール以外の他のDMAモジュールからのDMA要求が全て無くなるまで、次のDMA要求が抑制するようにしてもよい。この「全てなくなるまで」は、優先順位が高いデータ転送モジュールから順次実行したときのデータ転送要求の有無を検出している。
図1は、本発明の実施形態1に係るDMA転送装置におけるデータバスの接続例を示すブロック図である。
図1において、本実施形態1のDMA転送装置1は、データバス11が複数のDMAモジュール12−0、12−1、・・・12−nと制御手段としてのCPU13に共有されており、各DMAモジュール12−0、12−1、・・・12−nからのDMA要求が競合した場合には、DMAバス調停回路14によって調停が行われ、CPU13からのバス要求とDMAモジュール12−0、12−1、・・・12−nのうちのいずれかからのバス要求が競合した場合には、バス調停回路15によって調停が行われて、CPU13またはDMAモジュール12−0、12−1、・・・12−nの一つがデータバス11のバスマスターとしてバス接続を許可され、そのCPU13またはDMAモジュール12−0、12−1、・・・12−nのいずれかがデータバス11に接続される。
さらに、データバス11には、スレーブブロックとして制御回路16、メモリ制御回路17および外部デバイス制御回路18が接続されており、上記バスマスターとしてデータバス11に接続されたCPU13またはDMAモジュール12−0、12−1、・・・12−nのうちのいずれかによって、制御回路16内に設けられたレジスタ16a、メモリ制御回路17内に設けられたレジスタ17a、メモリ制御回路18によって制御されるメモリ19,20、および外部デバイス制御回路18内に設けられたレジスタ18a間のデータ転送が制御されるように構成されている。
複数のDMAモジュール12−0、12−1、・・・、12−nおよびCPU13からは、それぞれのデータ転送が必要になったタイミングにおいて、データ転送要求が出力される。DMAバス調停回路14においては、複数のDMAモジュール12−0、12−1、・・・、12−nから出力される各データ転送要求(DMA要求)が調停され、DMAバス調停回路14からバス調停回路15に対して、データ転送を許可されたDMAモジュールからのデータ転送要求が出力される。
このバス調停回路15においては、DMAバス調停回路14からのデータ転送要求とCPU13からのバス要求とが調停され、複数のDMAモジュール12−0、12−1、・・・、12−nおよびCPU13のうち、バスマスターとしてデータ転送を許可されたものが、データバス11に接続されてアクセス可能とされる。
本実施形態1のDMA転送装置1においては、図13に示す従来のDMA転送装置100の場合と同様に、優先順位が最も高いモジュール12−0によりデータバス11が占有されることを回避するために、各DMAモジュールによるDMA転送完了後に次のDMA要求が行われるまでの間隔を示すDMAインターバルが設定されている。例えば、DMAインターバル時間は、各DMAモジュール12−0、12−1、・・・、12−n内に設けられたレジスタ12−0a、12−1a、・・・、12−naにそれぞれ設定されている。各DMAモジュール12−0、12−1、・・・、12−nからのDMA要求に対して、DMA転送が許可されてDMA転送の実行が完了された時点から、所定期間のDMAインターバルが経過してから、次のDMA要求が発生される。
さらに、本実施形態1のDMA転送装置1においては、図13に示す従来のDMA転送装置100のように、DMAインターバルが設定されても、さらに優先順位が低いDMAモジュール102−3によるDMA転送を実行できず、DMAモジュール102−3によるDMA転送の実行を可能にするためにDMAインターバルが大きく設定した場合には、どのDMAモジュールからのDMA要求も発生しない無駄な期間が生じるという問題を解決するために、各DMAモジュール12−0、12−1、・・・、12−nからのDMA要求が競合した場合に、DMAバス調停回路14によって、優先順位が高いDMAモジュールからのDMA要求に対してDMA転送の許可が与えられ、許可が与えられたDMAモジュールによるDMA転送の完了後、DMAインターバル後に行われる次のDMA要求の発生が、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからのDMA要求が全てなくなるまで抑制されるように構成されている。これにより、各DMAモジュール12−0、12−1、・・・、12−nによるデータバス11の使用割合が必要に応じて調整される。
例えば、図1に示すDMAバス調停回路14によって、各DMAモジュール12−1、12−2、・・・、12−nからの各DMA要求の有無が把握されると共に、DMA転送が実行されて終了したDMAモジュールの番号が記憶手段としてのレジスタ14aに保存される。優先順位が高い順に、最後にDMA転送が実行されたDMAモジュールよりも優先順位が上位であるDMAモジュールおよび最後にDMA転送が実行されたDMAモジュールからのDMA要求がマスクされることによって、DMA要求が抑制される。このDMA要求のマスクはDMAインターバルの期間後に行われる。
さらに、DMAバス調停回路14によって、最後にDMA転送が実行されたDMAモジュール以外の他のDMAモジュールからの各DMA要求の有無が調べられる。最後にDMA転送が実行されたDMAモジュールよりも優先順位が下位であるDMAモジュールからの各DMA要求が全てなくなった時点で、最後にDMA転送が実行されたDMAモジュールの番号がクリアされ、全てのDMA要求に対するマスクがクリアされる。
以下に、本実施形態1のDMA転送装置1におけるデータバス11の使用例について、図2のタイミングチャートを用いて説明する。
図2は、上記図1に示す本実施形態1のDMA転送装置1におけるデータバス11の使用例を説明するためのタイミングチャートである。なお、横軸は時間の経過を示し、各波形はDMAモジュール12−0〜12−3からのデータ転送要求(DMA要求)およびDMAモジュール12−0〜12−3によるデータ転送(DMA転送)の実行を示し、矢印はDMAインターバルの期間を示している。また、この事例では、DMAモジュールの優先順位は、DMAモジュール12−0を最も高くし、DMAモジュール12−3を最も低くしている。即ち、
DMAモジュール12−0 > DMAモジュール12−1 > DMAモジュール12−2 > DMAモジュール12−3
とされているものとする。
但し、図2では、DMA要求に対する許可が与えられたDMAモジュールのDMA転送が完了した後に、DMA転送が完了したDMAモジュール以外の他のDMAモジュールからのDMA要求が全て無くなるまで、次のDMA要求が抑制する場合であって、この「全てなくなるまで」は、優先順位が高いデータ転送モジュールから順次実行したときのデータ転送要求の有無を検出している場合を示しているが、ここでは、図2を用いて、DMA要求に対する許可が与えられたDMAモジュールによるDMA転送の完了後、DMAインターバル後に行われる次のDMA要求の発生が、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからのDMA要求が全てなくなるまで抑制されることにより、全てのDMAモジュールによるデータ転送が循環方式により実行される場合について説明する。この場合、図2では、抑制期間(マスク期間)が異なっている。
まず、タイミングaで、DMAモジュール12−3からのデータ転送要求(DMA要求)が発生すると、他のDMAモジュール12−0〜12−2からのデータ転送要求は発生していないため、DMAモジュール12−3によるデータ転送(DMA転送)が許可されて実行される。このDMAモジュール12−3によるデータ転送実行中に、次のタイミングbで、DMAモジュール12−2からのデータ転送要求が発生され、さらに次のタイミングcで、DMAモジュール12−1からの転送要求が発生するが、DMAモジュール12−3によるデータ転送実行中であるため、データ転送実行が許可されずに待たされる。
次に、タイミングdで、DMAモジュール12−3によるデータ転送が完了するが、タイミングfまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール12−3からのデータ転送要求は発生されない。また、DMAモジュール12−3よりも優先順位が下位のDMAモジュールがないため、DMAバス調停回路14によって全てのDMA要求のマスクがクリアされる。
さらに、タイミングdで、DMAモジュール12−0からのデータ転送要求が発生した時点で、DMAモジュール12−0、DMAモジュール12−1およびDMAモジュール12−2からのデータ転送要求が発生しているが、優先順位に従ってDMAモジュール12−0が他のものに優先され、DMAモジュール12−0からのデータ転送が許可されて実行される。
その後、タイミングeで、DMAモジュール12−0によるデータ転送が完了するが、タイミングhまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール12−0からのデータ転送要求は発生されない。また、DMAモジュール12−0以外の他のDMAモジュール12−1〜12−3からのDMA要求がなくなるまで、DMAバス調停回路14によって、DMAモジュール12−0から次のDMA要求が発生されることを抑制するため、タイミングkまでDMAモジュール12−0からのデータ転送要求がマスクされる。
このタイミングeで、DMAモジュール12−0によるデータ転送が完了した時点で、DMAモジュール12−1およびDMAモジュール12−2からのデータ転送要求が発生しているが、優先順位に従ってDMAモジュール12−1が優先され、DMAモジュール12−1によるデータ転送が許可されて実行される。
その後、タイミングgで、DMAモジュール12−1によるデータ転送が完了するが、タイミングjまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール12−1からのデータ転送要求は発生されない。また、DMA転送が完了したDMAモジュール12−1よりも優先順位が下位にある他のDMAモジュール12−2および12−3からのDMA要求がなくなるまで、DMAバス調停回路14によって、DMAモジュール12−1から次のDMA要求が発生されることを抑制するため、タイミングmまでDMAモジュール12−1からのデータ転送要求がマスクされる。
さらに、タイミングgで、DMAモジュール12−1によるデータ転送が完了した時点で、DMAモジュール12−2およびDMAモジュール12−3からのデータ転送要求が発生しているが、優先順位に従ってDMAモジュール12−2が優先され、DMAモジュール12−2によるデータ転送が許可されて実行される。
その後、タイミングiで、DMAモジュール12−2によるデータ転送が完了するが、タイミングlまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール12−2からのデータ転送要求は発生されない。また、DMA転送が完了したDMAモジュール12−2よりも優先順位が下位にある他のDMAモジュール12−3からのDMA要求がなくなるまで、DMAバス調停回路14によって、DMAモジュール12−2から次のDMA要求が発生されることを抑制するため、タイミングoまでDMAモジュール12−2からのデータ転送要求がマスクされる。
さらに、タイミングiで、DMAモジュール12−2によるデータ転送が完了した時点で、DMAモジュール12−3からのデータ転送要求のみが発生されており、他のDMAモジュール12−0〜12−2からのデータ転送要求が発生されていないため、DMAモジュール12−3によるデータ転送が許可されて実行される。
その後、タイミングkで、DMAモジュール12−3によるデータ転送が完了するが、タイミングnまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール12−3からのデータ転送要求は発生されない。また、DMAモジュール12−3よりも優先順位が下位に他のDMAモジュールがないため、DMAバス調停回路14によって全てのDMA要求のマスクがクリアされる。
さらに、タイミングkで、DMAモジュール12−3によるデータ転送が完了した時点で、DMAモジュール12−0からのデータ転送要求のみが発生しており、他のDMAモジュール12−1〜12−3からのデータ転送要求が発生されていないため、DMAモジュール12−0によるデータ転送が許可されて実行される。
その後、タイミングmで、DMAモジュール12−0によるデータ転送が完了するが、タイミングpまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール12−0からのデータ転送要求は発生されない。また、DMA転送が完了したDMAモジュール12−0よりも優先順位が下位にある他のDMAモジュール12−1〜12−3からのDMA要求がなくなるまで、DMAバス調停回路14によって、DMAモジュール12−0から次のDMA要求が発生されることを抑制するため、さらに加えてタイミングsまでDMAモジュール12−0からのデータ転送要求がマスクされる。
さらに、タイミングmで、DMAモジュール12−0によるデータ転送が完了した時点で、DMAモジュール12−1からのデータ転送要求のみが発生されており、DMAモジュール12−1より優先的に上位の他のDMAモジュール12−0からのデータ転送要求が発生されていないため、DMAモジュール12−1によるデータ転送が許可されて実行される。
その後、タイミングoで、DMAモジュール12−1によるデータ転送が完了するが、タイミングrまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール12−1からのデータ転送要求は発生されない。また、DMA転送が完了したDMAモジュール12−1よりも優先順位が下位にある他のDMAモジュール12−2および12−3からのDMA要求がなくなるまで、DMAバス調停回路14によって、DMAモジュール12−1から次のDMA要求が発生されることを抑制するため、タイミングuまでDMAモジュール12−1からのデータ転送要求がマスクされる。
さらに、タイミングoで、DMAモジュール12−1によるデータ転送が完了した時点で、DMAモジュール12−2およびDMAモジュール12−3からのデータ転送要求が発生されているが、優先順位に従ってDMAモジュール12−2が優先され、DMAモジュール12−2によるデータ転送が許可されて実行される。
その後、タイミングqで、DMAモジュール12−2によるデータ転送が完了するが、タイミングtまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール12−2からのデータ転送要求は発生されない。また、DMA転送が完了したDMAモジュール12−2よりも優先順位が下位にある他のDMAモジュール12−3からのDMA要求がなくなるまで、DMAバス調停回路14によって、DMAモジュール12−2から次のDMA要求が発生されることを抑制するため、DMAモジュール12−2からのデータ転送要求がマスクされる。
さらに、タイミングqで、DMAモジュール12−2によるデータ転送が完了した時点で、DMAモジュール12−3からのデータ転送要求のみが発生されており、他のDMAモジュール12−0〜12−2からのデータ転送要求が発生していないため、DMAモジュール12−3によるデータ転送が許可されて実行される。
その後、タイミングsで、DMAモジュール12−3によるデータ転送が完了するが、タイミングvまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール12−3からのデータ転送要求は発生されない。また、DMAモジュール12−3よりも優先順位が下位に他のDMAモジュールがないため、DMAバス調停回路14によって全てのDMA要求のマスクがクリアされる。
さらに、タイミングsで、DMAモジュール12−3によるデータ転送が完了した時点で、DMAモジュール12−0からのデータ転送要求のみが発生しており、他のDMAモジュール12−1および12−2からのデータ転送要求が発生していないため、DMAモジュール12−0によるデータ転送が許可されて実行される。その後、タイミングuで、DMAモジュール12−0によるデータ転送が完了する。また、DMAモジュール12−0以外の他のDMAモジュール12−1〜12−3からのDMA要求がなくなるまで、DMAバス調停回路14によって、DMAモジュール12−0から次のDMA要求が発生されることを抑制するため、DMAモジュール12−0からのデータ転送要求がマスクされる。
以上のように、本実施形態1のDMA転送装置1によれば、DMA要求に対する許可が与えられたモジュールによるDMA転送が完了された後に、次のDMA要求が行われるまでの間隔を示すDMAインターバルの期間(矢印で示す期間)が設定され、さらに、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからのDMA要求が無くなるまで次のDMA要求の発生が抑制される。これによって、優先順位が最も高いDMAモジュール12−0によりデータバスが占有され続けることなく、これよりも優先順位が低いDMAモジュール12−1およびDMAモジュール12−2によるDMA転送を実行することが可能とされ、さらに優先順位が低いDMAモジュール12−3によるDMA転送を実行することも可能となる。さらに、特許文献1に開示されている従来技術のように、DMAモジュール12−3によるDMA転送を実行可能とするためにDMAインターバルを大きく設定する必要がない。よって、各DMAモジュールにおいて必要に応じてDMAインターバルを設定することにより、各DMAモジュールによるデータバスの使用割合を必要に応じて調整することが可能になり、どのDMAモジュールからのDMA要求も発生しない無駄な期間が生じるという問題を防ぐことができる。
(実施形態2)
本実施形態2では、各DMAモジュールによるDMA転送が一巡する時点で、CPUからのバス要求がある場合に、CPUによる転送処理を実行可能な期間を示すCPUサイクルの期間を含めて、次のDMA要求が抑制されることにより、各DMAモジュールおよびCPUによるデータバスの使用割合を必要に応じて調整することが可能になり、CPUにより転送処理を実行可能なサイクルを明確に把握して要求することができる場合について説明する。
図3は、本発明の実施形態2に係るDMA転送装置におけるデータバスの接続例を示すブロック図である。なお、図1のDMA転送装置の作用効果と同一の作用効果を相する部材には同一の符号を付する。
図3において、本実施形態2のDMA転送装置2は、図1に示す実施形態1のDMA転送装置1の場合と同様に、データバス11が複数のDMAモジュール12−0、12−1、・・・、12−nおよびCPU13に共有されたDMA転送装置であって、各DMAモジュール12−0、12−1、・・・、12−nによるDMA転送完了後に次のDMA要求が行われるまでの間隔を示すDMAインターバルが、各DMAモジュール12−0、12−1、・・・、12−n内に設けられたレジスタ12−0a、12−1a、・・・、12−naに設定されている。
また、通常、CPU13からは、常にバス要求が出力されているが、各DMAモジュール12−0、12−1、・・・、12−nよりも優先順位が低く、CPU13によるデータ転送処理を実行可能なサイクルを明確に把握して要求することが困難であるため、本実施形態2のDMA転送装置2では、このCPUサイクルが、DMAバス調停回路14A内に設けられたレジスタ14aに設定されている。各DMAモジュール12−0、12−1、・・・、12−nからのDMA要求が競合した場合には、DMAバス調停回路14Aによって、優先順位が高いDMAモジュールからのDMA要求に対してDMA転送の許可が与えられ、許可が与えられたDMAモジュールによるDMA転送の完了後、DMAインターバル後に行われる次のDMA要求の発生が、他のDMAモジュールからのDMA要求が全てなくなるまで抑制される。各DMAモジュール12−0、12−1、・・・、12−nによるDMA転送が一巡した時点でCPU13からのバス要求がある場合には、CPUサイクルの期間だけ、次のDMA要求の発生が抑制されるように構成されている。これにより、各DMAモジュール12−0、12−1、・・・、12−nおよびCPU13によるデータバスの使用割合が必要に応じて調整される。
以下に、本実施形態2のDMA転送装置2におけるデータバス11の使用例について、図4のタイミングチャートを用いて説明する。
図4は、上記図1に示す本実施形態2のDMA転送装置2におけるデータバスの使用例を説明するためのタイミングチャートである。なお、横軸は時間の経過を示し、各波形はDMAモジュール12−0〜12−2からのデータ転送要求(DMA要求)とCPU13からのバス要求(CPU要求)およびDMAモジュール12−0〜12−2によるデータ転送(DMA転送)とCPU13によるデータ転送の実行を示し、矢印はDMAインターバルの期間およびCPUサイクルの期間を示している。
ここでは、DMAモジュール12−0〜12−2およびCPU13の優先順位は、DMAモジュール12−0の優先順位が最も高く、CPU13の優先順位が最も低く設定されている。即ち、
DMAモジュール12−0 > DMAモジュール12−1 > DMAモジュール12−2 > CPU13
とされているものとする。
但し、図4では、DMA要求に対する許可が与えられたDMAモジュールによるDMA転送の完了後、DMAインターバル後に行われる次のDMA要求の発生が、DMA転送が完了したDMAモジュール以外の他のDMAモジュールからのDMA要求が全てなくなるまで抑制されることにより、全ての各DMAモジュール12−0〜12−2およびCPU13によるデータ転送が循環方式により実行される。さらに、各DMAモジュール12−0〜12−2によるDMA転送が一巡した時点でCPU13からのバス要求がある場合に、CPUサイクルの期間だけ、次のDMA要求の発生が抑制される場合を示しているが、ここでは、図4を用いて、DMA要求に対する許可が与えられたDMAモジュールによるDMA転送の完了後、DMAインターバル後に行われる次のDMA要求の発生が、優先順位がより低い他のDMAモジュールからのDMA要求が全てなくなるまで抑制されることにより、全ての各DMAモジュール12−0〜12−2およびCPU13によるデータ転送が循環方式により実行される。さらに、各DMAモジュール12−0〜12−2によるDMA転送が一巡した時点でCPU13からのバス要求がある場合には、CPUサイクルの期間だけ、次のDMA要求の発生が抑制される。例えば、各DMAモジュール12−0〜12−2の実行の循環が一巡した時点で、CPU13からのバス要求がある場合には、全てのDMAモジュール12−0〜12−2からのDMA要求がマスクされた状態がCPUサイクルの期間だけ保持された後、全てのDMAモジュール12−0〜12−2からのDMA要求のマスクがクリアされる。この場合、図4では、抑制期間(マスク期間)が異なっている。
まず、タイミングaで、CPU13からのデータ転送要求(バス要求)が発生すると、他のDMAモジュール12−0〜12−2からのデータ転送要求が発生されていないため、CPU13によるデータ転送が許可されて実行される。CPU13によるデータ転送実行中に、タイミングbで、DMAモジュール12−2からのデータ転送要求(DMA要求)が発生し、タイミングcで、DMAモジュール12−1からのデータ転送要求が発生するが、タイミングdまではCPUサイクルの期間であるため、データ転送実行が許可されずに待たされる。その後、タイミングdで、CPUサイクルの期間が完了すると、DMAバス調停回路14によって全てのDMA要求のマスクがクリアされる。
さらに、タイミングdで、DMAモジュール12−0からのデータ転送要求が発生した時点で、DMAモジュール12−0、DMAモジュール12−1、DMAモジュール12−2およびCPU13からのデータ転送要求が発生しているが、優先順位に従ってDMAモジュール12−0が優先され、DMAモジュール12−0からのデータ転送が許可されて実行される。
その後、タイミングeで、DMAモジュール12−0によるデータ転送が完了するが、タイミングhまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール12−0からのデータ転送要求は発生されない。また、DMA転送が完了したDMAモジュール12−0よりも優先順位が下位にある(DMAモジュール12−0以外の)他のDMAモジュール12−1,12−2からのDMA要求およびCPU13からのデータ転送要求がなくなるまで、DMAバス調停回路14Aによって、DMAモジュール12−0から次のDMA要求が発生することを抑制し、各DMAモジュール12−0〜12−2によるDMA転送が一巡した時点でCPU13からのバス要求がある場合に、CPUサイクルの期間だけ、次のDMA要求が発生することを抑制するために、タイミングkまでDMAモジュール12−0からのデータ転送要求がマスクされる。
さらに、タイミングeで、DMAモジュール12−0によるデータ転送が完了した時点で、DMAモジュール12−1、DMAモジュール12−2およびCPU13からのデータ転送要求が発生しているが、優先順位に従ってDMAモジュール12−1が優先され、DMAモジュール12−1によるデータ転送が許可されて実行される。
その後、タイミングgで、DMAモジュール12−1によるデータ転送が完了するが、タイミングjまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール12−1からのデータ転送要求は発生されない。また、DMA転送が完了したDMAモジュール12−1よりも優先順位が下位にある他のDMAモジュール12−0および12−2、およびCPU13からのからのDMA要求がなくなるまで、DMAバス調停回路14Aによって、DMAモジュール12−1から次のDMA要求が発生されることを抑制し、各DMAモジュール12−0〜12−2によるDMA転送が一巡した時点でCPU13からのバス要求がある場合に、CPUサイクルの期間だけ、次のDMA要求が発生されることを抑制するために、タイミングmまでDMAモジュール1からのデータ転送要求がマスクされる。
さらに、タイミングgで、DMAモジュール12−1によるデータ転送が完了した時点で、DMAモジュール12−2およびCPU13からの各データ転送要求が発生しているが、優先順位に従ってDMAモジュール12−2が優先され、DMAモジュール12−2によるデータ転送が許可されて実行される。
その後、タイミングiでDMAモジュール12−2によるデータ転送が完了するが、タイミングlまでのDMAインターバルの期間(矢印で示す期間)は、DMAモジュール12−2からのデータ転送要求は発生されない。また、DMA転送が完了したDMAモジュール12−2よりも優先順位が下位にある他のDMAモジュール12−0および12−1、およびCPU13からのからのDMA要求がなくなるまで、DMAバス調停回路14Aによって、DMAモジュール12−2から次のDMA要求が発生することを抑制し、各DMAモジュール12−0〜12−2によるDMA転送が一巡した時点でCPU13からのバス要求がある場合に、所定のCPUサイクルの期間だけ、次のDMA要求が発生することを抑制するために、タイミングoまでDMAモジュール12−2からのデータ転送要求がマスクされる。
さらに、このタイミングiで、DMAモジュール12−2によるデータ転送が完了した時点で、CPU13からのデータ転送要求のみが発生されているため、CPU13によるデータ転送が許可されて実行される。
その後、タイミングkで、優先順位の最も低いCPUサイクルの期間が完了すると、DMAバス調停回路14Aによって全てのDMA要求のマスクがクリアされる。
さらに、タイミングkで、CPU13によるデータ転送が完了した時点で、DMAモジュール12−0およびCPU13からの各データ転送要求が発生しているが、優先順位に従ってDMAモジュール12−0が優先され、DMAモジュール12−0によるデータ転送が許可されて実行される。
その後、タイミングmで、DMAモジュール12−0によるデータ転送が完了するが、タイミングpまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール12−0からのデータ転送要求は発生されない。また、DMA転送が完了したDMAモジュール12−0よりも優先順位が下位にある他のDMAモジュール12−1および12−2からのDMA要求がなくなるまで、DMAバス調停回路14Aによって、DMAモジュール12−0から次のDMA要求が発生されることを抑制し、各DMAモジュール12−0〜12−2によるDMA転送が一巡した時点でCPU13からのバス要求がある場合に、そのCPUサイクルの期間だけ、次のDMA要求が発生することを抑制するために、タイミングsまでDMAモジュール12−0からのデータ転送要求がマスクされる。
さらに、タイミングmで、DMAモジュール12−0によるデータ転送が完了した時点で、DMAモジュール12−1および12−2、およびCPU13からのデータ転送要求が発生しているが、優先順位に従ってDMAモジュール12−1が優先され、DMAモジュール12−1によるデータ転送が許可されて実行される。
その後、タイミングoで、DMAモジュール12−1によるデータ転送が完了するが、タイミングrまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール12−1からのデータ転送要求は発生されない。また、DMA転送が完了したDMAモジュール12−1よりも優先順位が下位にある他のDMAモジュール12−0および12−2、およびCPU13からのDMA要求がなくなるまで、DMAバス調停回路14Aによって、DMAモジュール12−1から次のDMA要求が発生されることを抑制し、各DMAモジュール12−0〜12−2によるDMA転送が一巡した時点でCPU13からのバス要求がある場合に、そのCPUサイクルの期間だけ、次のDMA要求が発生されることを抑制するために、タイミングuまでDMAモジュール12−1からのデータ転送要求がマスクされる。
さらに、タイミングoで、DMAモジュール12−1によるデータ転送が完了した時点で、DMAモジュール12−2およびCPU13からの各データ転送要求が発生しているが、優先順位に従ってDMAモジュール12−2が優先され、DMAモジュール12−2によるデータ転送が許可されて実行される。
その後、タイミングqで、DMAモジュール12−2によるデータ転送が完了するが、タイミングtまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール12−2からのデータ転送要求は発生されない。また、DMA転送が完了したDMAモジュール12−2よりも優先順位が下位にある他のDMAモジュール12−0および12−1、およびCPU13からのからのDMA要求がなくなるまで、DMAバス調停回路14Aによって、DMAモジュール12−2から次のDMA要求が発生することを抑制し、各DMAモジュール12−0〜12−2によるDMA転送が一巡した時点でCPU13からのバス要求がある場合に、所定のCPUサイクルの期間だけ、次のDMA要求が発生することを抑制するために、タイミングoまでDMAモジュール12−2からのデータ転送要求がマスクされる。
さらに、タイミングqで、DMAモジュール12−2によるデータ転送が完了した時点で、CPU13からのデータ転送要求のみが発生されているため、CPU13によるデータ転送が許可されて実行される。
その後、タイミングkで、優先順位の最も低いCPUサイクルの期間が完了すると、DMAバス調停回路14Aによって全てのDMA要求のマスクがクリアされる。
さらに、タイミングsで、CPU13によるデータ転送が完了した時点で、DMAモジュール12−0およびCPU13からの各データ転送要求が発生しているが、優先順位に従ってDMAモジュール12−0が優先され、DMAモジュール12−0によるデータ転送が許可されて実行される。その後、タイミングuで、DMAモジュール12−0によるデータ転送が完了される。また、DMA転送が完了したDMAモジュール12−0よりも優先順位が下位にある他のDMAモジュール12−1および12−2、CPU13からのDMA要求がなくなるまで、DMAバス調停回路14Aによって、DMAモジュール12−0から次のDMA要求が発生することを抑制し、各DMAモジュール12−0〜12−2によるDMA転送が一巡した時点でCPU13からのバス要求がある場合に、そのCPUサイクルの期間だけ、次のDMA要求が発生されることを抑制するために、DMAモジュール12−0からのデータ転送要求がマスクされる。
以上のように、本実施形態2のDMA転送装置2によれば、DMA要求に対する許可が与えられたDMAモジュールによるDMA転送が完了した後に、次のDMA要求が行われるまでの間隔を示すDMAインターバル(図4で矢印で示す期間)が設定され、さらに、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールなどからのDMA要求が無くなるまで次のDMA要求の発生が抑制される。これにより、優先順位が高いDMAモジュール12−0によりデータバスが占有され続けることがなくなり、DMAモジュール12−0以外のDMAモジュール12−1およびDMAモジュール12−2によるDMA転送を順次実行することが可能となる。さらに、優先順位が低いCPU13によるDMA転送を実行可能となる。DMA転送を実行可能とするためにDMAインターバルを大きく設定する必要がないため、各DMAモジュールにおいて必要に応じてDMAインターバルを設定することにより、各DMAモジュールによるデータバスの使用割合を必要に応じて調整することが可能になり、どのDMAモジュールからのDMA要求も発生しない無駄な期間が生じるという問題を防ぐことができる。さらに、CPU13によるデータ転送処理を実行可能なCPUサイクルが設定されているため、CPUサイクルを明確に把握してDMAバス調停回路14Aに要求することが可能になる。
(実施形態3)
本実施形態3では、各データ転送モジュールからのデータ転送要求が競合した場合に、データ転送バス調停手段によって、優先順位が高いデータ転送モジュールからのデータ転送要求に対してデータ転送の許可が与えられ、許可が与えられたデータ転送モジュールによるデータ転送の完了後、データ転送インターバル後に行われる次のデータ転送要求が、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のデータ転送モジュールからのデータ転送要求が全てなくなるまで抑制されている場合について説明する。なお、データ転送インターバル後に行われる次のデータ転送要求が、DMA転送が完了したDMAモジュール以外の他のデータ転送モジュールからのデータ転送要求が全てなくなるまで抑制されていてもよい。この「全てなくなるまで」は、優先順位が高いデータ転送モジュールから順次実行したときのデータ転送要求の有無を検出している。
図5は、本発明の実施形態3に係るデータ転送装置におけるデータバスの接続例を示すブロック図である。
図5において、本実施形態3のデータ転送装置3は、CPUに接続されていないデータ転送専用バスであるデータバス21が複数のDTC(データ転送回路)モジュール22−0、22−1、・・・、22−n(nは0以上の整数)に共有されており、各DTCモジュール22−0、22−1、・・・、22−nからのデータ転送要求が競合した場合には、DTCバス調停回路24によって調停が行われて、各DTCモジュール22−0、22−1、・・・、22−nのうちの一つがデータ転送専用バス21にバス接続を許可されて接続される。
また、データ転送専用バスのデータバス21には、前述した通り、制御回路16、メモリ制御回路17および外部デバイス制御回路18が接続されており、データ転送専用バス21に接続された上記各DTCモジュール22−0、22−1、・・・、22−nによって、制御回路16内に設けられたレジスタ16a、メモリ制御回路17に設けられたレジスタ17a、メモリ制御回路17によって制御されるメモリ19,20、および外部デバイス制御回路18内に設けられたレジスタ18aとの間のデータ転送が制御されるように構成されている。
複数のDTCモジュール22−0、22−1、・・・、22−nからは、それぞれのデータ転送が必要になったタイミングにおいて、データ転送要求が出力される。DTCバス調停回路24においては、複数のDTCモジュール22−0、22−1、・・・、22−nから出力されるデータ転送要求が調停され、複数のDTCモジュール22−0、22−1、・・・、22−nのうち、データ転送を許可されたものが、データバス21を介してアクセス可能とされる。
本実施形態3のデータ転送装置3では、優先順位が高いデータ転送モジュールによりデータバス21が占有されることを回避するために、各DMAモジュール22−0、22−1、・・・、22−nによるデータ転送完了後に次のデータ転送要求が行われるまでの間隔を示すデータ転送インターバルの期間(図6に矢印で示した期間)が設定されている。例えば、データ転送インターバル期間は、各DMAモジュール22−0、22−1、・・・、22−n内にそれぞれ設けられた各レジスタ22−0a、22−1a、・・・、22−naにそれぞれ設定されている。各DTCモジュール22−0、22−1、・・・、22−nからのデータ転送要求に対して、データ転送が許可されてデータ転送の実行が完了した時点からデータ転送インターバルが経過してから、次のDMA要求が発生される。
前述したように、従来は、データ転送インターバルが設定されても、さらに優先順位が低いDTCモジュールによるデータ転送を実行できず、そのDTCモジュールによるデータ転送の実行を可能にするためにDTCインターバルが大きく設定された場合にはどのDTCモジュールから複数のデータ転送要求も発生しない無駄な期間が生じる。これを解決するために、本実施形態3のデータ転送装置3では、各DTCモジュール22−0、22−1、・・・、22−nからのDTC要求が競合した場合に、DTCバス調停回路24によって、優先順位が高いDTCモジュールからのデータ転送要求に対してデータ転送の許可が与えられ、許可が与えられたDTCモジュールによるデータ転送の完了後、データ転送インターバル後に行われる次のデータ転送要求の発生が、データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールからのデータ転送要求が全てなくなるまで抑制されるように構成されている。これにより、各DTCモジュール22−0、22−1、・・・、22−nによるデータバス21の使用割合が必要に応じて調整される。
以下に、本実施形態3のデータ転送装置3におけるデータ転送専用バス(データバス21)の使用例について、図6のタイミングチャートを用いて説明する。
図6は、上記図5に示す本実施形態3のデータ転送装置3におけるデータ転送専用バス(データバス21)の使用例を説明するためのタイミングチャートである。なお、横軸は時間の経過を示し、各波形はDTCモジュール22−0〜22−3からのデータ転送要求(DTC要求)およびDTCモジュール22−0〜22−3によるデータ転送(DTC転送)の実行を示し、矢印はデータ転送インターバルの期間を示している。
この事例では、各DTCモジュール22−0〜22−3の優先順位は、DTCモジュール22−0の優先順位が最も高く、DTCモジュール22−3の優先順位が最も低い。即ち、
DTCモジュール22−0 > DTCモジュール22−1 > DTCモジュール22−2 > DTCモジュール22−3
とされているものとする。
但し、図6では、データ転送要求に対する許可が与えられた各DTCモジュールによるデータ転送の完了後、データ転送インターバル後に行われる次のデータ転送要求の発生が、DTC転送が完了したDTCモジュール以外の他のDTCモジュールからのデータ転送要求が全てなくなるまで抑制される場合について説明するが、ここでは、図6を用いて、データ転送要求に対する許可が与えられた各DTCモジュールによるデータ転送の完了後、データ転送インターバル後に行われる次のデータ転送要求の発生が、DTC転送が完了したDTCモジュールよりも優先順位が下位にある他のDTCモジュールからのデータ転送要求が全てなくなるまで抑制されることにより、全てのDTCモジュール22−0〜22−3によるデータ転送が循環方式により実行される場合について説明する。この場合、図6では、抑制期間(マスク期間)が異なっている。
まず、タイミングaで、DTCモジュール22−3からのデータ転送要求が発生すると、他のDTCモジュール22−0〜22−2からのデータ転送要求が発生していないため、DTCモジュール22−3によるデータ転送が許可されて実行される。DTCモジュール22−3によるデータ転送実行中に、タイミングbで、DTCモジュール22−2からのデータ転送要求が発生し、タイミングcで、DTCモジュール22−1からの転送要求が発生するが、DTCモジュール22−3によるデータ転送実行中であるため、データ転送実行が許可されずに待たされる。
次に、タイミングdで、DTCモジュール22−3によるデータ転送が完了するが、タイミングfまでのデータ転送インターバルの期間(矢印で示す期間)はDTCモジュール22−3からのデータ転送要求は発生されない。また、DTCモジュール22−3よりも優先順位が下位である他のDTCモジュールがないため、DTCバス調停回路24によって全てのデータ転送要求のマスクがクリアされる。
さらに、タイミングdで、DTCモジュール22−0からのデータ転送要求が発生した時点で、DTCモジュール22−0、DTCモジュール22−1およびDTCモジュール22−2からのデータ転送要求がそれぞれ発生しているが、優先順位に従ってDTCモジュール22−0が優先され、DTCモジュール22−0からのデータ転送が許可されて実行される。
その後、タイミングeで、DTCモジュール22−0によるデータ転送が完了するが、タイミングhまでのデータ転送インターバルの期間(矢印で示す期間)はDTCモジュール22−0からのデータ転送要求は発生されない。また、DTCモジュール22−0よりも優先順位が下位にある他のDTCモジュール22−1〜22−3からのDTC要求がなくなるまで、DTCバス調停回路24によって、DTCモジュール22−0から次のデータ転送要求が発生されることを抑制するため、タイミングkまでDTCモジュール22−0からのデータ転送要求がマスクされる。
さらに、タイミングeで、DTCモジュール22−0によるデータ転送が完了した時点で、DTCモジュール22−1およびDTCモジュール22−2からの各データ転送要求が発生されているが、優先順位に従ってDTCモジュール22−1が優先され、DTCモジュール22−1によるデータ転送が許可されて実行される。
その後、タイミングgで、DTCモジュール22ー1によるデータ転送が完了するが、タイミングjまでのデータ転送インターバルの期間(矢印で示す期間)はDTCモジュール22−1からのデータ転送要求は発生されない。また、DTCモジュール22−1よりも優先順位が下位にある他のDTCモジュール22−2および22−3からのデータ転送要求がなくなるまで、DTCバス調停回路24によって、DTCモジュール22−1から次のデータ転送要求が発生することを抑制するため、タイミングmまでDTCモジュール22−1からのデータ転送要求がマスクされる。
さらに、タイミングgで、DTCモジュール22−1によるデータ転送が完了した時点で、DTCモジュール22−2およびDTCモジュール22−3からの各データ転送要求が発生しているが、優先順位に従ってDTCモジュール22−2が優先され、DTCモジュール22−2によるデータ転送が許可されて実行される。
その後、タイミングiで、DTCモジュール22−2によるデータ転送が完了するが、タイミングlまでのDTCインターバルの期間(矢印で示す期間)はDTCモジュール22−2からのデータ転送要求は発生されない。また、DTCモジュール22ー2よりも優先順位が下位にある他のDTCモジュール22−3からのデータ転送要求がなくなるまで、DTCバス調停回路24によって、DTCモジュール22−2から次のデータ転送要求が発生することを抑制するため、タイミングoまでDTCモジュール22−2からのデータ転送要求がマスクされる。
さらに、タイミングiで、DTCモジュール22−2によるデータ転送が完了した時点で、DTCモジュール22−3からのデータ転送要求のみが発生しており、その以外のDTCモジュールからのデータ転送要求が発生されていないため、DTCモジュール22−3によるデータ転送が許可されて実行される。
その後、タイミングkで、DTCモジュール22−3によるデータ転送が完了するが、タイミングnまでのデータ転送インターバルの期間(矢印で示す期間)はDTCモジュール22−3からのデータ転送要求は発生されない。また、DTCモジュール22−3よりも優先順位が下位にある他のDTCモジュールがないため、DTCバス調停回路24によって全てのデータ転送要求のマスクがクリアされる。
さらに、タイミングkで、DTCモジュール22−3によるデータ転送が完了した時点で、DTCモジュール22−0からのデータ転送要求のみが発生しており、他のDTCモジュールからのデータ転送要求が発生されていないため、DTCモジュール22−0によるデータ転送が許可されて実行される。
その後、タイミングmで、DTCモジュール22−0によるデータ転送が完了するが、タイミングpまでのデータ転送インターバルの期間(矢印で示す期間)はDTCモジュール22−0からのデータ転送要求は発生されない。また、DTCモジュール22ー0よりも優先順位が下位にある他のDTCモジュール22−1〜22−3からのデータ転送要求がなくなるまで、DTCバス調停回路24によって、DTCモジュール22−0から次のデータ転送要求が発生されることを抑制するため、タイミングsまでDTCモジュール22−0からのデータ転送要求がマスクされる。
さらに、タイミングmで、DTCモジュール22−0によるデータ転送が完了した時点で、DTCモジュール22−1からのデータ転送要求のみが発生されており、DTCモジュール22−1以外の他のDTCモジュールからのデータ転送要求が発生されていないため、DTCモジュール22−1によるデータ転送が許可されて実行される。
その後、タイミングoで、DTCモジュール22−1によるデータ転送が完了するが、タイミングrまでのデータ転送インターバルの期間(矢印で示す期間)はDTCモジュール22−1からのデータ転送要求は発生されない。また、DTCモジュール22−1よりも優先順位が下位である他のDTCモジュール22−2および22−3からのデータ転送要求がなくなるまで、DTCバス調停回路24によって、DTCモジュール22−1から次のデータ転送要求が発生されることを抑制するため、タイミングuまでDTCモジュール22−1からのデータ転送要求がマスクされる。
さらに、タイミングoで、DTCモジュール22−1によるデータ転送が完了した時点で、DTCモジュール22−2およびDTCモジュール22−3からのデータ転送要求が発生しているが、優先順位に従ってDTCモジュール22−2が優先され、DTCモジュール22−2によるデータ転送が許可されて実行される。
その後、タイミングqで、DTCモジュール22−2によるデータ転送が完了するが、タイミングtまでのデータ転送インターバルの期間(矢印で示す期間)はDTCモジュール22−2からのデータ転送要求は発生されない。また、DTCモジュール22−2よりも優先順位が下位にある他のDTCモジュール22−3からのデータ転送要求がなくなるまで、DTCバス調停回路24によって、DTCモジュール22−2から次のデータ転送要求が発生されることを抑制するため、DTCモジュール22−2からのデータ転送要求がマスクされる。
さらに、タイミングqで、DTCモジュール22−2によるデータ転送が完了した時点で、DTCモジュール22−3からのデータ転送要求のみが発生されており、DTCモジュール22−3以外の他のDTCモジュールからのデータ転送要求が発生されていないため、DTCモジュール22−3によるデータ転送が許可されて実行される。
その後、タイミングsで、DTCモジュール22−3によるデータ転送が完了するが、タイミングvまでのDMAインターバルの期間(矢印で示す期間)はDTCモジュール22−3からのデータ転送要求は発生されない。
さらに、タイミングsで、DTCモジュール22−3によるデータ転送が完了した時点で、DTCモジュール22−0からのデータ転送要求のみが発生されており、他のDTCモジュールからのデータ転送要求が発生されていないため、DTCモジュール22−0によるデータ転送が許可されて実行される。その後、タイミングuで、DTCモジュール22−0によるデータ転送が完了する。また、DTCモジュール22−0よりも優先順位が下位にある他のDTCモジュール22−1〜22−3からのデータ転送要求がなくなるまで、DTCバス調停回路24によって、DTCモジュール22−0から次のデータ転送要求が発生されることを抑制するため、DTCモジュール22−0からのデータ転送要求がマスクされる。
以上のように、本実施形態3のデータ転送装置3によれば、データ転送要求に対する許可が与えられたDTCモジュールによるデータ転送が完了した後に、次のデータ転送要求が行われるまでの間隔を示すデータ転送インターバルが設定され、さらに、DTCモジュール22−0よりも優先順位が下位にある他のDTCモジュールからのデータ転送要求が無くなるまで次のデータ転送要求の発生が抑制される。これにより、優先順位が最も高いDTCモジュール22−0によりデータバス21が占有され続けることなく、これよりも優先順位が低いDTCモジュール22−1およびDTCモジュール22−2によるデータ転送を実行することが可能とされ、さらに優先順位が低いDTCモジュール22−3によるデータ転送を実行することも可能となる。さらに、DTCモジュール22−3によるデータ転送を実行可能とするためにDMAインターバルを必要以上に大きく設定する必要がないため、各DTCモジュールにおいて必要に応じてデータ転送インターバルを設定することにより、各DTCモジュールによるデータ転送専用バス(データバス)の使用割合を必要に応じて調整することが可能になり、どのDTCモジュールからのデータ転送要求も発生しない無駄な期間が生じるという問題を防ぐことができる。
(実施形態4)
本実施形態4では、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからのDMA要求が全てなくなるまで、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールの中から、優先順位が最も高いDMAモジュールに許可を順次与えてそれぞれ実行させる場合について説明する。
図7は、本発明の実施形態4に係るDMA転送装置におけるデータバスの接続例を示すブロック図である。
図7において、本実施形態1のDMA転送装置4は、データバス11が複数のDMAモジュール12−0、12−1、・・・12−nと、制御手段としてのCPU13とに共有されており、各DMAモジュール12−0、12−1、・・・12−nからのDMA要求が競合した場合には、DMAバス調停回路14Bによって調停が行われ、CPU13からのバス要求とDMAモジュール12−0、12−1、・・・12−nのうちのいずれかからのバス要求が競合した場合には、バス調停回路15によって調停が行われて、CPU13またはDMAモジュール12−0、12−1、・・・12−nの一つがデータバス11のバスマスターとしてバス接続を許可され、そのCPU13またはDMAモジュール12−0、12−1、・・・12−nのいずれかがデータバス11に接続される。
さらに、データバス11には、スレーブブロックとして制御回路16、メモリ制御回路17および外部デバイス制御回路18が接続されており、上記バスマスターとしてデータバス11に接続されたCPU13またはDMAモジュール12−0、12−1、・・・12−nのうちのいずれかによって、制御回路16内に設けられたレジスタ16a、メモリ制御回路17内に設けられたレジスタ17a、メモリ制御回路18によって制御されるメモリ19,20、および外部デバイス制御回路18内に設けられたレジスタ18a間のデータ転送が制御されるように構成されている。
複数のDMAモジュール12−0、12−1、・・・、12−nおよびCPU13からは、それぞれのデータ転送が必要になったタイミングにおいて、データ転送要求が出力される。DMAバス調停回路14Bにおいては、複数のDMAモジュール12−0、12−1、・・・、12−nから出力される各データ転送要求(DMA要求)が調停され、DMAバス調停回路14Bからバス調停回路15に対して、データ転送を許可されたDMAモジュールからのデータ転送要求が出力される。
このバス調停回路15においては、DMAバス調停回路14Bからのデータ転送要求とCPU13からのバス要求とが調停され、複数のDMAモジュール12−0、12−1、・・・、12−nおよびCPU13のうち、バスマスターとしてデータ転送を許可されたものが、データバス11に接続されてアクセス可能とされる。
本実施形態1のDMA転送装置1においては、図13に示す従来のDMA転送装置100の場合と同様に、優先順位が最も高いモジュール12−0によりデータバス11が占有されることを回避するために、各DMAモジュール12−0、12−1、・・・、12−nのいずれかによるDMA転送完了後に次のDMA要求が行われるまでの間隔を示すDMAインターバルの期間が設定されている。例えば、DMAインターバル期間は、各DMAモジュール12−0、12−1、・・・、12−n内に設けられた記憶手段としてのレジスタ12−0b、12−1b、・・・、12−nbにそれぞれ設定されている。各DMAモジュール12−0、12−1、・・・、12−nからのDMA要求に対して、DMA転送が許可されてDMA転送の実行が完了された時点からDMAインターバルが経過されてから、次のDMA要求が発生される。
さらに、本実施形態4のDMA転送装置4においては、図13に示す従来のDMA転送装置100のように、所定期間のDMAインターバルが設定されても、さらに優先順位が低い例えばDMAモジュール102−3によるDMA転送を実行できず、DMAモジュール102−3によるDMA転送の実行を可能にするためにDMAインターバルが大きく設定した場合には、どのDMAモジュールからのDMA要求も発生しない無駄な期間が生じるという問題を解決するために、各DMAモジュール12−0、12−1、・・・、12−nからのDMA要求が競合した場合に、DMAバス調停回路14Bによって、優先順位が高いDMAモジュールからのDMA要求に対してDMA転送の許可が与えられ、許可が与えられたDMAモジュールによるDMA転送の完了後、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからの各DMA要求が全てなくなるまで、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールの中から、優先順位が高いDMAモジュールに許可が順次与えられて実行される。これにより、各DMAモジュール12−0、12−1、・・・、12−nによるデータバス11の使用割合が調整される。
つまり、DMAバス調停回路14Bによって、DMA転送が実行されて終了したDMAモジュールの番号が記憶手段としてのレジスタ14bに保存される。最後にDMA転送が実行されたDMAモジュールよりも優先順位が下位にある他のDMAモジュール(レジスタ14bに保存されたモジュール番号を基準にして次の番号から求められたDMAモジュール)からの各DMA要求の有無が調べられる。その最後にDMA転送が実行されたDMAモジュールよりも優先順位が下位にある他のDMAモジュールからの各DMA要求が全てなくなった時点で、最後にDMA転送が実行されたDMAモジュールの番号がリセットされ、最初の状態に戻る。
以下に、本実施形態4のDMA転送装置4におけるデータバス11の使用例について、図8のタイミングチャートを用いて説明する。
図8は、上記図7に示す本実施形態4のDMA転送装置4におけるデータバス11の使用例を説明するためのタイミングチャートである。なお、横軸は時間の経過を示し、各波形はDMAモジュール12−0〜12−3からのデータ転送要求(DMA要求)およびDMAモジュール12−0〜12−3によるデータ転送(DMA転送)の実行を示し、矢印はDMAインターバルの期間を示している。また、この事例では、DMAモジュールの優先順位は、DMAモジュール12−0を最も高くし、DMAモジュール12−3を最も低くしている。即ち、
DMAモジュール12−0 > DMAモジュール12−1 > DMAモジュール12−2 > DMAモジュール12−3
とされているものとする。
但し、DMA要求に対する許可が与えられたDMAモジュールによるDMA転送の完了後、DMAインターバル後に行われる次のDMA要求の発生が、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからの各DMA要求が全てなくなるまでDMA転送が順次実行されることにより、全てのDMAモジュールによるデータ転送が循環方式により実行される。
図8に示すように、まず、タイミングaで、DMAモジュール12−3からのデータ転送要求(DMA要求)が発生すると、他のDMAモジュール12−0〜12−2からのデータ転送要求は発生していないため、DMAモジュール12−3によるデータ転送(DMA転送)が許可されて実行される。このDMAモジュール12−3によるデータ転送実行中に、次のタイミングbで、DMAモジュール12−2からのデータ転送要求が発生され、さらに次のタイミングcで、DMAモジュール12−1からの転送要求が発生するが、DMAモジュール12−3によるデータ転送実行中であるため、データ転送実行が許可されずに待たされる。
次に、タイミングdで、DMAモジュール12−3によるデータ転送が完了するが、タイミングfまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール12−3からのデータ転送要求は発生されない。また、DMAモジュール12−3よりも優先順位が下位にある他のDMAモジュールがないため、DMAバス調停回路14Bによって、転送が完了したDMAモジュールよりも優先順位が下位にあるDMAモジュールを把握して調停する処理がリセットされて調停処理の対象が全DMAモジュールとなる。
さらに、タイミングdで、DMAモジュール12−3によるデータ転送が完了した時点で、DMAモジュール12−0、DMAモジュール12−1およびDMAモジュール12−2からの各データ転送要求が発生しているが、優先順位に従ってDMAモジュール12−0が他のものに優先され、DMAモジュール12−0からのデータ転送が許可されて実行される。
その後、タイミングeで、DMAモジュール12−0によるデータ転送が完了するが、タイミングhまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール12−0からのデータ転送要求は発生されない。また、DMAモジュール12−0よりも優先順位が下位にあって各DMA要求がある他のDMAモジュール12−1〜12−3からのDMA要求がなくなるまで、DMAバス調停回路14Bによって、DMA要求が発生しているDMAモジュール22−1およびDMAモジュール22−2の中から、優先順位に従ってDMAモジュール22−1が優先され、DMAモジュール22−1によるデータ転送が許可されて実行される。
その後、タイミングgで、DMAモジュール12−1によるデータ転送が完了するが、タイミングjまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール12−1からのデータ転送要求は発生されない。また、DMAモジュール12−1よりも優先順位が下位にあって各DMA要求がある他のDMAモジュール12−2および12−3からのデータ転送要求がなくなるまで、DMAバス調停回路14Bによって、DMA要求が発生しているDMAモジュール22−2およびDMAモジュール22−3の中から、優先順位に従ってDMAモジュール12−2が優先され、DMAモジュール12−2によるデータ転送が許可されて実行される。
その後、タイミングiで、DMAモジュール12−2によるデータ転送が完了するが、タイミングlまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール12−2からのデータ転送要求は発生されない。また、DTCバス調停回路14Bによって、DMAモジュール12−2よりも優先順位が下位にあって各DMA要求がある他のDMAモジュール12−3によるデータ転送が許可されて実行される。
その後、タイミングkで、DMAモジュール12−3によるデータ転送が完了するが、タイミングnまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール12−3からのデータ転送要求は発生されない。また、DMAモジュール12−3よりも優先順位が下位にある他のDMAモジュールがないため、DMAバス調停回路14Bによって、優先順位が下位にあるDMAモジュールを把握して調停する処理がリセットされて調停処理の対象が全DMAモジュールとなる。
さらに、タイミングkで、DMAモジュール12−3によるデータ転送が完了した時点で、DMAモジュール12−0、DMAモジュール12−1およびDMAモジュール12−2からの各データ転送要求が発生しているが、優先順位に従ってDMAモジュール12−0が他のものに優先され、DMAモジュール12−0からのデータ転送が許可されて実行される。
その後、タイミングmで、DMAモジュール12−0によるデータ転送が完了するが、タイミングpまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール12−0からのデータ転送要求は発生されない。また、DMAモジュール12−0よりも優先順位が下位にあって各DMA要求がある他のDMAモジュール12−1〜12−3からのデータ転送要求がなくなるまで、DMAバス調停回路14Bによって、優先順位に従ってDMAモジュール12−1が他のものに優先され、DMAモジュール12−1からのデータ転送が許可されて実行される。
その後、タイミングoで、DMAモジュール12−1によるデータ転送が完了するが、タイミングrまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール12−1からのデータ転送要求は発生されない。また、DMAモジュール12−1よりも優先順位が下位にあって各DMA要求がある他のDMAモジュール12−2および12−3からのデータ転送要求がなくなるまで、DMAバス調停回路14Bによって、DMAモジュール22−2およびDMAモジュール22−3の中から、優先順位に従ってDMAモジュール12−2が優先され、DMAモジュール12−2によるデータ転送が許可されて実行される。
その後、タイミングqで、DMAモジュール12−2によるデータ転送が完了するが、タイミングtまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール12−2からのデータ転送要求は発生されない。また、DMAモジュール12−2よりも優先順位が下位にあってDMA要求がある他のDMAモジュール12−3によるデータ転送が許可されて実行される。
その後、タイミングsで、DMAモジュール12−3によるデータ転送が完了するが、タイミングvまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール12−3からのデータ転送要求は発生されない。また、DMAモジュール12−3よりも優先順位が下位にある他のDMAモジュールがないため、DMAバス調停回路14Bによって全てのDMA要求のマスクがクリアされる。
さらに、タイミングsで、DMAモジュール12−3によるデータ転送が完了した時点で、DMAモジュール12−0、DMAモジュール12−1およびDMAモジュール12−2からの各データ転送要求が発生しているが、優先順位に従ってDMAモジュール12−0が他のものに優先され、DMAモジュール12−0からのデータ転送が許可されて実行される。その後、タイミングuで、DMAモジュール12−0によるデータ転送が完了する。また、DMAモジュール12−0よりも優先順位が下位にあってDMA要求がある他のDMAモジュール12−1〜12−3からのデータ転送要求がなくなるまで、DMAバス調停回路14Bによって、DMAモジュール12−1〜12−3の中から、優先順位に従ってDMAモジュール12−1が優先され、DMAモジュール12−1によるデータ転送が許可されて実行される。
以上のように、本実施形態4のDMA転送装置4によれば、DMA要求に対する許可が与えられたモジュールによるDMA転送が完了された後に、次のDMA要求が行われるまでの間隔を示すDMAインターバルの期間(矢印で示す期間)が設定され、さらに、DMAモジュール12−0よりも優先順位が下位にあってDMA要求がある他のDMAモジュールから、優先順位に従ったDMAモジュールが優先されて実行される。これによって、優先順位が最も高いDMAモジュール12−0によりデータバスが占有され続けることなく、これよりも優先順位が低いDMAモジュール12−1およびDMAモジュール12−2によるDMA転送を実行することが可能とされ、さらに優先順位が低いDMAモジュール12−3によるDMA転送を実行することも可能となる。さらに、特許文献1に開示されている従来技術のように、DMAモジュール12−3によるDMA転送を実行可能とするためにDMAインターバルを大きく設定する必要がない。よって、各DMAモジュールにおいて必要に応じてDMAインターバルを設定することにより、各DMAモジュールによるデータバスの使用割合を必要に応じて調整することが可能になり、どのDMAモジュールからのDMA要求も発生しない無駄な期間が生じるという問題を防ぐことができる。
(実施形態5)
本実施形態5では、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからのDMA要求が全てなくなるまで、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールの中から、優先順位が最も高いDMAモジュールに許可を順次与えてそれぞれ実行させ、さらに、該各DMAモジュールによるDMA転送が一巡した時点で該CPUからのバス要求がある場合に、該CPUの所定の該CPUサイクルの期間だけ該CPUによるデータ転送を許可して実行させる場合について説明する。
図9は、本発明の実施形態5に係るDMA転送装置におけるデータバスの接続例を示すブロック図である。なお、図3のDMA転送装置の作用効果と同一の作用効果を相する部材には同一の符号を付する。
図9において、本実施形態5のDMA転送装置5は、図3に示す実施形態2のDMA転送装置2の場合と同様に、データバス11が複数のDMAモジュール12−0、12−1、・・・、12−nおよびCPU13に共有されたDMA転送装置であって、各DMAモジュール12−0、12−1、・・・、12−nによるDMA転送完了後に次のDMA要求が行われるまでの間隔を示すDMAインターバルの期間が、各DMAモジュール12−0、12−1、・・・、12−n内に設けられたレジスタ12−0c、12−1c、・・・、12−ncに設定されている。
また、通常、CPU13からは、常にバス要求が出力されているが、各DMAモジュール12−0、12−1、・・・、12−nよりも優先順位が低く、CPU13によるデータ転送処理を実行可能なサイクルを明確に把握して要求することが困難であるため、本実施形態5のDMA転送装置5では、このCPUサイクルが、DMAバス調停回路14C内に設けられたレジスタ14cに設定されている。各DMAモジュール12−0、12−1、・・・、12−nからのDMA要求が競合した場合には、DMAバス調停回路14Cによって、優先順位が高いDMAモジュールからのDMA要求に対してDMA転送の許可が与えられ、許可が与えられたDMAモジュールによるDMA転送の完了後、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからの各DMA要求が全てなくなるまで、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールの中から、優先順位が最も高いDMAモジュールに許可が順次与えられて実行される。このようにして、各DMAモジュール12−0、12−1、・・・、12−nによるDMA転送の実行が一巡した時点で、CPU13からのバス要求がある場合には、CPUサイクルの期間だけ、CPU13によるデータ転送が許可されて実行される。これにより、各DMAモジュール12−0、12−1、・・・、12−nによるデータバス11の使用割合が調整される。
つまり、DMAバス調停回路14Cによって、DMA転送が実行されて終了したDMAモジュールの番号が記憶手段としてのレジスタ14cに保存される。最後にDMA転送が実行されたDMAモジュールよりも優先順位が下位にある他のDMAモジュール(レジスタ14cに保存されたモジュール番号を基準にして次の番号から求められたDMAモジュール)からの各DMA要求の有無が調べられる。その最後にDMA転送が実行されたDMAモジュールよりも優先順位が下位にある他のDMAモジュールからの各DMA要求が全てなくなった時点で、最後にDMA転送が実行されたDMAモジュールの番号がリセットされ、最初の初期状態に戻る。
以下に、本実施形態5のDMA転送装置5におけるデータバス11の使用例について、図10のタイミングチャートを用いて説明する。
図10は、上記図9に示す本実施形態5のDMA転送装置5におけるデータバスの使用例を説明するためのタイミングチャートである。なお、横軸は時間の経過を示し、各波形はDMAモジュール12−0〜12−2からのデータ転送要求(DMA要求)とCPU13からのバス要求(CPU要求)およびDMAモジュール12−0〜12−2によるデータ転送(DMA転送)とCPU13によるデータ転送の実行を示し、矢印はDMAインターバルの期間(実線の矢印)およびCPUサイクルの期間(点線の矢印)を示している。
ここでは、DMAモジュール12−0〜12−2およびCPU13の優先順位は、DMAモジュール12−0の優先順位が最も高く、CPU13の優先順位が最も低く設定されている。即ち、
DMAモジュール12−0 > DMAモジュール12−1 > DMAモジュール12−2 > CPU13
とされているものとする。
但し、DMA要求に対する許可が与えられたDMAモジュールによるDMA転送の完了後、DMAインターバル後に行われる次のDMA要求の発生が、優先順位がより低い他のDMAモジュールからのDMA要求が全てなくなるまで、許可が与えられたDMAモジュールよりも優先順位が下位にある他のDMAモジュールから、優先順位が高いDMAモジュールに許可が与えられる。全ての各DMAモジュール12−0〜12−2によるデータ転送が循環方式により実行される。さらに、各DMAモジュール12−0〜12−2によるDMA転送が一巡した後に、CPU13によるデータ転送が実行される。
図10に示すように、まず、タイミングaで、CPU13からのデータ転送要求(バス要求)が発生すると、他のDMAモジュール12−0〜12−2からのデータ転送要求が発生されていないため、CPU13によるデータ転送が許可されて実行される。CPU13によるデータ転送実行中に、タイミングbで、DMAモジュール12−2からのデータ転送要求(DMA要求)が発生し、タイミングcで、DMAモジュール12−1からのデータ転送要求が発生するが、タイミングdまではCPUサイクルの期間であるため、データ転送実行が許可されずに待たされる。
次に、タイミングdで、CPU13によるデータ転送が完了するが、CPU13よりも優先順位が下位にある他のDMAモジュールがないため、DMAバス調停回路14Cによって、優先順位が下位にあるDMAモジュールを把握する処理がリセットされる。
このCPU13からのデータ転送が完了した時点で、DMAモジュール12−0、DMAモジュール12−1、DMAモジュール12−2からのデータ転送要求が発生しているが、優先順位に従ってDMAモジュール12−0が優先され、DMAモジュール12−0からのデータ転送が許可されて実行される。
その後、タイミングeで、DMAモジュール12−0によるデータ転送が完了するが、タイミングhまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール12−0からのデータ転送要求は発生されない。また、DMAモジュール12−0よりも優先順位が下位にあって各DMA要求がある他のDMAモジュール12−1〜12−3から、 優先順位に従ってDMAモジュール12−1が優先され、DMAモジュール12−1によるデータ転送が許可されて実行される。
その後、タイミングgで、DMAモジュール12−1によるデータ転送が完了するが、タイミングjまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール12−1からのデータ転送要求は発生されない。また、DMAモジュール12−1よりも優先順位が下位にあって各DMA要求がある他のDMAモジュール12−2が優先され、DMAモジュール12−2によるデータ転送が許可されて実行される。
その後、タイミングiでDMAモジュール12−2によるデータ転送が完了するが、タイミングlまでのDMAインターバルの期間(矢印で示す期間)は、DMAモジュール12−2からのデータ転送要求は発生されない。また、DMAモジュール12−2よりも優先順位が下位にある他のDMAモジュールがなく、CPU13からのDMA要求がある場合、所定のCPUサイクルの期間だけ、CPU13によるデータ転送が許可されて実行される。
さらに、タイミングkで、CPU13によるデータ転送が完了するが、CPU13よりも優先順位が下位にある他のDMAモジュールがないため、DMAバス調停回路14Cによって、優先順位が下位にあるDMAモジュールなどを把握する処理がリセットされる。
タイミングkで、優先順位の最も低いCPUサイクルの期間が完了すると、DMAモジュール12−0、DMAモジュール12−1およびDMAモジュール12−2からの各データ転送要求が発生しているが、DMAバス調停回路14Cによって、優先順位に従ってDMAモジュール12−0が他のものに優先され、DMAモジュール12−0からのデータ転送が許可されて実行される。
その後、タイミングmで、DMAモジュール12−0によるデータ転送が完了するが、タイミングpまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール12−0からのデータ転送要求は発生されない。また、DMAモジュール12−0よりも優先順位が下位にあって各DMA要求がある他のDMAモジュール12−1および12−2から、優先順位に従ってDMAモジュール12−1が他のものに優先され、DMAモジュール12−1からのデータ転送が許可されて実行される。
その後、タイミングoで、DMAモジュール12−1によるデータ転送が完了するが、タイミングrまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール12−1からのデータ転送要求は発生されない。また、DMAモジュール12−1よりも優先順位が下位にあって各DMA要求がある他のDMAモジュール12−2からのデータ転送が許可されて実行される。
その後、タイミングqで、DMAモジュール12−2によるデータ転送が完了するが、タイミングtまでのDMAインターバルの期間(矢印で示す期間)はDMAモジュール12−2からのデータ転送要求は発生されない。また、DMAモジュール12−2よりも優先順位が下位の他のDMAモジュールはなく、DMAバス調停回路14Cによって、CPU13からのDMA要求がある場合、所定のCPUサイクルの期間だけ、CPU13によるデータ転送が許可されて実行される。
その後、タイミングsでCPUサイクルの期間が完了すると、CPU13よりも優先順位が下位にある他のDMAモジュールなどがないため、DMAバス調停回路14Cによって、優先順位が下位にあるDMAモジュールなどを把握する処理がリセットされる。
タイミングsで、CPU13によるデータ転送が完了した時点で、DMAモジュール12−0および12−1、およびCPU13からの各データ転送要求が発生しているが、優先順位に従ってDMAモジュール12−0が優先され、DMAモジュール12−0によるデータ転送が許可されて実行される。その後、タイミングuで、DMAモジュール12−0によるデータ転送が完了される。
以上のように、本実施形態5のDMA転送装置5によれば、DMA要求に対する許可が与えられたDMAモジュールによるDMA転送が完了した後に、次のDMA要求が行われるまでの間隔を示すDMAインターバル(図10で矢印で示す期間)が設定され、さらに、DMAモジュール12−0よりも優先順位が下位にあってDMA要求がある他のDMAモジュールから、優先順位に従ったDMAモジュールが優先されて実行される。これによって、優先順位が最も高いDMAモジュール12−0によりデータバスが占有され続けることなく、これよりも優先順位が低いDMAモジュール12−1およびDMAモジュール12−2によるDMA転送を実行することが可能となる。さらに、優先順位が低いDMAモジュールによるDMA転送を実行可能とするためにDMA転送を実行可能とするためにDMAインターバルを大きく設定する必要がないため、各DMAモジュールにおいて必要に応じてDMAインターバルを設定することにより、各DMAモジュールによるデータバスの使用割合を必要に応じて調整することが可能になり、どのDMAモジュールからのDMA要求も発生しない無駄な期間が生じるという問題を防ぐことができる。さらに、CPU13によるデータ転送処理を実行可能なCPUサイクルが設定されるため、CPUサイクルを明確に把握してDMAバス調停回路14Cに要求することが可能になる。
(実施形態6)
本実施形態6では、各データ転送モジュールからのデータ転送要求が競合した場合に、データ転送バス調停手段によって、優先順位が高いデータ転送モジュールからのデータ転送要求に対してデータ転送の許可が与えられ、許可が与えられたデータ転送モジュールによるデータ転送の完了後、データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールからの各データ転送要求が全てなくなるまで、データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールの中から、優先順位が最も高いデータ転送モジュールに許可が順次与えられてそれぞれ実行される場合について説明する。
図11は、本発明の実施形態6に係るデータ転送装置におけるデータバスの接続例を示すブロック図である。
図11において、本実施形態6のデータ転送装置6は、CPUに接続されていないデータ転送専用バスであるデータバス21が複数のDTC(データ転送回路)モジュール22−0、22−1、・・・、22−n(nは0以上の整数)に共有されており、各DTCモジュール22−0、22−1、・・・、22−nからのデータ転送要求が競合した場合には、DTCバス調停回路24によって調停が行われて、各DTCモジュール22−0、22−1、・・・、22−nのうちの一つがデータ転送専用バス21にバス接続を許可されて接続される。
また、データ転送専用バスのデータバス21には、前述した通り、制御回路16、メモリ制御回路17および外部デバイス制御回路18が接続されており、データ転送専用バス21に接続された上記各DTCモジュール22−0、22−1、・・・、22−nによって、制御回路16内に設けられたレジスタ16a、メモリ制御回路17に設けられたレジスタ17a、メモリ制御回路17によって制御されるメモリ19,20、および外部デバイス制御回路18内に設けられたレジスタ18aとの間のデータ転送が制御されるように構成されている。
複数のDTCモジュール22−0、22−1、・・・、22−nからは、それぞれのデータ転送が必要になったタイミングにおいて、データ転送要求が出力される。DTCバス調停回路24においては、複数のDTCモジュール22−0、22−1、・・・、22−nの複数から出力される各データ転送要求が調停され、複数のDTCモジュール22−0、22−1、・・・、22−nのうち、データ転送を許可されたものが、データバス21を介してアクセス可能とされる。
本実施形態6のデータ転送装置6では、優先順位が高いデータ転送モジュールによりデータバス21が占有され続けることを回避するために、各DMAモジュール22−0、22−1、・・・、22−nのいずれかによるデータ転送完了後に次のデータ転送要求が行われるまでの間隔を示すデータ転送インターバルの期間(図12の矢印で示す期間)が設定されている。例えば、データ転送インターバル期間は、各DMAモジュール22−0、22−1、・・・、22−n内にそれぞれ設けられた各レジスタ22−0a、22−1a、・・・、22−naにそれぞれ設定されている。各DTCモジュール22−0、22−1、・・・、22−nからのデータ転送要求に対して、データ転送が許可されてデータ転送の実行が完了した時点からのデータ転送インターバルが経過してから、次のDMA要求が発生される。
前述したように、従来は、データ転送インターバルが設定されても、さらに優先順位が低いDTCモジュールによるデータ転送を実行できず、そのDTCモジュールによるデータ転送の実行を可能にするためにDTCインターバルが大きく設定された場合にはどのDTCモジュールからのデータ転送要求も発生しない無駄な期間が生じる。これを解決するために、本実施形態6のデータ転送装置6では、各DTCモジュール22−0、22−1、・・・、22−nから複数のDTC要求が競合した場合に、DTCバス調停回路24によって、優先順位が高いDTCモジュールからのデータ転送要求に対してデータ転送の許可が与えられ、許可が与えられたDTCモジュールによるデータ転送の完了後、データ転送が完了したDTCモジュールよりも優先順位が下位にある他のDTCモジュールからの各DTC要求が全てなくなるまで、許可が与えられたDTCモジュールよりも優先順位が下位にある他のDTCモジュールの中から、優先順位が最も高いDTCモジュールに許可が順次与えられてそれぞれ実行される。これにより、各DTCモジュール22−0、22−1、・・・、22−nによるデータバス21の使用割合が必要に応じて調整される。
つまり、DTCバス調停回路24Aによって、DTC転送が実行されて終了したDTCモジュールの番号が記憶手段としてのレジスタ24bに保存される。最後にDTC転送が実行されたDTCモジュールよりも優先順位が下位にある他のDTCモジュール(レジスタ24bに保存されたモジュール番号を基準にして次の番号から求められたDTCモジュール)からの各DTC要求の有無が調べられる。その最後にDTC転送が実行されたDTCモジュールよりも優先順位が下位にある他のDTCモジュールからの各DTC要求が全てなくなった時点で、最後にDTC転送が実行されたDTCモジュールの番号がリセットされ、最初の初期状態に戻る。
以下に、本実施形態6のデータ転送装置6におけるデータ転送専用バス(データバス21)の使用例について、図12のタイミングチャートを用いて説明する。
図12は、図11に示す本実施形態6のデータ転送装置6におけるデータ転送専用バス(データバス21)の使用例を説明するためのタイミングチャートである。なお、横軸は時間の経過を示し、各波形はDTCモジュール22−0〜22−3からのデータ転送要求(DTC要求)およびDTCモジュール22−0〜22−3によるデータ転送(DTC転送)の実行を示し、矢印はデータ転送インターバルの期間を示している。
この事例では、各DTCモジュール22−0〜22−3の優先順位は、DTCモジュール22−0の優先順位が最も高く、DTCモジュール22−3の優先順位が最も低い。即ち、
DTCモジュール22−0 > DTCモジュール22−1 > DTCモジュール22−2 > DTCモジュール22−3
とされているものとする。
但し、データ転送要求に対する許可が与えられた各DTCモジュールによるデータ転送の完了後、データ転送インターバル後に行われる次のデータ転送要求の発生が、DTC転送が完了したDTCモジュールよりも優先順位が下位にある他のDTCモジュールからの各DTC要求が全てなくなるまでDTC転送が順次実行されることにより、全てのDTCモジュールによるデータ転送が循環方式により実行される。
図12に示すように、まず、タイミングaで、DTCモジュール22−3からのデータ転送要求が発生すると、他のDTCモジュール22−0〜22−2からのデータ転送要求が発生していないため、DTCモジュール22−3によるデータ転送が許可されて実行される。DTCモジュール22−3によるデータ転送実行中に、タイミングbで、DTCモジュール22−2からのデータ転送要求が発生し、タイミングcで、DTCモジュール22−1からの転送要求が発生するが、DTCモジュール22−3によるデータ転送実行中であるため、データ転送実行が許可されずに待たされる。
次に、タイミングdで、DTCモジュール22−3によるデータ転送が完了するが、タイミングfまでのデータ転送インターバルの期間(矢印で示す期間)はDTCモジュール22−3からのデータ転送要求は発生されない。また、DTCモジュール22−3よりも優先順位が下位にある他のDTCモジュールがないため、DTCバス調停回路24Aによって、転送が完了したDTCモジュールよりも優先順位が下位にあるDTCモジュールを把握し、その中から調停する処理がリセットされて調停処理の対象が全DMAモジュールとなる。
さらに、タイミングdで、DTCモジュール22−0、DTCモジュール22−1およびDTCモジュール22−2からのデータ転送要求がそれぞれ発生しているが、優先順位に従ってDTCモジュール22−0が優先され、DTCモジュール22−0からのデータ転送が許可されて実行される。
その後、タイミングeで、DTCモジュール22−0によるデータ転送が完了するが、タイミングhまでのデータ転送インターバルの期間(矢印で示す期間)はDTCモジュール22−0からのデータ転送要求は発生されない。また、DTCモジュール22−0よりも優先順位が下位にあってDTC要求がある他のDTCモジュール22−1〜22−3からのDTC要求がなくなるまで、DTCバス調停回路24Aによって、DTC要求が発生しているDTCモジュール22−1およびDTCモジュール22−2の中から、優先順位に従ってDTCモジュール22−1が優先され、DTCモジュール22−1によるデータ転送が許可されて実行される。
その後、タイミングgで、DTCモジュール22ー1によるデータ転送が完了するが、タイミングjまでのデータ転送インターバルの期間(矢印で示す期間)はDTCモジュール22−1からのデータ転送要求は発生されない。また、DTCモジュール22−1よりも優先順位が下位にあって各DTC要求がある他のDTCモジュール22−2および22−3からのデータ転送要求がなくなるまで、DTCバス調停回路24Aによって、DTC要求が発生しているDTCモジュール22−2およびDTCモジュール22−3の中から、優先順位に従ってDTCモジュール22−2が優先され、DTCモジュール22−2によるデータ転送が許可されて実行される。
その後、タイミングiで、DTCモジュール22−2によるデータ転送が完了するが、タイミングlまでのDTCインターバルの期間(矢印で示す期間)はDTCモジュール22−2からのデータ転送要求は発生されない。また、DTCバス調停回路24Aによって、DTCモジュール12−2よりも優先順位が下位にあって各DTC要求がある他のDTCモジュール22−3によるデータ転送が許可されて実行される。
その後、タイミングkで、DTCモジュール22−3によるデータ転送が完了するが、タイミングnまでのデータ転送インターバルの期間(矢印で示す期間)はDTCモジュール22−3からのデータ転送要求は発生されない。また、DTCモジュール12−3よりも優先順位が下位にある他のDTCモジュールがないため、DTCバス調停回路24Aによって、優先順位が下位にあるDTCモジュールを把握して調停する処理がリセットされて調停処理の対象が全DTCモジュールとなる。
さらに、タイミングkで、DTCモジュール22−3によるデータ転送が完了した時点で、DTCモジュール22−0からのデータ転送要求のみが発生しており、他のDTCモジュールからのデータ転送要求が発生されていないため、DTCモジュール22−0によるデータ転送が許可されて実行される。
その後、タイミングmで、DTCモジュール22−0によるデータ転送が完了するが、タイミングpまでのデータ転送インターバルの期間(矢印で示す期間)はDTCモジュール22−0からのデータ転送要求は発生されない。また、また、DTCモジュール22ー0よりも優先順位が下位であって各DTC要求がある他のDTCモジュール22−1〜22−3からのデータ転送要求がなくなるまで、DTCバス調停回路24Aによって、優先順位に従ってDMAモジュール12−1が他のものに優先され、DMAモジュール12−1からのデータ転送が許可されて実行される。
その後、タイミングoで、DTCモジュール22−1によるデータ転送が完了するが、タイミングrまでのデータ転送インターバルの期間(矢印で示す期間)はDTCモジュール22−1からのデータ転送要求は発生されない。また、DTCモジュール22−1よりも優先順位が下位であって各DMA要求がある他のDTCモジュール22−2および22−3からのデータ転送要求がなくなるまで、DTCバス調停回路24Aによって、DTCモジュール22−2およびDTCモジュール22−3の中から、優先順位に従ってDTCモジュール22−2が優先され、DTCモジュール22−2によるデータ転送が許可されて実行される。
その後、タイミングqで、DTCモジュール22−2によるデータ転送が完了するが、タイミングtまでのデータ転送インターバルの期間(矢印で示す期間)はDTCモジュール22−2からのデータ転送要求は発生されない。また、DTCモジュール22−2よりも優先順位が下位であってDMA要求がある他のDTCモジュール22−3によるデータ転送が許可されて実行される。
その後、タイミングsで、DTCモジュール22−3によるデータ転送が完了するが、タイミングvまでのDMAインターバルの期間(矢印で示す期間)はDTCモジュール22−3からのデータ転送要求は発生されない。
さらに、タイミングsで、DTCモジュール22−3によるデータ転送が完了した時点で、DTCモジュール22−0および22−1からのデータ転送要求が発生しており、その他のDTCモジュールからのデータ転送要求が発生されていないため、DTCモジュール22−0によるデータ転送が許可されて実行される。その後、タイミングuで、DTCモジュール22−0によるデータ転送が完了する。また、DTCモジュール22−0よりも優先順位が下位であってDTC要求のある他のDTCモジュール22−1〜22−3からのデータ転送要求がなくなるまで、DTCバス調停回路24Aによって、DTCモジュール12−1〜12−3の中から、優先順位に従ってDTCモジュール12−1が優先され、DTCモジュール12−1によるデータ転送が許可されて実行される。
以上のように、本実施形態6のデータ転送装置6によれば、データ転送要求に対する許可が与えられたDTCモジュールによるデータ転送が完了した後に、次のデータ転送要求が行われるまでの間隔を示すデータ転送インターバルが設定され、さらに、さらにそのDTCモジュールよりも優先順位が下位にある他のDTCモジュールからのデータ転送要求が無くなるまで、それよりも優先順位が下位にある他のDTCモジュールから、優先順位に従ったDMAモジュールが優先されて実行される。これにより、優先順位が最も高いDTCモジュール22−0によりデータバス21が占有され続けることなく、これよりも優先順位が低いDTCモジュール22−1およびDTCモジュール22−2によるデータ転送を実行することが可能とされ、さらに優先順位が低いDTCモジュール22−3によるデータ転送をも実行することも可能となる。さらに、DTCモジュール22−3によるデータ転送を実行可能とするためにDMAインターバルを必要以上に大きく設定する必要がないため、各DTCモジュールにおいて必要に応じてデータ転送インターバルを設定することにより、各DTCモジュールによるデータ転送専用バス(データバス)の使用割合を必要に応じて調整することが可能になり、どのDTCモジュールからのデータ転送要求も発生しない無駄な期間が生じるという問題を防ぐことができる。
したがって、上記実施形態1〜6によれば、各モジュールによる転送完了後に次の転送要求が行われるまでの間隔を示すインターバルの期間が、各モジュール内のレジスタに設定されている。各モジュールからの転送要求が競合した場合には、優先順位が最も高いモジュールからの転送要求に対して転送許可が与えられ、そのデータ転送の完了後、次の転送要求の発生が、他のモジュールからのDMA要求が全てなくなるまで抑制されるか、または、そのデータ転送の完了後、データ転送が完了したモジュールよりも優先順位が下位にある他のモジュールの中から、優先順位が最も高いモジュールに許可が順次与えられる。これによって、複数のモジュールによりデータバスが共有されたDMA転送装置またはDTC転送装置において、より効率良くデータ転送を行い、特定のモジュールによりデータバスが占有され続けることによって生じる不整合を確実に回避することができる。
なお、上記実施形態1、2では、次のDMA要求の抑制は、DMAモジュールからのDMA要求を当該DMA要求がなかったようにマスクする場合について説明したが、これに限らず、次のDMA要求の抑制は、DMAモジュールからのDMA要求の発生を停止させるように制御してもよい。また、上記実施形態3では、次のデータ転送要求の抑制は、データ転送モジュールからのデータ転送要求を当該データ転送要求がなかったようにマスクする場合について説明したが、これに限らず、次のデータ転送要求の抑制は、データ転送モジュールからのデータ転送要求の発生を停止させるように制御してもよい。
なお、上記実施形態1、2では、DMA転送の完了後で次のDMA要求の抑制前に、DMA要求が行われないDMAインターバルの期間が別途設けられている場合について説明したが、これに限らず、DMAインターバルの期間が別途設けられていない場合もあり得る。また、上記実施形態4、5では、DMA転送の完了後に、次のDMA要求までにDMA要求が行われないDMAインターバルの期間が別途設けられている場合について説明したが、これに限らず、DMAインターバルの期間が別途設けられていない場合もあり得る。この期間に関する情報は、DMAモジュール毎に設けられた第1記憶手段内にそれぞれ記憶されて設定されている。
また、上記実施形態3では、データ転送の完了後で次のデータ転送要求の抑制前に、データ転送要求が行われないデータ転送インターバルの期間が別途設けられている場合について説明したが、これに限らず、DMAインターバルの期間が別途設けられていない場合もあり得る。また、上記実施形態6では、データ転送の完了後に、次のDMA要求までにデータ転送要求が行われないデータ転送インターバルの期間が別途設けられている場合について説明したが、これに限らず、DMAインターバルの期間が別途設けられていない場合もあり得る。この期間に関する情報は、データ転送モジュール毎に設けられた第4記憶手段内にそれぞれ記憶されて設定されている。
なお、上記実施形態1〜6では、特に説明しなかったが、DMAバス調停14は、DMA要求の競合時に、各DMAモジュールのうちの優先順位が高いDMAモジュールからのDMA要求に対してDMA転送の許可を与え、DMA転送が完了した後に、このDMAモジュールからの次のDMA要求が、DMA転送が完了したDMAモジュール以外の他のDMAモジュールからのDMA要求が全てなくなるまでの期間だけ抑制される。または、DMAバス調停14は、DMA要求の競合時に、各DMAモジュールのうちの優先順位が高いDMAモジュールからのDMA要求に対してDMA転送の許可を与え、DMA転送が完了した後に、このDMAモジュールからの次のDMA要求が、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからのDMA要求が全てなくなるまでの期間だけ抑制される。
また、DMAバス調停回路14Aは、DMA要求の競合時に、各DMAモジュールのうちの優先順位が高いDMAモジュールからのDMA要求に対してDMA転送の許可を与え、DMA転送が完了した後に、このDMAモジュールからの次のDMA要求が、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからのDMA要求が全てなくなるまでの期間だけ抑制され、さらに、各DMAモジュールによるDMA転送が一巡した時点で該CPUからのバス要求がある場合に、CPUの所定のCPUサイクルの期間だけ、次のDMA要求が抑制される。
さらに、データ転送バス調停回路24は、データ転送要求の競合時に、各データ転送モジュールのうちの優先順位が高いデータ転送モジュールからのデータ転送要求に対してデータ転送の許可を与え、データ転送が完了した後に、このデータ転送モジュールからの次のデータ転送要求が、データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールからのデータ転送要求が全てなくなるまでの期間だけ抑制される。
さらに、DMAバス調停回路14Bは、DMA要求の競合時に、各データ転送モジュールのうちの優先順位が高いデータ転送モジュールからのデータ転送要求に対してデータ転送の許可を与え、データ転送が完了した後に、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからのDMA要求が全てなくなるまで、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールの中から、優先順位が最も高いDMAモジュールに許可を順次与えてそれぞれ実行させる。
さらに、DMAバス調停回路14Cは、DMA要求の競合時に、各DMAモジュールのうちの優先順位が高いDMAモジュールからのDMA要求に対してDMA転送の許可を与え、DMA転送が完了した後に、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからのDMA要求が全てなくなるまで、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールの中から、優先順位が最も高いDMAモジュールに許可を順次与えてそれぞれ実行させ、さらに、各DMAモジュールによるDMA転送が一巡した時点で該CPUからのバス要求がある場合に、CPUの所定の該CPUサイクルの期間だけ該CPUによるデータ転送を許可して実行させる。
さらに、データ転送バス調停回路24Aは、データ転送要求の競合時に、各データ転送モジュールのうちの優先順位が高いデータ転送モジュールからのデータ転送要求に対してデータ転送の許可を与え、該データ転送が完了した後に、データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールからのデータ転送要求が全てなくなるまで、データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールの中から、優先順位が最も高いデータ転送モジュールに許可が順次与えられてそれぞれ実行される。
以上のいずれのDMAバス調停回路においても、より効率良くデータ転送を行い、特定のモジュールによりデータバスが占有され続けることによって生じる不整合を回避することができ、しかも、そのモジュールよりも優先順位が低いCPUによるデータ転送処理を実行可能するサイクルをも明確に把握して要求できる本発明の目的を達成することができる。また、以上のいずれのデータ転送バス調停回路においても、CPUが接続されないデータ転送専用バスを複数のデータ転送モジュールにより共有する場合に、特定のモジュールによりデータ転送専用バスが占有され続けることによって生じる不整合を回避できる本発明の目的を達成することができる。
なお、上記実施形態1、2、4および5では、特に説明しなかったが、DMA転送が完了したDMAモジュールに関する情報が、DMAバス調停回路に設けられたレジスタなどの第2記憶手段内にそれぞれ記憶されて設定される。DMA転送が完了したDMAモジュール以外の他のDMAモジュールは、第2記憶手段に前記DMAモジュールに関する情報として記憶されたモジュール番号以外のDMAモジュールである。また、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールは、第2記憶手段にDMAモジュールに関する情報として記憶されたモジュール番号を基準にして次の番号以降のDMAモジュールである。
また、上記実施形態3、6では、特に説明しなかったが、データ転送が完了したデータ転送モジュールに関する情報が、データ転送バス調停回路に設けられた第5記憶手段内にそれぞれ記憶されて設定される。データ転送が完了したデータ転送モジュール以外の他のデータ転送モジュールは、第5記憶手段にデータ転送モジュールに関する情報として記憶されたモジュール番号以外のデータ転送モジュールである。また、データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールは、第5記憶手段にデータ転送モジュールに関する情報として記憶されたモジュール番号を基準にして次の番号以降のデータ転送モジュールである。
以上のように、本発明の好ましい実施形態1〜6を用いて本発明を例示してきたが、本発明は、この実施形態1〜6に限定して解釈されるべきものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態1〜6の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。本明細書において引用した特許、特許出願および文献は、その内容自体が具体的に本明細書に記載されているのと同様にその内容が本明細書に対する参考として援用されるべきであることが理解される。
本発明は、例えば携帯型ゲーム機などのように複数種類のデータを扱う電子機器において、DMA(ダイレクト・メモリ・アクセス)転送によりCPU(中央演算処理装置)を介さずにデータ転送を可能とするために、複数のモジュールからのDMA要求を調停し、特定のモジュールに対してバスを使用する許可を与えてDMA転送を行うDMA転送装置および、CPUが接続されないデータ転送専用バスに接続され、複数のデータ転送モジュールからのデータ転送要求を調停し、特定のモジュールにバスを使用する許可を与えてデータ転送を行うデータ転送装置の分野において、DMA要求に対する許可が与えられたモジュールのDMA転送が完了した後に、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからのDMA要求が無くなるまで次のDMA要求の発生が抑制される。または、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからのDMA要求が全てなくなるまで、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールの中から、優先順位が最も高いDMAモジュールに許可を順次与えてそれぞれ実行させる。このため、優先順位が高いDMAモジュールによりデータバスが占有されず、優先順位が低いDMAモジュールによりDMA転送を実行することが可能とされる。これにより、特許文献1に開示されている従来技術のようにDMAインターバルを大きく設定する必要がなく、各モジュールによるデータバスの使用割合を必要に応じて調整することができる。
また、DMA要求に対する許可が与えられたモジュールのDMA転送が完了した後に、他のDMAモジュールからのDMA要求およびCPUからのバス要求が無くなるまで次のDMA要求の発生が抑制され、各DMAモジュールによるDMA転送が一巡した時点で、CPUからのバス要求がある場合に、CPUによる転送処理を実行可能な期間を示すCPUサイクルの期間だけ、次のDMA要求の発生が抑制される。または、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからのDMA要求が全てなくなるまで、DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールの中から、優先順位が最も高いDMAモジュールに許可を順次与えてそれぞれ実行させ、さらに、各DMAモジュールによるDMA転送が一巡した時点でCPUからのバス要求がある場合に、CPUの所定のCPUサイクルの期間だけCPUによるデータ転送を許可して実行させる。これにより、各DMAモジュールおよびCPUによるデータバスの使用割合を必要に応じて調整することが可能になり、CPUにより転送処理を実行可能なサイクルを明確に把握して要求することができる。
さらに、データ転送要求に対する許可が与えられたモジュールのデータ転送が完了した後に、他のデータ転送モジュールからのデータ転送要求が無くなるまで次のデータ転送要求の発生が抑制されるため、優先順位が高いデータ転送モジュールによりデータ転送専用バスが占有されず、優先順位が低いデータ転送モジュールによりデータ転送を実行することが可能とされる。または、データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールからのデータ転送要求が全てなくなるまで、データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールの中から、優先順位が最も高いデータ転送モジュールに許可を順次与えてそれぞれ実行させる。これにより、特許文献1に開示されている従来技術のようにデータ転送インターバルを大きく設定する必要がなく、各モジュールによるデータ転送専用バスの使用割合を必要に応じて調整することができる。
本発明の実施形態1に係るDMA転送装置におけるデータバスの接続例を示すブロック図である。 図1のDMA転送装置によるデータバスの使用例を説明するためのタイミングチャートである。 本発明の実施形態2に係るDMA転送装置におけるデータバスの接続例を示すブロック図である。 図3のDMA転送装置によるデータバスの使用例を説明するためのタイミングチャートである。 本発明の実施形態3に係るデータ転送装置におけるデータ転送専用バスの接続例を示すブロック図である。 図5のデータ転送装置によるデータ転送専用バスの使用例を説明するためのタイミングチャートである。 本発明の実施形態4に係るDMA転送装置におけるデータバスの接続例を示すブロック図である。 図7のDMA転送装置によるデータバスの使用例を説明するためのタイミングチャートである。 本発明の実施形態5に係るDMA転送装置におけるデータバスの接続例を示すブロック図である。 図9のDMA転送装置によるデータバスの使用例を説明するためのタイミングチャートである。 本発明の実施形態6に係るデータ転送装置におけるデータ転送専用バスの接続例を示すブロック図である。 図11のデータ転送装置によるデータ転送専用バスの使用例を説明するためのタイミングチャートである。 従来のDMA転送装置におけるデータバスの接続例を示すブロック図である。 図13の従来のDMA転送装置を、DMA要求間隔(DMAインターバル)を設定する特許文献1のバス制御方法に適用した場合の使用例を説明するためのタイミングチャートである。
符号の説明
1,2,4,5 DMA転送装置
3,6 DTC転送装置
11,21 データバス
12−0、12−1、・・・12−n DMAモジュール
12−0a、12−1a、・・・12−na レジスタ
12−0b、12−1b、・・・12−nb レジスタ
12−0c、12−1c、・・・12−nc レジスタ
13 CPU(中央演算処理装置)
14,14A,14B,14C,24,24A DMAバス調停回路
14a、14b,14c,24a レジスタ
15 バス調停回路
16 制御回路
16a,17a,18a レジスタ
17 メモリ制御回路
18 外部デバイス制御回路
19,20 メモリ

Claims (28)

  1. データバスが複数のDMA(ダイレクト・メモリ・アクセス)モジュールに共有され、該複数のDMAモジュールのうちの各DMAモジュールからのDMA要求が競合した場合にDMAバス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたDMAモジュールがデータバスに接続されるDMA転送装置において、
    該DMAバス調停手段は、該DMA要求の競合時に、該各DMAモジュールのうちの優先順位が高いDMAモジュールからのDMA要求に対してDMA転送の許可を与え、該DMA転送が完了した後に、当該DMAモジュールからの次のDMA要求が、該DMA転送が完了したDMAモジュール以外の他のDMAモジュールからのDMA要求が全てなくなるまでの期間だけ抑制されるDMA転送装置。
  2. データバスが複数のDMA(ダイレクト・メモリ・アクセス)モジュールに共有され、該複数のDMAモジュールのうちの各DMAモジュールからのDMA要求が競合した場合にDMAバス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたDMAモジュールがデータバスに接続されるDMA転送装置において、
    該DMAバス調停手段は、該DMA要求の競合時に、該各DMAモジュールのうちの優先順位が高いDMAモジュールからのDMA要求に対してDMA転送の許可を与え、該DMA転送が完了した後に、当該DMAモジュールからの次のDMA要求が、該DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからのDMA要求が全てなくなるまでの期間だけ抑制されるDMA転送装置。
  3. データバスが複数のDMAモジュールおよびCPU(中央演算処理回路)に共有され、該複数のDMAモジュールのうちの各DMAモジュールからのDMA要求が競合した場合にDMAバス調停手段によって調停が行われ、さらに、該各DMAモジュールのうちの調停されたDMA要求と該CPUからのバス要求が競合した場合にDMAバス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたDMAモジュールまたはCPUがデータバスに接続されるDMA転送装置において、
    該DMAバス調停手段は、該DMA要求の競合時に、該各DMAモジュールのうちの優先順位が高いDMAモジュールからのDMA要求に対してDMA転送の許可を与え、該DMA転送が完了した後に、当該DMAモジュールからの次のDMA要求が、該DMA転送が完了したDMAモジュール以外の他のDMAモジュールからのDMA要求が全てなくなるまでの期間だけ抑制されると共に、該各DMAモジュールによるDMA転送が一巡する時点で該CPUからのバス要求がある場合に、該CPUの所定のCPUサイクルの期間だけ抑制されるDMA転送装置。
  4. データバスが複数のDMAモジュールおよびCPU(中央演算処理回路)に共有され、該複数のDMAモジュールのうちの各DMAモジュールからのDMA要求が競合した場合にDMAバス調停手段によって調停が行われ、さらに、該各DMAモジュールのうちの調停されたDMA要求と該CPUからのバス要求が競合した場合にDMAバス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたDMAモジュールまたはCPUがデータバスに接続されるDMA転送装置において、
    該DMAバス調停手段は、該DMA要求の競合時に、該各DMAモジュールのうちの優先順位が高いDMAモジュールからのDMA要求に対してDMA転送の許可を与え、該DMA転送が完了した後に、当該DMAモジュールからの次のDMA要求が、該DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからのDMA要求が全てなくなるまでの期間だけ抑制されると共に、該各DMAモジュールによるDMA転送が一巡する時点で該CPUからのバス要求がある場合に、該CPUの所定のCPUサイクルの期間だけ抑制されるDMA転送装置。
  5. データバスが複数のDMAモジュールに共有され、該複数のDMAモジュールのうちの各DMAモジュールからのDMA要求が競合した場合にDMAバス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたDMAモジュールがデータバスに接続されるDMA転送装置において、
    該DMAバス調停手段は、該DMA要求の競合時に、該各データ転送モジュールのうちの優先順位が高いデータ転送モジュールからのデータ転送要求に対してデータ転送の許可を与え、該データ転送が完了した後に、該DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからのDMA要求が全てなくなるまで、該DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールの中から、優先順位が最も高いDMAモジュールに許可を順次与えてそれぞれ実行させるDMA転送装置。
  6. データバスが複数のDMAモジュールおよびCPUに共有され、該複数のDMAモジュールのうちの各DMAモジュールからのDMA要求が競合した場合にDMAバス調停手段によって調停が行われ、さらに、該各DMAモジュールのうちの調停されたDMA要求と該CPUからのバス要求が競合した場合にDMAバス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたDMAモジュールまたはCPUがデータバスに接続されるDMA転送装置において、
    該DMAバス調停手段は、該DMA要求の競合時に、該各DMAモジュールのうちの優先順位が高いDMAモジュールからのDMA要求に対してDMA転送の許可を与え、該DMA転送が完了した後に、該DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールからのDMA要求が全てなくなるまで、該DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールの中から、優先順位が最も高いDMAモジュールに許可を順次与えてそれぞれ実行させ、さらに、該各DMAモジュールによるDMA転送が一巡した時点で該CPUからのバス要求がある場合に、該CPUの所定の該CPUサイクルの期間だけ該CPUによるデータ転送を許可して実行させるDMA転送装置。
  7. 前記DMA転送の完了後で前記次のDMA要求の抑制前に、該DMA要求が行われないDMAインターバルの期間が別途設けられている請求項1〜4のいずれかに記載のDMA転送装置。
  8. 前記DMA転送の完了後に、次のDMA要求までにDMA要求が行われないDMAインターバルの期間が別途設けられている請求項5または6に記載のDMA転送装置。
  9. 前記期間に関する情報は、前記DMAモジュール毎に設けられた第1記憶手段内にそれぞれ記憶されて設定されている請求項7または8に記載のDMA転送装置。
  10. 前記次のDMA要求の抑制は、前記DMAモジュールからのDMA要求の発生を停止させるように制御するかまたは、該DMAモジュールからのDMA要求を当該DMA要求がなかったようにマスクする請求項1〜4のいずれかに記載のDMA転送装置。
  11. 前記DMAバス調停手段は、前記DMA転送が完了したDMAモジュールよりも優先順位が下位にあるDMAモジュールからの各DMA要求が全てなくなった時点で、該DMA転送が完了したDMA転送モジュール以外の全てのDMA転送モジュールからのDMA要求に対して前記次のDMA要求の抑制を解除する請求項1〜4のいずれかに記載のDMA転送装置。
  12. 前記DMAバス調停手段は、前記DMA転送が完了したDMAモジュールよりも優先順位が下位にあるDMAモジュールからの各DMA要求が全てなくなった時点から、該DMA転送が完了したDMAモジュール以外の他のDMAモジュールの中から、優先順位が最も高いDMAモジュールに許可を与えて実行し、前記優先順位が下位にある他のDMAモジュールの中から優先順位が最も高いDMAモジュールに許可が順次与えられてそれぞれ実行される請求項5または6に記載のDMA転送装置。
  13. 前記DMA転送が完了したDMAモジュールに関する情報が、前記DMAバス調停手段に設けられた第2記憶手段内にそれぞれ記憶されて設定される請求項1〜6、11および12のいずれかに記載のDMA転送装置。
  14. 前記DMA転送が完了したDMAモジュール以外の他のDMAモジュールは、前記第2記憶手段に前記DMAモジュールに関する情報として記憶されたモジュール番号以外のDMAモジュールである請求項13に記載のDMA転送装置。
  15. 前記DMA転送が完了したDMAモジュールよりも優先順位が下位にある他のDMAモジュールは、前記第2記憶手段に前記DMAモジュールに関する情報として記憶されたモジュール番号を基準にして次の番号以降のDMAモジュールである請求項13に記載のDMA転送装置。
  16. 前記CPUサイクルの期間として、前記CPUによる転送処理を実行可能な期間が前記DMAバス調停手段に設けられた第3記憶手段内に記憶されて設定されている請求項3、4および6のいずれかに記載のDMA転送装置。
  17. データ転送専用バスが複数のデータ転送モジュールに共有され、該複数のデータ転送モジュールのうちの各データ転送モジュールからのデータ転送要求が競合した場合にデータ転送バス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたデータ転送モジュールが該データ転送専用バスに接続されるデータ転送装置において、
    該データ転送バス調停手段は、該データ転送要求の競合時に、該各データ転送モジュールのうちの優先順位が高いデータ転送モジュールからのデータ転送要求に対してデータ転送の許可を与え、該データ転送が完了した後に、当該データ転送モジュールからの次のデータ転送要求が、該データ転送が完了したデータ転送モジュール以外の他のデータ転送モジュールからのデータ転送要求が全てなくなるまでの期間だけ抑制されるデータ転送装置。
  18. データ転送専用バスが複数のデータ転送モジュールに共有され、該複数のデータ転送モジュールのうちの各データ転送モジュールからのデータ転送要求が競合した場合にデータ転送バス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたデータ転送モジュールが該データ転送専用バスに接続されるデータ転送装置において、
    該データ転送バス調停手段は、該データ転送要求の競合時に、該各データ転送モジュールのうちの優先順位が高いデータ転送モジュールからのデータ転送要求に対してデータ転送の許可を与え、該データ転送が完了した後に、当該データ転送モジュールからの次のデータ転送要求が、該データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールからのデータ転送要求が全てなくなるまでの期間だけ抑制されるデータ転送装置。
  19. データ転送専用バスが複数のデータ転送モジュールに共有され、該複数のデータ転送モジュールのうちの各データ転送モジュールからのデータ転送要求が競合した場合にデータ転送バス調停手段によって調停が行われて、バスマスターとしてバス接続が許可されたデータ転送モジュールが該データ転送専用バスに接続されるデータ転送装置において、
    該データ転送バス調停手段は、該データ転送要求の競合時に、該各データ転送モジュールのうちの優先順位が高いデータ転送モジュールからのデータ転送要求に対してデータ転送の許可を与え、該データ転送が完了した後に、該データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールからのデータ転送要求が全てなくなるまで、該データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールの中から、優先順位が最も高いデータ転送モジュールに許可が順次与えられてそれぞれ実行されるデータ転送装置。
  20. 前記データ転送の完了後で前記次のデータ転送要求の抑制前に、該データ転送要求が行われないデータ転送インターバルの期間が別途設けられている請求項17または18に記載のデータ転送装置。
  21. 前記データ転送の完了後に、次のデータ転送要求までにデータ転送要求が行われないデータ転送インターバルの期間が別途設けられている請求項19に記載のデータ転送装置。
  22. 前記期間に関する情報は、前記データ転送モジュール毎に設けられた第4記憶手段内にそれぞれ記憶されて設定されている請求項20または21に記載のデータ転送装置。
  23. 前記次のデータ転送要求の抑制は、前記データ転送モジュールからのデータ転送要求の発生を停止させるように制御するかまたは、該データ転送モジュールからのデータ転送要求を当該データ転送要求がなかったようにマスクする請求項17または18に記載のデータ転送装置。
  24. 前記データ転送バス調停手段は、前記データ転送が完了したデータ転送モジュールよりも優先順位が下位にあるデータ転送モジュールからの各データ転送要求が全てなくなった時点で、該データ転送が完了したデータ転送モジュール以外の全てのデータ転送モジュールからの各データ転送要求に対して前記次のデータ転送要求の抑制を解除する請求項17または18に記載のデータ転送装置。
  25. 前記データ転送バス調停手段は、前記データ転送が完了したデータ転送モジュールよりも優先順位が下位にあるデータ転送モジュールからの各データ転送要求が全てなくなった時点から、該データ転送が完了したデータ転送モジュール以外の他のデータ転送モジュールの中から、優先順位が最も高いデータ転送モジュールに許可を与えて実行し、前記優先順位が下位にある他のデータ転送モジュールの中から優先順位が最も高いデータ転送モジュールに許可が順次与えられてそれぞれ実行される請求項19に記載のデータ転送装置。
  26. 前記データ転送が完了したデータ転送モジュールに関する情報が、前記データ転送バス調停手段に設けられた第5記憶手段内にそれぞれ記憶されて設定される請求項16〜18、24および25のいずれかに記載のデータ転送装置。
  27. 前記データ転送が完了したデータ転送モジュール以外の他のデータ転送モジュールは、前記第5記憶手段に前記データ転送モジュールに関する情報として記憶されたモジュール番号以外のデータ転送モジュールである請求項26に記載のデータ転送装置。
  28. 前記データ転送が完了したデータ転送モジュールよりも優先順位が下位にある他のデータ転送モジュールは、前記第5記憶手段に前記データ転送モジュールに関する情報として記憶されたモジュール番号を基準にして次の番号以降のデータ転送モジュールである請求項26に記載のデータ転送装置。
JP2007028615A 2007-02-07 2007-02-07 Dma転送装置およびデータ転送装置 Expired - Fee Related JP4863282B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007028615A JP4863282B2 (ja) 2007-02-07 2007-02-07 Dma転送装置およびデータ転送装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007028615A JP4863282B2 (ja) 2007-02-07 2007-02-07 Dma転送装置およびデータ転送装置

Publications (2)

Publication Number Publication Date
JP2008192090A true JP2008192090A (ja) 2008-08-21
JP4863282B2 JP4863282B2 (ja) 2012-01-25

Family

ID=39752108

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007028615A Expired - Fee Related JP4863282B2 (ja) 2007-02-07 2007-02-07 Dma転送装置およびデータ転送装置

Country Status (1)

Country Link
JP (1) JP4863282B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0773136A (ja) * 1993-06-30 1995-03-17 Ricoh Co Ltd コンピュータシステムの動作方法
JPH11120123A (ja) * 1997-10-20 1999-04-30 Fujitsu Ltd バス制御によるデータ転送装置
JP2000315187A (ja) * 1999-05-06 2000-11-14 Matsushita Electric Ind Co Ltd メモリ制御装置とメモリ制御方法とその記録媒体
JP2004110742A (ja) * 2002-09-20 2004-04-08 Matsushita Electric Ind Co Ltd Dmaコントローラ

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0773136A (ja) * 1993-06-30 1995-03-17 Ricoh Co Ltd コンピュータシステムの動作方法
JPH11120123A (ja) * 1997-10-20 1999-04-30 Fujitsu Ltd バス制御によるデータ転送装置
JP2000315187A (ja) * 1999-05-06 2000-11-14 Matsushita Electric Ind Co Ltd メモリ制御装置とメモリ制御方法とその記録媒体
JP2004110742A (ja) * 2002-09-20 2004-04-08 Matsushita Electric Ind Co Ltd Dmaコントローラ

Also Published As

Publication number Publication date
JP4863282B2 (ja) 2012-01-25

Similar Documents

Publication Publication Date Title
JP4907166B2 (ja) リソース管理装置
JP2559906B2 (ja) アービトレーション・システム及び方法
EP1927054A1 (en) Method and system for bus arbitration
US8234428B2 (en) Arbitration device that arbitrates conflicts caused in data transfers
US20150220460A1 (en) Arbitrating direct memory access channel requests
JP5565204B2 (ja) データ転送装置、データ転送方法およびプログラム、ならびに、画像形成装置
US9135195B2 (en) Prediction of electronic component behavior in bus-based systems
KR100486247B1 (ko) 버스의 사용 빈도를 제어할 수 있는 방법 및 장치
WO2009147744A1 (ja) バス調停装置
JP2008040650A (ja) バスアービトレーション装置
JP4863282B2 (ja) Dma転送装置およびデータ転送装置
TW201805826A (zh) 電腦系統及匯流排仲裁方法
JP2008158585A (ja) バスシステム及びそのバス調停方法
JP7233932B2 (ja) 仮想割り込みサービスプロバイダのためのサービス要求割り込みルータ
US20100153610A1 (en) Bus arbiter and bus system
JP2007026022A (ja) バス調停装置及びバス調停方法
Chang et al. On deadlock problem of on-chip buses supporting out-of-order transactions
JP7292044B2 (ja) 制御装置および制御方法
JP3094944B2 (ja) アービトレーション方法及びその装置
JP5111940B2 (ja) 情報処理装置及びアクセス制御方法
JP2018005851A (ja) 電子装置
JPH10334042A (ja) バス調停制御装置及びバス調停制御方法並びにバス調停制御プログラムを記録した記録媒体
JP2004038767A (ja) バス調停装置
JP2008097462A (ja) 情報処理装置及び情報処理方法
JPH0991247A (ja) バス調停装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110602

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110728

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: 20111102

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: 20111102

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

Free format text: PAYMENT UNTIL: 20141118

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D04

LAPS Cancellation because of no payment of annual fees