JP2007080037A - Dma転送システム - Google Patents

Dma転送システム Download PDF

Info

Publication number
JP2007080037A
JP2007080037A JP2005268217A JP2005268217A JP2007080037A JP 2007080037 A JP2007080037 A JP 2007080037A JP 2005268217 A JP2005268217 A JP 2005268217A JP 2005268217 A JP2005268217 A JP 2005268217A JP 2007080037 A JP2007080037 A JP 2007080037A
Authority
JP
Japan
Prior art keywords
dma
transfer
channel
dma transfer
controller
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
JP2005268217A
Other languages
English (en)
Other versions
JP4499008B2 (ja
Inventor
Kenichiro Kuroki
健一郎 黒木
Kenji Sato
賢治 佐藤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005268217A priority Critical patent/JP4499008B2/ja
Priority to US11/360,609 priority patent/US7970959B2/en
Publication of JP2007080037A publication Critical patent/JP2007080037A/ja
Application granted granted Critical
Publication of JP4499008B2 publication Critical patent/JP4499008B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/32Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
    • G06F13/34Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer with priority control
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

【課題】 本発明は、回路規模を大幅に増大することなくチャネル数を増加し、更に特定のシステムに対して機能特化することなく高度な機能を実現可能なDMA転送システムを提供することを目的とする。
【解決手段】 DMA転送システムは、システムバスに結合される少なくとも1つのチャネルを含み、少なくとも1つのチャネルのDMA転送設定に従いシステムバスを介したDMA転送を実行するDMAコントローラと、DMAコントローラに結合されるDMAC制御装置を含み、DMAC制御装置は、それぞれがDMA転送設定可能な複数の仮想チャネルと、複数の仮想チャネルの1つを選択する仮想チャネルアービタと、選択された仮想チャネルのDMA転送設定の内容を読み出してDMAコントローラの少なくとも1つのチャネルにDMA転送設定として書き込むDMA設定回路を含む。
【選択図】 図3

Description

本発明は、一般にデータ転送システムに関し、詳しくはDMA転送システムに関する。
DMA(Direct Memory Access)転送システムにより、CPUを介すことなく転送元から転送先へ直接にデータ転送することで、高速なデータ転送が可能となる。図1は、従来のDMA転送システムの構成の一例を示す図である。
図1のDMA転送システム10は、CPU11、DMAコントローラ(DMAC)12、メモリ13、メモリ14、及びシステムバス15を含む。CPU11、DMAコントローラ12、メモリ13、及びメモリ14は、システムバス15により互いに接続される。
CPU11は、DMAの転送元アドレス、転送先アドレス、転送データサイズ、転送回数等を指定して、DMAコントローラ12に対してDMA転送の設定をする。DMAコントローラ12は、これに応じて、指定されたDMA転送を実行する。例えば、DMAコントローラ12は、メモリ13内の転送元アドレスから転送データサイズで指定される大きさのデータを読み出し、システムバス15を介して、メモリ14内の転送先アドレスへ転送する。DMAコントローラ12は、転送元アドレス及び転送先アドレスを順次増減させながら、このデータ転送を指定された回数実行する。このようにしてDMA転送が実行される間、CPU11は他の処理を実行することが可能となる。
DMAコントローラ12は、チャネルアービタ21、1つ又は複数のチャネル22、及びFIFO23を含む。チャネル22は、各々が独立して実行されるDMA転送処理に対応し、n個のチャネルが設けられている場合にはn個の独立したDMA転送処理を実行することができる。1つのチャネル22は、DMA制御回路24及びチャネルレジスタ25を含む。CPU11による上記のDMA転送設定は、各チャネル22のチャネルレジスタ25に対して行われる。
チャネルレジスタ25は、転送要求レジスタ、転送モードレジスタ、転送幅レジスタ、転送回数レジスタ、転送元アドレスレジスタ、転送先アドレスレジスタ、及びオプションレジスタ等のレジスタを含む。転送要求レジスタには、転送要求の有無を設定する。転送モードレジスタには、シングル転送やバースト転送などの転送の種類を設定する。転送幅レジスタには、バイト/ハーフワード/ワード等の転送幅を設定する。転送回数レジスタには、上記転送モード及び転送幅で実行するデータ転送の回数を設定する。転送元アドレスレジスタには、データを読み出す元であるメモリ内のアドレスを設定する。転送先アドレスレジスタには、データを書き込む先であるメモリ内のアドレスを設定する。オプションレジスタには、一時停止、強制停止、転送終了後のアドレス又は転送回数のリロード、割込み信号の有無選択等、DMA転送のために必須ではない転送オプションを設定する。これらの設定は、システムバス15を介してCPU11により行われる。
チャネルアービタ21は、各チャネル22の転送要求レジスタを常時参照し、転送要求が有りの場合、転送要求有りの複数のチャネル22のうちで、実際にDMA転送を実行するチャネル22を所定の優先順位に従って1つ選択する。チャネルアービタ21は、選択したチャネル22に対して当該チャネルが選択された旨を通知する。選択通知されたチャネル22が転送処理を実行して転送要求を下げると、チャネルアービタ21は、転送要求有りの複数のチャネル22の中から次のDMA転送を実行する1つのチャネル22を選択する。
チャネルアービタ21が、DMA転送を実行する1つのチャネル22を選択する際に使用する所定の優先順位としては、例えば「固定優先順位」や「回転優先順位」がある。固定優先順位は、チャネルに割当てられた優先順位が完全に固定であり、優先順位の最も高いチャネルが常に選択されてDMA転送を実行する。この順位方式は、チャネル(転送パス)間の優先順位が明確である場合に有効である。また回転優先順位では、最後にDMA転送を実行したチャネルを基準として優先順位が回転する。この順位方式は、特定のチャネルを優先することをなくし、全ての転送を並列的に実行する場合に有効である。
チャネルアービタ21が1つのチャネル22を選択し選択通知すると、選択通知されたチャネル22においては、DMA制御回路24がシステムバス15のバスマスタとなり、DMA転送を実行する。即ちDMA制御回路24が、転送元アドレスレジスタが指し示す転送元アドレス(例えばメモリ13内のアドレス)にシステムバス15を介してアクセスして、転送幅レジスタにより指定されるデータサイズのデータをシステムバス15に読み出す。読み出したデータはFIFO23に一旦格納される。DMA制御回路24は更に、転送先アドレスレジスタが指し示す転送先アドレス(例えばメモリ14内のアドレス)に、FIFO23に格納された読み出しデータを、システムバス15を介して書き込む。
DMA転送が終了すると、DMA転送したチャネル22において、チャネルレジスタ25の転送要求レジスタの転送要求を下げ、DMA制御回路24が転送終了を示す割込み信号をアサートする。
近年、システムにおける各種処理(例えばマルチメディア処理)の高度化により、同時に処理したい転送数が増えている。これは、DMAコントローラに対するチャネル数の増加要求となる。しかしDMAコントローラに実装するチャネル数を増加することは、回路規模の増大につながる。特に携帯端末向けLSIのように、チップサイズ及び消費電力が問題となる分野では、回路規模の増大は非常に大きな負担となる。
一方、同時に要求される転送経路の数に対して、実装されているDMAコントローラのチャネル数が少ない場合、システム全体の性能低下を惹き起こす。この場合、CPUが転送要求を調停しながらDMA転送を制御する構成としたのでは、CPUへの負担が増大してしまう。CPUへの負担を減らすためには、DMAコントローラのチャネル数を増やせばよいが、DMAコントローラはハードウェアで設計されるため、チャネルだけを増減することは難しい。そこで図2に示すように複数個のDMAコントローラ12−1乃至12−3を実装するシステム構成とすることが考えられる。しかしこの構成の場合、1つの転送が終了するたびに複数のDMAコントローラ12−1乃至12−3間でシステムバス15の奪い合いが発生するため、パフォーマンスの低下が避けられない。また、実装するDMAコントローラの個数に応じて回路規模が増加する。
またDMAコントローラに要求される転送機能はシステム毎に異なるので、単純な転送機能のみ備えたDMAコントローラを各システムに用いていたのでは、十分な転送性能を得ることができない。従って、特定のシステムに特化した転送機能を備えるDMAコントローラを設計することが、そのシステムでの性能を重視した場合には好ましい。しかし、そのように設計されたDMAコントローラを他のシステムで使用する場合には、上記の特化した転送機能が活かされないことがあり、不要な回路が含まれることとなってしまう。また各システム毎に最適化したDMAコントローラを設計していたのでは、設計、開発、検証の各工程がシステム毎に必要となり負担が大きい。
特開2003−256356号公報 特開2003−242098号公報
以上を鑑みて、本発明は、回路規模を大幅に増大することなくチャネル数を増加し、更に特定のシステムに対して機能特化することなく高度な機能を実現可能なDMA転送システムを提供することを目的とする。
DMA転送システムは、システムバスに結合される少なくとも1つのチャネルを含み、該少なくとも1つのチャネルのDMA転送設定に従い該システムバスを介したDMA転送を実行するDMAコントローラと、該DMAコントローラに結合されるDMAC制御装置を含み、該DMAC制御装置は、それぞれがDMA転送設定可能な複数の仮想チャネルと、該複数の仮想チャネルの1つを選択する仮想チャネルアービタと、該選択された仮想チャネルの該DMA転送設定の内容を読み出して該DMAコントローラの該少なくとも1つのチャネルにDMA転送設定として書き込むDMA設定回路を含むことを特徴とする。
本発明の少なくとも1つの実施例によれば、システムにおいて利用可能なチャネル数は、DMAC制御装置に実装される仮想チャネルの数に等しい。従って、仮想チャネルの数を調節するだけで、容易にチャネルの数を増加することができる。この際、DMAコントローラは従来のDMAコントローラの構成のままでよいので、容易にチャネル数を増加することができる。またDMAC制御装置を用いてチャネル数を増加させた場合、チャネルの設定を保持するレジスタ分しか回路が増加しないので、チャネル数増加に伴う回路規模増大を必要最小限に抑えることができる。
また仮想チャネルに拡張レジスタを設ける構成とすれば、この拡張レジスタを利用することで高機能な転送機能を実現することができる。例えば、CPUからDMAC制御装置にDMA転送を1回設定するだけで、DMAC制御装置がDMAコントローラへ複数回のDMA転送設定を実行し、複雑なDMAコントローラの制御を実行すること等ができる。
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
図3は、本発明によるDMA転送システム30の構成の一例を示す図である。図3において、図1と同一の構成要素は同一の番号で参照し、その説明は省略する。
図3のDMA転送システム30は、CPU11、DMAコントローラ(DMAC)12、メモリ13、メモリ14、システムバス15、メモリ16、専用バス17、及びDMAC制御装置31を含む。CPU11、DMAコントローラ12、メモリ13、及びメモリ14は、システムバス15により互いに接続される。DMAコントローラ12及びDMAC制御装置31は、専用バス17及び所定の信号線を介して接続される。専用バス17は、バスアクセス競合によるパフォーマンスの低下を無視すれば、システムバス15であっても原理的には問題がない。また専用バス17は、直接に接続した双方向の信号線であっても構わない。
DMAコントローラ12は図1で説明したDMAコントローラと同じ構成でよいが、説明のために、チャネル22が拡張用チャネル22AとCPU用チャネル22Bとにグループ分けされている。拡張用チャネル22Aは、本発明によるDMAC制御装置31によりアクセスされ設定されるチャネルである。CPU用チャネル22Bは、従来どおりCPU11によりアクセスされ設定されるチャネルである。この例では、2つの拡張用チャネル22Aと1つのCPU用チャネル22Bとが図示さているが、これらの数に限定されるものではなく、1又は複数の任意の数の拡張用チャネル22A及びCPU用チャネル22Bが設けられていてよい。
図1の構成と同様に、CPU11は、DMAの転送元アドレス、転送先アドレス、転送データサイズ、転送回数等を指定して、DMAコントローラ12のCPU用チャネル22Bのチャネルレジスタ25に対してDMA転送の設定をする。DMAコントローラ12のCPU用チャネル22BのDMA制御回路24は、設定内容に応じて、指定されたDMA転送を実行する。
本発明によるDMAC制御装置31は、複数の仮想チャネル32、仮想チャネルアービタ33、DMA設定回路34、及びライトバック回路35を含む。仮想チャネル32は、CPU11によりシステムバス15を介して設定される。仮想チャネルアービタ33は、DMA転送を要求している複数の仮想チャネル32間でのアービトレーションを行い、1つの仮想チャネル32を選択する。DMA設定回路34は、仮想チャネルアービタ33により選択された仮想チャネル32の設定内容を、DMAコントローラ12の拡張用チャネルのチャネルレジスタ25に専用バス17を介して設定する。ライトバック回路35は、DMA処理を終了したDMAコントローラ12の拡張用チャネルから割り込み信号を受け取り、仮想チャネル32へのライトバックを実行する。
図4は、仮想チャネル32のレジスタ構成を示す図である。1つの仮想チャネル32は、(a)に示す仮想チャネルレジスタ40を含む。仮想チャネルレジスタ40は、転送要求レジスタ、転送モードレジスタ、転送幅レジスタ、転送回数レジスタ、転送元アドレスレジスタ、転送先アドレスレジスタ、オプションレジスタ、及び拡張レジスタ41等のレジスタを含む。拡張レジスタ41以外は、従来のDMAコントローラ12のチャネルレジスタ25と同様の構成である。転送要求レジスタには、転送要求の有無を設定する。転送モードレジスタには、シングル転送やバースト転送などの転送の種類を設定する。転送幅レジスタには、バイト/ハーフワード/ワード等の転送幅を設定する。転送回数レジスタには、上記転送モード及び転送幅で実行するデータ転送の回数を設定する。転送元アドレスレジスタには、データを読み出す元であるメモリ内のアドレスを設定する。転送先アドレスレジスタには、データを書き込む先であるメモリ内のアドレスを設定する。オプションレジスタには、一時停止、強制停止、転送終了後のアドレス又は転送回数のリロード、割込み信号の有無選択等、DMA転送のために必須ではない転送オプションを設定する。これらの設定は、システムバス15を介してCPU11により行われる。
拡張レジスタ41の構成が図4(b)に示される。拡張レジスタ41は、拡張転送回数レジスタ、拡張転送モードレジスタ、拡張アドレスレジスタ、拡張用チャネル選択レジスタ等を含む。拡張レジスタ41のこれらのレジスタは、DMAコントローラ12のチャネルレジスタ25ではできない設定を行なうレジスタである。この拡張レジスタ41の構成は、DMAC制御装置31にどのような拡張転送機能を設けるかにより異なる。
拡張レジスタ41を使用しない場合には、CPU11から見るとDMAコントローラ12とDMAC制御装置31とは同一のインターフェースとなる。DMAC制御装置31により提供される拡張機能を用いる場合にのみ、拡張レジスタ41を使用する。
例えば、DMAコントローラ12のチャネルレジスタ25の転送回数レジスタが16bitである場合、一度の設定で最大65,536回の転送を実行することができる。この場合、DMAC制御装置31が拡張転送回数レジスタとして4bitレジスタを有しているとすると、この拡張転送回数レジスタを利用してDMAC制御装置31の制御下でDMAコントローラ12によるDMA転送を複数回実行すれば、一度の設定で最大1,048,576回の転送が実行できるようになる。これにより、CPU11への割込み回数を最大1/16に減らすことができる。またDMAコントローラ12がチェイン転送機能を実装していない場合、DMAC制御装置31の拡張レジスタ41の拡張転送モードレジスタにチェイン転送設定を行なうことで、擬似的なチェイン転送を実行することができる。この際、複数の転送元または転送先のアドレスが必要になるため、拡張アドレスレジスタが使用される。チェイン転送については後ほど詳細に説明する。
仮想チャネルアービタ33は、各仮想チャネル32の転送要求レジスタを常時参照し、転送要求が有りの場合、転送要求有りの複数の仮想チャネル32のうちで、実際にDMA転送を実行する仮想チャネル32を所定の優先順位に従って1つ選択する。仮想チャネルアービタ33は、選択した1つの仮想チャネル32のレジスタ設定を、DMA設定回路34に通知する。DMA設定回路34は、専用バス17(システムバス15の場合にはシステムバス15)のバスマスタとなり、選択された仮想チャネル32のレジスタ設定内容に従って、DMAコントローラ12の拡張用チャネル22Aのチャネルレジスタ25にDMA転送設定を行なう。
DMAC制御装置31により制御されるDMAコントローラ12の拡張用チャネル22Aの割込み信号は、DMAC制御装置31のライトバック回路35に接続されている。拡張用チャネルがDMA転送を終了すると、割込み信号が出力され、ライトバック回路35に伝えられる。ライトバック回路35は割込み信号に応答して、仮想チャネルアービタ33から何れの仮想チャネル32が選択されたかを参照し、終了した拡張用チャネルレジスタから得た所定の情報を、選択された仮想チャネル32へ書き込む(ライトバック)。またライトバック回路35は、上記割込み信号に応答して、選択された仮想チャネル32の割込み信号ビットを有効にする。この割込み信号ビットに応じた割り込み信号がCPU11に供給される。
上記説明では、仮想チャネルアービタ33が、転送要求有りの複数の仮想チャネル32のうちの1つを所定の優先順位に従って選択し、DMA設定回路34が、選択された仮想チャネル32のレジスタ設定内容に従ってDMAコントローラ12の拡張用チャネル22Aのチャネルレジスタ25にDMA転送設定を行なうと説明した。しかしこの場合、実際には、DMAコントローラ12に拡張用チャネル22Aが1つだけ設けられている構成であるか、或いは複数の拡張用チャネル22Aのうちで設定対象である拡張用チャネルが既に決まっている必要がある。そうでない場合には、何れの拡張用チャネル22AにDMA転送設定をするのか、DMA設定回路34が管理する必要が生じる。
図5は、複数の拡張用チャネル22AがDMAコントローラ12に設けられている場合にDMA設定回路34によりDMA転送設定する構成の一例を示す図である。図5の例では、3個の拡張用チャネル22A−1乃至22A−3がDMAコントローラ12に設けられている。これに対応して、DMA設定回路34は設定回路53−1乃至53−3を含み、仮想チャネルアービタ33は転送チャネル選択回路51−1乃至51−3を含む。
図5の例では、6個の仮想チャネル32−1乃至32−6が設けられている。仮想チャネル32−1及び32−2は、転送チャネル選択回路51−1に予め割当てられている。また仮想チャネル32−3及び32−5は転送チャネル選択回路51−2に、仮想チャネル32−4及び32−6は転送チャネル選択回路51−3に、予めそれぞれ割当てられている。
転送チャネル選択回路51−1は、仮想チャネル32−1及び32−2から転送要求があると、何れか1つを選択する。選択された仮想チャネルのレジスタ設定内容は、設定回路53−1に供給される。設定回路53−1は、選択された仮想チャネルのレジスタ設定内容を、専用バス17を介して拡張用チャネル22A−1のチャネルレジスタ25に格納する。転送チャネル選択回路51−2は、仮想チャネル32−3及び32−5から転送要求があると、何れか1つを選択する。選択された仮想チャネルのレジスタ設定内容は、設定回路53−2に供給される。設定回路53−2は、選択された仮想チャネルのレジスタ設定内容を、専用バス17を介して拡張用チャネル22A−2のチャネルレジスタ25に格納する。転送チャネル選択回路51−3は、仮想チャネル32−4及び32−6から転送要求があると、何れか1つを選択する。選択された仮想チャネルのレジスタ設定内容は、設定回路53−3に供給される。設定回路53−3は、選択された仮想チャネルのレジスタ設定内容を、専用バス17を介して拡張用チャネル22A−3のチャネルレジスタ25に格納する。
このように、各仮想チャネル32−1乃至32−6を拡張用チャネル22A−1乃至22A−3の何れか1つに予め割当ててグループ分けしておき、同一の拡張用チャネルに割当てられている複数の仮想チャネルの中で仮想チャネルアービタ33による調停を行うようにする。なお複数の設定回路53−1乃至53−3から同時に複数のDMA転送設定を行うことはできないので、設定回路53−1乃至53−3間でも優先順位に従った選択が必要である。この目的のために、DMA設定回路34にはセレクタ54が設けられる。一旦DMA転送が開始されると、DMA転送は1チャネルずつしか終了しないので、DMA転送設定も1つずつしか行なわれない。従って、設定回路53−1乃至53−3に対しては、回転優先順位等の単純な優先順位を1つ決めておけばよい。
何れの仮想チャネルが何れの拡張用レジスタに対応するかを示す情報は、仮想チャネルアービタ33のチャネル割当てレジスタ52にて一元的に管理する。このチャネル割当てレジスタ52に、各仮想チャネル32−1乃至32−6が何れの転送チャネル選択回路51−1乃至51−3に割当てられるかを示す情報を設定することで、動的に仮想チャネルのグルーピングを変更することが可能である。
図5に示す構成とすることで、グループ間の優先順位の設定によりDMAコントローラ12の拡張チャネル間の優先順位を制御し、更に各グループ毎に仮想チャネルに対して他のグループとは独立に優先順位を設定することができる。これにより、きめ細かい優先順位方式を容易に実現することが可能となる。
図6は、図3のDMA転送システムによるDMA転送処理のフローチャートを示す図である。ステップS1で、DMAC制御装置31の仮想チャネルアービタ33が仮想チャネル32の転送要求の有無を監視する。ステップS2で、仮想チャネルアービタ33が所定の優先順位に従ってDMA転送する仮想チャネル32を選択する。ステップS3で、選択された仮想チャネル32のレジスタ設定に従って、DMA設定回路34が、専用バス17を介してDMAコントローラ12の拡張用チャネル22AにDMA転送の設定を行なう。
ステップS4において、DMAコントローラ12が、ステップS3で設定された拡張用チャネル22Aについて、DMA転送処理を実行する。ステップS5において、DMAC制御装置31のライトバック回路35が、DMAコントローラ12からDMA転送終了/エラー割込みがかかるのを待機する。DMA転送終了/エラー割込みがかかると、ステップS6で、ライトバック回路35が仮想チャネルアービタ33を参照し、転送を終了した仮想チャネル(現在選択されている仮想チャネル)を確認する。
ステップS7で、ライトバック回路35が、仮想チャネル32の仮想チャネルレジスタ40の内容を、DMAコントローラ12の拡張用チャネル22Aのチャネルレジスタ25の値に応じて更新する。ステップS8で、ライトバック回路35が、仮想チャネルレジスタ40の値に基づいて、DMA転送が全て終了したか否かを判定する。まだ終了していないDMA転送処理が有る場合には、ステップS1に戻り上記の処理を繰り返す。
全てのDMA転送処理が終了した場合には、ステップS9で、ライトバック回路35が、仮想チャネル32の終了/エラー割込み信号を有効にしたり、拡張設定を読み込んで次の転送の準備をしたりするなど、終了に伴う処理を実行する。以上でDMA転送処理を終了する。
図7は、DMA転送を実行する仮想チャネルレジスタを選択する処理のフローチャートを示す図である。ステップS1で、仮想チャネルアービタ33が、何れかの仮想チャネル32から転送要求が出ているかを判定する。ステップS2で、仮想チャネルアービタ33が、予め設定された選択優先順位に従って、DMA転送を実行する仮想チャネル32を1つ選択する。ステップS3で、仮想チャネルアービタ33は、選択した仮想チャネル32の転送要求が下がるのを待つ。ステップS3で転送要求が下がると選択処理が終了し、新たな選択処理がステップS1から開始され、次の転送チャネルを選択する。
以上説明した本発明によるDMA転送システム30によれば、システムにおいて利用可能なチャネル数は、DMAC制御装置31に実装される仮想チャネル32の数に等しい。従って、仮想チャネル32の数を調節するだけで、容易にチャネルの数を増加することができる。この際、DMAコントローラ12は従来のDMAコントローラの構成のままでよいので、容易にチャネル数を増加することができる。
またDMAコントローラ12を複数個実装してチャネル数を増やした場合には、増加させたDMAコントローラ12の個数分だけ回路規模が増大する。これに対して、DMAC制御装置31を用いてチャネル数を増加させた場合、チャネルの設定を保持するレジスタ分しか回路が増加しないので、チャネル数増加に伴う回路規模増大を必要最小限に抑えることができる。
また図2のようにDMAコントローラ12を複数個実装してチャネル数を増加させた場合は、DMAコントローラ12間でシステムバスの奪い合いが生じ、転送パフォーマンスが低下する。しかし図3の構成の場合は、DMAC制御装置31が全仮想チャネルの優先順位を一括管理してDMAコントローラ12を制御するので、パフォーマンスの低下を回避できる。
図8は、図1の従来のDMA転送システム10におけるDMA転送を示すシーケンス図である。図9は、図2の従来のDMA転送システムにおけるDMA転送を示すシーケンス図である。図10は、図3の本発明によるDMA転送システム30におけるDMA転送を示すシーケンス図である。
図8乃至図10において、「レジスタ設定」は、CPUによるチャネルレジスタの設定動作を示す。「読み出し制御」は、DMAコントローラ12からメモリに対して実行される読み出しアクセスの動作シーケンスを示す。「リードデータ」は、読み出しアクセスに対して読み出されたデータの転送動作を示す。「書き込み制御」は、DMAコントローラ12からメモリに対して実行される書き込みアクセスの動作シーケンスを示す。「書き込み完了」は、書き込みアクセスに対して、書き込み処理が終了したことを通知する動作を示す。「終了割り込み」は、DMAコントローラ12或いはDMAC制御装置31からCPU11へのDMA転送終了を示す割り込み信号である。また「割り込みクリア」は、「終了割り込み」に対してCPU11が割り込み信号をクリアする動作を示す。
図8に示す図1の従来のDMA転送システム10におけるDMA転送動作においては、最初にCPU11からDMAコントローラ12の2つのチャネル22についてのレジスタ設定が実行される。実際のDMA転送動作としては、チャネル22の1つであるChannel1についてのDMA転送が最初に実行され、その後、もう1つのチャネル22であるChannel2についてのDMA転送が実行される。DMAコントローラ12に設けられるチャネル数が2つである場合、3以上の数のDMA転送を実行するためには、CPU11からのレジスタ設定を含む図8に示す処理全体を繰り返して実行する必要がある。この場合、CPU11への負担が大きい。
図9に示す図2の従来のDMA転送システムにおけるDMA転送動作の例においては、2つのDMAコントローラ12−1及び12−2が利用される。最初にCPU11からDMAコントローラ12−1の2つのチャネル22についてのレジスタ設定が実行され、更にDMAコントローラ12−2の2つのチャネル22についてのレジスタ設定が実行される。実際のDMA転送動作としては、まずDMAコントローラ12−1のチャネル22の1つであるChannel1−1についてのDMA転送が最初に実行され、その後、DMAコントローラ12−2のチャネル22の1つであるChannel2−1についてのDMA転送が実行される。この際、Channel1−1についてのDMA転送の終了後に、DMAコントローラ12−1とDMAコントローラ12−2との間で、バスアクセス権を獲得するための競合が発生し、時間ロス60が生じる。Channel2−1についてのDMA転送が実行され終了すると、その後、DMAコントローラ12−1のチャネル22の1つであるChannel1−2についてのDMA転送が実行される。この際、Channel2−1についてのDMA転送の終了後に、DMAコントローラ12−1とDMAコントローラ12−2との間で、バスアクセス権を獲得するための競合が発生し、時間ロス61が生じる。Channel1−2についてのDMA転送後には、同様に、時間ロス62が生じる。
このように複数のDMAコントローラを設ける構成の場合、DMA転送が1つ完了するたびに、システムバス15の奪い合いが発生してしまう。そのために、DMA転送間に時間のロスが生じ、パフォーマンスの低下に繋がってしまう。
図10に示す図3のDMA転送システム30におけるDMA転送においては、最初にCPU11からDMAC制御装置31の4つの仮想チャネル32についてのレジスタ設定が実行される。DMAコントローラ12で使用されるチャネル22Aの数は2つであるが、DMAC制御装置31に4つの仮想チャネル32が設けられているために、CPU11は4つのDMA転送処理について、レジスタ設定を纏めて終了させてしまうことができる。
DMAC制御装置31は、仮想チャネル32の1つであるChannel1についてのレジスタ設定を、DMAコントローラ12のチャネル22Aの1つであるChannel−Aに書き込む。これによりChannel−AについてのDMA処理が最初に実行される。これと並行して、DMAC制御装置31は、仮想チャネル32の1つであるChannel2についてのレジスタ設定を、DMAコントローラ12のチャネル22Aの1つであるChannel−Bに書き込む。従って、Channel−AについてのDMA処理が終了すると、直ちにChannel−BについてのDMA処理が実行される。
Channel−BについてのDMA処理に並行して、DMAC制御装置31は、仮想チャネル32の1つであるChannel3についてのレジスタ設定を、DMAコントローラ12のチャネル22Aの1つであるChannel−Aに書き込む。これによりChannel−BについてのDMA処理が終了すると、直ちにChannel−AについてのDMA処理が実行される。これと並行して、DMAC制御装置31は、仮想チャネル32の1つであるChannel4についてのレジスタ設定を、DMAコントローラ12のチャネル22Aの1つであるChannel−Bに書き込む。従って、Channel−AについてのDMA処理が終了すると、直ちにChannel−BについてのDMA処理が実行される。
図10に示すように、本発明のDMA転送システム30のDMA転送処理においては、DMAコントローラ12に設けられる拡張用チャネル22Aの数が2つであるにも関わらず、CPU11を介さずに4チャネル分のDMA転送を連続して実行することができる。また図9の場合のようにシステムバス15の奪い合いが発生しないので、各DMA転送間で時間ロスが生じることもない。
また図9のように複数個のDMAコントローラを用いた場合、各チャネルが複数個のDMAコントローラ12を跨いで実装されるので、チャネル間での厳密な優先順位制御が困難になる。それに対して図10のようにDMAC制御装置31を用いた場合には、DMAC制御装置31においてチャネル間の優先順位を一元的に管理するので、意図した通りの優先順位を厳密に守りながらDMA転送することができる。
また本発明のDMA転送システム30のDMA転送処理においては、DMAC制御装置31を介さずに、従来と同様にCPU11からDMAコントローラ12に直接にDMA設定することもできる。図11は、図3のDMA転送システム30においてDMAコントローラ12に対するCPUからのDMA設定とDMAC制御装置31からのDMA設定とが混在する場合のDMA転送処理を示す図である。
図11のDMA転送処理においては、DMAコントローラ12のChannel−AがCPU用チャネル22Bとして使用され、Channel−Bが拡張用チャネル22Aとして使用されている。図11に示されるように、DMAコントローラ12のCPU用チャネル22Bに対してはCPU11から直接にレジスタ設定が行われ、拡張用チャネル22Aに対してはCPU11からDMAC制御装置31を介してレジスタ設定が行われる。この構成ではCPU11がDMAコントローラ12のCPU用チャネルへダイレクトにDMA転送設定して、転送を実行することができる。この場合、DMAC制御装置31を介さないため、CPU11の命令に対する反応が早く、緊急度の高い転送など、転送命令発生から転送開始までの時間を短くしたい場合に有効な構成である。
CPU11は、DMAコントローラ12のCPU用チャネル22Bに対しては、DMA転送が終了する度に随時レジスタ設定を実行している。それに対してDMAコントローラ12の拡張用チャネル22Aに対しては、DMAC制御装置31を用いているので、DMAC制御装置31の複数の仮想チャネル32にCPU11から纏めて最初にレジスタ設定をしておけばよい。その後、DMAC制御装置31が随時DMAコントローラ12の拡張用チャネル22Aに対するレジスタ設定処理を実行する。
また図3に示すDMA転送システム30においては、仮想チャネル32の拡張レジスタ41を利用することにより、高機能な転送機能を実現することができる。例えば、CPU11からDMAC制御装置31にDMA転送を1回設定するだけで、DMAC制御装置31がDMAコントローラ12へ複数回のDMA転送設定を実行し、複雑なDMAコントローラ12の制御を実行することができる。
具体例としてDMA転送システム30においてチェイン転送を実現する場合について説明する。チェイン転送とは1つ又は複数の転送元から1つ又は複数の転送先への転送を順番に実行する転送方式である。例えば、1)メモリ13からメモリ16へ画像のヘッダ情報を書き込み、2)メモリ14からメモリ16へ画像のデータ情報を書き込み、3)メモリ13からメモリ16へ画像のフッタ情報を書き込む、という転送を実行するとメモリ16には所定のフォーマットの画像データが形成される。これら1)乃至3)のような一連の転送処理を1回の設定で実行する転送方式をチェイン転送方式と呼ぶ。
図12は、図1に示すような従来のDMAコントローラ12のみを用いた構成においてチェイン転送機能が実装されていない場合のDMA転送処理を示す図である。図12においては、上記1)乃至3)のように、2つの転送元メモリから1つの転送先メモリに順次データを転送する処理が示される。図12に示すように、CPU11からDMAコントローラ12へのレジスタ設定とDMAコントローラ12によるDMA転送処理とを、上記1)乃至3)の各転送処理に対して逐一独立に実行する必要がある。
図13は、図3に示すDMA転送システム30においてDMAC制御装置31の拡張レジスタ41を用いることでチェイン転送機能を実現した場合のDMA転送処理を示す図である。まずCPU11から、DMAC制御装置31の仮想チャネル32の1つであるChannel1にレジスタ設定をする。この際、第1の転送元のアドレス(メモリ13のアドレス)は、Channel1の仮想チャネルレジスタ40の転送元アドレスレジスタに設定される。更に仮想チャネルレジスタ40への通常の設定に加え、Channel1の拡張レジスタ41の拡張転送モードレジスタにチェイン転送設定をする。また第2の転送元のアドレス(メモリ14のアドレス)は、拡張レジスタ41の拡張アドレスレジスタに設定される。
拡張レジスタ41の拡張転送モードレジスタへのチェイン転送設定を検出すると、DMAC制御装置31は、DMAコントローラ12に第1の転送元であるメモリ13からメモリ16へのDMA転送を実行させるように、DMAコントローラ12の拡張用チャネル22Aにレジスタ設定をする。このDMA転送が終了すると、DMAC制御装置31は、DMAコントローラ12に第2の転送元であるメモリ14からメモリ16へのDMA転送を実行させるように、DMAコントローラ12の拡張用チャネル22Aに次のレジスタ設定をする。このDMA転送が終了すると、最後に、DMAコントローラ12に第1の転送元であるメモリ13からメモリ16へのDMA転送を実行させるように、DMAC制御装置31はDMAコントローラ12の拡張用チャネル22Aにレジスタ設定をする。
このように本発明のDMA転送システム30では、CPU11からDMAC制御装置31に対してDMA転送設定を1回行うだけで、DMAC制御装置31がDMAコントローラ12に対して複数回のDMA転送設定を実行して、擬似的にチェイン転送を実現することができる。これによりCPU11への割り込み回数が減り、CPU11への負荷の軽減と転送パフォーマンスの向上を図ることができる。
図14は、本発明によるDMA転送システム30の変形例の構成を示す構成図である。図14において、図3と同一の構成要素は同一の番号で参照し、その説明は省略する。
図14のDMA転送システム30Aにおいては、2つのDMAコントローラ12−1及び12−2が設けられ、DMAC制御装置31Aがこれら2つのDMAコントローラ12−1及び12−2を制御する構成となっている。DMAコントローラ12−1及び12−2の各々は、図3のDMAコントローラ12と同様の構成でよい。またDMAC制御装置31Aの構成についても、例えば図5に構成例を示したように複数の拡張用チャネル22Aに対してレジスタ設定可能な構成であれば、図3のDMAC制御装置31の場合と同様でよい。また一度には1つのDMA転送しか実行されないので、DMAコントローラ12−1及び12−2からライトバック回路35へのDMA転送終了の通知等も、図3のDMAC制御装置31の構成と同様に、拡張用チャネル22Aから直接にライトバック回路35に通知する構成でよい。
図14の構成では、例えばDMAコントローラ12−1としては基本的なDMA転送機能のみを備えたDMAコントローラを用い、DMAコントローラ12−2としては特定の転送に特化したDMA転送機能を備えたDMAコントローラを用いる等が考えられる。このようにすることで、DMAC制御装置31Aでも手間のかかる特殊なDMA転送を効率的に実行することができる。
図15は、本発明によるDMA転送システム30の別の変形例の構成を示す構成図である。図15において、図14と同一の構成要素は同一の番号で参照し、その説明は省略する。
図15のDMA転送システム30Bにおいては、図14の構成と同様に、2つのDMAコントローラ12−1及び12−2が設けられ、DMAC制御装置31Bがこれら2つのDMAコントローラ12−1及び12−2を制御する構成となっている。但しDMAC制御装置31Bは、DMAコントローラ12−1用のDMA設定回路34−1とDMAコントローラ12−2用のDMA設定回路34−2とを別々に備えている。
図16は、本発明によるDMA転送システム30の別の変形例の構成を示す構成図である。図16において、図14と同一の構成要素は同一の番号で参照し、その説明は省略する。
図16のDMA転送システム30Cにおいては、システムバスがシステムバス15−1とシステムバス15−2とに分割され、システムバス15−1とシステムバス15−2との間をDMAC制御装置31Cにより結合している。システムバス15−1には、CPU11、メモリ13、メモリ14、DMAコントローラ12−1、及びDMAC制御装置31Cが接続され、システムバス15−2には、メモリ71、メモリ72、DMAコントローラ12−2、及びDMAC制御装置31Cが接続されている。
この構成により、2つのシステムバスを跨いだDMAC制御をDMAC制御装置31Cが行なう。DMA転送設定は、CPU11が、システムバス15−1を介してDMAC制御装置31に対して実行する。DMAC制御装置31は、仮想チャネル32の拡張レジスタ41を用いて、システムバス15−1とシステムバス15−2とを区別可能なように構成すればよい。
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
DMA転送システムの構成の一例を示す図である。 複数個のDMAコントローラを実装するシステム構成を示す図である。 本発明によるDMA転送システムの構成の一例を示す図である。 仮想チャネルのレジスタ構成を示す図である。 複数の拡張用チャネルがDMAコントローラに設けられている場合にDMA設定回路によりDMA転送設定する構成の一例を示す図である。 図3のDMA転送システムによるDMA転送処理のフローチャートを示す図である。 DMA転送を実行する仮想チャネルレジスタを選択する処理のフローチャートを示す図である。 図1の従来のDMA転送システムにおけるDMA転送を示すシーケンス図である。 図2の従来のDMA転送システムにおけるDMA転送を示すシーケンス図である。 図3の本発明によるDMA転送システムにおけるDMA転送を示すシーケンス図である。 図3のDMA転送システムにおいてDMAコントローラに対するCPUからのDMA設定とDMAC制御装置からのDMA設定とが混在する場合のDMA転送処理を示す図である。 図1に示す従来のDMAコントローラのみを用いた構成においてチェイン転送機能が実装されていない場合のDMA転送処理を示す図である。 図3に示すDMA転送システムにおいてDMAC制御装置の拡張レジスタを用いることでチェイン転送機能を実現した場合のDMA転送処理を示す図である。 本発明によるDMA転送システムの変形例の構成を示す構成図である。 本発明によるDMA転送システムの別の変形例の構成を示す構成図である。 本発明によるDMA転送システムの別の変形例の構成を示す構成図である。
符号の説明
11 CPU
12 DMAコントローラ
13 メモリ
14 メモリ
15 システムバス
16 メモリ
17 専用バス
21 チャネルアービタ
22 チャネル
22A 拡張用チャネル
22B CPU用チャネル
23 FIFO
30 DMA転送システム
31 DMAC制御装置
32 仮想チャネル
33 仮想チャネルアービタ
34 DMA設定回路
35 ライトバック回路

