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 PDFInfo
- 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
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
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
しかしながら、特許文献1で提示されている技術では、バスが競合しない場合には同時アクセスが可能であるが、アクセス先が競合した場合は、DMA転送期間中はCPU等のマスタのアクセスが待たされるという課題があった。
However, in the technique presented in
一方で、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.
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。 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
データ転送制御装置110は、第1の記憶装置107及び第2の記憶装置108の一方から他方にデータを転送する。例えば、データ転送制御装置110は、第1の記憶装置107からデータを読み出して処理を行うと共に、第2の記憶装置108から第1の記憶装置107に対してデータ転送を行う。
The data
第1の記憶装置107は、例えば、揮発性メモリであり、第2の記憶装置108は、第1の記憶装置107に比べアクセス時間が長い不揮発メモリである。なお、第1の記憶装置107及び第2の記憶装置108の種類は、これに限定されない。
The
データ転送制御装置110は、CPU101と、第1のDMAC102と、第1のDMACバス104と、第1のIF105と、第2のIF106と、カウンタ109とを備える。
The data
CPU101は、第1の記憶装置107へのアクセスを行うマスタである。
The
第1のDMACバス104は、本発明の第1のバスに相当し、CPU101から独立してデータ転送が可能である。
The
第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
これらCPU101と第1のDMAC102はそれぞれ独立して動作する。
The
第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
第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
カウンタ109は、第2のIF106が第2の記憶装置108にアクセスを開始してからの第1の経過時間(カウント値)をカウントする。具体的には、カウンタ109は、第2のIF106からアクセス開始信号を受け取るとカウントを開始する。また、カウンタ109は、アクセス制御部152にカウント値を渡す。
The
第1のIF105は、第1のレジスタ151と、アクセス制御部152とを備える。
The first IF 105 includes a
第1のレジスタ151は、レジスタ153及び154を含む。
The
レジスタ153は、DMACアクセス時間T1を保持する。このDMACアクセス時間T1は、本発明の第1のDMACアクセス時間に相当し、第1のDMAC102から第2の記憶装置108への1回のアクセスに必要な時間を示す。具体的には、DMACアクセス時間T1は、第1のDMAC102から第2の記憶装置108への1回のアクセスに必要なクロックのサイクル数を示す。
The
レジスタ154は、CPUアクセス時間T2を保持する。このCPUアクセス時間T2は、本発明の第1のマスタアクセス時間に相当し、CPU101から第1の記憶装置107への1回のアクセスに必要な時間を示す。具体的には、CPUアクセス時間T2は、CPU101から第1の記憶装置107への1回のアクセスに必要なクロックのサイクル数を示す。
The
アクセス制御部152は、本発明の第1のアクセス制御部に相当し、第1のDMAC102による連続転送動作中における、CPU101から第1の記憶装置107へのアクセスの可否を判定する。
The
具体的には、アクセス制御部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
以下、以上のように構成されたデータ転送制御装置110の動作を説明する。
Hereinafter, the operation of the data
本発明は、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
次に、第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
また、以下では、CPU101から第1の記憶装置107へのアクセスをCPUアクセスと呼び、第1のDMAC102から第1の記憶装置107又は第2の記憶装置108へのアクセスをDMAアクセスと呼ぶ。また、CPUアクセスの要求をCPUアクセス要求と呼び、DMAアクセスの要求をDMAアクセス要求と呼ぶ。
Hereinafter, access from the
ここで、図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
図3は、このときの第1の記憶装置107及び第2の記憶装置108へのアクセス状況を示す図である。図3に示すように、連続転送動作において第1のDMAC102は、第1の記憶装置107と第2の記憶装置108とに交互にアクセスを行っている。
FIG. 3 is a diagram showing an access status to the
次に、第1のDMAC102が第1の記憶装置107にアクセス中、つまり、図2におけるステップS102からステップS104の期間中にCPUアクセス要求が発行された場合の動作を説明する。
Next, the operation when the
このときは、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
まず、DMAアクセス終了(S104)の後、カウンタ109は、第2の記憶装置108へのDMAアクセスの開始と同時に、カウントを開始する(S105)。
First, after the DMA access ends (S104), the
その後、第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
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
このアクセス判定動作の具体例を、図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
図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
図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
以上のように、本発明の実施の形態1に係るデータ転送制御装置110は、後続のDMAアクセス開始までの残り期間T3より、CPUアクセス時間T2が小さい場合にのみCPUアクセスを許可する。これにより、当該データ転送制御装置110は、後続のDMAアクセスを遅延させることなく、CPU101による第1の記憶装置107へのアクセスを実行できる。
As described above, the data
なお、上記説明では、第1のレジスタ151がDMACアクセス時間T1及びCPUアクセス時間T2を保持する例を説明したが、図7に示すように、第1のレジスタ151は、上記第1の基準値(=T2−T1)を保持するレジスタ155を含んでもよい。この場合、アクセス制御部152は、当該第1の基準値とカウント値とを比較することによりアクセス判定を行う。
In the above description, the example in which the
また、図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
また、図1に示す例では、第1のDMAC102が2個の記憶装置にアクセス可能な例を示したが、第1のDMAC102は、第1の記憶装置107を含む3個以上の記憶装置にアクセス可能であってもよい。この場合も、簡単な機能の追加で同様の効果を実現できる。
In the example illustrated in FIG. 1, the example in which the
また、上記では主に、第1の記憶装置107から第2の記憶装置108へデータを転送する例を述べたが、本発明は、第1の記憶装置107及び第2の記憶装置108の一方からデータを読み出し、かつ読み出したデータを他方へ書き込むデータ転送動作を繰り返し連続して行う連続転送動作を行う場合に適用できる。
In the above description, the example in which data is mainly transferred from the
また、上述したように、第1の記憶装置107は、例えば、揮発性メモリであり、第2の記憶装置108は、第1の記憶装置107に比べアクセス時間が長い不揮発メモリである。このような場合に本発明の実施の形態1に係るデータ転送制御装置110を用いることで、アクセス時間の長い第2の記憶装置108に保持されているデータを順次第1の記憶装置107に転送すると共に、第1の記憶装置107からデータを読み出すことができるので、効率よく処理を実行できる。
Further, as described above, the
なお、接続される記憶装置はデータアクセスが可能な装置であればその構成は上記に制限されない。 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
図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
上記実施の形態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
図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
図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
このときのアクセス判定について図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
図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
また、上述した実施の形態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
例えば、第1のレジスタ151は、DMACアクセス時間T1、CPUアクセス時間T2、及び遅延許容値T4のかわりに、第1の基準値(=T1−T2+T4)を保持していてもよい。
For example, the
(実施の形態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
図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
第2のレジスタ357は、第1のDMAC102による一度の連続転送動作における全体遅延許容量T5を保持するレジスタ358を含む。この全体遅延許容量T5について図15を用いて説明する。
The
第1のDMAC102は予め決まった量のデータを連続して転送する連続転送動作を行う。この時、図15に示すDMA転送要求時間は、DMA転送を完了させる必要がある時刻までの経過時間であり設計時に与えられている。また、最速DMA転送完了時間は、DMA転送がアクセス競合で阻害されなかった場合に最速でDMA転送を完了することができる時間であり、一度のアクセスにかかる時間と必要アクセス回数とから予め算出できる。全体遅延許容量T5は、これらの値から算出でき、DMA転送に途中で遅延が発生したとしてもDMA転送要求時間内にDMA転送を完了させることができる遅延時間の許容量である。
The
アクセス制御部352は、CPU101から第1の記憶装置107へのアクセス要求が発生した際に、以下の処理を行う。
The
まず、アクセス制御部352は、DMACアクセス時間T1からCPUアクセス時間T2を減算したうえで、全体遅延許容量T5を加算することで、第1の基準値を算出する。そして、アクセス制御部352は算出した第1の基準値を用いて、CPUアクセスの可否を判定する。
First, the
また、アクセス制御部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
図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
また、ステップ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
このアクセス判定について、図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
説明のために、第1のレジスタ151は実施の形態1と同様の構成を有し、DMACアクセス時間T1、及びCPUアクセス時間T2を保持するとする。また、残り期間T3はDMACアクセス時間T1からカウント値を引くことで算出される。
For explanation, it is assumed that the
なお、これらの値は第1のレジスタ151に設定される値を限定するものではなく、アクセス許可を判定する第1の基準値を第1のレジスタ151に保持しておいてもよい。
Note that these values do not limit the values set in the
図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
図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
以上のように、本発明の実施の形態3に係るデータ転送制御装置310は、DMA転送の遅延が発生するたびに全体遅延許容量T5を再計算し、全体遅延許容量T5を元にアクセス判定の基準値を更新する。これにより、データ転送制御装置310は、DMA転送に要求される完了時間は満たしつつ、柔軟にCPUによるアクセスを実行できる。
As described above, the data
なお、実施の形態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
また、アクセス制御部352は、DMA転送の遅延時間T6を算出するのではなく、DMA転送に遅延が発生するたびに、予め定められた値を全体遅延許容量T5から減算してもよい。
Further, the
また、上記説明では、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
さらに、アクセス制御部352は、上記の遅延許容値T4を、残りの全体遅延許容量T5に応じて、段階的に変化させてもよい。例えば、全体遅延許容量T5の初期値が100サイクルの場合、アクセス制御部352は、全体遅延許容量T5が30サイクル以上の場合は、遅延許容値T4を10サイクルに設定し、全体遅延許容量T5が30サイクル未満の場合は、遅延許容値T4を5サイクルに設定する。
Further, the
また、アクセス制御部352は、一回の連続転送動作を複数の期間に分け、それぞれの期間ごとに全体遅延許容量T5を設定してもよい。言い換えると、第2のレジスタ357は、1回の連続転送動作を分割した複数の部分区間の各々に対応する部分遅延許容量を保持する。また、アクセス制御部352は、ある部分区間においては、上述した処理における全体遅延許容量T5の代わりに、当該部分区間に対応する部分遅延許容量を用いればよい。
In addition, the
(実施の形態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
第1のDMAC402は、バッファ421と、第3のレジスタ422とを含む。第3のレジスタ422は、1回のデータ転送動作において、第1の記憶装置107又は第2の記憶装置108へ連続してアクセスする回数を示す連続アクセス回数423を保持する。
The
バッファ421は、第1の記憶装置107又は第2の記憶装置108から、読み出したデータを保持する。
The
第1のDMAC402は、1回のデータ転送動作において、第1の記憶装置107及び第2の記憶装置108の一方から連続アクセス回数423分、連続してデータを読み出し、当該連続して読み出したデータをバッファ421に格納する。その後、第1のDMAC402は、バッファ421に格納したデータを、連続アクセス回数423分の書き込み動作で、第1の記憶装置107及び第2の記憶装置108の他方へ書き込む。
The
また、カウンタ109は、第2のIF406による、第2の記憶装置108への連続アクセス回数423分のアクセスのうち初回のアクセスが開始されてからの時間を第1の経過時間としてカウントする。具体的には、第2のIF406は、連続アクセスの初回アクセス時にアクセス開始信号を発行する。そして、カウンタ109は、当該アクセス開始信号に応じて、カウントを開始する。
Further, the
以下、第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
図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
また、第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
第1のDMAC402による第2の記憶装置108へのアクセスが完了後(S406でYes)、ステップS110において連続転送動作が完了していなければ(S110でNo)、第1のIF405は、再度ステップS102でアクセス要求を受け取り、DMAアクセスを実行する(S103)。最終的にS110において連続転送動作が完了していれば(S110でYes)、第1のIF405は連続転送動作を終了する。
After the access to the
図21は、DMA転送中にCPU101によるアクセスが発生しない場合の動作例を示す図である。また、図21では、連続アクセス回数423が2回の場合の例に示す。なお、連続アクセス回数423には任意の回数が設定されてよい。
FIG. 21 is a diagram illustrating an operation example in the case where access by the
また、ステップ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
このアクセス判定動作を、図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
アクセス制御部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
以上のように、本発明の実施の形態4に係るデータ転送制御装置410は、後続のDMAアクセス開始までの残り期間T3より、CPUアクセス時間T2が小さい場合のみCPUアクセスを許可する。これにより、データ転送制御装置410は、後続のDMAアクセスを遅延させることなく、CPU101による第1の記憶装置107へのアクセスを実行できる。
As described above, the data
また、実施の形態4では、第1のDMAC402が同一の記憶装置に対して連続アクセスを行うことで、DMACアクセス時間T1より、CPUアクセス時間T2が大きい場合でも、DMA転送を遅延させることなくCPU101による第1の記憶装置107へのアクセスを実行できる。
In the fourth embodiment, the
なお、実施の形態4に係るデータ転送制御装置410に、上述した実施の形態1〜3と同様の変形例を適用してもよい。
Note that the same modification example as in the first to third embodiments may be applied to the data
(実施の形態5)
本発明の実施の形態5では、上述した実施の形態4に係るデータ転送制御装置410に対して、上述した実施の形態2と同様の変更を施した例を説明する。
(Embodiment 5)
In the fifth embodiment of the present invention, an example will be described in which the data
図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
実施の形態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
(実施の形態6)
本発明の実施の形態6では、データ転送制御装置610が、CPU101の代わりに第2のDMAC601を備える例を説明する。
(Embodiment 6)
In the sixth embodiment of the present invention, an example in which the data
図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
また、第2のDMAC601による第1の記憶装置107へのアクセスは第1のDMAC102による第1の記憶装置107へのアクセスより優先度が低いものとする。
In addition, it is assumed that the access to the
また、実施の形態6に係るデータ転送制御装置610の動作は、実施の形態1におけるCPU101からのアクセス要求が第2のDMAC601からのアクセス要求に代わったものであり、それ以外の動作は実施の形態1と同様である。つまり、実施の形態1におけるCPU101を第2のDMAC601に置き換えて、簡単な機能の追加で同様の効果を実現できる。
The operation of the data
なお、実施の形態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
また、ここでは、データ転送制御装置610が、2個のDMACを備える例を述べたが、データ転送制御装置610は、3個以上のDMACを備えてもよい。この場合も簡単な機能の追加で同様の効果を実現できる。また、データ転送制御装置610は、任意の個数のCPUと任意の個数のDMACとを備えてもよい。この場合も、簡単な機能の追加で同様の効果を実現できる。
Although the example in which the data
(実施の形態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
CPU101はCPUバス703を介して第1の記憶装置107及び第2の記憶装置108に対するアクセスを行う。
The
第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
カウンタ709は、さらに、第1のIF105が第1の記憶装置107にアクセスを開始してからの第2の経過時間をカウントする。
The
アクセス制御部752は、連続転送動作中に、CPU101から第2の記憶装置108へのアクセス要求を受けた場合、第2の経過時間が第2の基準値以下の場合、CPU101から第2の記憶装置108へのアクセスを許可し、第2経過時間が第2の基準値より大きい場合、CPU101から第2の記憶装置108へのアクセスを禁止する。
When the
具体的には、第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
つまり、第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
また、DMA転送中にCPU101が第1の記憶装置107にアクセスする際の第1のIF105の動作は、カウンタ709が第2のIF706からのアクセス開始信号を受け、カウントを開始するときである。この動作は実施の形態1における第1のIF105の動作と同様である。
The operation of the first IF 105 when the
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
(実施の形態8)
本発明の実施の形態8では、上述した実施の形態7に係るデータ転送制御装置710に対して、上述した実施の形態2と同様の変更を施した例を説明する。
(Embodiment 8)
In the eighth embodiment of the present invention, an example will be described in which the data
図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
具体的には、第4のレジスタ751は、さらに、遅延許容値T4(第2の遅延許容値)を保持するレジスタ856を有する。また、アクセス制御部852の機能が、アクセス制御部752と異なる。
Specifically, the
また、DMA転送中にCPU101が第1の記憶装置107にアクセスする際の、第1のIF205の動作は、実施の形態2における第1のIF205の動作と同様である。
The operation of the first IF 205 when the
DMA転送中にCPU101が第2の記憶装置108にアクセスする際の、第2のIF806の動作も、第1の記憶装置107と第2の記憶装置108とを入れ替えた場合の第1のIF205の動作と同様である。
The operation of the second IF 806 when the
(実施の形態9)
本発明の実施の形態9では、上述した実施の形態7に係るデータ転送制御装置710に対して、上述した実施の形態3と同様の変更を施した例を説明する。
(Embodiment 9)
In the ninth embodiment of the present invention, an example will be described in which the data
図30は、本発明の実施の形態9に係るデータ転送システム900の構成を示すブロック図である。
FIG. 30 is a block diagram showing a configuration of a
第1のIF305に含まれる第1のレジスタ151は実施の形態3の第1のレジスタ151と同様である。また、アクセス制御部352は実施の形態3のアクセス制御部352と同様である。なお、実施の形態3では、第1のIF305が第2のレジスタ357を備えていたが、データ転送制御装置910は、当該第2のレジスタ357の代わりに、第2のレジスタ957を備えている。
The
第2のIF906に含まれる第4のレジスタ751は、第1の記憶装置107と第2の記憶装置108とを入れ替えた場合の第1のレジスタ151と同様である。また、アクセス制御部952は、第1の記憶装置107と第2の記憶装置108とを入れ替えた場合のアクセス制御部352と同様である。
The
第2のレジスタ957は、実施の形態3の第2のレジスタ357と同様に、一度の連続転送動作における全体遅延許容量T5を保持する。ここで、第2のレジスタ957に保持される全体遅延許容量T5は、アクセス制御部352及びアクセス制御部952のそれぞれのアクセス制御で遅延が発生するたびに更新される。
Similar to the
また、DMA転送中にCPU101が第1の記憶装置107にアクセスする際の、第1のIF305の動作は、実施の形態3における第1のIF305の動作と同様である。
Further, the operation of the first IF 305 when the
DMA転送中にCPU101が第2の記憶装置108にアクセスする際の、第2のIF906の動作は、第1の記憶装置107と第2の記憶装置108とを入れ替えた場合の第1のIF305の動作と同様である。
The operation of the second IF 906 when the
(実施の形態10)
本発明の実施の形態10では、上述した実施の形態7に係るデータ転送制御装置710に対して、上述した実施の形態4と同様の変更を施した例を説明する。
(Embodiment 10)
In the tenth embodiment of the present invention, an example will be described in which the data
図31は、本発明の実施の形態10に係るデータ転送システム1000の構成を示すブロック図である。
FIG. 31 is a block diagram showing a configuration of a
図31に記載のデータ転送制御装置1010において、第1のDMAC402は実施の形態4における第1のDMAC402と同様である。
In the data
第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
第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
(実施の形態11)
本発明の実施の形態11では、上述した実施の形態7に係るデータ転送制御装置710に対して、上述した実施の形態5と同様の変更を施した例を説明する。
(Embodiment 11)
In the eleventh embodiment of the present invention, an example will be described in which the data
図32は、本発明の実施の形態11に係るデータ転送システム1100の構成を示すブロック図である。
FIG. 32 is a block diagram showing a configuration of a
図32に記載のデータ転送制御装置1110において、第1のDMAC402は実施の形態5における第1のDMAC402と同様である。
In the data
第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
第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
(実施の形態12)
本発明の実施の形態12では、上述した実施の形態7に係るデータ転送制御装置710に対して、上述した実施の形態6と同様の変更を施した例を説明する。
(Embodiment 12)
In the twelfth embodiment of the present invention, an example will be described in which the data
図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
実施の形態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
なお、実施の形態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
以上、本発明の実施の形態に係るデータ転送制御装置について説明したが、本発明は、この実施の形態に限定されるものではない。 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
102, 402 First DMAC
104
106, 406, 706, 806, 906, 1006, 1106 Second IF
107
603
Claims (20)
前記第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の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の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回の前記連続転送動作における全体遅延許容量を保持する第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.
請求項4に記載のデータ転送制御装置。 The data transfer control device according to claim 4, wherein the first delay tolerance is the total delay tolerance.
前記全体遅延許容量が予め定められた閾値以上の場合、第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の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.
前記第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回の前記データ転送動作において、前記第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の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の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.
前記第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の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の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.
請求項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の記憶装置と、
前記第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の記憶装置に対してアクセスを行うマスタと、
前記マスタから独立した第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の記憶装置に対してアクセスを行うマスタと、
前記マスタから独立した第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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200073016A (en) * | 2018-12-13 | 2020-06-23 | 에스케이하이닉스 주식회사 | Controller, data storage device and operating method thereof |
-
2011
- 2011-04-06 JP JP2011084866A patent/JP2012221125A/en not_active Withdrawn
Cited By (2)
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 |