JP2010026762A - Data transfer device and data transfer method - Google Patents

Data transfer device and data transfer method Download PDF

Info

Publication number
JP2010026762A
JP2010026762A JP2008187041A JP2008187041A JP2010026762A JP 2010026762 A JP2010026762 A JP 2010026762A JP 2008187041 A JP2008187041 A JP 2008187041A JP 2008187041 A JP2008187041 A JP 2008187041A JP 2010026762 A JP2010026762 A JP 2010026762A
Authority
JP
Japan
Prior art keywords
transfer
set value
storage unit
data
memory address
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
JP2008187041A
Other languages
Japanese (ja)
Inventor
Hideaki Yoshida
秀明 吉田
Yuji Kinoshita
裕司 木下
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.)
Japan Radio Co Ltd
Original Assignee
Japan Radio Co 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 Japan Radio Co Ltd filed Critical Japan Radio Co Ltd
Priority to JP2008187041A priority Critical patent/JP2010026762A/en
Publication of JP2010026762A publication Critical patent/JP2010026762A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To suppress the number of value storage parts and schedulers to be arranged from being increased according to the number of setting values, in a data transfer device which transfer data by a direct memory access transfer system. <P>SOLUTION: A data transfer device has a setting value storage part which stores a setting value having the combination of a transfer source memory address and a transfer destination memory address of data transfer. The data transfer device transfers the setting value stored in an external storage part to the setting value storage part, and transfers data by direct memory access from the transfer source memory address to the transfer destination memory address according to the setting value stored in the setting value storage part. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、ダイレクトメモリアクセスによってデータの転送を行うデータ転送装置及びそのデータ転送方法に関する。   The present invention relates to a data transfer apparatus that transfers data by direct memory access and a data transfer method thereof.

従来、CPU(Central Processing Unit)に負荷を与えることなくデータ転送を行うダイレクトメモリアクセス(DMA:Direct Memory Access)転送方式が提案されている(例えば特許文献1を参照)。ダイレクトメモリアクセス転送方式では、ダイレクトメモリアクセスコントローラ(DMAC:DMA Controller)が、CPUの処理を介することなく、データ転送の処理内容を示す設定値に従ってメモリ間のデータ転送を行う。   2. Description of the Related Art Conventionally, a direct memory access (DMA) transfer method that transfers data without applying a load to a CPU (Central Processing Unit) has been proposed (see, for example, Patent Document 1). In the direct memory access transfer method, a direct memory access controller (DMAC: DMA Controller) performs data transfer between memories according to a set value indicating data transfer processing contents without going through CPU processing.

図8は、従来のDMACの構成を表す機能ブロック図である。DMAC200は、起動パルスカウンタ201、ローカルカウンタ202、複数の設定値記憶部203、複数のスケジューラ204、転送部205を備え、起動パルス発生部100から起動パルスを受けて動作する。   FIG. 8 is a functional block diagram showing the configuration of a conventional DMAC. The DMAC 200 includes a start pulse counter 201, a local counter 202, a plurality of set value storage units 203, a plurality of schedulers 204, and a transfer unit 205, and operates upon receiving a start pulse from the start pulse generation unit 100.

まず、従来のDMAC200の各機能部について説明する。起動パルスカウンタ201は、起動パルス発生部100から発生する起動パルスをDMAC200が受信した回数を計数する。ローカルカウンタ202は、DMAC200が起動パルスを受信したことを契機として、起動パルスの周期よりも短い周期でカウントを開始し、各カウント値(ローカルカウント値)を表す信号を出力する。設定値記憶部203は、複数のデータ転送の処理内容(転送元メモリアドレス及び転送先メモリアドレス)を示す設定値を、ローカルカウント値と対応付けて記憶する。スケジューラ204は、設定値記憶部203毎に配置され、対応する設定値記憶部203に記憶される設定値に従って、データ転送を転送部205に指示する。転送部205は、スケジューラ204の指示に従って、DMA転送方式によるデータ転送を行う。   First, each functional unit of the conventional DMAC 200 will be described. The activation pulse counter 201 counts the number of times that the DMAC 200 has received the activation pulse generated from the activation pulse generator 100. The local counter 202 starts counting at a cycle shorter than the cycle of the startup pulse when the DMAC 200 receives the startup pulse, and outputs a signal representing each count value (local count value). The set value storage unit 203 stores a set value indicating a plurality of data transfer processing contents (transfer source memory address and transfer destination memory address) in association with the local count value. The scheduler 204 is arranged for each setting value storage unit 203 and instructs the transfer unit 205 to transfer data according to the setting value stored in the corresponding setting value storage unit 203. The transfer unit 205 performs data transfer according to the DMA transfer method in accordance with an instruction from the scheduler 204.