Claims (10)

  1. システムバスに結合される少なくとも1つのチャネルを含み、該少なくとも1つのチャネルのDMA転送設定に従い該システムバスを介したDMA転送を実行するDMAコントローラと、
    該DMAコントローラに結合されるDMAC制御装置
    を含み、該DMAC制御装置は、
    それぞれがDMA転送設定可能な複数の仮想チャネルと、
    該複数の仮想チャネルの1つを選択する仮想チャネルアービタと、
    該選択された仮想チャネルの該DMA転送設定の内容を読み出して該DMAコントローラの該少なくとも1つのチャネルにDMA転送設定として書き込むDMA設定回路
    を含むことを特徴とするDMA転送システム。
  2. 該少なくとも1つのチャネルの各々は、
    該システムバスのバスマスタとして機能するDMA制御回路と、
    DMA転送設定を格納するチャネルレジスタ
    を含み、該複数の仮想チャネルの各々はDMA転送設定を格納する仮想チャネルレジスタを含むことを特徴とする請求項1記載のDMA転送システム。
  3. 該システムバスに結合されるCPUを更に含み、該DMAC制御装置は該システムバスに結合され、該複数の仮想チャネルは該システムバスを介して該CPUにより該DMA転送設定可能なように構成されることを特徴とする請求項1記載のDMA転送システム。
  4. 該DMAコントローラの該少なくとも1つのチャネルは、該CPUにより該システムバスを介してDMA転送設定可能なように構成されることを特徴とする請求項3記載のDMA転送システム。
  5. 該DMAC制御装置は、該DMAコントローラの該少なくとも1つのチャネルからのDMA転送終了を示す信号を受け取り、該選択された仮想チャネルのレジスタ設定内容を更新するライトバック回路を更に含むことを特徴とする請求項1記載のDMA転送システム。
  6. 該複数の仮想チャネルの各々は、
    該DMAコントローラの該少なくとも1つのチャネルのDMA転送設定と同等のDMA転送設定を格納する仮想チャネルレジスタと、
    該DMAコントローラの該少なくとも1つのチャネルに設定可能なDMA転送設定以外のDMA転送設定を格納する拡張レジスタ
    を含み、該DMAC制御装置は該選択された仮想チャネルの該仮想チャネルレジスタの内容及び該拡張レジスタの内容の少なくとも一方に応じて該DMAコントローラの動作を制御することを特徴とする請求項1記載のDMA転送システム。
  7. 該拡張レジスタは、該DMAコントローラが実行する該DMA転送が複数の転送元アドレスを対象とする場合に、該複数の転送元アドレスの少なくとも1つを格納する拡張アドレスレジスタを含むことを特徴とする請求項6記載のDMA転送システム。
  8. 該拡張レジスタは、該DMAコントローラの該少なくとも1つのチャネルにDMA転送設定を複数回書き込むことにより該DMAC制御装置が該DMAコントローラに複数回のDMA転送を実行させて擬似的にチェイン転送を実現する場合に、該チェイン転送を指定する拡張転送モードレジスタを含むことを特徴とする請求項6記載のDMA転送システム。
  9. 該複数の仮想チャネルの各々は少なくとも1つのグループにグループ分けされ、該少なくとも1つのグループは該DMAコントローラの該少なくとも1つのチャネルに一対一に対応付けられており、該仮想チャネルアービタは該少なくとも1つのチャネルの1つに対して、該少なくとも1つのグループのうちの対応するグループの中から該複数の仮想チャネルのうちの1つを選択するよう構成されることを特徴とする請求項1記載のDMA転送システム。
  10. 該DMAコントローラの該少なくとも1つのチャネルに該DMA転送設定を書き込む動作に関して、該少なくとも1つのグループ間で優先順位が割当てられていることを特徴とする請求項9記載のDMA転送システム。
