JP2012221125A - Data transfer control device, data transfer system and data transfer method - Google Patents

Data transfer control device, data transfer system and data transfer method Download PDF

Info

Publication number
JP2012221125A
JP2012221125A JP2011084866A JP2011084866A JP2012221125A JP 2012221125 A JP2012221125 A JP 2012221125A JP 2011084866 A JP2011084866 A JP 2011084866A JP 2011084866 A JP2011084866 A JP 2011084866A JP 2012221125 A JP2012221125 A JP 2012221125A
Authority
JP
Japan
Prior art keywords
access
storage device
master
dmac
data transfer
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.)
Withdrawn
Application number
JP2011084866A
Other languages
Japanese (ja)
Inventor
Koji Niurao
晃司 二浦尾
Atsushi Ogaki
敦志 大垣
Yoshimasa Nakahi
由眞 仲肥
Jiro Miyake
二郎 三宅
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.)
Panasonic Corp
Original Assignee
Panasonic Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp filed Critical Panasonic Corp
Priority to JP2011084866A priority Critical patent/JP2012221125A/en
Publication of JP2012221125A publication Critical patent/JP2012221125A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

PROBLEM TO BE SOLVED: To execute the access of a master whose access destination competes with DMA transfer while satisfying the transfer speed request of the DMA transfer under execution.SOLUTION: A data transfer control device 110 includes: a first IF 105 for accessing a first storage device 107 in response to requests from a CPU 101 and a first DMAC 102; a second IF106 for accessing a second storage device 108 in response to a request from the first DMAC 102; and a counter 109 for counting an elapsed time since a second IF 106 starts accessing the second storage device 108. When receiving an access request from the CPU 101 to the first storage device 107 during a continuous transfer operation, the first IF 105 permits access from the CPU 101 to the first storage device 107 when the elapsed time is equal to or less than a reference value.

Description

本発明は、ダイレクトメモリアクセス(以下、DMAという)転送におけるアクセス競合を制御するためのデータ転送制御装置及びデータ転送システムに関するものである。   The present invention relates to a data transfer control device and a data transfer system for controlling access contention in direct memory access (hereinafter referred to as DMA) transfer.

一般に情報処理装置では、DMAコントローラ(以下、DMACという)を用いて、DMA転送を行うことで、CPUを介さずに効率よくデータ転送を行うことができる。しかし、一般的にメモリアクセスに共通バスを使用している計算機においては、DMA転送中は、DMACがバスを占有するためにCPUによるアクセス及び他のDMA転送が実行できないという課題があった。   In general, an information processing apparatus can perform data transfer efficiently without using a CPU by performing DMA transfer using a DMA controller (hereinafter referred to as DMAC). However, in general, a computer using a common bus for memory access has a problem that during DMA transfer, the DMAC occupies the bus, so that access by the CPU and other DMA transfers cannot be executed.

これを解決する手段が特許文献1にて提示されている。特許文献1に記載の構成は、複数のバスと、複数のバスマスタと、バス制御部と、複数のバスに対応して設けられ転送データを格納する複数のデータ記憶部とを備える。そして、バス制御部がバス毎に独立に調停を行うことで、異なるバスに対する複数の転送要求を同時に実行することが可能となる。ただし、一つのバスに対し、二以上のバス獲得要求が発生した場合には、アクセスが競合するため、優先度に従いDMACにバス使用権が与えられる。   Means for solving this problem is presented in Patent Document 1. The configuration described in Patent Document 1 includes a plurality of buses, a plurality of bus masters, a bus control unit, and a plurality of data storage units that are provided corresponding to the plurality of buses and store transfer data. The bus control unit performs arbitration independently for each bus, so that a plurality of transfer requests for different buses can be executed simultaneously. However, when two or more bus acquisition requests are generated for one bus, access conflicts, and the right to use the bus is given to the DMAC according to priority.

特開2003−091501号公報Japanese Patent Laid-Open No. 2003-091501

しかしながら、特許文献1で提示されている技術では、バスが競合しない場合には同時アクセスが可能であるが、アクセス先が競合した場合は、DMA転送期間中はCPU等のマスタのアクセスが待たされるという課題があった。   However, in the technique presented in Patent Document 1, simultaneous access is possible when the buses do not compete, but when the access destinations compete, access by a master such as a CPU is awaited during the DMA transfer period. There was a problem.

一方で、DMA転送中にCPU等のマスタのアクセスを許可した場合には、マスタのアクセスによって後続のDMA転送に遅延が発生する。そのため、DMA転送速度の低下が発生することにより、要求されるDMA転送速度が満たされない恐れがあるという課題があった。   On the other hand, when the access of the master such as the CPU is permitted during the DMA transfer, the subsequent DMA transfer is delayed by the access of the master. For this reason, there is a problem that a required DMA transfer rate may not be satisfied due to a decrease in the DMA transfer rate.

本発明は、上記従来の課題を解決するものであり、実行中のDMA転送の転送速度要求を満たしつつ、DMA転送とアクセス先が競合するマスタのアクセスを実行可能にできるデータ転送制御装置、データ転送システム及びデータ転送方法を提供することを目的とする。   The present invention solves the above-described conventional problems, and satisfies the transfer rate requirement of the DMA transfer being executed, while enabling the master access in which the DMA transfer and the access destination compete with each other, the data transfer control device, and the data It is an object to provide a transfer system and a data transfer method.

上記目的を達成するために、本発明の一形態に係るデータ転送装置は、第1の記憶装置及び第2の記憶装置の一方から他方にデータを転送するデータ転送制御装置であって、前記第1の記憶装置に対してアクセスを行うマスタと、前記マスタから独立した第1のバスと、前記第1のバスを介して、前記第1の記憶装置及び前記第2の記憶装置の一方からデータを読み出し、かつ読み出したデータを他方へ書き込むデータ転送動作を繰り返し連続して行う連続転送動作を行う第1のDMAC(Direct Memory Access Controller)と、前記マスタ及び前記第1のDMACからの要求に従い、前記第1の記憶装置へアクセスする第1のインターフェース部と、前記第1のDMACからの要求に従い、前記第2の記憶装置へアクセスする第2のインターフェース部と、前記第2のインターフェース部が前記第2の記憶装置にアクセスを開始してからの第1の経過時間をカウントするカウンタとを備え、前記第1のインターフェース部は、前記連続転送動作中に、前記マスタから前記第1の記憶装置へのアクセス要求を受けた場合において、(1)前記第1の経過時間が第1の基準値以下の場合、前記マスタから前記第1の記憶装置へのアクセスを許可し、(2)前記第1の経過時間が前記第1の基準値より大きい場合、前記マスタから前記第1の記憶装置へのアクセスを禁止する第1のアクセス制御部を備える。   In order to achieve the above object, a data transfer device according to an aspect of the present invention is a data transfer control device that transfers data from one of a first storage device and a second storage device to the other. Data from one of the first storage device and the second storage device via the first bus that is independent from the master, the master that accesses one storage device, and the first bus In accordance with a request from a first DMAC (Direct Memory Access Controller) that performs a continuous transfer operation that repeatedly and continuously performs a data transfer operation that writes the read data to the other, and the master and the first DMAC, In accordance with a request from the first DMAC and the first DMAC that accesses the first storage device, the second storage A second interface unit that accesses a device, and a counter that counts a first elapsed time since the second interface unit started accessing the second storage device. When the access request to the first storage device is received from the master during the continuous transfer operation, (1) when the first elapsed time is less than or equal to a first reference value, Access to the first storage device is permitted, and (2) when the first elapsed time is greater than the first reference value, the master prohibits access to the first storage device. 1 access control unit.

ここで、DMACは転送元からの読み出しと転送先への書き込みとを交互に連続で行うことでデータ転送を行う。よって、一方の記憶装置にアクセスを行っている間、他方の記憶装置は後続のDMA転送開始までの間はアクセスが行われていない空き状態となる。   Here, the DMAC performs data transfer by alternately and continuously performing reading from the transfer source and writing to the transfer destination. Therefore, while one storage device is being accessed, the other storage device is in an empty state in which access is not performed until the subsequent DMA transfer starts.

そこで、本発明の一形態に係るデータ転送制御装置は、マスタと第1のDMACが第1の記憶装置に対するアクセス競合を起こすときに、第1の記憶装置におけるアクセスの空き状態期間を見積もり、第1の経過時間が第1の基準値以下の場合にはマスタのアクセスを許可する。これにより、当該データ転送装置は、DMA転送中であっても、DMA転送とアクセス先が競合するマスタのアクセスを実行可能にできる。また、当該データ転送制御装置は、第1の経過時間が第1の基準値より大きい場合にはマスタのアクセスを禁止する。これにより、当該データ転送装置は、実行中のDMA転送の転送速度要求を満たすことができる。   Therefore, the data transfer control device according to an aspect of the present invention estimates the free state period of access in the first storage device when the master and the first DMAC cause access contention to the first storage device, If the elapsed time of 1 is less than or equal to the first reference value, access to the master is permitted. As a result, the data transfer apparatus can execute the access of the master whose access destination conflicts with the DMA transfer even during the DMA transfer. Further, the data transfer control device prohibits access of the master when the first elapsed time is larger than the first reference value. Thereby, the data transfer apparatus can satisfy the transfer rate request of the DMA transfer being executed.

また、前記第1のインターフェース部は、さらに、前記第1のDMACから前記第2の記憶装置への1回のアクセスに必要な第1のDMACアクセス時間と、前記マスタから前記第1の記憶装置への1回のアクセスに必要な第1のマスタアクセス時間とを保持する第1のレジスタを備え、前記第1のアクセス制御部は、前記第1のDMACアクセス時間から前記第1のマスタアクセス時間を減算することで、前記第1の基準値を算出してもよい。   The first interface unit further includes a first DMAC access time required for one access from the first DMAC to the second storage device, and a first storage device from the master. And a first register that holds a first master access time required for one access to the first access control unit, wherein the first access control unit starts from the first DMAC access time to the first master access time. The first reference value may be calculated by subtracting.

この構成によれば、本発明の一形態に係るデータ転送制御装置は、第1のDMACアクセス時間と第1のマスタアクセス時間とから第1の基準値を算出できる。   According to this configuration, the data transfer control device according to an aspect of the present invention can calculate the first reference value from the first DMAC access time and the first master access time.

また、前記第1のレジスタは、さらに、1回の前記データ転送動作の第1の遅延許容値を保持し、前記第1のアクセス制御部は、前記第1のDMACアクセス時間から前記第1のマスタアクセス時間を減算したうえで、前記第1の遅延許容値を加算することで、前記第1の基準値を算出してもよい。   In addition, the first register further holds a first delay allowable value of one data transfer operation, and the first access control unit performs the first DMAC access time from the first DMAC access time. The first reference value may be calculated by adding the first allowable delay value after subtracting the master access time.

この構成によれば、本発明の一形態に係るデータ転送制御装置は、DMA転送の遅延量を遅延許容値内に抑えつつ、DMA転送中のマスタによる第1の記憶装置へのアクセスを実現できる。   According to this configuration, the data transfer control device according to an aspect of the present invention can realize access to the first storage device by the master during DMA transfer while suppressing the delay amount of DMA transfer within the allowable delay value. .

また、前記第1のインターフェース部は、さらに、1回の前記連続転送動作における全体遅延許容量を保持する第2のレジスタを備え、前記第1のアクセス制御部は、前記マスタから前記第1の記憶装置へのアクセス要求が発生した際に、前記第1のDMACアクセス時間から前記第1のマスタアクセス時間を減算したうえで、前記全体遅延許容量以下の第1の遅延許容値を加算することで、前記第1の基準値を算出し、前記第1の経過時間が前記第1の基準値以下の場合、前記マスタから前記第1の記憶装置へのアクセスを許可するとともに、前記第2のレジスタに保持されている前記全体遅延許容量を減らし、前記第2のレジスタに保持されている前記全体遅許容延量が予め定められた値以下になった場合、前記第1の基準値として、前記第1のDMACアクセス時間から前記第1のマスタアクセス時間を減算した値を用いてもよい。   In addition, the first interface unit further includes a second register that holds a total delay allowable amount in one continuous transfer operation, and the first access control unit receives the first register from the master. When an access request to the storage device is generated, the first master access time is subtracted from the first DMAC access time, and then a first delay allowable value equal to or less than the total delay allowable amount is added. The first reference value is calculated, and when the first elapsed time is less than or equal to the first reference value, access from the master to the first storage device is permitted and the second reference value is When the total delay allowable amount held in the register is reduced and the total delay allowable extension held in the second register is equal to or less than a predetermined value, the first reference value is: in front It may be used a value obtained by subtracting the first master access time from the first DMAC access time.

この構成によれば、本発明の一形態に係るデータ転送制御装置は、連続転送動作における全体の時間要求は満たしつつ、DMA転送中のマスタによる第1の記憶装置へのアクセスを実現できる。   According to this configuration, the data transfer control device according to an aspect of the present invention can realize access to the first storage device by the master during DMA transfer while satisfying the overall time requirement in the continuous transfer operation.

また、前記第1の遅延許容値は、前記全体遅延許容量であってもよい。   The first delay tolerance may be the total delay tolerance.

この構成によれば、本発明の一形態に係るデータ転送制御装置は、連続転送動作における全体の時間要求は満たしつつ、DMA転送中のマスタによる第1の記憶装置へのアクセスを実現する制御を容易に行うことができる。   According to this configuration, the data transfer control device according to one aspect of the present invention performs control for realizing access to the first storage device by the master during DMA transfer while satisfying the overall time requirement in the continuous transfer operation. It can be done easily.

また、前記第1のアクセス制御部は、前記全体遅延許容量が予め定められた閾値以上の場合、第1の値を前記遅延許容値として用い、前記全体遅延許容量が前記閾値未満の場合、前記第1の値の値より小さい第2の値を前記遅延許容値として用いてもよい。   The first access control unit uses the first value as the delay allowable value when the total delay allowable amount is equal to or greater than a predetermined threshold, and the total delay allowable amount is less than the threshold. A second value smaller than the first value may be used as the allowable delay value.

この構成によれば、本発明の一形態に係るデータ転送制御装置は、全体遅延許容量に余裕がある場合には、より多くのマスタからのアクセスを許可できる。   According to this configuration, the data transfer control device according to an aspect of the present invention can permit access from a larger number of masters when the overall delay allowance is sufficient.

また、前記第1のアクセス制御部は、前記第1の経過時間が前記第1の基準値以下の場合、前記マスタから前記第1の記憶装置へのアクセスを許可するとともに、前記第1の経過時間と前記第1のマスタアクセス時間とを加算し、加算した値から前記第1のDMACアクセス時間を減算することで、第1の遅延時間を算出し、前記第2のレジスタに保持されている前記全体遅延許容量から前記第1の遅延時間を減算することで、前記第2のレジスタに保持されている前記全体遅延許容量を更新してもよい。   The first access control unit permits the master to access the first storage device when the first elapsed time is less than or equal to the first reference value, and the first elapsed time. The first delay time is calculated by adding the time and the first master access time, and subtracting the first DMAC access time from the added value, and is stored in the second register The total delay allowable amount held in the second register may be updated by subtracting the first delay time from the total delay allowable amount.

この構成によれば、本発明の一形態に係るデータ転送制御装置は、連続転送動作における全体の時間要求は満たしつつ、DMA転送中のマスタによる第1の記憶装置へのアクセスを実現できる。   According to this configuration, the data transfer control device according to an aspect of the present invention can realize access to the first storage device by the master during DMA transfer while satisfying the overall time requirement in the continuous transfer operation.

また、前記第2のレジスタは、1回の前記連続転送動作を分割した複数の部分区間の各々に対応する部分遅延許容量を保持し、前記第1のアクセス制御部は、前記マスタから前記第1の記憶装置へのアクセス要求が発生した際に、前記第1のDMACアクセス時間から前記第1のマスタアクセス時間を減算したうえで、対応する部分区間の前記部分遅延量を加算することで、前記第1の基準値を算出し、前記第1の経過時間が前記第1の基準値以下の場合、前記マスタから前記第1の記憶装置へのアクセスを許可するとともに、前記第2のレジスタに保持されている、対応する部分区間の前記部分遅延許容量を減らし、前記第2のレジスタに保持されている、対応する区間の前記部分遅延量が予め定められた値以下になった場合、前記第1の基準値として、前記第1のDMACアクセス時間から前記第1のマスタアクセス時間を減算した値を用いてもよい。   The second register holds a partial delay allowance corresponding to each of a plurality of partial sections obtained by dividing one continuous transfer operation, and the first access control unit receives the first access from the master. When an access request to one storage device occurs, the first master access time is subtracted from the first DMAC access time, and then the partial delay amount of the corresponding partial section is added, When the first reference value is calculated and the first elapsed time is less than or equal to the first reference value, access from the master to the first storage device is permitted, and the second register is stored in the second register. When the partial delay allowable amount of the corresponding partial section held is reduced and the partial delay amount of the corresponding section held in the second register is equal to or less than a predetermined value, First As reference value, it may be used a value obtained by subtracting the first master access time from the first DMAC access time.

この構成によれば、本発明の一形態に係るデータ転送制御装置は、マスタによるアクセスを連続転送動作中において均一化できる。   According to this configuration, the data transfer control device according to an aspect of the present invention can uniformize access by the master during the continuous transfer operation.

また、前記第1のDMACは、1回の前記データ転送動作において、前記第1の記憶装置又は前記第2の記憶装置へ連続してアクセスする回数を示す連続アクセス回数を保持する第3のレジスタと、前記第1の記憶装置又は前記第2の記憶装置から、読み出したデータを保持するバッファとを備え、前記第1のDMACは、1回の前記データ転送動作において、前記第1の記憶装置及び前記第2の記憶装置の一方から前記連続アクセス回数分、連続してデータを読み出し、当該連続して読み出したデータを前記バッファに格納し、前記バッファに格納したデータを、前記連続アクセス回数分の書き込み動作で、前記第1の記憶装置及び前記第2の記憶装置の他方へ書き込み、前記カウンタは、前記第2のインターフェース部による、前記第2の記憶装置への前記連続アクセス回数分のアクセスのうち初回のアクセスが開始されてからの時間を前記第1の経過時間としてカウントしてもよい。   In addition, the first DMAC is a third register that holds the number of consecutive accesses indicating the number of times of continuous access to the first storage device or the second storage device in one data transfer operation. And a buffer for holding data read from the first storage device or the second storage device, and the first DMAC is configured to perform the first storage device in one data transfer operation. The data is continuously read from one of the second storage devices for the number of consecutive accesses, the continuously read data is stored in the buffer, and the data stored in the buffer is stored for the number of consecutive accesses. In the write operation, the second storage unit writes to the other of the first storage device and the second storage device, and the counter is the second interface unit. The time from the start of initial access of continuous access number of times of access to the storage device may be counted as the first elapsed time.

この構成によれば、本発明の一形態に係るデータ転送制御装置は、1回のデータ転送動作において複数回のアクセスが連続して行われる場合にも適用できる。   According to this configuration, the data transfer control device according to an aspect of the present invention can be applied to a case where a plurality of accesses are continuously performed in one data transfer operation.