次に、従来のDMAC200の動作について説明する。図9は、従来のDMACの動作の概略を表す概略図である。DMAC200が起動パルス発生部100から起動パルスを受信すると、DMAC200の起動パルスカウンタ201は起動パルスの受信回数を計数し、その数を表す信号を各スケジューラ204に送信する。また、起動パルス発生部100から起動パルスを受けると、ローカルカウンタ202は各スケジューラ204へのローカルカウント値の送信を開始する。各スケジューラ204は、起動パルスの受信回数に従って、自身が動作するタイミングであるか否か判断する。自装置が動作するタイミングであると判断したスケジューラ204は、対応する設定値記憶部203から、ローカルカウント値に対応するデータ転送の処理内容を読み出し、転送部205にデータ転送を指示する。図9の場合、まずデータ転送A・B・Cを指示するスケジューラ204が、自装置が動作するタイミングであると判断する。そして、このスケジューラ204が、受信したローカルカウント値に対応する、データ転送Aの処理内容、データ転送Bの処理内容、データ転送Cの処理内容を順に設定値記憶部203から読み出し、転送部205へそれぞれの処理内容に応じたデータ転送の指示を行う。次に起動パルスが受信された際には、データ転送D・E・Fを指示するスケジューラ204が、自装置が動作するタイミングであると判断し、同様に処理を行う。
特開2007−310735号公報
Next, the operation of the conventional DMAC 200 will be described. FIG. 9 is a schematic diagram showing an outline of the operation of the conventional DMAC. When the DMAC 200 receives a start pulse from the start pulse generator 100, the start pulse counter 201 of the DMAC 200 counts the number of times the start pulse is received, and transmits a signal representing the number to each scheduler 204. In addition, when receiving the activation pulse from the activation pulse generator 100, the local counter 202 starts transmitting the local count value to each scheduler 204. Each scheduler 204 determines whether or not it is a timing for operating itself according to the number of times of receiving the activation pulse. The scheduler 204 that has determined that it is the timing at which the device itself operates reads the data transfer processing content corresponding to the local count value from the corresponding set value storage unit 203 and instructs the transfer unit 205 to perform data transfer. In the case of FIG. 9, first, the scheduler 204 that instructs data transfer A, B, and C determines that it is time to operate the own apparatus. Then, the scheduler 204 sequentially reads out the processing details of the data transfer A, the processing details of the data transfer B, and the processing details of the data transfer C corresponding to the received local count value from the set value storage unit 203 and sends them to the transfer unit 205. A data transfer instruction corresponding to each processing content is issued. Next, when the activation pulse is received, the scheduler 204 instructing the data transfer D, E, and F determines that it is the timing at which the own apparatus operates, and performs the same processing.
JP 2007-310735 A

従来のDMAC200は、DMAC200の動作に必要な設定値の数と同数の設定値記憶部203及びスケジューラ204を備えなければならなかった。例えば、図9の場合、データ転送A・B・Cを表す設定値に対応する設定値記憶部203及びスケジューラ204と、データ転送D・E・Fを表す設定値に対応する設定値記憶部203及びスケジューラ204とが必要となる。したがって、従来は、DMAC200に設定される設定値の数に応じて、DMAC200に配置される設定値記憶部203及びスケジューラ204の数が増大してしまうという問題があった。   The conventional DMAC 200 has to include the same number of setting value storage units 203 and schedulers 204 as the number of setting values necessary for the operation of the DMAC 200. For example, in the case of FIG. 9, the setting value storage unit 203 and the scheduler 204 corresponding to the setting value representing the data transfer A, B, and C, and the setting value storage unit 203 corresponding to the setting value representing the data transfer D, E, and F. And a scheduler 204 are required. Therefore, conventionally, there is a problem that the number of setting value storage units 203 and schedulers 204 arranged in the DMAC 200 increases according to the number of setting values set in the DMAC 200.

上記事情に鑑み、本発明は、ダイレクトメモリアクセス転送方式でデータ転送を行うデータ転送装置において、配置される設定値記憶部およびスケジューラの数が設定値の数に応じて増大することを抑止可能とするデータ転送装置及びデータ転送方法を提供することを目的としている。   In view of the above circumstances, the present invention can suppress an increase in the number of setting value storage units and schedulers arranged according to the number of setting values in a data transfer device that performs data transfer using the direct memory access transfer method. An object of the present invention is to provide a data transfer apparatus and a data transfer method.

[1]上記の課題を解決するため、本発明の一態様によるデータ転送装置は、データ転送の転送元メモリアドレスと転送先メモリアドレスとの組み合わせを有する設定値を記憶する設定値記憶部と、外部の記憶部に記憶される前記設定値を前記設定値記憶部へ転送する設定値転送部と、前記設定値記憶部に記憶される設定値に従って、組み合わせとなっている前記転送元メモリアドレスから転送先メモリアドレスへ、ダイレクトメモリアクセスによってデータを転送する転送部と、を備える。   [1] In order to solve the above-described problem, a data transfer device according to an aspect of the present invention includes a set value storage unit that stores a set value having a combination of a transfer source memory address and a transfer destination memory address for data transfer; A set value transfer unit that transfers the set value stored in an external storage unit to the set value storage unit, and a combination of the transfer source memory addresses according to the set value stored in the set value storage unit A transfer unit that transfers data to the transfer destination memory address by direct memory access.

[2]また、本発明の一態様は、上記のデータ転送装置において、前記設定値記憶部に記憶される前記設定値は複数の前記組み合わせを有し、前記設定値記憶部に記憶される前記設定値は、前記外部の記憶部が前記設定値を記憶しているメモリアドレスと、前記設定値記憶部が前記設定値を記憶するメモリアドレスとを、それぞれ転送元メモリアドレスと転送先メモリアドレスとする組み合わせを有し、前記設定値転送部は、前記外部の記憶部が前記設定値を記憶しているメモリアドレスと、前記設定値記憶部が前記設定値を記憶するメモリアドレスとを、それぞれ転送元メモリアドレスと転送先メモリアドレスとする組み合わせ以外の全ての組み合わせについて前記転送部がデータを転送した後に、前記設定値記憶部に記憶される前記設定値に従って、ダイレクトメモリアクセスによって前記外部の記憶部から前記設定値記憶部へ設定値のデータを転送する、ことを特徴とする。   [2] Further, according to one aspect of the present invention, in the data transfer device, the setting value stored in the setting value storage unit includes a plurality of the combinations, and is stored in the setting value storage unit. The setting value includes a memory address at which the external storage unit stores the setting value, a memory address at which the setting value storage unit stores the setting value, a transfer source memory address and a transfer destination memory address, respectively. The set value transfer unit transfers a memory address at which the external storage unit stores the set value and a memory address at which the set value storage unit stores the set value, respectively. The setting stored in the setting value storage unit after the transfer unit has transferred data for all combinations other than the combination of the original memory address and the transfer destination memory address Accordingly transfers the data set values into the setting value storing unit from the external storage unit by direct memory access, characterized in that.

[3]また、本発明の一態様は、上記のデータ転送装置において、前記設定値記憶部は当該データ転送装置のスレーブとして機能することを特徴とする。   [3] Further, according to one aspect of the present invention, in the above data transfer device, the set value storage unit functions as a slave of the data transfer device.

[4]また、本発明の一態様は、上述した設定値記憶部を備えるデータ転送装置が行うデータ転送方法として特定されても良い。   [4] Further, one aspect of the present invention may be specified as a data transfer method performed by a data transfer device including the set value storage unit described above.

本発明により、ダイレクトメモリアクセス転送方式でデータ転送を行うデータ転送装置において、配置される設定値記憶部およびスケジューラの数が設定値の数に応じて増大することを抑止することが可能となる。   According to the present invention, in a data transfer apparatus that performs data transfer by the direct memory access transfer method, it is possible to prevent the number of setting value storage units and schedulers to be arranged from increasing according to the number of setting values.

図1は、DMAC(本発明における「データ転送装置」に相当)の機能構成を表す機能ブロック図である。図示するように、DMAC3は起動パルス発生部1と外部メモリ2とに接続される。
起動パルス発生部1は、定期的に起動パルスを発生する。
外部メモリ2(本発明における「外部の記憶部」に相当)は、DMAC3とは異なるデバイスとして構成され、データバスに接続され、設定値を記憶する。外部メモリ2は、例えばDMAC3が搭載されるコンピュータシステムにおけるメインメモリや補助記憶装置を用いて実現される。
FIG. 1 is a functional block diagram showing a functional configuration of a DMAC (corresponding to a “data transfer apparatus” in the present invention). As shown in the figure, the DMAC 3 is connected to the activation pulse generator 1 and the external memory 2.
The start pulse generator 1 periodically generates a start pulse.
The external memory 2 (corresponding to an “external storage unit” in the present invention) is configured as a device different from the DMAC 3, is connected to a data bus, and stores setting values. The external memory 2 is realized using, for example, a main memory or an auxiliary storage device in a computer system in which the DMAC 3 is mounted.

DMAC3は、設定値記憶部31、ローカルカウンタ32、スケジューラ33、スケジュール書換部34、転送部35を備える。
設定値記憶部31は、DMAC3の外部のデータバスに接続され、スケジュール書換部34のスレーブとして動作し、スケジュール書換部34からデータの書き換えを受ける。また、設定値記憶部31は、複数のデータ転送情報(本発明における「組み合わせ」に相当)を含む設定値を一つ記憶する。各データ転送情報は、データ転送元のメモリアドレス(転送元アドレス)と、データ転送先のメモリアドレス(転送先アドレス)と、転送されるデータ量(データ量)とを有する。
The DMAC 3 includes a set value storage unit 31, a local counter 32, a scheduler 33, a schedule rewriting unit 34, and a transfer unit 35.
The set value storage unit 31 is connected to a data bus external to the DMAC 3, operates as a slave of the schedule rewriting unit 34, and receives data rewriting from the schedule rewriting unit 34. The set value storage unit 31 stores one set value including a plurality of pieces of data transfer information (corresponding to “combination” in the present invention). Each data transfer information includes a data transfer source memory address (transfer source address), a data transfer destination memory address (transfer destination address), and a transferred data amount (data amount).

ローカルカウンタ32は、起動パルス発生部1から起動パルスを受信すると、起動パルスよりも短い周期でカウントを開始し、累積されたカウント値(ローカルカウント値)を表す信号を、カウントを行う度に出力する。
スケジューラ33は、ローカルカウンタ32によって出力されるローカルカウント値に応じたデータ転送情報を設定値記憶部31から読み出し、読み出されたデータ転送情報に従ってスケジュール書換部34及び転送部35にデータ転送の指示を行う。
When receiving the start pulse from the start pulse generator 1, the local counter 32 starts counting at a cycle shorter than the start pulse, and outputs a signal representing the accumulated count value (local count value) every time the count is performed. To do.
The scheduler 33 reads the data transfer information corresponding to the local count value output from the local counter 32 from the set value storage unit 31, and instructs the schedule rewriting unit 34 and the transfer unit 35 to transfer the data according to the read data transfer information. I do.

