JP2018084932A - Control circuit, control method thereof and program - Google Patents
Control circuit, control method thereof and program Download PDFInfo
- Publication number
- JP2018084932A JP2018084932A JP2016227213A JP2016227213A JP2018084932A JP 2018084932 A JP2018084932 A JP 2018084932A JP 2016227213 A JP2016227213 A JP 2016227213A JP 2016227213 A JP2016227213 A JP 2016227213A JP 2018084932 A JP2018084932 A JP 2018084932A
- Authority
- JP
- Japan
- Prior art keywords
- clock
- time
- target circuit
- supply
- circuit
- 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
Abstract
Description
本発明は、画像処理装置の省電力制御を行う制御回路、その制御方法及びプログラムに関する。 The present invention relates to a control circuit that performs power saving control of an image processing apparatus, a control method thereof, and a program.
近年の半導体集積回路の集積度の向上や処理能力の向上は消費電力の増大を招き、消費電力の削減対策が必須となっており、クロックゲーティングと呼ばれる、対象回路のクロックを停止して電力を削減する手法が存在している。 Improvements in the degree of integration and processing power of semiconductor integrated circuits in recent years have led to an increase in power consumption, and measures to reduce power consumption are essential. The clock of the target circuit, called clock gating, is stopped and power is reduced. There is a way to reduce this.
クロックゲーティング制御手法は大きく2つに大別される。1つは、クロックゲーティング対象回路の使用・未使用が静的に分かる場合に、ソフトウェアでクロックの供給・停止の制御を実施する手法である。もう1つは、より細かくクロックゲーティング制御を実施するために、ハードウェアで実施する方法である。 The clock gating control method is roughly divided into two. One is a method of controlling clock supply / stop by software when the use / non-use of a clock gating target circuit is statically known. The other is a method that is implemented in hardware in order to perform clock gating control more finely.
ハードウェアによるクロックゲーティングの制御手法として、特許文献1の方法がある。特許文献1の方法では、対象回路のクロック制御要求の発生から対象回路が実際に動作可能になるまでに時間差がある等の理由から、何らかのイベント・トリガの発生を検知し、時間差をおいてからクロックや電力を供給するように制御する。例えば、特許文献1では、スレーブデバイスが転送を受理する間隔を予測し、転送完了から次の転送が発生するまでの間、スレーブのクロックを停止させ、次のトランザクションを処理するのに間に合うように、電力状態を元に戻す、という技術が開示されている。
As a method for controlling clock gating by hardware, there is a method disclosed in
しかしながら、クロックゲーティング対象回路の復帰要求が発生してから、一定時間の計測後に、時間差をおいてクロックゲーティング対象回路のクロックを供給するケースにおいて、特許文献1の技術を適用すると、次のような問題があった。特許文献1の技術では、1個のカウンタのみを使用して時間差でクロック制御を行っている。しかしながら、短い時間の間に、複数回のクロックゲーティング対象回路の復帰要求が発生する場合に適用すると、1個のカウンタでは、全ての復帰要求に対してクロック制御のためのフラグ管理ができない点である。
However, in the case where the clock of the clock gating target circuit is supplied with a time lag after measurement for a certain time after the request for returning the clock gating target circuit is generated, the following technique is applied. There was a problem like this. In the technique of
一方で上記問題に対する解決策として、特許文献2に示す、複数の異なる、同時並行的に発生する複数のクロック制御要求イベントに対して、複数のカウンタを使用してクロック停止処理を行う、という先行技術を利用する方法がある。即ち、特許文献2の手法を適用すると、複数回の復帰要求に対応する複数のカウンタのそれぞれが全ての復帰要求に対してクロック制御のためのフラグ管理を行う。
On the other hand, as a solution to the above problem, the prior art of performing clock stop processing using a plurality of counters for a plurality of different clock control request events that occur in parallel as shown in
しかしながら、特許文献1及び特許文献2の方法では、クロックゲーティング対象回路に対して、クロックゲーティング対象回路に対して発行され得る復帰要求の最大回数(例えば、最大アウトスタンディング数)の分だけの複数のカウンタが必要となる。クロック供給を含む電力制御のための回路規模が大きくなるという問題がある。
However, in the methods of
本発明は上記の課題に鑑みてなされたものであり、クロックゲーティング対象回路に対して複数回の復帰要求が発生する場合でも、小さな回路規模でクロック供給の制御を含む電力制御を実現する制御回路を提供することを目的とする。また、その制御回路の制御方法及びプログラムを提供することを目的とする。 The present invention has been made in view of the above problems, and realizes power control including control of clock supply with a small circuit scale even when a plurality of return requests are generated for a clock gating target circuit. An object is to provide a circuit. It is another object of the present invention to provide a control method and program for the control circuit.
上記課題を解決するために、本発明に係る制御回路は、以下の構成を備える。対象回路に対してクロックを供給させ、又は前記対象回路に対するクロック供給を停止させる制御手段と、前記対象回路が所定処理を開始する前に、前記対象回路へのクロック供給を要求する供給要求を生成する第1生成手段と、前記第1生成手段によって前記供給要求が生成されると、第1時間の計測を開始し、該第1時間が経過した後に、クロック供給を指示する第1信号を生成し、前記制御手段に出力する第1計測手段と、前記対象回路が前記所定処理を完了した後に、前記対象回路へのクロック供給の停止を要求する停止要求を生成する第2生成手段と、前記第1計測手段が前記第1時間を計測している間に、前記第1生成手段によって供給要求が新たに生成されると、第2時間の計測を開始する第2計測手段と、前記第2時間が経過した後の場合に、前記第2生成手段によって前記停止要求が生成されると、前記対象回路へのクロック供給の停止を指示する第2信号を生成し、前記制御手段に出力し、前記第2計測手段が前記第2時間を計測している間の場合は、前記第2信号の生成を制限する第3生成手段と、を有し、前記制御手段は、前記第1信号を受信すると、前記対象回路に対してクロックを供給させ、前記第2信号を受信すると、前記対象回路に対するクロック供給を停止させるように制御することを特徴とする制御回路。 In order to solve the above problems, a control circuit according to the present invention has the following configuration. Control means for supplying a clock to the target circuit or stopping the clock supply to the target circuit, and generating a supply request for requesting the clock supply to the target circuit before the target circuit starts predetermined processing When the supply request is generated by the first generation unit and the first generation unit, measurement of the first time is started, and after the first time has elapsed, a first signal instructing clock supply is generated First measurement means for outputting to the control means; second generation means for generating a stop request for requesting stop of clock supply to the target circuit after the target circuit has completed the predetermined processing; and When a supply request is newly generated by the first generation unit while the first measurement unit is measuring the first time, the second measurement unit starts measuring the second time, and the second Over time When the stop request is generated by the second generation means, a second signal instructing to stop the clock supply to the target circuit is generated and output to the control means. When the measuring means is measuring the second time, it has a third generating means for restricting the generation of the second signal, and the control means receives the first signal, A control circuit that controls to stop the clock supply to the target circuit when the clock is supplied to the target circuit and the second signal is received.
本発明によれば、クロックゲーティング対象回路に対して複数回の復帰要求が発生する場合でも、小さな回路規模でクロック供給を含む電力制御を実現することができる。 According to the present invention, power control including clock supply can be realized with a small circuit scale even when a plurality of return requests are generated for a clock gating target circuit.
以下、本発明にかかる実施形態の制御回路に関して、図面を参照して詳細に説明する。なお、以下の実施形態は例示であり、本発明の範囲を限定するものではない。 Hereinafter, a control circuit according to an embodiment of the present invention will be described in detail with reference to the drawings. In addition, the following embodiment is an illustration and does not limit the scope of the present invention.
(第1の実施形態)
[装置の構成例]
図1のブロック図に本実施形態の画像処理用システムオンチップ100の構成例を示す。
(First embodiment)
[Device configuration example]
The block diagram of FIG. 1 shows a configuration example of the image processing system-on-
画像処理用のシステムオンチップ100は、情報処理を行うCPU10、画像処理を行う画像処理モジュール11、画像処理モジュール11のクロックの供給・非供給等の制御を行う供給モジュール21を備える。画像処理用のシステムオンチップ100は、本実施形態の画像処理装置を構成するシステムオンチップである。
The system-on-
本実施形態では、供給モジュール21は、WriteDMAC302のクロックの供給・停止などを制御し、WriteDMAC302の省電力化を図ることを例に詳細に説明するが、これに限定するわけではない。供給モジュール21は、WriteDMAC302のクロックの供給・停止だけではなく、WriteDMAC302の電源供給又は電源供給の停止を制御してもよい。また、供給モジュール21は、WriteDMAC302のクロック周波数を変更し、またはWriteDMAC302の電源電圧を変更するように制御してもよい。また、システムオンチップ100は、非図示の各モジュールが接続され、データ転送を司るバスモジュール30、揮発性の一時記憶装置であるDRAM200、DRAM200の制御を行うメモリコントローラであるMEMC20を備える。また、画像処理用システムオンチップ100は、各モジュールへのクロック信号を生成するクロックジェネレータやリセット信号を生成するリセットジェネレータ等を備えるが、図1では省略している。
In the present embodiment, the
[画像処理モジュール11の構成例]
図2のブロック図に本実施形態の画像処理モジュール11の構成例を示す。画像処理モジュール11は、ReadDMAC300、画像処理モジュール内の演算回路301、WriteDMAC302、WriteDMACクロックイネーブル制御モジュール303を備える。WriteDMACクロックイネーブル制御モジュール303は、本実施形態において、省電力制御を行う制御回路である。
[Configuration Example of Image Processing Module 11]
The block diagram of FIG. 2 shows a configuration example of the
以下に、画像処理モジュール11内の各モジュールの動作に関して、基本的なデータ処理フローにそって説明する。
Hereinafter, the operation of each module in the
まず、ReadDMAC300は、バスモジュール30を介してMEMC20にリードリクエストを発行し、DRAM200上の所定のアドレス領域のデータを読み込む。そして、ReadDMAC300は、画像処理モジュール内の演算回路301に対してDRAM200より受信したデータを転送する。このデータ転送の開始タイミングで、ReadDMAC内部バスデータ転送発生信号(パルス信号)がアサートされる。
First, the
次に、演算回路301は、ReadDMAC300から転送された入力データに対して画像処理演算などの所定の演算処理を行う。この演算回路301での画像処理演算などの所定の演算処理には400サイクルの時間を要するとする。画像処理モジュール内の演算回路301の処理が完了すると、演算回路301は、WriteDMAC302に対して画像処理を行ったデータの転送を行う。
Next, the
WriteDMAC302は、演算回路301より出力データを受信した後、バスモジュール30を介してMEMC20にライトリクエストを発行し、DRAM200上の所定のアドレス領域にデータを書き込む。このデータ書き込みが完了したタイミングで、WriteDMAC外部バスデータ転送完了信号(パルス信号)がアサートされる。また、WriteDMAC動作状態を示す信号は、WriteDMAC302が動作中の期間は常にアサートされ、非動作中の期間は常にネゲートされる。
The
また、WriteDMACクロックイネーブル制御モジュール303は、画像処理モジュール11内のデータ処理状況に応じて、供給モジュール21に対して、WriteDMAC302のクロック制御指示信号を送信することができる。本実施形態において、WriteDMAC302は、供給モジュール21によって、クロックの供給を制御されるクロックゲーティング対象回路である。なお、本実施形態では、クロックゲーティング対象回路の例として、WriteDMAC302について説明するが、所定処理を行う回路であれば、WriteDMAC302に限定されない。
The Write DMAC clock enable
[WriteDMACクロックイネーブル制御モジュール303の構成例]
図3のブロック図に本実施形態のWriteDMACクロックイネーブル制御モジュール303の構成例を示す。
[Configuration Example of Write DMAC Clock Enable Control Module 303]
The block diagram of FIG. 3 shows an example of the configuration of the Write DMAC clock enable
WriteDMACクロックイネーブル制御モジュール303は、クロックイネーブル生成カウンタ400、クロック停止要求マスク期間カウンタ401、クロックイネーブルネゲート指示生成回路403及びクロックイネーブル制御回路402を備える。第1計測部であるクロックイネーブル生成カウンタ400の計測対象は第一の所定時間500であり、第2計測部であるクロック停止要求マスク期間カウンタ401の計測対象は第二の所定時間501である。本実施形態では、第一の所定時間500及び第二の所定時間501の計測は、それぞれ設定されたクロック数を計測することによって実現する。本実施形態では、簡単のために、クロックイネーブル生成カウンタ400およびクロック停止要求マスク期間カウンタ401とWriteDMAC302のクロック周波数は同一であるとして説明する。しかし、これらのカウンタとWriteDMAC302のクロック周波数は異なる周波数で動作していても構わない。例えば、これらのカウンタの周波数をWriteDMAC302のクロック周波数の1/2に設定することで、クロック制御の精度は低下するが、同じ期間を測定する場合に、カウンタを構成するFFの個数を半分にすることができる。そうすると、カウンタの回路規模は約1/2になり、回路規模が1/2かつ周波数が1/2のため、カウンタの動作電力は約1/4に低下させることが可能になる。また、第1計測部及び第2計測部は、時間(サイクル数)を計測する回路であれば、カウンタに限らず、例えばレジスタによって構成することも可能である。
The Write DMAC clock enable
本実施形態では、図2に示すように、クロックゲーティング対象回路の一例として、WriteDMAC302について説明したが、所定処理を行う回路であれば本実施形態を適用することができる。また、クロックゲーティング対象回路が複数存在する場合は、クロックイネーブル生成カウンタ400とクロック停止要求マスク期間カウンタ401を、各クロックゲーティング対象回路の1個につき1組ずつ用意すればよい。各クロックゲーティング対象回路とクロックイネーブル生成カウンタ400とクロック停止要求マスク期間カウンタ401の関係は同様であるので、詳細な説明を省略する。
In the present embodiment, as shown in FIG. 2, the
また、WriteDMACクロックイネーブル制御モジュール303は、WriteDMACクロック供給要求信号生成回路304(第1生成回路)及びWriteDMACクロック停止要求信号生成回路305(第2生成回路)を備える。この二つのモジュールは、WriteDMACクロックイネーブル制御モジュール303に対して、WriteDMAC302へのクロック供給又はクロック供給停止を要求する信号を受信する。
The Write DMAC clock enable
これらのモジュールの動作詳細は、以下のフローチャートおよび波形を用いた動作説明の項で説明する。 Details of the operation of these modules will be described in the following flowchart and explanation of operation using waveforms.
[クロックイネーブル生成カウンタ400の動作フロー]
図4に本実施形態のクロックイネーブル生成カウンタ400の動作フローのフローチャートを示す。
[Operation Flow of Clock Enable Generation Counter 400]
FIG. 4 shows a flowchart of the operation flow of the clock enable
まず、ステップS11において、クロックイネーブル生成カウンタ400は、非カウント状態である。そして、ステップS12において、クロックイネーブル生成カウンタ400は、WriteDMACクロック供給要求信号が1の値であるかどうか、を毎サイクル判定する。WriteDMACクロック供給要求信号が0の場合は、クロックイネーブル生成カウンタ400は、ステップS11の非カウント状態を継続する。WriteDMACクロック供給要求信号が1の場合は、ステップS13に進み、クロックイネーブル生成カウンタ400は、カウント状態に移行する。そして、次のサイクルで、ステップS14において、クロックイネーブル生成カウンタ400は、クロックイネーブル生成カウンタ400の値を1にセットする。その後、ステップS15において、クロックイネーブル生成カウンタ400は、クロックイネーブル生成カウンタ400の値が第一の所定時間500の値と等しいかどうかを、毎サイクル判定する。クロックイネーブル生成カウンタ400の値が第一の所定時間500の値と等しくなければ、ステップS16において、クロックイネーブル生成カウンタ400は値を+1し、次のサイクルに再度ステップS15の判定を行う。クロックイネーブル生成カウンタ400の値が第一の所定時間500の値と等しければ、ステップS17において、クロックイネーブル生成カウンタ400は、クロックイネーブルアサート指示信号(第1信号)の値を1に変更する。そして、クロックイネーブル生成カウンタ400は、ステップS11の非カウント状態に戻る。
First, in step S11, the clock enable
[クロック停止要求マスク期間カウンタ401の動作フロー]
図5に本実施形態のクロック停止要求マスク期間カウンタ401の動作フローのフローチャートを示す。
[Operation Flow of Clock Stop Request Mask Period Counter 401]
FIG. 5 shows a flowchart of the operation flow of the clock stop request
まず、ステップS21において、クロック停止要求マスク期間カウンタ401は、非カウント状態である。そして、ステップS22において、クロック停止要求マスク期間カウンタ401は、WriteDMACクロック供給要求信号が1の値であるかどうか、を毎サイクル判定する。WriteDMACクロック供給要求信号が0の場合は、クロック停止要求マスク期間カウンタ401は、ステップS21の非カウント状態を継続する。WriteDMACクロック供給要求信号が1の場合は、クロック停止要求マスク期間カウンタ401は、ステップS22と同一サイクルにおいて、次のステップS23に移る。
First, in step S21, the clock stop request
ステップS23では、クロック停止要求マスク期間カウンタ401は、クロックイネーブル生成カウンタ400がカウント状態であるかどうかを判定する。クロックイネーブル生成カウンタ400が、カウント状態でない場合は、クロック停止要求マスク期間カウンタ401は、ステップS21の非カウント状態を継続する。クロックイネーブル生成カウンタ400が、カウント状態の場合は、クロック停止要求マスク期間カウンタ401は、ステップS24のカウント状態に移行する。ステップS25では、ステップS24と同一サイクルにおいて、クロック停止要求マスク期間カウンタ401は、WriteDMACクロック停止要求信号の無効化を開始する。具体的に、クロック停止要求マスク期間カウンタ401のカウント状態では、クロック停止要求マスク期間カウンタ401はクロックイネーブルネゲート指示生成回路403に対して、カウント中を示す信号を出力する。クロックイネーブルネゲート指示生成回路403は、クロック停止要求マスク期間カウンタ401のカウント中を示す信号を受信すると、クロックイネーブルネゲート指示信号を出力しないように、クロックイネーブルネゲート指示信号の生成を制限する。クロックイネーブルネゲート指示信号の生成が制限されるので、WriteDMACクロック停止要求信号が発生されても、クロックイネーブルネゲート指示信号が生成されず、WriteDMACクロック停止要求信号が無効化される。
In step S23, the clock stop request
そして、ステップS26では、次のサイクルで、クロック停止要求マスク期間カウンタ401は、クロック停止要求マスク期間カウンタ401の値を1にセットする。ステップS27では、ステップS26と同一サイクルで、クロック停止要求マスク期間カウンタ401は、WriteDMACクロック供給要求信号が1の値であるかどうか、を判定する。WriteDMACクロック供給要求信号が1の場合は、次のサイクルでステップS26に戻ることで、クロック停止要求マスク期間カウンタ401は値を再度1にセットし、カウンタ値のリセットを行う。これは、クロック停止要求マスク期間カウンタ401がカウント状態時にWriteDMACクロック供給要求信号がアサートされた場合に、カウンタのカウント期間を延長し、カウンタを何度も再利用するためである。WriteDMACクロック供給要求信号が0の場合は、ステップS27と同一サイクルにおいて、次のステップS28に移る。
In step S26, in the next cycle, the clock stop request
ステップS28では、クロック停止要求マスク期間カウンタ401は、クロック停止要求マスク期間カウンタ401の値が第二の所定時間501と等しいかどうかを判定する。クロック停止要求マスク期間カウンタ401の値が第二の所定時間501と等しくなければ、ステップS29では、クロック停止要求マスク期間カウンタ401は値を+1し、次のサイクルに再度ステップS27の判定を行う。ステップS30において、クロック停止要求マスク期間カウンタ401の値が第二の所定時間501と等しければ、クロック停止要求マスク期間カウンタ401は、WriteDMACクロック停止要求信号の無効化を終了する。そして、クロック停止要求マスク期間カウンタ401は、ステップS21の非カウント状態に戻る。
In step S28, the clock stop request
●単発の転送が発行された場合
図6に、本実施形態において単発の転送が発行された場合の、画像処理モジュール11のデータ処理およびWriteDMAC302のクロック停止処理に関して波形を用いて説明する。
When Single Transfer Is Issued FIG. 6 illustrates the data processing of the
まず、ReadDMAC300は、バスモジュール30を介してMEMC20にリードリクエストを発行し、DRAM200上の所定のアドレス領域のデータを読み込む(T0)。その際にReadDMAC外部バスデータ転送完了信号がアサートされる(T0)。そしてReadDMAC300は、画像処理モジュール内演算回路301に対してDRAM200より受信したデータを転送する(T2)。その際にReadDMAC内部バスデータ転送発生信号がアサートされる(T2)。それと同時にWriteDMACクロック供給要求信号生成回路304は、WriteDMACクロック供給要求信号をアサートする(T2)。
First, the
WriteDMACクロック供給要求信号のアサートを受け、クロックイネーブル生成カウンタ400は、時刻T3より第一の所定時間500の間、時間計測を行う(T3→T397)。本実施形態では第一の所定時間500は、395サイクルである。また、図3に示したクロックイネーブル生成カウンタのカウント中を示す信号(図6では不図示)は、クロックイネーブル生成カウンタ400がカウント中の期間(T3→T397)はアサートされ、非カウント中の期間はネゲートされる。図6の、クロックイネーブル生成カウンタ400がカウントを行っているサイクルにおいて、クロックイネーブル生成カウンタのカウント中を示す信号は常にアサートされている。
In response to the assertion of the Write DMAC clock supply request signal, the clock enable
次に、画像処理モジュール内の演算回路301は、ReadDMAC300から転送されたデータに対して画像処理演算を行う(T3→T402)。この画像処理モジュール内演算回路301内部での画像処理演算には400サイクルの時間を要するとする。
Next, the
T397において、クロックイネーブル生成カウンタ400の第一の所定時間500の時間計測が完了し、クロックイネーブル制御回路402に対してクロックイネーブルアサート指示信号がアサートされる。
At T397, the time measurement of the first predetermined time 500 of the clock enable
WriteDMAC302のクロックが供給され、WriteDMAC302が実際に動作を開始するのは、クロックイネーブルアサート指示信号のアサート後、5サイクルの後であるとする。T402において、WriteDMAC302のクロックが供給され、WriteDMAC302の動作が開始される。
It is assumed that the clock of the
T402において、画像処理モジュール内演算回路301の処理が完了し、画像処理モジュール内演算回路301は、WriteDMAC302に対して画像処理を行ったデータの転送を行う(T402)。
In T402, the processing in the image processing
WriteDMAC302は、画像処理モジュール内演算回路301より出力データを受信した後、バスモジュール30を介してMEMC20にライトリクエストを発行し、DRAM200上の所定のアドレス領域にデータを書き込む(T408)。その際にWriteDMAC外部バスデータ転送完了信号がアサートされる(T408)。それと同時にWriteDMACクロック停止要求信号生成回路305は、WriteDMACクロック停止要求信号をアサートする(T408)。また、WriteDMAC302がデータ処理を行っている間(T403→T408)、図3に示したWriteDMAC動作状態を示す信号(図6では不図示)はアサートされる。図6では、WriteDMAC動作状態が動作中となっているサイクルにおいて、WriteDMAC動作状態を示す信号は常にアサートされている。
The
WriteDMAC302とMEMC20間のデータ転送が完了すると、WriteDMAC302内に転送情報は存在しなくなり、WriteDMAC302をクロック停止状態に置くことができる。そのため、時刻T408において、WriteDMAC302とMEMC20間のデータ転送の完了と同時に、WriteDMACクロック停止要求信号生成回路305は、WriteDMACクロック停止要求信号をアサートする。同時に、クロックイネーブルネゲート指示生成回路403(第3生成回路)は、クロックイネーブル制御回路402に対して出力するクロックイネーブルネゲート指示信号(第2信号)をアサートする。即ち、クロックイネーブルネゲート指示生成回路403は、クロックイネーブルネゲート指示信号を生成し、クロックイネーブル制御回路402に出力する。
When the data transfer between the
WriteDMAC302のクロックが停止され、WriteDMAC302が実際に動作を停止するのは、クロックイネーブルネゲート指示信号のアサート後、5サイクル後であるとする。T413において、WriteDMAC302のクロックが停止され、WriteDMAC302の動作が停止される。
It is assumed that the clock of the
なお、図6では、クロック停止要求マスク期間カウンタ401は、図5に示したカウンタの起動要件を満たさないため、全サイクル期間において非カウント状態を継続する。
In FIG. 6, the clock stop request
●十分に長い間隔で、2連続の転送が発行された場合
十分に長い間隔で、2連続の転送が発行された場合は、それらの転送の間のWriteDMAC302が転送の処理を行っていない期間、WriteDMAC302のクロックを停止させることができる。
When two consecutive transfers are issued at a sufficiently long interval When two consecutive transfers are issued at a sufficiently long interval, the period during which the
上記の『十分に長い間隔』という文言は、先行の転送によりクロックイネーブル生成カウンタ400が使用されていない状態で後行の転送が発行され、後行の転送によりクロックイネーブル生成カウンタ400が使用可能な状態を意味する。
The phrase “sufficiently long interval” means that the subsequent transfer is issued in a state where the clock enable
図7に、十分に長い間隔で、本実施形態において2連続の転送が発行された場合の、画像処理モジュール11のデータ処理およびWriteDMAC302のクロック停止処理に関して波形を用いて説明する。
FIG. 7 illustrates the data processing of the
図7において、転送Aが先行の転送、転送Bが後行の転送であるとする。 In FIG. 7, it is assumed that transfer A is a preceding transfer and transfer B is a subsequent transfer.
転送AのT408までの処理内容は、先述した図6の『単発の転送が発行された場合』の説明内容と同一処理であるため、詳細な説明は省略する。T408においてWriteDMAC302における転送Aの処理が完了した結果、T413より、WriteDMAC302のクロックは停止される。
Since the processing content up to T408 of transfer A is the same processing as the description content of “when a single transfer is issued” in FIG. 6 described above, detailed description thereof is omitted. As a result of the completion of the transfer A process in the
T418において、転送Bが発行され、ReadDMAC300がMEMC20にリードリクエストを発行し、DRAM200上の所定のアドレス領域のデータを読み込む。そして、ReadDMAC300は、画像処理モジュール内演算回路301に対してDRAM200より受信したデータを転送する(T420)。それと同時にWriteDMACクロック供給要求信号生成回路304は、WriteDMACクロック供給要求信号をアサートする(T420)。
At T418, transfer B is issued,
そして、クロックイネーブル生成カウンタ400は、T421から第一の所定時間500(395サイクル)経過した後のT815において、クロックイネーブルアサート指示信号をアサートする。そして、さらに5サイクル後のT820にWriteDMAC302のクロックが供給される。
Then, the clock enable
その結果、転送Aの処理が完了しWriteDMAC302のクロックが停止されるT413から、転送Bが発行されてWriteDMAC302のクロックが供給されるT819までの期間、WriteDMAC302のクロックは停止する。その期間、WriteDMAC302の電力を削減することができる。
As a result, the clock of the
またT831では、WriteDMAC302における転送Bの処理完了に伴い、WriteDMAC302のクロックは停止する。
Further, at T831, the clock of the
なお、図7では、クロック停止要求マスク期間カウンタ401は、図5に示したカウンタの起動要件を満たさないため、全サイクル期間において非カウント状態を継続する。
In FIG. 7, the clock stop request
●短い間隔で、2連続の転送が発行された場合(ケース1)
短い間隔で、2連続の転送が発行された場合(ケース1)は、それらの転送の間のWriteDMAC302が転送の処理を行っていない期間でも、WriteDMAC302のクロックは停止されない。
● When two consecutive transfers are issued at short intervals (Case 1)
When two consecutive transfers are issued at a short interval (case 1), the clock of the
上記の『短い間隔』という文言は、先行の転送によりクロックイネーブル生成カウンタ400が使用されている状態で後行の転送が発行され、後行の転送によりクロックイネーブル生成カウンタ400が使用不可能な状態を意味する。
The phrase “short interval” means that the subsequent transfer is issued while the clock enable
本実施形態では、クロック停止要求マスク期間カウンタ401を利用して、後行の転送の発生から所定時間、WriteDMACクロック停止要求信号のアサートを無効化させる。こうすることで、WriteDMAC302のクロックが停止状態で、WriteDMAC302に後行の転送が到達することを防ぐ。
In this embodiment, the clock stop request
図8に、本実施形態において短い間隔で、2連続の転送が発行された場合(ケース1)の、画像処理モジュール11のデータ処理およびWriteDMAC302のクロック停止処理に関して波形を用いて説明する。
FIG. 8 illustrates the data processing of the
図8において、転送Aが先行の転送、転送Bが後行の転送であるとする。 In FIG. 8, it is assumed that transfer A is a preceding transfer and transfer B is a subsequent transfer.
転送AのT408までの処理内容は、先述した『単発の転送が発行された場合』の説明内容と同一処理であるため、詳細な説明は省略する。 Since the processing content up to T408 of transfer A is the same processing content as that described above in the case of “single transfer is issued”, detailed description thereof is omitted.
T8において、転送Bが発行され、ReadDMAC300がMEMC20にリードリクエストを発行し、DRAM200上の所定のアドレス領域のデータを読み込む。そしてReadDMAC300は、画像処理モジュール内演算回路301に対してDRAM200より受信したデータを転送する(T10)。それと同時にWriteDMACクロック供給要求信号生成回路304は、WriteDMACクロック供給要求信号をアサートする(T10)。
At T8, transfer B is issued,
しかしながら、転送Bに関するWriteDMACクロック供給要求信号がアサートされるT10の時点では、転送Aに関するクロックイネーブル生成カウンタ400の時間計測が実行中である。そのため、T10の時点では、転送Bに関するクロックイネーブル生成カウンタ400の時間計測を実行できない。
However, at time T10 when the Write DMAC clock supply request signal for transfer B is asserted, the time measurement of the clock enable
クロックイネーブル生成カウンタ400の時間計測が実行中に、新しくWriteDMACクロック供給要求信号がアサートされたため、クロック停止要求マスク期間カウンタ401が動作を開始する(T11)。具体的には、クロックイネーブル生成カウンタのカウント中を示す信号(図8では不図示)がアサート期間中(T11→T410)にWriteDMACクロック供給要求信号がアサートされたことで、本カウンタの動作が開始される(T11)。
Since the Write DMAC clock supply request signal is newly asserted during the time measurement of the clock enable
クロック停止要求マスク期間カウンタ401は、時刻T11より第二の所定時間501の間、時間計測を行う(T11→T410)。本実施形態では第二の所定時間501は、400サイクルである。また、図3に示したクロック停止要求マスク期間カウンタのカウント中を示す信号(図8では不図示)は、クロック停止要求マスク期間カウンタ401がカウント中の期間(T11→T410)はアサートされ、非カウント中の期間はネゲートされる。図8の、クロック停止要求マスク期間カウンタ401がカウントを行っているサイクルにおいて、クロック停止要求マスク期間カウンタのカウント中を示す信号は常にアサートされている。
The clock stop request
T408において、WriteDMAC302における転送Aの処理が完了し、WriteDMACクロック停止要求信号がアサートされる。しかしながら、T408の時点では転送Bによりクロック停止要求マスク期間カウンタ401が時間計測中である。そのため、クロックイネーブルネゲート指示生成回路403は、WriteDMACクロック停止要求信号のアサートを無視し、クロックイネーブルネゲート指示信号をアサートしない。即ち、クロックイネーブルネゲート指示信号の生成は、クロック停止要求マスク期間カウンタ401が計測中であることを示す信号によって制限される。そのため、転送Aの処理完了に伴う、WriteDMAC302のクロック停止要求は無効化される(T408)。その結果、WriteDMAC302が転送Bを処理しているT413以降も、WriteDMAC302のクロックは供給され続ける。
At T408, the processing of transfer A in the
具体的には、クロックイネーブルネゲート指示生成回路403は、クロック停止要求マスク期間カウンタのカウント中を示す信号、またはWriteDMAC動作状態を示す信号(図8では不図示)のいずれかがアサートされていない期間、以下の制御を行う。クロックイネーブルネゲート指示生成回路403は、当該期間はWriteDMACクロック停止要求信号のアサートを無視し、クロックイネーブルネゲート指示信号の生成を制限し、クロックイネーブルネゲート指示信号をアサートしない。クロックイネーブルネゲート指示生成回路403は、WriteDMAC302が動作時に、WriteDMAC302のクロックを不用意に停止させることを防止する機構である。なお、WriteDMAC302のクロック供給時の狭間の時間で、クロックを停止させないために、第1の実施形態に以下の構成を加えてもよい。クロックイネーブルアサート指示信号のアサートから、WriteDMACが動作を開始するまでの期間は、クロックイネーブルネゲート指示信号を無効化する。
Specifically, the clock enable negate
このように、転送Aと転送Bの発生間隔が短い場合は、以下のことがいえる。2つの転送間でWriteDMAC302のクロックを停止させないが、WriteDMAC302のクロックが停止状態時において、WriteDMAC302に転送Bが到達することを防止できる。
Thus, when the generation interval of transfer A and transfer B is short, the following can be said. Although the
このように、本実施形態では、クロックイネーブル生成カウンタ400およびクロック停止要求マスク期間カウンタ401の2つのカウンタを用いてクロック制御を行っており、クロック制御に必要な回路規模を小さく構成することができる。
Thus, in this embodiment, clock control is performed using the two counters of the clock enable
また、T421では、WriteDMAC302における転送Bの処理完了に伴い、WriteDMAC302のクロックは停止する。
Also, at T421, the
●短い間隔で、2連続の転送が発行された場合(ケース2)
図9に、短い間隔で、2連続の転送が発行された場合(ケース2)の、画像処理モジュール11のデータ処理およびWriteDMAC302のクロック停止処理に関して波形を用いて説明する。
● When two consecutive transfers are issued at short intervals (Case 2)
In FIG. 9, data processing of the
上記の『短い間隔』という文言は、先行の転送によりクロックイネーブル生成カウンタ400が使用されている状態で後行の転送が発行され、後行の転送によりクロックイネーブル生成カウンタ400が使用不可能な状態を意味する。
The phrase “short interval” means that the subsequent transfer is issued while the clock enable
図9において、転送Aが先行の転送、転送Bが後行の転送であるとする。 In FIG. 9, it is assumed that transfer A is a preceding transfer and transfer B is a subsequent transfer.
図8では転送Aと転送Bの間隔は8サイクルとかなり短かったが、図9では転送Aと転送Bの間隔は103サイクルとなる。図9での転送間隔(103サイクル)は図8のケース(8サイクル)よりも長いが、第一の所定時間500の395サイクルよりも短くなっている。 In FIG. 8, the interval between transfer A and transfer B is as short as 8 cycles, but in FIG. 9, the interval between transfer A and transfer B is 103 cycles. The transfer interval (103 cycles) in FIG. 9 is longer than the case (8 cycles) in FIG. 8, but is shorter than 395 cycles of the first predetermined time 500.
図9において図8との違いは、転送Aと転送Bの間隔が8サイクル→103サイクルに変更されているだけであり、個々の処理内容は違いがない。そのため、詳細な説明は省略する。 9 is different from FIG. 8 only in that the interval between transfer A and transfer B is changed from 8 cycles to 103 cycles, and there is no difference in individual processing contents. Therefore, detailed description is omitted.
図9では、T105において、転送BによりWriteDMACクロック供給要求信号がアサートされるが、転送Aによりクロックイネーブル生成カウンタ400が使用されている。そのため、T106→T410の期間、クロック停止要求マスク期間カウンタ401が動作する。
In FIG. 9, the Write DMAC clock supply request signal is asserted by transfer B at T105, but the clock enable
T408で、WriteDMAC302における転送Aの処理が完了し、WriteDMACクロック停止要求信号がアサートされる。しかしながら、T408の時点では転送Bによりクロック停止要求マスク期間カウンタ401が時間計測中である。そのためクロックイネーブルネゲート指示生成回路403は、WriteDMACクロック停止要求信号のアサートを無視し、クロックイネーブルネゲート指示信号をアサートしない。
At T408, the processing of the transfer A in the
その結果、転送Aの処理が完了後のT413から、転送BがWriteDMAC302に到達する直前のT504までの期間、WriteDMAC302のクロックは供給され続ける。そのため、2つの転送間でWriteDMAC302のクロックを停止させないが、WriteDMAC302のクロックが停止状態時において、WriteDMAC302に転送Bが到達することを防止できる。
As a result, the clock of the
●短い間隔で、3連続以上の転送が発行された場合
図10に、短い間隔で、3連続の転送が発行された場合の、画像処理モジュール11のデータ処理およびWriteDMAC302のクロック停止処理(第1の実施形態)に関して波形を用いて説明する。
FIG. 10 shows data processing by the
上記の『短い間隔』という文言は、先行の転送によりクロックイネーブル生成カウンタ400が使用されている状態で後行の転送が発行され、後行の転送によりクロックイネーブル生成カウンタ400が使用不可能な状態を意味する。
The phrase “short interval” means that the subsequent transfer is issued while the clock enable
図10において、1つ目の転送を転送A、2つ目の転送を転送B,3つ目の転送を転送Cとする。3つの転送による個々の処理内容は、図6や図8の説明内容と同様であり、詳細な説明は省略する。 In FIG. 10, the first transfer is transfer A, the second transfer is transfer B, and the third transfer is transfer C. The individual processing contents by the three transfers are the same as the explanation contents of FIG. 6 and FIG. 8, and the detailed explanation is omitted.
短い間隔で、3連続以上で転送が発行された場合、すなわちクロック停止要求マスク期間カウンタ401の時間計測中に、後行の転送によりWriteDMACクロック供給要求信号がアサートされた場合(T10)は、次の動作を行う。クロック停止要求マスク期間カウンタ401は現在の値をリセットし(T11)、再度第二の所定時間501の間、時間を計測する(T11→T410)。これにより、短い間隔で、3連続以上の転送が発行された場合でも、クロック停止要求マスク期間カウンタ401の計測時間をその都度延長させ、本カウンタを再利用することができる。このため、クロック停止要求マスク期間カウンタ401を複数用意しなくても、WriteDMAC302のクロックが停止状態で、WriteDMAC302に後行の転送が到達することを防ぐことができる。
When a transfer is issued at a short interval for 3 or more consecutive times, that is, when the Write DMAC clock supply request signal is asserted by the subsequent transfer during the time measurement of the clock stop request mask period counter 401 (T10), Perform the operation. The clock stop request
なお、T412において、WriteDMAC302における転送Bの処理完了に伴いWriteDMACクロック停止要求信号がアサートされている。この際にクロック停止要求マスク期間カウンタ401が非カウント状態にも関わらず、クロックイネーブルネゲート指示信号がアサートされていない。これはT412の時点で、転送CによりWriteDMACが使用されているため、この時点ではWriteDMACのクロックを停止させることができないためである。具体的には、T412ではWriteDMAC302が転送Cを処理しており、WriteDMAC動作状態を示す信号(図10では不図示)がアサートされている。そのため、クロックイネーブルネゲート指示生成回路403は、WriteDMACクロック停止要求信号のアサートを無視し、クロックイネーブルネゲート指示信号をアサートしない。
At T412, the Write DMAC clock stop request signal is asserted with the completion of transfer B processing in the
(第2の実施形態)
[装置の構成例]
第2の実施形態では、第1の実施形態の構成のうち、一部の構成のみが異なる。そのため、第1の実施形態と同じ構成部分に関しては説明を省略し、主に第2の実施形態が第1の実施形態と異なる部分を詳細に説明する。
(Second Embodiment)
[Device configuration example]
In the second embodiment, only a part of the configuration of the configuration of the first embodiment is different. Therefore, the description of the same components as those in the first embodiment will be omitted, and portions in which the second embodiment is different from the first embodiment will be mainly described in detail.
第2の実施形態の画像処理モジュール11の基本構成は、第1の実施形態の画像処理モジュール11の基本構成と同じであるので、その説明を省略する。本実施形態のWriteDMACクロックイネーブル制御モジュール303の構成は第1の実施形態と異なり、図11のブロック図に、本実施形態のWriteDMACクロックイネーブル制御モジュール303の構成例を示す。
Since the basic configuration of the
第2の実施形態では、第1の実施形態の構成に加えて、画像処理モジュール内演算回路301のデータのストール状態の発生を通知するデータストール状態通知手段600を備える。また、データストール状態通知手段600は、画像処理モジュール内演算回路301の内部状態を示す演算回路内部状態信号を受信する。
In the second embodiment, in addition to the configuration of the first embodiment, a data stall
データストール状態通知手段600は、演算回路内部状態信号の状態を確認して画像処理モジュール内演算回路301内部でデータ処理のストールが発生している期間を特定し、その期間の間、データストール状態通知信号をアサートする。
The data stall state notifying means 600 confirms the state of the arithmetic circuit internal state signal to identify a period during which data processing stall occurs inside the
クロックイネーブル生成カウンタ400およびクロック停止要求マスク期間カウンタ401は、データストール状態通知信号がアサートされている期間は、これらのカウンタの時間計測を中断させることができる。データ処理のストールが解消され、データストール状態通知信号がネゲートされると、クロックイネーブル生成カウンタ400およびクロック停止要求マスク期間カウンタ401は時間計測を再開する。
The clock enable
これにより、データのストール状態の発生により、画像処理モジュール11内での処理時間が遅延する場合でも、WriteDMAC302のクロック制御を正しく行うことができる。
Accordingly, even when the processing time in the
●短い間隔で、2連続の転送が発行された場合
図12に、短い間隔で、2連続の転送が発行された場合の、画像処理モジュール11のデータ処理およびWriteDMAC302のクロック停止処理(第2の実施形態)に関して波形を用いて説明する。
When two consecutive transfers are issued at short intervals FIG. 12 shows the data processing of the
上記の『短い間隔』という文言は、先行の転送によりクロックイネーブル生成カウンタ400が使用されている状態で後行の転送が発行され、後行の転送によりクロックイネーブル生成カウンタ400が使用不可能な状態を意味する。
The phrase “short interval” means that the subsequent transfer is issued while the clock enable
図12において、転送Aが先行の転送、転送Bが後行の転送であるとする。 In FIG. 12, it is assumed that transfer A is a preceding transfer and transfer B is a subsequent transfer.
2つの転送による個々の処理内容は、図6や図8の説明内容と同様であり、詳細な説明は省略する。 The individual processing contents by the two transfers are the same as the explanation contents of FIG. 6 and FIG. 8, and the detailed explanation is omitted.
T395において、画像処理モジュール内演算回路301のデータのストール状態が発生し、データストール状態通知信号のアサートが開始される。データストール状態通知信号のアサートは、T395からT398まで発生している。これに伴い、T396からT399までの期間は、クロックイネーブル生成カウンタ400およびクロック停止要求マスク期間カウンタ401は、時間計測を中断し、現在の値を保持する。時刻T399に、データのストール状態が解消され、データストール状態通知信号がネゲートされる。これにより、クロックイネーブル生成カウンタ400およびクロック停止要求マスク期間カウンタ401は、T400より時間計測を再開する。
At T395, a data stall state of the
本実施形態としては、第1の実施形態との差分という形で説明したが、本実施形態を第1の実施形態以外の実施形態と合わせて実施することが可能であることは、容易に理解できよう。 Although the present embodiment has been described in the form of a difference from the first embodiment, it is easily understood that the present embodiment can be implemented in combination with embodiments other than the first embodiment. I can do it.
(第3の実施形態)
[装置の構成例]
第3の実施形態では、第1の実施形態の構成のうち、一部の構成のみが異なる。そのため、第1の実施形態と同じ構成部分に関しては説明を省略し、主に第3の実施形態が第1の実施形態と異なる部分を、詳細に説明する。
(Third embodiment)
[Device configuration example]
In the third embodiment, only a part of the configuration of the configuration of the first embodiment is different. Therefore, description is abbreviate | omitted regarding the same component as 1st Embodiment, and the part from which 3rd Embodiment differs from 1st Embodiment is mainly demonstrated in detail.
第3の実施形態では、クロックイネーブル生成カウンタ400の内部構成のみが第1の実施形態と異なる。図13のブロック図に、第3の実施形態のクロックイネーブル生成カウンタ400の構成例を示す。
In the third embodiment, only the internal configuration of the clock enable
第3の実施形態では、第1の実施形態のWriteDMACクロックイネーブル制御モジュール303内の構成のうち、クロックイネーブル生成カウンタ400を、直列的に接続された複数のカウンタで分割構成する。本実施形態では、クロックイネーブル生成カウンタ400を4つのカウンタで分割構成する。分割したカウンタはそれぞれ、分割クロックイネーブル生成カウンタA700、分割クロックイネーブル生成カウンタB701、分割クロックイネーブル生成カウンタC702、分割クロックイネーブル生成カウンタD703と名称する。
In the third embodiment, among the configurations in the Write DMAC clock enable
また、このように分割した4つのカウンタは、それぞれ所定時間A800、所定時間B801、所定時間C802、所定時間D803を計測する。このように分割した上記4つの所定時間を合計すると、第1の実施形態の第一の所定時間500と等しくなる。 The four counters thus divided measure a predetermined time A800, a predetermined time B801, a predetermined time C802, and a predetermined time D803, respectively. The total of the four predetermined times divided in this way is equal to the first predetermined time 500 of the first embodiment.
このとき、初段の所定時間A800の値は、後段の所定時間B801、所定時間C802、所定時間D803と等しいか、より大きな値である必要がある。これは後述するように、初段の分割クロックイネーブル生成カウンタA700の時間計測中に、WriteDMACクロック供給要求信号がアサートされた場合のみ、クロック停止要求マスク期間カウンタ401を動作させるからである。
At this time, the value of the predetermined time A800 in the first stage needs to be equal to or larger than the predetermined time B801, the predetermined time C802, and the predetermined time D803 in the subsequent stage. This is because, as will be described later, the clock stop request
上記分割した4つのカウンタの動作は、以下の通りである。 The operation of the four divided counters is as follows.
まず、WriteDMACクロック供給要求信号がアサートされると、分割クロックイネーブル生成カウンタA700が所定時間A800の時間計測を開始する。分割クロックイネーブル生成カウンタA700の時間計測が終了すると、分割クロックイネーブル生成カウンタB701が所定時間B801の時間計測を開始する。 First, when the Write DMAC clock supply request signal is asserted, the divided clock enable generation counter A700 starts measuring time for a predetermined time A800. When the time measurement of the divided clock enable generation counter A700 is completed, the divided clock enable generation counter B701 starts measuring the predetermined time B801.
同様に、分割クロックイネーブル生成カウンタB701の時間計測が終了すると、分割クロックイネーブル生成カウンタC702が所定時間C802の時間計測を開始する。 Similarly, when the time measurement of the divided clock enable generation counter B 701 is completed, the divided clock enable generation counter C 702 starts measuring the predetermined time C 802.
同様に、分割クロックイネーブル生成カウンタC702の時間計測が終了すると、分割クロックイネーブル生成カウンタD703が所定時間D803の時間計測を開始する。 Similarly, when the time measurement of the divided clock enable generation counter C702 is completed, the divided clock enable generation counter D703 starts measuring the predetermined time D803.
最後に、分割クロックイネーブル生成カウンタD703の時間計測が終了すると、クロックイネーブル制御回路402に対してクロックイネーブルアサート指示信号がアサートされる。その後、WriteDMAC302のクロックが供給され、WriteDMAC302の動作が開始される。
Finally, when the time measurement of the divided clock enable generation counter D703 is completed, a clock enable assert instruction signal is asserted to the clock enable
第3の実施形態では、初段の分割クロックイネーブル生成カウンタA700が時間計測中に、WriteDMACクロック供給要求信号がアサートされた場合のみ、クロック停止要求マスク期間カウンタ401を動作させる。すなわち、第3の実施形態では、クロックイネーブル生成カウンタのカウント中を示す信号は、初段の分割クロックイネーブル生成カウンタA700がカウント中の期間はアサートされ、非カウント中の期間はネゲートされる。
In the third embodiment, the clock stop request
一方で、第1の実施形態では、クロックイネーブル生成カウンタ400全体が時間計測中に、WriteDMACクロック供給要求信号がアサートされると、クロック停止要求マスク期間カウンタ401を動作させる。
On the other hand, in the first embodiment, if the Write DMAC clock supply request signal is asserted while the entire clock enable
第3の実施形態のカウンタ4分割の例では、所定時間A800は第一の所定時間500の1/4程度の値に構成することができる。このクロックイネーブル生成カウンタ400を分割構成することで、カウンタを分割構成しない場合(第1の実施形態)と比較して、より短い発行間隔の転送間でもクロックを停止できるようになる。
In the example of the four-counter division of the third embodiment, the predetermined time A800 can be configured to be a value that is about ¼ of the first predetermined time 500. By dividing the clock enable
第1の実施形態の第一の所定時間500は395サイクルであり、第3の実施形態のカウンタ4分割の例では、各分割した計測時間は以下のように設定される。所定時間A800は100サイクル、所定時間B801は100サイクル、所定時間C802は100サイクル、所定時間D803は95サイクルである。 The first predetermined time 500 of the first embodiment is 395 cycles, and in the example of the counter four division of the third embodiment, the divided measurement times are set as follows. The predetermined time A800 is 100 cycles, the predetermined time B801 is 100 cycles, the predetermined time C802 is 100 cycles, and the predetermined time D803 is 95 cycles.
そのため、第1の実施形態では各転送間隔が395サイクル以下の場合、転送間にWriteDMAC302のクロックは停止しなくなる。その一方で第3の実施形態では各転送間隔が100サイクル以下の場合に、転送間にWriteDMAC302のクロックは停止しなくなり、カウンタ分割によりクロックが停止する時間粒度をより細かくできる。
Therefore, in the first embodiment, when each transfer interval is 395 cycles or less, the
[分割クロックイネーブル生成カウンタA700の動作フロー]
図14に、第3の実施形態の分割クロックイネーブル生成カウンタA700の動作フローのフローチャートを示す。
[Operation Flow of Divided Clock Enable Generation Counter A700]
FIG. 14 shows a flowchart of the operation flow of the divided clock enable generation counter A700 of the third embodiment.
まず、ステップS41において、分割クロックイネーブル生成カウンタA700は、非カウント状態である。そして、ステップS42において、分割クロックイネーブル生成カウンタA700は、WriteDMACクロック供給要求信号が1の値であるかどうか、を毎サイクル判定する。WriteDMACクロック供給要求信号が0の場合は、分割クロックイネーブル生成カウンタA700は、ステップS41の非カウント状態を継続する。WriteDMACクロック供給要求信号が1の場合は、分割クロックイネーブル生成カウンタA700は、ステップS43のカウント状態に移行する。 First, in step S41, the divided clock enable generation counter A700 is in a non-count state. In step S42, the divided clock enable generation counter A700 determines whether or not the Write DMAC clock supply request signal has a value of 1 every cycle. When the Write DMAC clock supply request signal is 0, the divided clock enable generation counter A700 continues the non-count state of step S41. When the Write DMAC clock supply request signal is 1, the divided clock enable generation counter A700 shifts to the count state of step S43.
そして、ステップS44において、次のサイクルで、分割クロックイネーブル生成カウンタA700は、分割クロックイネーブル生成カウンタA700の値を1にセットする。その後、ステップS45において、分割クロックイネーブル生成カウンタA700は、分割クロックイネーブル生成カウンタA700の値が所定時間A800の値と等しいかどうかを、毎サイクル判定する。分割クロックイネーブル生成カウンタA700の値が所定時間A800の値と等しくなければ、ステップS46において、分割クロックイネーブル生成カウンタA700が値を+1し、次のサイクルに再度ステップS45の判定を行う。分割クロックイネーブル生成カウンタA700の値が所定時間A800の値と等しければ、ステップS47において、分割クロックイネーブル生成カウンタA700は、後段のカウンタである分割クロックイネーブル生成カウンタB701の起動指示を行う。そして、分割クロックイネーブル生成カウンタA700は、ステップS41の非カウント状態に戻る。 In step S44, the divided clock enable generation counter A700 sets the value of the divided clock enable generation counter A700 to 1 in the next cycle. Thereafter, in step S45, the divided clock enable generation counter A700 determines whether or not the value of the divided clock enable generation counter A700 is equal to the value of the predetermined time A800 every cycle. If the value of the divided clock enable generation counter A700 is not equal to the value of the predetermined time A800, the divided clock enable generation counter A700 increments the value by 1 in step S46, and the determination in step S45 is performed again in the next cycle. If the value of the divided clock enable generation counter A700 is equal to the value of the predetermined time A800, in step S47, the divided clock enable generation counter A700 issues a start instruction for the divided clock enable generation counter B701, which is a subsequent counter. Then, the divided clock enable generation counter A700 returns to the non-count state in step S41.
なお、クロックイネーブル生成カウンタ400の分割数が4から変化した場合でも、初段のカウンタに関しては、図14の動作説明が適用できる。
Even when the number of divisions of the clock enable
[分割クロックイネーブル生成カウンタB701の動作フロー]
図15に、第3の実施形態の分割クロックイネーブル生成カウンタB701の動作フローのフローチャートを示す。
[Operation Flow of Divided Clock Enable Generation Counter B701]
FIG. 15 shows a flowchart of the operation flow of the divided clock enable generation counter B 701 of the third embodiment.
まず、ステップS51において、分割クロックイネーブル生成カウンタB701は、非カウント状態である。そして、ステップS52において、前段のカウンタである分割クロックイネーブル生成カウンタA700のカウント状態が完了し、前段のカウンタがカウント状態から非カウント状態に移行したかどうか、を毎サイクル判定する。前段のカウンタがカウント状態から非カウント状態に移行していない場合は、分割クロックイネーブル生成カウンタB701は、ステップS51の非カウント状態を継続する。前段のカウンタがカウント状態から非カウント状態に移行した場合は、分割クロックイネーブル生成カウンタB701は、ステップS53のカウント状態に移行する。 First, in step S51, the divided clock enable generation counter B 701 is in a non-count state. In step S52, it is determined every cycle whether or not the count state of the divided clock enable generation counter A700, which is the preceding stage counter, is completed and the preceding stage counter has shifted from the counting state to the non-counting state. If the preceding counter has not shifted from the count state to the non-count state, the divided clock enable generation counter B 701 continues the non-count state in step S51. When the counter at the previous stage shifts from the count state to the non-count state, the divided clock enable generation counter B 701 shifts to the count state of step S53.
そして、ステップS54において、次のサイクルで、分割クロックイネーブル生成カウンタB701は、分割クロックイネーブル生成カウンタB701の値を1にセットする。その後、ステップS55において、分割クロックイネーブル生成カウンタB701は、分割クロックイネーブル生成カウンタB701の値が所定時間B801の値と等しいかどうかを、毎サイクル判定する。分割クロックイネーブル生成カウンタB701の値が所定時間B801の値と等しくなければ、ステップS56において、分割クロックイネーブル生成カウンタB701は値を+1し、次のサイクルに再度ステップS55の判定を行う。分割クロックイネーブル生成カウンタB701の値が所定時間B801の値と等しければ、ステップS57において、分割クロックイネーブル生成カウンタB701は、後段のカウンタである分割クロックイネーブル生成カウンタC702の起動指示を行う。そして、分割クロックイネーブル生成カウンタB701は、ステップS51の非カウント状態に戻る。 In step S54, in the next cycle, the divided clock enable generation counter B701 sets the value of the divided clock enable generation counter B701 to 1. Thereafter, in step S55, the divided clock enable generation counter B701 determines whether or not the value of the divided clock enable generation counter B701 is equal to the value of the predetermined time B801 every cycle. If the value of the divided clock enable generation counter B 701 is not equal to the value of the predetermined time B 801, the divided clock enable generation counter B 701 increments the value by 1 in step S 56 and performs the determination of step S 55 again in the next cycle. If the value of the divided clock enable generation counter B 701 is equal to the value of the predetermined time B 801, in step S 57, the divided clock enable generation counter B 701 issues a start instruction for the divided clock enable generation counter C 702 which is a subsequent stage counter. Then, the divided clock enable generation counter B 701 returns to the non-count state in step S51.
なお、クロックイネーブル生成カウンタ400の分割数が4から変化した場合でも、初段と最終段を除く中段のカウンタに関しては、図15の動作説明が適用できる。分割クロックイネーブル生成カウンタC702の動作フローは、分割クロックイネーブル生成カウンタB701の動作フローと同一であるので、詳細な説明は省略する。
Even when the number of divisions of the clock enable
[分割クロックイネーブル生成カウンタD703の動作フロー]
図16に、第3の実施形態の分割クロックイネーブル生成カウンタD703の動作フローのフローチャートを示す。
[Operation Flow of Divided Clock Enable Generation Counter D703]
FIG. 16 shows a flowchart of the operation flow of the divided clock enable generation counter D703 of the third embodiment.
まず、ステップS71において、分割クロックイネーブル生成カウンタD703は、非カウント状態である。そして、ステップS72において、前段のカウンタである分割クロックイネーブル生成カウンタC702のカウント状態が完了し、前段のカウンタがカウント状態から非カウント状態に移行したかどうか、を毎サイクル判定する。前段のカウンタがカウント状態から非カウント状態に移行していない場合は、分割クロックイネーブル生成カウンタD703は、ステップS71の非カウント状態を継続する。前段のカウンタがカウント状態から非カウント状態に移行した場合は、ステップS73において、分割クロックイネーブル生成カウンタD703は、カウント状態に移行する。 First, in step S71, the divided clock enable generation counter D703 is in a non-counting state. Then, in step S72, it is determined every cycle whether or not the count state of the divided clock enable generation counter C702 that is the preceding stage counter is completed and the preceding stage counter has shifted from the counting state to the non-counting state. When the preceding counter has not shifted from the count state to the non-count state, the divided clock enable generation counter D703 continues the non-count state of step S71. When the preceding counter shifts from the count state to the non-count state, in step S73, the divided clock enable generation counter D703 shifts to the count state.
そして、次のサイクルで、ステップS74において、分割クロックイネーブル生成カウンタD703は、分割クロックイネーブル生成カウンタD703の値を1にセットする。その後、ステップS75において、分割クロックイネーブル生成カウンタD703は、分割クロックイネーブル生成カウンタD703の値が所定時間D803の値と等しいかどうかを、毎サイクル判定する。分割クロックイネーブル生成カウンタD703の値が所定時間D803の値と等しくなければ、ステップS76において、分割クロックイネーブル生成カウンタD703は値を+1し、次のサイクルに再度ステップS75の判定を行う。分割クロックイネーブル生成カウンタD703の値が所定時間D803の値と等しければ、ステップS77において、分割クロックイネーブル生成カウンタD703は、クロックイネーブルアサート指示信号の値を1に変更する。そして、分割クロックイネーブル生成カウンタD703は、ステップS71の非カウント状態に戻る。 In the next cycle, in step S74, the divided clock enable generation counter D703 sets the value of the divided clock enable generation counter D703 to 1. Thereafter, in step S75, the divided clock enable generation counter D703 determines whether or not the value of the divided clock enable generation counter D703 is equal to the value of the predetermined time D803 every cycle. If the value of the divided clock enable generation counter D703 is not equal to the value of the predetermined time D803, the divided clock enable generation counter D703 increments the value by 1 in step S76, and performs the determination of step S75 again in the next cycle. If the value of the divided clock enable generation counter D703 is equal to the value of the predetermined time D803, the divided clock enable generation counter D703 changes the value of the clock enable assert instruction signal to 1 in step S77. Then, the divided clock enable generation counter D703 returns to the non-count state in step S71.
なお、クロックイネーブル生成カウンタ400の分割数が4から変化した場合でも、最終段のカウンタに関しては、図16の動作説明が適用できる。
Even when the number of divisions of the clock enable
本実施形態のクロック停止要求マスク期間カウンタ401の基本的な動作は、図5の第1の実施形態のクロック停止要求マスク期間カウンタ401の動作フローと同一なので、第1の実施形態と違いがある箇所に関してのみ詳細に説明する。
The basic operation of the clock stop request
図5のステップS23では、クロックイネーブル生成カウンタ400が、カウント状態であるかどうかを判定し、その後、ステップS24に移行してクロック停止要求マスク期間カウンタ401をカウント状態にしていた。一方で、本実施形態では、分割したクロックイネーブル生成カウンタ400の初段のカウンタである、分割クロックイネーブル生成カウンタA700が、カウント状態であるかどうかを判定している。
In step S23 of FIG. 5, it is determined whether or not the clock enable
第1の実施形態では、クロックイネーブル生成カウンタ400全体の計測対象である第一の所定時間500は、395サイクルである。一方で、本実施形態では、分割クロックイネーブル生成カウンタA700の計測対象である分割第一の時間A800は、100サイクルである。このため、クロックイネーブル生成カウンタ400を分割構成することで、各転送間でクロックが停止する時間粒度をより細かくできる。
In the first embodiment, the first predetermined time 500 that is the measurement target of the entire clock enable
●短い間隔で、2連続の転送が発行されるが、クロックが停止する場合
図17に、短い間隔で、2連続の転送が発行された場合の、第3の実施形態の画像処理モジュール11のデータ処理およびWriteDMAC302のクロック停止処理に関して波形を用いて説明する。
When two continuous transfers are issued at short intervals but the clock stops FIG. 17 shows the
図17において、転送Aが先行の転送、転送Bが後行の転送であるとする。 In FIG. 17, it is assumed that transfer A is a preceding transfer and transfer B is a subsequent transfer.
図17では、第1の実施形態の図9の例と同じ間隔で転送Aと転送Bが発行されており、各転送が処理されるタイミングは、図17と図9の例で同一である。しかし、図9では単一構成のクロックイネーブル生成カウンタ400が、図17では4つのカウンタに分割構成されている点が異なる。
In FIG. 17, transfer A and transfer B are issued at the same interval as the example of FIG. 9 of the first embodiment, and the timing at which each transfer is processed is the same in the examples of FIG. 17 and FIG. However, FIG. 9 is different in that the clock enable
このため、図17と図9では、以下のような違いが生じている。 For this reason, the following differences occur between FIG. 17 and FIG.
図9の時刻T105では、クロックイネーブル生成カウンタ400の時間計測が実行中に、新しくWriteDMACクロック供給要求信号がアサートされる。そのため、転送Bに関してクロックイネーブル生成カウンタ400を動作させることができず、クロック停止要求マスク期間カウンタ401が動作を開始している。その結果、T413→T504の転送Aと転送Bの間に、WriteDMAC302のクロックを停止させることができない。
At time T105 in FIG. 9, a new Write DMAC clock supply request signal is asserted while the clock enable
一方で、図17の時刻T105では、分割クロックイネーブル生成カウンタA700の時間計測が完了後に、新しくWriteDMACクロック供給要求信号がアサートされる。そのため、転送Bに関して分割クロックイネーブル生成カウンタA700を動作させることができ、クロック停止要求マスク期間カウンタ401は動作を開始しない。その結果、T413→T504の転送Aと転送Bの間に、WriteDMAC302のクロックを停止させることができる。
On the other hand, at time T105 in FIG. 17, after the time measurement of the divided clock enable generation counter A700 is completed, a new Write DMAC clock supply request signal is asserted. Therefore, the divided clock enable generation counter A700 can be operated for the transfer B, and the clock stop request
図17の時刻T105での転送Bの発生により、時刻T106から分割クロックイネーブル生成カウンタA700がカウントを開始し、394サイクル後のT500(非図示)において、分割クロックイネーブル生成カウンタD703のカウントが完了する。そして、クロックイネーブル制御回路402に対してクロックイネーブルアサート指示信号がアサートされる。さらに5サイクル後の時刻T505に、クロック供給が停止されていたWriteDMAC302に対して、クロックが供給される。
The generation of transfer B at time T105 in FIG. 17 causes the divided clock enable generation counter A700 to start counting from time T106, and the counting of the divided clock enable generation counter D703 is completed at T500 (not shown) after 394 cycles. . Then, a clock enable assert instruction signal is asserted to the clock enable
本実施形態としては、第1の実施形態との差分という形で説明したが、本実施形態を、第1の実施形態以外の実施形態と合わせて実施することが可能であることは、容易に理解できよう。 Although the present embodiment has been described in the form of a difference from the first embodiment, it is easy to implement this embodiment together with embodiments other than the first embodiment. I understand.
(第4の実施形態)
第4の実施形態では、第1の実施形態と同一構成において、各カウンタが適切な値の設定する方法を説明する。
(Fourth embodiment)
In the fourth embodiment, a method in which each counter sets an appropriate value in the same configuration as the first embodiment will be described.
第1の実施形態では、クロックイネーブル生成カウンタ400が第一の所定時間500を、クロック停止要求マスク期間カウンタ401が第二の所定時間501を計測することで、WriteDMAC302のクロック制御を行っている。
In the first embodiment, the clock enable generation counter 400 measures the first predetermined time 500 and the clock stop request mask period counter 401 measures the second predetermined time 501 so that the
本実施形態では、これらのカウンタの計測すべき時間の値が変動する場合に、第一の所定時間500および第二の所定時間501に適切な値を設定する方法の一例について述べる。 In the present embodiment, an example of a method of setting appropriate values for the first predetermined time 500 and the second predetermined time 501 when the values of the times to be measured by these counters vary will be described.
本実施形態では、画像処理モジュール内の演算回路301内部での画像処理演算に、最小で350サイクル、最大で450サイクルの時間を要し、この範囲内で処理時間が変動するものとする。一方でWriteDMAC302のクロックが供給され、WriteDMAC302が実際に動作を開始するのは、クロックイネーブルアサート指示信号のアサート後、第1の実施形態と同じく5サイクル後であるとする。
In the present embodiment, it is assumed that an image processing operation within the
この場合、WriteDMACクロック供給要求信号のアサートから、WriteDMAC302に転送が到達するまでの時間は、最小で350サイクル、最大で450サイクルとなる。
In this case, the time from when the Write DMAC clock supply request signal is asserted until the transfer reaches the
一方で、WriteDMAC302のクロック供給からWriteDMAC302の動作開始までの時間差(5サイクル)を考慮すると、以下のことがいえる。すなわち、WriteDMACクロック供給要求信号のアサートから、クロックイネーブルアサート指示信号のアサートまでの時間は、最小で345サイクル、最大で445サイクルを設定するのが適切である。
On the other hand, considering the time difference (5 cycles) from the clock supply of the
クロックイネーブル生成カウンタ400は、WriteDMAC302のクロックの供給制御を行っている。
The clock enable
そのため、確実なクロック制御という観点では、本カウンタの計測対象の時間が変動する場合は、早めにクロックを供給させるように制御することが好ましい。そのため、第4の実施形態では、第一の所定時間500として、WriteDMACクロック供給要求信号のアサートから、クロックイネーブルアサート指示信号のアサートまでの時間の最小値である、345サイクルを設定する。 Therefore, from the viewpoint of reliable clock control, it is preferable to perform control so that the clock is supplied as soon as possible when the measurement target time of the counter fluctuates. Therefore, in the fourth embodiment, the first predetermined time 500 is set to 345 cycles, which is the minimum value of the time from the assertion of the Write DMAC clock supply request signal to the assertion of the clock enable assert instruction signal.
一方でクロック停止要求マスク期間カウンタ401は、短い間隔で転送が発生した場合に、後行の転送に関して、WriteDMAC302のクロックが停止状態時にWriteDMAC302に転送が到達することを防ぐことを目的としている。クロック停止要求マスク期間カウンタ401は、短い間隔で転送が発生した場合に、所定時間、WriteDMACクロック停止要求信号のアサートを無効化し、WriteDMAC302のクロックが不用意に停止しないように制御する。
On the other hand, the clock stop request
そのため、確実なクロック制御という観点では、本カウンタの計測対象の時間が変動する場合は、できるだけ長くWriteDMAC302のクロックが停止しないように制御することが好ましい。そのため第4の実施形態では、第二の所定時間501として、WriteDMACクロック供給要求信号のアサートから、WriteDMAC302に転送が到達するまでの時間の最大値である、450サイクルを設定する。
Therefore, from the viewpoint of reliable clock control, when the time to be measured by this counter varies, it is preferable to perform control so that the clock of the
このように、データ処理時間が変動する等して、これらのカウンタの計測すべき時間の値が変動する場合には、以下の対策が有効である。クロックイネーブル生成カウンタ400の計測対象の第一の所定時間500には変動値のうち最小値を、クロック停止要求マスク期間カウンタ401の計測対象の第二の所定時間501には変動値のうち最大値を使用する。
Thus, when the value of the time to be measured by these counters fluctuates due to fluctuations in the data processing time, the following measures are effective. The minimum value among the fluctuation values is measured at the first predetermined time 500 to be measured by the clock enable
こうすることで、WriteDMAC302のクロックが停止状態時にWriteDMAC302に転送が到達することを防ぐように、WriteDMAC302のクロック制御を堅実に行うことができる。
By doing so, the clock control of the
●カウンタの計測すべき時間の値が変動する場合
以下に、本実施形態において、カウンタの計測すべき時間の値が変動する場合の、画像処理モジュール11のデータ処理およびWriteDMAC302のクロック停止処理に関して波形を用いて説明する。
When the value of the time to be measured by the counter fluctuates In the following, in this embodiment, the waveform regarding the data processing of the
前述した通り、画像処理モジュール内演算回路301内部での画像処理演算に、最小で350サイクル、最大で450サイクルの時間を要するとする。またクロックイネーブル生成カウンタ400の計測対象の第一の所定時間500には最小値の345サイクルを、クロック停止要求マスク期間カウンタ401の計測対象の第二の所定時間501には最大値の450サイクルを使用する。
As described above, it is assumed that a minimum of 350 cycles and a maximum of 450 cycles are required for the image processing calculation in the
以下に、画像処理モジュール内演算回路301内部での画像処理演算に、それぞれ、350サイクル(最小値)、400サイクル(中央値)、450サイクル(最大値)要する場合の動作に関して、個別に説明する。
In the following, the operation in the case where 350 cycles (minimum value), 400 cycles (median value), and 450 cycles (maximum value) are required for the image processing calculation in the
・画像処理演算に350サイクル(最小値)要する場合
図18に、第4の実施形態の画像処理演算に350サイクル(最小値)要する場合の処理に関して波形を用いて説明する。
When the image processing calculation requires 350 cycles (minimum value) FIG. 18 illustrates the processing when the image processing calculation according to the fourth embodiment requires 350 cycles (minimum value) using waveforms.
図18において、転送Aが先行の転送、転送Bが後行の転送であるとする。 In FIG. 18, it is assumed that transfer A is a preceding transfer and transfer B is a subsequent transfer.
図18では、T3において転送Aによりクロックイネーブル生成カウンタ400が時間計測を開始し、T352でWriteDMAC302に転送Aが到達する。
In FIG. 18, the clock enable generation counter 400 starts measuring time by the transfer A at T3, and the transfer A reaches the
クロックイネーブル生成カウンタ400の計測対象の第一の所定時間500に最小値の345サイクルを設定したので、T352でWriteDMAC302に転送Aが到達する時点のT352にはクロックを供給することができている。
Since the minimum value of 345 cycles is set for the first predetermined time 500 to be measured by the clock enable
また、T11において転送Bによりクロック停止要求マスク期間カウンタ401が時間計測を開始し、T360でWriteDMAC302に転送Bが到達する。
Further, at T11, the clock stop request mask period counter 401 starts time measurement by transfer B, and transfer T arrives at the
クロック停止要求マスク期間カウンタ401の計測対象の第二の所定時間501に最大値の450サイクルを設定したので、転送Aと転送Bの間では、WriteDMAC302のクロックは停止しない。
Since the maximum 450 cycles is set as the second predetermined time 501 to be measured by the clock stop request
・画像処理演算に400サイクル(中央値)要する場合
図19に、第4の実施形態の画像処理演算に400サイクル(中央値)要する場合の処理に関して波形を用いて説明する。
When the image processing calculation requires 400 cycles (median value) FIG. 19 illustrates the processing when the image processing calculation according to the fourth embodiment requires 400 cycles (median value) using waveforms.
図19において、転送Aが先行の転送、転送Bが後行の転送であるとする。 In FIG. 19, it is assumed that transfer A is a preceding transfer and transfer B is a subsequent transfer.
図19では、T3において転送Aによりクロックイネーブル生成カウンタ400が時間計測を開始し、T402でWriteDMAC302に転送Aが到達する。
In FIG. 19, the clock enable generation counter 400 starts measuring time by transfer A at T3, and transfer A arrives at the
クロックイネーブル生成カウンタ400の計測対象の第一の所定時間500に最小値の345サイクルを設定したので、T402でWriteDMAC302に転送Aが到達するより前のT352にはクロックを供給することができている。
Since the minimum value of 345 cycles is set at the first predetermined time 500 to be measured by the clock enable
また、T11において転送Bによりクロック停止要求マスク期間カウンタ401が時間計測を開始し、T410でWriteDMAC302に転送Bが到達する。
Further, at T11, the clock stop request mask period counter 401 starts time measurement by the transfer B, and the transfer B reaches the
クロック停止要求マスク期間カウンタ401の計測対象の第二の所定時間501に最大値の450サイクルを設定したので、転送Aと転送Bの間では、WriteDMAC302のクロックは停止しない。
Since the maximum 450 cycles is set as the second predetermined time 501 to be measured by the clock stop request
・画像処理演算に450サイクル(最大値)要する場合
図20に、第4の実施形態の画像処理演算に450サイクル(最大値)要する場合の処理に関して波形を用いて説明する。
When the image processing calculation requires 450 cycles (maximum value) FIG. 20 illustrates the processing when the image processing calculation according to the fourth embodiment requires 450 cycles (maximum value) using waveforms.
図20において、転送Aが先行の転送、転送Bが後行の転送であるとする。 In FIG. 20, it is assumed that transfer A is a preceding transfer and transfer B is a subsequent transfer.
図20では、T3において転送Aによりクロックイネーブル生成カウンタ400が時間計測を開始し、T452でWriteDMAC302に転送Aが到達する。
In FIG. 20, the clock enable generation counter 400 starts measuring time by the transfer A at T3, and the transfer A reaches the
クロックイネーブル生成カウンタ400の計測対象の第一の所定時間500に最小値の345サイクルを設定したので、T452でWriteDMAC302に転送Aが到達するより前のT352にはクロックを供給することができている。
Since the minimum value of 345 cycles is set at the first predetermined time 500 to be measured by the clock enable
また、T11において転送Bによりクロック停止要求マスク期間カウンタ401が時間計測を開始し、T460でWriteDMAC302に転送Bが到達する。
Further, at T11, the clock stop request mask period counter 401 starts time measurement by the transfer B, and the transfer B reaches the
クロック停止要求マスク期間カウンタ401の計測対象の第二の所定時間501に最大値の450サイクルを設定したので、転送Aと転送Bの間では、WriteDMAC302のクロックは停止しない。
Since the maximum 450 cycles is set as the second predetermined time 501 to be measured by the clock stop request
・クロックを停止させる機会を増やすための機構の組み込み
本実施形態では、第二の所定時間501に変動値のうち最大値を使用して、クロック停止要求マスク期間カウンタ401の制御を行っている。
Incorporation of Mechanism for Increasing Opportunity to Stop Clock In this embodiment, the clock stop request
そのため、WriteDMACクロック停止要求信号がアサートされても、クロック停止要求マスク期間カウンタ401がカウント中のために、WriteDMAC302のクロックが停止しないケースが発生し得る。この現象は、図18のT366や図19のT416で発生している。
For this reason, even if the Write DMAC clock stop request signal is asserted, the clock of the
そのため、第4の実施形態において、WriteDMAC302の非動作状態をより積極的に感知して、クロックを停止させる機会を増やすための機構を組み込むことができる。
Therefore, in the fourth embodiment, it is possible to incorporate a mechanism for more actively sensing the non-operating state of the
第4の実施形態において、クロック停止要求マスク期間カウンタ401が非カウント状態、かつWriteDMAC302の動作状態が非動作時に、WriteDMAC302のクロックを常に停止させるという処理を行ってもよい。
In the fourth embodiment, when the clock stop request
また、上記のWriteDMAC302のクロックを常に停止させるという処理を、別途カウンタ等を用意して、時間を遅らせて制御を行ってもよい。
Further, the process of always stopping the clock of the
さらに、WriteDMAC302のクロック供給時の狭間の時間で、クロックを停止させないために、以下の処理を加えてもよい。クロックイネーブルアサート指示信号のアサートから、WriteDMACが動作を開始するまでの期間は、WriteDMAC302のクロックを停止させない。
Furthermore, the following processing may be added in order to prevent the clock from being stopped in the interval between the
第1の実施形態における第一の所定時間500は、クロックイネーブル生成カウンタ400がWriteDMAC302のクロックの供給制御を行うのに用いる時間である。第1の実施形態では、第一の所定時間500の一例として395サイクルという値を用いたが、第5の実施形態では最適な第一の所定時間500の値を、計算で求める手法を説明する。
The first predetermined time 500 in the first embodiment is a time used for the clock enable
WriteDMAC302のクロック供給開始は、WriteDMAC302に転送が到達し、WriteDMAC302の処理が開始される直前のタイミングに行うことで、以下の効果が期待できる。WriteDMAC302のクロック停止期間を長くし、WriteDMAC302の省電力効果をより高めることができる。
By starting the clock supply of the
そのため、第一の所定時間500としては、以下の値を設定するのが望ましい。 Therefore, it is desirable to set the following value as the first predetermined time 500.
第一の所定時間500は、第三の所定時間1000−第四の所定時間1001で計算し、第三の所定時間1000が400サイクル、第四の所定時間1001が5サイクルであるとすると、第一の所定時間500は395サイクルである。 The first predetermined time 500 is calculated from the third predetermined time 1000 to the fourth predetermined time 1001, and if the third predetermined time 1000 is 400 cycles and the fourth predetermined time 1001 is 5 cycles, One predetermined time 500 is 395 cycles.
第三の所定時間1000は、WriteDMACクロック供給要求信号のアサートから、WriteDMAC302に転送が到達するまでの時間であって、本実施形態では400サイクルであるとする。第四の所定時間1001は、WriteDMAC302のクロックが供給され、WriteDMAC302が実際に動作を開始するまでの時間までを差し引いた時間であって、本実施形態では5サイクルであるとする。
The third predetermined time 1000 is a time from when the Write DMAC clock supply request signal is asserted until the transfer reaches the
また、第二の所定時間501としては、後行の転送がWriteDMAC302に到達する際に、WriteDMAC302のクロックの停止を防止するという観点より、以下の値を設定するのが望ましい。即ち、第二の所定時間501は、第三の時間1000と同じ、400サイクルとするのが望ましい。
Further, as the second predetermined time 501, it is desirable to set the following value from the viewpoint of preventing the
このように、以下のようにクロック制御を行うことで、クロックゲーティング対象回路であるWriteDMAC302のクロック停止期間を長くし、WriteDMAC302の省電力効果をより高めることができる。
Thus, by performing clock control as follows, the clock stop period of the
WriteDMAC302に転送が到達して回路が使用開始されるまでの時間(第三の時間1000)から、WriteDMAC302のクロック供給処理に必要な時間(第四の時間1001)を差し引いた値を第一の所定時間500に設定する。
A value obtained by subtracting the time (fourth time 1001) required for the clock supply processing of the
また、第4の実施形態のように、第三の時間1000の値が変動する場合では、WriteDMAC302のクロックを確実に制御するという観点からは、以下のような値を設定することが望ましい。
Further, in the case where the value of the third time 1000 fluctuates as in the fourth embodiment, it is desirable to set the following values from the viewpoint of reliably controlling the
即ち、第一の所定時間500は、第三の時間1000の最小値−第四の時間1001で計算し、第三の時間1000が350サイクル、第四の時間1001が5サイクルであるとすると、第一の所定時間500は345サイクルである。 That is, the first predetermined time 500 is calculated as the minimum value of the third time 1000 minus the fourth time 1001, and the third time 1000 is 350 cycles and the fourth time 1001 is 5 cycles. The first predetermined time 500 is 345 cycles.
第二の所定時間501は、第三の時間1000の最大値と同じ、450サイクルである。 The second predetermined time 501 is 450 cycles, which is the same as the maximum value of the third time 1000.
本実施形態としては、第1の実施形態との差分という形で説明したが、本実施形態を、第1の実施形態以外の実施形態と合わせて実施することが可能であることは、容易に理解できよう。 Although the present embodiment has been described in the form of a difference from the first embodiment, it is easy to implement this embodiment together with embodiments other than the first embodiment. I understand.
(第5の実施形態)
第5の実施形態では、第4の実施形態の構成のうち、一部の構成のみが異なる。そのため、第4の実施形態と同じ構成部分に関しては説明を省略し、主に本実施形態が第4の実施形態と異なる部分を詳細に説明する。
(Fifth embodiment)
In the fifth embodiment, only a part of the configuration of the configuration of the fourth embodiment is different. Therefore, the description of the same components as those in the fourth embodiment is omitted, and portions in which the present embodiment is different from the fourth embodiment will be mainly described in detail.
第5の実施形態では、各カウンタの計測対象である第一の所定時間500と第二の所定時間501に関して、これらの値を実機上で自動的に測定および決定する手法に関して述べる。本手法は、第4の実施形態のように、各カウンタの計測対象の時間が変動する場合にも適用可能な手法である。 In the fifth embodiment, regarding a first predetermined time 500 and a second predetermined time 501 that are measurement targets of each counter, a method of automatically measuring and determining these values on an actual machine will be described. This technique is applicable to the case where the measurement target time of each counter varies as in the fourth embodiment.
本実施形態の画像処理モジュール11のハードウェアの構成は、第1の実施形態の画像処理モジュール11のハードウェアの構成と同じであるので、その説明を省略する。本実施形態のWriteDMACクロックイネーブル制御モジュール303の構成は第1の実施形態と異なり、図21のブロック図に、本実施形態のWriteDMACクロックイネーブル制御モジュール303の構成例を示す。
Since the hardware configuration of the
本実施形態では、第1の実施形態のハードウェア構成に加えて、測定モード切替回路900とカウント対象時間計測回路901を備える。また、WriteDMAC内部バスデータ転送発生信号と測定モード切替要求信号を備える。
In this embodiment, in addition to the hardware configuration of the first embodiment, a measurement
WriteDMAC内部バスデータ転送発生信号は、画像処理モジュール内演算回路301が処理を完了させ、WriteDMAC302に対して画像処理を行ったデータの転送を開始した際に、アサートされる(パルス信号)。
The Write DMAC internal bus data transfer generation signal is asserted (pulse signal) when the
測定モード切替回路900は、測定モード切替要求信号がCPU10等により制御されることにより、カウント対象時間計測モードのON/OFFの切り替えを行う。
The measurement
カウント対象時間計測回路901は、測定モード切替回路900により切り替えられる、カウント対象時間計測モードがONの時に、画像処理モジュール内演算回路301内部での画像処理演算に要する時間の最大値と最小値を測定する。この値は、第5の実施形態における第三の時間1000の最大値と最小値を測定することで得られる。第三の時間1000は、WriteDMACクロック供給要求信号のアサートから、WriteDMAC302に転送が到達するまでの時間である。
The count target
カウント対象時間計測モードがONの際は、クロックイネーブル生成カウンタ400およびクロック停止要求マスク期間カウンタ401は、それらの動作を停止させることができる。同様にカウント対象時間計測モードがOFFの際は、カウント対象時間計測回路901は、その動作を停止させることができる。また、これらのモジュールの動作が停止している際は、これらのモジュールのクロックや電源を停止させ、これらのモジュールを省電力状態におくことができる。
When the count target time measurement mode is ON, the clock enable
カウント対象時間計測回路901が第三の時間1000の最大値と最小値を測定後、カウント対象時間計測モードをOFFにする。するとクロックイネーブル生成カウンタ400およびクロック停止要求マスク期間カウンタ401は、カウント対象時間計測回路901が測定した第三の時間1000の最大値と最小値を用いて第一の所定時間500と第二の所定時間501を設定する。
After the count target
カウント対象時間計測回路901が第三の時間1000の最大値として450サイクル、第三の時間1000の最小値として350サイクルを得たとすると、第一の所定時間500と第二の所定時間501は以下のように設定できる。
Assuming that the counting target
第一の所定時間500は、測定された第三の時間1000の最小値−第四の時間1001で計算し、第三の時間1000が350サイクル、第四の時間1001が5サイクルであるとすると、第一の所定時間500は345サイクルである。 The first predetermined time 500 is calculated from the measured minimum value of the third time 1000 minus the fourth time 1001, and the third time 1000 is 350 cycles and the fourth time 1001 is 5 cycles. The first predetermined time 500 is 345 cycles.
第二の所定時間501は、測定された第三の時間1000の最大値と同じ、450サイクルである。 The second predetermined time 501 is 450 cycles, which is the same as the maximum value of the measured third time 1000.
また、図22のブロック図に、カウント対象時間計測回路901の構成例を示す。カウント対象時間計測回路901には、カウント対象時間カウンタ902、カウント対象時間最小値記憶回路903、カウント対象時間最大値記憶回路904を備える。これらのモジュールの詳細動作は、以下に示すフローチャート図を用いて説明する。
[カウント対象時間計測回路901の動作フロー]
図23に、本実施形態のカウント対象時間計測回路901および測定モード切替回路900の動作フローのフローチャートを示す。
The block diagram of FIG. 22 shows a configuration example of the count target
[Operation Flow of Count Target Time Measurement Circuit 901]
FIG. 23 shows a flowchart of the operation flow of the count target
まず、ステップS101において、カウント対象時間計測回路901は、非動作状態である。そして、ステップS102において、カウント対象時間カウンタ902は、カウント対象時間計測モードがONであるかどうかを判定する。カウント対象時間計測モードのON/OFF制御は、測定モード切替回路900の測定モード切替要求信号がCPU10等により制御され、測定モード切替指示信号の値が変化することで行われる。カウント対象時間計測モードがOFFの場合、カウント対象時間計測回路901は、ステップS101の非動作状態を維持する。カウント対象時間計測モードがONの場合、カウント対象時間計測回路901は、ステップS103に移行し、カウント対象時間計測回路901が動作状態に移行する。
First, in step S101, the count target
次に、ステップS104において、カウント対象時間カウンタ902は、WriteDMACクロック供給要求信号が1の値であるかどうか判定する。WriteDMACクロック供給要求信号が0の場合は、次のサイクルに再度ステップS104で値の判定を行う。WriteDMACクロック供給要求信号が1の場合は、ステップS105において、カウント対象時間カウンタ902は、次のサイクルにカウント対象時間カウンタ902の値を1にセットする。その後同一サイクルで、ステップS106において、カウント対象時間カウンタ902は、WriteDMAC内部バスデータ転送発生信号が1の値であるかどうかを判定する。WriteDMAC内部バスデータ転送発生信号が0の場合は、ステップS107において、カウント対象時間カウンタ902は、カウント対象時間カウンタの値を+1し、次のサイクルに再度ステップS106の判定を行う。WriteDMAC内部バスデータ転送発生信号が1の場合は、次に、ステップS108において、カウント対象時間カウンタ902は、カウント対象時間カウンタ902による計測が1回目の計測かどうか、を判定する。
Next, in step S104, the count
カウント対象時間カウンタ902による計測が1回目の計測の場合は、ステップS109において、カウント対象時間カウンタ902は、カウント対象時間カウンタ902の値をカウント対象時間最大値記憶回路904にコピーする。ステップS110において、同様に、カウント対象時間カウンタ902は、カウント対象時間カウンタ902の値をカウント対象時間最小値記憶回路903にコピーする。その後、ステップS104に戻り、カウント対象時間カウンタ902は、カウント対象時間カウンタ902は2回目の計測を開始する。ステップS108において、カウント対象時間カウンタ902による計測が1回目の計測でない場合は、ステップS111の判定に進む。
If the measurement by the count
ステップS111では、カウント対象時間カウンタ902は、カウント対象時間カウンタ902の値が、カウント対象時間最大値記憶回路904の現在値を上回っているかどうか、の判定を行う。カウント対象時間カウンタ902の値が、カウント対象時間最大値記憶回路904の現在値を上回っていない場合は、ステップS112のステップをスキップし、カウント対象時間カウンタ902は、ステップS113の判定を行う。カウント対象時間カウンタ902の値が、カウント対象時間最大値記憶回路904の現在値を上回っている場合は、ステップS112に進む。ステップS112において、カウント対象時間カウンタ902は、カウント対象時間カウンタ902の値をカウント対象時間最大値記憶回路904にコピーし、次に、ステップS113の判定を行う。
In step S111, the count
ステップS113では、カウント対象時間カウンタ902は、カウント対象時間カウンタ902の値が、カウント対象時間最小値記憶回路903の現在値を下回っているかどうか、の判定を行う。カウント対象時間カウンタ902の値が、カウント対象時間最小値記憶回路903の現在値を下回っていない場合は、ステップS114のステップをスキップし、カウント対象時間カウンタ902は、ステップS115の判定を行う。カウント対象時間カウンタ902の値が、カウント対象時間最小値記憶回路903の現在値を下回っている場合は、ステップS114に進む。ステップS114において、カウント対象時間カウンタ902は、カウント対象時間カウンタ902の値をカウント対象時間最小値記憶回路903にコピーし、次に、ステップS115の判定を行う。
In step S113, the count
ステップS115において、カウント対象時間カウンタ902は、カウント対象時間計測モードがONであるかどうかを判定する。カウント対象時間計測モードがONの場合、ステップS104に戻り、カウント対象時間カウンタ902は次の回の計測を開始する。カウント対象時間計測モードがOFFの場合、ステップS116において、カウント対象時間計測回路901は、非動作状態に戻り、カウント対象時間の計測は完了する。
In step S115, the count
本実施形態としては、第4の実施形態との差分という形で説明したが、本実施形態を、第4の実施形態以外の実施形態と合わせて実施することが可能であることは、容易に理解できよう。 Although the present embodiment has been described in the form of a difference from the fourth embodiment, it is easy to implement this embodiment together with embodiments other than the fourth embodiment. I understand.
第4の実施形態では、第1の実施形態と同一構成において、各カウンタが適切な値の設定する方法を説明する。 In the fourth embodiment, a method in which each counter sets an appropriate value in the same configuration as the first embodiment will be described.
(第6の実施形態)
第6の実施形態では、第4の実施形態又は第5の実施形態と同一構成において、各カウンタが適切な値を設定する方法を説明する。
(Sixth embodiment)
In the sixth embodiment, a method will be described in which each counter sets an appropriate value in the same configuration as the fourth embodiment or the fifth embodiment.
第4の実施形態では、データ処理時間が変動する等して、クロック制御用のカウンタの計測すべき時間の値が変動する場合には、以下の対策が有効であるとした。クロックイネーブル生成カウンタ400の計測対象の第一の所定時間500には変動値のうち最小値を、クロック停止要求マスク期間カウンタ401の計測対象の第二の所定時間501には変動値のうち最大値を使用する。
In the fourth embodiment, the following measures are effective when the value of the time to be measured by the clock control counter fluctuates because the data processing time fluctuates. The minimum value among the fluctuation values is measured at the first predetermined time 500 to be measured by the clock enable
一方で、第4の実施形態において、カウンタの計測すべき時間の値は変動するが、値の変動の傾向に偏りがある場合は、必ずしも最大値・最小値を用いて制御せず、より適切な値をカウンタに計測させてもいい。 On the other hand, in the fourth embodiment, the value of the time to be measured by the counter varies, but if the tendency of the value variation is biased, the maximum value / minimum value are not necessarily used for control and more appropriate. You may let the counter measure the correct value.
具体的には、画像処理モジュール内演算回路301内部での画像処理演算の時間(第三の時間1000)が350−450サイクルまで変動するが、時間の変動に以下のような偏りがあったとする。
Specifically, the image processing calculation time (third time 1000) in the image processing
375−425サイクル:発生確率90%。
425−450サイクル:発生確率5%。
350−375サイクル:発生確率5%。
375-425 cycles: probability of
425-450 cycle:
350-375 cycles: probability of
この場合は、第三の時間1000の最大値・最小値の設定として、真の最大値・最小値(それぞれ350・450サイクル)を使用するのではなく、時間の変動の偏りを考慮して最大値・最小値を設定した方がクロックの制御性が良くなる場合がある。 In this case, instead of using the true maximum and minimum values (350 and 450 cycles, respectively) as the setting of the maximum and minimum values for the third time 1000, the maximum is set in consideration of the bias of time fluctuations. The controllability of the clock may be better if the value / minimum value is set.
真の最大値は450サイクルであるが、その発生確率は所定値以下(例えば5%以下)であるので使用されない。同様に、真の最小値は350サイクルであるが、その発生確率は所定値以下(例えば5%以下)であるので使用されない。本実施形態では、第三の時間1000の最大値として425サイクルを、第三の時間1000の最小値として375サイクルを使用するとする。 The true maximum value is 450 cycles, but the probability of occurrence is not more than a predetermined value (for example, 5% or less) and is not used. Similarly, the true minimum value is 350 cycles, but its occurrence probability is not more than a predetermined value (for example, 5% or less) and is not used. In the present embodiment, 425 cycles are used as the maximum value of the third time 1000, and 375 cycles are used as the minimum value of the third time 1000.
その場合、第一の所定時間500と第二の所定時間501は、以下のように設定できる。 In that case, the first predetermined time 500 and the second predetermined time 501 can be set as follows.
第一の所定時間500は、第三の時間1000の最小値−第四の時間1001で計算し、第三の時間1000の最小値が375サイクル、第四の時間1001が5サイクルであるとすると、第一の所定時間500は370サイクルである。 The first predetermined time 500 is calculated from the minimum value of the third time 1000 minus the fourth time 1001, and the minimum value of the third time 1000 is 375 cycles, and the fourth time 1001 is 5 cycles. The first predetermined time 500 is 370 cycles.
第二の所定時間501は、第三の時間1000の最大値と同じ、425サイクルである。 The second predetermined time 501 is 425 cycles, which is the same as the maximum value of the third time 1000.
ただし、本実施形態では、発生確率は小さいものの、第三の時間1000に関して、第一の所定時間500と第二の所定時間501の設定値から外れるケースが生じる(本例では425−450サイクル、および350−375サイクルの期間)。 However, in the present embodiment, although the probability of occurrence is small, there is a case where the third time 1000 deviates from the set values of the first predetermined time 500 and the second predetermined time 501 (in this example, 425-450 cycles, And a period of 350-375 cycles).
このため、本実施形態では、WriteDMAC302のクロックが停止中に、転送がWriteDMAC302に到達してしまった場合でも、転送の情報を失わせることなく、WriteDMAC302のクロックを供給させる機構を組み込むことができる。例えば、WriteDMAC302とのインターフェースに、Valid−Readyタイプの転送プロトコルを採用する方法がある。この場合は、WriteDMAC302のクロック停止中は、WriteDMAC302からのReady信号をネゲートしておくことで、アクセスペナルティは発生するが、転送の情報が失われることは防止できる。
For this reason, in this embodiment, even if the transfer reaches the
本実施形態としては、第4の実施形態との差分という形で説明したが、本実施形態を、第4の実施形態以外の本明細書に記載の実施形態と合わせて実施することが可能であることは、容易に理解できよう。 Although the present embodiment has been described in the form of a difference from the fourth embodiment, the present embodiment can be implemented in combination with the embodiments described in the present specification other than the fourth embodiment. It can be easily understood.
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出して実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other embodiments)
The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read the program. It can also be realized by processing to be executed. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
10 CPU
11 画像処理モジュール
20 MEMC
21 供給モジュール
30 バスモジュール
100 画像処理用システムオンチップ
200 DRAM
300 ReadDMAC
301 演算回路
302 WriteDMAC
303 WriteDMACクロックイネーブル制御モジュール
304 WriteDMACクロック供給要求信号生成回路
305 WriteDMACクロック停止要求信号生成回路
400 クロックイネーブル生成カウンタ
401 クロック停止要求マスク期間カウンタ
402 クロックイネーブル制御回路
403 クロックイネーブルネゲート指示生成回路
10 CPU
11
21
300 ReadDMAC
301
303 Write DMAC clock enable
Claims (18)
前記対象回路が所定処理を開始する前に、前記対象回路へのクロック供給を要求する供給要求を生成する第1生成手段と、
前記第1生成手段によって前記供給要求が生成されると、第1時間の計測を開始し、該第1時間が経過した後に、クロック供給を指示する第1信号を生成し、前記制御手段に出力する第1計測手段と、
前記対象回路が前記所定処理を完了した後に、前記対象回路へのクロック供給の停止を要求する停止要求を生成する第2生成手段と、
前記第1計測手段が前記第1時間を計測している間に、前記第1生成手段によって供給要求が新たに生成されると、第2時間の計測を開始する第2計測手段と、
前記第2時間が経過した後の場合に、前記第2生成手段によって前記停止要求が生成されると、前記対象回路へのクロック供給の停止を指示する第2信号を生成し、前記制御手段に出力し、前記第2計測手段が前記第2時間を計測している間の場合は、前記第2信号の生成を制限する第3生成手段と、を有し、
前記制御手段は、前記第1信号を受信すると、前記対象回路に対してクロックを供給させ、前記第2信号を受信すると、前記対象回路に対するクロック供給を停止させるように制御することを特徴とする制御回路。 Control means for supplying a clock to the target circuit or stopping the clock supply to the target circuit;
First generation means for generating a supply request for requesting clock supply to the target circuit before the target circuit starts predetermined processing;
When the supply request is generated by the first generation unit, measurement of a first time is started, and after the first time has elapsed, a first signal instructing clock supply is generated and output to the control unit First measuring means to perform,
Second generation means for generating a stop request for requesting stop of clock supply to the target circuit after the target circuit has completed the predetermined processing;
When a supply request is newly generated by the first generation unit while the first measurement unit is measuring the first time, a second measurement unit starts measuring the second time;
When the stop request is generated by the second generation means after the second time has elapsed, a second signal is generated to instruct to stop the clock supply to the target circuit, and is sent to the control means. Output, and when the second measuring means is measuring the second time, has a third generating means for restricting the generation of the second signal,
The control means controls to supply a clock to the target circuit when receiving the first signal, and to stop supplying a clock to the target circuit when receiving the second signal. Control circuit.
前記第2計測手段は、前記複数のカウンタにおける初段のカウンタが時間を計測している間に前記第1生成手段によって供給要求が新たに生成された場合、前記第2時間を計測し、前記複数のカウンタにおける後段のカウンタが時間を計測している間に前記第1生成手段によって新たに供給要求が生成された場合、前記第2時間を計測しないことを特徴とする請求項1又は2に記載の制御回路。 The first measuring means is constituted by a plurality of counters connected in series,
The second measuring unit measures the second time when a supply request is newly generated by the first generating unit while the first-stage counter of the plurality of counters is measuring the time. 3. The second time is not measured when a new supply request is generated by the first generation unit while the counter of the latter stage is measuring the time. 4. Control circuit.
前記制御手段は、前記第1信号を受信すると、前記対象回路に対してクロックを供給するように前記供給手段を制御し、前記第2信号を受信すると、前記対象回路に対するクロック供給を停止するように前記供給手段を制御することを特徴とする画像処理装置。 A target circuit; a control circuit according to any one of claims 1 to 5; and a supply unit that supplies a clock to the target circuit or stops a clock supply to the target circuit.
The control means controls the supply means to supply a clock to the target circuit when receiving the first signal, and stops supplying the clock to the target circuit when receiving the second signal. An image processing apparatus that controls the supply means.
前記第1生成手段は、前記転送手段が前記演算回路へのデータ転送を開始するタイミングで、前記対象回路へのクロック供給を要求する供給要求を生成することを特徴とする請求項6に記載の画像処理装置。 An arithmetic circuit that performs predetermined arithmetic processing on the transferred input data and outputs the output data of the arithmetic processing to the target circuit; and a transfer unit that transfers the input data to the arithmetic circuit; In addition,
The said 1st production | generation means produces | generates the supply request | requirement which requests | requires the clock supply to the said target circuit at the timing which the said transfer means starts the data transfer to the said arithmetic circuit. Image processing device.
前記第1計測手段及び前記第2計測手段は、前記通知信号を受信している間、時間の計測を中断することを特徴とする請求項7に記載の画像処理装置。 A signal indicating the internal state of the arithmetic circuit is received, a stall is confirmed in the arithmetic processing of the arithmetic circuit based on the received signal, and if the stall has occurred, a notification signal is sent to the first measuring means And a notification means for outputting to the second measurement means,
The image processing apparatus according to claim 7, wherein the first measurement unit and the second measurement unit interrupt time measurement while receiving the notification signal.
前記第2時間は、前記演算回路による前記演算処理の開始から終了までの時間の最大値に基づいて設定されることを特徴とする請求項8に記載の画像処理装置。 The first time is set based on a minimum value of time from the start to the end of the arithmetic processing by the arithmetic circuit,
The image processing apparatus according to claim 8, wherein the second time is set based on a maximum value of a time from the start to the end of the arithmetic processing by the arithmetic circuit.
前記第2時間は、発生確率が所定値以下の前記最大値に基づいて設定されないことを特徴とする請求項9又は10に記載の画像処理装置。 The first time is not set based on the minimum value having an occurrence probability of a predetermined value or less,
The image processing apparatus according to claim 9, wherein the second time is not set based on the maximum value having an occurrence probability equal to or less than a predetermined value.
前記対象回路は、前記記憶手段に前記演算処理の前記出力データを転送することを特徴とする請求項6乃至11の何れか1項に記載の画像処理装置。 Further comprising storage means for storing output data of the arithmetic processing by the arithmetic circuit;
The image processing apparatus according to claim 6, wherein the target circuit transfers the output data of the arithmetic processing to the storage unit.
前記対象回路が所定処理を開始する前に、前記対象回路への電源供給を要求する供給要求を生成する第1生成手段と、
前記第1生成手段によって前記供給要求が生成されると、第1時間の計測を開始し、該第1時間が経過した後に、電源供給を指示する第1信号を生成し、前記制御手段に出力する第1計測手段と、
前記対象回路が前記所定処理を完了した後に、前記対象回路への電源供給の停止を要求する停止要求を生成する第2生成手段と、
前記第1計測手段が前記第1時間を計測している間に、前記第1生成手段によって供給要求が新たに生成されると、第2時間の計測を開始する第2計測手段と、
前記第2時間が経過した後の場合に、前記第2生成手段によって前記停止要求が生成されると、前記対象回路への電源供給の停止を指示する第2信号を生成し、前記制御手段に出力し、前記第2計測手段が前記第2時間を計測している間の場合は、前記第2信号の生成を制限する第3生成手段と、を有し、
前記制御手段は、前記第1信号を受信すると、前記対象回路に対して電源を供給させ、前記第2信号を受信すると、前記対象回路に対する電源供給を停止させるように制御することを特徴とする制御回路。 Control means for supplying power to the target circuit or stopping power supply to the target circuit;
First generation means for generating a supply request for requesting power supply to the target circuit before the target circuit starts predetermined processing;
When the supply request is generated by the first generation unit, measurement of a first time is started, and after the first time has elapsed, a first signal instructing power supply is generated and output to the control unit First measuring means to perform,
Second generation means for generating a stop request for requesting stop of power supply to the target circuit after the target circuit has completed the predetermined processing;
When a supply request is newly generated by the first generation unit while the first measurement unit is measuring the first time, a second measurement unit starts measuring the second time;
If the stop request is generated by the second generation means after the second time has elapsed, a second signal is generated to instruct the power supply to the target circuit to be stopped, and the control means is supplied to the control means. Output, and when the second measuring means is measuring the second time, has a third generating means for restricting the generation of the second signal,
The control means controls to supply power to the target circuit when receiving the first signal, and to stop supplying power to the target circuit when receiving the second signal. Control circuit.
前記対象回路が所定処理を開始する前に、第1生成手段が前記対象回路へのクロック供給を要求する供給要求を生成する第1生成工程と、
前記第1生成工程において前記供給要求が生成されると、第1計測手段が第1時間の計測を開始し、該第1時間が経過した後に、クロック供給を指示する第1信号を生成し、前記制御手段に出力する第1計測工程と、
前記対象回路が前記所定処理を完了した後に、第2生成手段が前記対象回路へのクロック供給の停止を要求する停止要求を生成する第2生成工程と、
前記第1計測工程において前記第1計測手段が前記第1時間を計測している間に、前記第1生成工程において供給要求が新たに生成されると、第2計測手段が第2時間の計測を開始する第2計測工程と、
前記第2時間が経過した後の場合に、前記第2生成手段によって前記停止要求が生成されると、第3生成手段が前記対象回路へのクロック供給の停止を指示する第2信号を生成し、前記制御手段に出力し、前記第2計測工程において前記第2計測手段が前記第2時間を計測している間の場合は、前記第2信号の生成を制限する第3生成工程と、
前記制御手段は、前記第1信号を受信すると、前記対象回路に対してクロックを供給させ、前記第2信号を受信すると、前記対象回路に対するクロック供給を停止させるように制御する制御工程を有することを特徴とする方法。 A control method of a control circuit having control means for supplying a clock to a target circuit or stopping a clock supply to the target circuit,
A first generation step of generating a supply request for requesting a clock supply to the target circuit before the target circuit starts a predetermined process;
When the supply request is generated in the first generation step, the first measuring unit starts measuring the first time, and after the first time has elapsed, generates a first signal instructing clock supply, A first measuring step for outputting to the control means;
A second generation step of generating a stop request for requesting the stop of the clock supply to the target circuit after the target circuit has completed the predetermined processing;
If a supply request is newly generated in the first generation step while the first measurement unit is measuring the first time in the first measurement step, the second measurement unit measures the second time. A second measuring step for starting
When the stop request is generated by the second generation unit after the second time has elapsed, the third generation unit generates a second signal instructing to stop the clock supply to the target circuit. A third generation step of outputting to the control means, and limiting the generation of the second signal when the second measurement means is measuring the second time in the second measurement step;
The control means has a control step of controlling to supply a clock to the target circuit when receiving the first signal and to stop supplying a clock to the target circuit when receiving the second signal. A method characterized by.
前記対象回路が所定処理を開始する前に、第1生成手段が前記対象回路への電源供給を要求する供給要求を生成する第1生成工程と、
前記第1生成工程において前記供給要求が生成されると、第1計測手段が第1時間の計測を開始し、該第1時間が経過した後に、電源供給を指示する第1信号を生成し、前記制御手段に出力する第1計測工程と、
前記対象回路が前記所定処理を完了した後に、第2生成手段が前記対象回路への電源供給の停止を要求する停止要求を生成する第2生成工程と、
前記第1計測工程において前記第1計測手段が前記第1時間を計測している間に、前記第1生成工程において供給要求が新たに生成されると、第2計測手段が第2時間の計測を開始する第2計測工程と、
前記第2時間が経過した後の場合は、前記第2生成手段によって前記停止要求が生成されると、第3生成手段が前記対象回路への電源供給の停止を指示する第2信号を生成し、前記制御手段に出力し、前記第2計測工程において前記第2計測手段が前記第2時間を計測している間の場合は、前記第2信号の生成を制限する第3生成工程と、
前記制御手段は、前記第1信号を受信すると、前記対象回路に対して電源を供給させ、前記第2信号を受信すると、前記対象回路に対する電源供給を停止させるように制御する制御工程を有することを特徴とする方法。 A control method for a control circuit having control means for supplying power to a target circuit or stopping power supply to the target circuit,
A first generation step in which a first generation unit generates a supply request for requesting power supply to the target circuit before the target circuit starts a predetermined process;
When the supply request is generated in the first generation step, the first measurement unit starts measuring the first time, and after the first time has elapsed, generates a first signal instructing power supply, A first measuring step for outputting to the control means;
A second generation step of generating a stop request for requesting a stop of power supply to the target circuit after the target circuit has completed the predetermined processing;
If a supply request is newly generated in the first generation step while the first measurement unit is measuring the first time in the first measurement step, the second measurement unit measures the second time. A second measuring step for starting
After the second time has elapsed, when the stop request is generated by the second generation unit, the third generation unit generates a second signal instructing to stop power supply to the target circuit. A third generation step of outputting to the control means, and limiting the generation of the second signal when the second measurement means is measuring the second time in the second measurement step;
The control means includes a control step of controlling to supply power to the target circuit when receiving the first signal and to stop supplying power to the target circuit when receiving the second signal. A method characterized by.
前記対象回路が所定処理を開始する前に、第1生成手段は、前記対象回路へのクロック供給を要求する供給要求を生成する第1生成ステップと、
前記第1生成工程において前記供給要求が生成されると、第1計測手段は、第1時間の計測を開始し、該第1時間が経過した後に、クロック供給を指示する第1信号を生成し、前記制御手段に出力する第1計測ステップと、
前記対象回路が前記所定処理を完了した後に、第2生成手段は、前記対象回路へのクロック供給の停止を要求する停止要求を生成する第2生成ステップと、
前記第1計測ステップにおいて前記第1計測手段が前記第1時間を計測している間に、前記第1生成ステップにおいて供給要求が新たに生成されると、第2計測手段は、第2時間の計測を開始する第2計測ステップと、
前記第2時間が経過した後の場合に、前記第2生成手段によって前記停止要求が生成されると、第3生成手段は、前記対象回路へのクロック供給の停止を指示する前記第2信号を生成し、前記制御手段に出力し、前記第2計測ステップにおいて前記第2計測手段が前記第2時間を計測している間の場合は、前記第2信号の生成を制限する第3生成ステップと、
前記制御手段は、前記第1信号を受信すると、前記対象回路に対してクロックを供給させ、前記第2信号を受信すると、前記対象回路に対するクロック供給を停止させるように制御する制御ステップと、
をコンピュータに実行させることを特徴とするプログラム。 A control program for a control circuit having control means for supplying a clock to the target circuit or stopping the clock supply to the target circuit,
A first generation step for generating a supply request for requesting a clock supply to the target circuit before the target circuit starts a predetermined process;
When the supply request is generated in the first generation step, the first measuring unit starts measuring the first time, and generates a first signal instructing clock supply after the first time has elapsed. A first measurement step for outputting to the control means;
A second generation step of generating a stop request for requesting a stop of clock supply to the target circuit after the target circuit completes the predetermined processing;
If a supply request is newly generated in the first generation step while the first measurement unit is measuring the first time in the first measurement step, the second measurement unit A second measurement step for starting measurement;
When the stop request is generated by the second generation unit after the second time has elapsed, the third generation unit outputs the second signal instructing to stop the clock supply to the target circuit. A third generation step for restricting the generation of the second signal when the second measurement unit is measuring the second time in the second measurement step. ,
A control step for controlling to supply a clock to the target circuit when receiving the first signal and to stop supplying a clock to the target circuit when receiving the second signal;
A program that causes a computer to execute.
前記対象回路が所定処理を開始する前に、第1生成手段は、前記対象回路への電源供給を要求する供給要求を生成する第1生成ステップと、
前記第1生成工程において前記供給要求が生成されると、第1計測手段は、第1時間の計測を開始し、該第1時間が経過した後に、電源供給を指示する第1信号を生成し、前記制御手段に出力する第1計測ステップと、
前記対象回路が前記所定処理を完了した後に、第2生成手段は、前記対象回路への電源供給の停止を要求する停止要求を生成する第2生成ステップと、
前記第1計測ステップにおいて前記第1計測手段が前記第1時間を計測している間に、前記第1生成ステップにおいて供給要求が新たに生成されると、第2計測手段は、第2時間の計測を開始する第2計測ステップと、
前記第2時間が経過した後の場合に、前記第2生成手段によって前記停止要求が生成されると、第3生成手段は、前記対象回路への電源供給の停止を指示する前記第2信号を生成し、前記制御手段に出力し、前記第2計測ステップにおいて前記第2計測手段が前記第2時間を計測している間の場合は、前記第2信号の生成を制限する第3生成ステップと、
前記制御手段は、前記第1信号を受信すると、前記対象回路に対して電源を供給させ、前記第2信号を受信すると、前記対象回路に対する電源供給を停止させるように制御する制御ステップと、
をコンピュータに実行させることを特徴とするプログラム。 A control program for a control circuit having control means for supplying power to a target circuit or stopping power supply to the target circuit,
A first generation step for generating a supply request for requesting power supply to the target circuit before the target circuit starts a predetermined process;
When the supply request is generated in the first generation step, the first measuring unit starts measuring the first time, and generates a first signal instructing power supply after the first time has elapsed. A first measurement step for outputting to the control means;
A second generation step of generating a stop request for requesting a stop of power supply to the target circuit after the target circuit has completed the predetermined processing;
If a supply request is newly generated in the first generation step while the first measurement unit is measuring the first time in the first measurement step, the second measurement unit A second measurement step for starting measurement;
When the stop request is generated by the second generation unit after the second time has elapsed, the third generation unit outputs the second signal instructing to stop power supply to the target circuit. A third generation step for restricting the generation of the second signal when the second measurement unit is measuring the second time in the second measurement step. ,
A control step for controlling to supply power to the target circuit when receiving the first signal and to stop power supply to the target circuit when receiving the second signal;
A program that causes a computer to execute.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016227213A JP2018084932A (en) | 2016-11-22 | 2016-11-22 | Control circuit, control method thereof and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016227213A JP2018084932A (en) | 2016-11-22 | 2016-11-22 | Control circuit, control method thereof and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018084932A true JP2018084932A (en) | 2018-05-31 |
Family
ID=62238358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016227213A Pending JP2018084932A (en) | 2016-11-22 | 2016-11-22 | Control circuit, control method thereof and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018084932A (en) |
-
2016
- 2016-11-22 JP JP2016227213A patent/JP2018084932A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7941684B2 (en) | Synchronization of processor time stamp counters to master counter | |
TWI594115B (en) | Thermal control apparatus and methodology | |
TW201913290A (en) | Low-power microcontroller system | |
US8766646B2 (en) | Calibration method and apparatus for clock signal and electronic device | |
JP5102789B2 (en) | Semiconductor device and data processor | |
JP2013536532A (en) | Dynamic performance control of processing nodes | |
US9494992B2 (en) | Multi-core processor system avoiding stopping of cores too close in time | |
US20160085279A1 (en) | Method for resetting an electronic device having independent device domains | |
JP2014048972A (en) | Processor, information processing apparatus, and power consumption management method | |
US8020020B2 (en) | Fast, automatically scaled processor time stamp counter | |
US10530562B2 (en) | Correlating local time counts of first and second integrated circuits | |
US10261927B2 (en) | DMA controller with trigger sequence generator | |
US8892923B2 (en) | Data processing apparatus and method for maintaining a time count value in normal and power saving modes of operation | |
JP2007058716A (en) | Data transfer bus system | |
TW201348964A (en) | Determining optimal preload distance at runtime | |
TW201504802A (en) | Controlling power supply unit power consumption during idle state | |
US20130227329A1 (en) | Using a stuttered clock signal to reduce self-induced voltage noise | |
JP2018084932A (en) | Control circuit, control method thereof and program | |
TWI750118B (en) | Clock management circuitry, system on chip and method of clock management | |
TW200944997A (en) | Technique for promoting determinism among mulitiple clock domains | |
US10460772B2 (en) | Semiconductor device | |
TWI639157B (en) | Semiconductor device and automatic adjustment method of access cycles of flash memory thereof | |
JP2010140319A (en) | Semiconductor device | |
JP2017021513A (en) | Multi-core processor, clock control method of multi-core processor and clock control program | |
JP2017162407A (en) | Semiconductor device |