JP4710304B2 - Data transfer control device - Google Patents
Data transfer control device Download PDFInfo
- Publication number
- JP4710304B2 JP4710304B2 JP2004328386A JP2004328386A JP4710304B2 JP 4710304 B2 JP4710304 B2 JP 4710304B2 JP 2004328386 A JP2004328386 A JP 2004328386A JP 2004328386 A JP2004328386 A JP 2004328386A JP 4710304 B2 JP4710304 B2 JP 4710304B2
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- area
- memory
- transfer method
- element data
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Bus Control (AREA)
Description
本発明は、データ転送制御装置に関し、特にプロセッサと付加ハードウェアとの間のデータ転送に関する制御を行うデータ転送制御装置ならびにそれを使用したコンピュータシステム、および、これらにおける処理方法ならびに当該方法をコンピュータに実行させるプログラムに関する。 The present invention relates to a data transfer control device, and in particular, a data transfer control device that performs control related to data transfer between a processor and additional hardware, a computer system using the same, a processing method therefor, and the method in a computer. It relates to the program to be executed.
近年、一般的な機能を有するプロセッサに専用のハードウェアを付加することにより、より高い機能を提供するコンピュータシステムが増えている。そのような専用ハードウェアの一例として、グラフィック処理専用として設けられたグラフィックアクセラレータがある。このグラフィックアクセラレータは、プロセッサから主記憶上の画像データを受け取り、所定の処理を施して表示部に描画を行う。 In recent years, an increasing number of computer systems provide higher functions by adding dedicated hardware to processors having general functions. An example of such dedicated hardware is a graphic accelerator provided exclusively for graphic processing. The graphic accelerator receives image data on the main memory from the processor, performs predetermined processing, and draws on the display unit.
このような付加ハードウェアとプロセッサとの間では大量のデータが転送される可能性があるが、近年高速化の著しいプロセッサの演算処理速度と比較すると、データ転送速度は十分とはいえない。 Although a large amount of data may be transferred between such additional hardware and the processor, the data transfer speed is not sufficient compared to the arithmetic processing speed of a processor that has recently been remarkably increased in speed.
これに対して、ワークステーションやパーソナルコンピュータのウィンドウを描画するためのデータ(以下、ウィンドウ情報という。)をグラフィックアクセラレータへ転送する際、データ量が多い場合にはそのウィンドウ情報そのものを逐一グラフィックアクセラレータへ転送するのではなく、プロセッサにおけるアドレスを通知しておいてDMA(Direct Memory Access)によりウィンドウ情報を転送する転送方式が提案されている(例えば、特許文献1参照。)。
しかしながら、上述の従来技術においては、ある処理を複数組のデータに対して順次行う場合には、それらデータを1組ずつプロセッサ側のメインメモリから付加ハードウェアの専用メモリに転送することになる。このとき、データ同士が互いに重なり合う場合には、その重なり合った部分を重複して転送することになるため、同じデータを複数回転送するという無駄が生じ得る。 However, in the above-described prior art, when a certain process is sequentially performed on a plurality of sets of data, the sets are transferred one by one from the main memory on the processor side to a dedicated memory of additional hardware. At this time, when the data overlap each other, the overlapped portion is transferred in duplicate, so that the same data may be wasted a plurality of times.
そこで、本発明は、プロセッサから付加ハードウェアに対して複数組のデータを転送する際、データ同士が互いに重なり合う場合にはそれらデータを包括する領域を一括して転送することにより、効率の良いデータ転送を実現することを目的とする。 Therefore, when transferring a plurality of sets of data from the processor to the additional hardware, if the data overlap each other, the present invention transfers the area including the data in a lump to efficiently transfer the data. The purpose is to realize the transfer.
本発明は、上記課題を解決するためになされたものであり、その第1の側面は、所定の構造を有する要素データを第1のメモリから第2のメモリに転送する際の転送制御を行うデータ転送制御装置であって、上記第1のメモリにおいて上記要素データを少なくとも1つ含む包括領域を算出する包括領域算出手段と、上記包括領域全体を一括して上記第1のメモリから上記第2のメモリに転送させる一括転送制御手段とを具備することを特徴とするデータ転送制御装置である。これにより、所定の構造を有する要素データを少なくとも1つ含む包括領域全体を一括して転送させるという作用をもたらす。すなわち、要素データ同士が重なり合うような場合であっても重複することなく効率の良いデータ転送を行わせるとともに、バースト転送によるデータ転送とデータ転送以外の本来の処理とを並行して行わせるという作用をもたらす。 The present invention has been made to solve the above-mentioned problems, and a first aspect thereof performs transfer control when transferring element data having a predetermined structure from the first memory to the second memory. A data transfer control device comprising: a comprehensive area calculating means for calculating a comprehensive area including at least one of the element data in the first memory; and the entire comprehensive area from the first memory to the second A data transfer control device comprising: batch transfer control means for transferring data to the memory. As a result, the entire inclusion area including at least one element data having a predetermined structure is collectively transferred. In other words, even when element data overlap each other, efficient data transfer is performed without duplication, and data transfer by burst transfer and original processing other than data transfer are performed in parallel. Bring.
また、本発明の第2の側面は、所定の2次元領域において矩形構造を有する要素データを第1のメモリから第2のメモリに転送する際の転送制御を行うデータ転送制御装置であって、上記第1のメモリにおいて上記要素データを少なくとも2つ含む包括領域を算出する包括領域算出手段と、上記包括領域全体を一括して上記第1のメモリから上記第2のメモリに転送させる一括転送制御手段とを具備することを特徴とするデータ転送制御装置である。これにより、矩形構造を有する要素データを少なくとも2つ含む包括領域全体を一括して転送させるという作用をもたらす。 The second aspect of the present invention is a data transfer control device that performs transfer control when transferring element data having a rectangular structure in a predetermined two-dimensional area from the first memory to the second memory, A comprehensive area calculating means for calculating a comprehensive area including at least two element data in the first memory; and batch transfer control for transferring the entire comprehensive area from the first memory to the second memory in a lump. And a data transfer control device. This brings about the effect that the entire inclusion area including at least two element data having a rectangular structure is collectively transferred.
また、この第2の側面において、上記包括領域算出手段は、上記2次元領域における上記要素データの所定方向の座標を比較して上記座標の上記要素データにおける最大値および最小値を求めることにより上記包括領域を算出することができる。 In the second aspect, the comprehensive area calculation means compares the coordinates of the element data in the predetermined direction in the two-dimensional area to obtain the maximum value and the minimum value of the coordinates in the element data. A comprehensive area can be calculated.
また、本発明の第3の側面は、所定の2次元領域において矩形構造を有する要素データを第1のメモリから第2のメモリに転送する際の転送制御を行うデータ転送制御装置であって、上記第1のメモリにおいて上記要素データを少なくとも2つ含む包括領域を算出する包括領域算出手段と、上記包括領域全体を一括して転送すべきか逐次に転送すべきかを規定する転送方法規定手段と、上記転送方法規定手段に基づいて上記包括領域全体を一括して転送すべきか逐次に転送すべきかの転送方法を判断する転送方法判断手段と、上記転送方法によって上記要素データを上記第1のメモリから上記第2のメモリに転送させる一括転送制御手段とを具備することを特徴とするデータ転送制御装置である。これにより、矩形構造を有する要素データを転送するに際して、要素データを逐次転送すべきかもしくは要素データを含む包括領域全体を一括して転送すべきかを判断し、最適な転送方法により転送させるという作用をもたらす。 The third aspect of the present invention is a data transfer control device that performs transfer control when transferring element data having a rectangular structure in a predetermined two-dimensional area from the first memory to the second memory, A comprehensive area calculating means for calculating a comprehensive area including at least two element data in the first memory; a transfer method specifying means for specifying whether the entire comprehensive area should be transferred in a batch or sequentially; Based on the transfer method defining means, transfer method determining means for determining whether to transfer the entire inclusion area at once or sequentially, and transferring the element data from the first memory by the transfer method A data transfer control device comprising batch transfer control means for transferring data to the second memory. As a result, when transferring element data having a rectangular structure, it is determined whether the element data should be transferred sequentially or the entire inclusion area including the element data should be transferred at once, and the transfer can be performed by an optimal transfer method. Bring.
また、この第3の側面において、上記転送方法規定手段は前記包括領域に含まれる要素データの数に対応してそれぞれ所定のインデックスにより位置付けられる値を保持する転送方法規定テーブルにより実現することができる。その際、そこに保持される値は上記包括領域全体を一括して転送すべきか逐次に転送すべきかを規定できる。そして、上記インデックスは上記包括領域の大きさに依存するものとすることができる。 Further, in the third aspect, the transfer method defining means can be realized by a transfer method defining table that holds values each positioned by a predetermined index corresponding to the number of element data included in the inclusion area. . At that time, the value held there can define whether the entire inclusion area should be transferred in a batch or sequentially. The index may depend on the size of the inclusion area.
また、この第3の側面において、上記包括領域全体が一括して転送された場合に上記要素データの各々の上記第2のメモリにおけるアドレスを生成する転送先アドレス生成手段をさらに具備するようにしてもよい。これにより、第2のメモリに転送された要素データの処理を適切に遂行させるという作用をもたらす。 Further, in the third aspect, when the entire inclusion area is transferred in a lump, transfer destination address generation means for generating an address in the second memory of each of the element data is further provided. Also good. This brings about the effect | action of performing appropriately the process of the element data transferred to the 2nd memory.
また、本発明の第4の側面は、所定の処理を行う第1の処理手段と、上記第1の処理手段による作業領域を保持する第1のメモリと、上記第1の処理手段から指示された処理を行う第2の処理手段と、上記第2の処理手段による作業領域を保持する第2のメモリとを具備するデータ転送システムであって、上記第2の処理手段は、上記第1のメモリにおける所定の2次元領域において矩形構造を有する要素データを少なくとも2つ含む包括領域を算出する包括領域算出手段と、上記包括領域全体を一括して上記第1のメモリから上記第2のメモリに転送させる一括転送制御手段とを備えることを特徴とするデータ転送システムである。これにより、矩形構造を有する要素データを少なくとも2つ含む包括領域全体を第1のメモリから第2のメモリへ一括して転送させるという作用をもたらす。 The fourth aspect of the present invention is instructed by a first processing means for performing a predetermined process, a first memory for holding a work area by the first processing means, and the first processing means. A data transfer system comprising: a second processing unit that performs the above-described processing; and a second memory that holds a work area by the second processing unit, wherein the second processing unit includes the first processing unit A comprehensive area calculating means for calculating a comprehensive area including at least two element data having a rectangular structure in a predetermined two-dimensional area in the memory; and the entire comprehensive area is collectively transferred from the first memory to the second memory. A data transfer system comprising batch transfer control means for transferring data. This brings about the effect that the entire inclusion area including at least two element data having a rectangular structure is transferred from the first memory to the second memory in a lump.
また、本発明の第5の側面は、所定の処理を行うプロセッサと、上記プロセッサによる作業領域を保持するメインメモリと、上記プロセッサから指示された処理を行うグラフィックアクセラレータと、上記グラフィックアクセラレータによる作業領域を保持するローカルメモリとを具備するデータ転送システムであって、上記グラフィックアクセラレータは、上記メインメモリにおける所定の画像領域において矩形構造を有する画像データを少なくとも2つ含む包括領域を算出する包括領域算出手段と、上記包括領域全体を一括して上記メインメモリから上記ローカルメモリに転送させる一括転送制御手段とを備えることを特徴とするデータ転送システム。これにより、矩形構造を有する画像データを少なくとも2つ含む包括領域全体をプロセッサ側のメインメモリからグラフィックアクセラレータ側のローカルメモリへ一括して転送させるという作用をもたらす。 The fifth aspect of the present invention provides a processor that performs a predetermined process, a main memory that holds a work area by the processor, a graphic accelerator that performs a process instructed by the processor, and a work area by the graphic accelerator. And a local memory that holds a local memory, wherein the graphic accelerator calculates a comprehensive area including at least two image data having a rectangular structure in a predetermined image area in the main memory And a collective transfer control means for collectively transferring the entire inclusion area from the main memory to the local memory. As a result, the entire inclusion area including at least two pieces of image data having a rectangular structure is collectively transferred from the main memory on the processor side to the local memory on the graphic accelerator side.
また、本発明の第6の側面は、所定の2次元領域において矩形構造を有する要素データを第1のメモリから第2のメモリに転送するためのデータ転送制御方法であって、上記第1のメモリにおいて上記要素データを少なくとも2つ含む包括領域を算出する手順と、上記包括領域全体を一括して転送すべきか逐次に転送すべきかの転送方法を上記包括領域の大きさによって判断する手順と、上記転送方法によって上記要素データを上記第1のメモリから上記第2のメモリに転送させる手順とを具備することを特徴とするデータ転送制御方法である。これにより、矩形構造を有する要素データを最適な転送方法により転送させるという作用をもたらす。 According to a sixth aspect of the present invention, there is provided a data transfer control method for transferring element data having a rectangular structure in a predetermined two-dimensional area from a first memory to a second memory. A procedure for calculating a comprehensive area including at least two of the element data in the memory; a procedure for determining whether to transfer the entire comprehensive area in a batch or sequentially according to the size of the comprehensive area; A data transfer control method comprising: transferring the element data from the first memory to the second memory by the transfer method. As a result, the element data having the rectangular structure is transferred by the optimum transfer method.
また、本発明の第7の側面は、第1のメモリにおける所定の2次元領域において矩形構造を有する要素データを少なくとも2つ含む包括領域を算出する手順と、上記包括領域全体を一括して転送すべきか逐次に転送すべきかの転送方法を上記包括領域の大きさによって判断する手順と、上記転送方法によって上記要素データを上記第1のメモリから第2のメモリに転送させる手順とをコンピュータに実行させることを特徴とするプログラムである。これにより、矩形構造を有する要素データを最適な転送方法により転送させるという作用をもたらす。 According to a seventh aspect of the present invention, there is provided a procedure for calculating a comprehensive area including at least two element data having a rectangular structure in a predetermined two-dimensional area in the first memory, and transferring the entire comprehensive area in a lump. The computer executes a procedure for determining whether to transfer according to the size of the comprehensive area and a procedure for transferring the element data from the first memory to the second memory by the transfer method. It is a program characterized by making it carry out. As a result, the element data having the rectangular structure is transferred by the optimum transfer method.
本発明によれば、プロセッサから付加ハードウェアに対して複数組のデータを転送する際、データ同士が互いに重なり合う場合にはそれらデータを包括する領域を一括して転送することにより、効率の良いデータ転送を実現するという優れた効果を奏し得る。 According to the present invention, when a plurality of sets of data are transferred from the processor to the additional hardware, if the data overlap each other, efficient data can be transferred by transferring the area including the data all at once. An excellent effect of realizing the transfer can be achieved.
次に本発明の実施の形態について図面を参照して詳細に説明する。 Next, embodiments of the present invention will be described in detail with reference to the drawings.
図1は、本発明の実施の形態におけるデータ転送制御装置を実現するコンピュータシステム100の一例を示す図である。このコンピュータシステム100は、プロセッサ110と、そのメインメモリ120と、付加ハードウェアとしてのグラフィックアクセラレータ130を備える。
FIG. 1 is a diagram illustrating an example of a
そして、グラフィックアクセラレータ130は、グラフィック処理のための演算を行う演算器群140と、画像データを保持するためのローカルメモリ150と、これらを制御する制御部160とを備える。このグラフィックアクセラレータ130は、ローカルメモリ150に保持された画像データに対して演算器群140が処理を行うように構成されている。従って、メインメモリ120に保持されている画像データに対する処理を行う場合には、メインメモリ120からローカルメモリ150に一旦転送を行う必要がある。
The
プロセッサ110は、グラフィックアクセラレータ130に処理を行わせるに際して、まずメインメモリ120からローカルメモリ150に画像データを転送しておいて、その後、演算器群140に対してローカルメモリ150内の画像データに所定の処理を施すよう指示する。これら一連の処理において画像データの流れを制御するのが制御部160である。
When processing the
図2は、本発明の実施の形態における制御部160の内部構成例を示す図である。この制御部160は、一括転送制御ブロック170と、一括転送処理部180と、内部レジスタ190と、一括転送制御レジスタ400とを含んで構成されている。
FIG. 2 is a diagram illustrating an internal configuration example of the
一括転送制御ブロック170は、プロセッサ110側とのインターフェースを司るものであり、必要に応じてメインメモリ120とローカルメモリ150との間でDMA転送の制御を行う。このとき、プロセッサ110との間で必要な制御情報のやりとりを行う際に、一括転送制御レジスタ400が用いられる。この一括転送制御レジスタ400の詳細については後述する。
The batch
一括転送処理部180は、一括転送のために必要な処理を行うものであり、包括領域算出部181と、転送方法判断部182と、転送先アドレス生成部183とを備える。包括領域算出部181は、複数組の画像データを包括する領域(以下、包括領域という。)を算出するものである。転送方法判断部182は、包括領域における画像データを一括転送すべきかもしくは逐次転送すべきかという転送方法を判断するものである。転送先アドレス生成部183は、一括転送された画像データの各々についてローカルメモリ150における転送先アドレスを生成するものである。
The batch
この一括転送処理部180における各部の処理は内部レジスタ190を用いて行われる。また、包括領域算出部181はメインメモリ120に保持されている一括転送情報500(図6)を用いて包括領域を算出して、転送方法判断情報610をローカルメモリ150に生成する。転送方法判断部182は、ローカルメモリ150における転送方法判断情報610および転送方法規定テーブル620を用いて転送方法の判断を行う。また、転送先アドレス生成部183は、生成したローカルメモリ150の転送先アドレスをメインメモリ120における一括転送情報500(図6)に書き込む。
The processing of each unit in the batch
図3は、本発明の実施の形態におけるプロセッサ110から見たメモリマップの一例を示す図である。メインメモリ120には画像データの他、プロセッサ110とグラフィックアクセラレータ130との間で一括転送に関する情報をやりとりするための一括転送情報500が保持される。この一括転送情報500の開始アドレスは情報開始アドレスとして、後述の情報開始アドレスレジスタ420に保持される。
FIG. 3 is a diagram showing an example of a memory map viewed from the
メモリマップ上の所定の領域(例えば、0xffff0000を先頭とする領域)には、一括転送制御インターフェースとして、一括転送制御レジスタ400が割り当てられている。この一括転送制御レジスタ400は、指示レジスタ410と、情報開始アドレスレジスタ420と、状態レジスタ430と、転送サイズレジスタ440の4つのレジスタを含み得る。
A batch
なお、メモリマップ上の他の領域には、その他のインターフェースとして、例えば周辺機器とのインターフェース等を割り当てるようにすることができる。 For example, an interface with a peripheral device can be assigned to another area on the memory map as another interface.
図4は、本発明の実施の形態における一括転送制御レジスタ400の構成例を示す図である。この一括転送制御レジスタ400に含まれる各レジスタは、例えばそれぞれ32ビット幅レジスタとして構成され得る。
FIG. 4 is a diagram showing a configuration example of the batch
図4(a)は、指示レジスタ410の構成例を示す図である。指示レジスタ410は、転送開始指示411、終了報告モード412および最大バースト長413の各フィールドを備える。転送開始指示411は、プロセッサ110からグラフィックアクセラレータ130に対してデータ転送開始の指示を伝えるためのフィールドであり、例えば6ビットのうち最下位の1ビットをプロセッサ110が"1"にセットすることにより、グラフィックアクセラレータ130におけるデータ転送の処理が開始する。
FIG. 4A is a diagram illustrating a configuration example of the
終了報告モード412は、データ転送が終了した際のグラフィックアクセラレータ130からプロセッサ110への報告方式を定義するフィールドである。例えば10ビットのうち最下位の1ビットが"1"であれば、ポーリングモードであり、プロセッサ110は状態レジスタ430をチェックすることにより転送の終了を検出する。一方、例えば10ビットのうち最下位の1ビットが"0"であれば、割込みモードであり、転送終了時にはプロセッサ110に対する割込み信号が発生する。
The
最大バースト長413は、連続して入出力できるデータ数を表すフィールドである。例えば16ビットの値によりワードを単位とした定義が行われる。この最大バースト長413は、システムに依存する値であり、一括転送を開始する際にデータ量の限界を超えているか否かを判断するために用いられる。
The
図4(b)は、情報開始アドレスレジスタ420の構成例を示す図である。情報開始アドレスレジスタ420は情報開始アドレス421を保持する。この情報開始アドレス421は、メインメモリ120における一括転送情報500の開始アドレスを示すようになっている。この情報開始アドレス421は、プロセッサ110によって設定される。
FIG. 4B is a diagram illustrating a configuration example of the information start
図4(c)は、状態レジスタ430の構成例を示す図である。状態レジスタ430は、転送モード431および転送状態432の各フィールドを備える。転送モード431は、直前にされたデータ転送の転送方法として一括転送であったかもしくは逐次転送であったかを示すフィールドである。例えば、16ビットの最下位ビットが"1"であれば一括転送で、"0"であれば逐次転送であったことを意味するものとすることができる。この転送方法によってプロセッサ110における処理内容が変わるため、その結果をプロセッサ110に提供するために用いられる。
FIG. 4C is a diagram illustrating a configuration example of the
転送状態432は、データ転送が実行中であるか否かを示すフィールドである。例えば、16ビットの最下位ビットが"1"であれば転送中であり、"0"であれば転送中でないことを示すものとすることができる。この転送状態432は、終了報告モード412がポーリングモードである場合にプロセッサ110によって転送終了判断のために読み出される。
The
図4(d)は、転送サイズレジスタ440の構成例を示す図である。転送サイズレジスタ440は、最大横幅441、最大縦幅442、転送横幅443および転送縦幅444の各フィールドを備える。最大横幅441および最大縦幅442は、一括転送を行う場合の横幅および縦幅のそれぞれの最大サイズを示すフィールドであり、例えばそれぞれ8バイト幅のフィールドによってバイト単位でその最大サイズを示す。これら最大横幅441および最大縦幅442は、システムに依存する値であり、転送方法規定テーブル620(図9)のサイズを規定することになる。
FIG. 4D is a diagram illustrating a configuration example of the
転送横幅443および転送縦幅444は、実際に行う転送の横幅および縦幅のそれぞれのサイズを示すフィールドであり、例えばそれぞれ8バイト幅のフィールドによってバイト単位でそのサイズを示す。すなわち、これら転送横幅443および転送縦幅444は、画像データのぞれぞれのサイズを示す。
The transfer
図5は、本発明の実施の形態における画像データの配置例を示す図である。図5(a)は、画像領域における画像データの配置例である。ここでは、画像領域として、横幅kバイト、縦幅lバイトのk×lバイトの2次元領域を想定している。この画像領域の横幅kおよび縦幅lは一括転送情報500に含まれる。
FIG. 5 is a diagram showing an arrangement example of image data in the embodiment of the present invention. FIG. 5A shows an arrangement example of image data in the image area. Here, a two-dimensional area of k × l bytes having a width of k bytes and a height of 1 byte is assumed as the image area. The horizontal width k and vertical width l of this image area are included in the
この画像領域において、画像データは、横幅mバイト、縦幅nバイトのm×nバイトの2次元領域を占める矩形構造データを想定している。このような構造を有するデータを要素データと呼ぶ。この要素データの横幅mおよび縦幅nは一括転送情報500に含まれる。図における左上の画像領域の開始位置の座標を(0,0)として、要素データの開始位置の座標を位置情報(i,j)として表す。各要素データの位置情報は一括転送情報500に含まれる。
In this image area, the image data is assumed to be rectangular structure data that occupies a two-dimensional area of m × n bytes having a width of m bytes and a height of n bytes. Data having such a structure is called element data. The horizontal width m and vertical width n of the element data are included in the
図5(b)は、メインメモリ120における画像データの配置例である。メインメモリ120において、画像領域は所定の先頭アドレスからk×lバイトの領域に確保される。この画像領域の先頭アドレスは一括転送情報500に含まれる。
FIG. 5B is an example of image data arrangement in the
このメインメモリ120においては、要素データはmバイトずつ連続したデータがn個、kバイトのピッチで配置される。従って、要素データの先頭に相当する位置情報(i,j)のメインメモリ120におけるアドレスは、
位置情報(i,j)のアドレス=画像領域の先頭アドレス+k×j+i
により表される。
In the
Address of position information (i, j) = start address of image area + k × j + i
Is represented by
なお、ここでは、図5(b)においてメインメモリ120における要素データの配置例を示したが、ローカルメモリ150においても要素データが同様の配置により保持される。
Here, although an example of arrangement of element data in the
図6は、本発明の実施の形態における一括転送情報500の内容を示す図である。この一括転送情報500は一括転送を行う際の包括領域を算出するために必要な情報およびその算出結果を保持するものであり、基本情報510と、要素データ位置情報520と、要素データ転送先アドレス530とを備える。
FIG. 6 is a diagram showing the contents of the
基本情報510は、包括領域を算出するための基本的な情報であり、画像領域先頭アドレス511と、転送先開始アドレス512と、ロード最大サイズ513と、画像領域横幅514と、画像領域縦幅515と、要素データ数516と、要素データ横幅517と、要素データ縦幅518とを含む。画像領域先頭アドレス511は、転送元であるメインメモリ120における画像領域の先頭アドレス(図5(b)参照)を示す。転送先開始アドレス512は、転送先であるローカルメモリ150における画像領域の開始アドレスを示す。ロード最大サイズ513は、データ転送可能な最大サイズを示すものであり、転送開始の際の容量チェックに使用される。
The
画像領域横幅514および画像領域縦幅515は、画像領域の横幅および縦幅(図5(a)参照)をそれぞれ示す。要素データ数516は、画像領域における要素データの数を示す。要素データ横幅517および要素データ縦幅518は、各要素データの横幅および縦幅(図5(a)参照)をそれぞれ示す。
An image area
要素データ位置情報520は、各要素データの位置情報を示す。ここで、要素データ数516に規定される数をNとすると、N個の要素データの各々について位置情報DB[0]からDB[N−1]を規定することになる。各位置情報は、座標(x,y)に対応して、x座標521およびy座標522により表現される。
Element data position
要素データ転送先アドレス530は、N個の要素データの各々について要素データ転送先アドレス[0]から[N−1]を示す。基本情報510および要素データ位置情報520がプロセッサ110からグラフィックアクセラレータ130に対して提供される情報であるのに対し、この要素データ転送先アドレス530はグラフィックアクセラレータ130からプロセッサ110に対する戻り値である点で異なる。すなわち、グラフィックアクセラレータ130は、データ転送の結果として各要素データの転送先アドレスをこのフィールド(要素データ転送先アドレス530)を用いてプロセッサ110に報告する。
Element data transfer
グラフィックアクセラレータの仕様によっては、ローカルメモリ150におけるデータ配置が変わるとそのデータに対する処理を行うための制御も変わってくる場合が多い。この制御についてプロセッサ110が関与する場合に、この要素データ転送先アドレス530が必要になる。
Depending on the specifications of the graphic accelerator, when the data arrangement in the
図7は、本発明の実施の形態における包括領域算出部181による各要素データの包括領域の算出方法を示す図である。ここでは、k×lバイトの画像領域にm×nバイトの要素データが複数存在する場合を想定している。これら重なり合う複数の要素データの全体を含む包括領域は、以下の手順により求められる。
FIG. 7 is a diagram illustrating a method for calculating the comprehensive area of each element data by the comprehensive
すなわち、各要素データの位置情報を比較することにより、x座標およびy座標のそれぞれの最小値および最大値を求める。これにより、x座標の最小値xminおよび最大値xmax、ならびに、y座標の最小値yminおよび最大値ymaxが得られる。その結果、包括領域を囲む4点の座標は、P0(xmin,ymin)、P1(xmax+m,ymin)、P2(xmin,ymax+n)、および、P3(xmax+m,ymax+n)により表される。 That is, the minimum value and the maximum value of the x coordinate and the y coordinate are obtained by comparing the position information of each element data. Thereby, the minimum value x min and the maximum value x max of the x coordinate, and the minimum value y min and the maximum value y max of the y coordinate are obtained. As a result, the coordinates of the four points surrounding the inclusive region are P 0 (x min , y min ), P 1 (x max + m, y min ), P 2 (x min , y max + n), and P 3 ( x max + m, y max + n).
このとき、包括領域の横方向の幅xrangeおよび縦方向の幅yrangeは、
xrange=xmax−xmin+m
yrange=ymax−ymin+n
により求められる。
At this time, the horizontal width x range and the vertical width y range of the inclusion area are
x range = x max -x min + m
y range = y max -y min + n
It is calculated by.
また、これらの結果を利用して、上述の位置情報(x,y)の要素データ転送先アドレス530は次式により求められる。
転送先アドレス=転送先開始アドレス+xrange×(y−ymin)+(x−xmin)
Also, using these results, the element data
Transfer destination address = transfer destination start address + x range × (y− min min ) + (xx min min )
図8は、本発明の実施の形態における包括領域算出部181により生成される転送方法判断情報610の内容を示す図である。この転送方法判断情報610は、転送方法規定テーブル内インデックス611と、要素データ横幅612と、要素データ縦幅613と、要素データ数614とを備える。
FIG. 8 is a diagram showing the contents of the transfer
転送方法規定テーブル内インデックス611は、転送方法規定テーブル620におけるインデックスを示す。この転送方法規定テーブル620は、ローカルメモリ150に保持されるテーブルであり、このテーブルにおける所定位置の値によって、逐次転送すべきか一括転送すべきかを判断できるようになっている。
The transfer method
要素データ横幅612および要素データ縦幅613は、要素データの横幅mおよび縦幅nを示すものであり、一括転送情報500における要素データ横幅517および要素データ縦幅518が用いられる。要素データ数614は、要素データの数Nを示すものであり、一括転送情報500における要素データ数516が用いられる。
The element data
図9は、本発明の実施の形態における転送方法規定テーブル620の構成を示す図である。この転送方法規定テーブル620は、上述のようにローカルメモリ150に保持されるテーブルであり、このテーブルにおける所定位置の値によって、逐次転送すべきか一括転送すべきかを判断できるようになっている。各位置には、例えば"0"または"1"の値が保持されている。
FIG. 9 is a diagram showing a configuration of the transfer method definition table 620 according to the embodiment of the present invention. The transfer method definition table 620 is a table held in the
この転送方法規定テーブル620のサイズは、一括転送を行う場合の横幅および縦幅のそれぞれの最大サイズにより規定される。この最大サイズは、転送サイズレジスタ440の最大横幅441および最大縦幅442を利用することができる。すなわち、最大横幅441の範囲内および最大縦幅442の範囲内で選択された位置における値が何れであるかによって、例えば"0"であれば逐次転送をすべき旨を示し、"1"であれば一括転送をすべき旨を示すものとする。この転送方法規定テーブル620は、包括領域に含まれる要素データの数に対応してそれぞれ存在し、一括転送をすべきか否かの判断の際には包括領域に含まれる要素データの数に対応する転送方法規定テーブル620が参照される。
The size of the transfer method definition table 620 is defined by the maximum size of the horizontal width and the vertical width when performing batch transfer. As the maximum size, the maximum
この転送方法規定テーブル620において何れの位置を参照すべきかは、転送方法判断情報610における転送方法規定テーブル内インデックス611に示される。包括領域算出部181は、次式によって、この転送方法規定テーブル内インデックス611を生成する。ここで、Mmaxは最大横幅441、xrangeは包括領域の横方向の幅、yrangeは包括領域の縦方向の幅をそれぞれ表すものとする。
インデックス=Mmax×yrange+xrange
Which position should be referred to in the transfer method definition table 620 is indicated in the transfer method
Index = M max x y range + x range
この転送方法規定テーブル620は、予めローカルメモリ150において設定される必要がある。この設定のための指針としては、例えば、以下の項目が考えられる。すなわち、(a)一括転送した場合と逐次転送した場合の転送時間の差分、(b)ローカルメモリ150内の配置の違いによる処理時間の差分、(c)ローカルメモリ150内の配置の違いによるアクセラレータの制御に要する時間の差分、(d)一括転送を行った場合のローカルメモリ150内アドレス算出に要する時間、などが挙げられる。
This transfer method definition table 620 needs to be set in the
(a)において、逐次転送の転送時間は一つの要素データを転送する時間に要素データ数を掛けた値であり、一括転送の転送時間は包括領域に対する転送時間である。(b)における差分としては、例えばローカルメモリ150内でのアドレッシングが変わることによる処理サイクル数の変化などが挙げられる。(c)における差分としては、例えばローカルメモリ150内でのアドレッシングの違いを吸収するために必要な処理に要する時間が挙げられる。(d)のアドレス算出については後述する。
In (a), the transfer time for sequential transfer is a value obtained by multiplying the time for transferring one element data by the number of element data, and the transfer time for batch transfer is the transfer time for the inclusion area. Examples of the difference in (b) include a change in the number of processing cycles due to a change in addressing in the
これら処理速度の差分を、発生し得る要素データの数と、起こり得る包括領域の分布との全ての組み合わせに対して予め計算しておいて、転送方法判断情報610における要素データ数614に基づいて該当する転送方法規定テーブル620を選択することになる。その転送方法規定テーブル620において、転送方法判断情報610における転送方法規定テーブル内インデックス611に示される位置を参照することにより、転送方法の判断を行うことができる。
The difference in processing speed is calculated in advance for all combinations of the number of element data that can be generated and the distribution of possible inclusion areas, and based on the number of
次に本発明の実施の形態におけるデータ転送制御装置の動作について図面を参照して説明する。ここで、データ転送制御装置の動作を説明するにあたり、利用されるレジスタの構成について説明する。 Next, the operation of the data transfer control device according to the embodiment of the present invention will be described with reference to the drawings. Here, in describing the operation of the data transfer control device, the configuration of the registers used will be described.
図10は、本発明の実施の形態における制御部160において用いられる内部レジスタ190の内容を示す図である。X_MIN(191)およびY_MIN(192)は、包括領域におけるx座標およびy座標の最小値を保持するレジスタである。また、X_MAX(193)およびY_MAX(194)は、包括領域におけるx座標およびy座標の最大値を保持するレジスタである。これらは、それぞれ図7におけるxmin、ymin、xmax、および、ymaxに相当する。
FIG. 10 is a diagram showing the contents of the
また、X_LOAD_RANGE(195)およびY_LOAD_RANGE(1965)は、それぞれ包括領域の横方向および縦方向の幅を保持するレジスタである。これらは、それぞれ図7におけるxrangeおよびyrangeに相当する。 X_LOAD_RANGE (195) and Y_LOAD_RANGE (1965) are registers for holding the horizontal and vertical widths of the inclusion area, respectively. These correspond to the x range and y range in FIG. 7, respectively.
図11は、本発明の実施の形態におけるデータ転送制御方法の全体手順の一例を示す流れ図である。プロセッサ110からデータ転送要求が発生すると(ステップS911)、ステップS912以降の処理を開始する。具体的には、指示レジスタ410の転送開始指示411の所定のビットをプロセッサ110が有効にすることにより、グラフィックアクセラレータ130はデータ転送要求の発生を検知する。
FIG. 11 is a flowchart showing an example of the entire procedure of the data transfer control method according to the embodiment of the present invention. When a data transfer request is generated from the processor 110 (step S911), the processing after step S912 is started. Specifically, the
情報開始アドレスレジスタ420に保持された情報開始アドレス421の示す一括転送情報500において、要素データ数516が2以上を示していればステップS912以降の処理に進む(ステップS912)。一方、要素データ数516が2未満であればその要素データは逐次転送されることになる(ステップS952)。
In the
包括領域算出部181は、一括転送情報500に含まれる要素データについてそれらを含む包括領域を算出する(ステップS920)。その結果、内部レジスタ190には所定の内容が設定され、また、転送方法判断情報610が生成される。なお、この算出の詳細手順については、図12および図13により後述する。
The comprehensive
転送方法判断部182は、転送方法判断情報610および転送方法規定テーブル620に基づいて、包括領域における要素データを一括転送すべきかもしくは逐次転送すべきかという転送方法を判断する(ステップS941)。この転送方法を判断するに際して、転送方法規定テーブル620において転送方法規定テーブル内インデックス611の示す位置の値が参照される。また、包括領域のサイズ(xrange×yrange)がロード最大サイズ513を越える場合には、一括転送できないため逐次転送が選択される。
Based on the transfer
そして、ステップS941において、一括転送すべきとの判断がされた場合には包括領域における要素データがDMA転送により一括転送され(ステップS951)、逐次転送すべきとの判断がされた場合には包括領域における要素データはそれぞれ逐次転送される(ステップS952)。 If it is determined in step S941 that batch transfer is to be performed, the element data in the comprehensive area is batch transferred by DMA transfer (step S951), and if it is determined that sequential transfer is to be performed, it is comprehensive. Each element data in the area is sequentially transferred (step S952).
一括転送が行われた場合、転送先アドレス生成部183は、一括転送された要素データの各々についてローカルメモリ150における転送先アドレスを生成する(ステップS961)。この転送先アドレスの生成の内容については上述したとおりであり、一括転送情報500における転送先開始アドレス512、および、内部レジスタ190の値が使用される。そして、その結果、一括転送情報500における要素データ転送先アドレス530にその転送先アドレスが設定される。
When the batch transfer is performed, the transfer destination
データ転送(ステップS951またはS952)の終了後、そのデータ転送の転送方法(一括転送または逐次転送)が、状態レジスタ430の転送モード431に記録される(ステップS971)。また、転送終了処理として、状態レジスタ430の転送状態432が「転送中でない」状態に設定され、また、指示レジスタ410の終了報告モード412が割込みモードを示していればプロセッサ110に対する割込みが行われる(ステップS972)。
After the data transfer (step S951 or S952) is completed, the transfer method (batch transfer or sequential transfer) of the data transfer is recorded in the
図12および図13は、本発明の実施の形態における包括領域算出処理の手順の一例を示す流れ図である。この包括領域算出に先立って、内部レジスタ190の初期化が行われる(ステップS921)。すなわち、X_MINおよびX_MAXに最初の要素データの横幅を表す"DB[0].x"、X_MINおよびY_MAXに最初の要素データの縦幅を表す"DB[0].y"がそれぞれ設定される。また、インデックス変数iには"1"が設定される(ステップS922)。
12 and 13 are flowcharts showing an example of the procedure of the comprehensive area calculation process in the embodiment of the present invention. Prior to the calculation of the comprehensive area, the
そして、それぞれの要素データの位置情報のx座標値およびy座標値について最大値および最小値が検索される。すなわち、インデックス変数iにおけるx座標値がこれまでの最小値よりも小さければ(ステップS923)、新たな最小値としてX_MINにそのx座標値が保持される(ステップS924)。また、インデックス変数iにおけるy座標値がこれまでの最小値よりも小さければ(ステップS925)、新たな最小値としてY_MINにそのy座標値が保持される(ステップS926)。また、インデックス変数iにおけるx座標値がこれまでの最大値よりも大きければ(ステップS927)、新たな最大値としてX_MAXにそのx座標値が保持される(ステップS928)。さらに、インデックス変数iにおけるy座標値がこれまでの最大値よりも大きければ(ステップS929)、新たな最大値としてY_MAXにそのy座標値が保持される(ステップS931)。 Then, the maximum value and the minimum value are searched for the x coordinate value and the y coordinate value of the position information of each element data. That is, if the x coordinate value in the index variable i is smaller than the previous minimum value (step S923), the x coordinate value is held in X_MIN as a new minimum value (step S924). If the y coordinate value in the index variable i is smaller than the previous minimum value (step S925), the y coordinate value is held in Y_MIN as a new minimum value (step S926). If the x coordinate value in the index variable i is larger than the maximum value so far (step S927), the x coordinate value is held in X_MAX as a new maximum value (step S928). Furthermore, if the y coordinate value in the index variable i is larger than the maximum value so far (step S929), the y coordinate value is held in Y_MAX as a new maximum value (step S931).
その後、インデックス変数iが1つ増加され(ステップS932)、その値が要素データの数Nに達していなければステップS923以降の処理に戻り(ステップS933)、そうでなければ次のステップS934に進む。 Thereafter, the index variable i is incremented by 1 (step S932), and if the value has not reached the number N of element data, the process returns to the process after step S923 (step S933), otherwise the process proceeds to the next step S934. .
位置情報について最大値および最小値の検索が終了すると、これを使用して包括領域の横方向および縦報告の幅が算出される(ステップS934)。また、転送方法規定テーブル620におけるインデックスが算出され、転送方法判断情報610における転送方法規定テーブル内インデックス611に格納される(ステップS935)。転送方法規定テーブル620のアクセスの際には、この転送方法規定テーブル内インデックス611および要素データ数614が用いられる。
When the search for the maximum value and the minimum value for the position information is completed, the horizontal direction and the vertical report width of the comprehensive area are calculated using this (step S934). Also, an index in the transfer method definition table 620 is calculated and stored in the transfer method
図14は、本発明の実施の形態におけるプロセッサおよびグラフィックアクセラレータの全体の動作の流れを示す図である。プロセッサ110は、一括転送情報500に所定の情報を設定して(ステップS991)、指示レジスタ410の転送開始指示411の所定のビットを有効にすることによりデータ転送を要求する(ステップS992)。
FIG. 14 is a diagram showing an overall operation flow of the processor and the graphic accelerator according to the embodiment of the present invention. The
プロセッサ110によるデータ転送要求をトリガーとして、グラフィックアクセラレータ130では、包括領域算出処理(ステップS993)および転送方法判断処理(ステップS994)が行われる。そして、これら処理による結果に基づいてメインメモリ120からローカルメモリ150へのデータ転送処理(ステップS995)が行われる。このとき、一括転送が行われた場合には各要素データのローカルメモリ150における転送先アドレス生成が(ステップS996)が行われる。
The
このようなデータ転送が行われている間、プロセッサ110ではこれと並行して別処理#1乃至#X(ステップS997)が行われる。プロセッサ110は、データ転送が終了したことを割込みまたはポーリングにより検知して、その後のデータ処理(ステップS998)を行う。例えば、プロセッサ110は、グラフィックアクセラレータ130に対して、ローカルメモリ150におけるデータについて所定の演算を行うようコマンドを発行することができる。
While such data transfer is being performed, the
このように、本発明の実施の形態によれば、メインメモリ120における要素データをグラフィックアクセラレータ130のローカルメモリ150に転送するに際して、プロセッサ110によって設定された一括転送情報500に基づいて包括領域算出部181が包括領域を算出してその包括領域全体を転送することにより、要素データ同士が重なり合うような場合であっても重複することなく効率の良いデータ転送を行うことができる。このデータ転送はプロセッサ110における処理とは独立しており、プロセッサ110と並行して行うことができる。また、要素データを包括領域として一括転送すべきか否かを転送方法判断部182が判断することにより、条件に合致した転送方法を選択することができる。
As described above, according to the embodiment of the present invention, when the element data in the
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、以下に示すように特許請求の範囲における発明特定事項とそれぞれ対応関係を有するが、これに限定されるものではなく本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。 The embodiment of the present invention is an example for embodying the present invention and has a corresponding relationship with the invention-specific matters in the claims as shown below, but is not limited thereto. However, various modifications can be made without departing from the scope of the present invention.
なお、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。 The processing procedure described in the embodiment of the present invention may be regarded as a method having a series of these procedures, and a program for causing a computer to execute these series of procedures or a recording medium storing the program May be taken as
本発明の活用例として、例えばプロセッサと付加ハードウェア(例えば、グラフィックアクセラレータ)との間で多量のデータを転送する際のデータ転送制御に本発明を適用することができる。 As an application example of the present invention, for example, the present invention can be applied to data transfer control when a large amount of data is transferred between a processor and additional hardware (for example, a graphic accelerator).
100 コンピュータシステム
110 プロセッサ
120 メインメモリ
130 グラフィックアクセラレータ
140 演算器群
150 ローカルメモリ
160 制御部
170 一括転送制御ブロック
180 一括転送処理部
181 包括領域算出部
182 転送方法判断部
183 転送先アドレス生成部
190 内部レジスタ
400 一括転送制御レジスタ
410 指示レジスタ
420 情報開始アドレスレジスタ
430 状態レジスタ
440 転送サイズレジスタ
500 一括転送情報
610 転送方法判断情報
620 転送方法規定テーブル
DESCRIPTION OF
Claims (7)
前記第1のメモリにおいて前記要素データを少なくとも2つ包括する包括領域を算出する包括領域算出手段と、
前記包括領域全体を一括して転送すべきか逐次に転送すべきかを規定する転送方法規定手段と、
前記転送方法規定手段に基づいて前記包括領域全体を一括して転送すべきか逐次に転送すべきかの転送方法を判断する転送方法判断手段と、
前記転送方法によって前記要素データを前記第1のメモリから前記第2のメモリに転送させる一括転送制御手段と
を具備し、
前記転送方法規定手段は、前記包括領域に含まれる要素データの数に対応してそれぞれ所定のインデックスにより位置付けられる値を保持する転送方法規定テーブルであって、前記値が前記包括領域全体を一括して転送すべきか逐次に転送すべきかを規定するものであり、
前記インデックスは、前記包括領域の大きさに依存するものである
データ転送制御装置。 A data transfer control device that performs transfer control when transferring element data having a rectangular structure in a predetermined two-dimensional area from a first memory to a second memory,
A comprehensive area calculating means for calculating a comprehensive area for at least two covering the element data in said first memory,
Transfer method specifying means for specifying whether the entire inclusion area should be transferred in a batch or sequentially; and
Transfer method determination means for determining a transfer method of whether to transfer the entire comprehensive area collectively or sequentially based on the transfer method defining means;
Batch transfer control means for transferring the element data from the first memory to the second memory by the transfer method ;
The transfer method defining means is a transfer method defining table that holds values each positioned by a predetermined index corresponding to the number of element data included in the comprehensive area, and the values collectively collect the entire comprehensive area. That should be transferred sequentially or sequentially.
The data transfer control device , wherein the index depends on the size of the comprehensive area .
前記第2の処理手段は、前記第1のメモリにおける所定の2次元領域において矩形構造を有する要素データを少なくとも2つ包括する包括領域を算出する包括領域算出手段と、前記包括領域全体を一括して転送すべきか逐次に転送すべきかを規定する転送方法規定手段と、前記転送方法規定手段に基づいて前記包括領域全体を一括して転送すべきか逐次に転送すべきかの転送方法を判断する転送方法判断手段と、前記転送方法によって前記要素データを前記第1のメモリから前記第2のメモリに転送させる一括転送制御手段とを備え、
前記転送方法規定手段は、前記包括領域に含まれる要素データの数に対応してそれぞれ所定のインデックスにより位置付けられる値を保持する転送方法規定テーブルであって、前記値が前記包括領域全体を一括して転送すべきか逐次に転送すべきかを規定するものであり、
前記インデックスは、前記包括領域の大きさに依存するものである
データ転送システム。 First processing means for performing predetermined processing; first memory for holding a work area by the first processing means; second processing means for performing processing instructed by the first processing means; A data transfer system comprising: a second memory for holding a work area by the second processing means;
It said second processing means includes a comprehensive area calculation means for calculating at least two comprehensive comprehensive area element data having a rectangular structure in a predetermined two-dimensional region in the first memory, collectively entire comprehensive area Transfer method prescribing means for prescribing whether to transfer or sequentially transferring, and a transfer method for determining whether to transfer the entire comprehensive area at once or sequentially based on the transfer method prescribing means Determining means; and batch transfer control means for transferring the element data from the first memory to the second memory by the transfer method ;
The transfer method defining means is a transfer method defining table that holds values each positioned by a predetermined index corresponding to the number of element data included in the comprehensive area, and the values collectively collect the entire comprehensive area. That should be transferred sequentially or sequentially.
The index depends on the size of the inclusion area.
Data transfer system.
前記グラフィックアクセラレータは、前記メインメモリにおける所定の画像領域において矩形構造を有する画像データを少なくとも2つ包括する包括領域を算出する包括領域算出手段と、前記包括領域全体を一括して転送すべきか逐次に転送すべきかを規定する転送方法規定手段と、前記転送方法規定手段に基づいて前記包括領域全体を一括して転送すべきか逐次に転送すべきかの転送方法を判断する転送方法判断手段と、前記転送方法によって前記要素データを前記メインメモリから前記ローカルメモリに転送させる一括転送制御手段とを備え、
前記転送方法規定手段は、前記包括領域に含まれる要素データの数に対応してそれぞれ所定のインデックスにより位置付けられる値を保持する転送方法規定テーブルであって、前記値が前記包括領域全体を一括して転送すべきか逐次に転送すべきかを規定するものであり、
前記インデックスは、前記包括領域の大きさに依存するものである
データ転送システム。 Data transfer comprising a processor that performs a predetermined process, a main memory that holds a work area by the processor, a graphic accelerator that performs a process instructed by the processor, and a local memory that holds a work area by the graphic accelerator A system,
The graphic accelerator includes a comprehensive area calculation unit that calculates a comprehensive area that includes at least two image data having a rectangular structure in a predetermined image area in the main memory, and sequentially determines whether the entire comprehensive area should be transferred collectively. Transfer method defining means for defining whether to transfer, transfer method determining means for determining whether to transfer the entire comprehensive area in a batch or sequentially based on the transfer method defining means, and the transfer Batch transfer control means for transferring the element data from the main memory to the local memory by a method ,
The transfer method defining means is a transfer method defining table that holds values each positioned by a predetermined index corresponding to the number of element data included in the comprehensive area, and the values collectively collect the entire comprehensive area. That should be transferred sequentially or sequentially.
The index depends on the size of the inclusion area.
Data transfer system.
前記第1のメモリにおいて前記要素データを少なくとも2つ包括する包括領域を算出する手順と、
前記包括領域全体を一括して転送すべきか逐次に転送すべきかを規定する転送方法規定手段に基づいて前記包括領域全体を一括して転送すべきか逐次に転送すべきかの転送方法を判断する手順と、
前記転送方法によって前記要素データを前記第1のメモリから前記第2のメモリに転送させる手順と
を具備し、
前記転送方法規定手段は、前記包括領域に含まれる要素データの数に対応してそれぞれ所定のインデックスにより位置付けられる値を保持する転送方法規定テーブルであって、前記値が前記包括領域全体を一括して転送すべきか逐次に転送すべきかを規定するものであり、
前記インデックスは、前記包括領域の大きさに依存するものである
データ転送制御方法。 A data transfer control method for transferring element data having a rectangular structure in a predetermined two-dimensional region from a first memory to a second memory,
A step of calculating a comprehensive area for at least two covering the element data in said first memory,
Procedure for judgment of the collective of should be forwarded or sequentially be transferred transfer method across the comprehensive area based on the transfer method defining means for defining whether to forward the entire comprehensive areas sequentially should be transferred collectively When,
Transferring the element data from the first memory to the second memory by the transfer method ,
The transfer method defining means is a transfer method defining table that holds values each positioned by a predetermined index corresponding to the number of element data included in the comprehensive area, and the values collectively collect the entire comprehensive area. That should be transferred sequentially or sequentially.
The data transfer control method , wherein the index depends on a size of the comprehensive area .
前記包括領域全体を一括して転送すべきか逐次に転送すべきかを規定する転送方法規定手段に基づいて前記包括領域全体を一括して転送すべきか逐次に転送すべきかの転送方法を判断する手順と、
前記転送方法によって前記要素データを前記第1のメモリから第2のメモリに転送させる手順と
をコンピュータに実行させるプログラムであって、
前記転送方法規定手段は、前記包括領域に含まれる要素データの数に対応してそれぞれ所定のインデックスにより位置付けられる値を保持する転送方法規定テーブルであって、前記値が前記包括領域全体を一括して転送すべきか逐次に転送すべきかを規定するものであり、
前記インデックスは、前記包括領域の大きさに依存するものである
プログラム。 A step of calculating at least two comprehensive comprehensive area element data having a rectangular structure in a predetermined two-dimensional region in the first memory,
Procedure for judgment of the collective of should be forwarded or sequentially be transferred transfer method across the comprehensive area based on the transfer method defining means for defining whether to forward the entire comprehensive areas sequentially should be transferred collectively When,
A program for causing a computer to execute a procedure for transferring the element data from the first memory to the second memory by the transfer method ,
The transfer method defining means is a transfer method defining table that holds values each positioned by a predetermined index corresponding to the number of element data included in the comprehensive area, and the values collectively collect the entire comprehensive area. That should be transferred sequentially or sequentially.
The index is a program that depends on the size of the inclusion area .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004328386A JP4710304B2 (en) | 2004-11-12 | 2004-11-12 | Data transfer control device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004328386A JP4710304B2 (en) | 2004-11-12 | 2004-11-12 | Data transfer control device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2006139529A JP2006139529A (en) | 2006-06-01 |
| JP4710304B2 true JP4710304B2 (en) | 2011-06-29 |
Family
ID=36620319
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004328386A Expired - Fee Related JP4710304B2 (en) | 2004-11-12 | 2004-11-12 | Data transfer control device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4710304B2 (en) |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63284635A (en) * | 1987-05-15 | 1988-11-21 | Sumitomo Electric Ind Ltd | DMA circuit |
| JP3368511B2 (en) * | 1994-08-11 | 2003-01-20 | 富士通株式会社 | Apparatus and method for extracting connected area |
| JP3216556B2 (en) * | 1996-12-27 | 2001-10-09 | 日本電気株式会社 | Window information transfer method and window information transfer method |
-
2004
- 2004-11-12 JP JP2004328386A patent/JP4710304B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2006139529A (en) | 2006-06-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10809933B2 (en) | Matrix transfer accelerator system and method | |
| CN100498748C (en) | Computer system and direct memory access transmission method | |
| JP2016509280A (en) | Multi-mode memory access technique for graphics processing unit based memory transfer operations | |
| CN102521179A (en) | Achieving device and achieving method of direct memory access (DMA) reading operation | |
| US20070162637A1 (en) | Method, apparatus and program storage device for enabling multiple asynchronous direct memory access task executions | |
| CN101504632A (en) | DMA data transmission method and system, DMA controller | |
| US10387997B2 (en) | Information processing device, information processing method, and storage medium | |
| JP4710304B2 (en) | Data transfer control device | |
| TWI696949B (en) | Direct memory access method, device, dedicated computing chip and heterogeneous computing system | |
| CN113538623B (en) | Method, device, electronic equipment and storage medium for determining target image | |
| JP5327482B2 (en) | Image processing apparatus and image processing method | |
| CN112529984B (en) | Methods, devices, electronic devices and storage media for drawing polygons | |
| JP5739779B2 (en) | SIMD processor, control processor and processor element | |
| CN102541464B (en) | Flash storage device and data writing method thereof | |
| WO2019114044A1 (en) | Image processing method and device, electronic apparatus, and computer readable storage medium | |
| CN111221756B (en) | Method for high-efficiency downlink data transmission of upper computer | |
| US20120147050A1 (en) | Method of entering a command for zooming image shown on touch screen and touch screen device reading such command | |
| JP2025071069A (en) | Method, device, medium and equipment for high-speed calculation of feature data | |
| CN110009559B (en) | Image processing method and device | |
| WO2021031154A1 (en) | Method and device for loading feature map of neural network | |
| WO2023123914A1 (en) | Three-dimensional convolutional neural network handshake system, method, and related device | |
| CN116957908B (en) | A hardware processing architecture, processor and electronic device | |
| KR102673748B1 (en) | Multi-dimension dma controller and computer system comprising the same | |
| JP4865021B2 (en) | Image processing apparatus and image processing method | |
| JP4152383B2 (en) | Navigation system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070509 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100323 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100330 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100517 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110222 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110307 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140401 Year of fee payment: 3 |
|
| LAPS | Cancellation because of no payment of annual fees |