スケジュール書換部(本発明における「設定値転送部」に相当)34は、DMAC3の外部のデータバスに接続され、スケジューラ33の指示に従って、DMA転送方式によって、即ちCPUの処理を介さずに、外部メモリ2に記憶される設定値を設定値記憶部31へ転送する。   A schedule rewriting unit (corresponding to a “setting value transfer unit” in the present invention) 34 is connected to a data bus external to the DMAC 3, and is in accordance with an instruction from the scheduler 33 according to a DMA transfer method, that is, without CPU processing. The set value stored in the memory 2 is transferred to the set value storage unit 31.

転送部35は、DMAC3の外部のデータバスに接続され、スケジューラ33の指示に従って、DMA転送方式によって、即ちCPUの処理を介さずに、データバスに接続される装置間でのデータ転送を制御する。   The transfer unit 35 is connected to an external data bus of the DMAC 3 and controls data transfer between devices connected to the data bus by the DMA transfer method, that is, without passing through the processing of the CPU, according to the instruction of the scheduler 33. .

図2は、外部メモリ2が記憶するデータの概略を表す概略図である。外部メモリ2は、DMAC2のスケジュール書換部34がアクセス可能なメモリ領域に、複数の設定値を記憶する。   FIG. 2 is a schematic diagram showing an outline of data stored in the external memory 2. The external memory 2 stores a plurality of setting values in a memory area accessible by the schedule rewriting unit 34 of the DMAC 2.

図3は、設定値の内容の概略を表す概略図である。設定値は、ローカルカウント値と、転送元アドレスと、転送先アドレスと、データ量と、を対応付けたデータ転送情報を複数有する。例えば、図3の場合、ローカルカウント値1、転送元アドレスS_A、転送先アドレスD_A、データ量A_Aの組み合わせが一つのデータ転送情報を表し、設定値は四つのデータ転送情報を有する。   FIG. 3 is a schematic diagram showing an outline of the contents of the set value. The setting value includes a plurality of data transfer information in which a local count value, a transfer source address, a transfer destination address, and a data amount are associated with each other. For example, in the case of FIG. 3, the combination of the local count value 1, the transfer source address S_A, the transfer destination address D_A, and the data amount A_A represents one data transfer information, and the set value has four data transfer information.

設定値の各項目の具体的な内容について説明する。ローカルカウント値は、ローカルカウンタ32から出力されるカウンタ値に対応し、各データ転送情報に従ったデータ転送が実行されるタイミングを示す。転送元アドレスは、スケジュール書換部34及び転送部35が行うデータ転送の転送元のメモリアドレスを示す。転送先アドレスは、スケジュール書換部34及び転送部35が行うデータ転送の転送先のメモリアドレスを示す。データ量は、スケジュール書換部34及び転送部35が行うデータ転送において転送されるデータ量を示す。例えば、図3の設定値が設定値記憶部31に記憶される場合、ローカルカウンタ32がローカルカウント値“1”を出力すると、スケジューラ33は転送部35へデータ転送の指示を行い、この指示に従って転送部35はメモリアドレスS_AからメモリアドレスD_Aへデータ量A_Aのデータ転送を行う。   Specific contents of each item of the set value will be described. The local count value corresponds to the counter value output from the local counter 32 and indicates the timing at which data transfer according to each data transfer information is executed. The transfer source address indicates a memory address of a transfer source of data transfer performed by the schedule rewriting unit 34 and the transfer unit 35. The transfer destination address indicates a memory address of a transfer destination of data transfer performed by the schedule rewriting unit 34 and the transfer unit 35. The data amount indicates the amount of data transferred in the data transfer performed by the schedule rewriting unit 34 and the transfer unit 35. For example, when the setting value of FIG. 3 is stored in the setting value storage unit 31, when the local counter 32 outputs the local count value “1”, the scheduler 33 instructs the transfer unit 35 to transfer data, and follows this instruction. The transfer unit 35 transfers the data amount A_A from the memory address S_A to the memory address D_A.

一つの設定値に含まれる複数のデータ転送情報のうち、最後に実行されるデータ転送情報(即ちローカルカウント値が最大のデータ転送情報)は、スケジュール書換部34によって実行されるデータ転送の内容を表す。このようなデータ転送情報では、転送元アドレスは外部メモリ2において設定値が記憶されるメモリアドレスを示し、転送先アドレスは設定値記憶部31において設定値が記憶されるメモリアドレスを示し、データ量は設定値のデータ量を示す。図3の場合、S_X1は外部メモリ2が設定値を記憶しているメモリアドレスを示し、D_X1は設定値記憶部31のメモリアドレスを示す。   Of the plurality of pieces of data transfer information included in one set value, the data transfer information executed last (that is, the data transfer information with the maximum local count value) is the contents of the data transfer executed by the schedule rewriting unit 34. To express. In such data transfer information, the transfer source address indicates the memory address where the set value is stored in the external memory 2, the transfer destination address indicates the memory address where the set value is stored in the set value storage unit 31, and the data amount Indicates the data amount of the set value. In the case of FIG. 3, S_X 1 indicates a memory address where the external memory 2 stores the set value, and D_X 1 indicates a memory address of the set value storage unit 31.

図4は、DMAC3の動作例を表すフローチャートである。図5は、DMAC3の動作の概略を表す概略図である。以下、図4及び図5を用いて、設定値記憶部31が図3に示される設定値を記憶している場合のDMAC3の動作について説明する。   FIG. 4 is a flowchart illustrating an operation example of the DMAC 3. FIG. 5 is a schematic diagram showing an outline of the operation of the DMAC 3. Hereinafter, the operation of the DMAC 3 when the set value storage unit 31 stores the set values shown in FIG. 3 will be described with reference to FIGS. 4 and 5.

まず、起動パルス発生部1から起動パルスを受信するまでDMAC3は待機する(ステップS01−NO)。DMAC3は、起動パルス発生部1から起動パルスを受信すると(ステップS01−YES)、ローカルカウンタ32は、定期的にローカルカウント値を表す信号を出力する(ステップS02)。   First, the DMAC 3 waits until a start pulse is received from the start pulse generator 1 (step S01-NO). When the DMAC 3 receives the activation pulse from the activation pulse generator 1 (step S01-YES), the local counter 32 periodically outputs a signal representing the local count value (step S02).

その後、スケジューラ33は、ローカルカウンタ32によって出力されたローカルカウント値に対応するデータ転送情報を設定値記憶部31から読み出す。まず、ローカルカウンタ32からローカルカウント値1を表す信号が出力されると、スケジューラ33は、ローカルカウント値1に対応するデータ転送情報を設定値記憶部31から読み出す。具体的には、スケジューラ33は、転送元アドレスS_A、転送先アドレスD_A、データ量A_Aを読み出す。なお、ローカルカウント値に対応するデータ伝送情報が設定値記憶部31に記憶されていない場合には、スケジューラ33は次のローカルカウント値を表す信号が出力されるまで待機する。   Thereafter, the scheduler 33 reads data transfer information corresponding to the local count value output by the local counter 32 from the set value storage unit 31. First, when a signal representing the local count value 1 is output from the local counter 32, the scheduler 33 reads data transfer information corresponding to the local count value 1 from the set value storage unit 31. Specifically, the scheduler 33 reads the transfer source address S_A, the transfer destination address D_A, and the data amount A_A. If data transmission information corresponding to the local count value is not stored in the set value storage unit 31, the scheduler 33 waits until a signal representing the next local count value is output.

次に、スケジューラ33は、読み出されたデータ転送情報の転送先が設定値記憶部31であるか否か判断する(ステップS04)。具体的には、スケジューラ33は、設定値記憶部31が設定値のデータを格納するメモリアドレス(以下、「設定値格納メモリアドレス」という。)を予め記憶し、読み出されたデータ転送情報の転送先のメモリアドレスが設定値格納メモリアドレスである場合には、読み出されたデータ転送情報の転送先が設定値記憶部31であると判断する。逆に、スケジューラ33は、読み出されたデータ転送情報の転送先のメモリアドレスが設定値格納メモリアドレスでない場合には、読み出されたデータ転送情報の転送先が設定値記憶部31ではないと判断する。本説明においては、設定値格納メモリアドレスがD_X1である場合について説明する。この場合、上述したように読み出された転送先アドレスはD_AであってD_X1ではないため、転送先は設定値記憶部31ではない。   Next, the scheduler 33 determines whether or not the transfer destination of the read data transfer information is the set value storage unit 31 (step S04). Specifically, the scheduler 33 stores in advance a memory address (hereinafter referred to as “setting value storage memory address”) in which the setting value storage unit 31 stores setting value data, and stores the read data transfer information. If the memory address of the transfer destination is the set value storage memory address, it is determined that the transfer destination of the read data transfer information is the set value storage unit 31. Conversely, the scheduler 33 determines that the read destination of the data transfer information is not the set value storage unit 31 if the memory address of the read destination of the data transfer information is not the set value storage memory address. to decide. In this description, a case where the set value storage memory address is D_X1 will be described. In this case, since the transfer destination address read as described above is D_A and not D_X1, the transfer destination is not the set value storage unit 31.

読み出されたデータ転送情報の転送先が設定値記憶部31ではない場合は(ステップS04−NO)、スケジューラ33は読み出されたデータ転送情報に従って転送部35にデータ転送の指示を行う(ステップS05)。転送部35は、スケジューラ33によって読み出されたデータ転送情報に従って、転送元アドレスから転送先アドレスへDMAによるデータの転送を行う(ステップS06)。具体的には、転送部35は、メモリアドレスS_AからA_A分のデータ量のデータをメモリアドレスD_Aへ転送する(図5の矩形Aに相当)。その後、転送部35は、ローカルカウント値が3、5のタイミングで、それぞれデータ転送を行う(図5の矩形B、Cに相当)。   When the transfer destination of the read data transfer information is not the set value storage unit 31 (NO in step S04), the scheduler 33 instructs the transfer unit 35 to transfer data according to the read data transfer information (step S04). S05). The transfer unit 35 transfers data by DMA from the transfer source address to the transfer destination address according to the data transfer information read by the scheduler 33 (step S06). Specifically, the transfer unit 35 transfers data having a data amount corresponding to A_A from the memory address S_A to the memory address D_A (corresponding to the rectangle A in FIG. 5). Thereafter, the transfer unit 35 performs data transfer at the timing when the local count value is 3 or 5 (corresponding to rectangles B and C in FIG. 5).

