JP2007249635A - データ転送装置及びデータ転送方法 - Google Patents

データ転送装置及びデータ転送方法 Download PDF

Info

Publication number
JP2007249635A
JP2007249635A JP2006072607A JP2006072607A JP2007249635A JP 2007249635 A JP2007249635 A JP 2007249635A JP 2006072607 A JP2006072607 A JP 2006072607A JP 2006072607 A JP2006072607 A JP 2006072607A JP 2007249635 A JP2007249635 A JP 2007249635A
Authority
JP
Japan
Prior art keywords
data transfer
dma
task
command
activation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006072607A
Other languages
English (en)
Inventor
Yukio Abe
幸男 阿部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2006072607A priority Critical patent/JP2007249635A/ja
Publication of JP2007249635A publication Critical patent/JP2007249635A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】空きDMA期間を短縮し、ハードウェアリソースをより有効に使用することができるデータ転送装置等を提供する。
【解決手段】データ転送装置10は、ファームウェア20で動作するタスクから通知された順に起動コマンドとこのコマンドに対応するタスク番号をキューに格納する起動キュー制御部11と、この起動キュー制御部からキューに格納されている順に起動コマンドとタスク番号の通知を受け、この通知を受けた順に起動コマンドとタスク番号を複数のDMAチャネルのうち転送を行っていないものに通知するDMAチャネル制御部13とを備えている。DMAチャネル制御部から起動コマンドとタスク番号の通知を受けたDMAチャネルは、起動コマンドとタスク番号を格納すると共に起動コマンドに従ってデータ転送を行う。
【選択図】図1

Description

