JP6840470B2 - 情報転送装置および情報転送方法 - Google Patents

情報転送装置および情報転送方法 Download PDF

Info

Publication number
JP6840470B2
JP6840470B2 JP2016107411A JP2016107411A JP6840470B2 JP 6840470 B2 JP6840470 B2 JP 6840470B2 JP 2016107411 A JP2016107411 A JP 2016107411A JP 2016107411 A JP2016107411 A JP 2016107411A JP 6840470 B2 JP6840470 B2 JP 6840470B2
Authority
JP
Japan
Prior art keywords
transfer
storage
control means
data
information
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.)
Active
Application number
JP2016107411A
Other languages
English (en)
Other versions
JP2017215659A (ja
Inventor
井口 雅之
雅之 井口
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2016107411A priority Critical patent/JP6840470B2/ja
Publication of JP2017215659A publication Critical patent/JP2017215659A/ja
Application granted granted Critical
Publication of JP6840470B2 publication Critical patent/JP6840470B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

Description

本発明は、情報転送装置において、データ転送に使用するバッファの省電力化に関する。
中央演算装置(CPU)を介さずに、メモリ装置や周辺機器等と直接データ転送を行う、DMA(Direct Memory Access)転送と呼ばれるデータ転送方式が存在している。そして、近年の半導体集積回路には、DMA転送を行うDMAコントローラ(以下DMACとする)と呼ばれるモジュールが多数使用されるようになった。
DMACの使用方法として、メモリ装置や周辺機器等に対するリードデータのDMA転送と、メモリ装置や周辺機器等に対するライトデータのDMA転送がある。例えば、メモリ装置や周辺機器等に対してリードデータのDMA転送を行い、そのデータをバッファ(例えば、SRAM(スタティックランダムアクセスメモリ)やレジスタ)に貯めた後、加工する(例えば、画像処理)、といった処理ブロックが存在する。あるいは、加工したデータを、一旦バッファに貯めて、そのデータをメモリ装置や周辺機器等に対してライトデータのDMA転送を行う、といった処理ブロックが存在する。
一方で、近年の半導体集積回路では高解像度の画像データを取り扱うようになり、集積度が向上している。それに伴い、DMACやCPUを代表としたデータ転送要求を発行するマスタモジュールの数が飛躍的に増加し、各マスタモジュールがデータ転送要求を発行してからデータ転送を完了するまでのレイテンシが大きくなってしまっている。したがって、DMACにおいては、バスの帯域などの要求性能を満足するために、DMA転送に使用するバッファの搭載量を増加させ、一度により多くのデータを転送するようにしている。しかし、バッファの搭載量の増加に伴い、その消費電力が大きくなってしまっているため、消費電力の削減が求められるようになってきた。
DMA転送に使用しないDMACおよびそのバッファに対して、クロック信号の供給を停止し、あるいは、電力供給を遮断する技術により省電力化が図られている。特許文献1では、DMACおよびそのバッファを複数準備し、データ転送要求の調停により使用しないDMACおよびそのバッファへのクロック信号の供給を停止し、省電力化を図る技術が紹介されている。
特開2004−118234号公報
上述したように、DMA転送においてDMACが使用するバッファの搭載量は、バスの帯域などの要求性能に依存し、通常は、様々なユースケースの中で、要求性能が一番高いユースケースに合わせて決定する。しかしながら、ユースケースによっては要求性能が異なるため、必ずしも搭載されたバッファの全体を使用することが必要とは限らない。特許文献1に提示されている方法では、データ転送に使用しないDMACおよびその全てのバッファへのクロック信号の供給を停止し、データ転送に使用するDMACおよび搭載されたバッファの全てに対してクロック信号を供給している。そのため、特許文献1に提示されている方法では、データ転送のために搭載されたバッファの一部の領域がデータ転送に使用されていなくても、そのバッファの使用されない領域では無駄な電力消費が発生している。
本発明は上記の課題に鑑みてなされたものであり、データ転送のために搭載されたバッファの中で、DMACがデータ転送に使用しないバッファ領域へのクロック信号の供給を停止する情報転送装置を提供することを目的とする。また、その情報転送装置の情報転送方法を提供することを目的とする。
上述の課題を解決するために、本発明に係る情報転送装置は、以下の構成を備える。すなわち、画像処理装置と記憶装置との間のデータ転送を制御する少なくとも一つの転送制御手段と、複数の記憶領域を有する記憶手段と、前記記憶手段を制御し、前記転送制御手段によって転送される転送データを、前記記憶手段の複数の記憶領域の少なくとも一つの記憶領域に記憶させる記憶制御手段と、前記複数の記憶領域のそれぞれにクロック信号を供給し、あるいはクロック信号を供給しないように制御する制御手段と、を有する情報転送装置であって、前記転送制御手段は、前記画像処理装置における処理内容に応じた転送データのサイズに基づいて、前記転送制御手段によって前記転送データが転送される前に、前記複数の記憶領域のうち、前記転送データを記憶するのに必要な記憶領域を示す信号を生成して、前記制御手段と前記記憶制御手段とのそれぞれに出力する処理手段を有し、前記制御手段は、前記信号に基づいて、前記転送データを記憶するのに必要な記憶領域へクロック信号を供給し、前記転送データを記憶するのに必要ない記憶領域へクロック信号を供給しないように制御し、前記記憶制御手段は、クロック信号の供給された前記記憶領域に、前記転送制御手段によって転送される転送データを記憶させることを特徴とする。
本発明の情報転送装置によれば、データ転送のために搭載されたバッファの中で、DMA転送に使用しないバッファ領域へのクロック信号の供給を停止することで、使用しないバッファ領域の省電力化を実現することができる。
第1の実施形態における情報転送装置の基本構成を示すブロック図である。 第1の実施形態における情報転送装置の一例を示すブロック図である。 (a)第1の実施形態におけるDMACの処理を説明するフローチャートである。(b)第1の実施形態における制御部の処理を説明するフローチャートである。 第1の実施形態における情報転送装置の処理の一例を示すタイミングチャートである。 第2の実施形態における情報転送装置の実施形態の一例を示すブロック図である。 第2の実施形態におけるDMACの処理を説明するフローチャートである。 第2の実施形態における情報転送装置の処理の一例を示すタイミングチャートである。
以下に、本発明にかかる実施形態の情報転送装置を、図面を参照して詳細に説明する。なお、以下の実施形態は例示であり、本発明の範囲を限定するものではない。
図1のブロック図に本実施形態の情報転送装置100の構成例を示す。情報転送装置100は、DMA転送を司るDMAC101およびDMAの転送データを一時的に保持する複数のバッファ領域104−1〜104−4で構成するバッファ104および各バッファ領域へのアクセスを制御する記憶制御部102を有する。また、情報転送装置100は、バッファ104の4つのバッファ領域104−1〜104−4へのクロック信号供給および電力供給を管理する制御部103を有する。また、DMAC101は、設定されたDMA転送情報を保持する保持部107およびDMA転送情報デコード部108を有する。バッファ104は、本実施形態の情報転送装置の記憶部である。DMAC101は、本実施形態の情報転送装置のデータ転送を制御する転送制御部である。DMA転送情報デコード部108は、DMA転送情報に基づいて通知信号を生成し、生成した通知信号を制御部103と記憶制御部102とにそれぞれ出力する処理部である。
なお、本実施形態では、記憶装置であるDRAM(ダイナミックランダムアクセスメモリ)106と画像処理装置109との間のデータ転送を行う情報転送装置100は複数存在してもよい。以下、情報転送装置100の内部の処理について説明する。
DMAC101は、DRAM106からメモリコントローラ(MEMC)105を経由して読み出したデータをバッファ104に格納するReadデータのDMA転送を行う。あるいは、バッファ104からデータを読み出し、MEMC105を経由してDRAM106にデータを格納するWriteデータのDMA転送を行う。
画像処理装置109は、情報転送装置100のバッファ104からのデータの読み出し、あるいは、バッファ104へのデータの書き込みを行う。記憶制御部102は、バッファ104の使用箇所のポインタを制御し、DMAC101および画像処理装置109が使用しないバッファ領域にアクセスしないように制御する。即ち、記憶制御部102が使用しないバッファ領域へのアクセスを禁止する。DMA転送情報の保持部107は、DMA転送に使用する情報を保持するレジスタである。
また、DMA転送情報デコード部108は、DMA転送情報保持部107にDMA転送に関する設定情報が保持され、DMA転送に関する設定情報に基づいて、バッファ104の使用領域を算出する。なお、DMA転送に関する設定情報は、転送データのサイズに関連する情報である。DMA転送に関する設定情報について、後に説明する。
DMA転送情報デコード部108は、使用するバッファ104の記憶領域を通知する信号を制御部103に出力する。さらに、DMA転送情報デコード部108は、DMA転送で使用しないバッファ104の非使用領域への書き込みあるいは読み出しを行わないように、バッファ104の使用箇所を指すポインタの上限値通知信号を記憶制御部102に出力する。なお、DMA転送情報デコード部108は、ポインタの上限値通知信号の替わりに、使用するバッファ104の記憶領域又は使用しないバッファ104の記憶領域を通知する信号を記憶制御部102に出力してもよい。
また、DMAC101は、DMA転送が完了した後、画像処理装置109とバッファ104間のデータ転送が完了していることを確認して、ポインタを初期値に戻す初期化信号を記憶制御部102に出力する。
制御部103は、DMA転送情報デコード部108より受領するバッファ104の使用領域を通知する信号に基づいて、バッファ104のバッファ領域104−1〜104−4のそれぞれへクロック信号の供給、あるいは、電力の供給を制御する。バッファ104としては、SRAM又はレジスタで構成することができるが、以下、バッファ104として、SRAMを使用した場合の構成例を説明する。なお、レジスタを使用した場合についても同様な制御で実施できるため、その説明は省略する。
[第1の実施形態]
図2のブロック図に本実施形態のバッファ104はSRAMで構成する一例を示す。図2は、図1の情報転送装置100において、バッファとしてSRAMを使用した場合の構成例である。情報転送装置200は、DMA転送を司るDMAC201およびDMAの転送データを一時的に保持する複数の記憶領域204−1〜204−4で構成するSRAM204および各記憶領域へのアクセスを制御する記憶制御部202を有する。また、情報転送装置200は、SRAM204の4つの記憶領域204−1〜204−4のそれぞれへのクロック信号供給および電力供給を制御する制御部203を有する。なお、本実施形態の記憶領域の数は4つである、記憶領域の数は4つに限らない。
また、DMAC201は、設定されたDMA転送情報を保持する保持部207およびDMA転送情報デコード部208を有する。SRAMで構成するバッファ204は、本実施形態の情報転送装置の記憶部である。DMAC201は、本実施形態の情報転送装置のデータ転送を制御する転送制御部である。DMA転送情報デコード部208は図1のDMA転送情報デコード部108と同様に、DMA転送情報に基づいて通知信号を生成し、生成した通知信号を制御部103と記憶制御部102とにそれぞれ出力する処理部である。
情報転送装置200は、情報転送装置100を基本とした構成であるため、以下、情報転送装置100で説明していない部分について説明する。
本実施形態は、保持部207は、図1の保持部107と同様にDMA転送情報を保持する。保持部207は、設定されたDMA転送要求の発行数(許容先行発行数ともいう)を保持するレジスタ210およびDMA転送の最大転送長を保持するレジスタ211およびDMA転送開始レジスタ212を含む。なお、本実施形態では、DMA転送要求の許容先行発行数は、DMAC201が処理できる転送要求の発行数を制限する値である。また、本実施形態では、DMA転送の最大転送長は、レジスタで設定するできるものとして、レジスタは設定されたDMA転送の最大転送長を保持する。
また、DMA転送情報デコード部208は、DMA転送要求の許容先行発行数およびDMA転送の最大転送長の値およびDMA転送に使用するバスのバス幅の情報に基づいて、転送データのサイズを算出して取得する。また、DMA転送情報デコード部208は、SRAM204の使用アドレスの上限値を算出し、算出したSRAM204の使用アドレスの上限値に基づいて通知信号を生成する。DMA転送情報デコード部208は、生成した通知信号を制御部203と記憶制御部202とのそれぞれに出力する。
次に、SRAM204の搭載量とデータ転送におけるSRAM204の使用量の決定方法について説明する。本実施形態のユースケースでは、画像処理装置209における処理内容によって、DMA転送に対する要求性能が異なることを想定する。DMA転送の要求性能が高い場合、図示しないCPUは、DMA転送要求の発行数や最大転送長を高い値に設定し、DMA転送の要求性能が低い場合、図示しないCPUは、DMA転送要求の発行数や最大転送長を低い値に設定する。情報転送装置200において、DMA転送に使用するバスのバス幅を8byteとし、DMA転送要求の発行数を4、最大転送長を256と設定すると、要求性能が一番高いユースケースを満足すると仮定する。このユースケースに合わせてSRAM204の搭載量を決定すると、SRAM204の搭載量は、8×4×256=8192byteとなる。ここで、別のユースケースにおいて、DMA転送要求の発行数を2、最大転送長を128に設定しても要求性能を満足する場合、SRAM204の使用量は、8×2×128=2048byteとなり、全SRAM204の搭載量に対して、四分の一で済む。
本実施形態のユースケースで想定する画像処理装置209においける処理内容は、例えば、画像処理装置209はMEMC205を経由して読み出した動画の画像データから特定物体を検知した際に、特定物体を追尾又は認識する処理がある。この処理を行うために、所定時間内に大量な画像データを連続して転送することが必要であり、DMA転送に対する要求性能が高い。この場合は、図示しないCPUがDMA転送要求の発行数を4、最大転送長を256に設定し、バッファの使用量が多くなるので、SRAM204の全ての記憶領域を使用する。
一方、画像処理装置209はMEMC205を経由して読み出した動画の画像データから特定物体を検知しなかった際に、特定物体を追尾又は認識する処理を行わず、大量な画像データを連続して転送する必要はなく、DMA転送に対する要求性能が低い。この場合は、図示しないCPUがDMA転送要求の発行数を2に、最大転送長を128に設定し、バッファの使用量が少なくてもよい。即ち、画像処理装置209における処理内容によって、DMA転送の転送データのサイズが異なる。
本実施形態では、SRAM204を一定の大きさの記憶領域に分割して搭載することで、使用しないSRAM204の記憶領域へのクロック信号の供給を停止し、あるいは、電力供給を遮断することで省電力化を図ることができる。本実施形態では、SRAM204の記憶領域を4つの記憶領域に分けて搭載する。記憶領域の制御方法について、図3(a)に示すDMAC201の制御フローチャートおよび図3(b)に示す制御部203の制御フローチャート、図4に示す情報転送装置200のリードデータのDMA転送のタイミングチャート400を用いて説明する。なお、図4のタイミングチャート400は、後述する説明の理解を容易にするための一例を示すものであり、また、全ての信号やレジスタ値を示しているわけではない。
まず、DMAC201での処理について説明する。図3(a)のステップS11でCPUがDMA転送情報保持部207内のレジスタ210にDMA転送要求の発行数を値2に設定し、レジスタ211にDMA転送の最大転送長を値128に設定する。これらの設定値が、本実施形態のユースケースで想定する画像処理装置209においける処理内容に応じて、CPUによって設定されて、図4のタイミングチャート400上の時刻T1に反映されるとする。
次に、ステップS12でDMA転送情報デコード部208が、DMA転送情報保持部207内に保持されたDMA転送要求の発行数と最大転送長の値とDMA転送に使用するバスのバス幅の情報とに基づいて、連続して転送可能なデータサイズを算出する。なお、連続して転送可能なデータサイズとは、転送要求の発行数と最大転送長とバス幅の乗算により得られるデータサイズで、連続して転送できるデータ量である。
次に、ステップS13でDMA転送情報デコード部208が算出することによって取得した転送データのデータサイズに基づいて、SRAM204の使用アドレスの上限値を算出する。その後、ステップS14で、DMA転送情報デコード部208がSRAM204の使用する記憶領域(アドレス領域)を通知する通知信号を生成し、制御部203に出力する。また、DMA転送で使用しないSRAM204の記憶領域への書き込みを行わないように、DMA転送情報デコード部208がSRAM204の書き込み先のアドレスを指すポインタの上限値を通知する通知信号を生成し、記憶制御部202に出力する。なお、SRAM204の書き込み先のアドレスを指すポインタの上限値を通知する通知信号は、SRAM204の使用する記憶領域を通知する通知信号の一例として生成される。これらの通知信号の設定および出力が時刻T2に反映される。なお、ポインタ上限値通知信号は、SRAM204と画像処理装置209の間のデータ転送でのアドレス管理にも使用される。また、使用アドレス領域通知信号およびポインタの上限値通知信号のビット数は、SRAM204の搭載量に依存する。
次に、ステップS15でCPUがDMA転送情報保持部207内のDMA転送開始レジスタ212にDMA転送を開始させる命令コードを設定し、DMA転送を開始する。DMA転送開始レジスタ212の設定およびDMA転送の開始を時刻T3に行うとする。なお、使用するSRAM204に電力およびクロック信号が供給されている状態であれば、DMA転送開始タイミングはいつでも問題ない。
その後、ステップS16でDMAC201は、DMA転送が終了し、かつ、画像処理装置209とSRAM204間の転送が完了したかどうかを判定する。タイミングチャート400に示す時刻T141のように、DMA転送の途中で、SRAM204のアドレスを指すポインタがポインタ上限値通知信号の値を超えた場合は、記憶制御部202はこれを検知する。そして、SRAM204の書き込みアドレスを指すポインタをラップアラウンドする。本実施形態では、SRAM204のアドレスが使用アドレスの上限値0x07FFを超えたため、ラップアラウンドして0x0000に戻る。その後、タイミングチャート400に示す時刻T805のように、DMAC201は、DMA転送が終了し、かつ、画像処理部装置209とSRAM204間の転送が完了したと判定すると、DMAC201にDMA_END信号がアサートされる。また、DMAC201は、時刻T807で画像処理装置から転送完了通知信号を受領し、SRAM204と画像処理装置209の間の転送完了を検知する。
そして、ステップS17に遷移する。ステップS17では、SRAM204と画像処理装置209の間の転送完了を検知した次のサイクルの時刻T808で、DMAC201がポインタ初期化信号を発行する。その次のサイクルの時刻T809でSRAM204の書き込み先のアドレスを指すポインタおよび読み出し元のアドレスを指すポインタが初期値に戻り、終了となる。
次に、制御部203での処理について説明する。図3(b)のステップS21において、制御部203は、DMAC201のDMA転送情報デコード部208から出力された使用するSRAM204の記憶領域の通知信号を受信する。使用する記憶領域の通知信号の初期値の一例は0xFである。通知信号の初期値の各ビットが4つのSRAM204の記憶領域204−1〜204−4のイネーブルビットであり、4つのSRAM204の記憶領域204−1〜204−4が全てイネーブル状態であることを示す。ステップS22でDMAC201のDMA転送情報デコード部208から発行されたSRAM204の使用する記憶領域の通知信号の値が変更されたかどうか判定することによって使用する記憶領域が変更されたかを判定する。もし、値がそのままであれば、ステップS21に遷移し、初期状態のSRAM204の記憶領域204−1〜204−4へクロック信号の供給状態を継続する。なお、初期状態のSRAM204では、全ての記憶領域204−1〜204−4にクロック信号が供給される場合があるが、これに限らず、一部の記憶領域あるいは全ての記憶領域にクロック信号が供給されていない場合もあり得る。
本実施形態では、図4のタイミングチャート400に示す時刻T2に、制御部203が値の変化した使用する記憶領域(アドレス領域)の通知信号を受領し、ステップS23に遷移する。ステップS23では、制御部203が受領した使用する記憶領域の通知信号に基づいて、SRAM204の記憶領域204−1〜204−4の中で使用しない記憶領域があるかを判定する。受領した使用する記憶領域の通知信号の示す値が0x1であるため、0x0000〜0x07FFまでのアドレスが示すSRAM204の記憶領域204−1に該当しないSRAM204の記憶領域204−2〜204−4は使用しない記憶領域であると判断する。
次にステップS24で、使用するSRAM204の記憶領域204−1にのみクロック信号の供給状態を保つ。使用しないSRAM204の記憶領域204−2〜204−4へのクロック供給を停止する。図4のタイミングチャート400において、SRAM01_CLK、SRAM02_CLK、SRAM03_CLK、SRAM04_CLKはそれぞれ記憶領域204−1、記憶領域204−2、記憶領域204−3、記憶領域204−4へのクロック信号を示す。時刻T3に使用しない記憶領域204−2〜204−4に該当するSRAM02_CLK、SRAM03_CLK、SRAM04_CLKの供給を停止する。
一方、ステップS23で、SRAM204の記憶領域204−1〜204−4の中で使用しない記憶領域はないと判定した場合、ステップS25に遷移し、SRAM204のすべての記憶領域204−1〜204−4にクロック信号を供給する。
図4に、SRAM204の1つだけの記憶領域204−1を使用し、他の3つのSRAM204の記憶領域204−2〜204−4へのクロック信号を停止し、省電力状態に移行する例を示した。なお、データ転送への要求性能に応じて、SRAM204の2つあるいは3つの記憶領域を使用し、他のSRAM204の記憶領域へのクロック信号を停止することも可能である。また、同様な制御を行った後、所定の手続きを踏んで、使用しないSRAM204の記憶領域への電力供給を遮断することもできる。
[第2の実施形態]
図5のブロック図にディスクリプタを使用した本実施形態の一例を示す。ディスクリプタとは、DMA転送に関する情報を一定のフォーマットでDRAM506等の記憶装置に保持するものである。情報転送装置500は、DMA転送を司るDMAC501およびDMAの転送データを一時的に保持する複数の記憶領域504−1〜504−4で構成するSRAM504および各記憶領域へのアクセスを制御する記憶制御部502を有する。また、情報転送装置500は、SRAM504の4つの記憶領域504−1〜504−4のそれぞれへのクロック信号供給および電力供給を管理する制御部503を有する。
DMAC501は、DMA転送情報保持部507およびDMA転送情報デコード部508およびディスクリプタ読み込み部510を有する。情報転送装置500は、情報転送装置100を基本とした構成であるため、以下、情報転送装置500が情報転送装置100と異なる部分について説明する。
DMA転送情報保持部507は、設定された閾値を保持するレジスタ511、ディスクリプタ読み込み開始レジスタ512、DMA転送要求の発行数を保持するレジスタ513およびDMA転送の最大転送長保持レジスタ514を含む。なお、本実施形態では、閾値を保持するレジスタ511には、DMA転送の転送データサイズの閾値の設定値が保持されている。
ディスクリプタ読み込み部510は、DRAM506に格納されているディスクリプタの情報(例えば、ライン長、ライン数、ブロック数の情報)を読み込む。DMA転送情報デコード部508は、ディスクリプタ制御部510の読み込んだDMA転送のライン長、ライン数、ブロック数等の転送に関する情報に基づいて、DMAの転送データサイズを算出する。
DMAC501は、算出した転送データサイズとレジスタ511の保持している閾値とを比較して、DMA転送要求の発行数を決定する。DMA転送情報保持部507のレジスタ513は決定された発行数を保持する。DMA転送情報デコード部508は、決定された転送要求の発行数およびDMA転送の最大転送長を保持するレジスタ514の値に基づいて算出された転送データサイズから、SRAM504の使用アドレスの上限値を算出する。第1の実施形態と同様に、DMA転送情報デコード部508は、算出したSRAM204の使用アドレスの上限値に基づいて通知信号を生成し、制御部503と記憶制御502とのそれぞれに生成された通知信号を出力する処理部である。
また、DMAC501は、ディスクリプタに記載されたサイズ分の転送データを、転送要求の発行数を保持するレジスタ513および最大転送長を保持するレジスタ514の値に基づいて、DMA転送する。
次に、SRAM504の使用量の決定方法について説明する。情報転送装置500において、SRAM504の搭載量は第1の実施形態と同様に8192byteであり、SRAM504の記憶領域は4等分して搭載されているとする。第1の実施形態と同様なユースケースにおいて、閾値を保持するレジスタ511にDMAの転送データサイズの閾値として0x20000が設定されているとする。実際に、ディスクリプタのライン長、ライン数、ブロック数の情報に基づいて算出されるDMAの転送データサイズと閾値との比較結果として、閾値0x20000を超えるか超えないかによって、SRAM504の使用量を決定する。
例えば、一定期間内に全てのデータを転送して処理しなければならず、全ての転送データを一回で転送しなければならない場合、その転送データの量が閾値を超えているので、全SRAM504の記憶領域を使用して早く処理を完了する必要がある。逆に、全ての転送データを二回で転送してもよい場合、転送データの半分のデータの量が閾値を超えていないので、SRAM504の記憶領域の使用量を半分にして、データを2回に分けて転送することができる。データを2回に分けて転送する場合において、例えば、ライン長8、ライン数1000、ブロック数1、使用するバスのバス幅が8byteのDMA転送を行う。この時、一回のDMAの転送データサイズは、8×1000×1×8=64000byte=0xFA00となり、閾値0x20000を下回る。したがって、DMAC501は、転送要求の発行数を半分にしてDMA転送を2回に分けて行い、SRAM504の記憶領域の使用量は、全SRAM504の搭載量(全記憶領域)に対して、半分で済むということである。この際に、使用しないSRAM504の記憶領域へのクロック信号供給を停止し、あるいは、電力供給を遮断することで省電力化を図ることができる。その制御方法について、図6に示す情報転送装置500のフローチャートおよび図7に示す情報転送装置500のライトデータのDMA転送のタイミングチャート700を用いて説明する。なお、図7のタイミングチャート700は、後述する説明の理解を容易にするための一例を示すものであり、また、全ての信号やレジスタ値を示しているわけではない。
まず、DMAC501での処理について説明する。図6のステップS31で、CPUがディスクリプタを準備する。ディスクリプタが準備できている場合、ステップS32に遷移する。ステップS32では、CPUがユースケースに応じた閾値をDMA転送情報設定部507内の閾値設定レジスタ511に設定する。この時刻を図7のタイミングチャート700における時刻T1とする。
次に、ステップS33で、CPUがDMA転送情報保持部507内のディスクリプタ読み込み開始レジスタ512にディスクリプタ読み込みを開始させる命令コードを設定する。この設定を時刻T2に行うとする。その後、ステップS34でディスクリプタ制御部510が、ディスクリプタのライン長とライン数とブロック数等の情報を読み込む。この時刻をT4とする。次に、ステップS35でDMA転送情報デコード部508がディスクリプタ制御部510の読み込んだライン長とライン数とブロック数の情報に基づいて、DMAの転送データサイズを算出する。
本実施形態では、一回のDMA転送の転送データサイズは、8×1000×1×8=64000byte=0xFA00である。ステップS36では、DMA転送情報デコード部508が算出したDMAの転送データサイズと閾値保持レジスタ511に保持された値とを比較し、その結果に基づいて、ステップS37でDMA転送要求の発行数を決定する。なお、本ユースケースは、一回のDMA転送の転送データサイズが閾値を超えていない場合は、SRAM504の記憶領域の使用量を全記憶領域の半分にして、データ転送の処理をしても問題ないユースケースである。
したがって、最大転送長は固定したまま、DMA転送要求の発行数を半分に設定し、設定した値をDMA転送要求の発行数保持レジスタ513に反映する。この時刻をタイミングチャート700の時刻T5とする。なお、本実施形態では、理解を容易にするために、最大転送長を固定したまま、発行数を半分に設定しているが、SRAM504の記憶領域の使用量に応じて、最大転送長も同時に変更してもよい。
ステップS38では、DMA転送情報デコード部508が、SRAM504の使用アドレスの上限値を算出する。本ユースケースでは、SRAM504の記憶領域の使用量は、全SRAM504搭載量の半分なので、アドレスの上限値は0x0FFFである。その後、ステップS39で、DMA転送情報デコード部508が使用アドレス領域通知信号を更新し、制御部503に出力する。また、DMA転送に使用しないSRAM504の記憶領域からの読み出しを行わないように、DMAC501がSRAM504の読み出し元のアドレスを指すポインタの上限値通知信号を更新し、記憶制御部502に出力する。これらの設定が時刻T6に反映される。また、これらの信号のビット数はSRAM504の搭載量に依存する。その後、ステップS40で、ディスクリプタ制御部510が読み込んだディスクリプタの情報に基づいて、DMA転送が開始される。なお、使用するSRAM504の記憶領域に電力およびクロック信号が供給されている状態であれば、DMA転送開始タイミングはいつでも問題ない。
その後、ステップS41でDMAC501は、DMA転送が終了し、かつ、画像処理装置509とSRAM504間の転送が完了したかどうかを判定する。まず、タイミングチャート700の時刻T14498に、DMAC501は、転送完了通知信号を受領し、画像処理装置509とSRAM504間の転送が完了したことを検知する。次に、時刻T14500に、DMAC501にDMA_END信号がアサートされると、DMAC501がDMA転送が終了したことを検知する。そして、ステップS42に遷移する。ステップS42では、DMA_END信号がDMAC501にアサートされた次のサイクルの時刻T14501で、DMAC501がポインタ初期化信号を発行する。その次のサイクルの時刻T14502でSRAM504の読み出し元のアドレスを指すポインタおよび書き込み先のアドレスを指すポインタが初期値に戻り、終了となる。
制御部503での処理は第1の実施形態の制御部203と同様であるので、その説明を省略する。
また、ディスクリプタを使用しない場合、DMA転送情報設定部507内に、ライン長を保持するレジスタ、ライン数を保持するレジスタ、ブロック数を保持するレジスタ等の転送に関する情報を保持するレジスタを設けてもよい。それらのレジスタに保持された値を使用することで、ディスクリプタを使用した場合と同様な制御で、SRAM504の省電力化が実現できる。
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置における1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100 情報転送装置
101 DMAC
102 記憶制御部
103 制御部
104 バッファ
105 MEMC
106 DRAM
107 DMA転送情報保持部
108 DMA転送情報デコード部
109 画像処理装置

Claims (10)

  1. 画像処理装置と記憶装置との間のデータ転送を制御する少なくとも一つの転送制御手段と、
    複数の記憶領域を有する記憶手段と、
    前記記憶手段を制御し、前記転送制御手段によって転送される転送データを、前記記憶手段の複数の記憶領域の少なくとも一つの記憶領域に記憶させる記憶制御手段と、
    前記複数の記憶領域のそれぞれにクロック信号を供給し、あるいはクロック信号を供給しないように制御する制御手段と、
    を有する情報転送装置であって、
    前記転送制御手段は、前記画像処理装置における処理内容に応じた転送データのサイズに基づいて、前記転送制御手段によって前記転送データが転送される前に、前記複数の記憶領域のうち、前記転送データを記憶するのに必要な記憶領域を示す信号を生成して、前記制御手段と前記記憶制御手段とのそれぞれに出力する処理手段を有し、
    前記制御手段は、前記信号に基づいて、前記転送データを記憶するのに必要な記憶領域へクロック信号を供給し、前記転送データを記憶するのに必要ない記憶領域へクロック信号を供給しないように制御し、
    前記記憶制御手段は、クロック信号の供給された前記記憶領域に、前記転送制御手段によって転送される転送データを記憶させることを特徴とする情報転送装置。
  2. 前記転送制御手段は、前記転送制御手段によって転送される前記転送データのサイズに関連する情報を保持する保持手段をさらに有し、
    前記処理手段は、前記保持手段によって保持された前記情報に基づいて、前記転送データのサイズを取得することを特徴とする請求項1に記載の情報転送装置。
  3. 前記保持手段は、前記転送データのサイズに関連する前記情報として、前記データ転送の転送要求の発行数を保持する第一レジスタと、前記転送データのサイズに関連する前記情報として、前記データ転送の最大転送長を保持する第二レジスタとを有することを特徴とする請求項2に記載の情報転送装置。
  4. 記記憶装置に格納されているディスクリプタを前記記憶装置から読み込む読み込み手段をさらに有し、
    前記読み込み手段は、前記ディスクリプタから、転送データのライン長、ライン数、ブロック数を読み込み、
    前記処理手段は、読み込まれた前記転送データのライン長、ライン数、ブロック数に基づいて、転送データのサイズを取得することを特徴とする請求項3に記載の情報転送装置。
  5. 前記保持手段は、閾値を保持する第三レジスタをさらに有し、
    前記転送制御手段は、前記転送データのサイズと前記閾値との比較結果に基づいて、前記転送要求の発行数を決定し、
    前記第一レジスタは、決定された前記転送要求の発行数を保持することを特徴とする請求項4に記載の情報転送装置。
  6. 前記制御手段は、さらに、前記複数の記憶領域のそれぞれに電力を供給し、又は前記電力の供給を停止するように制御し、
    前記転送データを記憶する記憶領域を示す前記信号に基づいて、前記転送データを記憶する記憶領域へ電力を供給し、前記転送データを記憶しない記憶領域への電力供給を停止することを特徴とする請求項1乃至の何れか1項に記載の情報転送装置。
  7. 前記記憶制御手段は、前記転送データを記憶する記憶領域を示す前記信号に基づいて、前記転送データを記憶しない記憶領域へのアクセスを禁止することを特徴とする請求項1乃至の何れか1項に記載の情報転送装置。
  8. 前記複数の記憶領域を有する前記記憶手段は、複数の記憶領域を有するSRAMであることを特徴とする請求項1乃至の何れか1項に記載の情報転送装置。
  9. 前記転送制御手段は、DMAコントローラであることを特徴とする請求項1乃至の何れか1項に記載の情報転送装置。
  10. 画像処理装置と記憶装置との間のデータ転送を制御する少なくとも一つの転送制御手段と、
    複数の記憶領域を有する記憶手段と、
    前記記憶手段を制御し、前記転送制御手段によって転送される転送データを、前記記憶手段の複数の記憶領域の少なくとも一つの記憶領域に記憶させる記憶制御手段と、
    前記複数の記憶領域のそれぞれにクロック信号を供給し、あるいはクロック信号を供給しないように制御する制御手段と、
    を有する情報転送装置の情報転送方法であって、
    前記画像処理装置における処理内容に応じた転送データのサイズに基づいて、前記転送制御手段によって前記転送データが転送される前に、前記複数の記憶領域のうち、前記転送データを記憶するのに必要な記憶領域を示す信号を生成して、前記制御手段と前記記憶制御手段とのそれぞれに出力する処理工程と、
    前記制御手段は、前記信号に基づいて、前記転送データを記憶するのに必要な記憶領域へクロック信号を供給し、前記転送データを記憶するのに必要ない記憶領域へクロック信号を供給しないように制御する工程と、
    前記記憶制御手段は、クロック信号の供給された前記記憶領域に、前記転送制御手段によって転送される転送データを記憶させる工程と、
    を有することを特徴とする方法。
JP2016107411A 2016-05-30 2016-05-30 情報転送装置および情報転送方法 Active JP6840470B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016107411A JP6840470B2 (ja) 2016-05-30 2016-05-30 情報転送装置および情報転送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016107411A JP6840470B2 (ja) 2016-05-30 2016-05-30 情報転送装置および情報転送方法

Publications (2)

Publication Number Publication Date
JP2017215659A JP2017215659A (ja) 2017-12-07
JP6840470B2 true JP6840470B2 (ja) 2021-03-10

Family

ID=60575815

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016107411A Active JP6840470B2 (ja) 2016-05-30 2016-05-30 情報転送装置および情報転送方法

Country Status (1)

Country Link
JP (1) JP6840470B2 (ja)

Also Published As

Publication number Publication date
JP2017215659A (ja) 2017-12-07

Similar Documents

Publication Publication Date Title
JP6321807B2 (ja) 車両のための制御装置
JP2007199841A (ja) 電子機器のコントローラ、バス制御装置
CN102646446A (zh) 硬件动态高速缓存电源管理
JP2009053820A (ja) 階層型キャッシュメモリシステム
JP2006338538A (ja) ストリームプロセッサ
US20100306421A1 (en) Dma transfer device
JP4325685B2 (ja) メモリを制御するメモリコントローラ、メモリモジュール、メモリの制御方法、および、コンピュータ。
JP2010277180A (ja) 情報処理システム及びデータ転送方法
US6782463B2 (en) Shared memory array
JP2011081553A (ja) 情報処理装置及びその制御方法
US20070038795A1 (en) Asynchronous bus interface and processing method thereof
JP2010211351A (ja) 半導体集積回路、省電力制御方法、省電力制御プログラム及び記録媒体
US9875051B2 (en) Memory system that controls power state of buffer memory
WO2022068149A1 (zh) 数据加载和存储系统及方法
JP5304815B2 (ja) マイクロコンピュータ
US20150177816A1 (en) Semiconductor integrated circuit apparatus
JP4957283B2 (ja) メモリを制御するメモリコントローラ、メモリの制御方法。
JP6840470B2 (ja) 情報転送装置および情報転送方法
KR20070080493A (ko) 하드웨어 폴링 처리기를 포함한 데이터 처리 시스템
US9128924B2 (en) Method and apparatus for wireless broadband systems direct data transfer
JP2008225608A (ja) メモリを制御するメモリコントローラ、メモリモジュール、メモリの制御方法
US8631214B2 (en) Memory control circuit, control method therefor, and image processing apparatus
JP2010198127A (ja) 半導体記憶デバイス及びその制御方法
US20150049571A1 (en) Memory control device, control method of memory control device, information processing apparatus
JP6590662B2 (ja) メモリを制御する制御装置及びメモリの省電力制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190520

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200714

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200909

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210217

R151 Written notification of patent or utility model registration

Ref document number: 6840470

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151