その後、ローカルカウント値が7のタイミングで、スケジューラ33は、転送元アドレスS_X1、転送先アドレスD_X1、データ量A_X1を読み出す。この場合、読み出された転送先アドレスは設定値格納メモリアドレスであり、データ転送情報の転送先が設定値記憶部31である。読み出されたデータ転送情報の転送先が設定値記憶部31である場合は(ステップS04−YES)、スケジューラ33は読み出されたデータ転送情報に従ってスケジュール書換部34にデータ転送の指示を行う(ステップS07)。スケジュール書換部34は、スケジューラ33によって読み出されたデータ転送情報に従って、外部メモリ2内の転送元アドレスから設定値記憶部31内の転送先アドレスへ、設定値を表すデータを、DMAによりデータ転送し、設定値記憶部31に記憶される設定値の内容を書き換える(ステップS08)。具体的には、スケジュール書換部34は、外部メモリ2内のメモリアドレスS_X1から、A_X1分のデータ量の設定値のデータを、設定値記憶部31内のメモリアドレスD_Aへ転送する(図5の矩形X1に相当)。   Thereafter, at the timing when the local count value is 7, the scheduler 33 reads the transfer source address S_X1, the transfer destination address D_X1, and the data amount A_X1. In this case, the read transfer destination address is the set value storage memory address, and the transfer destination of the data transfer information is the set value storage unit 31. When the transfer destination of the read data transfer information is the set value storage unit 31 (step S04-YES), the scheduler 33 instructs the schedule rewriting unit 34 to transfer data according to the read data transfer information ( Step S07). The schedule rewriting unit 34 transfers data representing the set value from the transfer source address in the external memory 2 to the transfer destination address in the set value storage unit 31 by DMA according to the data transfer information read by the scheduler 33. Then, the contents of the set value stored in the set value storage unit 31 are rewritten (step S08). Specifically, the schedule rewriting unit 34 transfers data of the set value of the data amount for A_X1 from the memory address S_X1 in the external memory 2 to the memory address D_A in the set value storage unit 31 (FIG. 5). Equivalent to rectangle X1).

その後、DMAC3は待機状態となり、再び起動パルス発生部1から起動パルスを受信すると(ステップS01−YES)、ステップS08の処理によって書き換えられた新たな設定値に従ってステップS02以降の処理を行う(図5の矩形D、E、F、X2に相当)。   Thereafter, the DMAC 3 enters a standby state, and when the activation pulse is received again from the activation pulse generator 1 (step S01-YES), the processing after step S02 is performed according to the new set value rewritten by the processing of step S08 (FIG. 5). Rectangles D, E, F, and X2).

このように構成されたDMAC3では、設定値記憶部31が記憶する設定値が、スケジュール書換部34によって、外部メモリ2に記憶されている他の設定値に書き換えられる。そのため、DMAC3が複数の設定値を必要とする場合であっても、DMAC3は全ての設定値を設定値記憶部31に記憶しておく必要が無い。即ち、一つの設定値を設定値記憶部31が記憶し、残る他の設定値を外部メモリ2に記憶させ、スケジュール書換部34が設定値記憶部31に記憶される設定値を外部メモリ2に記憶される設定値に書き換えることによって、DMAC3内で保持する設定値の数を削減することが可能となる。したがって、従来のように複数の設定値毎に複数の設定値記憶部31及びスケジューラ33をDMAC3に配置する必要が無く、DMAC3に配置される設定値記憶部31及びスケジューラ33の数が増大することを抑止することが可能となる。   In the DMAC 3 configured as described above, the setting value stored in the setting value storage unit 31 is rewritten to another setting value stored in the external memory 2 by the schedule rewriting unit 34. Therefore, even if the DMAC 3 requires a plurality of setting values, the DMAC 3 does not need to store all the setting values in the setting value storage unit 31. That is, one set value is stored in the set value storage unit 31, the remaining other set values are stored in the external memory 2, and the schedule rewrite unit 34 stores the set value stored in the set value storage unit 31 in the external memory 2. By rewriting the stored setting values, the number of setting values held in the DMAC 3 can be reduced. Therefore, it is not necessary to place a plurality of setting value storage units 31 and schedulers 33 in the DMAC 3 for each of a plurality of setting values as in the prior art, and the number of setting value storage units 31 and schedulers 33 arranged in the DMAC 3 increases. Can be suppressed.

また、このように構成されたDMAC3では、起動パルスの受信回数を計数する起動パルスカウンタを備える必要が無いため、DMAC3の回路面積の縮小化や回路構成の簡易化を図ることが可能となる。   In addition, since the DMAC 3 configured as described above does not need to include an activation pulse counter that counts the number of receptions of activation pulses, the circuit area of the DMAC 3 can be reduced and the circuit configuration can be simplified.

<変形例>
図6は、DMAC3の変形例の機能ブロックを表す図である。上述した説明では、設定値記憶部31はデータバスを介して設定値のデータを受信するが、設定値記憶部31はデータバスに接続されず、スケジュール書換部34から設定値のデータを直接受信しても良い。即ち、スケジュール書換部34は、データバスを介して外部メモリ2から設定値記憶部31へ設定値のデータを転送するのではなく、外部メモリ2から設定値のデータを読み出し、読み出したデータをDMAC3内のバスを通じて設定値記憶部31に書き込むように構成されても良い。
<Modification>
FIG. 6 is a diagram illustrating functional blocks of a modified example of the DMAC 3. In the above description, the setting value storage unit 31 receives the setting value data via the data bus, but the setting value storage unit 31 is not connected to the data bus and directly receives the setting value data from the schedule rewriting unit 34. You may do it. That is, the schedule rewriting unit 34 does not transfer the set value data from the external memory 2 to the set value storage unit 31 via the data bus, but reads the set value data from the external memory 2 and transfers the read data to the DMAC 3 The setting value storage unit 31 may be configured to write through the internal bus.