また、前記第1のインターフェース部は、さらに、前記第1のDMACから前記第2の記憶装置への1回のアクセスに必要な第1のDMACアクセス時間と、前記マスタから前記第1の記憶装置への1回のアクセスに必要な第1のマスタアクセス時間とを保持する第1のレジスタを備え、前記第1のアクセス制御部は、前記第1のDMACアクセス時間と前記連続アクセス回数との積から前記第1のマスタアクセス時間を減算することで、前記第1の基準値を算出してもよい。   The first interface unit further includes a first DMAC access time required for one access from the first DMAC to the second storage device, and a first storage device from the master. And a first register for holding a first master access time required for one access to the first access control unit, wherein the first access control unit is a product of the first DMAC access time and the number of consecutive accesses. The first reference value may be calculated by subtracting the first master access time from the first master access time.

この構成によれば、本発明の一形態に係るデータ転送制御装置は、1回のデータ転送動作において複数回のアクセスが連続して行われる場合にも、第1の基準値を算出できる。   According to this configuration, the data transfer control device according to an aspect of the present invention can calculate the first reference value even when a plurality of accesses are continuously performed in one data transfer operation.

また、前記第1のレジスタは、さらに、1回の前記データ転送動作の第1の遅延許容値を保持し、前記第1のアクセス制御部は、前記第1のDMACアクセス時間と前記連続アクセス回数との積から前記第1のマスタアクセス時間を減算したうえで、前記第1の遅延許容値を加算することで、前記第1の基準値を算出してもよい。   Further, the first register further holds a first delay allowable value of one data transfer operation, and the first access control unit includes the first DMAC access time and the number of consecutive accesses. The first reference value may be calculated by subtracting the first master access time from the product and adding the first allowable delay value.

この構成によれば、本発明の一形態に係るデータ転送制御装置は、DMA転送の遅延量を遅延許容値内に抑えつつ、DMA転送中のマスタによる第1の記憶装置へのアクセスを実現できる。   According to this configuration, the data transfer control device according to an aspect of the present invention can realize access to the first storage device by the master during DMA transfer while suppressing the delay amount of DMA transfer within the allowable delay value. .

また、前記データ転送制御装置は、さらに、前記第1のバスから独立した第2のバスを備え、前記マスタは、前記第2のバスを介して前記第1の記憶装置へのアクセスを行う第2のDMACであってもよい。   The data transfer control device further includes a second bus independent of the first bus, and the master accesses the first storage device via the second bus. Two DMACs may be used.

この構成によれば、本発明に一形態に係るデータ転送装置は、実行中のDMA転送の転送速度要求を満たしつつ、DMA転送とアクセス先が競合する第2のDMACのアクセスを実行可能にできる。   According to this configuration, the data transfer apparatus according to an aspect of the present invention can execute the access of the second DMAC in which the DMA transfer and the access destination compete with each other while satisfying the transfer speed request of the DMA transfer being executed. .

また、前記マスタは、前記第1のバスから独立した第2のバスを介して、前記第1の記憶装置及び前記第2の記憶装置にアクセスし、前記第2のインターフェース部は、さらに、前記マスタからの指示に従い、前記第2の記憶装置へアクセスし、前記カウンタは、さらに、前記第1のインターフェース部が前記第1の記憶装置にアクセスを開始してからの第2の経過時間をカウントし、前記第2のインターフェース部は、前記連続転送動作中に、前記マスタから前記第2の記憶装置へのアクセス要求を受けた場合、前記第2の経過時間が第2の基準値以下の場合、前記マスタから前記第2の記憶装置へのアクセスを許可し、前記第2経過時間が前記第2の基準値より大きい場合、前記マスタから前記第2の記憶装置へのアクセスを禁止する第2のアクセス制御部を備えてもよい。   The master accesses the first storage device and the second storage device via a second bus independent of the first bus, and the second interface unit further includes the second bus In accordance with an instruction from the master, the second storage device is accessed, and the counter further counts a second elapsed time since the first interface unit started accessing the first storage device. When the second interface unit receives an access request from the master to the second storage device during the continuous transfer operation, the second elapsed time is less than or equal to a second reference value. Permitting access from the master to the second storage device, and prohibiting access from the master to the second storage device when the second elapsed time is greater than the second reference value. It may comprise the access control unit.

この構成によれば、本発明の一形態に係るデータ転送制御装置は、マスタと第1のDMACとが、第1及び第2の記憶装置に対して独立してアクセスを行い、いずれかの記憶装置でアクセス競合を起こす時に、実行中のDMA転送の転送速度要求を満たしつつ、DMA転送とアクセス先が競合するマスタのアクセスを実行可能にできる。   According to this configuration, in the data transfer control device according to one aspect of the present invention, the master and the first DMAC independently access the first and second storage devices, and any one of the storages When an access conflict occurs in the apparatus, it is possible to execute a master access in which the DMA transfer and the access destination compete with each other while satisfying the transfer rate request of the DMA transfer being executed.

また、前記第1のインターフェース部は、さらに、前記第1のDMACから前記第2の記憶装置への1回のアクセスに必要な第1のDMACアクセス時間と、前記マスタから前記第1の記憶装置への1回のアクセスに必要な第1のマスタアクセス時間とを保持する第1のレジスタを備え、前記第1のアクセス制御部は、前記第1のDMACアクセス時間から前記第1のマスタアクセス時間を減算することで、前記第1の基準値を算出し、前記第2のインターフェース部は、さらに、前記第1のDMACから前記第1の記憶装置への1回のアクセスに必要な第2のDMACアクセス時間と、前記マスタから前記第2の記憶装置への1回のアクセスに必要な第2のマスタアクセス時間とを保持する第4のレジスタを備え、前記第2のアクセス制御部は、前記第2のDMACアクセス時間から前記第2のマスタアクセス時間を減算することで、前記第2の基準値を算出してもよい。   The first interface unit further includes a first DMAC access time required for one access from the first DMAC to the second storage device, and a first storage device from the master. And a first register that holds a first master access time required for one access to the first access control unit, wherein the first access control unit starts from the first DMAC access time to the first master access time. The second reference unit further calculates a second reference necessary for one access from the first DMAC to the first storage device. A second register for holding a DMAC access time and a second master access time required for one access from the master to the second storage device; Subtracts the second master access time from the second DMAC access time, it may calculate the second reference value.

この構成によれば、本発明の一形態に係るデータ転送制御装置は、第1のDMACアクセス時間と第1のマスタアクセス時間とから第1の基準値を算出できるとともに、第2のDMACアクセス時間と第2のマスタアクセス時間とから第2の基準値を算出できる。   According to this configuration, the data transfer control device according to an aspect of the present invention can calculate the first reference value from the first DMAC access time and the first master access time, and can also calculate the second DMAC access time. And the second master access time can calculate the second reference value.

また、前記第1のレジスタは、さらに、1回の前記データ転送動作の第1の遅延許容値を保持し、前記第1のアクセス制御部は、前記第1のDMACアクセス時間から前記第1のマスタアクセス時間を減算したうえで、前記第1の遅延許容値を加算することで、前記第1の基準値を算出し、前記第4のレジスタは、さらに、1回の前記データ転送動作の第2の遅延許容値を保持し、前記第2のアクセス制御部は、前記第2のDMACアクセス時間から前記第2のマスタアクセス時間を減算したうえで、前記第2の遅延許容値を加算することで、前記第2の基準値を算出してもよい。   In addition, the first register further holds a first delay allowable value of one data transfer operation, and the first access control unit performs the first DMAC access time from the first DMAC access time. After subtracting the master access time, the first reference value is calculated by adding the first delay tolerance, and the fourth register further performs the first transfer of the data transfer operation. 2, and the second access control unit subtracts the second master access time from the second DMAC access time and then adds the second delay allowable value. Thus, the second reference value may be calculated.

この構成によれば、本発明の一形態に係るデータ転送制御装置は、DMA転送の遅延量を遅延許容値内に抑えつつ、DMA転送中のマスタによる第1及び第2の記憶装置へのアクセスを実現できる。   According to this configuration, the data transfer control device according to one aspect of the present invention allows the master during DMA transfer to access the first and second storage devices while keeping the delay amount of DMA transfer within the allowable delay value. Can be realized.

また、前記データ転送制御装置は、さらに、1回の前記連続転送動作における全体遅延許容量を保持する第2のレジスタを備え、前記第1のアクセス制御部は、前記マスタから前記第1の記憶装置へのアクセス要求が発生した際に、前記第1のDMACアクセス時間から前記第1のマスタアクセス時間を減算したうえで、前記全体遅延許容量以下の第1遅延許容値を加算することで、前記第1の基準値を算出し、前記第1の経過時間が前記第1の基準値以下の場合、前記マスタから前記第1の記憶装置へのアクセスを許可するとともに、前記全体遅延許容量を減らし、前記第2のレジスタに保持されている前記全体遅延量が予め定められた値以下になった場合、前記第1の基準値として、前記第1のDMACアクセス時間から前記第1のマスタアクセス時間を減算した値を用い、前記第2のアクセス制御部は、前記マスタから前記第2の記憶装置へのアクセス要求が発生した際に、前記第2のDMACアクセス時間から前記第2のマスタアクセス時間を減算したうえで、前記全体遅延許容量以下の第2遅延許容値を加算することで、前記第2の基準値を算出し、前記第2の経過時間が前記第2の基準値以下の場合、前記マスタから前記第2の記憶装置へのアクセスを許可するとともに、前記全体遅延許容量を減らし、前記第2のレジスタに保持されている前記全体遅延量が予め定められた値以下になった場合、前記第2の基準値として、前記第2のDMACアクセス時間から前記第2のマスタアクセス時間を減算した値を用いてもよい。   The data transfer control device further includes a second register that holds an overall delay allowable amount in one continuous transfer operation, and the first access control unit receives the first memory from the master. When an access request to the device is generated, by subtracting the first master access time from the first DMAC access time, and then adding a first delay allowable value less than the total delay allowable amount, When the first reference value is calculated and the first elapsed time is less than or equal to the first reference value, access from the master to the first storage device is permitted, and the overall delay allowable amount is set to When the total delay amount held in the second register is less than or equal to a predetermined value, the first reference value is used as the first reference value from the first DMAC access time. Using the value obtained by subtracting the access time, the second access control unit determines that the second master from the second DMAC access time when an access request from the master to the second storage device is generated. After subtracting the access time, the second reference value is calculated by adding a second delay allowable value equal to or less than the total delay allowable amount, and the second elapsed time is equal to or less than the second reference value. In this case, access from the master to the second storage device is permitted, the total delay allowable amount is reduced, and the total delay amount held in the second register is less than or equal to a predetermined value. In this case, a value obtained by subtracting the second master access time from the second DMAC access time may be used as the second reference value.

この構成によれば、本発明の一形態に係るデータ転送制御装置は、連続転送動作における全体の時間要求は満たしつつ、DMA転送中のマスタによる第1及び第2の記憶装置へのアクセスを実現できる。   According to this configuration, the data transfer control device according to an aspect of the present invention realizes access to the first and second storage devices by the master during DMA transfer while satisfying the overall time requirement in the continuous transfer operation. it can.

また、前記マスタは、CPU(Central Processing Unit)であってもよい。   The master may be a CPU (Central Processing Unit).

この構成によれば、本発明に一形態に係るデータ転送装置は、実行中のDMA転送の転送速度要求を満たしつつ、DMA転送とアクセス先が競合するCPUアクセスを実行可能にできる。   According to this configuration, the data transfer apparatus according to an embodiment of the present invention can execute CPU access in which DMA transfer and access destination compete with each other while satisfying the transfer speed request of the DMA transfer being executed.

なお、本発明は、このようなデータ転送制御装置として実現できるだけでなく、データ転送制御装置に含まれる特徴的な手段をステップとするデータ転送方法として実現したり、そのような特徴的なステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の非一時的なコンピュータ読み取り可能な記録媒体、及びインターネット等の伝送媒体を介して流通させることができるのは言うまでもない。   The present invention can be realized not only as such a data transfer control device, but also as a data transfer method including steps of characteristic means included in the data transfer control device. It can also be realized as a program executed by a computer. Needless to say, such a program can be distributed via a non-transitory computer-readable recording medium such as a CD-ROM and a transmission medium such as the Internet.

さらに、本発明は、このようなデータ転送制御装置の機能の一部又は全てを実現する半導体集積回路(LSI)として実現したり、このようなデータ転送制御装置を含むデータ転送システムとして実現したりできる。   Further, the present invention can be realized as a semiconductor integrated circuit (LSI) that realizes part or all of the functions of such a data transfer control device, or as a data transfer system including such a data transfer control device. it can.

以上より、本発明は、実行中のDMA転送の転送速度要求を満たしつつ、DMA転送とアクセス先が競合するマスタのアクセスを実行可能にできるデータ転送制御装置、データ転送システム及びデータ転送方法を提供できる。   As described above, the present invention provides a data transfer control device, a data transfer system, and a data transfer method capable of satisfying the transfer rate requirement of the DMA transfer being executed and enabling the access of the master whose access destination conflicts with the DMA transfer. it can.

本発明の実施の形態1に係るデータ転送制御システムのブロック図である。1 is a block diagram of a data transfer control system according to a first embodiment of the present invention. 本発明の実施の形態1に係る第1のIFのフローチャートである。It is a flowchart of 1st IF which concerns on Embodiment 1 of this invention. 本発明の実施の形態1に係る、DMA転送中のそれぞれの記憶装置へのアクセス状態を示すタイミングチャートである。4 is a timing chart showing an access state to each storage device during DMA transfer according to the first embodiment of the present invention. 本発明の実施の形態1に係る、CPUアクセス許可時のタイミングチャートである。4 is a timing chart when CPU access is permitted according to the first embodiment of the present invention. 本発明の実施の形態1に係る、CPUアクセス不許可時のタイミングチャートである。4 is a timing chart when CPU access is not permitted according to the first embodiment of the present invention. 本発明の実施の形態1に係る、比較例におけるタイミングチャートである。It is a timing chart in the comparative example based on Embodiment 1 of this invention. 本発明の実施の形態1に係るデータ転送制御システムの変形例のブロック図である。It is a block diagram of the modification of the data transfer control system which concerns on Embodiment 1 of this invention. 本発明の実施の形態2に係るデータ転送制御システムのブロック図である。It is a block diagram of the data transfer control system which concerns on Embodiment 2 of this invention. 本発明の実施の形態2に係る第1のIFのフローチャートである。It is a flowchart of 1st IF which concerns on Embodiment 2 of this invention. 本発明の実施の形態2に係る、CPUアクセス許可時のタイミングチャートである。It is a timing chart at the time of CPU access permission based on Embodiment 2 of this invention. 本発明の実施の形態2に係る、CPUアクセス不許可時のタイミングチャートである。It is a timing chart at the time of CPU access non-permission based on Embodiment 2 of this invention. 本発明の実施の形態2に係る、CPUアクセス許可時のタイミングチャートである。It is a timing chart at the time of CPU access permission based on Embodiment 2 of this invention. 本発明の実施の形態2に係る、CPUアクセス不許可時のタイミングチャートである。It is a timing chart at the time of CPU access non-permission based on Embodiment 2 of this invention. 本発明の実施の形態3に係るデータ転送制御システムのブロック図である。It is a block diagram of the data transfer control system which concerns on Embodiment 3 of this invention. 本発明の実施の形態3に係る、DMA連続転送全体のタイミングチャートである。It is a timing chart of the whole DMA continuous transfer based on Embodiment 3 of this invention. 本発明の実施の形態3に係る第1のIFのフローチャートである。It is a flowchart of 1st IF which concerns on Embodiment 3 of this invention. 本発明の実施の形態3に係る、CPUアクセス許可時のタイミングチャートである。It is a timing chart at the time of CPU access permission based on Embodiment 3 of this invention. 本発明の実施の形態3に係る、CPUアクセス不許可時のタイミングチャートである。It is a timing chart at the time of CPU access non-permission based on Embodiment 3 of this invention. 本発明の実施の形態4に係るデータ転送制御システムのブロック図である。It is a block diagram of the data transfer control system which concerns on Embodiment 4 of this invention. 本発明の実施の形態4に係る第1のIFのフローチャートである。It is a flowchart of 1st IF which concerns on Embodiment 4 of this invention. 本発明の実施の形態4に係る、DMA転送中のそれぞれの記憶装置へのアクセス状態を示すタイミングチャートである。It is a timing chart which shows the access state to each memory | storage device in DMA transfer based on Embodiment 4 of this invention. 本発明の実施の形態4に係る、CPUアクセス許可時のタイミングチャートである。It is a timing chart at the time of CPU access permission based on Embodiment 4 of this invention. 本発明の実施の形態4に係る、CPUアクセス不許可時のタイミングチャートである。It is a timing chart at the time of CPU access non-permission based on Embodiment 4 of this invention. 本発明の実施の形態5に係るデータ転送制御システムのブロック図である。It is a block diagram of the data transfer control system which concerns on Embodiment 5 of this invention. 本発明の実施の形態5に係る、CPUアクセス許可時のタイミングチャートである。It is a timing chart at the time of CPU access permission based on Embodiment 5 of this invention. 本発明の実施の形態5に係る、CPUアクセス不許可時のタイミングチャートである。It is a timing chart at the time of CPU access non-permission based on Embodiment 5 of this invention. 本発明の実施の形態6に係るデータ転送制御システムのブロック図である。It is a block diagram of the data transfer control system which concerns on Embodiment 6 of this invention. 本発明の実施の形態7に係るデータ転送制御システムのブロック図である。It is a block diagram of the data transfer control system which concerns on Embodiment 7 of this invention. 本発明の実施の形態8に係るデータ転送制御システムのブロック図である。It is a block diagram of the data transfer control system which concerns on Embodiment 8 of this invention. 本発明の実施の形態9に係るデータ転送制御システムのブロック図である。It is a block diagram of the data transfer control system which concerns on Embodiment 9 of this invention. 本発明の実施の形態10に係るデータ転送制御システムのブロック図である。It is a block diagram of the data transfer control system which concerns on Embodiment 10 of this invention. 本発明の実施の形態11に係るデータ転送制御システムのブロック図である。It is a block diagram of the data transfer control system which concerns on Embodiment 11 of this invention. 本発明の実施の形態12に係るデータ転送制御システムのブロック図である。It is a block diagram of the data transfer control system which concerns on Embodiment 12 of this invention.

以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。   The best mode for carrying out the present invention will be described below with reference to the drawings. In addition, since the component which attached | subjected the same code | symbol in embodiment performs the same operation | movement, description may be abbreviate | omitted again.

(実施の形態1)
本発明の実施の形態1に係るデータ転送制御装置は、DMACが第2の記憶装置にアクセス中に、CPUから第1の記憶装置へのアクセス要求があった場合、DMACが第2の記憶装置にアクセスを開始した時刻からの第1の経過時間が基準値以下であるか否かを判定する。そして、当該データ転送制御装置は、第1の経過時間が基準値以下の場合にCPUから第1の記憶装置へのアクセスを許可する。
(Embodiment 1)
In the data transfer control device according to the first embodiment of the present invention, when there is an access request from the CPU to the first storage device while the DMAC is accessing the second storage device, the DMAC is the second storage device. It is determined whether or not the first elapsed time from the time when access is started is less than or equal to the reference value. Then, the data transfer control device permits access from the CPU to the first storage device when the first elapsed time is equal to or less than the reference value.

これにより、当該データ転送制御装置は、実行中のDMA転送の転送速度要求を満たしつつ、DMA転送とアクセス先が競合するマスタのアクセスを実行可能にできる。   As a result, the data transfer control device can execute the access of the master in which the DMA transfer and the access destination compete with each other while satisfying the transfer rate request of the DMA transfer being executed.

まず、本発明の実施の形態1に係るデータ転送制御装置の構成を説明する。   First, the configuration of the data transfer control device according to the first embodiment of the present invention will be described.

図1は、本発明の実施の形態1に係るデータ転送システム100の構成を示すブロック図である。図1に示すデータ転送システム100は、第1の記憶装置107と、第2の記憶装置108と、データ転送制御装置110とを備える。   FIG. 1 is a block diagram showing a configuration of a data transfer system 100 according to Embodiment 1 of the present invention. The data transfer system 100 illustrated in FIG. 1 includes a first storage device 107, a second storage device 108, and a data transfer control device 110.

データ転送制御装置110は、第1の記憶装置107及び第2の記憶装置108の一方から他方にデータを転送する。例えば、データ転送制御装置110は、第1の記憶装置107からデータを読み出して処理を行うと共に、第2の記憶装置108から第1の記憶装置107に対してデータ転送を行う。   The data transfer control device 110 transfers data from one of the first storage device 107 and the second storage device 108 to the other. For example, the data transfer control device 110 reads and processes data from the first storage device 107 and transfers data from the second storage device 108 to the first storage device 107.

第1の記憶装置107は、例えば、揮発性メモリであり、第2の記憶装置108は、第1の記憶装置107に比べアクセス時間が長い不揮発メモリである。なお、第1の記憶装置107及び第2の記憶装置108の種類は、これに限定されない。   The first storage device 107 is, for example, a volatile memory, and the second storage device 108 is a nonvolatile memory having a longer access time than the first storage device 107. Note that the types of the first storage device 107 and the second storage device 108 are not limited thereto.

データ転送制御装置110は、CPU101と、第1のDMAC102と、第1のDMACバス104と、第1のIF105と、第2のIF106と、カウンタ109とを備える。   The data transfer control device 110 includes a CPU 101, a first DMAC 102, a first DMAC bus 104, a first IF 105, a second IF 106, and a counter 109.

CPU101は、第1の記憶装置107へのアクセスを行うマスタである。   The CPU 101 is a master that accesses the first storage device 107.

第1のDMACバス104は、本発明の第1のバスに相当し、CPU101から独立してデータ転送が可能である。   The first DMAC bus 104 corresponds to the first bus of the present invention and can transfer data independently from the CPU 101.

第1のDMAC102は、第1のDMACバス104を介して、第1の記憶装置107と第2の記憶装置108との間でデータ転送を行う。具体的には、第1のDMAC102は、第1のDMACバス104を介して、連続転送動作を行う。ここで連続転送動作とは、第1の記憶装置107及び第2の記憶装置108の一方からデータを読み出し、かつ読み出したデータを他方へ書き込むデータ転送動作を繰り返し連続して行う動作である。また、この連続転送動作において、第1の記憶装置107及び第2の記憶装置108の一方からデータを読み出す動作と、読み出したデータを他方へ書き込む動作とは時系列に排他的に行われる。また、以下ではこの連続転送動作をDMA転送又はDMA転送動作とも呼ぶ。   The first DMAC 102 performs data transfer between the first storage device 107 and the second storage device 108 via the first DMAC bus 104. Specifically, the first DMAC 102 performs a continuous transfer operation via the first DMAC bus 104. Here, the continuous transfer operation is an operation in which a data transfer operation of reading data from one of the first storage device 107 and the second storage device 108 and writing the read data to the other is repeatedly performed continuously. In this continuous transfer operation, the operation of reading data from one of the first storage device 107 and the second storage device 108 and the operation of writing the read data to the other are performed exclusively in time series. Hereinafter, this continuous transfer operation is also referred to as DMA transfer or DMA transfer operation.

これらCPU101と第1のDMAC102はそれぞれ独立して動作する。   The CPU 101 and the first DMAC 102 operate independently.

第1のIF105は、本発明の第1のインターフェース部に相当し、第1の記憶装置107へのアクセスを制御する。具体的には、第1のIF105は、CPU101及び第1のDMAC102からの要求に従い、第1の記憶装置107へアクセスする。   The first IF 105 corresponds to the first interface unit of the present invention and controls access to the first storage device 107. Specifically, the first IF 105 accesses the first storage device 107 in accordance with requests from the CPU 101 and the first DMAC 102.

第2のIF106は、本発明の第2のインターフェース部に相当し、第2の記憶装置108へのアクセスを制御する。具体的には、第2のIF106は、第1のDMAC102からの要求に従い、第2の記憶装置108へアクセスする。また、第2のIF106は、第2の記憶装置108へアクセスを開始した際に、アクセス開始信号をカウンタ109へ出力する。   The second IF 106 corresponds to the second interface unit of the present invention, and controls access to the second storage device 108. Specifically, the second IF 106 accesses the second storage device 108 in accordance with a request from the first DMAC 102. Further, the second IF 106 outputs an access start signal to the counter 109 when access to the second storage device 108 is started.

カウンタ109は、第2のIF106が第2の記憶装置108にアクセスを開始してからの第1の経過時間(カウント値)をカウントする。具体的には、カウンタ109は、第2のIF106からアクセス開始信号を受け取るとカウントを開始する。また、カウンタ109は、アクセス制御部152にカウント値を渡す。   The counter 109 counts a first elapsed time (count value) from when the second IF 106 starts accessing the second storage device 108. Specifically, when the counter 109 receives an access start signal from the second IF 106, the counter 109 starts counting. In addition, the counter 109 passes the count value to the access control unit 152.

第1のIF105は、第1のレジスタ151と、アクセス制御部152とを備える。   The first IF 105 includes a first register 151 and an access control unit 152.

第1のレジスタ151は、レジスタ153及び154を含む。   The first register 151 includes registers 153 and 154.

レジスタ153は、DMACアクセス時間T1を保持する。このDMACアクセス時間T1は、本発明の第1のDMACアクセス時間に相当し、第1のDMAC102から第2の記憶装置108への1回のアクセスに必要な時間を示す。具体的には、DMACアクセス時間T1は、第1のDMAC102から第2の記憶装置108への1回のアクセスに必要なクロックのサイクル数を示す。   The register 153 holds the DMAC access time T1. The DMAC access time T1 corresponds to the first DMAC access time of the present invention, and indicates the time required for one access from the first DMAC 102 to the second storage device 108. Specifically, the DMAC access time T1 indicates the number of clock cycles necessary for one access from the first DMAC 102 to the second storage device 108.

レジスタ154は、CPUアクセス時間T2を保持する。このCPUアクセス時間T2は、本発明の第1のマスタアクセス時間に相当し、CPU101から第1の記憶装置107への1回のアクセスに必要な時間を示す。具体的には、CPUアクセス時間T2は、CPU101から第1の記憶装置107への1回のアクセスに必要なクロックのサイクル数を示す。   The register 154 holds the CPU access time T2. The CPU access time T2 corresponds to the first master access time of the present invention, and indicates the time required for one access from the CPU 101 to the first storage device 107. Specifically, the CPU access time T2 indicates the number of clock cycles required for one access from the CPU 101 to the first storage device 107.

アクセス制御部152は、本発明の第1のアクセス制御部に相当し、第1のDMAC102による連続転送動作中における、CPU101から第1の記憶装置107へのアクセスの可否を判定する。   The access control unit 152 corresponds to the first access control unit of the present invention, and determines whether or not the CPU 101 can access the first storage device 107 during the continuous transfer operation by the first DMAC 102.

具体的には、アクセス制御部152は、連続転送動作中に、CPU101から第1の記憶装置107へのアクセス要求を受けた場合、第1の基準値と、カウンタ109でカウントされた第1の経過時間(カウント値)とを比較する。そして、アクセス制御部152は、第1の経過時間が第1の基準値以下の場合、CPU101から第1の記憶装置107へのアクセスを許可する。また、アクセス制御部152は、第1の経過時間が第1の基準値より大きい場合、CPU101から第1の記憶装置107へのアクセスを禁止する。ここで、第1の基準値とは、DMACアクセス時間T1からCPUアクセス時間T2を減算した値である。つまり、アクセス制御部152は、DMACアクセス時間T1からCPUアクセス時間T2を減算することで、第1の基準値を算出する。   Specifically, when the access control unit 152 receives an access request from the CPU 101 to the first storage device 107 during the continuous transfer operation, the access control unit 152 receives the first reference value and the first count counted by the counter 109. The elapsed time (count value) is compared. Then, the access control unit 152 permits access from the CPU 101 to the first storage device 107 when the first elapsed time is equal to or less than the first reference value. In addition, when the first elapsed time is larger than the first reference value, the access control unit 152 prohibits access from the CPU 101 to the first storage device 107. Here, the first reference value is a value obtained by subtracting the CPU access time T2 from the DMAC access time T1. That is, the access control unit 152 calculates the first reference value by subtracting the CPU access time T2 from the DMAC access time T1.

以下、以上のように構成されたデータ転送制御装置110の動作を説明する。   Hereinafter, the operation of the data transfer control device 110 configured as described above will be described.

本発明は、DMA転送中の動作を特徴とするものである。よって、以下では、DMA転送を実行中の動作を説明する。   The present invention is characterized by operations during DMA transfer. Therefore, in the following, an operation during execution of DMA transfer will be described.

まず、第1のDMAC102の動作を説明する。第1のDMAC102は、転送元の記憶装置と転送先の記憶装置とに交互に連続してアクセスすることで連続転送動作を行う。ここで、第1の記憶装置107から第2の記憶装置108へのデータ転送を考える。この場合、第1のDMAC102は、まず第1のIF105に対して、第1の記憶装置107からのデータ読み出し要求を発行する。そして、第1の記憶装置107からのデータ読み出しが完了すると、第1のDMAC102は、第2のIF106に対して、第2の記憶装置108へのデータ書き込み要求を発行することで、先ほど読み出したデータを第2の記憶装置108に書き込む。データ書き込みが完了すると、第1のDMAC102は、引き続き、アドレスを更新し、再度第1の記憶装置107に対する読み出しを開始する。第1のDMAC102は、以降同様に交互にアクセスを実行する。第1のDMAC102は、最終的に転送すべきデータの転送が完了すると連続転送動作を終了する。   First, the operation of the first DMAC 102 will be described. The first DMAC 102 performs continuous transfer operations by alternately and continuously accessing the transfer source storage device and the transfer destination storage device. Here, data transfer from the first storage device 107 to the second storage device 108 is considered. In this case, the first DMAC 102 first issues a data read request from the first storage device 107 to the first IF 105. When the data read from the first storage device 107 is completed, the first DMAC 102 issues a data write request to the second storage device 108 to the second IF 106 to read the data earlier. Data is written to the second storage device 108. When the data writing is completed, the first DMAC 102 continues to update the address and starts reading from the first storage device 107 again. Thereafter, the first DMAC 102 performs access alternately in the same manner. The first DMAC 102 ends the continuous transfer operation when the transfer of data to be finally transferred is completed.

次に、第1のIF105の動作を説明する。   Next, the operation of the first IF 105 will be described.

図2は、DMA転送を実行するときの第1のIF105による動作のフローチャートである。   FIG. 2 is a flowchart of the operation performed by the first IF 105 when executing DMA transfer.

まず、CPU101又は第1のDMAC102により、レジスタ153にDMACアクセス時間T1が設定され、レジスタ154にCPUアクセス時間T2が設定される(S101)。なお、このDMACアクセス時間T1及びCPUアクセス時間T2は、連続転送動作の前に予め設定されていてもよいし、連続転送動作ごとに、DMACアクセス時間T1及びCPUアクセス時間T2のうち少なくとも一方が設定されてもよい。   First, the CPU 101 or the first DMAC 102 sets the DMAC access time T1 in the register 153, and sets the CPU access time T2 in the register 154 (S101). The DMAC access time T1 and the CPU access time T2 may be set in advance before the continuous transfer operation, or at least one of the DMAC access time T1 and the CPU access time T2 is set for each continuous transfer operation. May be.

また、以下では、CPU101から第1の記憶装置107へのアクセスをCPUアクセスと呼び、第1のDMAC102から第1の記憶装置107又は第2の記憶装置108へのアクセスをDMAアクセスと呼ぶ。また、CPUアクセスの要求をCPUアクセス要求と呼び、DMAアクセスの要求をDMAアクセス要求と呼ぶ。   Hereinafter, access from the CPU 101 to the first storage device 107 is referred to as CPU access, and access from the first DMAC 102 to the first storage device 107 or the second storage device 108 is referred to as DMA access. A CPU access request is called a CPU access request, and a DMA access request is called a DMA access request.

ここで、図2に示すステップS102の時点で、第1のIF105でCPUアクセスが実行中であった場合には、CPUアクセスが完了後に連続転送動作を開始してもよいし、CPUアクセスをキャンセルして連続転送動作を開始してもよいものとする。   Here, if the CPU access is being executed by the first IF 105 at the time of step S102 shown in FIG. 2, the continuous transfer operation may be started after the CPU access is completed, or the CPU access is canceled. Then, the continuous transfer operation may be started.

最初に、連続転送動作中にCPUアクセスが発生しない場合の動作を、図2及び図3を用いて説明する。   First, the operation when no CPU access occurs during the continuous transfer operation will be described with reference to FIGS.

まず、第1のIF105は、DMAC102からのアクセス要求を受け取り(S102)、DMAアクセスを開始する(S103)。当該DMAアクセスが完了すると(S104)、次に、第1のDMAC102は第2の記憶装置108へのアクセスを行う。この間は第1のIF105は処理を行わない。その後、第2の記憶装置108へのアクセスが終了し(S106でYes)、かつ、ステップS110において連続転送動作が完了していなければ(S110でNo)、第1のIF105は、再度ステップS102でDMAアクセス要求を受け取り、DMAアクセスを実行する(S103)。最終的にステップS110において連続転送動作が完了していれば(S110でYes)、DMA連続転送動作が終了する。   First, the first IF 105 receives an access request from the DMAC 102 (S102), and starts DMA access (S103). When the DMA access is completed (S104), the first DMAC 102 next accesses the second storage device 108. During this time, the first IF 105 does not perform processing. Thereafter, when the access to the second storage device 108 is completed (Yes in S106), and the continuous transfer operation is not completed in Step S110 (No in S110), the first IF 105 returns to Step S102 again. A DMA access request is received and DMA access is executed (S103). If the continuous transfer operation is finally completed in step S110 (Yes in S110), the DMA continuous transfer operation ends.

図3は、このときの第1の記憶装置107及び第2の記憶装置108へのアクセス状況を示す図である。図3に示すように、連続転送動作において第1のDMAC102は、第1の記憶装置107と第2の記憶装置108とに交互にアクセスを行っている。   FIG. 3 is a diagram showing an access status to the first storage device 107 and the second storage device 108 at this time. As shown in FIG. 3, in the continuous transfer operation, the first DMAC 102 alternately accesses the first storage device 107 and the second storage device 108.

次に、第1のDMAC102が第1の記憶装置107にアクセス中、つまり、図2におけるステップS102からステップS104の期間中にCPUアクセス要求が発行された場合の動作を説明する。   Next, the operation when the first DMAC 102 is accessing the first storage device 107, that is, when a CPU access request is issued during the period from step S102 to step S104 in FIG. 2, will be described.

このときは、DMAアクセスを実行中のため、CPUアクセス要求は受理されない。   At this time, since the DMA access is being executed, the CPU access request is not accepted.

次に、第1のDMAC102が第1の記憶装置107にアクセスを行っていないとき、すなわち図2におけるステップS104の後からステップS110の期間中にCPUアクセス要求が発行された場合の動作、又は、ステップS102からステップS104の期間に発行され受理されなかったCPUアクセス要求がステップS104のDMAアクセス完了時点まで待ち状態であった場合の動作を説明する。   Next, when the first DMAC 102 is not accessing the first storage device 107, that is, when a CPU access request is issued during step S110 after step S104 in FIG. 2, or The operation when the CPU access request issued and not accepted during the period from step S102 to step S104 is in a waiting state until the completion of the DMA access in step S104 will be described.

まず、DMAアクセス終了(S104)の後、カウンタ109は、第2の記憶装置108へのDMAアクセスの開始と同時に、カウントを開始する(S105)。   First, after the DMA access ends (S104), the counter 109 starts counting simultaneously with the start of the DMA access to the second storage device 108 (S105).

その後、第1のIF105は、第1の記憶装置107へのDMAアクセスが終了するまでの期間において(S106でNo)、所定の期間ごとに、CPUアクセス要求が発行されたか否かを判定する(S107)。   Thereafter, the first IF 105 determines whether or not a CPU access request has been issued for each predetermined period in a period until the DMA access to the first storage device 107 ends (No in S106) ( S107).

CPUアクセス要求が発行された場合(S107でYes)、第1のIF105は、当該CPUアクセスの可否を判定する。具体的には、第1のIF105は、カウンタ109によるカウンタ値が第1の基準値以下の場合(S108でYes)には、CPUアクセスを実行する(S109)。また、第1のIF105は、カウンタ109によるカウンタ値が第1の基準値より大きい場合(S108でNo)には、CPUアクセス要求を受理しない。   When the CPU access request is issued (Yes in S107), the first IF 105 determines whether the CPU access is possible. Specifically, when the counter value by the counter 109 is equal to or smaller than the first reference value (Yes in S108), the first IF 105 executes CPU access (S109). Further, the first IF 105 does not accept the CPU access request when the counter value by the counter 109 is larger than the first reference value (No in S108).

このアクセス判定動作の具体例を、図4及び図5を用いて説明する。また、図4及び図5において、カウント値は、第1のDMAC102による第2の記憶装置108へのアクセス開始からの第1の経過時間であり、カウンタ109から値が出力されている。また、残り期間T3は、CPUアクセス要求の発生から後続の第1の記憶装置107に対するDMAアクセス開始までの期間を示し、これはDMACアクセス時間T1からカウント値を減算することで算出できる。   A specific example of this access determination operation will be described with reference to FIGS. 4 and 5, the count value is the first elapsed time from the start of access to the second storage device 108 by the first DMAC 102, and the value is output from the counter 109. The remaining period T3 indicates the period from the generation of the CPU access request to the start of the subsequent DMA access to the first storage device 107, which can be calculated by subtracting the count value from the DMAC access time T1.

図4は、CPUアクセス要求の発生時点で、後続のDMAアクセス開始までの残り期間T3より、CPUアクセス時間T2が小さい場合の動作例を示す図である。この場合、CPUアクセス要求は受理され、CPUアクセスが実行される。また、DMA転送の動作自体は図3と同様となり、DMA転送を阻害することなくCPU101によるアクセスが実行される。   FIG. 4 is a diagram illustrating an operation example when the CPU access time T2 is shorter than the remaining period T3 until the start of the subsequent DMA access at the time when the CPU access request occurs. In this case, the CPU access request is accepted and CPU access is executed. Further, the DMA transfer operation itself is the same as that shown in FIG.

図5は、残り期間T3より、CPUアクセス時間T2が大きい場合の動作例を示す図である。この場合、CPUアクセスを許可してしまうと、当該CPUアクセスが後続の第1の記憶装置107に対するDMA転送と競合することになる。よって、この場合は、CPUアクセスは許可されない。   FIG. 5 is a diagram illustrating an operation example when the CPU access time T2 is longer than the remaining period T3. In this case, if the CPU access is permitted, the CPU access conflicts with the subsequent DMA transfer to the first storage device 107. Therefore, in this case, CPU access is not permitted.

図6は、比較のための図であり、残り期間T3より、CPUアクセス時間T2が大きい場合において、本発明の実施の形態1に係る処理を行わない場合の動作例を示す図である。図6に示すように、このような場合に、CPUアクセスを許可してしまうと、当該CPUアクセスが後続の第1の記憶装置107に対するDMA転送と競合することになる。これにより、後続のDMA転送が遅延してしまう。   FIG. 6 is a diagram for comparison, and is a diagram illustrating an operation example when the process according to the first embodiment of the present invention is not performed when the CPU access time T2 is longer than the remaining period T3. As shown in FIG. 6, in such a case, if the CPU access is permitted, the CPU access conflicts with the DMA transfer to the subsequent first storage device 107. This delays subsequent DMA transfers.

以上のように、本発明の実施の形態1に係るデータ転送制御装置110は、後続のDMAアクセス開始までの残り期間T3より、CPUアクセス時間T2が小さい場合にのみCPUアクセスを許可する。これにより、当該データ転送制御装置110は、後続のDMAアクセスを遅延させることなく、CPU101による第1の記憶装置107へのアクセスを実行できる。   As described above, the data transfer control device 110 according to the first embodiment of the present invention permits CPU access only when the CPU access time T2 is shorter than the remaining period T3 until the subsequent DMA access starts. Accordingly, the data transfer control device 110 can execute access to the first storage device 107 by the CPU 101 without delaying subsequent DMA access.

なお、上記説明では、第1のレジスタ151がDMACアクセス時間T1及びCPUアクセス時間T2を保持する例を説明したが、図7に示すように、第1のレジスタ151は、上記第1の基準値(=T2−T1)を保持するレジスタ155を含んでもよい。この場合、アクセス制御部152は、当該第1の基準値とカウント値とを比較することによりアクセス判定を行う。   In the above description, the example in which the first register 151 holds the DMAC access time T1 and the CPU access time T2 has been described. However, as illustrated in FIG. 7, the first register 151 stores the first reference value. A register 155 that holds (= T2−T1) may be included. In this case, the access control unit 152 performs access determination by comparing the first reference value with the count value.

また、図4では、次のDMA転送を開始するまでにCPUアクセスが1度発生する動作例を記載しているが、後続のDMAアクセス開始までの残り期間T3よりCPUアクセス時間T2が小さい条件を満たすのであれば、次のDMA転送を行うまでに何度CPUアクセスを実行してもよい。   FIG. 4 shows an operation example in which the CPU access occurs once until the next DMA transfer is started. However, the condition that the CPU access time T2 is shorter than the remaining period T3 until the subsequent DMA access is started. If satisfied, the CPU access may be executed any number of times before the next DMA transfer is performed.

また、図1に示す例では、データ転送システム100は、一つのCPU101のみを含むが、第1のDMAC102と独立したバスを持ち、第1の記憶装置107に対してアクセスを行う、任意の個数のCPUを含んでもよい。この場合も、簡単な機能の追加で同様の効果を実現できる。   In the example shown in FIG. 1, the data transfer system 100 includes only one CPU 101, but has an independent number of buses that have an independent bus from the first DMAC 102 and access the first storage device 107. The CPU may be included. In this case, the same effect can be realized by adding a simple function.

また、図1に示す例では、第1のDMAC102が2個の記憶装置にアクセス可能な例を示したが、第1のDMAC102は、第1の記憶装置107を含む3個以上の記憶装置にアクセス可能であってもよい。この場合も、簡単な機能の追加で同様の効果を実現できる。   In the example illustrated in FIG. 1, the example in which the first DMAC 102 can access two storage devices is shown. However, the first DMAC 102 is connected to three or more storage devices including the first storage device 107. It may be accessible. In this case, the same effect can be realized by adding a simple function.

また、上記では主に、第1の記憶装置107から第2の記憶装置108へデータを転送する例を述べたが、本発明は、第1の記憶装置107及び第2の記憶装置108の一方からデータを読み出し、かつ読み出したデータを他方へ書き込むデータ転送動作を繰り返し連続して行う連続転送動作を行う場合に適用できる。   In the above description, the example in which data is mainly transferred from the first storage device 107 to the second storage device 108 has been described. However, the present invention can be applied to either the first storage device 107 or the second storage device 108. The present invention can be applied to a case where a continuous transfer operation is performed in which data transfer operation for reading data from and writing data to the other is repeated continuously.

また、上述したように、第1の記憶装置107は、例えば、揮発性メモリであり、第2の記憶装置108は、第1の記憶装置107に比べアクセス時間が長い不揮発メモリである。このような場合に本発明の実施の形態1に係るデータ転送制御装置110を用いることで、アクセス時間の長い第2の記憶装置108に保持されているデータを順次第1の記憶装置107に転送すると共に、第1の記憶装置107からデータを読み出すことができるので、効率よく処理を実行できる。   Further, as described above, the first storage device 107 is, for example, a volatile memory, and the second storage device 108 is a nonvolatile memory having a longer access time than the first storage device 107. In such a case, by using the data transfer control device 110 according to the first embodiment of the present invention, data held in the second storage device 108 having a long access time is sequentially transferred to the first storage device 107. In addition, since data can be read from the first storage device 107, processing can be executed efficiently.

なお、接続される記憶装置はデータアクセスが可能な装置であればその構成は上記に制限されない。   Note that the configuration of the connected storage device is not limited to the above as long as it is a data accessible device.

(実施の形態2)
本発明の実施の形態2では、上述した実施の形態1の変形例について説明する。本発明の実施の形態2に係るデータ転送制御装置210は、さらに、遅延許容値T4を用いて、CPUアクセスの可否を判定する。
(Embodiment 2)
In the second embodiment of the present invention, a modification of the above-described first embodiment will be described. The data transfer control device 210 according to the second embodiment of the present invention further determines whether the CPU can be accessed using the delay allowable value T4.

図8は、本発明の実施の形態2に係るデータ転送システム200の構成を示すブロック図である。図8に示すデータ転送制御装置210は、実施の形態1に係るデータ転送制御装置110に対して、第1のIF205の構成が異なる。具体的には、第1のレジスタ151は、さらに、1回のデータ転送動作における遅延の許容値である遅延許容値T4を保持するレジスタ256を有する。この遅延許容値T4は本発明の第1の遅延許容値に相当する。また、アクセス制御部252は、CPUアクセスの可否の判定に当該遅延許容値T4を使用する。それ以外の構成要素は実施の形態1と同様である。   FIG. 8 is a block diagram showing the configuration of the data transfer system 200 according to Embodiment 2 of the present invention. The data transfer control device 210 shown in FIG. 8 differs from the data transfer control device 110 according to the first embodiment in the configuration of the first IF 205. Specifically, the first register 151 further includes a register 256 that holds a delay allowable value T4 that is a delay allowable value in one data transfer operation. This allowable delay value T4 corresponds to the first allowable delay value of the present invention. Further, the access control unit 252 uses the allowable delay value T4 for determining whether or not CPU access is possible. Other components are the same as those in the first embodiment.

上記実施の形態1では、DMA転送と競合しない場合にのみCPUアクセスを許可していた。それに対し、本発明の実施の形態2では、一定値までDMA転送の遅延を許容し、競合した場合でもDMA転送を遅延させてCPUアクセスを実行する。   In the first embodiment, CPU access is permitted only when there is no conflict with DMA transfer. On the other hand, in the second embodiment of the present invention, the DMA transfer is allowed to be delayed up to a certain value, and even in the case of contention, the DMA access is delayed and the CPU access is executed.

具体的には、アクセス制御部252は、DMACアクセス時間T1からCPUアクセス時間T2を減算したうえで、遅延許容値T4を加算することで、第1の基準値を算出する。次に、アクセス制御部252は、算出した第1の基準値と、カウンタ109でカウントされた第1の経過時間(カウント値)とを比較する。そして、アクセス制御部252は、第1の経過時間が第1の基準値以下の場合、CPU101から第1の記憶装置107へのアクセスを許可する。また、アクセス制御部252は、第1の経過時間が第1の基準値より大きい場合、CPU101から第1の記憶装置107へのアクセスを禁止する。   Specifically, the access control unit 252 calculates the first reference value by subtracting the CPU access time T2 from the DMAC access time T1 and adding the allowable delay value T4. Next, the access control unit 252 compares the calculated first reference value with the first elapsed time (count value) counted by the counter 109. Then, the access control unit 252 permits access from the CPU 101 to the first storage device 107 when the first elapsed time is equal to or less than the first reference value. In addition, when the first elapsed time is larger than the first reference value, the access control unit 252 prohibits access from the CPU 101 to the first storage device 107.

図9は、本発明の実施の形態2におけるDMA転送中の第1のIF205による動作のフローチャートである。なお、図9に示す処理は、図2に示す処理に対して、ステップS201及びS208の処理が異なる。また、図9に示す処理は、さらに、ステップS211の処理を含む。   FIG. 9 is a flowchart of the operation by the first IF 205 during DMA transfer according to the second embodiment of the present invention. 9 is different from the process shown in FIG. 2 in steps S201 and S208. Further, the process shown in FIG. 9 further includes the process of step S211.

まず、CPU101又は第1のDMAC102により、レジスタ153にDMACアクセス時間T1が設定され、レジスタ154にCPUアクセス時間T2が設定され、レジスタ256に遅延許容値T4が設定される(S201)。   First, the CPU 101 or the first DMAC 102 sets the DMAC access time T1 in the register 153, the CPU access time T2 in the register 154, and the allowable delay value T4 in the register 256 (S201).

図9において、DMAアクセス要求が発行された時(S102)、CPUアクセスが既に実行中であれば(S211でYes)、CPUアクセスが完了するまでDMA転送が待たされる。ステップS211でCPUアクセスが終了すると、DMAアクセスが実行される(S103)。フローチャートのそれ以外の動作は実施の形態1と同様である。   In FIG. 9, when a DMA access request is issued (S102), if the CPU access is already being executed (Yes in S211), the DMA transfer is waited until the CPU access is completed. When the CPU access ends in step S211, DMA access is executed (S103). Other operations in the flowchart are the same as those in the first embodiment.

また、ステップS103からステップS104のDMAアクセス実行中は、実施の形態1と同様にCPUアクセス要求は受理されない。   Further, during the DMA access execution from step S103 to step S104, the CPU access request is not accepted as in the first embodiment.

ステップS104のDMAアクセス完了以降にCPUアクセス要求が存在する場合(S107でYes)は、アクセス制御部252はアクセス判定を行い、CPUアクセスの可否を決定する(S208)。   If there is a CPU access request after the completion of DMA access in step S104 (Yes in S107), the access control unit 252 determines access and determines whether or not CPU access is possible (S208).

このときのアクセス判定について図10及び図11を用いて説明する。図10及び図11において、遅延許容値T4はDMA転送に遅延が発生しても要求性能を満たすことができる遅延の許容時間であり、レジスタ256に保持されている。   The access determination at this time will be described with reference to FIGS. 10 and 11, the allowable delay value T4 is an allowable delay time that can satisfy the required performance even if a delay occurs in the DMA transfer, and is held in the register 256.

図10は、CPUアクセス要求の発生時点で、後続のDMAアクセス開始までの残り期間T3と遅延許容値T4との合計値より、CPUアクセス時間T2の方が小さい場合の動作例を示す図である。この場合、CPUアクセス要求は受理され、CPUアクセスが実行される。また、図10に示すDMAアクセス要求発行時点ではCPUアクセスを実行中のため、後続のDMA転送は待ち状態になり遅延が発生するが、この時のDMA転送の遅延は設定されている遅延許容値T4以内に収まっている。   FIG. 10 is a diagram illustrating an operation example when the CPU access time T2 is smaller than the total value of the remaining period T3 until the start of the subsequent DMA access and the allowable delay value T4 when the CPU access request is generated. . In this case, the CPU access request is accepted and CPU access is executed. Further, since the CPU access is being executed when the DMA access request is issued as shown in FIG. 10, the subsequent DMA transfer is in a waiting state and a delay occurs. The delay of the DMA transfer at this time is a set delay allowable value. It is within T4.

図11は、後続のDMAアクセス開始までの残り期間T3と遅延許容値T4との合計値より、CPUアクセス時間T2の方が大きい場合の動作例を示す図である。この場合、CPUアクセスを許可してしまうと、後続のDMA転送の遅延が設定されている遅延許容値T4よりも大きくなってしまうため、CPUアクセスは許可されない。   FIG. 11 is a diagram illustrating an operation example when the CPU access time T2 is longer than the total value of the remaining period T3 until the start of the subsequent DMA access and the allowable delay value T4. In this case, if the CPU access is permitted, the delay of the subsequent DMA transfer becomes larger than the set delay allowable value T4, so the CPU access is not permitted.

以上のように、本発明の実施の形態2に係るデータ転送制御装置210は、DMA転送の遅延を設定した遅延許容値以内に収めつつCPUアクセスを実行できる。   As described above, the data transfer control device 210 according to the second embodiment of the present invention can execute CPU access while keeping the delay of DMA transfer within a set allowable delay value.

また、上述した実施の形態1においては、DMACアクセス時間T1よりCPUアクセス時間T2の方が小さい時のみCPUアクセスを行うことができるが、実施の形態2においては、遅延許容値T4の値によっては、DMACアクセス時間T1よりCPUアクセス時間T2が大きい場合でもCPUアクセスを実現可能である。この時の動作を図12及び図13を用いて説明する。   In the first embodiment described above, CPU access can be performed only when the CPU access time T2 is smaller than the DMAC access time T1, but in the second embodiment, depending on the value of the allowable delay value T4, Even when the CPU access time T2 is longer than the DMAC access time T1, the CPU access can be realized. The operation at this time will be described with reference to FIGS.

この時も同様に、図12に示すようにDMA転送の遅延が、設定された遅延許容値T4内に収まるのであればCPUアクセスを実行できる。また、同様に、図13に示すようにDMA転送の遅延が遅延許容値T4を超える場合にはCPUアクセスは許可されない。   Similarly at this time, as shown in FIG. 12, if the DMA transfer delay falls within the set allowable delay value T4, CPU access can be executed. Similarly, as shown in FIG. 13, when the DMA transfer delay exceeds the allowable delay value T4, the CPU access is not permitted.

なお、実施の形態2に係るデータ転送制御装置210に、上述した実施の形態1と同様の変形例を適用してもよい。   Note that the same modification example as in the first embodiment may be applied to the data transfer control device 210 according to the second embodiment.

例えば、第1のレジスタ151は、DMACアクセス時間T1、CPUアクセス時間T2、及び遅延許容値T4のかわりに、第1の基準値(=T1−T2+T4)を保持していてもよい。   For example, the first register 151 may hold a first reference value (= T1−T2 + T4) instead of the DMAC access time T1, the CPU access time T2, and the delay allowable value T4.

(実施の形態3)
本発明の実施の形態3では、上述した実施の形態1の変形例について説明する。本発明の実施の形態3に係るデータ転送制御装置310は、さらに、全体遅延許容量T5を用いて、CPUアクセスの可否を判定する。
(Embodiment 3)
In the third embodiment of the present invention, a modification of the above-described first embodiment will be described. The data transfer control device 310 according to the third embodiment of the present invention further determines whether or not the CPU can be accessed using the total delay allowable amount T5.

図14は、本発明の実施の形態3に係るデータ転送システム300の構成を示すブロック図である。図14に示すデータ転送制御装置310は、実施の形態1に係るデータ転送制御装置110に対して、第1のIF305の構成が異なる。具体的には、第1のIF305は、さらに、第2のレジスタ357を備える。また、アクセス制御部352の機能が、アクセス制御部152と異なる。   FIG. 14 is a block diagram showing a configuration of a data transfer system 300 according to Embodiment 3 of the present invention. The data transfer control device 310 shown in FIG. 14 differs from the data transfer control device 110 according to the first embodiment in the configuration of the first IF 305. Specifically, the first IF 305 further includes a second register 357. Further, the function of the access control unit 352 is different from that of the access control unit 152.

第2のレジスタ357は、第1のDMAC102による一度の連続転送動作における全体遅延許容量T5を保持するレジスタ358を含む。この全体遅延許容量T5について図15を用いて説明する。   The second register 357 includes a register 358 that holds an overall delay allowable amount T5 in one continuous transfer operation by the first DMAC 102. The overall delay allowable amount T5 will be described with reference to FIG.

第1のDMAC102は予め決まった量のデータを連続して転送する連続転送動作を行う。この時、図15に示すDMA転送要求時間は、DMA転送を完了させる必要がある時刻までの経過時間であり設計時に与えられている。また、最速DMA転送完了時間は、DMA転送がアクセス競合で阻害されなかった場合に最速でDMA転送を完了することができる時間であり、一度のアクセスにかかる時間と必要アクセス回数とから予め算出できる。全体遅延許容量T5は、これらの値から算出でき、DMA転送に途中で遅延が発生したとしてもDMA転送要求時間内にDMA転送を完了させることができる遅延時間の許容量である。   The first DMAC 102 performs a continuous transfer operation for continuously transferring a predetermined amount of data. At this time, the DMA transfer request time shown in FIG. 15 is an elapsed time until the time at which the DMA transfer needs to be completed, and is given at the time of design. The fastest DMA transfer completion time is a time when the DMA transfer can be completed at the fastest when the DMA transfer is not hindered by access competition, and can be calculated in advance from the time required for one access and the required number of accesses. . The total delay allowable amount T5 can be calculated from these values, and is an allowable amount of delay time that can complete the DMA transfer within the DMA transfer request time even if a delay occurs during the DMA transfer.

アクセス制御部352は、CPU101から第1の記憶装置107へのアクセス要求が発生した際に、以下の処理を行う。   The access control unit 352 performs the following processing when an access request from the CPU 101 to the first storage device 107 is generated.

まず、アクセス制御部352は、DMACアクセス時間T1からCPUアクセス時間T2を減算したうえで、全体遅延許容量T5を加算することで、第1の基準値を算出する。そして、アクセス制御部352は算出した第1の基準値を用いて、CPUアクセスの可否を判定する。   First, the access control unit 352 calculates the first reference value by subtracting the CPU access time T2 from the DMAC access time T1 and adding the total delay allowable amount T5. Then, the access control unit 352 determines whether or not the CPU can be accessed using the calculated first reference value.

また、アクセス制御部352は、カウント値が第1の基準値以下であり、CPUアクセスを許可した場合、カウンタ値とCPUアクセス時間T2とを加算し、加算した値からDMACアクセス時間T1を減算することで、遅延時間T6を算出する。この遅延時間T6は本発明の第1の遅延時間に相当する。次に、アクセス制御部352は、第2のレジスタ357に保持されている全体遅延許容量T5から遅延時間T6を減算することで、第2のレジスタ357に保持されている全体遅延許容量T5を更新する。   Further, when the count value is equal to or smaller than the first reference value and the CPU access is permitted, the access control unit 352 adds the counter value and the CPU access time T2, and subtracts the DMAC access time T1 from the added value. Thus, the delay time T6 is calculated. This delay time T6 corresponds to the first delay time of the present invention. Next, the access control unit 352 subtracts the delay time T6 from the total delay allowable amount T5 held in the second register 357, thereby obtaining the total delay allowable amount T5 held in the second register 357. Update.

図16は、本発明の実施の形態3におけるDMA転送中の第1のIF305による動作のフローチャートである。なお、図16に示す処理は、図9に示す処理に対して、ステップS301及びS308の処理が異なる。また、図16に示す処理は、さらに、ステップS312の処理を含む。   FIG. 16 is a flowchart of the operation by the first IF 305 during the DMA transfer in the third embodiment of the present invention. Note that the processing shown in FIG. 16 differs from the processing shown in FIG. 9 in steps S301 and S308. Further, the process shown in FIG. 16 further includes the process of step S312.

まず、CPU101又は第1のDMAC102により、レジスタ153にDMACアクセス時間T1が設定され、レジスタ154にCPUアクセス時間T2が設定され、レジスタ358に全体遅延許容量T5が設定される(S301)。   First, the CPU 101 or the first DMAC 102 sets the DMAC access time T1 in the register 153, the CPU access time T2 in the register 154, and the total delay allowable amount T5 in the register 358 (S301).

また、ステップS104のDMAアクセス完了以降にCPUアクセス要求が存在する場合(S107でYes)は、アクセス制御部352はアクセス判定を行い、CPUアクセスの可否を決定する(S308)。   If there is a CPU access request after the completion of DMA access in step S104 (Yes in S107), the access control unit 352 performs access determination and determines whether or not CPU access is possible (S308).

このアクセス判定について、図17及び図18を用いて説明する。また、実施の形態3ではアクセス判定と同時に、第1のレジスタ151及び第2のレジスタ357の値を更新する。その動作についても説明する。   This access determination will be described with reference to FIGS. In the third embodiment, the values of the first register 151 and the second register 357 are updated simultaneously with the access determination. The operation will also be described.

説明のために、第1のレジスタ151は実施の形態1と同様の構成を有し、DMACアクセス時間T1、及びCPUアクセス時間T2を保持するとする。また、残り期間T3はDMACアクセス時間T1からカウント値を引くことで算出される。   For explanation, it is assumed that the first register 151 has the same configuration as that of the first embodiment and holds the DMAC access time T1 and the CPU access time T2. The remaining period T3 is calculated by subtracting the count value from the DMAC access time T1.

なお、これらの値は第1のレジスタ151に設定される値を限定するものではなく、アクセス許可を判定する第1の基準値を第1のレジスタ151に保持しておいてもよい。   Note that these values do not limit the values set in the first register 151, and a first reference value for determining access permission may be held in the first register 151.

図17は、全体遅延許容量T5が十分大きい値のときの動作例を示す図である。このとき、カウント値は、第1の基準値(=T1−T2+T5)以下なので(S308でYes)、CPUアクセス要求は受理され、CPUアクセスが実行される(S109)。   FIG. 17 is a diagram illustrating an operation example when the total delay allowable amount T5 is a sufficiently large value. At this time, since the count value is equal to or smaller than the first reference value (= T1-T2 + T5) (Yes in S308), the CPU access request is accepted and the CPU access is executed (S109).

次に、アクセス制御部352は、遅延時間T6を算出する。この遅延時間T6は、CPUアクセスによって後続のDMAアクセスに遅延が発生した場合の遅延値である。このとき、DMA転送は遅延時間T6の時間だけ遅延が発生しているため、アクセス制御部352は、第2のレジスタ357に保持されている全体遅延許容量T5から遅延時間T6を減算し、これを新しい全体遅延許容量T5として第2のレジスタ357に保持する(S312)。   Next, the access control unit 352 calculates a delay time T6. This delay time T6 is a delay value when a delay occurs in the subsequent DMA access due to the CPU access. At this time, since the DMA transfer is delayed by the delay time T6, the access control unit 352 subtracts the delay time T6 from the total delay allowable amount T5 held in the second register 357. Is held in the second register 357 as a new overall delay allowance T5 (S312).

図18は、DMA転送に遅延が生じた結果、第2のレジスタ357に保持している全体遅延許容量T5がCPUアクセス時間T2よりも小さくなったときの動作例を示す図である。このとき、CPUアクセスによりDMA転送が遅延すると、場合によってはDMA転送の遅延許容量を超え、DMA転送要求を満たさない恐れがある。したがって、アクセス制御部352は、カウント値が第1の基準値(=T1−T2+T5)より大きい(S308でNo)ことにより、後続のDMA転送に遅延が発生する場合にはCPUアクセスを許可しない。   FIG. 18 is a diagram showing an operation example when the total delay allowable amount T5 held in the second register 357 becomes smaller than the CPU access time T2 as a result of delay in DMA transfer. At this time, if the DMA transfer is delayed due to the CPU access, the DMA transfer allowable delay may be exceeded in some cases and the DMA transfer request may not be satisfied. Accordingly, the access control unit 352 does not permit CPU access when the count value is larger than the first reference value (= T1−T2 + T5) (No in S308) and a delay occurs in the subsequent DMA transfer.

以上のように、本発明の実施の形態3に係るデータ転送制御装置310は、DMA転送の遅延が発生するたびに全体遅延許容量T5を再計算し、全体遅延許容量T5を元にアクセス判定の基準値を更新する。これにより、データ転送制御装置310は、DMA転送に要求される完了時間は満たしつつ、柔軟にCPUによるアクセスを実行できる。   As described above, the data transfer control device 310 according to the third embodiment of the present invention recalculates the total delay allowable amount T5 each time a DMA transfer delay occurs, and determines access based on the total delay allowable amount T5. Update the reference value. As a result, the data transfer control device 310 can flexibly execute access by the CPU while satisfying the completion time required for DMA transfer.

なお、実施の形態3に係るデータ転送制御装置310に、上述した実施の形態1又は2と同様の変形例を適用してもよい。   Note that the same modification example as in the first or second embodiment described above may be applied to the data transfer control device 310 according to the third embodiment.

また、アクセス制御部352は、DMA転送の遅延時間T6を算出するのではなく、DMA転送に遅延が発生するたびに、予め定められた値を全体遅延許容量T5から減算してもよい。   Further, the access control unit 352 may not calculate the DMA transfer delay time T6, but may subtract a predetermined value from the total delay allowable amount T5 each time a delay occurs in the DMA transfer.

また、上記説明では、DMACアクセス時間T1からCPUアクセス時間T2を減算した値に全体遅延許容量T5を加算した値を第1の基準値として用いているが、実施の形態2と同様の遅延許容値T4を用いて、DMACアクセス時間T1からCPUアクセス時間T2を減算した値に遅延許容値T4を加算した値を第1の基準値として用いてもよい。この場合、アクセス制御部352は、上記と同様に、遅延時間T6を算出し、順次、全体遅延許容量T5から遅延時間T6を減算する。そして、全体遅延許容量T5が遅延許容値T4以下になった場合に、アクセス制御部352は、全体遅延許容量T5を用いて、第1の基準値を算出する。   In the above description, a value obtained by adding the total delay allowable amount T5 to the value obtained by subtracting the CPU access time T2 from the DMAC access time T1 is used as the first reference value. A value obtained by adding the delay allowable value T4 to the value obtained by subtracting the CPU access time T2 from the DMAC access time T1 using the value T4 may be used as the first reference value. In this case, the access control unit 352 calculates the delay time T6 as described above, and sequentially subtracts the delay time T6 from the total delay allowable amount T5. Then, when the total delay allowable amount T5 becomes equal to or smaller than the allowable delay value T4, the access control unit 352 calculates the first reference value using the total delay allowable amount T5.

さらに、アクセス制御部352は、上記の遅延許容値T4を、残りの全体遅延許容量T5に応じて、段階的に変化させてもよい。例えば、全体遅延許容量T5の初期値が100サイクルの場合、アクセス制御部352は、全体遅延許容量T5が30サイクル以上の場合は、遅延許容値T4を10サイクルに設定し、全体遅延許容量T5が30サイクル未満の場合は、遅延許容値T4を5サイクルに設定する。   Further, the access control unit 352 may change the delay allowable value T4 in a stepwise manner in accordance with the remaining overall delay allowable amount T5. For example, when the initial value of the total delay allowable amount T5 is 100 cycles, the access control unit 352 sets the delay allowable value T4 to 10 cycles when the total delay allowable amount T5 is 30 cycles or more, and the total delay allowable amount If T5 is less than 30 cycles, the allowable delay value T4 is set to 5 cycles.

また、アクセス制御部352は、一回の連続転送動作を複数の期間に分け、それぞれの期間ごとに全体遅延許容量T5を設定してもよい。言い換えると、第2のレジスタ357は、1回の連続転送動作を分割した複数の部分区間の各々に対応する部分遅延許容量を保持する。また、アクセス制御部352は、ある部分区間においては、上述した処理における全体遅延許容量T5の代わりに、当該部分区間に対応する部分遅延許容量を用いればよい。   In addition, the access control unit 352 may divide one continuous transfer operation into a plurality of periods, and set an overall delay allowable amount T5 for each period. In other words, the second register 357 holds a partial delay allowable amount corresponding to each of a plurality of partial sections obtained by dividing one continuous transfer operation. Further, the access control unit 352 may use a partial delay allowable amount corresponding to the partial section in place of the total delay allowable amount T5 in the above-described process in a certain partial section.

(実施の形態4)
本発明の実施の形態4では、上述した実施の形態1の変形例を説明する。本発明の実施の形態4では、一回のデータ転送動作において、各記憶装置に連続してアクセスを行う場合を説明する。
(Embodiment 4)
In the fourth embodiment of the present invention, a modification of the above-described first embodiment will be described. In the fourth embodiment of the present invention, a case where each storage device is continuously accessed in one data transfer operation will be described.

図19は、本発明の実施の形態4に係るデータ転送システム400の構成を示すブロック図である。図19に示すデータ転送制御装置410は、実施の形態1に係るデータ転送制御装置110に対して、第1のDMAC402、第1のIF405に含まれるアクセス制御部452、及び第2のIF406の機能が異なる。   FIG. 19 is a block diagram showing a configuration of a data transfer system 400 according to Embodiment 4 of the present invention. The data transfer control device 410 illustrated in FIG. 19 has functions of the first DMAC 402, the access control unit 452 included in the first IF 405, and the second IF 406 compared to the data transfer control device 110 according to the first embodiment. Is different.

第1のDMAC402は、バッファ421と、第3のレジスタ422とを含む。第3のレジスタ422は、1回のデータ転送動作において、第1の記憶装置107又は第2の記憶装置108へ連続してアクセスする回数を示す連続アクセス回数423を保持する。   The first DMAC 402 includes a buffer 421 and a third register 422. The third register 422 holds a continuous access number 423 indicating the number of continuous accesses to the first storage device 107 or the second storage device 108 in one data transfer operation.

バッファ421は、第1の記憶装置107又は第2の記憶装置108から、読み出したデータを保持する。   The buffer 421 holds data read from the first storage device 107 or the second storage device 108.

第1のDMAC402は、1回のデータ転送動作において、第1の記憶装置107及び第2の記憶装置108の一方から連続アクセス回数423分、連続してデータを読み出し、当該連続して読み出したデータをバッファ421に格納する。その後、第1のDMAC402は、バッファ421に格納したデータを、連続アクセス回数423分の書き込み動作で、第1の記憶装置107及び第2の記憶装置108の他方へ書き込む。   The first DMAC 402 continuously reads data from one of the first storage device 107 and the second storage device 108 for the number of consecutive accesses 423 minutes in one data transfer operation, and the continuously read data Is stored in the buffer 421. Thereafter, the first DMAC 402 writes the data stored in the buffer 421 to the other of the first storage device 107 and the second storage device 108 by a write operation for the number of consecutive accesses 423.

また、カウンタ109は、第2のIF406による、第2の記憶装置108への連続アクセス回数423分のアクセスのうち初回のアクセスが開始されてからの時間を第1の経過時間としてカウントする。具体的には、第2のIF406は、連続アクセスの初回アクセス時にアクセス開始信号を発行する。そして、カウンタ109は、当該アクセス開始信号に応じて、カウントを開始する。   Further, the counter 109 counts, as the first elapsed time, the time from the start of the first access among the continuous access count 423 minutes to the second storage device 108 by the second IF 406. Specifically, the second IF 406 issues an access start signal at the time of initial access of continuous access. Then, the counter 109 starts counting according to the access start signal.

以下、第1のDMAC402の動作を説明する。ここでは、第1の記憶装置107から第2の記憶装置108へデータを転送する連続転送動作を行う場合を例に挙げる。まず、第1のDMAC402は第1の記憶装置107からのデータ読み出しを実行し、読み出したデータをバッファ421に保持する。引き続き、第1のDMAC402は、第1の記憶装置107に対して連続でアクセスを行い、読み出したデータを順次バッファ421に保持する。第1のDMAC402は、この動作を第3のレジスタ422に保持されている連続アクセス回数423分繰り返す。なお、バッファ421は一度の読み出しデータサイズ×連続アクセス回数423分のデータを保持することができるものとする。その後、第1のDMAC402は、バッファ421に保持されているデータを順次第2の記憶装置108に書き込む。また、第1のDMAC402は、この動作も、連続アクセス回数423分繰り返す。以降、第1のDMAC402は、これらの一連のデータ転送動作を繰り返すことで連続転送動作を実行する。   Hereinafter, the operation of the first DMAC 402 will be described. Here, an example in which a continuous transfer operation for transferring data from the first storage device 107 to the second storage device 108 is performed will be described. First, the first DMAC 402 performs data reading from the first storage device 107 and holds the read data in the buffer 421. Subsequently, the first DMAC 402 continuously accesses the first storage device 107 and sequentially holds the read data in the buffer 421. The first DMAC 402 repeats this operation for 423 consecutive access times held in the third register 422. It is assumed that the buffer 421 can hold data for one read data size × the number of consecutive accesses 423. Thereafter, the first DMAC 402 sequentially writes the data held in the buffer 421 to the second storage device 108. The first DMAC 402 also repeats this operation for 423 continuous accesses. Thereafter, the first DMAC 402 performs a continuous transfer operation by repeating these series of data transfer operations.

図20は、実施の形態4におけるDMA転送中の第1のIF405による動作のフローチャートである。なお、図20に示す処理は、図2に示す処理に対して、ステップS401、S406及びS408の処理が異なる。また、図20に示す処理は、さらに、ステップS413の処理を含む。   FIG. 20 is a flowchart of the operation by the first IF 405 during DMA transfer in the fourth embodiment. The process shown in FIG. 20 differs from the process shown in FIG. 2 in steps S401, S406, and S408. Further, the process shown in FIG. 20 further includes the process of step S413.

まず、CPU101又は第1のDMAC102により、レジスタ153にDMACアクセス時間T1が設定され、レジスタ154にCPUアクセス時間T2が設定され、第3のレジスタ422に連続アクセス回数423が設定される(S401)。   First, the CPU 101 or the first DMAC 102 sets the DMAC access time T1 in the register 153, the CPU access time T2 in the register 154, and the continuous access count 423 in the third register 422 (S401).

また、第1のIF405は、ステップS102からステップS104で一度のアクセスを行った後、ステップS413にて指定回数(連続アクセス回数423)分のアクセスが完了していなければ(S413でNo)、再度ステップS102からステップS104の処理が実行する。一方、ステップS413で連続アクセス回数分のアクセスが完了した後(S413でYes)、第1のIF405は、一度、DMACアクセスを終了する。その間、第1のDMAC402は第2の記憶装置108に対して同様に指定回数分のアクセスを連続で実行している。   The first IF 405, once accessed from step S102 to step S104, does not complete the access for the specified number of times (continuous access number 423) in step S413 (No in S413), and again. The processing from step S102 to step S104 is executed. On the other hand, after the access for the number of consecutive accesses is completed in step S413 (Yes in S413), the first IF 405 once ends the DMAC access. In the meantime, the first DMAC 402 continuously accesses the second storage device 108 for the designated number of times.

第1のDMAC402による第2の記憶装置108へのアクセスが完了後(S406でYes)、ステップS110において連続転送動作が完了していなければ(S110でNo)、第1のIF405は、再度ステップS102でアクセス要求を受け取り、DMAアクセスを実行する(S103)。最終的にS110において連続転送動作が完了していれば(S110でYes)、第1のIF405は連続転送動作を終了する。   After the access to the second storage device 108 by the first DMAC 402 is completed (Yes in S406), if the continuous transfer operation is not completed in Step S110 (No in S110), the first IF 405 again performs Step S102. The access request is received and DMA access is executed (S103). If the continuous transfer operation is finally completed in S110 (Yes in S110), the first IF 405 ends the continuous transfer operation.

図21は、DMA転送中にCPU101によるアクセスが発生しない場合の動作例を示す図である。また、図21では、連続アクセス回数423が2回の場合の例に示す。なお、連続アクセス回数423には任意の回数が設定されてよい。   FIG. 21 is a diagram illustrating an operation example in the case where access by the CPU 101 does not occur during DMA transfer. FIG. 21 shows an example in which the number of consecutive accesses 423 is two. An arbitrary number may be set as the continuous access number 423.

また、ステップS413のDMAアクセス完了以降にCPUアクセス要求が存在する場合(S107でYes)は、アクセス制御部452はアクセス判定を行い、CPUアクセスの可否を決定する(S408)。   If there is a CPU access request after completion of the DMA access in step S413 (Yes in S107), the access control unit 452 performs access determination and determines whether or not CPU access is possible (S408).

このアクセス判定動作を、図22及び図23を用いて説明する。図22及び図23において、DMACアクセス時間T1bは、第1のDMAC402が第2の記憶装置108に連続アクセス回数423分のアクセスを行っている期間を示す。このDMACアクセス時間T1bは、DMACアクセス時間T1と、連続アクセス回数423との積である。カウント値は、第1のDMAC402による第2の記憶装置108への連続アクセスの初回アクセス開始からの第1の経過時間であり、カウンタ109から出力されている。残り期間T3はCPUアクセス要求の発生から後続の第1の記憶装置107に対する後続のDMAアクセス開始までの期間を示す。この残り期間T3は、DMACアクセス時間T1bからカウント値を減算することで算出できる。   This access determination operation will be described with reference to FIGS. 22 and 23, the DMAC access time T1b indicates a period during which the first DMAC 402 is accessing the second storage device 108 for the number of consecutive accesses 423. The DMAC access time T1b is a product of the DMAC access time T1 and the number of consecutive accesses 423. The count value is a first elapsed time from the start of the initial access of the continuous access to the second storage device 108 by the first DMAC 402, and is output from the counter 109. The remaining period T3 indicates a period from the generation of the CPU access request to the start of the subsequent DMA access to the subsequent first storage device 107. This remaining period T3 can be calculated by subtracting the count value from the DMAC access time T1b.

アクセス制御部452は、上記の値を用いて、実施の形態1と同様にCPUアクセスの可否を判断する。図22に示すように、CPUアクセス要求の発生時点で残り期間T3よりCPUアクセス時間T2が小さい場合、つまり、カウント値が第1の基準値(=T1b−T2)以下の場合(S408でYes)、アクセス制御部452は、CPUアクセスを許可する(S109)。また、図23に示すように、CPUアクセス要求の発生時点で残り期間T3よりCPUアクセス時間T2が大きい場合、つまり、カウント値が第1の基準値(=T1b−T2)より大きい場合(S408でNo)、アクセス制御部452は、CPUアクセスを許可しない。   The access control unit 452 determines whether or not CPU access is possible using the above value, as in the first embodiment. As shown in FIG. 22, when the CPU access time T2 is shorter than the remaining period T3 when the CPU access request is generated, that is, when the count value is equal to or less than the first reference value (= T1b-T2) (Yes in S408). The access control unit 452 permits the CPU access (S109). As shown in FIG. 23, when the CPU access time T2 is longer than the remaining period T3 when the CPU access request is generated, that is, when the count value is larger than the first reference value (= T1b−T2) (S408). No), the access control unit 452 does not permit CPU access.

以上のように、本発明の実施の形態4に係るデータ転送制御装置410は、後続のDMAアクセス開始までの残り期間T3より、CPUアクセス時間T2が小さい場合のみCPUアクセスを許可する。これにより、データ転送制御装置410は、後続のDMAアクセスを遅延させることなく、CPU101による第1の記憶装置107へのアクセスを実行できる。   As described above, the data transfer control device 410 according to the fourth embodiment of the present invention permits the CPU access only when the CPU access time T2 is shorter than the remaining period T3 until the subsequent DMA access starts. Thus, the data transfer control device 410 can execute access to the first storage device 107 by the CPU 101 without delaying subsequent DMA access.

また、実施の形態4では、第1のDMAC402が同一の記憶装置に対して連続アクセスを行うことで、DMACアクセス時間T1より、CPUアクセス時間T2が大きい場合でも、DMA転送を遅延させることなくCPU101による第1の記憶装置107へのアクセスを実行できる。   In the fourth embodiment, the first DMAC 402 performs continuous access to the same storage device, so that even if the CPU access time T2 is longer than the DMAC access time T1, the CPU 101 does not delay DMA transfer. Access to the first storage device 107 can be executed.

なお、実施の形態4に係るデータ転送制御装置410に、上述した実施の形態1〜3と同様の変形例を適用してもよい。   Note that the same modification example as in the first to third embodiments may be applied to the data transfer control device 410 according to the fourth embodiment.

(実施の形態5)
本発明の実施の形態5では、上述した実施の形態4に係るデータ転送制御装置410に対して、上述した実施の形態2と同様の変更を施した例を説明する。
(Embodiment 5)
In the fifth embodiment of the present invention, an example will be described in which the data transfer control device 410 according to the above-described fourth embodiment is modified in the same manner as in the above-described second embodiment.

図24は、本発明の実施の形態5に係るデータ転送システム500の構成を示すブロック図である。図24に示すデータ転送制御装置510は、実施の形態4に係るデータ転送制御装置410に対して、第1のIF505の構成が異なる。具体的には、第1のレジスタ151は、さらに、遅延許容値T4を保持するレジスタ256を有する。また、アクセス制御部552の機能が、アクセス制御部452と異なる。   FIG. 24 is a block diagram showing a configuration of a data transfer system 500 according to Embodiment 5 of the present invention. The data transfer control device 510 shown in FIG. 24 differs from the data transfer control device 410 according to the fourth embodiment in the configuration of the first IF 505. Specifically, the first register 151 further includes a register 256 that holds a delay allowable value T4. Further, the function of the access control unit 552 is different from that of the access control unit 452.

実施の形態2と同様に、実施の形態5では、一定値までDMA転送の遅延を許容し、競合した場合にDMA転送を遅延させることで、CPUアクセスを実行する。   Similar to the second embodiment, in the fifth embodiment, the CPU access is executed by allowing the DMA transfer delay to a certain value and delaying the DMA transfer in the case of contention.

実施の形態5におけるアクセス判定について、図25及び図26を用いて説明する。なお、アクセス可否の判定は実施の形態2と同様である。   Access determination in the fifth embodiment will be described with reference to FIGS. 25 and 26. FIG. Note that whether access is possible is the same as in the second embodiment.

図25に示すように、残り期間T3と遅延許容値T4との合計より、CPUアクセス時間T2のほうが小さい場合、CPUアクセスは許可される。また、図26に示すように残り期間T3と遅延許容値T4との合計より、CPUアクセス時間T2のほうが大きい場合、CPUアクセスは許可されない。   As shown in FIG. 25, when the CPU access time T2 is shorter than the sum of the remaining period T3 and the allowable delay value T4, the CPU access is permitted. Further, as shown in FIG. 26, when the CPU access time T2 is longer than the sum of the remaining period T3 and the allowable delay value T4, the CPU access is not permitted.

以上のように、本発明の実施の形態5に係るデータ転送制御装置510は、DMACアクセス時間T1よりCPUアクセス時間T2が大きい場合でも、DMA転送の遅延を設定した遅延許容値T4以内に収めつつCPUアクセスを実行できる。   As described above, the data transfer control device 510 according to the fifth embodiment of the present invention keeps the DMA transfer delay within the set allowable delay value T4 even when the CPU access time T2 is longer than the DMAC access time T1. CPU access can be performed.

(実施の形態6)
本発明の実施の形態6では、データ転送制御装置610が、CPU101の代わりに第2のDMAC601を備える例を説明する。
(Embodiment 6)
In the sixth embodiment of the present invention, an example in which the data transfer control device 610 includes the second DMAC 601 instead of the CPU 101 will be described.

図27は、本発明の実施の形態6に係るデータ転送システム600の構成を示すブロック図である。図27に示すデータ転送制御装置610は、実施の形態1に記載のデータ転送制御装置110に対して、CPU101の代わりに、第2のDMACバス603と、第2のDMAC601を備える。第2のDMACバス603は、本発明の第2のバスに相当し、第1のDMACバス104から独立してデータ転送が可能である。第2のDMAC601は、第2のDMACバス603を介して第1の記憶装置107及び第3の記憶装置611にアクセスを行う。   FIG. 27 is a block diagram showing a configuration of a data transfer system 600 according to the sixth embodiment of the present invention. A data transfer control device 610 shown in FIG. 27 includes a second DMAC bus 603 and a second DMAC 601 instead of the CPU 101 in contrast to the data transfer control device 110 described in the first embodiment. The second DMAC bus 603 corresponds to the second bus of the present invention, and can transfer data independently of the first DMAC bus 104. The second DMAC 601 accesses the first storage device 107 and the third storage device 611 via the second DMAC bus 603.

また、第2のDMAC601による第1の記憶装置107へのアクセスは第1のDMAC102による第1の記憶装置107へのアクセスより優先度が低いものとする。   In addition, it is assumed that the access to the first storage device 107 by the second DMAC 601 has a lower priority than the access to the first storage device 107 by the first DMAC 102.

また、実施の形態6に係るデータ転送制御装置610の動作は、実施の形態1におけるCPU101からのアクセス要求が第2のDMAC601からのアクセス要求に代わったものであり、それ以外の動作は実施の形態1と同様である。つまり、実施の形態1におけるCPU101を第2のDMAC601に置き換えて、簡単な機能の追加で同様の効果を実現できる。   The operation of the data transfer control device 610 according to the sixth embodiment is such that the access request from the CPU 101 in the first embodiment is replaced with the access request from the second DMAC 601. This is the same as the first embodiment. That is, the same effect can be realized by replacing the CPU 101 in the first embodiment with the second DMAC 601 and adding a simple function.

なお、実施の形態2から実施の形態5までのそれぞれの実施の形態についても、CPU101を第2のDMAC601に置き換えて、同様の効果を実現できる。   In each of the embodiments from the second embodiment to the fifth embodiment, the same effect can be realized by replacing the CPU 101 with the second DMAC 601.

また、ここでは、データ転送制御装置610が、2個のDMACを備える例を述べたが、データ転送制御装置610は、3個以上のDMACを備えてもよい。この場合も簡単な機能の追加で同様の効果を実現できる。また、データ転送制御装置610は、任意の個数のCPUと任意の個数のDMACとを備えてもよい。この場合も、簡単な機能の追加で同様の効果を実現できる。   Although the example in which the data transfer control device 610 includes two DMACs has been described here, the data transfer control device 610 may include three or more DMACs. In this case, the same effect can be realized by adding a simple function. Further, the data transfer control device 610 may include an arbitrary number of CPUs and an arbitrary number of DMACs. In this case, the same effect can be realized by adding a simple function.

(実施の形態7)
本発明の実施の形態7では、第2のIFも第1のIFと同様の処理を行う場合を説明する。
(Embodiment 7)
In the seventh embodiment of the present invention, a case where the second IF performs the same processing as the first IF will be described.

図28は、本発明の実施の形態7に係るデータ転送システム700の構成を示すブロック図である。図28に記載のデータ転送制御装置710は、図1に示すデータ転送制御装置110に対して、カウンタ709及び第2のIF706の機能が異なる。また、データ転送制御装置710は、第1のDMACバス104から独立してデータ転送が可能であるCPUバス703を備える。このCPUバス703は、本発明の第2のバスに相当する。   FIG. 28 is a block diagram showing a configuration of a data transfer system 700 according to Embodiment 7 of the present invention. The data transfer control device 710 illustrated in FIG. 28 differs from the data transfer control device 110 illustrated in FIG. 1 in the functions of the counter 709 and the second IF 706. Further, the data transfer control device 710 includes a CPU bus 703 that can transfer data independently of the first DMAC bus 104. The CPU bus 703 corresponds to the second bus of the present invention.

CPU101はCPUバス703を介して第1の記憶装置107及び第2の記憶装置108に対するアクセスを行う。   The CPU 101 accesses the first storage device 107 and the second storage device 108 via the CPU bus 703.

第2のIF706は、さらに、CPU101からの指示に従い、第2の記憶装置108へアクセスする。この第2のIF706は、第4のレジスタ751と、アクセス制御部752とを備える。第4のレジスタ751は、レジスタ753とレジスタ754を含む。レジスタ753は、第1のDMAC102から第2の記憶装置108へのアクセスに要する時間を示すDMACアクセス時間T1(第2のDMACアクセス時間)を保持する。レジスタ754は、CPU101から第2の記憶装置108へのアクセスに要する時間を示すCPUアクセス時間T2(第2のマスタアクセス時間)を保持する。   The second IF 706 further accesses the second storage device 108 in accordance with an instruction from the CPU 101. The second IF 706 includes a fourth register 751 and an access control unit 752. The fourth register 751 includes a register 753 and a register 754. The register 753 holds a DMAC access time T1 (second DMAC access time) indicating the time required for accessing the second storage device 108 from the first DMAC 102. The register 754 holds a CPU access time T2 (second master access time) indicating the time required for the CPU 101 to access the second storage device 108.

カウンタ709は、さらに、第1のIF105が第1の記憶装置107にアクセスを開始してからの第2の経過時間をカウントする。   The counter 709 further counts a second elapsed time after the first IF 105 starts accessing the first storage device 107.

アクセス制御部752は、連続転送動作中に、CPU101から第2の記憶装置108へのアクセス要求を受けた場合、第2の経過時間が第2の基準値以下の場合、CPU101から第2の記憶装置108へのアクセスを許可し、第2経過時間が第2の基準値より大きい場合、CPU101から第2の記憶装置108へのアクセスを禁止する。   When the access control unit 752 receives an access request from the CPU 101 to the second storage device 108 during the continuous transfer operation, and the second elapsed time is equal to or less than the second reference value, the access control unit 752 receives the second storage from the CPU 101. When access to the device 108 is permitted and the second elapsed time is greater than the second reference value, access from the CPU 101 to the second storage device 108 is prohibited.

具体的には、第1のIF105は、第1のDMAC102から第1の記憶装置107へのアクセス開始時にアクセス開始信号を発行する。第2のIF706は、第1のDMAC102から第2の記憶装置108へのアクセス開始時にアクセス開始信号を発行する。カウンタ709は第1のIF105もしくは第2のIF706いずれかからのアクセス開始信号を受け取るとカウントを開始する。   Specifically, the first IF 105 issues an access start signal at the start of access from the first DMAC 102 to the first storage device 107. The second IF 706 issues an access start signal at the start of access from the first DMAC 102 to the second storage device 108. When the counter 709 receives an access start signal from either the first IF 105 or the second IF 706, the counter 709 starts counting.

つまり、第2のIF706の機能は、第1のIF105においてアクセス先を第1の記憶装置107から第2の記憶装置108に置き換えた場合と同様である。   That is, the function of the second IF 706 is the same as that in the case where the access destination is replaced from the first storage device 107 to the second storage device 108 in the first IF 105.

また、DMA転送中にCPU101が第1の記憶装置107にアクセスする際の第1のIF105の動作は、カウンタ709が第2のIF706からのアクセス開始信号を受け、カウントを開始するときである。この動作は実施の形態1における第1のIF105の動作と同様である。   The operation of the first IF 105 when the CPU 101 accesses the first storage device 107 during DMA transfer is when the counter 709 receives an access start signal from the second IF 706 and starts counting. This operation is the same as the operation of the first IF 105 in the first embodiment.

DMA転送中にCPU101が第2の記憶装置108にアクセスする際の第2のIF706の動作は、カウンタ709が第1のIF105からのアクセス開始信号を受け、カウントを開始する時である。これらの動作は第1のIF105において、第1の記憶装置107と第2の記憶装置108とが入れ替わった場合と同様であり、実質的に実施の形態1の第1のIF105の動作と同様である。   The operation of the second IF 706 when the CPU 101 accesses the second storage device 108 during the DMA transfer is when the counter 709 receives the access start signal from the first IF 105 and starts counting. These operations are the same as when the first storage device 107 and the second storage device 108 are switched in the first IF 105, and are substantially the same as the operations of the first IF 105 of the first embodiment. is there.

(実施の形態8)
本発明の実施の形態8では、上述した実施の形態7に係るデータ転送制御装置710に対して、上述した実施の形態2と同様の変更を施した例を説明する。
(Embodiment 8)
In the eighth embodiment of the present invention, an example will be described in which the data transfer control device 710 according to the seventh embodiment is modified in the same manner as in the second embodiment.

図29は、本発明の実施の形態8に係るデータ転送システム800の構成を示すブロック図である。なお、実施の形態8に係るデータ転送制御装置810に対する、実施の形態7からの第1のIF205における変更点は、実施の形態1に対する実施の形態2の変更点と同じである。また、実施の形態7からの第2のIF806における変更点も、第1の記憶装置107と第2の記憶装置108が入れ替わるだけで、実施の形態1に対する実施の形態2の変更点と同様である。   FIG. 29 is a block diagram showing a configuration of a data transfer system 800 according to Embodiment 8 of the present invention. The changes in the first IF 205 from the seventh embodiment with respect to the data transfer control device 810 according to the eighth embodiment are the same as the changes in the second embodiment with respect to the first embodiment. The change in the second IF 806 from the seventh embodiment is the same as the change in the second embodiment with respect to the first embodiment, except that the first storage device 107 and the second storage device 108 are switched. is there.

具体的には、第4のレジスタ751は、さらに、遅延許容値T4(第2の遅延許容値)を保持するレジスタ856を有する。また、アクセス制御部852の機能が、アクセス制御部752と異なる。   Specifically, the fourth register 751 further includes a register 856 that holds a delay allowable value T4 (second delay allowable value). Further, the function of the access control unit 852 is different from that of the access control unit 752.

また、DMA転送中にCPU101が第1の記憶装置107にアクセスする際の、第1のIF205の動作は、実施の形態2における第1のIF205の動作と同様である。   The operation of the first IF 205 when the CPU 101 accesses the first storage device 107 during DMA transfer is the same as the operation of the first IF 205 in the second embodiment.

DMA転送中にCPU101が第2の記憶装置108にアクセスする際の、第2のIF806の動作も、第1の記憶装置107と第2の記憶装置108とを入れ替えた場合の第1のIF205の動作と同様である。   The operation of the second IF 806 when the CPU 101 accesses the second storage device 108 during the DMA transfer is the same as that of the first IF 205 when the first storage device 107 and the second storage device 108 are exchanged. The operation is the same.

(実施の形態9)
本発明の実施の形態9では、上述した実施の形態7に係るデータ転送制御装置710に対して、上述した実施の形態3と同様の変更を施した例を説明する。
(Embodiment 9)
In the ninth embodiment of the present invention, an example will be described in which the data transfer control device 710 according to the seventh embodiment is modified in the same manner as in the third embodiment.

図30は、本発明の実施の形態9に係るデータ転送システム900の構成を示すブロック図である。   FIG. 30 is a block diagram showing a configuration of a data transfer system 900 according to the ninth embodiment of the present invention.

第1のIF305に含まれる第1のレジスタ151は実施の形態3の第1のレジスタ151と同様である。また、アクセス制御部352は実施の形態3のアクセス制御部352と同様である。なお、実施の形態3では、第1のIF305が第2のレジスタ357を備えていたが、データ転送制御装置910は、当該第2のレジスタ357の代わりに、第2のレジスタ957を備えている。   The first register 151 included in the first IF 305 is the same as the first register 151 of the third embodiment. The access control unit 352 is the same as the access control unit 352 of the third embodiment. In the third embodiment, the first IF 305 includes the second register 357. However, the data transfer control device 910 includes the second register 957 instead of the second register 357. .

第2のIF906に含まれる第4のレジスタ751は、第1の記憶装置107と第2の記憶装置108とを入れ替えた場合の第1のレジスタ151と同様である。また、アクセス制御部952は、第1の記憶装置107と第2の記憶装置108とを入れ替えた場合のアクセス制御部352と同様である。   The fourth register 751 included in the second IF 906 is the same as the first register 151 when the first storage device 107 and the second storage device 108 are replaced. The access control unit 952 is the same as the access control unit 352 when the first storage device 107 and the second storage device 108 are replaced.

第2のレジスタ957は、実施の形態3の第2のレジスタ357と同様に、一度の連続転送動作における全体遅延許容量T5を保持する。ここで、第2のレジスタ957に保持される全体遅延許容量T5は、アクセス制御部352及びアクセス制御部952のそれぞれのアクセス制御で遅延が発生するたびに更新される。   Similar to the second register 357 of the third embodiment, the second register 957 holds the total delay allowable amount T5 in one continuous transfer operation. Here, the total allowable delay T5 held in the second register 957 is updated each time a delay occurs in the access control of the access control unit 352 and the access control unit 952.

また、DMA転送中にCPU101が第1の記憶装置107にアクセスする際の、第1のIF305の動作は、実施の形態3における第1のIF305の動作と同様である。   Further, the operation of the first IF 305 when the CPU 101 accesses the first storage device 107 during the DMA transfer is the same as the operation of the first IF 305 in the third embodiment.

DMA転送中にCPU101が第2の記憶装置108にアクセスする際の、第2のIF906の動作は、第1の記憶装置107と第2の記憶装置108とを入れ替えた場合の第1のIF305の動作と同様である。   The operation of the second IF 906 when the CPU 101 accesses the second storage device 108 during the DMA transfer is the same as that of the first IF 305 when the first storage device 107 and the second storage device 108 are exchanged. The operation is the same.

(実施の形態10)
本発明の実施の形態10では、上述した実施の形態7に係るデータ転送制御装置710に対して、上述した実施の形態4と同様の変更を施した例を説明する。
(Embodiment 10)
In the tenth embodiment of the present invention, an example will be described in which the data transfer control device 710 according to the seventh embodiment is modified in the same manner as in the fourth embodiment.

図31は、本発明の実施の形態10に係るデータ転送システム1000の構成を示すブロック図である。   FIG. 31 is a block diagram showing a configuration of a data transfer system 1000 according to the tenth embodiment of the present invention.

図31に記載のデータ転送制御装置1010において、第1のDMAC402は実施の形態4における第1のDMAC402と同様である。   In the data transfer control device 1010 shown in FIG. 31, the first DMAC 402 is the same as the first DMAC 402 in the fourth embodiment.

第1のIF405は、実施の形態4の第1のIF405と同様である。また、DMA転送中にCPU101が第1の記憶装置107にアクセスする際の第1のIF405の動作は、実施の形態4における第1のIF405の動作と同様である。   The first IF 405 is the same as the first IF 405 of the fourth embodiment. The operation of the first IF 405 when the CPU 101 accesses the first storage device 107 during DMA transfer is the same as the operation of the first IF 405 in the fourth embodiment.

第2のIF1006に含まれる第4のレジスタ751及びアクセス制御部1052は、第1の記憶装置107と第2の記憶装置108とを入れ替えた場合の、第1のIF405に含まれる第1のレジスタ151及びアクセス制御部452と同様である。また、DMA転送中にCPU101が第2の記憶装置108にアクセスする際の第2のIF1006の動作は、第1の記憶装置107と第2の記憶装置108とを入れ替えた場合の第1のIF405の動作と同様である。   The fourth register 751 and the access control unit 1052 included in the second IF 1006 are the first register included in the first IF 405 when the first storage device 107 and the second storage device 108 are replaced. 151 and the access control unit 452. The operation of the second IF 1006 when the CPU 101 accesses the second storage device 108 during the DMA transfer is the first IF 405 when the first storage device 107 and the second storage device 108 are exchanged. It is the same as the operation of.

(実施の形態11)
本発明の実施の形態11では、上述した実施の形態7に係るデータ転送制御装置710に対して、上述した実施の形態5と同様の変更を施した例を説明する。
(Embodiment 11)
In the eleventh embodiment of the present invention, an example will be described in which the data transfer control device 710 according to the seventh embodiment is modified in the same manner as in the fifth embodiment.

図32は、本発明の実施の形態11に係るデータ転送システム1100の構成を示すブロック図である。   FIG. 32 is a block diagram showing a configuration of a data transfer system 1100 according to Embodiment 11 of the present invention.

図32に記載のデータ転送制御装置1110において、第1のDMAC402は実施の形態5における第1のDMAC402と同様である。   In the data transfer control device 1110 described in FIG. 32, the first DMAC 402 is the same as the first DMAC 402 in the fifth embodiment.

第1のIF505は、実施の形態5における第1のIF505と同様である。また、DMA転送中にCPU101が第1の記憶装置107にアクセスする際の第1のIF505の動作は、実施の形態5における第1のIF505の動作と同様である。   The first IF 505 is the same as the first IF 505 in the fifth embodiment. The operation of the first IF 505 when the CPU 101 accesses the first storage device 107 during DMA transfer is the same as the operation of the first IF 505 in the fifth embodiment.

第2のIF1106に含まれる第4のレジスタ751及びアクセス制御部1152は、第1の記憶装置107と第2の記憶装置108とを入れ替えた場合の、第1のIF505に含まれる第1のレジスタ151及びアクセス制御部552と同様である。また、DMA転送中にCPU101が第2の記憶装置108にアクセスする際の第2のIF1106の動作は、第1の記憶装置107と第2の記憶装置108とを入れ替えた場合の第1のIF505の動作と同様である。   The fourth register 751 and the access control unit 1152 included in the second IF 1106 are the first register included in the first IF 505 when the first storage device 107 and the second storage device 108 are replaced. 151 and the access control unit 552. The operation of the second IF 1106 when the CPU 101 accesses the second storage device 108 during the DMA transfer is the first IF 505 when the first storage device 107 and the second storage device 108 are exchanged. It is the same as the operation of.

(実施の形態12)
本発明の実施の形態12では、上述した実施の形態7に係るデータ転送制御装置710に対して、上述した実施の形態6と同様の変更を施した例を説明する。
(Embodiment 12)
In the twelfth embodiment of the present invention, an example will be described in which the data transfer control device 710 according to the seventh embodiment is modified in the same manner as the sixth embodiment.

図33は、本発明の実施の形態12に係るデータ転送システム1200の構成を示すブロック図である。図33に示すデータ転送制御装置1210は、実施の形態7に記載のデータ転送制御装置710に対して、CPU101の代わりに、第2のDMAC601を備える。第2のDMAC601によるそれぞれの記憶装置へのアクセスは、第1のDMAC102によるアクセスより優先度が低いものとする。   FIG. 33 is a block diagram showing a configuration of a data transfer system 1200 according to Embodiment 12 of the present invention. The data transfer control device 1210 shown in FIG. 33 includes a second DMAC 601 instead of the CPU 101, in contrast to the data transfer control device 710 described in the seventh embodiment. It is assumed that the access to each storage device by the second DMAC 601 has a lower priority than the access by the first DMAC 102.

実施の形態12の動作は、実施の形態7におけるCPU101からの要求が第2のDMAC601からのアクセス要求に代わったものであり、それ以外の動作は実施の形態7と同様である。実施の形態7におけるCPU101を第2のDMAC601に置き換えて、簡単な機能の追加で同様の効果を実現できる。   The operation of the twelfth embodiment is the same as that of the seventh embodiment except that the request from the CPU 101 in the seventh embodiment is replaced with the access request from the second DMAC 601. By replacing the CPU 101 in the seventh embodiment with the second DMAC 601, a similar effect can be realized by adding a simple function.

なお、実施の形態8から実施の形態11までのそれぞれの実施の形態についても、CPU101を第2のDMAC601に置き換えても、同様の効果を実現できる。   In each of the embodiments from the eighth embodiment to the eleventh embodiment, the same effect can be realized even if the CPU 101 is replaced with the second DMAC 601.

以上、本発明の実施の形態に係るデータ転送制御装置について説明したが、本発明は、この実施の形態に限定されるものではない。   Although the data transfer control device according to the embodiment of the present invention has been described above, the present invention is not limited to this embodiment.

また、上記実施の形態に係るデータ転送制御装置に含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。   Each processing unit included in the data transfer control device according to the above embodiment is typically realized as an LSI which is an integrated circuit. These may be individually made into one chip, or may be made into one chip so as to include a part or all of them.

典型的には、上記データ転送制御装置は、1チップの半導体集積回路として構成される。なお、データ転送制御装置と第1の記憶装置とを含む回路が、1チップの半導体集積回路として構成されてもよい。   Typically, the data transfer control device is configured as a one-chip semiconductor integrated circuit. The circuit including the data transfer control device and the first storage device may be configured as a one-chip semiconductor integrated circuit.

また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。   Further, the circuit integration is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor. An FPGA (Field Programmable Gate Array) that can be programmed after manufacturing the LSI or a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.

また、本発明の実施の形態に係る、データ転送制御装置の機能の一部又は全てを、CPU等のプロセッサがプログラムを実行することにより実現してもよい。   Moreover, you may implement | achieve part or all of the function of the data transfer control apparatus based on embodiment of this invention, when processors, such as CPU, run a program.

さらに、本発明は上記プログラムであってもよいし、上記プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。   Furthermore, the present invention may be the above program or a non-transitory computer-readable recording medium on which the above program is recorded. Needless to say, the program can be distributed via a transmission medium such as the Internet.

また、上記実施の形態1〜12に係る、データ転送制御装置、及びその変形例の機能のうち少なくとも一部を組み合わせてもよい。   Moreover, you may combine at least one part among the functions of the data transfer control apparatus which concerns on the said Embodiments 1-12, and its modification.

また、上記で用いた数字は、全て本発明を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。   Moreover, all the numbers used above are illustrated for specifically explaining the present invention, and the present invention is not limited to the illustrated numbers.

また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。   In addition, division of functional blocks in the block diagram is an example, and a plurality of functional blocks can be realized as one functional block, a single functional block can be divided into a plurality of functions, or some functions can be transferred to other functional blocks May be. In addition, functions of a plurality of functional blocks having similar functions may be processed in parallel or time-division by a single hardware or software.

また、上記フローチャートで示す処理手順に含まれるステップが実行される順序は、本発明を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。   In addition, the order in which the steps included in the processing procedure shown in the flowchart are executed is for illustration in order to specifically explain the present invention, and may be in an order other than the above. Also, some of the above steps may be executed simultaneously (in parallel) with other steps.

更に、本発明の主旨を逸脱しない限り、本実施の形態に対して当業者が思いつく範囲内の変更を施した各種変形例も本発明に含まれる。   Further, various modifications in which the present embodiment is modified within the scope conceivable by those skilled in the art are also included in the present invention without departing from the gist of the present invention.

本発明に係るデータ転送制御装置は、記憶装置間のデータ転送における転送要求を満たしながら、それらの記憶装置へのアクセスを含む処理を並列して行うことができるので、外部記憶装置又は内蔵記憶装置など複数の記憶装置を持つ情報処理装置に有効である。   Since the data transfer control device according to the present invention can perform processing including access to the storage devices in parallel while satisfying the transfer request in the data transfer between the storage devices, the external storage device or the built-in storage device It is effective for an information processing apparatus having a plurality of storage devices.

100、200、300、400、500、600、700、800、900、1000、1100、1200 データ転送システム
101 CPU
102、402 第1のDMAC
104 第1のDMACバス
105、205、305、405、505 第1のIF
106、406、706、806、906、1006、1106 第2のIF
107 第1の記憶装置
108 第2の記憶装置
109、709 カウンタ
110、210、310、410、510、610、710、810、910、1010、1110、1210 データ転送制御装置
151 第1のレジスタ
152、252、352、452、552、752、852、952、1052、1152 アクセス制御部
153、154、155、256、358、753、754、856 レジスタ
357、957 第2のレジスタ
421 バッファ
422 第3のレジスタ
423 連続アクセス回数
601 第2のDMAC
603 第2のDMACバス
611 第3の記憶装置
703 CPUバス
751 第4のレジスタ
T1、T1b DMACアクセス時間
T2 CPUアクセス時間
T3 残り期間
T4 遅延許容値
T5 全体遅延許容量
T6 遅延時間
100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200 Data transfer system 101 CPU
102, 402 First DMAC
104 First DMAC bus 105, 205, 305, 405, 505 First IF
106, 406, 706, 806, 906, 1006, 1106 Second IF
107 First storage device 108 Second storage device 109, 709 Counter 110, 210, 310, 410, 510, 610, 710, 810, 910, 1010, 1110, 1210 Data transfer control device 151 First register 152, 252, 352, 452, 552, 752, 852, 952, 1052, 1152 Access control unit 153, 154, 155, 256, 358, 753, 754, 856 Register 357, 957 Second register 421 Buffer 422 Third register 423 Number of consecutive accesses 601 Second DMAC
603 Second DMAC bus 611 Third storage device 703 CPU bus 751 Fourth register T1, T1b DMAC access time T2 CPU access time T3 Remaining period T4 Delay tolerance T5 Overall delay tolerance T6 Delay time

Claims (20)

第1の記憶装置及び第2の記憶装置の一方から他方にデータを転送するデータ転送制御装置であって、
前記第1の記憶装置に対してアクセスを行うマスタと、
前記マスタから独立した第1のバスと、
前記第1のバスを介して、前記第1の記憶装置及び前記第2の記憶装置の一方からデータを読み出し、かつ読み出したデータを他方へ書き込むデータ転送動作を繰り返し連続して行う連続転送動作を行う第1のDMAC(Direct Memory Access Controller)と、
前記マスタ及び前記第1のDMACからの要求に従い、前記第1の記憶装置へアクセスする第1のインターフェース部と、
前記第1のDMACからの要求に従い、前記第2の記憶装置へアクセスする第2のインターフェース部と、
前記第2のインターフェース部が前記第2の記憶装置にアクセスを開始してからの第1の経過時間をカウントするカウンタとを備え、
前記第1のインターフェース部は、
前記連続転送動作中に、前記マスタから前記第1の記憶装置へのアクセス要求を受けた場合において、(1)前記第1の経過時間が第1の基準値以下の場合、前記マスタから前記第1の記憶装置へのアクセスを許可し、(2)前記第1の経過時間が前記第1の基準値より大きい場合、前記マスタから前記第1の記憶装置へのアクセスを禁止する第1のアクセス制御部を備える
データ転送制御装置。
A data transfer control device for transferring data from one of a first storage device and a second storage device to the other,
A master that accesses the first storage device;
A first bus independent of the master;
A continuous transfer operation for repeatedly and continuously performing a data transfer operation of reading data from one of the first storage device and the second storage device and writing the read data to the other via the first bus. A first DMAC (Direct Memory Access Controller) to perform;
A first interface unit that accesses the first storage device in accordance with a request from the master and the first DMAC;
A second interface unit that accesses the second storage device in accordance with a request from the first DMAC;
A counter that counts a first elapsed time since the second interface unit started accessing the second storage device;
The first interface unit includes:
In the case of receiving an access request from the master to the first storage device during the continuous transfer operation, (1) when the first elapsed time is equal to or less than a first reference value, the master (2) a first access that prohibits access from the master to the first storage device when the first elapsed time is greater than the first reference value. A data transfer control device comprising a control unit.
前記第1のインターフェース部は、さらに、
前記第1のDMACから前記第2の記憶装置への1回のアクセスに必要な第1のDMACアクセス時間と、前記マスタから前記第1の記憶装置への1回のアクセスに必要な第1のマスタアクセス時間とを保持する第1のレジスタを備え、
前記第1のアクセス制御部は、前記第1のDMACアクセス時間から前記第1のマスタアクセス時間を減算することで、前記第1の基準値を算出する
請求項1に記載のデータ転送制御装置。
The first interface unit further includes:
A first DMAC access time required for one access from the first DMAC to the second storage device, and a first time required for one access from the master to the first storage device. A first register for holding a master access time;
The data transfer control device according to claim 1, wherein the first access control unit calculates the first reference value by subtracting the first master access time from the first DMAC access time.
前記第1のレジスタは、さらに、1回の前記データ転送動作の第1の遅延許容値を保持し、
前記第1のアクセス制御部は、前記第1のDMACアクセス時間から前記第1のマスタアクセス時間を減算したうえで、前記第1の遅延許容値を加算することで、前記第1の基準値を算出する
請求項2に記載のデータ転送制御装置。
The first register further holds a first delay allowable value of one data transfer operation,
The first access control unit subtracts the first master access time from the first DMAC access time and then adds the first delay allowable value to obtain the first reference value. The data transfer control device according to claim 2.
前記第1のインターフェース部は、さらに、
1回の前記連続転送動作における全体遅延許容量を保持する第2のレジスタを備え、
前記第1のアクセス制御部は、前記マスタから前記第1の記憶装置へのアクセス要求が発生した際に、
前記第1のDMACアクセス時間から前記第1のマスタアクセス時間を減算したうえで、前記全体遅延許容量以下の第1の遅延許容値を加算することで、前記第1の基準値を算出し、
前記第1の経過時間が前記第1の基準値以下の場合、前記マスタから前記第1の記憶装置へのアクセスを許可するとともに、前記第2のレジスタに保持されている前記全体遅延許容量を減らし、
前記第2のレジスタに保持されている前記全体遅許容延量が予め定められた値以下になった場合、前記第1の基準値として、前記第1のDMACアクセス時間から前記第1のマスタアクセス時間を減算した値を用いる
請求項2に記載のデータ転送制御装置。
The first interface unit further includes:
A second register for holding an overall delay tolerance in one continuous transfer operation;
The first access control unit, when an access request from the master to the first storage device occurs,
Subtracting the first master access time from the first DMAC access time, and then adding a first delay tolerance that is less than or equal to the overall delay tolerance to calculate the first reference value;
When the first elapsed time is less than or equal to the first reference value, the master allows access from the master to the first storage device, and sets the total delay allowable amount held in the second register. Reduce,
When the total allowable delay amount held in the second register is equal to or less than a predetermined value, the first master access from the first DMAC access time is used as the first reference value. The data transfer control device according to claim 2, wherein a value obtained by subtracting time is used.
前記第1の遅延許容値は、前記全体遅延許容量である
請求項4に記載のデータ転送制御装置。
The data transfer control device according to claim 4, wherein the first delay tolerance is the total delay tolerance.
前記第1のアクセス制御部は、
前記全体遅延許容量が予め定められた閾値以上の場合、第1の値を前記遅延許容値として用い、
前記全体遅延許容量が前記閾値未満の場合、前記第1の値の値より小さい第2の値を前記遅延許容値として用いる
請求項4に記載のデータ転送制御装置。
The first access control unit includes:
If the overall delay allowance is greater than or equal to a predetermined threshold, the first value is used as the delay allowance,
5. The data transfer control device according to claim 4, wherein when the total delay allowable amount is less than the threshold value, a second value smaller than the first value is used as the delay allowable value.
前記第1のアクセス制御部は、
前記第1の経過時間が前記第1の基準値以下の場合、前記マスタから前記第1の記憶装置へのアクセスを許可するとともに、前記第1の経過時間と前記第1のマスタアクセス時間とを加算し、加算した値から前記第1のDMACアクセス時間を減算することで、第1の遅延時間を算出し、前記第2のレジスタに保持されている前記全体遅延許容量から前記第1の遅延時間を減算することで、前記第2のレジスタに保持されている前記全体遅延許容量を更新する
請求項4に記載のデータ転送制御装置。
The first access control unit includes:
When the first elapsed time is equal to or less than the first reference value, the access from the master to the first storage device is permitted, and the first elapsed time and the first master access time are The first delay time is calculated by adding and subtracting the first DMAC access time from the added value, and the first delay is calculated from the total delay allowable amount held in the second register. The data transfer control device according to claim 4, wherein the total delay allowable amount held in the second register is updated by subtracting time.
前記第2のレジスタは、1回の前記連続転送動作を分割した複数の部分区間の各々に対応する部分遅延許容量を保持し、
前記第1のアクセス制御部は、前記マスタから前記第1の記憶装置へのアクセス要求が発生した際に、
前記第1のDMACアクセス時間から前記第1のマスタアクセス時間を減算したうえで、対応する部分区間の前記部分遅延量を加算することで、前記第1の基準値を算出し、
前記第1の経過時間が前記第1の基準値以下の場合、前記マスタから前記第1の記憶装置へのアクセスを許可するとともに、前記第2のレジスタに保持されている、対応する部分区間の前記部分遅延許容量を減らし、
前記第2のレジスタに保持されている、対応する区間の前記部分遅延量が予め定められた値以下になった場合、前記第1の基準値として、前記第1のDMACアクセス時間から前記第1のマスタアクセス時間を減算した値を用いる
請求項4に記載のデータ転送制御装置。
The second register holds a partial delay allowance corresponding to each of a plurality of partial sections obtained by dividing one continuous transfer operation,
The first access control unit, when an access request from the master to the first storage device occurs,
Subtracting the first master access time from the first DMAC access time and then adding the partial delay amount of the corresponding partial section to calculate the first reference value,
When the first elapsed time is less than or equal to the first reference value, the access from the master to the first storage device is permitted and the corresponding partial section held in the second register Reduce the partial delay tolerance,
When the partial delay amount of the corresponding section held in the second register is equal to or less than a predetermined value, the first reference value is used as the first reference value from the first DMAC access time. The data transfer control device according to claim 4, wherein a value obtained by subtracting the master access time is used.
前記第1のDMACは、
1回の前記データ転送動作において、前記第1の記憶装置又は前記第2の記憶装置へ連続してアクセスする回数を示す連続アクセス回数を保持する第3のレジスタと、
前記第1の記憶装置又は前記第2の記憶装置から、読み出したデータを保持するバッファとを備え、
前記第1のDMACは、1回の前記データ転送動作において、前記第1の記憶装置及び前記第2の記憶装置の一方から前記連続アクセス回数分、連続してデータを読み出し、当該連続して読み出したデータを前記バッファに格納し、前記バッファに格納したデータを、前記連続アクセス回数分の書き込み動作で、前記第1の記憶装置及び前記第2の記憶装置の他方へ書き込み、
前記カウンタは、前記第2のインターフェース部による、前記第2の記憶装置への前記連続アクセス回数分のアクセスのうち初回のアクセスが開始されてからの時間を前記第1の経過時間としてカウントする
請求項1に記載のデータ転送制御装置。
The first DMAC is:
A third register that holds the number of consecutive accesses indicating the number of times of continuous access to the first storage device or the second storage device in one data transfer operation;
A buffer for holding data read from the first storage device or the second storage device,
The first DMAC continuously reads data from the one of the first storage device and the second storage device for the number of times of continuous access and continuously reads the data in one data transfer operation. The data stored in the buffer, and the data stored in the buffer is written to the other of the first storage device and the second storage device by the write operation for the number of times of continuous access,
The counter counts, as the first elapsed time, a time from when the first access is started among accesses for the number of continuous accesses to the second storage device by the second interface unit. Item 4. The data transfer control device according to Item 1.
前記第1のインターフェース部は、さらに、
前記第1のDMACから前記第2の記憶装置への1回のアクセスに必要な第1のDMACアクセス時間と、前記マスタから前記第1の記憶装置への1回のアクセスに必要な第1のマスタアクセス時間とを保持する第1のレジスタを備え、
前記第1のアクセス制御部は、前記第1のDMACアクセス時間と前記連続アクセス回数との積から前記第1のマスタアクセス時間を減算することで、前記第1の基準値を算出する
請求項9に記載のデータ転送制御装置。
The first interface unit further includes:
A first DMAC access time required for one access from the first DMAC to the second storage device, and a first time required for one access from the master to the first storage device. A first register for holding a master access time;
The first access control unit calculates the first reference value by subtracting the first master access time from a product of the first DMAC access time and the number of consecutive accesses. The data transfer control device according to 1.
前記第1のレジスタは、さらに、1回の前記データ転送動作の第1の遅延許容値を保持し、
前記第1のアクセス制御部は、前記第1のDMACアクセス時間と前記連続アクセス回数との積から前記第1のマスタアクセス時間を減算したうえで、前記第1の遅延許容値を加算することで、前記第1の基準値を算出する
請求項10に記載のデータ転送制御装置。
The first register further holds a first delay allowable value of one data transfer operation,
The first access control unit subtracts the first master access time from the product of the first DMAC access time and the number of consecutive accesses, and then adds the first delay allowable value. The data transfer control device according to claim 10, wherein the first reference value is calculated.
前記データ転送制御装置は、さらに、
前記第1のバスから独立した第2のバスを備え、
前記マスタは、前記第2のバスを介して前記第1の記憶装置へのアクセスを行う第2のDMACである
請求項1〜11のいずれか1項に記載のデータ転送制御装置。
The data transfer control device further includes:
A second bus independent of the first bus;
The data transfer control device according to any one of claims 1 to 11, wherein the master is a second DMAC that accesses the first storage device via the second bus.
前記マスタは、前記第1のバスから独立した第2のバスを介して、前記第1の記憶装置及び前記第2の記憶装置にアクセスし、
前記第2のインターフェース部は、さらに、前記マスタからの指示に従い、前記第2の記憶装置へアクセスし、
前記カウンタは、さらに、前記第1のインターフェース部が前記第1の記憶装置にアクセスを開始してからの第2の経過時間をカウントし、
前記第2のインターフェース部は、前記連続転送動作中に、前記マスタから前記第2の記憶装置へのアクセス要求を受けた場合、
前記第2の経過時間が第2の基準値以下の場合、前記マスタから前記第2の記憶装置へのアクセスを許可し、
前記第2経過時間が前記第2の基準値より大きい場合、前記マスタから前記第2の記憶装置へのアクセスを禁止する第2のアクセス制御部を備える
請求項1に記載のデータ転送制御装置。
The master accesses the first storage device and the second storage device via a second bus independent of the first bus;
The second interface unit further accesses the second storage device in accordance with an instruction from the master,
The counter further counts a second elapsed time since the first interface unit started accessing the first storage device,
When the second interface unit receives an access request from the master to the second storage device during the continuous transfer operation,
If the second elapsed time is less than or equal to a second reference value, permit access from the master to the second storage device;
The data transfer control device according to claim 1, further comprising: a second access control unit that prohibits access from the master to the second storage device when the second elapsed time is greater than the second reference value.
前記第1のインターフェース部は、さらに、
前記第1のDMACから前記第2の記憶装置への1回のアクセスに必要な第1のDMACアクセス時間と、前記マスタから前記第1の記憶装置への1回のアクセスに必要な第1のマスタアクセス時間とを保持する第1のレジスタを備え、
前記第1のアクセス制御部は、前記第1のDMACアクセス時間から前記第1のマスタアクセス時間を減算することで、前記第1の基準値を算出し、
前記第2のインターフェース部は、さらに、
前記第1のDMACから前記第1の記憶装置への1回のアクセスに必要な第2のDMACアクセス時間と、前記マスタから前記第2の記憶装置への1回のアクセスに必要な第2のマスタアクセス時間とを保持する第4のレジスタを備え、
前記第2のアクセス制御部は、前記第2のDMACアクセス時間から前記第2のマスタアクセス時間を減算することで、前記第2の基準値を算出する
請求項9に記載のデータ転送制御装置。
The first interface unit further includes:
A first DMAC access time required for one access from the first DMAC to the second storage device, and a first time required for one access from the master to the first storage device. A first register for holding a master access time;
The first access control unit calculates the first reference value by subtracting the first master access time from the first DMAC access time,
The second interface unit further includes:
A second DMAC access time required for one access from the first DMAC to the first storage device, and a second DMAC access time required for one access from the master to the second storage device. A fourth register for holding a master access time;
The data transfer control device according to claim 9, wherein the second access control unit calculates the second reference value by subtracting the second master access time from the second DMAC access time.
前記第1のレジスタは、さらに、1回の前記データ転送動作の第1の遅延許容値を保持し、
前記第1のアクセス制御部は、前記第1のDMACアクセス時間から前記第1のマスタアクセス時間を減算したうえで、前記第1の遅延許容値を加算することで、前記第1の基準値を算出し、
前記第4のレジスタは、さらに、1回の前記データ転送動作の第2の遅延許容値を保持し、
前記第2のアクセス制御部は、前記第2のDMACアクセス時間から前記第2のマスタアクセス時間を減算したうえで、前記第2の遅延許容値を加算することで、前記第2の基準値を算出する
請求項14に記載のデータ転送制御装置。
The first register further holds a first delay allowable value of one data transfer operation,
The first access control unit subtracts the first master access time from the first DMAC access time and then adds the first delay allowable value to obtain the first reference value. Calculate
The fourth register further holds a second delay allowable value for one data transfer operation,
The second access control unit subtracts the second master access time from the second DMAC access time and then adds the second delay allowable value to obtain the second reference value. The data transfer control device according to claim 14 to calculate.
前記データ転送制御装置は、さらに、
1回の前記連続転送動作における全体遅延許容量を保持する第2のレジスタを備え、
前記第1のアクセス制御部は、前記マスタから前記第1の記憶装置へのアクセス要求が発生した際に、
前記第1のDMACアクセス時間から前記第1のマスタアクセス時間を減算したうえで、前記全体遅延許容量以下の第1遅延許容値を加算することで、前記第1の基準値を算出し、
前記第1の経過時間が前記第1の基準値以下の場合、前記マスタから前記第1の記憶装置へのアクセスを許可するとともに、前記全体遅延許容量を減らし、
前記第2のレジスタに保持されている前記全体遅延量が予め定められた値以下になった場合、前記第1の基準値として、前記第1のDMACアクセス時間から前記第1のマスタアクセス時間を減算した値を用い、
前記第2のアクセス制御部は、前記マスタから前記第2の記憶装置へのアクセス要求が発生した際に、
前記第2のDMACアクセス時間から前記第2のマスタアクセス時間を減算したうえで、前記全体遅延許容量以下の第2遅延許容値を加算することで、前記第2の基準値を算出し、
前記第2の経過時間が前記第2の基準値以下の場合、前記マスタから前記第2の記憶装置へのアクセスを許可するとともに、前記全体遅延許容量を減らし、
前記第2のレジスタに保持されている前記全体遅延量が予め定められた値以下になった場合、前記第2の基準値として、前記第2のDMACアクセス時間から前記第2のマスタアクセス時間を減算した値を用いる
請求項14に記載のデータ転送制御装置。
The data transfer control device further includes:
A second register for holding an overall delay tolerance in one continuous transfer operation;
The first access control unit, when an access request from the master to the first storage device occurs,
Subtracting the first master access time from the first DMAC access time and then adding a first delay tolerance less than or equal to the overall delay tolerance to calculate the first reference value;
When the first elapsed time is less than or equal to the first reference value, the access from the master to the first storage device is permitted, and the overall delay allowable amount is reduced,
When the total delay amount held in the second register is equal to or less than a predetermined value, the first master access time is calculated from the first DMAC access time as the first reference value. Use the subtracted value,
The second access control unit, when an access request from the master to the second storage device occurs,
Subtracting the second master access time from the second DMAC access time, and then adding a second delay allowable value equal to or less than the total delay allowable amount to calculate the second reference value;
When the second elapsed time is less than or equal to the second reference value, the access from the master to the second storage device is permitted, and the overall delay allowable amount is reduced,
When the total delay amount held in the second register is equal to or less than a predetermined value, the second master access time is calculated from the second DMAC access time as the second reference value. The data transfer control device according to claim 14, wherein a subtracted value is used.
前記マスタは、CPU(Central Processing Unit)である
請求項1〜11、及び13〜16のいずれか1項に記載のデータ転送制御装置。
The data transfer control device according to any one of claims 1 to 11 and 13 to 16, wherein the master is a CPU (Central Processing Unit).
請求項1〜17のいずれか1項に記載のデータ転送制御装置と、
前記第1の記憶装置と、
前記第2の記憶装置とを含む
データ転送システム。
A data transfer control device according to any one of claims 1 to 17,
The first storage device;
A data transfer system including the second storage device.
第1の記憶装置及び第2の記憶装置の一方から他方にデータを転送する集積回路であって、
前記第1の記憶装置に対してアクセスを行うマスタと、
前記マスタから独立した第1のバスと、
前記第1のバスを介して、前記第1の記憶装置及び前記第2の記憶装置の一方からデータを読み出し、かつ読み出したデータを他方へ書き込むデータ転送動作を繰り返し連続して行う連続転送動作を行う第1のDMAC(Direct Memory Access Controller)と、
前記マスタ及び前記第1のDMACからの要求に従い、前記第1の記憶装置へアクセスする第1のインターフェース部と、
前記第1のDMACからの要求に従い、前記第2の記憶装置へアクセスする第2のインターフェース部と、
前記第2のインターフェース部が前記第2の記憶装置にアクセスを開始してからの第1の経過時間をカウントするカウンタとを備え、
前記第1のインターフェース部は、
前記連続転送動作中に、前記マスタから前記第1の記憶装置へのアクセス要求を受けた場合において、(1)前記第1の経過時間が第1の基準値以下の場合、前記マスタから前記第1の記憶装置へのアクセスを許可し、(2)前記第1の経過時間が前記第1の基準値より大きい場合、前記マスタから前記第1の記憶装置へのアクセスを禁止する第1のアクセス制御部を備える
集積回路。
An integrated circuit for transferring data from one of a first storage device and a second storage device to the other,
A master that accesses the first storage device;
A first bus independent of the master;
A continuous transfer operation for repeatedly and continuously performing a data transfer operation of reading data from one of the first storage device and the second storage device and writing the read data to the other via the first bus. A first DMAC (Direct Memory Access Controller) to perform;
A first interface unit that accesses the first storage device in accordance with a request from the master and the first DMAC;
A second interface unit that accesses the second storage device in accordance with a request from the first DMAC;
A counter that counts a first elapsed time since the second interface unit started accessing the second storage device;
The first interface unit includes:
In the case of receiving an access request from the master to the first storage device during the continuous transfer operation, (1) when the first elapsed time is equal to or less than a first reference value, the master (2) a first access that prohibits access from the master to the first storage device when the first elapsed time is greater than the first reference value. An integrated circuit including a control unit.
第1の記憶装置及び第2の記憶装置の一方から他方にデータを転送するデータ転送制御装置におけるデータ転送方法であって、
前記データ転送制御装置は、
前記第1の記憶装置に対してアクセスを行うマスタと、
前記マスタから独立した第1のバスと、
前記第1のバスを介して、前記第1の記憶装置及び前記第2の記憶装置の一方からデータを読み出し、かつ読み出したデータを他方へ書き込むデータ転送動作を繰り返し連続して行う連続転送動作を行う第1のDMAC(Direct Memory Access Controller)とを備え、
前記データ転送方法は、
前記マスタ及び前記第1のDMACからの要求に従い、前記第1の記憶装置へアクセスするステップと、
前記第1のDMACからの要求に従い、前記第2の記憶装置へアクセスするステップと、
前記第2の記憶装置にアクセスを開始してからの第1の経過時間をカウントするステップと、
前記連続転送動作中に、前記マスタから前記第1の記憶装置へのアクセス要求を受けた場合において、(1)前記第1の経過時間が第1の基準値以下の場合、前記マスタから前記第1の記憶装置へのアクセスを許可し、(2)前記第1の経過時間が前記第1の基準値より大きい場合、前記マスタから前記第1の記憶装置へのアクセスを禁止するステップとを含む
データ転送方法。
A data transfer method in a data transfer control device for transferring data from one of a first storage device and a second storage device to the other,
The data transfer control device includes:
A master that accesses the first storage device;
A first bus independent of the master;
A continuous transfer operation for repeatedly and continuously performing a data transfer operation of reading data from one of the first storage device and the second storage device and writing the read data to the other via the first bus. A first DMAC (Direct Memory Access Controller) to perform,
The data transfer method includes:
Accessing the first storage device in accordance with requests from the master and the first DMAC;
Accessing the second storage device in accordance with a request from the first DMAC;
Counting a first elapsed time since starting to access the second storage device;
In the case of receiving an access request from the master to the first storage device during the continuous transfer operation, (1) when the first elapsed time is equal to or less than a first reference value, the master And (2) prohibiting access from the master to the first storage device when the first elapsed time is greater than the first reference value. Data transfer method.
JP2011084866A 2011-04-06 2011-04-06 Data transfer control device, data transfer system and data transfer method Withdrawn JP2012221125A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011084866A JP2012221125A (en) 2011-04-06 2011-04-06 Data transfer control device, data transfer system and data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011084866A JP2012221125A (en) 2011-04-06 2011-04-06 Data transfer control device, data transfer system and data transfer method

Publications (1)

Publication Number Publication Date
JP2012221125A true JP2012221125A (en) 2012-11-12

Family

ID=47272585

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011084866A Withdrawn JP2012221125A (en) 2011-04-06 2011-04-06 Data transfer control device, data transfer system and data transfer method

Country Status (1)

Country Link
JP (1) JP2012221125A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200073016A (en) * 2018-12-13 2020-06-23 에스케이하이닉스 주식회사 Controller, data storage device and operating method thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200073016A (en) * 2018-12-13 2020-06-23 에스케이하이닉스 주식회사 Controller, data storage device and operating method thereof
KR102655360B1 (en) * 2018-12-13 2024-04-05 에스케이하이닉스 주식회사 Controller, data storage device and operating method thereof

Similar Documents

Publication Publication Date Title
JP4907166B2 (en) Resource management device
JP5498505B2 (en) Resolving contention between data bursts
JP5565204B2 (en) Data transfer apparatus, data transfer method and program, and image forming apparatus
JP2010282405A (en) Data processing system
US20060155903A1 (en) Resource management device
JP2018519587A (en) Configurable mailbox data buffer device
JP2008293487A (en) Processor system, bus controlling method, and semiconductor device
JP6433191B2 (en) Microcomputer
JP6201591B2 (en) Information processing apparatus and information processing apparatus control method
US20090119429A1 (en) Semiconductor integrated circuit
JP2012221125A (en) Data transfer control device, data transfer system and data transfer method
US10360029B2 (en) Signal processing circuit
JP5677007B2 (en) Bus arbitration device and bus arbitration method
JP2006215621A (en) Dma controller
JP2022056144A (en) Programmable logic circuit, information processing apparatus, information processing system, and program
JP6036806B2 (en) Bus access arbitration circuit and bus access arbitration method
CN109597770B (en) Semiconductor device and method for use in semiconductor device
JP6416488B2 (en) Semiconductor device
JP2002342266A (en) Data processor
JP7428392B2 (en) Arithmetic circuit, arithmetic device, method, and program
JP6536441B2 (en) Control device
JP2007108858A (en) Pin sharing device and pin sharing method
JP2001216256A (en) Access right arbitration method and device
JP6535516B2 (en) Multi-programmable device system and control method thereof
Coggiola Functional test of peripheral devices

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140701