本発明は、データ転送機能を有する装置に関し、特に同一機能のDMA転送機能を複数個備えた装置に関する。
一般に同一機能のDMA(Direct Memory Access)転送機能を複数個有する装置においてDMA転送を使用する場合、その装置を制御するファームウェアが使用するDMAを番号(以下、「DMAch番号」と書く)で管理し、DMAch番号を指定して転送起動/転送終了や複数DMAの空き状況などの管理を行う必要があった。
特許文献1には、このような従来のDMAコントローラが記載されている。このDMAコントローラは、ひとつのDMA要求をデータ転送サイズの小さい複数のDMA要求に分割することにより、DMA転送処理とCPUの周辺IOデバイスへの直アクセスとによる内部バスの競合を減少させるように構成されているが、DMA転送に使用するチャネルはCPUが指定するようになっている。
特開2002−366507号公報
ファームウェアがDMAの管理をする場合、例えばファームウェア内部で複数のタスクが動作していて、各タスクがDMAを使用する場合、各タスクがどのDMAch番号のDMAを使用するかの調停を行っている間、空きDMA(転送を行っていないDMA)は動作しないことになり、つまりその間は空きDMAは動作せず、ハードウェアリソースを有効に使用できないという問題があった。
本発明の目的は、空きDMA期間を短縮し、ハードウェアリソースをより有効に使用することができるデータ転送装置等を提供することにある。
本発明の、データ転送装置は、ファームウェアで動作するタスクから通知された順に起動コマンドとこのコマンドに対応するタスク番号をキューに格納する起動キュー制御部と、この起動キュー制御部からキューに格納されている順に起動コマンドとタスク番号の通知を受け、この通知を受けた順に起動コマンドとタスク番号を複数のDMAチャネルのうち転送を行っていないものに通知するDMAチャネル制御部とを備えている。DMAチャネル制御部から起動コマンドとタスク番号の通知を受けたDMAチャネルは、起動コマンドとタスク番号を格納すると共に起動コマンドに従ってデータ転送を行う(請求項1および請求項2)。
上記データ転送装置によれば、起動コマンドは、ファームウェアから通知された順にキュー制御部に格納され、格納順に実行されるから、データ転送装置に起動コマンドを発行するファームウェアは、ファームウェアで動作している各タスクがどのDMAチャネルを使用するか決定する必要がなく、起動コマンドとそれに対応するタスク番号をキュー制御部に通知するだけでよい。
そのため、DMAチャネルへのタスク割り当てをファームウェアで管理する場合よりもDMAチャネルが空き状態である期間を短くすることが出来、より効率的にハードウェアリソースを活用することができる。また、ファームウェアの処理を簡単化および効率化することができる。
上記データ転送装置において、データ転送を終了したDMAチャネルからタスク番号の通知を受け、このタスク番号とデータ転送が終了したことを示す情報をファームウェアに通知する転送終了通知制御部を備えるようにしてもよい(請求項2)。
このようにすれば、起動コマンドを発行したファームウェアは、そのコマンドによるデータ転送が終了したことを確実に知ることができる。
本発明のデータ転送方法は、ファームウェアで動作するタスクから通知された順に、起動コマンドとこのコマンドに対応するタスク番号をキューに格納する起動キュー制御工程と、キューに格納された順に、起動コマンドを複数のDMAチャネルのうちデータ転送を行っていないものに通知するDMAチャネル制御工程と、この工程で通知を受けたDMAチャネルが起動コマンドに従ってデータ転送を実行するデータ転送工程とによりデータ転送を行う(請求項3及び請求項4)。
上記データ転送方法によれば、起動コマンドは、ファームウェアから通知された順にキューに格納され、格納順に実行されるから、起動コマンドを発行するファームウェアは、ファームウェアで動作している各タスクがどのDMAチャネルを使用するか決定する必要がなく、起動コマンドとそれに対応するタスク番号をキュー制御部に通知するだけでよい。
そのため、DMAチャネルへのタスク割り当てをファームウェアで管理する場合よりもDMAチャネルが空き状態である期間を短くすることが出来、より効率的にハードウェアリソースを活用することができる。また、ファームウェアの処理を簡単化および効率化することができる。
上記データ転送方法において、データ転送工程の終了後に、起動コマンドに対応するタスク番号とデータ転送が終了したことを示す情報をファームウェアに通知する転送終了通知工程を備えるようにしても良い(請求項4)。
このようにすれば、起動コマンドを発行したファームウェアは、そのコマンドによるデータ転送が終了したことを確実に知ることができる。
本発明によれば、起動コマンドは、ファームウェアから通知された順にキューに格納され、格納順に実行されるから、起動コマンドを発行するファームウェアは、ファームウェアで動作している各タスクがどのDMAチャネルを使用するか決定する必要がなく、起動コマンドとそれに対応するタスク番号をキュー制御部に通知するだけでよい。
そのため、DMAチャネルへのタスク割り当てをファームウェアで管理する場合よりもDMAチャネルが空き状態である期間を短くすることが出来、より効率的にハードウェアリソースを活用することが可能である。また、ファームウェアの処理を簡単化および効率化することができる。
次に、図を参照しながら本発明の一実施形態であるデータ転送装置10の構成と動作について説明する。
図1は、本発明の一実施形態であるデータ転送装置10の構成を示すブロック図である。
データ転送装置10は、この装置を制御するCPU等で動作するファームウェア20(図では、「FW」と表記する)からコマンドの送信を受け、二つのメモリまたはIOデバイスの間でデータ転送を行う装置であり、起動キュー制御部11(図では、「起動Queue制御部と表記」と表記する)とDMAch制御部13とDMA本体部15と転送終了通知制御部17とを備えている。
ファームウェア20内部で動作している10個のタスク(図1のTask0ないしTask9)からの起動コマンドとタスク番号は信号線21を通して起動キュー制御部11に通知される。起動キュー制御部11は、通知されたタスク番号をFIFO(First In First Out)方式で10個まで格納可能な構成となっている。そして、格納した起動コマンドとタスク番号の組を、信号線12を通してDMAch制御部13へ通知する。
DMAch制御部13は、DMA本体部15内部の各DMA(図1のDMA0ないしDMA3)から、たとえば空きDMAになったときにアクティブになるインプット・レディ(Input Ready)信号を受信することにより、各DMAの空き状況を常に把握しており、起動キュー制御部11から信号線12を通して通知された起動コマンドとタスク番号を空きDMAに信号線14を通して割り振っていく。また、上記のインプット・レディ信号等により起動キュー制御部11に起動コマンドを要求する。
DMA本体部15は、同時動作可能な同一機能のDMAを4個備えており、DMAch制御部13からDMAのDMAch番号と起動コマンドとタスク番号を信号線14を通して通知されると、指定されたDMAがタスク番号を格納して、データ転送を開始する。
また、DMA本体部15の各DMAはデータ転送が終了すると、格納していたタスク番号と転送終了通知を信号線16を通して転送終了通知制御部17へ通知する。データ転送を終了したDMAは空きDMAとなる。
転送終了通知制御部17は、DMA本体部15の各DMAから信号16を通して転送終了通知とタスク番号を受け取り、これらを、ファームウェア20に対して信号線18を通して通知する。
なお、図1に示したファームウェア20の内部で動作するタスクの数、起動キュー制御部11に格納可能な起動コマンド数とタスク番号の個数、DMA本体部15内部のDMAの個数は一例であり、これらはシステム要件によって変更することが可能である。
次に、データ転送装置10の動作について、図2ないし図5を用いて説明する。動作の開始時点では、起動キュー制御部11のQueue0ないしQueue9はすべて格納内容が空な状態(図では「Idle」と表記する)であり、DMA0ないしDMA3はすべてデータ転送を行っていない(図では「Idle」と表記する)ものとして説明する。
図2において、ファームウェア20は、その内部で動作するTask0からTask9までを順番に信号21を通して起動キュー制御部11に対して、各タスクが発行する起動コマンドとそのコマンドを発行したタスクを特定するタスク番号を通知する。
起動キュー制御部11にはファームウェア20から通知された順番に起動コマンドとそのタスク番号が対応付けされて格納されていく。ファームウェア20からの通知が完了した時点では、キュー11aには、先頭(図では下方)から順にTask0,Task1,・・・,Task9が格納されキュー11aは満杯となる。
次に、図3において起動キュー制御部11に格納されていたTask0ないしTask3の起動コマンドとタスク番号が信号線12を通ってDMAch制御部13に通知される。
DMAch制御部13は、DMA本体部15において、DMA0ないし3のすべてが空きDMAであることを把握しているため、DMA0にTask0の起動コマンドとタスク番号、DMA1にTask1の起動コマンドとタスク番号、DMA2にTask2の起動コマンドとタスク番号、DMA3にTask3の起動コマンドとタスク番号を割り振っている。
また、起動キュー制御部11では格納していたTask0ないし3の起動コマンドとタスク番号をDMAch制御部13に通知してしまったため、キュー11aの内容はQueue6ないし9がIdleとなり、Queue0ないし5には、Task4ないし9の起動コマンドとタスク番号が格納された状態となる。
DMA本体部15においては、起動コマンドとタスク番号を割り振られたDMA0ないし3は、それぞれデータ転送を開始する。
次に、図4には、DMA0、DMA2、DMA3がデータ転送を終了し、DMA1はデータ転送を実行中である状態を示している。
データ転送を終了したDMA0、DMA2、DMA3は、それぞれ信号線16を通して転送終了通知制御部17へ転送終了と終了した起動コマンドを発行したタスクのタスク番号を通知している。
転送終了通知を受けた転送終了通知制御部17はファームウェア20に対して、信号線18を通してTask0、Task2、Task3のタスク番号と転送終了通知を通知している。
また、転送が終了したDMA0、DMA2、DMA3は空きDMAとなっている。
次に、図5では、DMA0,DMA2、DMA3が空きDMAとなったため、起動キュー制御部11に格納されているTask4ないし6の起動コマンドとタスク番号が信号線12を通ってDMAch制御部13に通知され、DMAch制御部13は空きDMAである、DMA0、DMA2,DMA3にTask4ないし6の起動コマンドとタスク番号を割り振っている。キュー11aの内容はQueue3ないし9がIdleとなり、Queue0ないし2には、Task7ないし9の起動コマンドとタスク番号が格納された状態となる。
新たに起動コマンドとタスク番号を割り振られたDMA0、DMA2、DMA3が再度転送を開始する。
以上のような動作を、起動キュー制御部10に格納されている起動コマンドとタスク番号がなくなるまで繰り返し、起動キュー制御部11に格納された起動コマンドとタスク番号はDMA本体部15内部の空きDMAとなった各DMAにDMAch制御部13によって自動的に割り振られていく。
データ転送装置10によれば、空きDMAへの起動をDMAch制御部13で自動的に割り振る事が出来るため、ファームウェア20で管理するよりもDMAが空き状態である期間を短くすることが出来、より効率的にハードウェアリソースを活用することが出来る。
また、ファームウェア20の各タスクが使用するDMAの管理をする必要が無くなるため、ファームウェア処理を簡単化及び効率化することも出来る。
本発明の一実施形態であるデータ転送装置のブロック図である。 図1のデータ転送装置の動作を説明する図である。 図1のデータ転送装置の動作を説明する図である。 図1のデータ転送装置の動作を説明する図である。 図1のデータ転送装置の動作を説明する図である。
符号の説明
10 データ転送装置
11 起動キュー制御部
13 DMAch制御部
15 DMA本体部
17 転送終了通知制御部
20 ファームウェア