図7は、DMAC3の他の変形例の機能ブロックを表す図である。上述した説明では、DMAC3はスケジュール書換部34を備え、スケジュール書換部34が外部メモリ2と設定値記憶部31との間のデータ転送を行い、設定値記憶部31に記憶される設定値を書き換えるが、スケジュール書換部34の処理を転送部35が行うように構成されても良い。この場合、スケジューラ33は、図4のフローチャートにおけるステップS04の判断処理を行うことなく、全てのデータ転送情報に関して転送部35に対しデータ転送を指示する。また、転送部35は、データ転送の指示に従いDMA転送を行う。そして、データ転送情報の転送元アドレスが外部メモリ2であって転送先アドレスが設定値記憶部31である場合には、転送部35は、このデータ転送情報に従って、外部メモリ2の転送元アドレスから設定記憶部31の転送先アドレスへ設定値のデータをDMA転送する。   FIG. 7 is a diagram illustrating functional blocks of another modification of the DMAC 3. In the above description, the DMAC 3 includes the schedule rewriting unit 34, and the schedule rewriting unit 34 transfers data between the external memory 2 and the set value storage unit 31 and rewrites the set value stored in the set value storage unit 31. However, the transfer unit 35 may be configured to perform the process of the schedule rewriting unit 34. In this case, the scheduler 33 instructs the transfer unit 35 to transfer data for all data transfer information without performing the determination process of step S04 in the flowchart of FIG. Further, the transfer unit 35 performs DMA transfer according to the data transfer instruction. When the transfer source address of the data transfer information is the external memory 2 and the transfer destination address is the set value storage unit 31, the transfer unit 35 starts from the transfer source address of the external memory 2 according to the data transfer information. The set value data is DMA transferred to the transfer destination address of the setting storage unit 31.

また、設定値記憶部31は、初期値として、外部メモリ2が最初に実行されるべきデータ転送の内容を示す設定値を記憶しているメモリアドレスを転送元アドレスとし、設定値記憶部31のメモリアドレスを転送先アドレスとした設定値を固定的にROM(Read Only Memory)に記憶しても良い。その場合、スケジューラ33は、最初に動作する際には、このROMから設定値を読み出す。また、設定値記憶部31は、初期値として、外部のプロセッサ(例えばCPU)から、動的に設定値を書き込まれても良い。   In addition, the set value storage unit 31 uses, as an initial value, a memory address that stores a set value indicating the content of data transfer to be executed first by the external memory 2 as a transfer source address. A set value with the memory address as the transfer destination address may be fixedly stored in a ROM (Read Only Memory). In that case, the scheduler 33 reads the set value from this ROM when it first operates. Further, the set value storage unit 31 may dynamically write the set value from an external processor (for example, CPU) as an initial value.

以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。   The embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and includes designs and the like that do not depart from the gist of the present invention.

ダイレクトメモリアクセスコントローラの機能構成を表す機能ブロック図である。It is a functional block diagram showing the functional structure of a direct memory access controller. 外部メモリが記憶するデータの概略を表す概略図である。It is the schematic showing the outline of the data which an external memory memorize | stores. 設定値の内容の概略を表す概略図である。It is the schematic showing the outline of the content of a setting value. ダイレクトメモリアクセスコントローラの動作例を表すフローチャートである。It is a flowchart showing the operation example of a direct memory access controller. ダイレクトメモリアクセスコントローラの動作の概略を表す概略図である。It is the schematic showing the outline of operation | movement of a direct memory access controller. ダイレクトメモリアクセスコントローラの変形例の機能構成を表す機能ブロック図である。It is a functional block diagram showing the function structure of the modification of a direct memory access controller. ダイレクトメモリアクセスコントローラの変形例の機能構成を表す機能ブロック図である。It is a functional block diagram showing the function structure of the modification of a direct memory access controller. 従来技術におけるダイレクトメモリアクセスコントローラの機能構成を表す機能ブロック図である。It is a functional block diagram showing the functional structure of the direct memory access controller in a prior art. 従来技術におけるダイレクトメモリアクセスコントローラの動作の概略を表す概略図である。It is the schematic showing the outline of operation | movement of the direct memory access controller in a prior art.

符号の説明Explanation of symbols

1…起動パルス発生部, 2…外部メモリ, 3…DMAC(データ転送装置), 31…設定値記憶部(設定値記憶部), 32…ローカルカウンタ, 33…スケジューラ, 34…スケジュール書換部(設定値転送部), 35…転送部 DESCRIPTION OF SYMBOLS 1 ... Startup pulse generation part, 2 ... External memory, 3 ... DMAC (data transfer device), 31 ... Setting value memory | storage part (setting value memory | storage part), 32 ... Local counter, 33 ... Scheduler, 34 ... Schedule rewriting part (setting) Value transfer unit), 35 ... transfer unit

Claims (4)

データ転送の転送元メモリアドレスと転送先メモリアドレスとの組み合わせを有する設定値を記憶する設定値記憶部と、
外部の記憶部に記憶される前記設定値を前記設定値記憶部へ転送する設定値転送部と、
前記設定値記憶部に記憶される設定値に従って、組み合わせとなっている前記転送元メモリアドレスから転送先メモリアドレスへ、ダイレクトメモリアクセスによってデータを転送する転送部と、
を備えるデータ転送装置。
A set value storage unit for storing a set value having a combination of a transfer source memory address and a transfer destination memory address of data transfer;
A set value transfer unit for transferring the set value stored in an external storage unit to the set value storage unit;
A transfer unit that transfers data by direct memory access from the transfer source memory address to the transfer destination memory address in combination according to the set value stored in the set value storage unit;
A data transfer device comprising:
前記設定値記憶部に記憶される前記設定値は複数の前記組み合わせを有し、
前記設定値記憶部に記憶される前記設定値は、前記外部の記憶部が前記設定値を記憶しているメモリアドレスと、前記設定値記憶部が前記設定値を記憶するメモリアドレスとを、それぞれ転送元メモリアドレスと転送先メモリアドレスとする組み合わせを有し、
前記設定値転送部は、前記外部の記憶部が前記設定値を記憶しているメモリアドレスと、前記設定値記憶部が前記設定値を記憶するメモリアドレスとを、それぞれ転送元メモリアドレスと転送先メモリアドレスとする組み合わせ以外の全ての組み合わせについて前記転送部がデータを転送した後に、前記設定値記憶部に記憶される前記設定値に従って、ダイレクトメモリアクセスによって前記外部の記憶部から前記設定値記憶部へ設定値のデータを転送する、
請求項1に記載のデータ転送装置。
The set values stored in the set value storage unit have a plurality of the combinations,
The setting value stored in the setting value storage unit includes a memory address at which the external storage unit stores the setting value, and a memory address at which the setting value storage unit stores the setting value, respectively. It has a combination of a transfer source memory address and a transfer destination memory address,
The set value transfer unit includes a memory address at which the external storage unit stores the set value and a memory address at which the set value storage unit stores the set value, a transfer source memory address and a transfer destination, respectively. After the transfer unit transfers data for all combinations other than the combination used as a memory address, the set value storage unit from the external storage unit by direct memory access according to the set value stored in the set value storage unit Transfer set value data to
The data transfer device according to claim 1.
前記設定値記憶部は当該データ転送装置のスレーブとして機能する、請求項1又は2に記載のデータ転送装置。   The data transfer device according to claim 1, wherein the set value storage unit functions as a slave of the data transfer device. データ転送の転送元メモリアドレスと転送先メモリアドレスとの組み合わせを有する設定値を記憶する設定値記憶部を備えるデータ転送装置が、外部の記憶部に記憶される前記設定値を前記設定値記憶部へ転送するステップと、
前記データ転送装置が、前記設定値記憶部に記憶される設定値に従って、組み合わせとなっている前記転送元メモリアドレスから転送先メモリアドレスへ、ダイレクトメモリアクセスによってデータを転送するステップと、
を含むデータ転送方法。
A data transfer apparatus including a setting value storage unit that stores a setting value having a combination of a transfer source memory address and a transfer destination memory address for data transfer, and the setting value storage unit stores the setting value stored in an external storage unit Transferring to
The data transfer device transferring data by direct memory access from the transfer source memory address to the transfer destination memory address in combination according to the set value stored in the set value storage unit;
Data transfer method including:
JP2008187041A 2008-07-18 2008-07-18 Data transfer device and data transfer method Pending JP2010026762A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008187041A JP2010026762A (en) 2008-07-18 2008-07-18 Data transfer device and data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008187041A JP2010026762A (en) 2008-07-18 2008-07-18 Data transfer device and data transfer method

Publications (1)

Publication Number Publication Date
JP2010026762A true JP2010026762A (en) 2010-02-04

Family

ID=41732546

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008187041A Pending JP2010026762A (en) 2008-07-18 2008-07-18 Data transfer device and data transfer method

Country Status (1)

Country Link
JP (1) JP2010026762A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004118300A (en) * 2002-09-24 2004-04-15 Rohm Co Ltd Dma controller

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004118300A (en) * 2002-09-24 2004-04-15 Rohm Co Ltd Dma controller

Similar Documents

Publication Publication Date Title
JP2010263328A (en) Image processing apparatus, and image processing method
JP2010176442A (en) Descriptor transfer device, i/o controller and descriptor transfer method
JP6176058B2 (en) Direct memory access control device, control method thereof, and information processing system
WO2009098737A1 (en) External device access apparatus, its controlling method and system lsi
JP5741245B2 (en) Image processing apparatus, image processing control method, and image processing control program
JP2010061620A (en) Dma device and dma transfer method
JP5422687B2 (en) Communication processing apparatus and image forming apparatus
JP2010026762A (en) Data transfer device and data transfer method
JP6038292B2 (en) Data transfer apparatus and data transfer method
JP5018814B2 (en) Interrupt control device and image forming apparatus
JP2007310735A (en) Direct memory access controller
JP6549454B2 (en) Information processing device
JP4190969B2 (en) Bus arbitration system in bus system and AMBA
JP6690293B2 (en) Image processing device
JP2005276104A (en) Microcomputer
JP2007219925A (en) Bus controller, bus control program and recording medium
JP4468754B2 (en) Image forming apparatus and memory control method
JP2006331248A (en) Data transfer device
TW200837629A (en) Network interface controller
JP2010170489A (en) Processing device, image forming apparatus and processing method
JP2007185911A (en) Printer controller and printer
JP6119997B2 (en) Data processing apparatus and data processing apparatus control method
JP2005030957A (en) Timer unit
JP2009015689A (en) Interface device
JP2004151877A (en) Direct memory access controller, memory arbiter, and memory controller therewith

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110713

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120724

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121204