JP2005268217A 2005-09-15 2005-09-15 Dma転送システム Expired - Fee Related JP4499008B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005268217A JP4499008B2 (ja) 2005-09-15 2005-09-15 Dma転送システム
US11/360,609 US7970959B2 (en) 2005-09-15 2006-02-24 DMA transfer system using virtual channels

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005268217A JP4499008B2 (ja) 2005-09-15 2005-09-15 Dma転送システム

Publications (2)

Publication Number Publication Date
JP2007080037A true JP2007080037A (ja) 2007-03-29
JP4499008B2 JP4499008B2 (ja) 2010-07-07

Family

ID=37895515

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005268217A Expired - Fee Related JP4499008B2 (ja) 2005-09-15 2005-09-15 Dma転送システム

Country Status (2)

Country Link
US (1) US7970959B2 (ja)
JP (1) JP4499008B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009037526A (ja) * 2007-08-03 2009-02-19 Mimaki Engineering Co Ltd データ転送装置、リクエスト発生装置、及びリクエスト発生方法
JP2009151487A (ja) * 2007-12-19 2009-07-09 Panasonic Corp Dma転送制御装置及びデータ転送装置
JP2013041534A (ja) * 2011-08-19 2013-02-28 Fujitsu Semiconductor Ltd 半導体集積回路および割り込み生成方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009211248A (ja) * 2008-03-03 2009-09-17 Panasonic Corp Dma転送装置
US8417842B2 (en) * 2008-05-16 2013-04-09 Freescale Semiconductor Inc. Virtual direct memory access (DMA) channel technique with multiple engines for DMA controller
US8051223B1 (en) 2008-12-09 2011-11-01 Calos Fund Limited Liability Company System and method for managing memory using multi-state buffer representations
KR102254676B1 (ko) 2014-10-31 2021-05-21 삼성전자주식회사 이미지를 실시간으로 처리할 수 있는 이미지 처리 회로와 이를 포함하는 장치들
US10162770B2 (en) * 2016-06-30 2018-12-25 Intel Corporation Virtual machine migration in rack scale systems
US11023400B1 (en) 2020-01-20 2021-06-01 International Business Machines Corporation High performance DMA transfers in host bus adapters

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63244158A (ja) * 1987-03-27 1988-10-11 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン コンピュータ・システム
JPH0199147A (ja) * 1987-08-07 1989-04-18 Honeywell Bull Inc 仮想入出力指令の変換装置および変換方法
JPH06509896A (ja) * 1992-05-12 1994-11-02 セイコーエプソン株式会社 スケーラブル・コプロセッサ
JPH09231161A (ja) * 1995-11-03 1997-09-05 Sun Microsyst Inc 直接メモリ・アクセス(dma)システム
JP2002530778A (ja) * 1998-11-24 2002-09-17 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 複数の仮想ダイレクトメモリアクセスチャネルをサポートするためのダイレクトメモリアクセスエンジン
JP2003256356A (ja) * 2002-03-04 2003-09-12 Toshiba Corp Dmaコントローラ
US20040093438A1 (en) * 2002-11-07 2004-05-13 Odom Brian Keith DMA device configured to configure DMA resources as multiple virtual DMA channels for use by I/O resources

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487628B1 (en) * 1999-03-31 2002-11-26 Compaq Computer Corporation Peripheral component interface with multiple data channels and reduced latency over a system area network
US6418489B1 (en) * 1999-10-25 2002-07-09 Motorola, Inc. Direct memory access controller and method therefor
US20030061431A1 (en) * 2001-09-21 2003-03-27 Intel Corporation Multiple channel interface for communications between devices
JP2003242098A (ja) 2002-02-18 2003-08-29 Mitsubishi Electric Corp 半導体集積回路

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63244158A (ja) * 1987-03-27 1988-10-11 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン コンピュータ・システム
JPH0199147A (ja) * 1987-08-07 1989-04-18 Honeywell Bull Inc 仮想入出力指令の変換装置および変換方法
JPH06509896A (ja) * 1992-05-12 1994-11-02 セイコーエプソン株式会社 スケーラブル・コプロセッサ
JPH09231161A (ja) * 1995-11-03 1997-09-05 Sun Microsyst Inc 直接メモリ・アクセス(dma)システム
JP2002530778A (ja) * 1998-11-24 2002-09-17 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 複数の仮想ダイレクトメモリアクセスチャネルをサポートするためのダイレクトメモリアクセスエンジン
JP2003256356A (ja) * 2002-03-04 2003-09-12 Toshiba Corp Dmaコントローラ
US20040093438A1 (en) * 2002-11-07 2004-05-13 Odom Brian Keith DMA device configured to configure DMA resources as multiple virtual DMA channels for use by I/O resources

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009037526A (ja) * 2007-08-03 2009-02-19 Mimaki Engineering Co Ltd データ転送装置、リクエスト発生装置、及びリクエスト発生方法
JP2009151487A (ja) * 2007-12-19 2009-07-09 Panasonic Corp Dma転送制御装置及びデータ転送装置
JP2013041534A (ja) * 2011-08-19 2013-02-28 Fujitsu Semiconductor Ltd 半導体集積回路および割り込み生成方法

