JP2006350573A - Data transfer controller, data transfer control method, data transfer device, image forming device, data transfer control program and computer-readable recording medium recording control program - Google Patents
Data transfer controller, data transfer control method, data transfer device, image forming device, data transfer control program and computer-readable recording medium recording control program Download PDFInfo
- Publication number
- JP2006350573A JP2006350573A JP2005174381A JP2005174381A JP2006350573A JP 2006350573 A JP2006350573 A JP 2006350573A JP 2005174381 A JP2005174381 A JP 2005174381A JP 2005174381 A JP2005174381 A JP 2005174381A JP 2006350573 A JP2006350573 A JP 2006350573A
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- priority
- data transfer
- transfer control
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Bus Control (AREA)
Abstract
Description
本発明は、バスを介したデータ転送を制御するデータ転送制御装置,該データ転送制御装置を含むデータ転送装置,該データ転送装置を含む画像形成装置,データ転送制御方法,データ転送制御プログラム、および該制御プログラムを記録したコンピュータ読み取り可能な記録媒体に関する。 The present invention relates to a data transfer control device for controlling data transfer via a bus, a data transfer device including the data transfer control device, an image forming apparatus including the data transfer device, a data transfer control method, a data transfer control program, and The present invention relates to a computer-readable recording medium on which the control program is recorded.
従来から、コンピュータシステムにおいては、複数のデバイスの各々が一つのバス回路を介して互いに通信を行う構成が実現されている。このようなシステムでは、上記バス回路にはバスマスタとバスターゲットとが接続されている。 Conventionally, in a computer system, a configuration has been realized in which each of a plurality of devices communicate with each other via a single bus circuit. In such a system, a bus master and a bus target are connected to the bus circuit.
なお、上記バスマスタとは、データ転送要求を出力することによってバス回路におけるデータ転送路の使用権(該転送路へのアクセス権)を獲得し、該バス回路を介したデータ転送を制御する機能を有するデバイスであり、CPU(Central Processing Unit)インターフェース,DMA(Direct Memory Access)コントローラ等が該当する。 The bus master has a function of acquiring a right to use a data transfer path in the bus circuit (access right to the transfer path) by outputting a data transfer request and controlling data transfer via the bus circuit. The device includes a CPU (Central Processing Unit) interface, a DMA (Direct Memory Access) controller, and the like.
また、上記バスターゲットとは、上記バスマスタによって制御されるデータ転送において、転送元となるデバイスからのデータの読み出し、または、転送先となるデバイスへのデータの書き込みを行うデバイスであり、例えば、RAM(Random Access Memory)コントローラ,ROM(Read Only Memory)コントローラ,I/O(Input/Output)コントローラ等が該当する。 The bus target is a device that reads data from a transfer source device or writes data to a transfer destination device in data transfer controlled by the bus master. A (Random Access Memory) controller, a ROM (Read Only Memory) controller, an I / O (Input / Output) controller, and the like are applicable.
このようなコンピュータシステムにおいて、バスマスタは、上記バス回路を介してバスターゲットにアクセスすることによって、当該バスマスタと当該バスターゲットとの間におけるデータ転送(データ通信)を制御する。 In such a computer system, the bus master controls data transfer (data communication) between the bus master and the bus target by accessing the bus target via the bus circuit.
また、上述したコンピュータシステムにおいては、複数のバスマスタが同時に同一のデータ転送路を使用する事態を回避するために、バスアービタによる調停が行われる。この調停について以下説明する。バスマスタは、バスターゲットへのアクセスを行おうとする場合、まず、データ転送要求(バス使用要求)を出力する。これに対し、上記バスアービタは、当該データ転送要求を出力したバスマスタに対して転送許可(バス使用許可)を与える。そして、バスマスタは、この転送許可を得ることによって、バス回路に含まれるデータ転送路を使用することができ、バス回路を介してバスターゲットにアクセスすることができ、当該バスマスタと当該バスターゲットとの間でのデータ転送を制御することができる。 In the computer system described above, arbitration by the bus arbiter is performed in order to avoid a situation in which a plurality of bus masters simultaneously use the same data transfer path. This arbitration will be described below. When attempting to access a bus target, the bus master first outputs a data transfer request (bus use request). On the other hand, the bus arbiter gives transfer permission (bus use permission) to the bus master that has output the data transfer request. The bus master can use the data transfer path included in the bus circuit by obtaining this transfer permission, can access the bus target via the bus circuit, and can connect the bus master and the bus target. The data transfer between them can be controlled.
ここで、各々のバスマスタには、データ転送路の使用権の優先度が割りふられており、2以上のバスマスタが同時にデータ転送要求を出力した場合、バスアービタは、最も高い優先度(以下、「最高優先度」と称する)が設定されているバスマスタに対してのみ転送許可を与えている。このようにして、バスアービタは、各バスマスタからのデータ転送要求を調停し、複数のバスマスタが同時にバス回路に含まれるデータ転送路を使用する事態を回避している。 Here, the priority of the right to use the data transfer path is assigned to each bus master. When two or more bus masters simultaneously output data transfer requests, the bus arbiter has the highest priority (hereinafter, “ Transfer permission is given only to a bus master for which "the highest priority" is set. In this way, the bus arbiter arbitrates the data transfer request from each bus master, and avoids a situation in which a plurality of bus masters simultaneously use the data transfer path included in the bus circuit.
ところで、以上示したようなコンピュータシステムが例えばプリンタや映像表示装置等に適用される場合、所定のバスマスタについては、該バスマスタの帯域をある程度以上保証する(「帯域保証」と称する)ことが好ましい。なお、バスマスタの帯域とは、該バスマスタが単位時間当たりに確保できる転送データ量を示したものである。 By the way, when the computer system as described above is applied to, for example, a printer, a video display device, or the like, it is preferable to guarantee the bandwidth of the bus master to some extent (referred to as “bandwidth guarantee”). The bus master bandwidth indicates the amount of transfer data that the bus master can secure per unit time.
ここで、所定のバスマスタに対して帯域保証すべき理由を、プリンタの場合を例にして以下説明する。プリンタの場合、プリント処理を実行中のプリンタエンジンには単位時間当たりに所定量以上の画像データを連続して送信しなければ、プリンタエンジンへの画像データの供給が上記プリント処理に間に合わず、プリントされる画像が異常なものになる可能性がある。それゆえ、プリンタエンジンに対しての画像データの転送を制御するバスマスタに対しては帯域保証を行うことが好ましいのである。
ここで、各バスマスタのデータ転送要求を調停する技術は、以上示した特許文献1〜4に開示されている。
Here, techniques for arbitrating the data transfer request of each bus master are disclosed in
特許文献1または特許文献3によれば、各バスマスタに割りふられる優先度を固定とせずに定期的に切り換え、かつ、バスマスタ毎の最高優先度の割りふられる頻度を設定する手法が開示されている。
According to
しかし、この手法を用いて所定のバスマスタの帯域保証を行うこととすると、各バスマスタおよびバスの性能,各バスマスタの帯域の限界値,各バスマスタの転送要求の頻度等を予測するだけでなく、さらに所定のバスマスタの帯域を予測した上で、バスマスタ毎の最高優先度の割りふられる頻度および優先度切り換えのアルゴリズムを設定しなければならず、このような設定はシステム設計の難解化を招来するという問題が生じる。 However, if this method is used to guarantee the bandwidth of a given bus master, not only the performance of each bus master and bus, the limit value of the bandwidth of each bus master, the frequency of transfer requests of each bus master, etc. After predicting the bandwidth of a given bus master, it is necessary to set the frequency of assigning the highest priority for each bus master and the algorithm for switching the priority, and such setting will lead to system design obfuscation. Problems arise.
さらに、特許文献2によれば、バスマスタのデータ転送要求の出力時間(1回要求する当たりの要求時間)をバスマスタ毎で異なるように制限する手法が開示されている。また、特許文献4によれば、各々のバスマスタについて、1回当たりのバス回路の使用時間をバスマスタ毎で異なるように設定できる手法が開示されている。
Further,
しかし、これら手法を用いて所定のバスマスタの帯域保証を行う場合においても、各バスマスタおよびバスの性能,各バスマスタの帯域の限界値,各バスマスタの転送要求の頻度等を予測するだけでなく、所定のバスマスタの帯域を予測した上で、各バスマスタにおけるデータ転送要求の要求時間やバス回路の使用時間を設定しなければならず、このような設定はシステム設計の難解化を招来するという問題が生じる。 However, even when these methods are used to guarantee the bandwidth of a predetermined bus master, not only the performance of each bus master and the bus, the limit value of the bandwidth of each bus master, the frequency of transfer requests of each bus master, etc. It is necessary to set the request time of data transfer request and the use time of the bus circuit in each bus master after predicting the bandwidth of the bus master, and such setting causes a problem that the system design becomes difficult. .
本発明は、システム設計の難解化を抑制しつつ、所定の転送制御部(バスマスタ)に対する帯域保証を可能とするデータ転送制御装置,データ転送制御方法,データ転送装置,画像形成装置,データ転送制御プログラム,および該制御プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。 The present invention relates to a data transfer control device, a data transfer control method, a data transfer device, an image forming apparatus, and a data transfer control capable of guaranteeing a bandwidth for a predetermined transfer control unit (bus master) while suppressing the difficulty of system design. It is an object of the present invention to provide a program and a computer-readable recording medium on which the control program is recorded.
本発明のデータ転送制御装置は、上記目的を達成するために、転送回路を介したデータ転送を制御する複数の転送制御部が上記転送回路を共有しており、各転送制御部からデータ転送要求を受信すると、上記各転送制御部に設定される各優先度に基づいて、いずれか一つの転送制御部によるデータ転送を実行させるデータ転送制御装置において、上記複数の転送制御部のうちの所定の転送制御部によるデータ転送について、単位時間当たりの転送データ量を計測する計測手段と、上記計測された単位時間当たりの転送データ量に応じて上記所定の転送制御部に設定される優先度を変更する優先度制御手段と、を含むことを特徴とする。 In the data transfer control device of the present invention, in order to achieve the above object, a plurality of transfer control units that control data transfer through the transfer circuit share the transfer circuit, and each transfer control unit requests a data transfer request. In the data transfer control device that executes data transfer by any one transfer control unit based on each priority set in each transfer control unit, a predetermined one of the plurality of transfer control units For data transfer by the transfer control unit, the measuring means for measuring the transfer data amount per unit time and the priority set in the predetermined transfer control unit according to the measured transfer data amount per unit time are changed. Priority control means.
上記構成によれば、複数の転送制御部のうちの所定の転送制御部によるデータ転送について、単位時間当たりの転送データ量をリアルタイムに計測でき(以下、計測された単位時間当たりの転送データ量を「実効帯域」と称す)、この実効帯域に応じて上記所定の転送制御部に設定される優先度を変更できる。 According to the above configuration, the amount of transfer data per unit time can be measured in real time for data transfer by a predetermined transfer control unit among a plurality of transfer control units (hereinafter, the amount of transfer data measured per unit time is measured). The priority set in the predetermined transfer control unit can be changed according to the effective bandwidth.
それゆえ、上記実効帯域がある程度以上維持されるように、所定の転送制御部に設定される優先度を適宜変更することによって所定の転送制御部によるデータ転送の実行頻度を調整すれば、所定の転送制御部に対して帯域保証を行うことが可能となる。 Therefore, if the execution frequency of the data transfer by the predetermined transfer control unit is adjusted by appropriately changing the priority set in the predetermined transfer control unit so that the effective bandwidth is maintained to some extent, the predetermined bandwidth Bandwidth guarantee can be performed for the transfer control unit.
また、以上の構成によれば、上記計測手段および上記優先度変更手段を備えるだけで所定の転送制御部に対して帯域保証を行えるため、所定の転送制御部の帯域を予測した上でのシステム設計を行う必要がなくなる。それゆえ、システム設計の難解化を抑制しつつ、所定の転送制御部に対する帯域保証が可能になるという効果を奏する。 Further, according to the above configuration, since the bandwidth can be guaranteed for the predetermined transfer control unit only by providing the measuring unit and the priority changing unit, the system after predicting the band of the predetermined transfer control unit No need to design. Therefore, there is an effect that it is possible to guarantee the bandwidth for a predetermined transfer control unit while suppressing the obfuscation of the system design.
それゆえ、本発明のデータ転送制御装置は、上記構成に加えて、上記優先度制御手段は、上記実効帯域が目標値以下の場合、目標値を超える場合よりも、上記所定の転送制御部に設定する優先度を向上させることが好ましい。 Therefore, in addition to the above configuration, the data transfer control device according to the present invention is configured so that the priority control means is connected to the predetermined transfer control unit when the effective bandwidth is equal to or less than the target value, rather than exceeding the target value. It is preferable to improve the priority to be set.
上記構成によれば、所定の転送制御部における実効帯域が目標値以下になると、所定の転送制御部によるデータ転送の実行頻度を増加させることができる。それゆえ、所定の転送制御部の実効帯域を目標値から過度に低下することを抑制でき、これにより、該実効帯域をある程度以上維持することが容易となる。また、この構成によれば、所定の転送制御部の実効帯域が上記目標値を超えると、上記目標値以下の場合よりも所定の転送制御部に設定される優先度が低下することとなり、所定の転送制御部によるデータ転送の実行頻度を減少させることができる。それゆえ、所定の転送制御部の実効帯域が目標値を越えて過度になりつつある場合、他の転送制御部にデータ転送を制御させる余地を与えることが可能となる。したがって、所定の転送制御部における実効帯域が過剰になっているにも拘わらず、所定の転送制御部によるデータ転送が最優先されてしまい、他の転送制御部の帯域が無意味に圧迫されるという事態を抑制することができる。 According to the above configuration, when the effective bandwidth in the predetermined transfer control unit becomes equal to or less than the target value, it is possible to increase the execution frequency of data transfer by the predetermined transfer control unit. Therefore, it is possible to suppress the effective band of the predetermined transfer control unit from being excessively reduced from the target value, and it becomes easy to maintain the effective band to a certain extent. Further, according to this configuration, when the effective bandwidth of the predetermined transfer control unit exceeds the target value, the priority set in the predetermined transfer control unit is lower than in the case of the target value or less. The frequency of execution of data transfer by the transfer control unit can be reduced. Therefore, when the effective bandwidth of a predetermined transfer control unit is excessive beyond the target value, it is possible to give room for other transfer control units to control data transfer. Therefore, although the effective bandwidth in the predetermined transfer control unit is excessive, the data transfer by the predetermined transfer control unit has the highest priority, and the bandwidth of the other transfer control unit is squeezed meaninglessly. Can be suppressed.
また、本発明のデータ転送制御装置は、上記構成に加えて、上記優先度制御手段は、上記実効帯域が目標値以下の場合、上記所定の転送制御部に、最も高い優先度を設定することが好ましい。 Further, in the data transfer control device of the present invention, in addition to the above configuration, the priority control means sets the highest priority to the predetermined transfer control unit when the effective bandwidth is equal to or less than a target value. Is preferred.
上記構成によれば、所定の転送制御部における実効帯域が目標値以下になると、所定の転送制御部によるデータ転送を最優先で行わせることができ、所定の転送制御部の実効帯域の維持がさらに容易となる。 According to the above configuration, when the effective bandwidth in the predetermined transfer control unit falls below the target value, data transfer by the predetermined transfer control unit can be performed with the highest priority, and the effective bandwidth of the predetermined transfer control unit can be maintained. It becomes easier.
また、本発明のデータ転送制御装置は、上記構成に加えて、所定規則に従った優先度が転送制御部毎に与えられており、上記優先度制御手段は、上記実効帯域が目標値以下の場合、上記所定の転送制御部に、上記所定規則に従った各優先度よりも高い優先度を上記最も高い優先度として設定し、他の転送制御部に、当該他の転送制御部に与えられている上記所定規則に従った優先度を設定し、上記実効帯域が目標値を越える場合、上記所定の転送制御部に、上記所定規則に従って当該所定の転送制御部に与えられている優先度を設定し、他の転送制御部に、上記所定規則に従って当該他の転送制御部に与えられている優先度を設定する構成であってもよい。 In addition to the above configuration, the data transfer control device of the present invention is given a priority according to a predetermined rule for each transfer control unit, and the priority control means has the effective bandwidth of a target value or less. In this case, a priority higher than each priority according to the predetermined rule is set as the highest priority in the predetermined transfer control unit, and the other transfer control unit is given to the other transfer control unit. And when the effective bandwidth exceeds a target value, the priority given to the predetermined transfer control unit according to the predetermined rule is set to the predetermined transfer control unit. The configuration may be such that the priority given to the other transfer control unit is set to the other transfer control unit according to the predetermined rule.
上記構成によれば、所定の転送制御部以外の転送制御部には、常に、所定の規則に従って該転送制御部に与えられている優先度が設定される。また、所定の転送制御部においても、上記実効帯域が目標値を超える場合は、所定の規則に従って該所定の転送制御部に与えられている優先度が設定される。これに対し、上記実効帯域が目標値以下の場合、上記所定の転送制御部には、上記所定規則に従った各優先度よりも高い優先度が設定される。これにより、上記実効帯域が目標値以下の場合、上記実効帯域が目標値を越える場合よりも、所定の転送制御部に設定される優先度を向上させることができ、かつ、所定の転送制御部に最も高い優先度を設定することができる。 According to the above configuration, the priority given to the transfer control unit is always set to the transfer control unit other than the predetermined transfer control unit according to the predetermined rule. Also, in the predetermined transfer control unit, when the effective bandwidth exceeds the target value, the priority given to the predetermined transfer control unit is set according to a predetermined rule. On the other hand, when the effective bandwidth is equal to or less than the target value, a priority higher than each priority according to the predetermined rule is set in the predetermined transfer control unit. Thereby, when the effective band is equal to or less than the target value, the priority set in the predetermined transfer control unit can be improved as compared with the case where the effective band exceeds the target value, and the predetermined transfer control unit Can be given the highest priority.
また、本発明のデータ転送制御装置において、上記実効帯域が目標値以下の所定の転送制御部が複数ある場合、どの所定の転送制御部に、上記最も高い優先度を設定すべきなのかという問題が生じる。これは、上記複数の転送制御部の各々に、上記最も高い優先度を設定してしまうと、どの所定の転送制御部によるデータ転送を実行すべきなのかをデータ転送制御装置が判断できなくなるからである。 Further, in the data transfer control device of the present invention, when there are a plurality of predetermined transfer control units whose effective bandwidth is equal to or less than the target value, to which predetermined transfer control unit the highest priority should be set Occurs. This is because if the highest priority is set for each of the plurality of transfer control units, the data transfer control device cannot determine which predetermined transfer control unit should perform data transfer. It is.
そこで、本発明のデータ転送制御装置は、上記実効帯域が目標値以下の所定の転送制御部が複数ある場合、上記所定規則に従って各所定の転送制御部に与えられている各々の優先度に基づいて、いずれか一つの所定の転送制御部のみに、上記所定規則に従った各優先度よりも高い優先度を設定する構成であってもよい。これにより、データ転送制御装置は、どの所定の転送制御部によるデータ転送を実行すべきなのかを判断することができる。 Therefore, when there are a plurality of predetermined transfer control units whose effective bandwidth is equal to or less than the target value, the data transfer control device of the present invention is based on each priority given to each predetermined transfer control unit according to the predetermined rule. Thus, a higher priority than each priority according to the predetermined rule may be set only in any one predetermined transfer control unit. Thus, the data transfer control device can determine which predetermined transfer control unit should perform data transfer.
また、本発明のデータ転送制御装置は、上記実効帯域が目標値以下の所定の転送制御部が複数ある場合、上記目標値に対する上記転送データ量の不足度を示した不足度パラメータが最も高い上記所定の転送制御部のみに、上記所定規則に従った各優先度よりも高い優先度を与える構成であってもよい。これにより、目標値に対する実効帯域の不足度合が最も高く、データ転送を行う必要性の最も高い転送制御部によるデータ転送を最優先することができる。 In the data transfer control device of the present invention, when there are a plurality of predetermined transfer control units whose effective bandwidth is equal to or less than the target value, the deficiency parameter indicating the deficiency of the transfer data amount with respect to the target value is the highest. A configuration may be adopted in which only a predetermined transfer control unit is given a priority higher than each priority according to the predetermined rule. As a result, it is possible to give the highest priority to data transfer by the transfer control unit having the highest degree of effective bandwidth shortage with respect to the target value and the highest necessity for data transfer.
また、上記不足度パラメータとは、上記目標値と上記転送データ量との差分の絶対値であってもよい。これにより、上記実効帯域が上記目標値から最も離れている所定の転送制御部によるデータ転送を最優先することができる。 The deficiency parameter may be an absolute value of a difference between the target value and the transfer data amount. Thereby, the highest priority can be given to data transfer by a predetermined transfer control unit whose effective bandwidth is farthest from the target value.
さらに、上記不足度パラメータとは、上記目標値と上記転送データ量との差分の絶対値を上記目標値で除算した値であってもよい。これにより、上記目標値に対する上記実効帯域の不足量の占める割合の最も大きい所定の転送制御部のデータ転送を最優先することができる。このような構成は、所定の転送制御部の各々が、互いに上記目標値を大幅に異ならせている場合に好適である。 Further, the deficiency parameter may be a value obtained by dividing an absolute value of a difference between the target value and the transfer data amount by the target value. Thereby, the highest priority can be given to the data transfer of a predetermined transfer control unit in which the ratio of the insufficient amount of the effective bandwidth to the target value is the largest. Such a configuration is suitable when each of the predetermined transfer control units greatly differs from the target value.
また、本発明のデータ転送制御装置において、上記所定の転送制御部とは、帯域保証要求を出力している転送制御部であることが好ましい。 In the data transfer control device of the present invention, the predetermined transfer control unit is preferably a transfer control unit that outputs a bandwidth guarantee request.
上記構成によれば、帯域保証要求を出力している転送制御部のみを対象として上記した優先度の変更処理を行うこととなる。したがって、帯域保証の必要な転送制御部のみを対象にし、かつ、帯域保証の必要な場合にのみ上記した優先度の変更処理を行うようにできる。 According to the above configuration, the priority change process described above is performed only for the transfer control unit that outputs the bandwidth guarantee request. Therefore, only the transfer control unit requiring bandwidth guarantee can be targeted, and the priority changing process described above can be performed only when bandwidth guarantee is necessary.
さらに、本発明のデータ転送制御装置は、上記構成に加えて、上記計測手段が、上記所定の転送制御部が上記帯域保証要求を出力している期間中のみ、当該所定の転送制御部に制御されるデータ転送についての上記実効帯域を計測することが好ましい。 Furthermore, in addition to the above-described configuration, the data transfer control device of the present invention controls the measurement unit to control the predetermined transfer control unit only during a period in which the predetermined transfer control unit outputs the bandwidth guarantee request. It is preferable to measure the effective bandwidth for the data transfer to be performed.
上記構成によれば、上記計測手段は、帯域保証要求が出力されている期間中のみに限定して実効帯域の計測を行うこととなる。これにより、上記計測手段は、常に計測を行うことなく、必要期間内のみに限定して計測を行うこととなり、計測が継続されることによる誤差の拡大を抑制することができ、より正確な測定を行うことができる。 According to the above configuration, the measuring unit measures the effective band only during the period in which the band guarantee request is output. As a result, the measurement means performs measurement only within a necessary period without always performing measurement, and can suppress an increase in error due to continued measurement, thereby enabling more accurate measurement. It can be performed.
また、本発明のデータ転送制御装置は、上記構成に加えて、上記計測手段が、所定期間毎に、計測した上記実効帯域をリセットする構成であることが好ましい。 In addition to the above-described configuration, the data transfer control device of the present invention preferably has a configuration in which the measurement unit resets the measured effective band every predetermined period.
上記構成によれば、所定期間毎に計測した上記実効帯域幅をリセットしているため、計測中の実効帯域に誤差が生じたとしても、所定期間毎に当該誤差をキャンセルすることが可能になる。 According to the above configuration, since the effective bandwidth measured every predetermined period is reset, even if an error occurs in the effective band being measured, the error can be canceled every predetermined period. .
また、本発明は、上記データ転送制御装置と上記転送回路と上記転送回路を共用する上記複数の転送制御部とを含むデータ転送装置と表現することも可能であり、このデータ転送装置においても、上記データ転送制御装置と略同一の効果を奏することができる。 The present invention can also be expressed as a data transfer device including the data transfer control device, the transfer circuit, and the plurality of transfer control units sharing the transfer circuit. It is possible to achieve substantially the same effect as the data transfer control device.
さらに、本発明のデータ転送装置は、画像を印刷する処理を行う印刷部と上記印刷部に対する画像データの転送を制御する画像データ転送制御部とを含む画像形成装置に適用することも可能である。この場合、上記画像データ転送制御部を上記所定の転送制御部として構成すれば、上記画像データ転送制御部による画像データ転送の帯域保証を行うことができ、印刷部に対して連続的に一定量以上の画像データの供給を行うことができる。それゆえ、印刷部に対する画像データの供給不足による印刷不良を抑制することができる。 Furthermore, the data transfer apparatus of the present invention can be applied to an image forming apparatus including a printing unit that performs processing for printing an image and an image data transfer control unit that controls transfer of image data to the printing unit. . In this case, if the image data transfer control unit is configured as the predetermined transfer control unit, the image data transfer bandwidth can be guaranteed by the image data transfer control unit. The above image data can be supplied. Therefore, it is possible to suppress printing defects due to insufficient supply of image data to the printing unit.
また、本発明は、転送回路を介したデータ転送を制御する複数の転送制御部が上記転送回路を共有しており、各転送制御部からデータ転送要求を受信すると、上記各転送制御部に設定される各優先度に基づいて、いずれか一つの転送制御部によるデータ転送を実行させるデータ転送制御方法において、上記複数の転送制御部のうちの所定の転送制御部によるデータ転送について、単位時間当たりの転送データ量を計測する工程と、上記計測された単位時間当たりの転送データ量に応じて上記所定の転送制御部に設定される優先度を変更する工程と、を含むデータ転送制御方法、とも表現することができる。このデータ転送制御方法においても、上述したデータ転送制御装置と略同一の効果を奏することが可能である。 Further, according to the present invention, a plurality of transfer control units that control data transfer through the transfer circuit share the transfer circuit. When a data transfer request is received from each transfer control unit, the transfer control unit sets the transfer control unit. In the data transfer control method for executing data transfer by any one transfer control unit based on each priority, data transfer by a predetermined transfer control unit among the plurality of transfer control units per unit time A data transfer control method comprising: a step of measuring a transfer data amount of: and a step of changing a priority set in the predetermined transfer control unit in accordance with the measured transfer data amount per unit time Can be expressed. This data transfer control method can achieve substantially the same effect as the above-described data transfer control device.
なお、本発明は、コンピュータによって実現してもよく、この場合には、コンピュータを上記各手段として動作させるデータ転送制御プログラムが本発明の範疇に入り、また、このデータ転送制御プログラムを記録したコンピュータ読み取り可能な記録媒体も本発明の範疇に入る。 The present invention may be realized by a computer. In this case, a data transfer control program that causes the computer to operate as each of the above means falls within the scope of the present invention, and the computer that records this data transfer control program A readable recording medium falls within the scope of the present invention.
以上のように、本発明のデータ転送制御装置は、上記複数の転送制御部のうちの所定の転送制御部によるデータ転送について、単位時間当たりの転送データ量を計測する計測手段と、上記計測された単位時間当たりの転送データ量に応じて上記所定の転送制御部に設定される優先度を変更する優先度制御手段と、を含む構成である。 As described above, the data transfer control device according to the present invention includes the measuring unit that measures the transfer data amount per unit time for the data transfer by the predetermined transfer control unit among the plurality of transfer control units, and the above-described measurement. Priority control means for changing the priority set in the predetermined transfer control unit in accordance with the transfer data amount per unit time.
それゆえ、上記所定の転送制御部によるデータ転送の実効帯域がある程度以上維持されるように、所定の転送制御部に設定される優先度を適宜変更することによって所定の転送制御部によるデータ転送の実行頻度を調整すれば、所定の転送制御部に対して帯域保証を行うことが可能となる。 Therefore, by appropriately changing the priority set in the predetermined transfer control unit so that the effective band of the data transfer by the predetermined transfer control unit is maintained to some extent, the data transfer by the predetermined transfer control unit is changed. By adjusting the execution frequency, it is possible to guarantee the bandwidth to a predetermined transfer control unit.
また、以上の構成によれば、上記計測手段および上記優先度変更手段を備えるだけで所定の転送制御部に対して帯域保証を行えるため、所定の転送制御部の帯域を予測した上でのシステム設計を行う必要がなくなる。それゆえ、システム設計の難解化を抑制しつつ、所定の転送制御部に対する帯域保証が可能になるという効果を奏する。 Further, according to the above configuration, since the bandwidth can be guaranteed for the predetermined transfer control unit only by providing the measuring unit and the priority changing unit, the system after predicting the band of the predetermined transfer control unit No need to design. Therefore, there is an effect that it is possible to guarantee the bandwidth for a predetermined transfer control unit while suppressing the obfuscation of the system design.
なお、本発明のデータ転送制御方法,データ転送装置,画像形成装置,データ転送制御プログラム、および該制御プログラムを記録したコンピュータ読み取り可能な記録媒体も、上記した本発明のデータ転送制御装置と略同一の効果を奏する。 The data transfer control method, data transfer apparatus, image forming apparatus, data transfer control program, and computer-readable recording medium on which the control program is recorded are also substantially the same as the above-described data transfer control apparatus of the present invention. The effect of.
以下、本発明のデータ転送制御装置の一実施形態を図に基づいて説明する。なお、本実施形態では、プリンタ内部のプリンタコントローラに備えられている調停回路を上記データ転送制御装置として説明する。 Hereinafter, an embodiment of a data transfer control device of the present invention will be described with reference to the drawings. In the present embodiment, an arbitration circuit provided in a printer controller in the printer will be described as the data transfer control device.
まず、上記したプリンタ内部の構成の概略について説明する。図2は、プリンタ内部の構成を示したブロック図である。図2に示すように、プリンタ10は、プリンタコントローラ11,プリンタエンジン12を備える構成である。
First, an outline of the internal configuration of the printer will be described. FIG. 2 is a block diagram showing the internal configuration of the printer. As shown in FIG. 2, the
プリンタ(画像形成装置)10は、外部から入力したデータに基づいて用紙上に画像を形成する装置であり、例えば、電子写真方式の複写機,インクジェットプリンタ,MFP(Multi Function Printer),写真焼付装置等が該当する。 A printer (image forming apparatus) 10 is an apparatus that forms an image on paper based on data input from the outside. For example, an electrophotographic copying machine, an ink jet printer, an MFP (Multi Function Printer), a photo printing apparatus Etc.
プリンタコントローラ11は、プリンタ10の動作を統括的に制御する制御装置(情報処理装置)であり、図示するように、CPU,RAM,ROM,I/Oデバイス,システムコントローラ等から構成されるコンピュータである。また、プリンタコントローラ11は、プリンタ言語で示されたデータを外部から受信し、受信したデータをビットマップ形式の画像データに変換してプリンタエンジン12へ送る処理を実行する。
The
プリンタエンジン(印刷部)12は、プリンタコントローラ11から画像データを受信し、受信した画像データに基づいて用紙上に画像を形成する処理を行う装置である。
The printer engine (printing unit) 12 is an apparatus that receives image data from the
つぎに、プリンタコントローラ11の内部構成について詳細に説明する。図2に示すように、プリンタコントローラ11は、CPU21,RAM22,ROM23,I/Oデバイス24,システムコントローラ25を含む構成である。なお、CPU21,RAM22,ROM23,I/Oデバイス24,プリンタエンジン12の各々は、システムコントローラ25に接続されている。
Next, the internal configuration of the
CPU21は、データの変換・加工処理や各種の演算処理等の情報処理を行うものである。具体的に、CPU21は、RAM22にアクセスすることによって、RAM22に展開されている各種データの加工・変換・演算処理を行う。また、CPU21は、システムコントローラ25にコマンドを与えることによって、RAM22,ROM23,I/Oデバイス24のいずれかのデバイスから、RAM22,ROM23,I/Oデバイス24,プリンタエンジン12のいずれかのデバイスにデータを転送させることができる。
The
RAM22は、プリンタコントローラ11における各種の制御プログラムおよび該制御プログラムの実行に必要な所定のデータが書き込まれ、また、外部からから送られた各種データが書き込まれるメモリである。ROM23は、読み取り専用の記憶装置であり各種データが保存されるものである。I/Oデバイス24は、外部との間でデータの入出力を行うものであり、通信インターフェース,キーボード,表示装置等が該当する。
The
システムコントローラ25は、CPU21,RAM22,ROM23,I/Oデバイス24,プリンタエンジン12の各々のデバイス間のデータ(プログラムを含む)転送を実現するものであり、例えば、LSI(Large Scale Integration)により構成される。
The
なお、以下では、データ転送先またはデータ転送先となり得るCPU21,RAM22,ROM23,I/Oデバイス24,プリンタエンジン12を、各々、「デバイス」と称することがある。
Hereinafter, the
また、システムコントローラ(データ転送装置)25は、図2に示すように、データ転送を行うためのバス回路37を含み、さらに、このバス回路37に接続されるCPUインターフェース31a,DMAコントローラ31b,エンジンインターフェース31c,ROMコントローラ32a,RAMコントローラ32b,I/Oコントローラ32cを含む構成である。
Further, as shown in FIG. 2, the system controller (data transfer device) 25 includes a
CPUインターフェース31aはCPU21に接続され、エンジンインターフェース31cはプリンタエンジン12に接続され、ROMコントローラ32aはROM23に接続され、RAMコントローラ32bはRAM22に接続され、I/Oコントローラ32cはI/Oデバイス24に接続される。
The
CPUインターフェース31a,DMAコントローラ31b,エンジンインターフェース31cは、システムコントローラ25にて実現されるデータ転送を制御するものである。
The
具体的に、CPUインターフェース31aまたはDMAコントローラ31bは、ROM23,RAM22,I/Oデバイス24の各々のデバイス間のデータ転送を制御する。なお、CPUインターフェース31によって制御されるデータ転送では、データは、転送元デバイスからバス回路37およびCPUインターフェース31を介してCPU21へ転送され、CPU21からCPUインターフェース31およびバス回路37を介して転送先デバイスへ転送される。また、DMAコントローラ31bによって制御されるデータ転送では、データは、転送元デバイスからバス回路37を介してDMAコントローラ31bへ転送され、DMAコントローラ31bからバス回路37を介して転送先デバイスへ転送される。
Specifically, the
なお、エンジンインターフェース(画像データ転送制御部)31cは、RAM22からプリンタエンジン12へのデータ転送を制御する。このデータ転送において、データは、RAM22からバス回路37を介してエンジンインターフェース31cへ転送され、エンジンインターフェース31cからプリンタエンジン12へ転送される。
The engine interface (image data transfer control unit) 31c controls data transfer from the
また、CPUインターフェース31a,DMAコントローラ31b,エンジンインターフェース31cは、各々のデータ転送を制御する前に、バス回路37にデータ転送要求信号(以下、「データ転送要求」と称する)を送信する。そして、後述するが、バス回路37は、データ転送要求を送信してきたCPUインターフェース31a,DMAコントローラ31b,エンジンインターフェース31cに対して転送許可信号(以下、「転送許可」と称する)を与える。CPUインターフェース31a,DMAコントローラ31b,エンジンインターフェース31cは、この転送許可を受けることによって、バス回路37に含まれるデータ伝送路の使用権を獲得し、バス回路37を介したデータ転送を制御することができる。
Further, the
なお、本実施の形態では、データ転送要求を出力することによってバス回路37に含まれるデータ転送路の使用権を獲得し、該バス回路37を介したデータ転送を制御する機能をもつCPUインターフェース31a,DMAコントローラ31b,エンジンインターフェース31cを、各々、バスマスタ(転送制御部)と称することがある。
In this embodiment, a
ROMコントローラ32a,RAMコントローラ32b,I/Oコントローラ32cは、バスマスタ31によって制御されるデータ転送において、転送元となるデバイスからデータを読み出し、また、転送先となるデバイスへデータの書き込みを行う機能を有するものである。
The
具体的に、ROMコントローラ32aはROM23からデータを読み出す。RAMコントローラ32bは、RAM22からデータを読み出し、または、RAM22へデータを書き込む。I/Oコントローラ32cは、I/Oデバイス24からデータを読み出し、または、I/Oデバイス24へデータを書き込む。
Specifically, the
なお、本実施の形態では、バスマスタによって起動されるデータ転送において、転送元となるデバイスからのデータの読み出し、または、転送先となるデバイスへのデータの書き込みを行うROMコントローラ32a,RAMコントローラ32b,I/Oコントローラ32cの各々をバスターゲットと称することがある。
In the present embodiment, in the data transfer activated by the bus master, the
また、エンジンインターフェース31cは、RAM22からプリンタエンジン12へのデータ転送を制御するバスマスタあるが、転送先デバイスであるプリンタエンジン12へのデータの書き込みは、このエンジンインターフェース31c自体によって行われる。それゆえ、エンジンインターフェース31cは、バスマスタであると共に、転送先デバイスに接続されるバスターゲットとしての機能をも有するものである。
The
バス回路37は、バスマスタ31からデータ転送要求を受信すると、このデータ転送要求を出力したバスマスタに対して転送許可を与える。また、バス回路37は、転送許可を与えたバスマスタによって制御されるデータ転送を行うために、このデータ転送における転送元のデバイスに接続されているバスターゲットと、転送先のデバイスに接続されているバスターゲットとを選択して、選択したバスターゲットにデータの読出命令または書込命令を伝達する。
When receiving a data transfer request from the bus master 31, the
そして、転送元のデバイスに接続されているバスターゲットによって転送元デバイスからデータが読み出され、読み出されたデータは、バス回路37およびデータ転送を制御するバスマスタ31を介して、転送先デバイスに接続されているバスターゲット32へ伝達される。さらに、転送先デバイスに接続されているバスターゲット32は、バス回路37を介して伝達されてきたデータを転送先デバイスに書き込む。このようにして、各デバイス間のデータ転送が実現される。
Then, data is read from the transfer source device by the bus target connected to the transfer source device, and the read data is transferred to the transfer destination device via the
但し、エンジンインターフェース31cによって制御されるデータ転送においては、該エンジンインターフェース31cがバスマスタかつ転送先デバイスのバスターゲットとして機能する。それゆえ、この場合、転送元デバイス(RAM22)から読み出されたデータは、バス回路37を介して、エンジンインターフェース31cへ伝達され、その後、エンジンインターフェース31cによってプリンタエンジン12へデータが書き込まれる。
However, in data transfer controlled by the
つぎに、以上示したバス回路37の構成について詳細に説明する。図3は、バス回路37の構成を示したブロック図である。同図に示すように、バス回路37には、転送回路41,調停回路42が含まれている。
Next, the configuration of the
転送回路41は、各バスマスタおよび各バスターゲットの各々に接続されており、バスマスタとバスターゲットとの間におけるデータ伝送路としての機能を有するものである。つまり、各バスマスタ31a・31b・31cは、バス回路37に含まれる転送回路41を共有し、転送回路41を介したデータ転送を制御する。
The
なお、バス回路37がLSIである場合は、セレクタと制御回路とを集積させることによって転送回路41を構成することができる。また、転送回路41は、例えば、ハードワイヤからなるデータ線であってもよい。
If the
調停回路(データ転送制御装置)42は、各バスマスタ31a・31b・31cに接続されており、バスマスタ31からデータ転送要求を受信し、このデータ転送要求を出力したバスマスタ31に対して転送許可を与える回路である。ここで、この調停回路42は、複数のバスマスタ31…の各々から同時にデータ転送要求を受信している場合、いずれか一つのバスマスタ31に対してのみ転送許可を与えることによって、各バスマスタ31…からのデータ転送要求を調停している。
The arbitration circuit (data transfer control device) 42 is connected to each of the
ここで、各々のバスマスタ31…は、上記転送許可を受けないと、データ転送を起動・制御することができない。それゆえ、調停回路42が上記調停を行うことによって、あるバスマスタ31によるデータ転送と他のバスマスタ31によるデータ転送とが、バス回路37に含まれる転送回路41において同時に実行されるという事態を回避できる。
Here, each of the bus masters 31 cannot start and control the data transfer without receiving the transfer permission. Therefore, the
つぎに、調停回路42の詳細について説明する。図1は、調停回路42の構成を示したブロック図である。
Next, details of the
調停回路42は、図1に示すように、優先度判定回路51を含む構成である。
As illustrated in FIG. 1, the
優先度判定回路51は、各バスマスタ31a・31b・31cに接続されており、バスマスタ31a・31b・31cの各々からデータ転送要求を受信すると、所定規則に従って各バスマスタ31a・31b・31cに予め与えられている各々の優先度を各々のバスマスタ31a・31b・31cに設定し、設定した各優先度を対比して、最優先すべきバスマスタを判定し、最優先すべきバスマスタ31のみに転送許可を送信する(つまり、いずれか一つのバスマスタ31にデータ転送許可を送信する)。
The
なお、図1において、「転送要求a」はバスマスタ31aが出力するデータ転送要求を示し、「転送要求b」はバスマスタ31bが出力するデータ転送要求を示し、「転送要求c」はバスマスタ31cが出力したデータ転送要求を示したものである。さらに、図1において、「転送許可a」はバスマスタ31aへ送信される転送許可を示し、「転送許可b」はバスマスタ31bへ送信される転送許可を示し、「転送許可c」はバスマスタ31cへ送信される転送許可を示したものである。
In FIG. 1, "transfer request a" indicates a data transfer request output by the
また、優先度判定回路51は、上記所定規則に従って各バスマスタ31に与えられている各優先度(優先度を示す情報)を、各々のバスマスタ31a・31b・31cから受信してもよいし、図示しない記憶装置から読み出してもよい。
Further, the
なお、図1において、「優先度a」は、上記所定規則に従ってバスマスタ31aに与えられている優先度を示す情報であり、「優先度b」は、上記所定規則に従ってバスマスタ31bに与えられている優先度を示す情報であり、「優先度c」は、上記所定規則に従ってバスマスタ31cに与えられている優先度を示す情報である。
In FIG. 1, “priority a” is information indicating the priority given to the
つぎに、以上示した優先度および所定規則について説明する。本実施の形態においては、「優先度a」は「優先度b」「優先度c」よりも優先度が高く、「優先度b」は「優先度c」よりも優先度が高い。そして、上記した所定規則とは、各バスマスタ31a・31b・31cに与える優先度を各々固定にするという規則(「固定優先度規則」ともいう)である。つまり、「優先度a」は、バスマスタ31aにのみ与えられる優先度であり、「優先度b」は、バスマスタ31bにのみ与えられる優先度であり、「優先度c」は、バスマスタ31cにのみ与えられる優先度である。
Next, the priorities and predetermined rules described above will be described. In the present embodiment, “priority a” has higher priority than “priority b” and “priority c”, and “priority b” has higher priority than “priority c”. The predetermined rule described above is a rule (also referred to as “fixed priority rule”) in which the priority given to each
つぎに、優先度判定回路51における処理について説明する。図4は、上記固定優先度規則が適用される場合において、優先度判定回路51がバスマスタ31a・31b・31cの各々からデータ転送要求を受信するタイミングと、優先度判定回路51がバスマスタ31a・31b・31aの各々に転送許可を送信するタイミングとを示したタイミングチャートである。
Next, processing in the
なお、同図の「転送データ」の欄において、「A」を示す枠は、バスマスタ31aに制御されるデータ転送が1回実行されたことを示し、「B」を示す枠は、バスマスタ31bに制御されるデータ転送が1回実行されたことを示し、「C」を示す枠は、バスマスタ31cに制御されるデータ転送が1回実行されたことを示す。
In the “transfer data” column of the same figure, a frame indicating “A” indicates that the data transfer controlled by the
同図に示すように、優先度判定回路51は、バスマスタ31a・31b・31cの各々から同時にデータ転送要求を受信した場合、上記所定規則に従ってバスマスタ31a・31b・31cの各々に与えられている各優先度を取得する。そして、優先度判定回路51は、各々のバスマスタ31a・31b・31cに対し、各々に与えられている優先度を設定する。つまり、優先度判定回路51は、バスマスタ31aから「優先度a」を受信し、この「優先度a」をバスマスタ31aに設定し、バスマスタ31bから「優先度b」を受信し、この「優先度b」をバスマスタ31bに設定し、バスマスタ31cから「優先度b」を受信し、この「優先度c」をバスマスタ31bに設定する。
As shown in the figure, when the
そして、優先度判定回路51は、設定した「優先度a」「優先度b」「優先度c」を対比し、「優先度a」が最も高いものと判定すると、「優先度a」の設定されているバスマスタ31aを最優先すべきものとし、バスマスタ31aのみに転送許可を送信している。そして、バスマスタ31aに転送許可が送信されている間、バスマスタ31aによるデータ転送が行われている。
Then, when the
また、優先度判定回路51は、バスマスタ31a・31bの各々から同時に転送要求を受信した場合、同様にして、上記「優先度b」「優先度c」を対比して、バスマスタ31bを優先すべきものと判定し、バスマスタ31bのみに転送許可を送信している。そして、バスマスタ31bに転送許可が送信されている間、バスマスタ31bによるデータ転送が行われている。
When the
さらに、優先度判定回路51は、バスマスタ31cのみから転送要求を受信した場合、バスマスタ31cに転送許可を送信している。そして、バスマスタ31cに転送許可が送信されている間、バスマスタ31cによるデータ転送が行われている。
Furthermore, when the
優先度判定回路51は、以上のようにして、各バスマスタ31a・31b・31cに設定した各々の優先度に基づいて、いずれか一つのバスマスタ31に対してのみに転送許可を与えている。
As described above, the
そして、優先度判定回路51は、転送許可を与えた後、転送許可を与えたバスマスタ31によって指定されている転送元デバイスに接続されているバスターゲット32と、転送先デバイスに接続されているバスターゲット32とを選択し、選択した各バスターゲットにデータの読出命令および書込命令を出力する(図1参照)。なお、各バスマスタ31が出力するデータ転送要求には、転送元デバイスおよび転送先デバイスに関する情報が含まれており、優先度判定回路51は、転送許可を与えたバスマスタ31から既に送られてきているデータ転送要求に基づいて、バスターゲット32の選択を行っている。
Then, the
また、本実施の形態の調停回路42においては、バスマスタ31a・31b・31cのうちのいずれか1以上のバスマスタ31について、積極的に帯域保証を行う帯域保証モードが設定することができる。以下では、この帯域保証モードについて詳細に説明する。
Further, in the
まず、バスマスタ31a・31b・31cの各々においては、帯域保証の必要性の生じている期間中のみ、帯域保証要求信号(以下、「帯域保証要求」とする)を出力するように設定されている。バスマスタ31a・31b・31cの各々は、この帯域保証要求を出力することによって、上記帯域保証モードを設定できる。
First, each of the
そして、図1に示すように、調停回路42においては、優先度判定回路51の他、この優先度判定回路51に接続されている帯域測定回路52a・52b・52cが含まれている。以下、この帯域測定回路52a・52b・52cについて、帯域測定回路52cから順に説明する。
As shown in FIG. 1, the
帯域測定回路52cは、バスマスタ(エンジンインターフェース)31cに接続されており、図1に示すように、タイマおよび転送カウンタを含む構成である。
The
この帯域測定回路52cは、バスマスタ31cが出力する帯域保証要求cおよび目標帯域c(バスマスタ31cのデータ転送の目標帯域を示す情報)を受信すると、帯域保証要求cを受信している期間について、バスマスタ31cによるデータ転送の実効帯域(単位時間当たりの転送データ量)を計測し、さらに、上記目標帯域cと実効帯域との差分を計算し、この差分を示す差分信号を優先度判定回路51へ伝達する。
When the
なお、帯域測定回路52cは、帯域保証要求cを受け付けている期間について、タイマによって経過時間をカウントし、転送カウンタによってバスマスタ31cのデータ転送の転送回数をカウントし、これらカウントの結果から上記実効帯域を概算している。また、上記概算は行わず、単位時間当たりの転送回数自体を上記「単位時間当たりの転送データ量」と見積もってもよい。
The
また、転送カウンタは、転送回路41において転送されているデータから、データ転送フラグ(どのバスマスタによって転送制御されているのかを示すフラグ)を取得することによって、上記カウントを行っている。また、帯域測定回路52cは、バスマスタ31cから目標帯域cを受信しているが、この目標帯域cを図示しない記憶装置から取得してもよい。
Further, the transfer counter performs the above-mentioned counting by obtaining a data transfer flag (a flag indicating which bus master is performing transfer control) from the data transferred in the
そして、優先度判定回路51は、バスマスタ31cによるデータ転送の実効帯域が上記目標帯域c以下であるか否かを上記差分信号に基づいて判定し、上記実効帯域が目標帯域c以下である場合、バスマスタ31cに、上記所定規則に従った「優先度c」を設定せずに、「優先度S」を設定する。また、優先度判定回路51は、上記実効帯域が目標帯域cを越えている場合、バスマスタ31cに、「優先度S」を設定せずに、上記所定規則に従った「優先度c」を設定する。
The
なお、「優先度S」とは、上記所定規則によってバスマスタ31…毎に与えられている「優先度a」「優先度b」「優先度c」よりも優先度が高い、つまり、最も優先度が高いことを示している。 The “priority S” is higher in priority than “priority a”, “priority b”, and “priority c” given to each bus master 31... According to the predetermined rule. Is high.
また、帯域測定回路52a・52bは、図1に示すように、帯域測定回路52cと同様、各々、タイマと転送カウンタとを含んでいる。なお、帯域測定回路52aは、バスマスタ31aに接続され、バスマスタ31aが出力する帯域保証要求aおよび目標帯域a(バスマスタ31aのデータ転送の目標帯域を示す情報)を受信する構成であり、帯域測定回路52bは、バスマスタ31bに接続され、バスマスタ31bが出力する帯域保証要求bおよび目標帯域b(バスマスタ31bのデータ転送の目標帯域を示す情報)を受信する構成である。
Further, as shown in FIG. 1, each of the
そして、帯域測定回路52cの場合と同様に、帯域測定回路52aは、バスマスタ31aによるデータ転送の実効帯域を計測し、さらに、上記目標帯域aと実効帯域との差分を計算し、この差分を示す差分信号を優先度判定回路51へ伝達する。
As in the case of the
そして、優先度判定回路51は、バスマスタ31aによるデータ転送の実効帯域が上記目標帯域a以下であるか否かを上記差分信号に基づいて判定し、上記実効帯域が目標帯域a以下である場合、バスマスタ31cに、上記所定規則に従った「優先度a」を設定せずに、「優先度S」を設定する。また、優先度判定回路51は、上記実効帯域が目標帯域aを越えている場合、バスマスタ31cに、「優先度S」を設定せずに、上記所定規則に従った「優先度a」を設定する。
Then, the
さらに、帯域測定回路52a・52cの場合と同様に、帯域測定回路52bは、バスマスタ31bによるデータ転送の実効帯域を計測し、さらに、上記目標帯域bと実効帯域との差分を計算し、この差分を示す差分信号を優先度判定回路51へ伝達する。
Further, similarly to the
そして、優先度判定回路51は、バスマスタ31bによるデータ転送の実効帯域が上記目標帯域b以下であるか否かを上記差分信号に基づいて判定し、上記実効帯域が目標帯域b以下である場合、バスマスタ31bには、上記所定規則に従った「優先度b」を設定せずに、「優先度S」を設定する。また、優先度判定回路51は、上記実効帯域が目標帯域bを越えている場合、バスマスタ31cには,「優先度S」を設定せずに、上記所定規則に従った「優先度b」を設定する。
Then, the
以上の構成によれば、バスマスタ31a・31b・31cのうち、いずれか一つのバスマスタ31が帯域保証要求を出力している場合、そのバスマスタ31に接続されている帯域測定回路52がそのバスマスタ31の実効帯域を計測し、計測した実行帯域と目標帯域との差分を算出している。
According to the above configuration, when any one of the
そして、優先度判定回路51は、この算出された差分を基にして、帯域保証要求を出力しているバスマスタ31の実効帯域が目標帯域以下か否かを判定している。そして、優先度判定回路51は、帯域保証要求を出力しているバスマスタ31の実効帯域が目標帯域以下の場合は、このバスマスタに優先度Sを設定し、帯域保証要求を出力していないバスマスタ31には、所定規則に従ってこのバスマスタ31に与えられている優先度を設定する。それゆえ、優先度判定回路51は、帯域保証要求を出力しているバスマスタ31の実効帯域が目標帯域以下の場合、このバスマスタ31がデータ転送要求を出力している間、このバスマスタ31に必ず転送許可を与えることとなる。
Then, the
さらに、優先度判定回路51は、帯域保証要求を出力しているバスマスタ31の実効帯域が目標帯域を越えている場合、帯域保証要求を出力しているバスマスタ31に、所定規則に従ってこのバスマスタに与えられている優先度を設定し、帯域保証要求を出力していないバスマスタ31に、所定規則に従ってこのバスマスタに与えられている優先度を設定する。それゆえ、この場合、帯域保証要求を出力しているバスマスタ31に転送許可が与えられるとは限らず、他のバスマスタ31にも転送許可が与えられることがある。
Further, when the effective bandwidth of the bus master 31 outputting the bandwidth guarantee request exceeds the target bandwidth, the
つぎに、バスマスタ31cのみが帯域保証要求を出力する場合において、バスマスタ31cの実効帯域の推移を図に基づいて説明する。図5は、各バスマスタ31a・31b・31cのデータ転送要求のタイミング,バスマスタ31cの帯域保証要求のタイミング,各バスマスタ31に対して出力される転送許可のタイミング,帯域保証要求を出力しているバスマスタ31cの実効帯域の推移を示したタイミングチャートである。
Next, when only the
なお、図5の「転送データ」の欄において、「A」を示す枠はバスマスタ31aによって1回データ転送が行われたことを示し、「B」を示す枠はバスマスタ31bによって1回データ転送が行われたことを示し、「C」を示す枠はバスマスタ31cによって1回データ転送が行われたことを示す。また、図5の「転送カウンタ」の欄に示される値は、バスマスタ31cに接続されている帯域測定回路52cに含まれる転送カウンタのカウント値を示したものである。さらに、図5の「タイマ」の欄に示される値は、帯域測定回路52cに含まれるタイマのカウント値を示したものである。また、図5に示されるグラフは、横軸が経過時間を示し、縦軸がバスマスタ31cによるデータ転送の実効帯域を示したものである。
In the “transfer data” column of FIG. 5, a frame indicating “A” indicates that data transfer has been performed once by the
図5において、まず、タイミングαにおいては、各バスマスタ31a・31b・31cの各々がデータ転送要求を出力しているが、いずれもバスマスタ31も帯域保証要求を出力していない。この場合、各バスマスタ31a・31b・31cの各々には所定規則に従った優先度が設定されるから、優先度aの設定されるバスマスタ31aに転送許可が与えられる。
In FIG. 5, first, at the timing α, each of the
その後、タイミングβにおいて、バスマスタ31cが帯域保証要求cの出力を開始する。これにより、バスマスタ31cに接続されている帯域測定回路52cでは、バスマスタ31cによるデータ転送の実効帯域の計測が開始される。そして、この帯域保証要求cが出力されている間、この計測は続けて行われる。
Thereafter, at timing β, the
そして、この計測される実効帯域が目標帯域c以下であるため、バスマスタ31cの優先度は「優先度S」に設定され、バスマスタ31cのデータ転送要求は、他のどのバスマスタ31a・31bのデータ転送要求よりも優先される。これにより、バスマスタ31a・31b・31cの各々がデータ転送要求を出力していても、バスマスタ31cに転送許可が与え続けられ、バスマスタ31cによるデータ転送が繰り返される。その結果、バスマスタ31cによるデータ転送の実効帯域は増加する。
Since the measured effective bandwidth is equal to or less than the target bandwidth c, the priority of the
その後、タイミングγにおいて、バスマスタ31cによるデータ転送の実効帯域が目標帯域cを超えると、バスマスタ31cに設定される優先度は「優先度S」から「優先度c」に変更される。これにより、バスマスタ31cのデータ転送要求よりも、「優先度a」「優先度b」の設定されるバスマスタ31a・31bのデータ転送要求の方が優先されることとなる。そして、バスマスタ31a・31b・31cのいずれもがデータ転送要求を出力しているため、バスマスタ31aに転送許可が与えられ、バスマスタ31cによるデータ転送は停止する。その結果、バスマスタ31cによるデータ転送の実効帯域幅は減少することになる。
Thereafter, when the effective bandwidth for data transfer by the
バスマスタ31cによるデータ転送の実効帯域が減少し続け、タイミングδにおいて、バスマスタ31cによるデータ転送の実効帯域が目標帯域c以下になると、バスマスタ31cに設定される優先度は、「優先度c」から「優先度S」に再度変更される。これにより、バスマスタ31a・31b・31cの各々がデータ転送要求を出力していても、バスマスタ31cに転送許可が与えられ、バスマスタ31cによるデータ転送が行われる。その結果、バスマスタ31cによるデータ転送の実効帯域幅は増加する。
If the effective bandwidth for data transfer by the
以上の処理が繰り返されることにより、帯域保証要求を出力するバスマスタ31cよるデータ転送の実効帯域は、図5に示すように、目標帯域c付近の値を維持でき、バスマスタ31cに対して帯域保証を行うことができる。
By repeating the above processing, the effective bandwidth of the data transfer by the
以上示した実施の形態によれば、転送回路41を介したデータ転送を制御するバスマスタ31a・31b・31cが当該転送回路41を共有しており、調停回路42は、バスマスタ31a・31b・31cからデータ転送要求を受信すると、バスマスタ31a・31b・31c毎に設定される各優先度に基づいて、いずれか一つのバスマスタ31に転送許可を与えることによって、転送許可を与えたバスマスタ31によるデータ転送を実行する制御を行っている。さらに、この調停回路42は、帯域保証要求を出力しているバスマスタ31によるデータ転送について、単位時間当たりの転送データ量である実効帯域を計測する帯域測定回路(計測手段)52cと、上記計測された実効帯域に応じて、帯域保証要求を出力しているバスマスタ31に設定される優先度を変更する優先度判定回路(優先度制御手段)51と、を含む構成である。
According to the embodiment described above, the
したがって、帯域保証要求を出力しているバスマスタ31cによるデータ転送について、帯域測定回路52cが実効帯域をリアルタイムに計測し、優先度判定回路51が、この実効帯域に応じてバスマスタ31cに設定される優先度を変更できる。それゆえ、上記実効帯域がある程度以上維持されるように、帯域保証要求を出力しているバスマスタ31cに設定される優先度を適宜行うことによって該バスマスタ31cによるデータ転送の実行頻度を調整すれば、バスマスタ31cに対して帯域保証を行うことが可能となる。
Therefore, for data transfer by the
また、以上示した実施形態によれば、優先度判定回路51は、上記実効帯域が目標帯域(目標値)以下の場合、目標帯域を超える場合よりも、帯域保証要求を出力しているバスマスタ31に設定する優先度を向上させている。
Further, according to the embodiment described above, the
それゆえ、帯域保証要求を出力しているバスマスタ31における実効帯域が目標帯域以下になると、帯域保証要求を出力しているバスマスタ31によるデータ転送の実行頻度を増加させることができる。それゆえ、帯域保証要求を出力しているバスマスタ31の実効帯域を目標値から過度に低下することを抑制でき、これにより、該実効帯域をある程度以上維持することが容易となる。また、上記実効帯域が目標帯域を越えると、上記目標値以下の場合よりも帯域保証要求を出力しているバスマスタ31に設定される優先度は低下することとなり、このバスマスタ31のデータ転送の実効頻度を減少させることができる。それゆえ、帯域保証要求を出力しているバスマスタ31の実効帯域が目標帯域を越えて過度になりつつある場合、他のバスマスタ31にデータ転送を制御させる余地を与えることが可能となる。したがって、帯域保証要求を出力しているバスマスタ31の実効帯域が過剰になっているにも拘わらず、このバスマスタ31によるデータ転送が最優先されてしまい、他のバスマスタ31の帯域が無意味に圧迫されるという事態を抑制することができる。
Therefore, when the effective bandwidth in the bus master 31 outputting the bandwidth guarantee request is equal to or less than the target bandwidth, the execution frequency of data transfer by the bus master 31 outputting the bandwidth guarantee request can be increased. Therefore, it is possible to suppress the effective bandwidth of the bus master 31 that is outputting the bandwidth guarantee request from being excessively reduced from the target value, and this makes it easy to maintain the effective bandwidth to a certain extent. If the effective bandwidth exceeds the target bandwidth, the priority set for the bus master 31 outputting the bandwidth guarantee request is lower than when the effective bandwidth is less than the target value. The frequency can be reduced. Therefore, when the effective bandwidth of the bus master 31 outputting the bandwidth guarantee request is becoming excessive beyond the target bandwidth, it is possible to give another
また、優先度判定回路51は、帯域保証要求を出力しているバスマスタ31の実効帯域が目標帯域以下である場合、帯域保証要求を出力しているバスマスタ31には、上記所定規則に従った各優先度よりも高い優先度である「優先度S」を設定している。
In addition, when the effective bandwidth of the bus master 31 that outputs the bandwidth guarantee request is equal to or less than the target bandwidth, the
これにより、帯域保証要求を出力しているバスマスタ31における実効帯域が目標帯域以下になると、帯域保証要求を出力しているバスマスタ31によるデータ転送を最優先で行わせることができ、帯域保証要求を出力しているバスマスタ31の実効帯域の維持がさらに容易となる。 As a result, when the effective bandwidth in the bus master 31 outputting the bandwidth guarantee request is equal to or less than the target bandwidth, the data transfer by the bus master 31 outputting the bandwidth guarantee request can be performed with the highest priority. It becomes even easier to maintain the effective bandwidth of the bus master 31 that is outputting.
また、以上の構成によれば、所定規則に従った優先度がバスマスタ31a・31b・31c毎に与えられており、帯域保証要求を出力していないバスマスタ31には、常に、所定の規則に従って該バスマスタ31に与えられている優先度が設定される。また、帯域保証要求を出力しているバスマスタ31においても、このバスマスタ31の実効帯域が目標帯域を超える場合は、所定の規則に従ってこのバスマスタ31に与えられている優先度が設定される。これに対し、上記実効帯域が目標帯域以下の場合、帯域保証要求を出力しているバスマスタ31には、上記所定規則に従った各優先度よりも高い優先度である優先度Sが設定される。これにより、上記実効帯域が目標帯域以下の場合、帯域保証要求を出力しているバスマスタ31に最も高い優先度を設定することができる。
Further, according to the above configuration, the priority according to the predetermined rule is given to each of the
また、以上示した実施の形態によれば、帯域保証要求を出力しているバスマスタ31のみを対象として上記した優先度の変更処理を行うこととなる。したがって、帯域保証の必要なバスマスタ31cのみを対象にし、かつ、帯域保証の必要な期間にのみ上記した優先度の変更処理を行うことが可能となる。
Further, according to the embodiment described above, the priority changing process described above is performed only for the bus master 31 that outputs the bandwidth guarantee request. Accordingly, the priority change process described above can be performed only for the
さらに、以上示した実施の形態において、各帯域測定回路52…は、各々に接続されているバスマスタ31が帯域保証要求を出力している期間中のみ、実効帯域の計測を行うようにすることが好ましい。このようにすれば、帯域測定回路52は、帯域保証要求が出力されている期間中のみに限定して実効帯域の計測を行うこととなる。これにより、帯域測定回路52は、常に計測を行うことなく、必要期間内のみに限定して計測を行うこととなり、計測が継続されることによる誤差の拡大を抑制することができ、より正確な測定を行うことができる。 Further, in the embodiment described above, each band measuring circuit 52... May measure the effective band only during the period when the bus master 31 connected to each band outputs a band guarantee request. preferable. In this way, the bandwidth measuring circuit 52 measures the effective bandwidth only during the period when the bandwidth guarantee request is output. As a result, the band measurement circuit 52 performs the measurement only within a necessary period without always performing the measurement, and can suppress the expansion of the error due to the continuing measurement. Measurements can be made.
また、以上示した実施の形態において、帯域測定回路52は、所定期間毎に、計測した実効帯域をリセットする構成であることが好ましい。このようにすれば、計測中の実効帯域幅に誤差が生じたとしても、所定期間毎に当該誤差をキャンセルすることが可能になる。 In the embodiment described above, the bandwidth measuring circuit 52 is preferably configured to reset the measured effective bandwidth every predetermined period. In this way, even if an error occurs in the effective bandwidth during measurement, the error can be canceled every predetermined period.
また、以上示した実施の形態の図5においては、バスマスタ31cのみが帯域保証要求を出力してバスマスタ31cのみ帯域保証モードを設定している形態について説明したが、当然、バスマスタ31a・31bについても同様に帯域保証モードを設定することは可能である。
Further, in FIG. 5 of the embodiment described above, the mode in which only the
ここで、帯域保証要求を出力し、かつ実効帯域が目標帯域以下であるバスマスタ31が複数ある場合、どのバスマスタ31に、「優先度S」を設定すべきなのかという問題が生じる。これは、複数のバスマスタ31…の各々に、「優先度S」を設定してしまうと、どのバスマスタ31を最優先すべきなのかを優先度判定回路51が判断できなくなるからである。そこで、このような場合は、上記所定規則に従って各バスマスタ31…に与えられている各々の優先度に基づいて、いずれか一つのバスマスタ31のみに優先度Sを設定すればよい。
Here, when there are a plurality of bus masters 31 that output a bandwidth guarantee request and whose effective bandwidth is equal to or less than the target bandwidth, a problem arises as to which bus master 31 should be set with “priority S”. This is because if the “priority S” is set for each of the plurality of bus masters 31, the
また、帯域保証要求を出力し、かつ実効帯域が目標帯域以下であるバスマスタ31が複数ある場合、目標帯域と実効帯域との差分の絶対値(不足度パラメータ)が最も大きいバスマスタ31のみに、優先度Sを設定する構成であってもよい。これにより、実行帯域が目標値から最も離れ、データ転送を行う必要性の最も高いバスマスタ31によるデータ転送を最優先することができる。 Also, when there are a plurality of bus masters 31 that output a bandwidth guarantee request and whose effective bandwidth is equal to or less than the target bandwidth, priority is given only to the bus master 31 having the largest absolute value (deficiency parameter) of the difference between the target bandwidth and the effective bandwidth. The degree S may be set. This makes it possible to give the highest priority to data transfer by the bus master 31 whose execution band is farthest from the target value and has the highest necessity for data transfer.
また、帯域保証要求を出力し、かつ実効帯域が目標帯域以下であるバスマスタ31が複数ある場合、(目標帯域−実効帯域)/目標帯域の値(不足度パラメータ)が最も大きいバスマスタ31のみに、優先度Sを設定する構成であってもよい。これにより、目標帯域に対する実効帯域の不足量の占める割合の最も大きいバスマスタ31のデータ転送を最優先することができる。このような構成は、複数のバスマスタ31…の各々が、互いに目標帯域を大幅に異ならせている場合に好適である。 Further, when there are a plurality of bus masters 31 that output a bandwidth guarantee request and whose effective bandwidth is equal to or less than the target bandwidth, only the bus master 31 having the largest (target bandwidth-effective bandwidth) / target bandwidth value (insufficient parameter) The priority S may be set. Thereby, the highest priority can be given to the data transfer of the bus master 31 in which the ratio of the shortage of the effective bandwidth to the target bandwidth is the largest. Such a configuration is suitable when each of the plurality of bus masters 31 has a substantially different target bandwidth.
さらに、以上示した実施の形態においては、バスマスタとしてのエンジンインターフェース31cが帯域保証要求を出力し、このエンジンインターフェース31cのデータ転送についての帯域保証を行っている。ここで、このエンジンインターフェース(画像データ転送制御部)31cは、画像を印刷する処理を行うプリンタエンジン(印刷部)12への画像データの転送制御を行うものである。それゆえ、プリンタエンジン12に対して連続的に一定量以上の画像データの供給を行うことができる。それゆえ、プリンタエンジン12に対する画像データの供給不足による印刷不良を抑制することができる。また、プリンタエンジン12の印刷処理開始時から終了時に、エンジンインターフェース31cから帯域保証要求を出力させるように設定すれば、印刷処理中においてリアルタイムにエンジンインターフェース31cの帯域保証を実現することが可能になる。
Further, in the embodiment described above, the
また、以上示した実施の形態では、システムコントローラ25は、プリンタ10に構成されているが、プリンタ10に限定されるものではなく、汎用コンピュータに構成してもよいし、コンピュータ制御に基づく各種装置(映像表示装置,通信機器,各種家電製品)に構成することもできる。
Further, in the embodiment described above, the
また、以上示した実施形態において、上記した優先度に関する所定規則とは、各バスマスタ31a・31b・31cに与える優先度を各々固定にするという規則であった。しかしながら、このような規則に限定されるものではなく、例えば、上記所定規則として、各バスマスタ31a・31b・31cに与える各々の優先度(「優先度a」「優先度b」「優先度c」)を、各バスマスタ31a・31b・31c間で巡回させる規則(「巡回優先度規則」ともいう)を適用してもよい。
Further, in the embodiment described above, the above-mentioned predetermined rule relating to the priority is a rule that the priority given to each of the
この巡回優先度規則が適用される場合、ある期間において、バスマスタ31aに与えられる優先度が「優先度a」→「優先度b」→「優先度c」の順に切り換わる場合、例えば、バスマスタ31bに与えられる優先度は「優先度b」→「優先度c」の順に切り換わり、バスマスタ31cに与えられる優先度は「優先度c」→「優先度a」→「優先度b」の順に切り換わる。つまり、バスマスタ31a・31b・31cの各々においては、与えられる優先度が順に切り換わっていくが、同一のタイミングにおいて、各バスマスタ31a・31b・31c間では各々異なる優先度が与えられるのである。
When this cyclic priority rule is applied, when the priority given to the
また、以上の巡回優先度規則が適用される場合における優先度判定回路51の処理の具体例について図6に基づいて説明する。図6は、巡回優先度規則が適用される場合において、優先度判定回路51がバスマスタ31a・31b・31cの各々からデータ転送要求を受信するタイミングと、優先度判定回路51がバスマスタ31a・31b・31cの各々に転送許可を送信するタイミングとを示したタイミングチャートである。
A specific example of processing of the
図6に示される参照符Xの期間においては、バスマスタ31a・31b・31cの各々が連続してデータ転送要求を出力している一方、バスマスタ31a→バスマスタ31b→バスマスタ31c→バスマスタ31a…の順に転送許可が与えられている。これは、参照符Xの期間において、バスマスタ31a→バスマスタ31b→バスマスタ31c→バスマスタ31a…の順に「優先度a」が与えられていることを意味している。
In the period indicated by reference symbol X shown in FIG. 6, each of the
また、上述した実施の形態では、図3に示すように、各バスマスタ31a・31b・31cおよび各バスターゲット32a・32b・32cが一つの転送回路41を共有している構成を採用しているがこのような構成に限定されるものではない。複数のバスマスタに共有される転送回路41に接続される調停回路42であれば、本発明を適用することが可能である。
In the above-described embodiment, as shown in FIG. 3, each
例えば、図7に示すように、バス回路37において、バスターゲット32…と同数だけ転送回路41…を構成し、各バスターゲット32a・32b・32c毎に別々の転送回路41を接続し、転送回路41…毎に別々の調停回路42を接続する構成を採用してもよい。また、この構成では、転送回路41…および調停回路42…の各々は、全てのバスマスタ31a・31b・31cに接続されている。さらに、この構成の場合、一つの調停回路42が、本発明のデータ転送制御回路の一実施形態に相当することとなる。
For example, as shown in FIG. 7, in the
この図7の構成の場合、図3の構成の場合と比して、以下に述べる点で相違がある。図3の構成では、複数のバスマスタ31…が同時に転送要求を出力している場合、必ず調停回路42による調停が行われ、一つのバスマスタ31のみに対して転送許可を与えることになる。しかしながら、図7の構成では、複数のバスマスタ31…が同時に転送要求を出力している場合であっても、データ転送において使用される転送回路41と選択されるバスターゲット32とが、各バスマスタ31…の転送要求の各々で異なる場合、調停回路42…による調停が行われず、各バスマスタ31…に同時に転送許可が与えられることもある。これは、図7の構成によれば、バスターゲット32…毎に別々の転送回路41が設けられ、転送回路41…毎に別々の調停回路42が設けられているため、複数のバスマスタ31…に同時にデータ転送要求を行わせても、データ転送経路によっては、一つの転送回路41および一つのバスターゲット32が同時に複数のバスマスタ31…に使用・選択されるという事態が生じないこともありえ、この場合、調停回路42…による調停を行わずに、複数のバスマスタ31…によるデータ転送を同時に実行させても問題は生じないからである。それゆえ、図7の構成は、図3の構成よりも、システムのパフォーマンスが優れていると言える。
The configuration of FIG. 7 is different from the configuration of FIG. 3 in the following points. In the configuration of FIG. 3, when a plurality of bus masters 31... Simultaneously output transfer requests, arbitration by the
なお、図7の構成において、調停回路42による調停が行われるのは、複数のバスマスタ31…が同時にデータ転送要求を行っており、かつ、使用される転送回路41が、各バスマスタ31…の転送要求の各々で重複する場合であって、この場合、使用される転送回路41に接続されている調停回路42によって調停が行われる。
In the configuration of FIG. 7, arbitration by the
ところで、以上の実施の形態では、調停回路42はハードウェアによって実現されている。しかし、調停回路42の奏する機能は、プロセッサなどの演算回路が、ROMやRAMなどの記憶手段に記憶されたプログラムを実行し、各種周辺回路,センサ等を制御することによっても実現することができる。したがって、以上の演算回路,周辺回路等を有するコンピュータが、上記プログラムを記録した記録媒体を読み取り、当該プログラムを実行するだけで、本実施形態の調停回路42の各種機能および各種処理を実現することができる。また、上記プログラムをリムーバブルな記録媒体に記録することにより、任意のコンピュータ上で上記の各種機能および各種処理を実現することができる。
In the above embodiment, the
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。 Examples of the recording medium include tapes such as magnetic tapes and cassette tapes, magnetic disks such as floppy (registered trademark) disks / hard disks, and disks including optical disks such as CD-ROM / MO / MD / DVD / CD-R. Card system such as IC card, IC card (including memory card) / optical card, or semiconductor memory system such as mask ROM / EPROM / EEPROM / flash ROM.
また、プリンタ10を通信ネットワークと接続可能に構成し、上記プログラムコードを、通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
Further, the
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、上述した実施形態において開示された各技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。 The present invention is not limited to the above-described embodiments, and various modifications are possible within the scope shown in the claims, and the embodiments can be obtained by appropriately combining the respective technical means disclosed in the above-described embodiments. The form is also included in the technical scope of the present invention.
また、以上示した実施形態においては、バスマスタの帯域保証を実際の転送データ数に基づいてより正確に行うことにより、帯域保証を要求していない他のバスマスタの転送帯域を過度に圧迫することなく、必要な帯域保証を最低限のシステム性能で実現できる。また、システム設計時に、推測の積み重ねによる過度にオーバースペックな設計をせずとも、目的の保証帯域に基づいて、簡易にシステムに必要な性能を求めて最適設計を可能とする。 Further, in the above-described embodiment, the bandwidth guarantee of the bus master is more accurately performed based on the actual number of transfer data without excessively compressing the transfer bandwidth of other bus masters that do not require the bandwidth guarantee. The necessary bandwidth guarantee can be realized with the minimum system performance. In addition, at the time of system design, it is possible to easily obtain the performance required for the system based on the target guaranteed bandwidth, and to make the optimum design, without excessively overdesigning by speculative accumulation.
また、以上示した実施形態では、特定バスマスタを目標帯域に対してほぼ近い転送帯域を確保することができ、また、それにより他のバスマスタの転送帯域を不必要に圧迫することもない。また、システム設計を行う際にも、同時に帯域保証を要求するマスタのそれぞれの保証帯域の和を最低帯域として設計をすることができ、不必要にオーバースペックなシステム設計をする必要が無くなる。 In the embodiment described above, a transfer bandwidth that is almost the same as the target bandwidth can be secured for the specific bus master, and the transfer bandwidth of other bus masters is not unnecessarily compressed. In addition, when designing a system, it is possible to design the master with the minimum guaranteed bandwidth at the same time as a guaranteed bandwidth requirement, thereby eliminating the need for an unnecessarily overspec system design.
これに対し、従来の優先度を定期的に切りかえる方法(特許文献1,3に開示されている方法)では、最高優先度が割り当てられる割合を設定することができるだけであり、転送許可が与えられる割合を指示できるわけではない。これは全バスマスタが常に転送要求を発生し続けている場合に該バスマスタに転送許可が与えられる頻度を意味している。
On the other hand, in the conventional method of switching the priority regularly (methods disclosed in
また、各バスマスタが一回の転送に要する時間もバスマスタ毎に異なる可能性があり、それぞれのバスマスタにおいてもこの時間が転送毎に異なる可能性がある。よって、特定のマスタの転送帯域を保証しようとすれば、該当バスマスタの必要帯域、各バスマスタが転送に要する時間、転送許可頻度の最悪値を想定した上で優先度設定のアルゴリズムを決定する必要があり、設定がむずかしく、システム全体としてはオーバースペックな設計になってしまう。 In addition, the time required for each bus master to transfer once may be different for each bus master, and this time may be different for each bus master for each transfer. Therefore, if the transfer bandwidth of a specific master is to be guaranteed, the priority setting algorithm must be determined after assuming the required bandwidth of the bus master, the time required for each bus master to transfer, and the worst value of the transfer permission frequency. Yes, it is difficult to set up, and the overall system is over-designed.
また、バスマスタ毎の使用帯域を制限する方法(特許文献2,4に開示されている方法)では、目的のバスマスタ以外の帯域を制限することによって、目的のバスマスタの帯域保証をするという考え方である為、目的のバスマスタの帯域保証をするためには、他のバスマスタ全ての必要な帯域を決め、最悪値を想定して各バスマスタに割り振る帯域の割合を決定する必要がある。このため、この場合もシステム全体としてはオーバースペックな設計になってしまう。
In addition, the method of limiting the bandwidth used for each bus master (the methods disclosed in
なお、本実施形態の調停回路は、複数のバスマスタからの転送要求を調停する調停回路において、バスマスタ毎に実際に転送されたデータ数と時間とを計測し、随時算出される実効帯域に基づいて各バスマスタへの転送許可を制御する、と表現することもできる。これにより、実際の転送帯域を測定しながら常に目的の帯域に対して過不足が少なくなるように調停を行えるため、設計時に最適設計を行うことができ、また、動作時には帯域保証を要求していない別のマスタの転送を過度に圧迫することがなくなる。 Note that the arbitration circuit of the present embodiment is an arbitration circuit that arbitrates transfer requests from a plurality of bus masters, measures the number of data and time actually transferred for each bus master, and based on the effective bandwidth calculated as needed. It can also be expressed as controlling transfer permission to each bus master. As a result, arbitration can be performed so that the excess or deficiency is always reduced with respect to the target bandwidth while measuring the actual transfer bandwidth, so that optimum design can be performed at the time of design, and bandwidth guarantee is required at the time of operation. Never oversqueeze another master's transfer.
また、以上の調停回路において、帯域要求を出力していないバスマスタに関しては所定の優先度処理に基づき調停を行い、帯域要求を出力しているバスマスタに関しては測定した実効帯域に基づいて調停を行うこととしてもよい。これにより、どのバスマスタも帯域保証要求を出していない場合、および、帯域保証要求を出しているバスマスタが転送要求を出していない場合の調停方法を定めることができる。 In the arbitration circuit described above, the bus master that does not output the bandwidth request performs arbitration based on a predetermined priority process, and the bus master that outputs the bandwidth request performs arbitration based on the measured effective bandwidth. It is good. This makes it possible to determine an arbitration method when no bus master issues a bandwidth guarantee request and when a bus master that issues a bandwidth guarantee request does not issue a transfer request.
また、以上の調停回路において、帯域要求を出力しているバスマスタに関して、実効帯域が目標帯域に達している場合は所定の優先度処理に基づいた調停を行い、目標帯域に達していない場合は、所定の優先度処理に優先して転送許可を与えることとしてもよい。これにより、帯域保証が必要な場合と、不必要な場合の調停を一つの調停回路において矛盾無く組み合わせて動作させることができる。 Also, in the above arbitration circuit, for the bus master that is outputting the bandwidth request, if the effective bandwidth has reached the target bandwidth, arbitration based on the predetermined priority processing, and if the target bandwidth has not been reached, Transfer permission may be given in preference to predetermined priority processing. Thereby, the arbitration in the case where the bandwidth guarantee is necessary and the case where it is not necessary can be combined and operated in one arbitration circuit without any contradiction.
また、以上の調停回路において、帯域保証要求を出力し、かつ目標帯域に達していないバスマスタが複数存在する場合は、そのバスマスタ間の優先度をそれぞれの目標帯域に対する不足分に従って決定してもよい。これにより、複数のバスマスタが帯域保証を要求しかつ転送要求を出している場合、そのいずれを優先して転送許可を出すかを、帯域の不足分、つまりデータ転送の必要性の緊急度に応じて決めることができる。 Further, in the above arbitration circuit, when there are a plurality of bus masters that output a bandwidth guarantee request and have not reached the target bandwidth, the priority among the bus masters may be determined according to the shortage with respect to each target bandwidth. . As a result, when multiple bus masters request bandwidth guarantee and issue a transfer request, which one should be given priority for transfer permission depends on the lack of bandwidth, that is, the urgency of the need for data transfer Can be decided.
さらに、以上の調停回路において、帯域要求を出力し、かつ目標帯域に達していないバスマスタが複数存在する場合は、そのバスマスタ間の優先度をそれぞれの目標帯域に対する不足分の絶対値によって決定してもよい。これにより、複数のバスマスタが帯域保証を要求しかつ転送要求を出している場合、そのいずれを優先して転送許可を出すかを、帯域の不足分、つまりデータ転送の必要性の緊急度に応じて決めることができる。この際、緊急度を現時点で不足しているデータ数によって判断することにより、公平な調停を行うことができる。 Furthermore, in the above arbitration circuit, if there are multiple bus masters that output a bandwidth request and have not reached the target bandwidth, the priority between the bus masters is determined by the absolute value of the shortage with respect to each target bandwidth. Also good. As a result, when multiple bus masters request bandwidth guarantee and issue a transfer request, which one should be given priority for transfer permission depends on the lack of bandwidth, that is, the urgency of the need for data transfer Can be decided. At this time, fair arbitration can be performed by determining the degree of urgency based on the number of data lacking at the present time.
また、以上の調停回路において、帯域要求を出力し、かつ目標帯域に達していないバスマスタが複数存在する場合は、そのバスマスタ間の優先度をそれぞれの目標帯域に対する不足分の比率によって決定してもよい。これにより、複数のバスマスタが帯域保証を要求しかつ転送要求を出している場合、そのいずれを優先して転送許可を出すかを、帯域の不足分、つまりデータ転送の必要性の緊急度に応じて決めることができる。この際、転送データサイズ、一回の転送要求に要する時間など、マスタ毎に異なる特性を吸収して、より公平な調停を行うことができる。 In the above arbitration circuit, when there are a plurality of bus masters that output a bandwidth request and have not reached the target bandwidth, the priority between the bus masters may be determined by the ratio of the shortage to each target bandwidth. Good. As a result, when multiple bus masters request bandwidth guarantee and issue a transfer request, which one should be given priority for transfer permission depends on the lack of bandwidth, that is, the urgency of the need for data transfer Can be decided. At this time, different characteristics such as transfer data size, time required for one transfer request, and the like can be absorbed and more fair arbitration can be performed.
本発明のデータ転送制御装置は、データ転送が行われるバスを含んだコンピュータ全般に適用でき、また、コンピュータ制御が行われる各種画像形成装置(プリンタ,ファクシミリー等)、コンピュータ制御が行われる各種映像表示装置にも適用でき、さらに、コンピュータ制御が行われる各種家電製品に広く適用可能である。 The data transfer control device of the present invention can be applied to all computers including a bus to which data transfer is performed, and various image forming devices (printers, facsimiles, etc.) that are controlled by a computer, and various videos that are controlled by a computer. The present invention can be applied to display devices, and can be widely applied to various home appliances that are controlled by a computer.
10 プリンタ(画像形成装置)
11 プリンタコントローラ
12 プリンタエンジン(印刷部)
21 CPU
22 RAM
23 ROM
24 I/Oデバイス
25 システムコントローラ(データ転送装置)
31a CPUインターフェース(バスマスタ,転送制御部)
31b DMAコントローラ(バスマスタ,転送制御部)
31c エンジンインターフェース(バスマスタ,バスターゲット,転送制御部,画像データ転送制御部)
32a ROMコントローラ(バスターゲット)
32b RAMコントローラ(バスターゲット)
32c I/Oコントローラ(バスターゲット)
37 バス回路
41 転送回路
42 調停回路(データ転送制御装置)
51 優先度判定回路(優先度制御手段)
52 帯域測定回路(計測手段)
10 Printer (image forming device)
11
21 CPU
22 RAM
23 ROM
24 I /
31a CPU interface (bus master, transfer control unit)
31b DMA controller (bus master, transfer control unit)
31c Engine interface (bus master, bus target, transfer control unit, image data transfer control unit)
32a ROM controller (bus target)
32b RAM controller (bus target)
32c I / O controller (bus target)
37
51 Priority judgment circuit (priority control means)
52 Band measurement circuit (measuring means)
Claims (16)
上記複数の転送制御部のうちの所定の転送制御部によるデータ転送について、単位時間当たりの転送データ量を計測する計測手段と、
上記計測された単位時間当たりの転送データ量に応じて上記所定の転送制御部に設定される優先度を変更する優先度制御手段と、
を含むことを特徴とするデータ転送制御装置。 A plurality of transfer control units that control data transfer via the transfer circuit share the transfer circuit. When a data transfer request is received from each transfer control unit, each priority is set to each transfer control unit. Based on the data transfer control device for executing the data transfer by any one transfer control unit,
Measuring means for measuring the amount of transfer data per unit time for data transfer by a predetermined transfer control unit among the plurality of transfer control units;
Priority control means for changing the priority set in the predetermined transfer control unit according to the measured transfer data amount per unit time;
A data transfer control device comprising:
上記単位時間当たりの転送データ量が目標値以下の場合、目標値を超える場合よりも、上記所定の転送制御部に設定する優先度を向上させることを特徴とする請求項1に記載のデータ転送制御装置。 The priority control means is:
2. The data transfer according to claim 1, wherein when the transfer data amount per unit time is equal to or less than a target value, the priority set in the predetermined transfer control unit is improved as compared with a case where the transfer value exceeds the target value. Control device.
上記単位時間当たりの転送データ量が目標値以下の場合、上記所定の転送制御部に、最も高い優先度を設定することを特徴とする請求項2に記載のデータ転送制御装置。 The priority control means is:
3. The data transfer control device according to claim 2, wherein when the transfer data amount per unit time is equal to or less than a target value, the highest priority is set in the predetermined transfer control unit.
上記優先度制御手段は、
上記単位時間当たりの転送データ量が目標値以下の場合、上記所定の転送制御部に、上記所定規則に従った各優先度よりも高い優先度を上記最も高い優先度として設定し、他の転送制御部に、当該他の転送制御部に与えられている上記所定規則に従った優先度を設定し、
上記単位時間当たりの転送データ量が目標値を越える場合、上記所定の転送制御部に、上記所定規則に従って当該所定の転送制御部に与えられている優先度を設定し、他の転送制御部に、上記所定規則に従って当該他の転送制御部に与えられている優先度を設定することを特徴とする請求項3に記載のデータ転送制御装置。 A priority according to a predetermined rule is given to each transfer control unit,
The priority control means is:
When the transfer data amount per unit time is less than or equal to a target value, the priority higher than each priority according to the predetermined rule is set as the highest priority in the predetermined transfer control unit, and another transfer In the control unit, set the priority according to the predetermined rule given to the other transfer control unit,
When the amount of transfer data per unit time exceeds the target value, the priority given to the predetermined transfer control unit is set in the predetermined transfer control unit according to the predetermined rule, and the other transfer control unit is set. 4. The data transfer control device according to claim 3, wherein a priority given to the other transfer control unit is set according to the predetermined rule.
上記単位時間当たりの転送データ量が目標値以下の所定の転送制御部が複数ある場合、所定規則に従って各所定の転送制御部に与えられている各々の優先度に基づいて、いずれか一つの所定の転送制御部のみに、上記最も高い優先度を設定することを特徴とする請求項4に記載のデータ転送制御装置。 The priority control means is:
When there are a plurality of predetermined transfer control units whose transfer data amount per unit time is less than or equal to the target value, one of the predetermined transfer control units is determined based on each priority given to each predetermined transfer control unit according to a predetermined rule 5. The data transfer control device according to claim 4, wherein the highest priority is set only for the transfer control unit.
上記単位時間当たりの転送データ量が目標値以下の所定の転送制御部が複数ある場合、上記目標値に対する上記転送データ量の不足度を示した不足度パラメータが最も高い上記所定の転送制御部のみに、上記最も高い優先度を設定することを特徴とする請求項3または4に記載のデータ転送制御装置。 The priority control means is:
When there are a plurality of predetermined transfer control units whose transfer data amount per unit time is less than or equal to a target value, only the predetermined transfer control unit having the highest deficiency parameter indicating the deficiency of the transfer data amount with respect to the target value 5. The data transfer control device according to claim 3 or 4, wherein the highest priority is set.
上記所定の転送制御部が上記帯域保証要求を出力している期間中のみ、当該所定の転送制御部に制御されるデータ転送についての単位時間当たりの転送データ量を計測することを特徴とする請求項9に記載のデータ転送制御装置。 The measuring means is
The transfer data amount per unit time for data transfer controlled by the predetermined transfer control unit is measured only during a period when the predetermined transfer control unit outputs the bandwidth guarantee request. Item 12. The data transfer control device according to Item 9.
所定期間毎に、計測した単位時間当たりの転送データ量をリセットすることを特徴とする請求項1ないし10のいずれか1項に記載のデータ転送制御装置。 The measuring means is
11. The data transfer control device according to claim 1, wherein the measured transfer data amount per unit time is reset every predetermined period.
上記所定の転送制御部とは、上記印刷部に対する画像データの転送を制御する画像データ転送制御部であることを特徴とする画像形成装置。 An image forming apparatus comprising: the data transfer device according to claim 12; and a printing unit that performs processing for printing an image.
The predetermined transfer control unit is an image data transfer control unit that controls transfer of image data to the printing unit.
上記複数の転送制御部のうちの所定の転送制御部によるデータ転送について、単位時間当たりの転送データ量を計測する工程と、
上記計測された単位時間当たりの転送データ量に応じて上記所定の転送制御部に設定される優先度を変更する工程と、
を含むことを特徴とするデータ転送制御方法。 A plurality of transfer control units that control data transfer via the transfer circuit share the transfer circuit. When a data transfer request is received from each transfer control unit, each priority is set to each transfer control unit. Based on the data transfer control method for executing data transfer by any one transfer control unit,
A step of measuring a transfer data amount per unit time for data transfer by a predetermined transfer control unit among the plurality of transfer control units;
Changing the priority set in the predetermined transfer control unit according to the measured transfer data amount per unit time;
A data transfer control method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005174381A JP2006350573A (en) | 2005-06-14 | 2005-06-14 | Data transfer controller, data transfer control method, data transfer device, image forming device, data transfer control program and computer-readable recording medium recording control program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005174381A JP2006350573A (en) | 2005-06-14 | 2005-06-14 | Data transfer controller, data transfer control method, data transfer device, image forming device, data transfer control program and computer-readable recording medium recording control program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006350573A true JP2006350573A (en) | 2006-12-28 |
Family
ID=37646362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005174381A Pending JP2006350573A (en) | 2005-06-14 | 2005-06-14 | Data transfer controller, data transfer control method, data transfer device, image forming device, data transfer control program and computer-readable recording medium recording control program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006350573A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011065649A (en) * | 2009-09-15 | 2011-03-31 | Arm Ltd | Data processing apparatus and method for setting priority level of transaction |
JP2012161065A (en) * | 2011-01-14 | 2012-08-23 | Ricoh Co Ltd | Image processing apparatus and data transfer management method |
JP2012199788A (en) * | 2011-03-22 | 2012-10-18 | Renesas Electronics Corp | Information processing system and arbitration method |
JP2013250622A (en) * | 2012-05-30 | 2013-12-12 | Oki Data Corp | Image processor |
JP2018136866A (en) * | 2017-02-23 | 2018-08-30 | 富士ゼロックス株式会社 | Information processing apparatus and information processing program |
US10225198B2 (en) | 2015-08-24 | 2019-03-05 | Fujitsu Limited | Bandwidth control circuit, arithmetic processing apparatus, and bandwidth control method for apparatus |
-
2005
- 2005-06-14 JP JP2005174381A patent/JP2006350573A/en active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011065649A (en) * | 2009-09-15 | 2011-03-31 | Arm Ltd | Data processing apparatus and method for setting priority level of transaction |
US9201816B2 (en) | 2009-09-15 | 2015-12-01 | Arm Limited | Data processing apparatus and a method for setting priority levels for transactions |
JP2012161065A (en) * | 2011-01-14 | 2012-08-23 | Ricoh Co Ltd | Image processing apparatus and data transfer management method |
JP2012199788A (en) * | 2011-03-22 | 2012-10-18 | Renesas Electronics Corp | Information processing system and arbitration method |
JP2013250622A (en) * | 2012-05-30 | 2013-12-12 | Oki Data Corp | Image processor |
US10225198B2 (en) | 2015-08-24 | 2019-03-05 | Fujitsu Limited | Bandwidth control circuit, arithmetic processing apparatus, and bandwidth control method for apparatus |
JP2018136866A (en) * | 2017-02-23 | 2018-08-30 | 富士ゼロックス株式会社 | Information processing apparatus and information processing program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4485574B2 (en) | Access control device, access control integrated circuit, and access control method | |
WO2009119009A1 (en) | Access controller | |
KR102372289B1 (en) | Memory access system, method for controlling the same, computer-readable storage medium, and image forming apparatus | |
JP4907166B2 (en) | Resource management device | |
CN108463836B (en) | Image processing apparatus, image processing method, and image processing program | |
US9600426B2 (en) | Bus control device, image processing apparatus, and bus control method | |
US20130254444A1 (en) | Image processing apparatus | |
JP4436367B2 (en) | Arbitration apparatus, arbitration method, and moving picture processing apparatus including the arbitration apparatus that guarantee local concentrated access with a low bandwidth | |
JP2006350573A (en) | Data transfer controller, data transfer control method, data transfer device, image forming device, data transfer control program and computer-readable recording medium recording control program | |
JP2004287576A (en) | Bus controller | |
JP2009043089A (en) | Bus control device and bus control method | |
JP2016177481A (en) | Image processing device, image forming apparatus, and program | |
JP4898527B2 (en) | RESOURCE USE MANAGEMENT DEVICE, RESOURCE USE MANAGEMENT SYSTEM, AND RESOURCE USE MANAGEMENT DEVICE CONTROL METHOD | |
JP7381603B2 (en) | Data transfer device and data transfer method | |
JP6210022B2 (en) | Information processing apparatus and memory access arbitration method | |
US7747806B2 (en) | Resource use management device, resource use management system, and control method for a resource use management device | |
JP2007102509A (en) | Arbitration device | |
JP2006215621A (en) | Dma controller | |
JP2008165547A (en) | Communication control device | |
JP2007095089A (en) | Bus arbiter | |
JP2007219925A (en) | Bus controller, bus control program and recording medium | |
WO2020230413A1 (en) | Information processing device | |
JP2006053613A (en) | Data transfer controller and data transfer control method | |
US20180107613A1 (en) | Image Processing Apparatus, Method of Controlling Image Processing Apparatus, and Recording Medium | |
JP2006018661A (en) | Memory controller and memory control method |