Claims (4)

  1. 同一機能のDMAチャネルを複数備えたデータ転送装置において、
    ファームウェアで動作するタスクから通知された順に起動コマンドとこのコマンドに対応するタスク番号をキューに格納する起動キュー制御部と、
    この起動キュー制御部から前記キューに格納されている順に前記起動コマンドと前記タスク番号の通知を受け、この通知を受けた順に前記起動コマンドと前記タスク番号を前記複数のDMAチャネルのうち転送を行っていないものに通知するDMAチャネル制御部とを備え、
    このDMAチャネル制御部から前記起動コマンドと前記タスク番号の通知を受けた前記DMAチャネルは、前記起動コマンドと前記タスク番号を格納すると共に前記起動コマンドに従ってデータ転送を行うことを特徴としたデータ転送装置。
  2. 前記データ転送を終了した前記DMAチャネルから前記タスク番号の通知を受け、このタスク番号と前記データ転送が終了したことを示す情報を前記ファームウェアに通知する転送終了通知制御部を備えたことを特徴とした請求項1に記載のデータ転送装置。
  3. 同一機能の複数のDMAチャネルを用いたデータ転送方法において、
    ファームウェアで動作するタスクから通知された順に、起動コマンドとこのコマンドに対応するタスク番号をキューに格納する起動キュー制御工程と、
    前記キューに格納された順に、前記起動コマンドを前記複数のDMAチャネルのうちデータ転送を行っていないものに通知するDMAチャネル制御工程と、
    この工程で前記通知を受けた前記DMAチャネルが前記起動コマンドに従ってデータ転送を実行するデータ転送工程とを備えたことを特徴としたデータ転送方法。
  4. 前記データ転送工程の終了後に、前記起動コマンドに対応するタスク番号と前記データ転送が終了したことを示す情報を前記ファームウェアに通知する転送終了通知工程を備えたことを特徴とした請求項3に記載のデータ転送方法。
JP2006072607A 2006-03-16 2006-03-16 データ転送装置及びデータ転送方法 Pending JP2007249635A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006072607A JP2007249635A (ja) 2006-03-16 2006-03-16 データ転送装置及びデータ転送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006072607A JP2007249635A (ja) 2006-03-16 2006-03-16 データ転送装置及びデータ転送方法

Publications (1)

Publication Number Publication Date
JP2007249635A true JP2007249635A (ja) 2007-09-27

Family

ID=38593856

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006072607A Pending JP2007249635A (ja) 2006-03-16 2006-03-16 データ転送装置及びデータ転送方法

Country Status (1)

Country Link
JP (1) JP2007249635A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009259209A (ja) * 2008-03-28 2009-11-05 Fujitsu Ltd データ通信制御装置、データ通信制御方法およびそのためのプログラム
JP2009277096A (ja) * 2008-05-15 2009-11-26 Fuji Xerox Co Ltd Dma制御システム、印刷装置、および転送指示プログラム
JP5357333B2 (ja) * 2010-06-11 2013-12-04 パナソニック株式会社 データ転送制御装置とその集積回路とデータ転送制御方法、データ転送終了通知装置とその集積回路とデータ転送終了通知方法、およびデータ転送制御システム
CN112823343A (zh) * 2020-03-11 2021-05-18 深圳市大疆创新科技有限公司 直接内存存取单元、处理器、设备、处理方法及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH039045U (ja) * 1989-06-15 1991-01-29

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH039045U (ja) * 1989-06-15 1991-01-29

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009259209A (ja) * 2008-03-28 2009-11-05 Fujitsu Ltd データ通信制御装置、データ通信制御方法およびそのためのプログラム
JP4516999B2 (ja) * 2008-03-28 2010-08-04 富士通株式会社 データ通信制御装置、データ通信制御方法およびそのためのプログラム
JP2009277096A (ja) * 2008-05-15 2009-11-26 Fuji Xerox Co Ltd Dma制御システム、印刷装置、および転送指示プログラム
JP4706720B2 (ja) * 2008-05-15 2011-06-22 富士ゼロックス株式会社 Dma制御システム、印刷装置、および転送指示プログラム
US8065448B2 (en) 2008-05-15 2011-11-22 Fuji Xerox Co., Ltd. DMA control system, printing apparatus, transfer instruction method and computer readable medium
JP5357333B2 (ja) * 2010-06-11 2013-12-04 パナソニック株式会社 データ転送制御装置とその集積回路とデータ転送制御方法、データ転送終了通知装置とその集積回路とデータ転送終了通知方法、およびデータ転送制御システム
US8959261B2 (en) 2010-06-11 2015-02-17 Panasonic Intellectual Property Management Co., Ltd. Data transfer control device, integrated circuit of same, data transfer control method of same, data transfer completion notification device, integrated circuit of same, data transfer completion notification method of same, and data transfer control system
CN112823343A (zh) * 2020-03-11 2021-05-18 深圳市大疆创新科技有限公司 直接内存存取单元、处理器、设备、处理方法及存储介质
WO2021179218A1 (zh) * 2020-03-11 2021-09-16 深圳市大疆创新科技有限公司 直接内存存取单元、处理器、设备、处理方法及存储介质

Similar Documents

Publication Publication Date Title
JP4456490B2 (ja) Dma装置
CN109117260B (zh) 一种任务调度方法、装置、设备和介质
WO2017166777A1 (zh) 一种任务调度方法及装置
CN110489213B (zh) 一种任务处理方法及处理装置、计算机系统
US9852008B2 (en) Computer-readable recording medium storing execution information notification program, information processing apparatus, and information processing system
US8607239B2 (en) Lock mechanism to reduce waiting of threads to access a shared resource by selectively granting access to a thread before an enqueued highest priority thread
WO2018157836A1 (zh) 一种可编程硬件的资源管理方法、可编程硬件设备及存储介质
US9189293B2 (en) Computer, virtualization mechanism, and scheduling method
US9229765B2 (en) Guarantee real time processing of soft real-time operating system by instructing core to enter a waiting period prior to transferring a high priority task
JP2007207026A (ja) Dma転送装置
JP2010181989A (ja) データ処理装置
JP2008065713A (ja) マルチプロセッサシステム及び割込み制御方法
CN108415860B (zh) 机器可读存储介质、计算系统及计算系统的主设备的方法
JP6160236B2 (ja) 情報処理装置、情報処理システム、情報処理装置の制御方法及び情報処理装置の制御プログラム
JP6372262B2 (ja) 印刷装置、およびプログラム
WO2013035246A1 (ja) 仮想計算機制御装置、仮想計算機制御方法、仮想計算機制御プログラム、及び集積回路
JP2007249635A (ja) データ転送装置及びデータ転送方法
WO2022160628A1 (zh) 命令处理装置、方法、电子设备以及计算机可读存储介质
US9740530B2 (en) Decreasing the priority of a user based on an allocation ratio
JP6368452B2 (ja) 非同期のデバイスによって実行されるタスクのスケジューリングの向上
US20150220361A1 (en) Parallel computer system, control method of parallel computer system, and computer-readable storage medium
US9128924B2 (en) Method and apparatus for wireless broadband systems direct data transfer
CN115564635A (zh) 一种gpu资源调度方法、装置、电子设备及存储介质
JP2008225641A (ja) コンピュータシステム、割り込み制御方法及びプログラム
CN112748883B (zh) 一种io请求流水线处理设备、方法、系统及存储介质

Legal Events

Date Code Title Description
A977 Report on retrieval

Effective date: 20100325

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Effective date: 20100406

Free format text: JAPANESE INTERMEDIATE CODE: A131

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100727