Also Published As

Publication number Publication date
JP4499008B2 (ja) 2010-07-07
US7970959B2 (en) 2011-06-28
US20070073924A1 (en) 2007-03-29

Similar Documents

Publication Publication Date Title
JP4499008B2 (ja) Dma転送システム
US7127563B2 (en) Shared memory architecture
US7533195B2 (en) DMA controller for digital signal processors
JP4139771B2 (ja) キャッシュメモリバーストサイクル中にバスアービトレーションを制御するためのシステム及び方法
US8145815B2 (en) Data processing system
US20060259662A1 (en) Data trnasfer apparatus, data transfer method, and program
US20050027920A1 (en) Crossbar switch that supports a multi-port slave device and method of operation
US7395364B2 (en) Data transfer control apparatus
US20060179192A1 (en) Flow control method to improve bus utilization in a system-on-a-chip integrated circuit
JP2001142842A (ja) Dmaハンドシェークプロトコル
US6763448B1 (en) Microcomputer and microcomputer system
US20120047299A1 (en) Data transfer device, method of transferring data, and image forming apparatus
JP2008009817A (ja) 半導体装置及びデータ転送方法
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
JP2016173798A (ja) 半導体装置
US7380027B2 (en) DMA controller and DMA transfer method
US7310717B2 (en) Data transfer control unit with selectable transfer unit size
US7185122B2 (en) Device and method for controlling data transfer
US7240129B2 (en) DMA controller having programmable channel priority
JP2005165508A (ja) ダイレクトメモリアクセスコントローラ
JP4151362B2 (ja) バス調停方式、データ転送装置、及びバス調停方法
JP2002342266A (ja) データプロセッサ
JP2008165463A (ja) バス制御装置
JPH06131294A (ja) データ転送装置
JP2007108858A (ja) ピン共有装置およびピン共有方法

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090818

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091016

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

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

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

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4499008

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140423

Year of fee payment: 4

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees