[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4934000B2 - Arbitration device, arbitration method, and program - Google Patents

Arbitration device, arbitration method, and program Download PDF

Info

Publication number
JP4934000B2
JP4934000B2 JP2007266815A JP2007266815A JP4934000B2 JP 4934000 B2 JP4934000 B2 JP 4934000B2 JP 2007266815 A JP2007266815 A JP 2007266815A JP 2007266815 A JP2007266815 A JP 2007266815A JP 4934000 B2 JP4934000 B2 JP 4934000B2
Authority
JP
Japan
Prior art keywords
transfer
dmac
request
time
arbitration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007266815A
Other languages
Japanese (ja)
Other versions
JP2009098729A (en
Inventor
伸哉 長崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2007266815A priority Critical patent/JP4934000B2/en
Publication of JP2009098729A publication Critical patent/JP2009098729A/en
Application granted granted Critical
Publication of JP4934000B2 publication Critical patent/JP4934000B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Description

本発明は、優先順位の異なる複数のDMAC(ダイレクト・メモリ・アクセス・コントローラ)からの転送要求を調停する調停装置(アービタ)、調停方法及びプログラムに関し、より詳しくは、優先順位の高いDMACからの転送要求を適宜制限することにより、システム全体のパフォーマンスを向上させるようにした調停装置、調停方法及びプログラムに関する。   The present invention relates to an arbitration device (arbiter), an arbitration method, and a program for arbitrating transfer requests from a plurality of DMACs (direct memory access controllers) having different priorities, and more specifically, from an DMAC having a higher priority. The present invention relates to an arbitration device, an arbitration method, and a program that improve performance of the entire system by appropriately limiting transfer requests.

従来、CPUと複数のモジュールとを備えたシステムにおいて、それらのモジュールとCPUバス上のメモリとの間などのデータ転送を高速で行う手法として、CPUの介入なしでデータ転送を行うDMA転送が知られている。各モジュールはDMA転送を行う際、DMACがアービタに対し転送要求(リクエスト)を発行し、アービタから転送許可を受けた後に、メモリに対する転送(リード又はライト)を行う。このとき、複数のDMACの転送要求が競合した場合、アービタは予め設定されている優先順位に基づいて転送順序を決定する(特許文献1参照)。   2. Description of the Related Art Conventionally, in a system including a CPU and a plurality of modules, DMA transfer that performs data transfer without CPU intervention is known as a method for performing high-speed data transfer between the modules and the memory on the CPU bus. It has been. When each module performs DMA transfer, the DMAC issues a transfer request (request) to the arbiter and receives transfer permission from the arbiter, and then performs transfer (read or write) to the memory. At this time, if a plurality of DMAC transfer requests compete, the arbiter determines the transfer order based on a preset priority (see Patent Document 1).

このような、複数のモジュールとCPUバス上のメモリ間でDMA転送を行うシステムとして、文献に記載されたものではないが、図8に示すマルチファンクションプリンタ(以下、MFPと言う)がある。   Such a system for performing DMA transfer between a plurality of modules and a memory on the CPU bus is not described in the literature, but there is a multifunction printer (hereinafter referred to as MFP) shown in FIG.

このMFPは、ASIC(Application Specific Integrated Circuit:特定用途向けIC)1と、CPU2と、メモリ3と、スキャナ4とを備えている。ASIC1とCPU2とはPCI Express I/F(インタフェース)5により接続され、CPU2とメモリ3とはDDR(Double Data Rate)2 I/F6により接続されている。   The MFP includes an ASIC (Application Specific Integrated Circuit) 1, a CPU 2, a memory 3, and a scanner 4. The ASIC 1 and the CPU 2 are connected by a PCI Express I / F (interface) 5, and the CPU 2 and the memory 3 are connected by a DDR (Double Data Rate) 2 I / F 6.

第1の画像処理モジュール11は、スキャナ4から入力された画像データに対し、シェーディング補正、ライン間補正などの補正処理を施す機能を有する。また、補正処理後の画像データをメモリ3に書き込むための制御を行う第1のライトDMAC(WDMAC1)15を備えている。   The first image processing module 11 has a function of performing correction processing such as shading correction and interline correction on the image data input from the scanner 4. Further, a first write DMAC (WDMAC1) 15 for performing control for writing the corrected image data into the memory 3 is provided.

第2の画像処理モジュール12は、メモリ3から読み出された画像データに対し、変倍処理、階調処理などの画像処理を施す機能を有する。また、メモリ3から画像データを読み出すための第1のリードDMAC(RDMAC1)16、画像処理を施した画像データをメモリに書き込むための第2のライトDMAC(RDMAC2)17を備えている。   The second image processing module 12 has a function of performing image processing such as scaling processing and gradation processing on the image data read from the memory 3. A first read DMAC (RDMAC1) 16 for reading image data from the memory 3 and a second write DMAC (RDMAC2) 17 for writing image data subjected to image processing to the memory are provided.

アービタ13は、第1及び第2のライトDMAC15及び17、並びに第1のリードDMAC16からの転送要求を調停する。アービタ13から転送の許可を受けたDMACは、アービタ13、PCI Express ENDP(エンドポイント)14、PCI Express I/F5、及びDDR2 I/F6を介してメモリ3にアクセスする(CPU2は介在しない)。   The arbiter 13 arbitrates transfer requests from the first and second write DMACs 15 and 17 and the first read DMAC 16. The DMAC that receives the transfer permission from the arbiter 13 accesses the memory 3 via the arbiter 13, the PCI Express ENDP (endpoint) 14, the PCI Express I / F 5, and the DDR2 I / F 6 (the CPU 2 does not intervene).

このMFPによれば、スキャナ4からASIC1の第1の画像処理モジュール11に入力された画像データを第1のライトDMAC15により一旦メモリ3に書き込み、その後、第1のリードDMAC16によりメモリ3から読み出し、第2の画像処理モジュール12で画像処理を行い、第2のライトDMAC17により再びメモリ3に書き込むことにより、スキャナ入力と、画像処理の速度差を吸収することができるように構成されている。この構成により、例えば拡大変倍時など、入力データ数に対して処理するデータ数が多くなる場合、スキャナ4からの入力に対し、拡大変倍処理が間に合わなくなり、システムが破綻してしまう事態を防止することができる。   According to this MFP, the image data input from the scanner 4 to the first image processing module 11 of the ASIC 1 is temporarily written in the memory 3 by the first write DMAC 15, and then read from the memory 3 by the first read DMAC 16. The image processing is performed by the second image processing module 12, and the difference between the scanner input and the image processing speed can be absorbed by writing again in the memory 3 by the second write DMAC 17. With this configuration, when the number of data to be processed increases with respect to the number of input data, for example, at the time of enlargement / reduction, the enlargement / reduction process is not in time for the input from the scanner 4 and the system breaks down. Can be prevented.

図9は、図8に示す第1及び第2のライトDMAC15及び17、並びに第1のリードDMAC16の動作に関連して、アービタ13とPCI Express ENDP14との間を流れるデータを示すタイミングチャートの一例である。ここで、3つのDMACの優先順位は、第1のライトDMAC15が一位、第1のリードDMAC16が二位、第2のライトDMAC17が三位である。   FIG. 9 is an example of a timing chart showing data flowing between the arbiter 13 and the PCI Express ENDP 14 in relation to the operations of the first and second write DMACs 15 and 17 and the first read DMAC 16 shown in FIG. It is. Here, the priority order of the three DMACs is that the first write DMAC 15 is first, the first read DMAC 16 is second, and the second write DMAC 17 is third.

第1のライトDMAC15は、スキャナ4から第1の画像処理モジュール11に入力され、そこで処理された1ライン分の18ブロックの画像データ(W1〜W18)をメモリ3に転送するとき、個々の画像データの先頭のタイミングでアービタ13に転送要求を送出し、直ちに画像データを送出する。アービタ13は優先順位が一位である第1のライトDMAC15からの転送要求を6回続けて処理した後、優先順位が二位である第1のリードDMAC16の転送要求を2回続けて処理する(R1,R2)。第1のリードDMAC16の転送要求の処理により、メモリ3から画像データC1,C2が読み出される。転送要求のタイミングと、画像データが転送されるタイミングとの間には、遅延(Read Delay)がある。このため、第1のライトDMAC15が画像データW9,W10を書き込んでいるときと、第1のリードDMAC16が画像データC1,C2を読み出しているときとが重なっており、この重複期間はPCI Express I/F5上の双方向に画像データが流れる。   The first write DMAC 15 is inputted to the first image processing module 11 from the scanner 4, and when 18 lines of image data (W 1 to W 18) processed for one line are transferred to the memory 3, individual images are transferred. A transfer request is sent to the arbiter 13 at the start timing of the data, and the image data is sent immediately. The arbiter 13 processes the transfer request from the first write DMAC 15 having the highest priority six times, and then processes the transfer request of the first read DMAC 16 having the second highest priority twice. (R1, R2). The image data C1 and C2 are read from the memory 3 by processing the transfer request of the first read DMAC 16. There is a delay (Read Delay) between the transfer request timing and the image data transfer timing. For this reason, the time when the first write DMAC 15 is writing the image data W9 and W10 and the time when the first read DMAC 16 is reading the image data C1 and C2 overlap, and this overlap period is the PCI Express I. Image data flows in both directions on / F5.

以上の処理を繰り返し、第1のライトDMAC15が1ライン分の画像データの転送を終了した後に、優先順位が三位である第2のライトDMAC17からの転送要求を許可する。   The above processing is repeated, and after the first write DMAC 15 finishes transferring the image data for one line, the transfer request from the second write DMAC 17 having the third priority is permitted.

しかしながら、図9に示すタイミングチャートの場合、スキャナ4の1ライン時間(図のlsync期間)より短時間で第1のWDMAC15は1ライン分の画像データ(W1〜W18)をメモリ3に転送しているのに対し、第1のリードDMAC16は略半分しか転送していないし、第2のライトDMAC17は1/3しか転送していない。つまり、第1のWDMAC15のパフォーマンスが必要以上に高い反面、他のDMACのパフォーマンスが不十分である。   However, in the case of the timing chart shown in FIG. 9, the first WDMAC 15 transfers image data (W1 to W18) for one line to the memory 3 in a shorter time than one line time (lsync period in the figure) of the scanner 4. On the other hand, the first read DMAC 16 transfers only about half, and the second write DMAC 17 transfers only 1/3. That is, the performance of the first WDMAC 15 is higher than necessary, but the performance of other DMACs is insufficient.

そこで、第1のリードDMAC16の優先順位を上げることが考えられる。しかし、これには以下の問題がある。ライトDMACとリードDMACの動作を比較すると、リードDMACは転送要求が受け付けられてからその応答(画像データ)が返ってくるまでのレイテンシ(遅延)が大きい。このため、第1のリードDMAC16の優先順位を上げたとしても、第1のリードDMAC16の転送要求を処理する間に隙間なく第1のライトDMAC15から転送要求が発行されるため、第1のライトDMAC15の転送要求を処理する回数が増加し、必要以上のパフォーマンスとなってしまう。また、第1のライトDMAC15の転送要求の処理を終了してから第1のリードDMAC16の転送要求を受け付けるという動作になってしまうため、結果的に要求するパフォーマンスを満たせない状況になってしまう。
特開平7−13923号公報
Therefore, it is conceivable to raise the priority of the first read DMAC 16. However, this has the following problems. Comparing the operations of the write DMAC and the read DMAC, the read DMAC has a large latency (delay) from when a transfer request is accepted until the response (image data) is returned. For this reason, even if the priority of the first read DMAC 16 is increased, the transfer request is issued from the first write DMAC 15 without any gap while the transfer request of the first read DMAC 16 is processed. The number of times the DMAC 15 transfer request is processed increases, resulting in an unnecessarily high performance. In addition, since the transfer request of the first read DMAC 16 is accepted after the processing of the transfer request of the first write DMAC 15 is completed, the required performance cannot be satisfied as a result.
JP 7-13923 A

本発明は、このような問題を解決するためになされたものであり、その目的は、優先順位の異なる複数のDMACからの転送要求を調停するときに、システム全体のパフォーマンスを向上させることである。   The present invention has been made to solve such a problem, and its object is to improve the performance of the entire system when arbitrating transfer requests from a plurality of DMACs having different priorities. .

本願の第1の発明は、優先順位の異なる複数のDMACからの転送要求を調停する調停装置において、所定時間毎に入力される所定量のデータを前記所定時間内に転送可能であり、かつ優先順位が最も高く設定されている第1のDMACにより前記所定時間内に前記所定量のデータの一部毎に順次発行される転送要求を受け付ける手段と、それらの転送要求による処理を実行する手段と、それらの転送要求による転送量の累積値を算出する手段と、前記累積値を前記第1のDMACに対して設定された転送速度で除算することにより、前記累積値のデータの必要転送時間を算出する手段と、前記所定の時間毎の経過時間を計測する手段と、前記経過時間と前記必要転送時間とを比較する手段と、その比較結果に基づいて、前記転送要求による処理を実行させるか待機させるかを決定する手段とを有することを特徴とする。
本願の第2の発明は、第1の発明において、前記経過時間が前記必要転送時間以内の場合で、かつ前記第1のDMAC以外のDMACから転送要求がある場合は、第1のDMACからの転送要求を待機させ、第1のDMAC以外のDMACからの転送要求による処理を実行させることを特徴とする。
本願の第3の発明は、第1の発明において、前記第1のDMAC以外のDMACに対しても、前記各手段が設けられていることを特徴とする。
本願の第4の発明は、第1の発明において、前記決定する手段は、転送要求による処理を待機させるためのウェイト要求信号を発生した後、転送要求による処理を完了した前記実行する手段から処理完了信号を受けたとき、前記ウェイト要求信号をネゲートすることを特徴とする。
本願の第5の発明は、第3の発明において、複数のDMACの転送要求を待機させている場合、一つの待機処理が終了した際に、他にも待機させているDMACの有無を判断し、ある場合にはその処理を監視しながら、他のDMACからの転送要求を処理することを特徴とする。
本願の第6の発明は、優先順位の異なる複数のDMACからの転送要求を調停する調停方法において、所定時間毎に入力される所定量のデータを前記所定時間内に転送可能であり、かつ優先順位が最も高く設定されている第1のDMACにより前記所定時間内に前記所定量のデータの一部毎に順次発行される転送要求を受け付ける工程と、それらの転送要求による処理を実行する工程と、それらの転送要求による転送量の累積値を算出する工程と、前記累積値を前記第1のDMACに対して設定された転送速度で除算することにより、前記累積値のデータの必要転送時間を算出する工程と、前記所定の時間毎の経過時間を計測する工程と、前記経過時間と前記必要転送時間とを比較する工程手段と、その比較結果に基づいて、前記転送要求による処理を実行させるか待機させるかを決定する工程とを有することを特徴とする。
According to a first invention of the present application, in an arbitration device that arbitrates transfer requests from a plurality of DMACs having different priorities, a predetermined amount of data input every predetermined time can be transferred within the predetermined time and Means for accepting transfer requests sequentially issued for each part of the predetermined amount of data within the predetermined time by the first DMAC set with the highest order; means for executing processing according to the transfer requests; And a means for calculating a cumulative value of the transfer amount due to these transfer requests, and dividing the cumulative value by a transfer rate set for the first DMAC, thereby obtaining a required transfer time of the data of the cumulative value. A means for calculating, a means for measuring an elapsed time for each predetermined time, a means for comparing the elapsed time with the required transfer time, and based on the comparison result, according to the transfer request. And having a means for determining whether to wait or to perform the management.
According to a second invention of the present application, in the first invention, when the elapsed time is within the required transfer time and there is a transfer request from a DMAC other than the first DMAC, The present invention is characterized in that a transfer request is waited and processing according to a transfer request from a DMAC other than the first DMAC is executed.
A third invention of the present application is characterized in that, in the first invention, each means is provided for a DMAC other than the first DMAC.
According to a fourth invention of the present application, in the first invention, the determining means generates a wait request signal for waiting for the process according to the transfer request, and then executes the process from the executing means that has completed the process according to the transfer request. When the completion signal is received, the wait request signal is negated.
According to a fifth aspect of the present invention, in the third aspect, when waiting for a plurality of DMAC transfer requests, when one standby process is completed, it is determined whether there is another DMAC waiting. In some cases, a transfer request from another DMAC is processed while monitoring the processing.
According to a sixth invention of the present application, in an arbitration method for arbitrating transfer requests from a plurality of DMACs having different priorities, a predetermined amount of data input every predetermined time can be transferred within the predetermined time and Receiving a transfer request sequentially issued for each part of the predetermined amount of data within the predetermined time by the first DMAC set with the highest order; and executing a process according to the transfer request; , Calculating a cumulative value of the transfer amount due to these transfer requests, and dividing the cumulative value by the transfer rate set for the first DMAC, thereby reducing the required transfer time of the cumulative value data A step of calculating, a step of measuring an elapsed time for each predetermined time, a step of comparing the elapsed time with the required transfer time, and based on the comparison result, Characterized by a step of determining whether to wait or to execute that process.

本発明によれば、優先順位の異なる複数のDMACからの転送要求を調停するときに、優先順位の高いDMACからの転送要求を適宜制限することにより、システム全体のパフォーマンスを向上させることができる。   According to the present invention, when mediating transfer requests from a plurality of DMACs having different priorities, the performance of the entire system can be improved by appropriately limiting the transfer requests from DMACs having a higher priority.

以下、本発明の実施形態について図面を参照しながら説明する。
[第1の実施形態]
図1は本発明の第1の実施形態のMFPにおけるアービタの構成を示すブロック図である。本実施形態のMFPの全体の構成は図8と同じであり、アービタ113は図8に示すアービタ13と同様、MFP内のASIC1内に設けられている。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[First Embodiment]
FIG. 1 is a block diagram illustrating a configuration of an arbiter in the MFP according to the first embodiment of this invention. The overall configuration of the MFP according to the present embodiment is the same as that shown in FIG. 8, and the arbiter 113 is provided in the ASIC 1 in the MFP, like the arbiter 13 shown in FIG.

アービタ113は、必要転送時間計算部121及びリクエスト調停部122を備えている。必要転送時間計算部121には、第1のライトDMAC15から、転送要求発行時にデータのバースト長が入力される。また、ラインスタート信号、及びラインエンド信号が入力される。さらに、必要転送レート保持部123から必要転送レート情報Raが入力される。バースト長及び必要転送レートはシステムを検討した段階で、予め分かっている必要がある値である。リクエスト調停部122には、第1のライトDMAC15及び第2のライトDMAC17並びに第1のリードDMAC16から転送要求が入力され、必要転送時間計算部121からウェイト要求信号が入力される。ここで、3つのDMACの優先順位は、第1のライトDMAC15が一位、第1のリードDMAC16が二位、第2のライトDMAC17が三位である。   The arbiter 113 includes a required transfer time calculation unit 121 and a request arbitration unit 122. The required transfer time calculation unit 121 receives the burst length of data from the first write DMAC 15 when a transfer request is issued. In addition, a line start signal and a line end signal are input. Further, necessary transfer rate information Ra is input from the necessary transfer rate holding unit 123. The burst length and the required transfer rate are values that need to be known in advance when the system is studied. The request arbitration unit 122 receives transfer requests from the first write DMAC 15, the second write DMAC 17, and the first read DMAC 16, and receives a wait request signal from the required transfer time calculation unit 121. Here, the priority order of the three DMACs is that the first write DMAC 15 is first, the first read DMAC 16 is second, and the second write DMAC 17 is third.

必要転送レート保持部123はASIC1内に設けられている。必要転送レート情報Raは、第1のリードDMAC15が必ずデータ転送を完了しなければならない時間であるlsync期間の80%程度に設定する。若しくは一回の転送要求で処理する時間の最大値を加味した値を設定することが望ましい。その理由は、第1のリードDMAC15からの1ライン内の最後の転送要求に対して、後述するウェイト処理を行った場合でも、lsync期間を超えることなく転送を完了させるためである。   The necessary transfer rate holding unit 123 is provided in the ASIC 1. The necessary transfer rate information Ra is set to about 80% of the lsync period, which is the time that the first read DMAC 15 must complete the data transfer. Alternatively, it is desirable to set a value in consideration of the maximum value of processing time for one transfer request. The reason is that the transfer is completed without exceeding the lsync period even when a wait process described later is performed on the last transfer request in one line from the first read DMAC 15.

図2は、図1の必要転送時間計算部121の内部構成を示すブロック図である。必要転送時間計算部121は、必要転送時間T2演算部及び時間比較部1211、タイマー1212、並びにウェイト要求信号生成部1213を備えている。   FIG. 2 is a block diagram showing an internal configuration of the necessary transfer time calculation unit 121 of FIG. The required transfer time calculation unit 121 includes a required transfer time T2 calculation unit and time comparison unit 1211, a timer 1212, and a wait request signal generation unit 1213.

タイマー1212にはラインスタート信号及びラインエンド信号が入力される。そして、ラインスタート信号により起動され、ラインエンド信号によりリセットされるまでの間、ラインスタート信号からの経過時間T1をカウント(計測)する。   The timer 1212 receives a line start signal and a line end signal. Then, an elapsed time T1 from the line start signal is counted (measured) until it is activated by the line start signal and reset by the line end signal.

必要転送時間T2演算部及び時間比較部1211には、バースト長BL及び経過時間T1が入力される。必要転送時間T2演算部及び時間比較部1211は、第1のライトDMAC15とアービタ113との間のバス幅DWの情報を保持している。   The required transfer time T2 calculation unit and the time comparison unit 1211 receive the burst length BL and the elapsed time T1. The necessary transfer time T2 calculation unit and the time comparison unit 1211 hold information on the bus width DW between the first write DMAC 15 and the arbiter 113.

必要転送時間T2演算部及び時間比較部1211は以下のように動作する。
転送要求の発行時に受け取ったバースト長BLと、保持しているバス幅DWとに基づいて、まず下記式[1]により転送データ量BW(k)を算出する。この式において、kは1ライン内の転送要求の順番を示す。
BW(k)=BL(k)×DW・・・式[1]
The necessary transfer time T2 calculation unit and time comparison unit 1211 operate as follows.
Based on the burst length BL received when the transfer request is issued and the held bus width DW, the transfer data amount BW (k) is first calculated by the following equation [1]. In this equation, k indicates the order of transfer requests within one line.
BW (k) = BL (k) × DW Equation [1]

次いでこの転送データ量BW(k)を1ライン内で転送要求毎に累積し、下記式[2]に示す累積転送量BW’(n)を算出する。
BW’(n) =BW(1)+BW(2)+・・・BW(n)・・・式[2]
Next, this transfer data amount BW (k) is accumulated for each transfer request within one line, and an accumulated transfer amount BW ′ (n) shown in the following equation [2] is calculated.
BW '(n) = BW (1) + BW (2) + ... BW (n) ... Formula [2]

次に下記式[3]により、累積転送量BW’(n)のデータ転送が完了していなければならない時間である必要転送時間T2を算出する。
T2=BW’(n)/Ra・・・式[3]
Next, a necessary transfer time T2, which is a time during which the data transfer of the accumulated transfer amount BW ′ (n) must be completed, is calculated by the following equation [3].
T2 = BW '(n) / Ra (3)

次いで必要転送時間T2と経過時間T1とを比較し、その長短関係をウェイト要求信号生成部1213に出力する。   Next, the required transfer time T2 and the elapsed time T1 are compared, and the length relationship is output to the wait request signal generation unit 1213.

ウェイト要求信号生成部1213は、T1の方がT2より長ければ、T1とT2が等しくなるまで、第1のライトDMAC15からの転送要求に対して、ウェイト要求信号をアサートし、リクエスト調停部122へ出力する。リクエスト調停部122は、ウェイト要求信号がアサートされている間は、第1のライトDMAC15からの転送要求に対してウェイト処理(転送要求の発行を制限する)を実行する。   If T1 is longer than T2, the wait request signal generation unit 1213 asserts a wait request signal in response to a transfer request from the first write DMAC 15 until T1 and T2 become equal to the request arbitration unit 122. Output. While the wait request signal is asserted, the request arbitration unit 122 executes wait processing (limits issuing of a transfer request) to the transfer request from the first write DMAC 15.

次にアービタ113の動作について、図3に示すフローチャートを参照しながら説明する。
データ転送が開始されると、図3のステップST1にて、リクエスト調停部122がリクエスト(転送要求)を受け付ける。次いで、ステップST2にて、リクエスト調停部122は優先順位が一位である第1のライトDMAC15からのリクエストの有無を判断し、ある場合は(ST2:Yes)、ステップST3にて、必要転送時間計算部121が必要転送時間T2を算出する。ここで、リクエスト調停部122は、各DMACから転送要求時に送出されるDMACID等から、ステップST2の判断が可能である。
Next, the operation of the arbiter 113 will be described with reference to the flowchart shown in FIG.
When data transfer is started, the request arbitration unit 122 receives a request (transfer request) in step ST1 of FIG. Next, in step ST2, the request arbitration unit 122 determines whether or not there is a request from the first write DMAC 15 having the highest priority. If there is (ST2: Yes), the required transfer time is determined in step ST3. The calculation unit 121 calculates the necessary transfer time T2. Here, the request arbitration unit 122 can make the determination in step ST2 from the DMACID or the like transmitted from each DMAC when a transfer request is made.

次にステップST4にて、必要転送時間計算部121は、経過時間T1が必要転送時間T2より長いか否かを判断し、長い場合は(ST4:Yes)、ステップST7にて、リクエスト調停部122は第1のライトDMAC15からのリクエストを処理する。   Next, in step ST4, the required transfer time calculation unit 121 determines whether or not the elapsed time T1 is longer than the required transfer time T2, and if it is longer (ST4: Yes), in step ST7, the request arbitration unit 122 Handles the request from the first write DMAC 15.

一方、経過時間T1が必要転送時間T2以内の場合は(ST4:No)、ステップST5にて、その他のDMAC(ここでは第1のリードDMAC16、第2のライトDMAC17)からのリクエストの有無を判断する。そして、ある場合は(ST5:Yes)、ステップST6にてその他のDMACからのリクエストを処理した後にステップST4に戻る。ない場合は(ST5:No)、ステップST7にて第1のライトDMAC15からのリクエストを処理する。   On the other hand, if the elapsed time T1 is within the required transfer time T2 (ST4: No), it is determined in step ST5 whether there is a request from another DMAC (here, the first read DMAC16 and the second write DMAC17). To do. If there is any (ST5: Yes), after processing a request from another DMAC in step ST6, the process returns to step ST4. If not (ST5: No), the request from the first write DMAC 15 is processed in step ST7.

第1のライトDMAC15からのリクエストの有無を判断し、ない場合は(ST2:No)、リクエストを発行した第1のリードDMAC16又は第2のライトDMAC17に対して、通常のアービトレーション及びリクエスト処理を行う(ステップST8)。   The presence / absence of a request from the first write DMAC 15 is determined. If there is no request (ST2: No), normal arbitration and request processing are performed on the first read DMAC 16 or the second write DMAC 17 that issued the request. (Step ST8).

ステップST9で全データの転送が完了したと判断するまで、以上の処理を繰り返す。   The above processing is repeated until it is determined in step ST9 that all data has been transferred.

以上説明した図3のフローチャートの処理を要約すると以下のようになる。
DMACからリクエストが発行されると、アービタ113は、どのDMACからのリクエストであるかを判断する。判断の結果、第1のライトDMAC15からのリクエストでなければ、通常のアービトレーション及びリクエスト処理を行う。第1のライトDMAC15からのリクエストであった場合は必要転送時間T2を算出する。そして、現在のラインのスタートからの経過時間T1と比較し、T1の方がT2よりも長い場合は、そのまま第1のライトDMAC15からのリクエストを処理する。T2の方が長い場合は、その間は他のDMACからのリクエストがあればそれを優先して処理し、なければ第1のライトDMAC15からのリクエストを処理し、全データの転送が完了していれば終了、そうでなければ次のリクエストを待つ。
The processing of the flowchart of FIG. 3 described above is summarized as follows.
When a request is issued from the DMAC, the arbiter 113 determines which DMAC the request is from. If it is determined that the request is not from the first write DMAC 15, normal arbitration and request processing are performed. If the request is from the first write DMAC 15, the required transfer time T2 is calculated. If the time T1 is longer than T2 compared with the elapsed time T1 from the start of the current line, the request from the first write DMAC 15 is processed as it is. If T2 is longer, if there is a request from another DMAC during that time, it will be processed with priority. If not, the request from the first write DMAC 15 will be processed, and all data transfer has been completed. If not, wait for the next request.

次に図4に示すタイミングチャートに基づいて説明する。
第1のライトDMAC15は、1ライン分の18ブロックの画像データ(W1〜W18)をメモリ3に転送するとき、個々の画像データの先頭のタイミングでアービタ113に転送要求を発行する。画像データW1〜W4のそれぞれの転送要求を受け付けた時点では、他のDMACからの転送要求がないため、図3のステップST7により、第1のライトDMAC15からの処理(画像データW1〜W4の転送)を実行する。
Next, a description will be given based on the timing chart shown in FIG.
The first write DMAC 15 issues a transfer request to the arbiter 113 at the leading timing of each image data when transferring 18 blocks of image data (W1 to W18) for one line to the memory 3. At the time when the transfer request for each of the image data W1 to W4 is received, there is no transfer request from another DMAC. Therefore, the process from the first write DMAC 15 (transfer of the image data W1 to W4) is performed in step ST7 of FIG. ).

画像データW5の転送要求を受け付けた時点では、第1のリードDMAC16も転送要求R1を発行している。このとき、T1がT2より短いため、ステップST4:No →ST5:Yes→ST6と進み、第1のリードDMAC16の転送要求を処理し、第1のライトDMAC15からの画像データW5の転送要求は待機させる。同様にして、第1のリードDMAC16からの転送要求R2を処理する。これにより、メモリ3から画像データC1,C2が読み出される。   At the time when the transfer request for the image data W5 is received, the first read DMAC 16 has also issued the transfer request R1. At this time, since T1 is shorter than T2, the process proceeds from step ST4: No → ST5: Yes → ST6, the transfer request of the first read DMAC 16 is processed, and the transfer request of the image data W5 from the first write DMAC 15 waits. Let Similarly, the transfer request R2 from the first read DMAC 16 is processed. As a result, the image data C1 and C2 are read from the memory 3.

次の転送要求R3を受け付けた時点では、第1のライトDMAC15からの画像データW5の転送要求を待機させ続けた結果、T1がT2以上となったため、ステップST4:Yes →ST7と進み、第1のライトDMAC15からの画像データW5の転送要求を処理し、第1のリードDMAC16からの転送要求R3は待機させる。同様にして、第1のライトDMAC15からの画像データW6〜W8の転送要求を処理する。そして、画像データW8の転送が完了すると、ステップST2:No →ST8と進み、第1のリードDMAC16からの転送要求R3を処理する。   At the time when the next transfer request R3 is received, since the transfer request of the image data W5 from the first write DMAC 15 is kept waiting, T1 becomes T2 or more, so that the process proceeds to step ST4: Yes → ST7. The transfer request for the image data W5 from the write DMAC 15 is processed, and the transfer request R3 from the first read DMAC 16 is put on standby. Similarly, the transfer request of the image data W6 to W8 from the first write DMAC 15 is processed. When the transfer of the image data W8 is completed, the process proceeds to step ST2: No → ST8, and the transfer request R3 from the first read DMAC 16 is processed.

その後、第1のリードDMAC16からの転送要求R4の処理が完了した時点で、第1のライトDMAC15からの画像データW9の転送要求が発行される。以後、アービタ113は、第1のライトDMAC15及び第1のリードDMAC16からの転送要求の有無、及びT1とT2との長短関係に応じて、第1のライトDMAC15及び第1のリードDMAC16からの転送要求の一方を処理するときは他方を待機させる処理を行う。   Thereafter, when processing of the transfer request R4 from the first read DMAC 16 is completed, a transfer request for the image data W9 from the first write DMAC 15 is issued. Thereafter, the arbiter 113 transfers data from the first write DMAC 15 and the first read DMAC 16 according to the presence / absence of a transfer request from the first write DMAC 15 and the first read DMAC 16 and the length relationship between T1 and T2. When one of the requests is processed, a process for waiting the other is performed.

第1のライトDMAC15が1ライン分の画像データW1〜W18の転送を完了すると、1sync時間の終わり(ラインエンド信号のタイミング)までは、第1のライトDMAC15は転送要求を発行しない。1sync時間の終わりから、第2のライトDMAC17の転送要求の処理を開始するとともに、引き続き第1のリードDMAC16からの転送要求を処理する。   When the first write DMAC 15 completes the transfer of the image data W1 to W18 for one line, the first write DMAC 15 does not issue a transfer request until the end of one sync time (line end signal timing). From the end of the 1 sync time, the transfer request processing of the second write DMAC 17 is started, and the transfer request from the first read DMAC 16 is subsequently processed.

図5は、図4のタイミングチャートに示されているデータをアービタ113とPCI Express ENDP14との間で見た場合、即ち図9に対応するタイミングチャートを示している。   FIG. 5 shows a timing chart corresponding to FIG. 9 when the data shown in the timing chart of FIG. 4 is viewed between the arbiter 113 and the PCI Express ENDP 14.

図5に示すように、本実施形態では、優先順位が一位である第1のライトDMAC15からの転送要求を4回続けて処理した後、優先順位が二位である第1のリードDMAC16の転送要求を2回続けて処理する。このため、第1のライトDMAC15が1ライン分の画像データW1〜W18の転送を完了するタイミングは図9の場合より遅れる。しかし、第1のリードDMAC16及び第2のライトDMAC17からの転送要求に対しては、1sync時間の終わりの時点にて、本実施形態の方がより多くのデータの転送を完了していることが分かる。   As shown in FIG. 5, in the present embodiment, after the transfer request from the first write DMAC 15 having the highest priority is processed four times in succession, the first read DMAC 16 having the second highest priority is processed. Process the transfer request twice in succession. For this reason, the timing at which the first write DMAC 15 completes the transfer of the image data W1 to W18 for one line is delayed from the case of FIG. However, in response to the transfer request from the first read DMAC 16 and the second write DMAC 17, the transfer of more data is completed in the present embodiment at the end of 1 sync time. I understand.

つまり、本実施形態は、優先順位が最高である第1のライトDMAC15の転送要求に適宜制限をかけることにより、第1のライトDMAC15のパフォーマンスが過剰となることを防止するとともに、第1のリードDMAC16及び第2のライトDMAC17のパフォーマンスを向上させ、その結果、システム全体のパフォーマンスを向上させている。   In other words, the present embodiment prevents the performance of the first write DMAC 15 from becoming excessive by appropriately limiting the transfer request of the first write DMAC 15 having the highest priority, and the first read. The performance of the DMAC 16 and the second write DMAC 17 is improved, and as a result, the performance of the entire system is improved.

以上のように、本発明の第1の実施形態のアービタ113は、下記(1)、(2)の効果を有する。
(1)必要転送時間計算部121と必要転送レート保持部123とを持つことによって、優先度の最も高い第1のライトDMAC15からのデータの転送状況を把握し、適宜ウェイト要求を発生させることが可能である。
(2)優先順位の最も高い第1のライトDMAC15からの厳守しなければならないデータ転送量は間違いなく転送しつつ、他のDMACからのリクエストも処理可能にすることによって、全体としてのデータ転送量を増加させ効率的なデータ転送が可能となる。
As described above, the arbiter 113 according to the first embodiment of the present invention has the following effects (1) and (2).
(1) By having the necessary transfer time calculation unit 121 and the necessary transfer rate holding unit 123, it is possible to grasp the data transfer status from the first write DMAC 15 having the highest priority and generate a wait request as appropriate. Is possible.
(2) The data transfer amount that must be strictly observed from the first write DMAC 15 having the highest priority level is transferred without fail, while requests from other DMACs can be processed, so that the data transfer amount as a whole And efficient data transfer becomes possible.

[第2の実施形態]
図6は本発明の第2の実施形態のMFPにおけるアービタの構成を示すブロック図である。本実施形態のMFPの全体の構成は図9と同じであり、アービタ213は図9に示すアービタ13と同様、MFP内のASIC1内に設けられている。
[Second Embodiment]
FIG. 6 is a block diagram showing the configuration of the arbiter in the MFP according to the second embodiment of the present invention. The overall configuration of the MFP according to this embodiment is the same as that shown in FIG. 9, and the arbiter 213 is provided in the ASIC 1 in the MFP, like the arbiter 13 shown in FIG.

アービタ213は、第1の必要転送時間計算部(必要転送時間計算部1)2211、第2の必要転送時間計算部(必要転送時間計算部2)2212、第3の必要転送時間計算部(必要転送時間計算部3)2213、及びリクエスト調停部222を備えている。   The arbiter 213 includes a first required transfer time calculation unit (required transfer time calculation unit 1) 2211, a second required transfer time calculation unit (required transfer time calculation unit 2) 2212, and a third required transfer time calculation unit (necessary A transfer time calculation unit 3) 2213 and a request arbitration unit 222 are provided.

第1の必要転送時間計算部2211には、第1のライトDMAC15から、転送要求発行時にデータの第1のバースト長(バースト長1)が入力される。また、ラインスタート信号、及びラインエンド信号が入力される。さらに、必要転送レート保持部123から必要転送レート情報Ra1が入力される。同様に第2の必要転送時間計算部2212には、第1のリードDMAC16から、データの第2のバースト長(バースト長2)、ラインスタート信号、及びラインエンド信号が入力され、必要転送レート保持部123から必要転送レート情報Ra2が入力される。また、第3の必要転送時間計算部2213には、第2のライトDMAC17から、データの第3のバースト長(バースト長3)、ラインスタート信号、及びラインエンド信号が入力され、必要転送レート保持部123から必要転送レート情報Ra3が入力される。   The first required transfer time calculation unit 2211 receives the first burst length of data (burst length 1) from the first write DMAC 15 when a transfer request is issued. In addition, a line start signal and a line end signal are input. Further, necessary transfer rate information Ra1 is input from the necessary transfer rate holding unit 123. Similarly, the second required transfer time calculation unit 2212 receives the second burst length of data (burst length 2), the line start signal, and the line end signal from the first read DMAC 16, and maintains the necessary transfer rate. The required transfer rate information Ra2 is input from the unit 123. The third required transfer time calculator 2213 receives the third burst length of data (burst length 3), the line start signal, and the line end signal from the second write DMAC 17, and maintains the required transfer rate. The required transfer rate information Ra3 is input from the unit 123.

リクエスト調停部222には、第1のライトDMAC15及び第2のライトDMAC17並びに第1のリードDMAC16から転送要求が入力される。また、第1の必要転送時間計算部2211、第2の必要転送時間計算部2212、及び第3の必要転送時間計算部2213から、それぞれ第1のウェイト要求信号(ウェイト要求信号1)S1、第2のウェイト要求信号(ウェイト要求信号2)S2、及び第3のウェイト要求信号(ウェイト要求信号3)S3が入力される。さらに、第1の必要転送時間計算部2211、第2の必要転送時間計算部2212、及び第3の必要転送時間計算部2213に対し、それぞれ第1のリクエスト処理完了信号(リクエスト処理完了信号1)S4、第2のリクエスト処理完了信号(リクエスト処理完了信号2)S5、及び第3のリクエスト処理完了信号(リクエスト処理完了信号3)S6を送出する。   The request arbitration unit 222 receives transfer requests from the first write DMAC 15, the second write DMAC 17, and the first read DMAC 16. Further, the first required transfer time calculation unit 2211, the second required transfer time calculation unit 2212, and the third required transfer time calculation unit 2213 receive the first wait request signal (wait request signal 1) S 1, respectively. The second wait request signal (wait request signal 2) S2 and the third wait request signal (wait request signal 3) S3 are input. Furthermore, a first request processing completion signal (request processing completion signal 1) is sent to each of the first required transfer time calculation unit 2211, the second required transfer time calculation unit 2212, and the third required transfer time calculation unit 2213. S4, a second request processing completion signal (request processing completion signal 2) S5, and a third request processing completion signal (request processing completion signal 3) S6 are transmitted.

ここで、第1の必要転送時間計算部2211、第2の必要転送時間計算部2212、及び第3の必要転送時間計算部2213は、それぞれ第1の実施形態における必要転送時間計算部121と同様な構成を有しており、それぞれ式[1]〜[3]と同様な式を用いて、それぞれ必要転送時間T21、T22、T23を算出する。   Here, the first required transfer time calculation unit 2211, the second required transfer time calculation unit 2212, and the third required transfer time calculation unit 2213 are the same as the required transfer time calculation unit 121 in the first embodiment, respectively. The necessary transfer times T21, T22, and T23 are calculated using equations similar to the equations [1] to [3], respectively.

つまり、第1の実施形態のアービタ113では第1のライトDMAC15に対してのみ必要転送時間計算部を設けたが、本実施形態では全てのDMACに対して必要転送時間計算部を設け、各DMACに対する必要転送時間計算部に必要な転送レート情報Ra1、Ra2、Ra3を供給し、各DMACが必要転送レートを守ることができるようにアービトレーションを実施する。   That is, in the arbiter 113 of the first embodiment, the required transfer time calculation unit is provided only for the first write DMAC 15, but in this embodiment, the required transfer time calculation unit is provided for all DMACs. The necessary transfer time information Ra1, Ra2, and Ra3 are supplied to the necessary transfer time calculation unit for, and arbitration is performed so that each DMAC can keep the required transfer rate.

ここでも、第1の実施形態と同じく、3つのDMACの優先順位は、第1のライトDMAC15が一位、第1のリードDMAC16が二位、第2のライトDMAC17が三位である。そして、各DMACに対して転送レートを計算し、それが必要転送レートを超えていた場合には、各DMACに対してウェイト要求信号をアサート可能である。   Here, as in the first embodiment, the priority order of the three DMACs is that the first write DMAC 15 is first, the first read DMAC 16 is second, and the second write DMAC 17 is third. Then, a transfer rate is calculated for each DMAC, and if it exceeds the required transfer rate, a wait request signal can be asserted for each DMAC.

次にアービタ213の動作について、図7に示すフローチャートを参照しながら説明する。
まずステップST11にて、リクエスト調停部222がリクエストを受け付ける。次いで、ステップST12にて、リクエスト調停部122は優先順位が一位である第1のライトDMAC15からのリクエストの有無を判断し、ある場合は(ST12:Yes)、ステップST13にて、第1の必要転送時間計算部2211が必要転送時間T21を算出する。
Next, the operation of the arbiter 213 will be described with reference to the flowchart shown in FIG.
First, in step ST11, the request arbitration unit 222 receives a request. Next, in step ST12, the request arbitration unit 122 determines whether or not there is a request from the first write DMAC 15 having the highest priority. If there is a request (ST12: Yes), in step ST13, the first request DMA The required transfer time calculation unit 2211 calculates the required transfer time T21.

次にステップST14にて、第1の必要転送時間計算部2211は、経過時間T1が必要転送時間T21より長いか否かを判断し、長い場合は(ST14:Yes)、ステップST16にて、リクエスト調停部222が第1のライトDMAC15からのリクエストを処理する。   Next, in step ST14, the first required transfer time calculation unit 2211 determines whether or not the elapsed time T1 is longer than the required transfer time T21. If longer (ST14: Yes), the request is sent in step ST16. The arbitration unit 222 processes the request from the first write DMAC 15.

一方、経過時間T1が必要転送時間T21以内の場合は(ST14:No)、ステップST15にて、その他のDMACからのリクエストの有無を判断する。そして、ない場合は(ST15:No)、ステップST16にて、第1のライトDMAC15からのリクエストを処理する。   On the other hand, if the elapsed time T1 is within the required transfer time T21 (ST14: No), it is determined in step ST15 whether there is a request from another DMAC. If not (ST15: No), the request from the first write DMAC 15 is processed in step ST16.

一方、その他のDMACからのリクエストがある場合は(ST15:Yes)、ステップST19に進んで、優先順位が二位である第1のリードDMAC16からのリクエストの有無を判断する。先のステップST12にて、第1のライトDMAC15からのリクエストがないと判断した場合も(ST12:No)、ステップST19を実行する。   On the other hand, if there is a request from another DMAC (ST15: Yes), the process proceeds to step ST19 to determine whether there is a request from the first read DMAC 16 having the second highest priority. Even when it is determined in the previous step ST12 that there is no request from the first write DMAC 15 (ST12: No), step ST19 is executed.

そして、第1のリードDMAC16からのリクエストが有ると判断した場合は、ステップST20にて、第2の必要転送時間計算部2212が必要転送時間T22を算出する。次にステップST21にて、第2の必要転送時間計算部2211は、経過時間T1が必要転送時間T22より長いか否かを判断し、長い場合は(ST21:Yes)、ステップST22にて、リクエスト調停部222は第1のリードDMAC16からのリクエストを処理する。   If it is determined that there is a request from the first read DMAC 16, the second required transfer time calculator 2212 calculates the required transfer time T22 in step ST20. Next, in step ST21, the second required transfer time calculation unit 2211 determines whether or not the elapsed time T1 is longer than the required transfer time T22. If longer (ST21: Yes), the request is sent in step ST22. The arbitration unit 222 processes the request from the first read DMAC 16.

一方、経過時間T1が必要転送時間T22以内の場合は(ST21:No)、ステップST23にて、経過時間T1が必要転送時間T21より長いか否かを判断する。判断の結果、長い場合はステップST16に進んで、第1のライトDMAC15からのリクエストを処理する。また、長くない場合は、ステップST24にてその他(第1のライトDMAC15及び第1のリードDMAC16以外)のDMACからのリクエストの有無を判断する。判断の結果、ない場合は(ST24:No)、ステップST22にて第1のリードDMAC16からのリクエストを処理する。   On the other hand, if the elapsed time T1 is within the required transfer time T22 (ST21: No), it is determined in step ST23 whether the elapsed time T1 is longer than the required transfer time T21. If the result of determination is that it is long, the process proceeds to step ST16 to process the request from the first write DMAC 15. If it is not long, it is determined in step ST24 whether there is a request from another DMAC (other than the first write DMAC 15 and the first read DMAC 16). If there is no determination (ST24: No), the request from the first read DMAC 16 is processed in step ST22.

その他のDMACからのリクエストがある場合は(ST24:Yes)、ステップST25に進んで、優先順位が三位である第2のライトDMAC17に対して設けた第3の必要転送時間計算部2213が必要転送時間T23を算出する。先のステップST19にて、第1のリードDMAC16からのリクエストがないと判断した場合も(ST19:No)、ステップST25を実行する。   If there is a request from another DMAC (ST24: Yes), the process proceeds to step ST25, and the third required transfer time calculation unit 2213 provided for the second write DMAC 17 having the third priority is required. Transfer time T23 is calculated. Even when it is determined in step ST19 that there is no request from the first read DMAC 16 (ST19: No), step ST25 is executed.

次にステップST26にて、第3の必要転送時間計算部2213は、経過時間T1が必要転送時間T23より長いか否かを判断し、長い場合は(ST26:Yes)、ステップST27にて、リクエスト調停部222が第2のライトDMAC17からのリクエストを処理する。   Next, in step ST26, the third required transfer time calculator 2213 determines whether or not the elapsed time T1 is longer than the required transfer time T23. If it is longer (ST26: Yes), the request is sent in step ST27. The arbitration unit 222 processes the request from the second write DMAC 17.

一方、経過時間T1が必要転送時間T23以内の場合は(ST26:No)、ステップST28にて、経過時間T1が必要転送時間T21より長いか否かを判断する。そして、長い場合は、ステップST16に進んで、第1のライトDMAC15からのリクエストを処理する。また、長くない場合は、ステップST29にて、経過時間T1が必要転送時間T22より長いか否かを判断する。そして、長い場合は、ステップST22に進んで、第1のリードDMAC16からのリクエストを処理する。   On the other hand, if the elapsed time T1 is within the required transfer time T23 (ST26: No), it is determined in step ST28 whether the elapsed time T1 is longer than the required transfer time T21. If it is longer, the process proceeds to step ST16 to process the request from the first write DMAC 15. If not, it is determined in step ST29 whether the elapsed time T1 is longer than the necessary transfer time T22. If it is longer, the process proceeds to step ST22 to process the request from the first read DMAC 16.

第1のライトDMAC15からのリクエストの処理(ステップST16)、第1のリードDMAC16からのリクエストの処理(ステップST22)、或いは第2のライトDMAC17からのリクエストの処理(ステップST27)を実行した後、ステップST17で、待機させている(ウェイト処理中)リクエストの有無を判断し、なければ、ステップST18で全データの転送が完了したと判断するまで、ステップST11から繰り返す。   After executing the request processing from the first write DMAC 15 (step ST16), the request processing from the first read DMAC 16 (step ST22), or the request processing from the second write DMAC 17 (step ST27), In step ST17, it is determined whether or not there is a waiting request (wait processing). If there is no request, it is repeated from step ST11 until it is determined in step ST18 that the transfer of all data has been completed.

待機させているリクエストがある場合は(ST17:Yes)、それが第1のライトDMAC15からのリクエストであれば(ST30:Yes)、ステップST14に進み、第1のライトDMAC15ではなく第1のリードDMAC16からのリクエストであれば(ST30:No→ST31:Yes)、ステップST21に進む。   If there is a waiting request (ST17: Yes), if it is a request from the first write DMAC 15 (ST30: Yes), the process proceeds to step ST14, and the first read is performed instead of the first write DMAC 15. If the request is from the DMAC 16 (ST30: No → ST31: Yes), the process proceeds to Step ST21.

以上説明した図7のフローチャートの処理を要約すると以下のようになる。
DMACからリクエストが発行されると、アービタ213は、まず第1のライトDMAC15からのリクエストか否かを判断する。判断の結果、そうであった場合は必要転送時間T2を算出する。そして、T2を現在のラインのスタートからの経過時間T1と比較し、T1の方がT2よりも長い場合は、そのまま第1のライトDMAC15からのリクエストを処理する。T2の方が長い場合は、その間は他のDMACからのリクエストがあればそれを優先して処理し、なければ第1のライトDMAC15からのリクエストを処理し、全データの転送が完了していれば終了、そうでなければ次のリクエストを待つ。
The processing of the flowchart of FIG. 7 described above is summarized as follows.
When a request is issued from the DMAC, the arbiter 213 first determines whether or not the request is from the first write DMAC 15. As a result of the determination, if so, the necessary transfer time T2 is calculated. Then, T2 is compared with the elapsed time T1 from the start of the current line, and if T1 is longer than T2, the request from the first write DMAC 15 is processed as it is. If T2 is longer, if there is a request from another DMAC during that time, it will be processed with priority. If not, the request from the first write DMAC 15 will be processed, and all data transfer has been completed. If not, wait for the next request.

リクエストの発行元が第1のライトDMAC15でなかった場合は、優先順位が次に高い第1のリードDMAC16が発行元か否かを判断し、そうであれば第1のライトDMAC15と同様な必要転送時間を計算し、ウェイトが必要であればウェイト処理を行う。リクエストの発行元が第1のリードDMAC16でなかった場合は、残りは第2のライトDMAC17のみであるから、第2のライトDMAC17について同様の計算を実行する。   If the request issuer is not the first write DMAC 15, it is determined whether or not the first read DMAC 16 having the next highest priority is the issuer. If so, the same necessity as the first write DMAC 15 is necessary. The transfer time is calculated, and if a wait is necessary, a wait process is performed. If the request issuance source is not the first read DMAC 16, the remaining is only the second write DMAC 17, so the same calculation is executed for the second write DMAC 17.

第1のライトDMAC15に対するウェイト処理中に、他のDMACからのリクエストが発行された場合は、「第1のリードDMAC16からの処理か否か」の判定処理に移る。そこからは必要転送時間の計算となり、第1のリードDMAC16でウェイト処理が必要と判断され、それが実行されると、第1のライトDMAC15のウェイト時間が経過していないか否かを確認する処理を実行する。確認の結果、ウェイト期間が終了しているか若しくは他のDMACからのリクエストがなければ、第1のライトDMAC15からのリクエストを処理する。   If a request from another DMAC is issued during the wait process for the first write DMAC 15, the process proceeds to a determination process of “whether or not the process is from the first read DMAC 16”. From there, the required transfer time is calculated, and it is determined that the first read DMAC 16 requires wait processing. When this is executed, it is checked whether the wait time of the first write DMAC 15 has elapsed. Execute the process. As a result of the confirmation, if the wait period has expired or there is no request from another DMAC, the request from the first write DMAC 15 is processed.

この処理が終了すると、他にウェイト中のDMACがないかどうかを判別する処理を行う。この判別はウェイト要求信号(“1”でウェイト要求有り)に基づいて行うことができる。各DMACに対するウェイト要求信号の論理を確認し、ウェイト中のDMACがあれば、そのリクエストの処理に移る。ウェイト中のDMACがなければ、全データ転送完了か否かを判断し、完了していれば終了、そうでなければ次のリクエストの受け付けへと移る。ウェイト要求信号は一旦アサートされると、そのリクエストが処理されるまでネゲートされない。リクエストが処理されると、リクエスト調停部222よりリクエスト処理完了信号がアサートされ、それを受けてウェイト要求信号がネゲートされる。   When this process ends, a process is performed to determine whether there is any other DMAC in the wait state. This determination can be made based on a wait request signal (“1” indicates a wait request). The logic of the wait request signal for each DMAC is confirmed. If there is a DMAC in a wait state, the process proceeds to the request. If there is no waiting DMAC, it is determined whether or not all data transfer is completed. If it is completed, the process ends. If not, the process proceeds to accept the next request. Once asserted, the wait request signal is not negated until the request is processed. When the request is processed, a request processing completion signal is asserted from the request arbitration unit 222, and a wait request signal is negated in response thereto.

以上のように、本発明の第2の実施形態のアービタ113は、下記(1)〜(4)の効果を有する。
(1)全てのDMACに対して、データ転送状況を把握できるとともに、適宜ウェイト要求を発生させることができる。
(2)全てのDMACのデータ転送量を監視しながらアービトレーションすることによって、より精度よく効率的にデータ転送を行うことができる。
(3)ウェイト処理中のDMACを放置することなく、確実に処理することができる。
(4)複数のDMACに対してウェイト状態にあっても、正常に監視し、かつ確実にリクエストを処理することができる。
As described above, the arbiter 113 according to the second embodiment of the present invention has the following effects (1) to (4).
(1) For all DMACs, the data transfer status can be grasped and a wait request can be generated as appropriate.
(2) By performing arbitration while monitoring the data transfer amount of all DMACs, data transfer can be performed more accurately and efficiently.
(3) The DMAC during the wait process can be reliably processed without leaving it.
(4) Even in a wait state for a plurality of DMACs, it is possible to monitor normally and process the request reliably.

本発明の第1の実施形態のMFPにおけるアービタの構成を示すブロック図である。FIG. 2 is a block diagram illustrating a configuration of an arbiter in the MFP according to the first embodiment of this invention. 図1の必要転送時間計算部の内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the required transfer time calculation part of FIG. 本発明の第1の実施形態のアービタの動作を示すフローチャートである。It is a flowchart which shows operation | movement of the arbiter of the 1st Embodiment of this invention. 本発明の第1の実施形態のアービタの動作を示すタイミングチャートである。It is a timing chart which shows operation | movement of the arbiter of the 1st Embodiment of this invention. 本発明の第1の実施形態のアービタの動作を示す別のタイミングチャートである。It is another timing chart which shows operation | movement of the arbiter of the 1st Embodiment of this invention. 本発明の第2の実施形態のMFPにおけるアービタの構成を示すブロック図である。FIG. 6 is a block diagram illustrating a configuration of an arbiter in an MFP according to a second embodiment of this invention. 本発明の第2の実施形態のアービタの動作を示すフローチャートである。It is a flowchart which shows operation | movement of the arbiter of the 2nd Embodiment of this invention. 従来のMFPの構成を示すブロック図である。It is a block diagram which shows the structure of the conventional MFP. 図8におけるアービタの動作を示すタイミングチャートである。It is a timing chart which shows operation | movement of the arbiter in FIG.

符号の説明Explanation of symbols

15・・・第1のライトDMAC、16・・・第1のリードDMAC、17・・・第2のライトDMAC、113,213・・・アービタ、121・・・必要転送時間計算部、122,222・・・リクエスト調停部、123,223・・・必要転送レート保持部、1211,2211,2212,2213・・・必要転送時間T2演算部及び時間比較部、1212・・・タイマー、1213・・・ウェイト要求信号生成部。   15 ... first write DMAC, 16 ... first read DMAC, 17 ... second write DMAC, 113, 213 ... arbiter, 121 ... required transfer time calculation unit, 122, 222 ... Request arbitration unit, 123,223 ... Necessary transfer rate holding unit, 1211, 2211, 2212, 2213 ... Necessary transfer time T2 calculation unit and time comparison unit, 1212 ... Timer, 1213 ... A wait request signal generation unit.

Claims (8)

優先順位の異なる複数のDMACからの転送要求を調停する調停装置において、
所定時間毎に入力される所定量のデータを前記所定時間内に転送可能であり、かつ優先順位が最も高く設定されている第1のDMACにより前記所定時間内に前記所定量のデータの一部毎に順次発行される転送要求を受け付ける手段と、それらの転送要求による処理を実行する手段と、それらの転送要求による転送量の累積値を算出する手段と、前記累積値を前記第1のDMACに対して設定された転送速度で除算することにより、前記累積値のデータの必要転送時間を算出する手段と、前記所定の時間毎の経過時間を計測する手段と、前記経過時間と前記必要転送時間とを比較する手段と、その比較結果に基づいて、前記転送要求による処理を実行させるか待機させるかを決定する手段とを有することを特徴とする調停装置。
In an arbitration device that arbitrates transfer requests from a plurality of DMACs having different priorities,
A predetermined amount of data inputted every predetermined time can be transferred within the predetermined time, and a part of the predetermined amount of data within the predetermined time by the first DMAC set with the highest priority. Means for accepting transfer requests issued sequentially every time, means for executing processing according to the transfer requests, means for calculating a cumulative value of the transfer amount due to the transfer requests, and the cumulative value as the first DMAC By means of dividing by the transfer rate set for the above, means for calculating the required transfer time of the accumulated value data, means for measuring the elapsed time for each predetermined time, the elapsed time and the required transfer An arbitration apparatus comprising: means for comparing time; and means for determining whether to execute the processing according to the transfer request or to wait based on the comparison result.
請求項1記載の調停装置において、
前記決定する手段は、前記経過時間が前記必要転送時間を越えている場合は、前記転送要求による処理を実行させ、前記経過時間が前記必要転送時間以内の場合は、前記転送要求による処理を待機させることを特徴とする調停装置。
The arbitration device according to claim 1,
The means for determining causes the process according to the transfer request to be executed when the elapsed time exceeds the required transfer time, and waits for the process according to the transfer request when the elapsed time is within the required transfer time. Arbitration device characterized by letting it be.
請求項2記載の調停装置において、
前記決定する手段は、前記経過時間が前記必要転送時間以内の場合で、かつ前記第1のDMAC以外のDMACから転送要求がある場合は、その転送要求による処理を実行させることを特徴とする調停装置。
The arbitration device according to claim 2, wherein
The determining means is configured to execute processing according to a transfer request when the elapsed time is within the required transfer time and there is a transfer request from a DMAC other than the first DMAC. apparatus.
請求項1記載の調停装置おいて、
前記第1のDMAC以外のDMACに対しても、前記各手段が設けられていることを特徴とする調停装置。
In the arbitration device according to claim 1,
The arbitration apparatus is characterized in that the respective units are provided for DMACs other than the first DMAC.
請求項1記載の調停装置において、
前記決定する手段は、転送要求による処理を待機させるためのウェイト要求信号を発生した後、転送要求による処理を完了した前記実行する手段から処理完了信号を受けたとき、前記ウェイト要求信号をネゲートすることを特徴とする調停装置。
The arbitration device according to claim 1,
The determining means negates the wait request signal when it receives a processing completion signal from the executing means that has completed the processing according to the transfer request after generating the wait request signal for waiting for the processing according to the transfer request. An arbitration device characterized by that.
請求項4記載の調停装置において、
複数のDMACの転送要求を待機させている場合、一つの待機処理が終了した際に、他にも待機させているDMACの有無を判断し、ある場合にはその処理を監視しながら、他のDMACからの転送要求を処理することを特徴とする調停装置。
The arbitration device according to claim 4, wherein
When waiting for transfer requests of a plurality of DMACs, when one standby process is completed, it is determined whether or not there are other DMACs that are waiting. An arbitration device that processes a transfer request from a DMAC.
優先順位の異なる複数のDMACからの転送要求を調停する調停方法において、
所定時間毎に入力される所定量のデータを前記所定時間内に転送可能であり、かつ優先順位が最も高く設定されている第1のDMACにより前記所定時間内に前記所定量のデータの一部毎に順次発行される転送要求を受け付ける工程と、それらの転送要求による処理を実行する工程と、それらの転送要求による転送量の累積値を算出する工程と、前記累積値を前記第1のDMACに対して設定された転送速度で除算することにより、前記累積値のデータの必要転送時間を算出する工程と、前記所定の時間毎の経過時間を計測する工程と、前記経過時間と前記必要転送時間とを比較する工程手段と、その比較結果に基づいて、前記転送要求による処理を実行させるか待機させるかを決定する工程とを有することを特徴とする調停方法。
In an arbitration method for arbitrating transfer requests from a plurality of DMACs having different priorities,
A predetermined amount of data inputted every predetermined time can be transferred within the predetermined time, and a part of the predetermined amount of data within the predetermined time by the first DMAC set with the highest priority. A step of receiving a transfer request issued sequentially every time, a step of executing a process according to the transfer request, a step of calculating a cumulative value of a transfer amount by the transfer request, and the cumulative value as the first DMAC By dividing by a transfer rate set to the above, a step of calculating a required transfer time of the accumulated value data, a step of measuring an elapsed time for each predetermined time, the elapsed time and the required transfer An arbitration method comprising: a step means for comparing time; and a step for determining whether to execute the processing according to the transfer request or to wait based on the comparison result.
コンピュータに請求項7記載の調停方法の各工程を実行させるためのプログラム。   A program for causing a computer to execute each step of the arbitration method according to claim 7.
JP2007266815A 2007-10-12 2007-10-12 Arbitration device, arbitration method, and program Expired - Fee Related JP4934000B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007266815A JP4934000B2 (en) 2007-10-12 2007-10-12 Arbitration device, arbitration method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007266815A JP4934000B2 (en) 2007-10-12 2007-10-12 Arbitration device, arbitration method, and program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012032377A Division JP5424138B2 (en) 2012-02-17 2012-02-17 Arbitration device, image forming apparatus, arbitration method, and program

Publications (2)

Publication Number Publication Date
JP2009098729A JP2009098729A (en) 2009-05-07
JP4934000B2 true JP4934000B2 (en) 2012-05-16

Family

ID=40701706

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007266815A Expired - Fee Related JP4934000B2 (en) 2007-10-12 2007-10-12 Arbitration device, arbitration method, and program

Country Status (1)

Country Link
JP (1) JP4934000B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5862174B2 (en) * 2011-10-03 2016-02-16 株式会社リコー Image information transfer apparatus, image processing apparatus, and image information transfer control method
JP5924104B2 (en) * 2012-05-01 2016-05-25 コニカミノルタ株式会社 Image processing apparatus and image forming apparatus
JP2015095177A (en) * 2013-11-13 2015-05-18 株式会社リコー Data transfer device, image processor, data transfer method and data transfer program

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63172359A (en) * 1987-01-12 1988-07-16 Fujitsu Ltd Control system for transfer rate in direct memory access state
JP2848082B2 (en) * 1992-01-29 1999-01-20 日本電気株式会社 DMA bus arbitration
JPH0713923A (en) * 1993-06-24 1995-01-17 Ricoh Co Ltd Bus control method
JP2002207691A (en) * 2001-01-11 2002-07-26 Matsushita Electric Ind Co Ltd Data transfer controller
JP4284458B2 (en) * 2001-05-23 2009-06-24 富士フイルム株式会社 Digital camera
JP2003018376A (en) * 2001-07-05 2003-01-17 Ricoh Co Ltd Image forming device
JP2005004563A (en) * 2003-06-13 2005-01-06 Canon Inc Dma transfer controller
JP4175974B2 (en) * 2003-07-24 2008-11-05 シャープ株式会社 Image data transfer control device

Also Published As

Publication number Publication date
JP2009098729A (en) 2009-05-07

Similar Documents

Publication Publication Date Title
JP6169615B2 (en) Method, integrated circuit and system for dynamically managing FIFO command queue of system controller
US9330025B2 (en) Information processing apparatus, memory control apparatus, and control method thereof
WO1996013774A1 (en) Multiprocessor system bus protocol for optimized accessing of interleaved storage modules
JP4198376B2 (en) Bus system and information processing system including bus system
JP4934000B2 (en) Arbitration device, arbitration method, and program
US20150160720A1 (en) Multiple-queue multiple-resource entry sleep and wakeup for power savings and bandwidth conservation in a retry based pipeline
JP4846482B2 (en) Bus arbitration device
US20070260791A1 (en) Data processing device
WO2006024193A1 (en) Method and system for data transfer
JP2005353041A (en) Bus transaction management within data processing system
US7913013B2 (en) Semiconductor integrated circuit
JP5424138B2 (en) Arbitration device, image forming apparatus, arbitration method, and program
WO2021075076A1 (en) Information processing device and information processing method
JP5293516B2 (en) Data transfer device, data transfer control method, data transfer control program, and recording medium
JP4327081B2 (en) Memory access control circuit
US11842071B2 (en) Data transfer device and data transfer method
US20100153610A1 (en) Bus arbiter and bus system
EP2667308A1 (en) Data writing control device, data writing control method, and information processing device
US20100131677A1 (en) Data transfer device and data transfer method
JP4249741B2 (en) Bus system and information processing system including bus system
JP2800764B2 (en) Data transfer control method
JP2006215621A (en) Dma controller
JPH0844661A (en) Information processor
JP4437386B2 (en) Signal processing system
JP2012137844A (en) Semiconductor device and control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100601

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111125

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120120

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120217

R150 Certificate of patent or registration of utility model

Ref document number: 4934000

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150224

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees