説明

プロセッサ、半導体集積回路装置及びプロセッサシステム

【課題】複数の周辺回路を備えたプロセッサ、半導体集積回路装置及びプロセッサシステムの処理能力を低下させることなく、消費電流を低減するプロセッサ、半導体集積回路装置及びプロセッサシステムを提供する。
【解決手段】プロセッサコア2と、プロセッサコア2からの命令に応答して所定の処理を実行する周辺回路3−1,3−2とを備えるプロセッサ7において、各周辺回路3−1,3−2は、プロセッサコア2からの命令に基づいて第1の全処理サイクル数を算出する算出部100と、比較部300からの分周比に基づいて、クロック信号を分周して出力するクロック発生部400と、第1の全処理サイクル数を、他の周辺回路の算出部100によって算出される上記他の周辺回路の第2の全処理サイクル数と比較して、当該比較結果に基づいて、当該周辺回路の処理終了時刻が上記他の周辺回路の処理終了時刻に近づくように上記分周比を発生する比較部300とを備えて構成される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の周辺回路を備えたプロセッサ、半導体集積回路装置、及びプロセッサシステムに関する。
【背景技術】
【0002】
半導体製造技術の進歩に伴い、半導体システムの高集積化、及び高周波数化が進んでいる。プロセッサシステムにおいても、プロセッサユニットの複数搭載、周辺回路ユニットの高機能化並びに複数搭載、及びプロセッサシステム全体のクロック周波数(動作周波数)の向上などにより、ますますの高性能化を実現しており、今後もこの流れは続くと予想される。一方、このような高性能化とトレードオフの関係として、プロセッサシステムにおける消費電流の増大が問題となっており、プロセッサシステム全体の処理性能はできるだけ低下させることなく、消費電流をいかに削減するかが重要な課題となっている。
【0003】
例えば、特許文献1は、複数の電力制御情報を備えたパワーテーブルを有し、プロセッサが当該情報のいずれの状態であるかを判定し、プロセッサ全体の電力制御を適切に行うプロセッサのための電力制御装置を開示している。
【0004】
また、特許文献2は、定期的に消費電力を予測してプロセッサの動作周波数を決定する電力管理手段と、タスクが提供するサービスの満足度を評価する手段とを備え、それぞれから得られる情報を基に適切にプロセッサの動作周波数を決定する情報処理システムを開示している。
【0005】
さらに、特許文献3は、オペレーションシステムによって複数のタスクを実行させる順序を決定するタスク実行情報を生成し、このタスク実行情報にしたがってプロセッサの動作周波数と電源電圧とを決定する電力管理方法を開示している。
【0006】
またさらに、特許文献4は、複数のプロセッサユニットを有するマルチプロセッサシステムにおいて、入力プログラムをコンパイルする際に自動的に並列性を持つタスクを抽出し、各プロセッサユニットの特性に合わせて当該タスクを割り当てる。その際に各プロセッサユニットの処理量を見積もり、システムが有している動作周波数と電源電圧とを設定するレジスタを適切に書き換えるためのコードを加えることで、消費電流を低減している。
【発明の概要】
【発明が解決しようとする課題】
【0007】
複数の周辺回路のクロック周波数を変更してプロセッサシステムの消費電流を低減する場合、各周辺回路における処理量及び処理時間に基づいて各周辺回路のクロック周波数を変更しなければ、プロセッサシステムとしての処理性能が低下することがある。
【0008】
例えば、プロセッサユニットと周辺回路Aと周辺回路Bとを備えるプロセッサシステムがあり、プロセッサユニットが周辺回路A及び周辺回路Bの両方の処理結果を次の処理で使用し、周辺回路Aの処理量が周辺回路Bの処理量よりも多く、周辺回路Aの処理時間が周辺回路Bの処理時間よりも長いと予測される場合を考える。このとき、周辺回路Aのクロック周波数を低下させると、周辺回路Aの処理時間が長くなり、プロセッサシステムとしての処理性能が低下してしまう。一方、周辺回路Bのクロック周波数を低下させると、周辺回路Aの処理終了時刻と周辺回路Bの処理終了時刻がおおよそ揃うようになり、プロセッサシステムの処理性能に対する影響を抑えて、プロセッサシステムの消費電流を低下させることができる。
【0009】
したがって、周辺回路のクロック周波数を設定するときには、複数の周辺回路の処理量を参照して、それぞれの周辺回路が処理を終了する時刻をできるだけ正確に予測する必要がある。また、ストール及びクロックウエイトなどが挿入されるような周辺回路では、上記予測はより困難である。特許文献1乃至4では、上述したような制御は実行されていない。
【0010】
本発明の目的は以上の問題を解決し、複数の周辺回路を備えたプロセッサ、半導体集積回路装置、及びプロセッサシステムの処理能力を低下させることなく、消費電流を低減するプロセッサ、半導体集積回路装置、及びプロセッサシステムを提供することにある。
【課題を解決するための手段】
【0011】
本発明に係るプロセッサは、プロセッサコアと、当該プロセッサコアからの命令に応答して所定の処理を実行する複数の周辺回路とを備えるプロセッサにおいて、
上記各周辺回路は、
上記プロセッサコアからの命令に基づいて実行すべき処理のサイクル数を示す第1の処理サイクル数を算出する算出部と、
所定の制御信号に基づいて、当該制御信号に対応するクロック周波数のクロック信号を発生して当該周辺回路に出力して当該周辺回路を動作させるクロック発生部と、
上記第1の処理サイクル数を、他の周辺回路の算出部によって算出される上記他の周辺回路が実行すべき処理のサイクル数を示す第2の処理サイクル数と比較して、当該比較結果に基づいて、当該周辺回路の処理終了時刻が上記他の周辺回路の処理終了時刻に近づくように上記制御信号を発生する比較部とを備えたことを特徴とする。
【0012】
また、上記プロセッサにおいて、上記比較部は、上記第1の処理サイクル数を上記第2の処理サイクル数と比較し、上記第1の処理サイクル数が上記第2の処理サイクル数以上のとき、当該周辺回路の最高クロック周波数を有するクロック信号を発生させる上記制御信号を上記クロック発生部に出力する一方、上記第1の処理サイクル数が上記第2の処理サイクル数未満のとき、当該周辺回路の最高クロック周波数よりも低い第1のクロック周波数を有するクロック信号を発生させる上記制御信号を上記クロック発生部に出力することを特徴とする。
【0013】
さらに、上記プロセッサにおいて、上記比較部は、上記第1の処理サイクル数を上記第2の処理サイクル数と比較し、上記第1の処理サイクル数が上記第2の処理サイクル数以上のとき、当該周辺回路の現在のクロック周波数を有するクロック信号を発生させる上記制御信号を上記クロック発生部に出力する一方、上記第1の処理サイクル数が上記第2の処理サイクル数未満のとき、当該周辺回路の現在のクロック周波数よりも低い第2のクロック周波数を有するクロック信号を発生させる上記制御信号を上記クロック発生部に出力することを特徴とする。
【0014】
またさらに、上記プロセッサにおいて、上記比較部は、上記第1の処理サイクル数を上記第2の処理サイクル数と比較し、上記第1の処理サイクル数が上記第2の処理サイクル数以上のとき、当該周辺回路の現在のクロック周波数を有するクロック信号を発生させる上記制御信号を上記クロック発生部に出力する一方、上記第1の処理サイクル数が上記第2の処理サイクル数未満のとき、当該周辺回路の現在のクロック周波数よりも低い第3のクロック周波数及び所定の第4のクロック周波数のうちの高い方のクロック周波数を有するクロック信号を発生させる上記制御信号を上記クロック発生部に出力することを特徴とする。
【0015】
また、上記プロセッサにおいて、上記算出部は、当該周辺回路が処理を開始する前に、上記プロセッサコアからの命令によって指定された各処理について、
(A)処理対象のデータの数と当該処理を実行するために必要なサイクル数とを乗算して各乗算結果を算出した後、当該各乗算結果を加算することにより、当該周辺回路が実行すべき処理に必要なサイクル数である全処理サイクル数を上記第1の処理サイクル数として算出し、若しくは、
(B)当該各処理を実行するために必要な各サイクル数を加算することにより、当該周辺回路が実行すべき処理に必要なサイクル数である全処理サイクル数を上記第1の処理サイクル数として算出することを特徴とする。
【0016】
さらに、上記プロセッサにおいて、上記算出部は、当該周辺回路によって実行された処理のサイクル数を計数し、上記計算された全処理サイクル数から上記計数した処理のサイクル数を周期的に減算することにより、当該周辺回路が実行すべき処理のうちの未実行である処理に必要なサイクル数である残サイクル数を上記第1の処理サイクル数として周期的に算出することを特徴とする。
【0017】
またさらに、上記プロセッサにおいて、上記クロック発生部は、所定の基準クロック周波数を有する基準クロック信号を発生し、上記制御信号に応答して所定の逓倍数で逓倍し、若しくは所定の分周比で分周して、当該制御信号に対応するクロック周波数のクロック信号を発生することを特徴とする。
【0018】
また、上記プロセッサにおいて、上記比較部は、上記第2の処理サイクル数を上記第1の処理サイクル数で除算し、当該除算結果である分周比を示す制御信号を出力し、
上記クロック発生部は、所定の基準クロック周波数を有する基準クロック信号を発生し、上記制御信号により示される分周比で分周して、当該制御信号に対応するクロック周波数のクロック信号を発生することを特徴とする。
【0019】
さらに、上記プロセッサにおいて、上記比較部は、上記第2の処理サイクル数から上記第1の処理サイクル数を減算し、当該減算結果である差を示す制御信号を出力し、
上記クロック発生部は、上記制御信号により示される差に対応するクロック周波数であって、上記差が大きくなるにつれてより低いクロック周波数を有するクロック信号を発生することを特徴とする。
【0020】
またさらに、上記プロセッサにおいて、上記周辺回路はさらに、上記プロセッサからの選択信号に基づいて、上記複数の他の周辺回路からの上記各第2の処理サイクル数のうちの1つを選択して、上記比較部に出力する選択部を備えたことを特徴とする。
【0021】
また、上記プロセッサにおいて、上記周辺回路はさらに、上記複数の他の周辺回路からの上記各第2の処理サイクル数のうちの最大値を有する第2の処理サイクル数を選択して、上記比較部に出力する選択部を備えたことを特徴とする。
【0022】
本発明に係るプロセッサは、プロセッサコアと、当該プロセッサコアからの命令に応答して所定の処理を実行する複数の周辺回路とを備えるプロセッサにおいて、
上記各周辺回路は、
上記プロセッサコアからの命令に基づいて実行した処理のサイクル数を示す第1の処理サイクル数を算出する算出部と、
所定の制御信号に基づいて、当該制御信号に対応するクロック周波数のクロック信号を発生して当該周辺回路に出力して当該周辺回路を動作させるクロック発生部と、
上記第1の処理サイクル数を、他の周辺回路の算出部によって算出される上記他の周辺回路が実行した処理のサイクル数を示す第2の処理サイクル数と比較して、当該比較結果に基づいて、当該周辺回路の処理終了時刻が上記他の周辺回路の処理終了時刻に近づくように上記制御信号を発生する比較部とを備えたことを特徴とする。
【0023】
また、上記プロセッサにおいて、上記比較部は、上記第1の処理サイクル数を上記第2の処理サイクル数と比較し、上記第1の処理サイクル数が上記第2の処理サイクル数以下のとき、当該周辺回路の最高クロック周波数を有するクロック信号を発生させる上記制御信号を上記クロック発生部に出力する一方、上記第1の処理サイクル数が上記第2の処理サイクル数より大きいとき、当該周辺回路の最高クロック周波数よりも低い第1のクロック周波数を有するクロック信号を発生させる上記制御信号を上記クロック発生部に出力することを特徴とする。
【0024】
さらに、上記プロセッサにおいて、上記比較部は、上記第1の処理サイクル数を上記第2の処理サイクル数と比較し、上記第1の処理サイクル数が上記第2の処理サイクル数以下のとき、当該周辺回路の現在のクロック周波数を有するクロック信号を発生させる上記制御信号を上記クロック発生部に出力する一方、上記第1の処理サイクル数が上記第2の処理サイクル数より大きいとき、当該周辺回路の現在のクロック周波数よりも低い第2のクロック周波数を有するクロック信号を発生させる上記制御信号を上記クロック発生部に出力することを特徴とする。
【0025】
またさらに、上記プロセッサにおいて、上記比較部は、上記第1の処理サイクル数を上記第2の処理サイクル数と比較し、上記第1の処理サイクル数が上記第2の処理サイクル数以下のとき、当該周辺回路の現在のクロック周波数を有するクロック信号を発生させる上記制御信号を上記クロック発生部に出力する一方、上記第1の処理サイクル数が上記第2の処理サイクル数より大きいとき、当該周辺回路の現在のクロック周波数よりも低い第3のクロック周波数及び所定の第4のクロック周波数のうちの高い方のクロック周波数を有するクロック信号を発生させる上記制御信号を上記クロック発生部に出力することを特徴とする。
【0026】
また、上記プロセッサにおいて、上記算出部は、当該周辺回路によって実行された処理のサイクル数を計数することにより、当該周辺回路によって実行された処理のサイクル数である実行サイクル数を上記第1の処理サイクル数として周期的に算出することを特徴とする。
【0027】
さらに、上記プロセッサにおいて、上記クロック発生部は、所定の基準クロック周波数を有する基準クロック信号を発生し、上記制御信号に応答して所定の逓倍数で逓倍し、若しくは所定の分周比で分周して、当該制御信号に対応するクロック周波数のクロック信号を発生することを特徴とする。
【0028】
またさらに、上記プロセッサにおいて、上記比較部は、上記第1の処理サイクル数を上記第2の処理サイクル数で除算し、当該除算結果である分周比を示す制御信号を出力し、
上記クロック発生部は、所定の基準クロック周波数を有する基準クロック信号を発生し、上記制御信号により示される分周比で分周して、当該制御信号に対応するクロック周波数のクロック信号を発生することを特徴とする。
【0029】
また、上記プロセッサにおいて、上記比較部は、上記第1の処理サイクル数から上記第2の処理サイクル数を減算し、当該減算結果である差を示す制御信号を出力し、
上記クロック発生部は、上記制御信号により示される差に対応するクロック周波数であって、上記差が大きくなるにつれてより低いクロック周波数を有するクロック信号を発生することを特徴とする。
【0030】
さらに、上記プロセッサにおいて、上記周辺回路はさらに、上記プロセッサからの選択信号に基づいて、上記複数の他の周辺回路からの上記各第2の処理サイクル数のうちの1つを選択して、上記比較部に出力する選択部を備えたことを特徴とする。
【0031】
またさらに、上記プロセッサにおいて、上記周辺回路はさらに、上記複数の他の周辺回路からの上記各第2の処理サイクル数のうちの最小値を有する第2の処理サイクル数を選択して、上記比較部に出力する選択部を備えたことを特徴とする。
【0032】
本発明に係る半導体集積回路装置は、プロセッサを備えたことを特徴とする。
【0033】
本発明に係るプロセッサシステムは、プロセッサを備えたことを特徴とする。
【0034】
また、本発明に係るプロセッサシステムは、半導体集積回路装置を備えたことを特徴とする。
【発明の効果】
【0035】
本発明に係るプロセッサ、半導体集積回路装置、及びプロセッサシステムによれば、各周辺回路は、当該周辺回路の処理サイクル数を他の周辺回路の処理サイクル数と比較して、当該比較結果に基づいて、当該周辺回路の処理終了時刻が他の周辺回路の処理終了時刻に近づくようなクロック周波数のクロック信号に基づいて動作するので、複数の周辺回路のクロック周波数が低下して、プロセッサ、半導体集積回路装置、及びプロセッサシステムの処理性能に対する影響を抑えて、プロセッサ、半導体集積回路装置、及びプロセッサシステムの消費電流を低減させることができる。
【0036】
また、本発明に係るプロセッサ、半導体集積回路装置、及びプロセッサシステムによれば、各周辺回路は、当該周辺回路の処理時間が他の周辺回路の処理時間と等しい又はより長い場合、当該周辺回路の最高クロック周波数を有するクロック信号に基づいて動作し、当該周辺回路の処理時間が他の周辺回路の処理時間よりも短い場合、当該周辺回路の最高クロック周波数よりも低いクロック周波数を有するクロック信号に基づいて動作するので、複数の周辺回路の処理終了時刻が近づくように、複数の周辺回路のクロック周波数が低下して、プロセッサ、半導体集積回路装置、及びプロセッサシステムの処理性能に対する影響を抑えて、プロセッサ、半導体集積回路装置、及びプロセッサシステムの消費電流を低減させることができる。
【0037】
さらに、本発明に係るプロセッサ、半導体集積回路装置、及びプロセッサシステムによれば、各周辺回路は、当該周辺回路の処理時間が他の周辺回路の処理時間と等しい又はより長い場合、当該周辺回路の現在のクロック周波数を有するクロック信号に基づいて動作し、当該周辺回路の処理時間が他の周辺回路の処理時間よりも短い場合、当該周辺回路の現在のクロック周波数よりも低いクロック周波数を有するクロック信号に基づいて動作するので、複数の周辺回路の処理終了時刻が近づくように、複数の周辺回路のクロック周波数が低下して、プロセッサ、半導体集積回路装置、及びプロセッサシステムの処理性能に対する影響を抑えて、プロセッサ、半導体集積回路装置、及びプロセッサシステムの消費電流を低減させることができる。
【0038】
またさらに、本発明に係るプロセッサ、半導体集積回路装置、及びプロセッサシステムによれば、各周辺回路は、当該周辺回路の処理時間が他の周辺回路の処理時間と等しい又はより長い場合、当該周辺回路の現在のクロック周波数を有するクロック信号に基づいて動作し、当該周辺回路の処理時間が他の周辺回路の処理時間よりも短い場合、当該周辺回路の現在のクロック周波数よりも低いクロック周波数及び所定のクロック周波数のうちの高い方のクロック周波数を有するクロック信号に基づいて動作するので、複数の周辺回路の処理終了時刻が近づくように、複数の周辺回路のクロック周波数が低下して、プロセッサ、半導体集積回路装置、及びプロセッサシステムの処理性能に対する影響を抑えて、プロセッサ、半導体集積回路装置、及びプロセッサシステムの消費電流を低減させることができる。
【0039】
また、本発明に係るプロセッサ、半導体集積回路装置、及びプロセッサシステムによれば、各周辺回路は、当該周辺回路の処理サイクル数を周期的に算出して、当該算出した処理サイクル数を他の周辺回路の処理サイクル数と周期的に比較することによりクロック周波数を周期的に変更するので、処理実行中にストールが発生する、又はクロックウエイトが挿入されるなどによって、処理に遅延が発生した場合にも、遅延発生後の処理サイクル数に基づいてクロック周波数を設定することができ、複数の周辺回路の処理終了時刻が近づくように、複数の周辺回路のクロック周波数が低下して、プロセッサ、半導体集積回路装置、及びプロセッサシステムの処理性能に対する影響を抑えて、プロセッサ、半導体集積回路装置、及びプロセッサシステムの消費電流を低減させることができる。
【0040】
さらに、本発明に係るプロセッサ、半導体集積回路装置、及びプロセッサシステムによれば、各周辺回路は、比較部によって実行される除算の商に基づいて他の周辺回路に対する相対的な処理時間を予測して、当該周辺回路の処理終了時刻が最も長い処理時間を有する周辺回路の処理終了時刻よりも遅くならない範囲でクロック周波数を設定するので、複数の周辺回路の処理終了時刻が最も長い処理時間を有する周辺回路の処理終了時刻よりも遅くならない範囲で、複数の周辺回路のクロック周波数が低下して、プロセッサ、半導体集積回路装置、及びプロセッサシステムの処理性能に対する影響を抑えて、プロセッサ、半導体集積回路装置、及びプロセッサシステムの消費電流を低減させることができる。
【0041】
またさらに、本発明に係るプロセッサ、半導体集積回路装置、及びプロセッサシステムによれば、各周辺回路は、比較部によって実行される減算の結果に基づいて他の周辺回路に対する相対的な処理時間を予測して、当該周辺回路の処理終了時刻が最も長い処理時間を有する周辺回路の処理終了時刻よりも遅くならない範囲でクロック周波数を設定するので、複数の周辺回路の処理終了時刻が最も長い処理時間を有する周辺回路の処理終了時刻よりも遅くならない範囲で、複数の周辺回路のクロック周波数が低下して、プロセッサ、半導体集積回路装置、及びプロセッサシステムの処理性能に対する影響を抑えて、プロセッサ、半導体集積回路装置、及びプロセッサシステムの消費電流を低減させることができる。
【0042】
また、本発明に係るプロセッサ、半導体集積回路装置、及びプロセッサシステムによれば、各周辺回路は、プロセッサからの選択信号に基づいて、複数の他の周辺回路からの各処理サイクル数のうちの1つを選択する選択部を備えたので、3つ以上の周辺回路を備えるプロセッサシステムにおいて、複数の周辺回路の処理終了時刻が近づくように、複数の周辺回路のクロック周波数が低下して、プロセッサ、半導体集積回路装置、及びプロセッサシステムの処理性能に対する影響を抑えて、プロセッサ、半導体集積回路装置、及びプロセッサシステムの消費電流を低減させることができる。
【0043】
さらに、本発明に係るプロセッサ、半導体集積回路装置、及びプロセッサシステムによれば、各周辺回路は、複数の他の周辺回路からの各処理サイクル数から最も長い処理時間を示す処理サイクル数を選択する選択部を備えたので、3つ以上の周辺回路を備えるプロセッサシステムにおいて、複数の周辺回路の処理終了時刻が最も長い処理時間を有する周辺回路の処理終了時刻に近づくように、複数の周辺回路のクロック周波数が低下して、プロセッサ、半導体集積回路装置、及びプロセッサシステムの処理性能に対する影響を抑えて、プロセッサ、半導体集積回路装置、及びプロセッサシステムの消費電流を低減させることができる。
【図面の簡単な説明】
【0044】
【図1】本発明の第1の実施形態に係るプロセッサシステム1の構成を示すブロック図である。
【図2】図1の周辺回路3−1,3−2の構成を示すブロック図である。
【図3】本発明の第2の実施形態に係る周辺回路3−1a,3−2aの構成を示すブロック図である。
【図4】本発明の第3の実施形態に係る周辺回路3−1b,3−2bの構成を示すブロック図である。
【図5】本発明の第4の実施形態に係る周辺回路3−1c,3−2c,3−3cの構成を示すブロック図である。
【図6】本発明の第5の実施形態に係る周辺回路3−1d,3−2d,3−3dの構成を示すブロック図である。
【図7】本発明の第6の実施形態に係る周辺回路3−1e,3−2e,3−2eの構成を示すブロック図である。
【図8】本発明の第7の実施形態に係る周辺回路3−1f,3−2f,3−3fの構成を示すブロック図である。
【図9】本発明の第8の実施形態に係る周辺回路3−1g,3−2g,3−3gの構成を示すブロック図である。
【図10】本発明の第9の実施形態に係る周辺回路3−1h,3−2h,3−3hの構成を示すブロック図である。
【発明を実施するための形態】
【0045】
第1の実施形態.
図1は、本発明の第1の実施形態に係るプロセッサシステム1の構成を示すブロック図である。図1に示すように、プロセッサシステム1は、プロセッサコア2と、周辺回路3−1,3−2と、メモリ4−1,4−2とを備えて構成される。また、プロセッサ7は、プロセッサコア2と、周辺回路3−1,3−2とを備えて構成される。なお、プロセッサ7は、例えばLSIなどの半導体集積回路装置によって構成されてもよい。
【0046】
第1の実施形態に係るプロセッサ7は、プロセッサコア2と、プロセッサコア2からの命令に応答して所定の処理を実行する周辺回路3−1,3−2とを備え、周辺回路3−1,3−2は以下のことを特徴とする。
【0047】
周辺回路3−1は、プロセッサコア2からの命令に基づいて実行すべき処理のサイクル数を示す全処理サイクル数NA1を算出する算出部100と、所定の分周比を示す制御信号に基づいてクロック信号を分周し、当該制御信号に対応するクロック周波数のクロック信号CKを発生して周辺回路3−1に出力して周辺回路3−1を動作させるクロック発生部400と、全処理サイクル数NA1を、周辺回路3−2の算出部100によって算出される周辺回路3−2が実行すべき処理のサイクル数を示す全処理サイクル数NA2と比較して、当該比較結果に基づいて、周辺回路3−1の処理終了時刻が周辺回路3−2の処理終了時刻に近づくように上記分周比を示す制御信号を発生する比較部300とを備えたことを特徴とする。
【0048】
また、周辺回路3−2は、プロセッサコア2からの命令に基づいて実行すべき処理のサイクル数を示す全処理サイクル数NA2を算出する算出部100と、所定の分周比を示す制御信号に基づいてクロック信号を分周し、当該制御信号に対応するクロック周波数のクロック信号CKを発生して周辺回路3−2に出力して周辺回路3−2を動作させるクロック発生部400と、全処理サイクル数NA2を、周辺回路3−1の算出部100によって算出される周辺回路3−1が実行すべき処理のサイクル数を示す全処理サイクル数NA1と比較して、当該比較結果に基づいて、周辺回路3−2の処理終了時刻が周辺回路3−1の処理終了時刻に近づくように上記分周比を示す制御信号を発生する比較部300とを備えたことを特徴とする。
【0049】
図1において、プロセッサコア2は、画像処理に適したSIMD(Single Instruction−stream Multiple Data−stream)形式で構成され、グローバルプロセッサ5と、画素データなどの複数のデータを同時に処理するためのプロセッサエレメントアレイ6とを備えて構成される。
【0050】
グローバルプロセッサ5は、プロセッサコア2の全体の動作、プロセッサエレメントアレイ6の動作、及び周辺回路3−1,3−2の動作を制御する。グローバルプロセッサ5が周辺回路3−1,3−2の動作を制御する場合、グローバルプロセッサ5はまず、周辺回路3−1,3−2に対して処理内容を指定する命令(以下、処理内容命令という。)を送信し、次いで処理開始を指示する命令(以下、処理開始命令という。)を送信する。その後、グローバルプロセッサ5は、周辺回路3−1,3−2から処理が終了したことを表すメッセージ(以下、処理終了メッセージという。)を受信する。処理内容命令は、周辺回路3−1,3−2が実行する処理の種類、及びその処理を適用するべきデータの数並びにデータが格納されているレジスタアレイ61のアドレス又はメモリ4−1,4−2のアドレスなどを含む。
【0051】
プロセッサエレメントアレイ6は、複数のデータを格納するためのレジスタアレイ61と、複数のデータを処理するための演算アレイ62とを備えて構成されており、グローバルプロセッサ5からの制御信号にしたがって動作する。また、レジスタアレイ61は周辺回路3−1,3−2に接続されており、周辺回路3−1,3−2はレジスタアレイ61に対して読み出し処理及び書き込み処理を実行する。
【0052】
周辺回路3−1は、例えばメモリコントローラ又はデータ転送装置などであり、グローバルプロセッサ5から処理内容命令を受信すると、詳細後述するように周辺回路3−1自身のクロック信号のクロック周波数を設定し(以下、クロック周波数設定処理という。)、その後、グローバルプロセッサ5から処理開始命令を受信すると、設定したクロック周波数を有するクロック信号に基づいてレジスタアレイ61及びメモリ4−1との間でデータを送受信して指定された処理を実行する。周辺回路3−1は、指定された処理が終了すると、処理終了メッセージをグローバルプロセッサ5に送信する。なお、周辺回路3−1は、クロック周波数設定処理を実行する前は、周辺回路3−1が動作可能な最高のクロック周波数(以下、最高クロック周波数という。)を有するクロック信号に基づいて動作する。
【0053】
周辺回路3−2は、例えばメモリコントローラ又はデータ転送装置などであり、グローバルプロセッサ5から処理内容命令を受信すると、詳細後述するようにクロック周波数設定処理を実行し、その後、グローバルプロセッサ5から処理開始命令を受信すると、設定したクロック周波数を有するクロック信号に基づいてレジスタアレイ61及びメモリ4−2との間でデータを送受信して指定された処理を実行する。周辺回路3−2は、指定された処理が終了すると、処理終了メッセージをグローバルプロセッサ5に送信する。なお、周辺回路3−3は、クロック周波数設定処理を実行する前は、周辺回路3−2の最高クロック周波数を有するクロック信号に基づいて動作する。上述したように、周辺回路3−2は、周辺回路3−1と同様に動作する。
【0054】
メモリ4−1,4−2は、例えばDDRSDRAM(Double−Data−Rate Synchronous Dynamic Random Access Memory)などであるメモリであり、周辺回路3−1,3−2によって読み出し処理及び書き込み処理が実行される。
【0055】
以上のように構成されたプロセッサシステム1では、並列性の高い処理をプロセッサエレメントアレイ6で実行し、並列性の低い処理、例えば逐次処理などが必要な処理を周辺回路3−1,3−2で実行するように、処理が分担して実行される。
【0056】
図2は、図1の周辺回路3−1,3−2の構成を示すブロック図である。まず、図2参照して、周辺回路3−1について説明する。図2に示すように、周辺回路3−1は、テーブルメモリ101mを備えたシーケンスユニット101と、例えば8ビット又は16ビットの全処理サイクル数格納レジスタ102と、比較回路301と、クロック発生回路401とを備えて構成される。ここで、シーケンスユニット101と全処理サイクル数格納レジスタ102とは算出部100を構成し、比較回路301は比較部300を構成し、クロック発生回路401はクロック発生部400を構成する。
【0057】
なお、図2では図示していないが、周辺回路3−1は、レジスタアレイ61及びメモリ4−1に対する読み出し処理及び書き込み処理を実行するための回路なども備えており、これらの回路は、シーケンスユニット101によって制御される。以下、周辺回路3−1によって実行されるクロック周波数設定処理について説明する。
【0058】
シーケンスユニット101は、グローバルプロセッサ5から処理内容命令を受信すると、後述するように、テーブルメモリ101mを参照して、処理内容命令によって指定された処理を実行するために必要な処理サイクル数(以下、全処理サイクル数という。)NA1を算出し、全処理サイクル数NA1を示すデータを全処理サイクル数格納レジスタ102に格納する。全処理サイクル数NA1は、周辺回路3−1が実行すべき処理のサイクル数、すなわち処理の量(以下、処理量という。)を表している。したがって、全処理サイクル数NA1が大きくなるほど、周辺回路3−1の処理量が多くなり、周辺回路3−1が処理を実行するために必要な時間(以下、処理時間という。)が長くなる。
【0059】
テーブルメモリ101mは、周辺回路3−1によって実行される処理毎に1つのデータを処理するために必要な処理サイクル数を格納している。シーケンスユニット101は、グローバルプロセッサ5からの処理内容命令を参照して、各処理について処理対象となっているデータの数と当該処理の1データ当たりの処理サイクル数とを乗算した後、乗算結果のすべてを加算することによって全処理サイクル数NA1を算出する。
【0060】
なお、周辺回路3−1によって実行される処理の種類が1種類である場合、シーケンスユニット101は、テーブルメモリ101mを備えずに構成され、処理対象となっているデータの数と定数とを乗算することによって全処理サイクル数NA1を算出してもよい。また、周辺回路3−1によって実行される処理の内容が複雑であり、データ数と1データ当たりの処理サイクル数との乗算によって処理サイクル数を算出できない場合、テーブルメモリ101mがそれぞれの処理に対応する処理サイクル数を格納してもよい。
【0061】
全処理サイクル数格納レジスタ102は、シーケンスユニット101から出力される全処理サイクル数NA1を示すデータを格納し、全処理サイクル数NA1を示すデータを比較回路301及び周辺回路3−2の比較回路301に出力する。
【0062】
比較回路301は、周辺回路3−1の全処理サイクル数NA1及び周辺回路3−2の全処理サイクル数NA2が算出されたときに、全処理サイクル数格納レジスタ102からのデータによって示される全処理サイクル数NA1を、周辺回路3−2の全処理サイクル数格納レジスタ102からのデータによって示される全処理サイクル数NA2と比較して、下記のように分周比を設定し、当該分周比を示す制御信号をクロック発生回路401に出力する。
(1)全処理サイクル数NA1が全処理サイクル数NA2以上の場合:周辺回路3−1の処理時間が、周辺回路3−2の処理時間と等しい又はより長いと予測できる。このとき、比較回路301は、分周比を1に設定する。
(2)全処理サイクル数NA1が全処理サイクル数NA2未満の場合:周辺回路3−1の処理時間が、周辺回路3−2の処理時間よりも短いと予測できる。このとき、比較回路301は、分周比を2に設定する。なお、このとき、比較回路301は、分周比を1より大きい所定の実数値に設定してもよい。
【0063】
クロック発生回路401は、基準クロック発生器402と、分周器403とを備えて構成される。基準クロック発生器402は、周辺回路3−1の最高クロック周波数を有するクロック信号を発生して分周器403に出力する。分周器403は、比較回路301からの分周比を示す制御信号に基づいて、基準クロック発生器402によって発生されるクロック信号を分周して、周辺回路3−1の各回路に出力する。
【0064】
次に、図2を参照して、周辺回路3−2について説明する。図2に示すように、周辺回路3−2は、テーブルメモリ101mを備えたシーケンスユニット101と、例えば8ビット又は16ビットの全処理サイクル数格納レジスタ102と、比較回路301と、クロック発生回路401とを備えて構成される。
【0065】
なお、図2では図示していないが、周辺回路3−2は、レジスタアレイ61及びメモリ4−2に対する読み出し処理及び書き込み処理を実行するための回路なども備えており、これらの回路は、シーケンスユニット101によって制御される。以下、周辺回路3−2によって実行されるクロック周波数設定処理について説明する。
【0066】
シーケンスユニット101は、グローバルプロセッサ5から処理内容命令を受信すると、テーブルメモリ101mを参照して、全処理サイクル数NA2を算出し、全処理サイクル数NA2を示すデータを全処理サイクル数格納レジスタ102に格納する。ここで、テーブルメモリ101mは、上述した周辺回路3−1のテーブルメモリ101mと同様の情報を記憶している。
【0067】
全処理サイクル数格納レジスタ102は、シーケンスユニット101から出力される全処理サイクル数NA2を示すデータを格納し、全処理サイクル数NA2を示すデータを比較回路301及び周辺回路3−1の比較回路301に出力する。
【0068】
比較回路301は、周辺回路3−2の全処理サイクル数NA2及び周辺回路3−1の全処理サイクル数NA1が算出されたときに、全処理サイクル数格納レジスタ102からのデータによって示される全処理サイクル数NA2を、周辺回路3−1の全処理サイクル数格納レジスタ102からのデータによって示される全処理サイクル数NA1と比較して、下記のように分周比を設定し、当該分周比を示す制御信号をクロック発生回路401に出力する。
(1)全処理サイクル数NA2が全処理サイクル数NA1以上の場合:周辺回路3−2の処理時間が、周辺回路3−1の処理時間と等しい又はより長いと予測できる。このとき、比較回路301は、分周比を1に設定する。
(2)全処理サイクル数NA2が全処理サイクル数NA1未満の場合:周辺回路3−2の処理時間が、周辺回路3−1の処理時間よりも短いと予測できる。このとき、比較回路301は、分周比を2に設定する。なお、このとき、比較回路301は、分周比を1より大きい所定の実数値に設定してもよい。
【0069】
クロック発生回路401は、基準クロック発生器402と、分周器403とを備えて構成される。基準クロック発生器402は、周辺回路3−2の最高クロック周波数を有するクロック信号を発生して分周器403に出力する。分周器403は、比較回路301からの分周比を示す制御信号に基づいて、基準クロック発生器402によって発生されるクロック信号を分周して、周辺回路3−1の各回路に出力する。上述したように、周辺回路3−2は、上述した周辺回路3−1と同様に構成され、同様に動作する。
【0070】
上述したように周辺回路3−1,3−2を構成したので、周辺回路3−1,3−2はそれぞれ、自身の全処理サイクル数NA1,NA2を算出し、より長い処理時間を有する周辺回路は最高クロック周波数を有するクロック信号に基づいて動作し、より短い処理時間を有する周辺回路は最高クロック周波数の1/2のクロック周波数を有するクロック信号に基づいて動作する。より短い処理時間を有する周辺回路のクロック周波数が、より長い処理時間を有する周辺回路のクロック周波数よりも低く設定されるので、プロセッサシステム1の処理性能に対する影響が抑えられる。
【0071】
以上説明したように、第1の実施形態によれば、周辺回路3−1は、グローバルプロセッサ5から処理内容命令を受信した後にクロック周波数設定処理を実行して、自身の全処理サイクル数NA1が周辺回路3−2の全処理サイクル数NA2以上の場合、最高クロック周波数を有するクロック信号に基づいて動作し、自身の全処理サイクル数NA1が周辺回路3−2の全処理サイクル数NA2未満の場合、最高クロック周波数の1/2のクロック周波数を有するクロック信号に基づいて動作し、周辺回路3−2も同様に動作する。したがって、周辺回路3−1の処理終了時刻と周辺回路3−2の処理終了時刻とがおおよそ揃うように、周辺回路3−1又は周辺回路3−2のクロック周波数が低下して、プロセッサシステム1の処理性能に対する影響を抑えて、プロセッサシステム1の消費電流を低減させることができる。
【0072】
第2の実施形態.
第2の実施形態に係るプロセッサシステムは、第1の実施形態に係るプロセッサシステムと比較して、周辺回路3−1,3−2に代えて、周辺回路3−1a,3−2aを備えることを特徴とし、その他の構成要素及び動作は第1の実施形態と同様であり、その説明を省略する。
【0073】
図3は、本発明の第2の実施形態に係る周辺回路3−1a,3−2aの構成を示すブロック図である。図2の周辺回路3−1,3−2は、全処理サイクル数に基づいてクロック周波数を設定するが、図3の周辺回路3−1a,3−2aは、後述する実行サイクル数に基づいて周期的にクロック周波数を設定する。
【0074】
まず、図3を参照して、周辺回路3−1aについて説明する。図3に示すように、周辺回路3−1aは、シーケンスユニット101aと、例えば8ビット又は16ビットの実行サイクル数格納レジスタ102aと、実行サイクル数カウンタ回路103aと、比較回路301aと、クロック発生回路401とを備えて構成される。ここで、シーケンスユニット101aと実行サイクル数格納レジスタ102aと実行サイクル数カウンタ回路103aとは、算出部100aを構成し、比較回路301aは比較部300aを構成し、クロック発生回路401はクロック発生部400を構成する。
【0075】
なお、図3には図示していないが、周辺回路3−1aは、レジスタアレイ61及びメモリ4−1に対する読み出し処理及び書き込み処理を実行するための回路なども備えており、これらの回路は、シーケンスユニット101aによって制御される。以下、周辺回路3−1aによって実行されるクロック周波数設定処理について説明する。
【0076】
シーケンスユニット101aは、グローバルプロセッサ5から処理開始命令を受信すると、実行サイクル数カウンタ回路103aをゼロにリセットし、処理を実行する毎に実行サイクル数カウンタ回路103aをインクリメントする。ここで、シーケンスユニット101aは、クロック信号が入力される毎に処理を実行する。また、シーケンスユニット101aは、グローバルプロセッサ5から処理開始命令を受信した後、所定の周期Tで書き込み信号を実行サイクル数格納レジスタ102aに送信し、実行サイクル数カウンタ回路103aに格納された値(以下、実行サイクル数という。)NE1を実行サイクル数格納レジスタ102aに格納させる。実行サイクル数NE1は、周辺回路3−1aによって実行された処理のサイクル数、すなわち処理の進捗程度を表している。実行サイクル数は、周辺回路3−1a及び周辺回路3−2aが同一の処理を実行するときなどに使用される。したがって、時間が経過すると、実行サイクル数NE1は増大し、周辺回路3−1aの処理が進行して実行すべき処理の量(以下、処理量という。)が減少し、周辺回路3−1aが処理を実行するために必要な時間(以下、処理時間という。)が短くなる。
【0077】
実行サイクル数格納レジスタ102aは、シーケンスユニット101aからの書き込み信号に応答して、実行サイクル数カウンタ回路103aからの実行サイクル数NE1を示すデータを格納し、実行サイクル数NE1を示すデータを比較回路301a及び周辺回路3−2aの比較回路301aに出力する。
【0078】
比較回路301aは、周辺回路3−1aの実行サイクル数NE1並びに周辺回路3−2aの実行サイクル数NE2が算出されたとき、及び実行サイクル数NE1又は実行サイクル数NE2のうちの少なくとも一方が更新される毎に、実行サイクル数格納レジスタ102aからのデータによって示される実行サイクル数NE1を周辺回路3−2aの実行サイクル数格納レジスタ102aからのデータによって示される実行サイクル数NE2と比較して、下記のように分周比を設定し、当該分周比を示す制御信号をクロック発生回路401に出力する。
(1)実行サイクル数NE1が実行サイクル数NE2より大きい場合:周辺回路3−1aの処理時間が、周辺回路3−2aの処理時間よりも短いと予測できる。このとき、比較回路301aは、分周比を2に設定する。なお、このとき、比較回路301aは、分周比を1より大きい所定の実数値に設定してもよい。
(2)実行サイクル数NE1が実行サイクル数NE2以下の場合:周辺回路3−1aの処理時間が、周辺回路3−2aの処理時間と等しい又はより長いと予測できる。このとき、比較回路301aは、分周比を1に設定する。
【0079】
クロック発生回路401は、図2のクロック発生回路401と同様の構成であり、同様に動作する。また、周辺回路3−2aは、上述した周辺回路3−1aと同様に構成され、同様に動作する。
【0080】
上述したように周辺回路3−1a,3−2aを構成したので、周辺回路3−1a,3−2aの実行サイクル数が周期的に比較されて、より短い処理時間を有する周辺回路は最高クロック周波数の1/2のクロック周波数を有するクロック信号に基づいて動作し、より長い処理時間を有する周辺回路は最高クロック周波数を有するクロック信号に基づいて動作する。
【0081】
以上説明したように、第2の実施形態によれば、周辺回路3−1aは、グローバルプロセッサ5から処理開始命令を受信した後にクロック周波数設定処理を周期的に実行して、自身の実行サイクル数NE1が周辺回路3−2aの実行サイクル数NE2より大きい場合、最高クロック周波数の1/2のクロック周波数を有するクロック信号に基づいて動作し、自身の実行サイクル数NE1が周辺回路3−2aの実行サイクル数NE2以下の場合、最高クロック周波数を有するクロック信号に基づいて動作し、周辺回路3−2aも同様に動作する。したがって、周辺回路3−1aの処理終了時刻と周辺回路3−2aの処理終了時刻とがおおよそ揃うように、周辺回路3−1a又は周辺回路3−2aのクロック周波数が低下して、第2の実施形態に係るプロセッサシステムの処理性能に対する影響を抑えて、第2の実施形態に係るプロセッサシステムの消費電流を低減させることができる。
【0082】
また、第2の実施形態によれば、全処理サイクル数を用いて処理開始前に一度だけクロック周波数を設定する場合と比較して、周辺回路3−1a,3−2aは、周期的に実行サイクル数を比較するので、処理実行中にストールが発生する、又はクロックウエイトが挿入されるなどによって、処理に遅延が発生した場合にも、遅延発生後の処理時間に基づいてクロック周波数を設定することができ、第2の実施形態に係るプロセッサシステムの処理性能は低下させずに、第2の実施形態に係るプロセッサシステムの消費電流を低減させることができる。
【0083】
第3の実施形態.
第3の実施形態に係るプロセッサシステムは、第1の実施形態に係るプロセッサシステムと比較して、周辺回路3−1,3−2に代えて、周辺回路3−1b,3−2bを備えることを特徴とし、その他の構成要素及び動作は第1の実施形態と同様であり、その説明を省略する。
【0084】
図4は、本発明の第3の実施形態に係る周辺回路3−1b,3−2bの構成を示すブロック図である。図2の周辺回路3−1,3−2は、全処理サイクル数に基づいてクロック周波数を設定するが、図4の周辺回路3−1b,3−2bは、後述する残サイクル数に基づいてクロック周波数を設定する。
【0085】
まず、図4を参照して、周辺回路3−1bについて説明する。図4に示すように、周辺回路3−1bは、テーブルメモリ101bmを備えたシーケンスユニット101bと、例えば8ビット又は16ビットの残サイクル数格納レジスタ102bと、実行サイクル数カウンタ回路103bと、減算器104bと、比較回路301bと、クロック発生回路401とを備えて構成される。シーケンスユニット101bと残サイクル数格納レジスタ102bと実行サイクル数カウンタ回路103bと減算器104bとは算出部100を構成し、比較回路301bは比較部300bを構成し、クロック発生回路401はクロック発生部400を構成する。
【0086】
なお、図4には図示していないが、周辺回路3−1bは、レジスタアレイ61及びメモリ4−1に対する読み出し処理及び書き込み処理を実行するための回路なども備えており、これらの回路は、シーケンスユニット101bによって制御される。以下、周辺回路3−1bによって実行されるクロック周波数設定処理について説明する。
【0087】
シーケンスユニット101bは、グローバルプロセッサ5から処理内容命令を受信すると、第1の実施形態で述べたように、テーブルメモリ101bmを参照して、全処理サイクル数を算出して、当該全処理サイクル数を示すデータを減算器104bに出力する。ここで、テーブルメモリ101bmは、図2のテーブルメモリ101mと同様の情報が格納されている。また、シーケンスユニット101bは、グローバルプロセッサ5から処理開始命令を受信すると、実行サイクル数カウンタ回路103bをゼロにリセットし、処理を実行する毎に実行サイクル数カウンタ回路103bをインクリメントする。ここで、シーケンスユニット101bは、クロック信号が入力される毎に処理を実行する。実行サイクル数カウンタ回路103bは、格納している実行サイクル数を示すデータを減算器104bに出力する。また、シーケンスユニット101bは、グローバルプロセッサ5から処理開始命令を受信した後、所定の周期Tで書き込み信号を残サイクル数格納レジスタ102bに送信し、全処理サイクル数から実行サイクル数カウンタ回路103bに格納されたデータによって示される実行サイクル数を減算した値(以下、残サイクル数という。)NR1を残サイクル数格納レジスタ102bに格納させる。上述したように、残サイクル数NR1は、周辺回路3−1bが実行すべき処理の残りのサイクル数を表している。したがって、処理開始前において、残サイクル数NR1は全処理サイクル数と等しく、時間が経過すると、残サイクル数NR1は減少し、周辺回路3−1bが実行すべき処理の量(以下、処理量という。)が減少し、周辺回路3−1bが処理を実行するために必要な時間(以下、処理時間という。)が短くなる。
【0088】
残サイクル数格納レジスタ102bは、シーケンスユニット101bから書き込み信号に応答して、減算器104bからの残サイクル数NR1を示すデータを格納し、残サイクル数NR1を示すデータを比較回路301b及び周辺回路3−2bの比較回路301bに出力する。
【0089】
比較回路301bは、周辺回路3−1bの残サイクル数NR1及び周辺回路3−2bの残サイクル数NR2が算出されたとき、及び残サイクル数NR1又は残サイクル数NR2のうちの少なくとも一方が更新される毎に、残サイクル数格納レジスタ102bからのデータによって示される残サイクル数NR1を周辺回路3−2bの残サイクル数格納レジスタ102bからのデータによって示される残サイクル数NR2と比較して、下記のように分周比を設定し、当該分周比を示す制御信号をクロック発生回路401に出力する。
(1)残サイクル数NR1が残サイクル数NR2以上の場合:周辺回路3−1bの処理時間が、周辺回路3−2bの処理時間と等しい又はより長いと予測できる。このとき、比較回路301bは、分周比を1に設定する。
(2)残サイクル数NR1が残サイクル数NR2未満の場合:周辺回路3−1bの処理時間が、周辺回路3−2bの処理時間よりも短いと予測できる。このとき、比較回路301bは、分周比を2に設定する。なお、このとき、比較回路301bは、分周比を1より大きい所定の実数値に設定してもよい。
【0090】
クロック発生回路401は、図2のクロック発生回路401と同様の構成であり、同様に動作する。また、周辺回路3−2bは、上述した周辺回路3−1bと同様に構成され、同様に動作する。
【0091】
上述したように周辺回路3−1b,3−2bを構成したので、周辺回路3−1b,3−2bの残サイクル数が周期的に比較されて、より長い処理時間を有する周辺回路は最高クロック周波数で動作し、より短い処理時間を有する周辺回路は最高クロック周波数の1/2のクロック周波数で動作することとなる。
【0092】
以上説明したように、第3の実施形態によれば、周辺回路3−1bは、グローバルプロセッサ5から処理開始命令を受信した後にクロック周波数設定処理を周期的に実行して、自身の残サイクル数NR1が周辺回路3−2bの残サイクル数NR2以上の場合、最高クロック周波数を有するクロック信号に基づいて動作し、自身の残サイクル数NR1が周辺回路3−2bの残サイクル数NR2未満の場合、最高クロック周波数の1/2のクロック周波数を有するクロック信号に基づいて動作し、周辺回路3−2bも同様に動作する。したがって、周辺回路3−1bの処理終了時刻と周辺回路3−1bの処理終了時刻とがおおよそ揃うように、周辺回路3−1b又は周辺回路3−2bのクロック周波数が低下して、第3の実施形態に係るプロセッサシステムの処理性能に対する影響を抑えて、第3の実施形態に係るプロセッサシステムの消費電流が低減する。
【0093】
また、第3の実施形態によれば、全処理サイクル数を用いて処理開始前に一度だけクロック周波数を設定する場合と比較して、周辺回路3−1b,3−2bは、周期的に残サイクル数を比較するので、処理実行中にストールが発生する、又はクロックウエイトが挿入されるなどによって、処理に遅延が発生した場合にも、遅延発生後の処理時間に基づいてクロック周波数を設定することができ、第3の実施形態に係るプロセッサシステムの処理性能は低下させずに、第3の実施形態に係るプロセッサシステムの消費電流を低減させることができる。また、残サイクル数は、周辺回路における全処理サイクル数及び実行サイクル数の両方を考慮した値であるので、全処理サイクル数又は実行サイクル数のいずれか一方のみを考慮する場合よりも、詳細に周辺回路の実行時間を予測することができ、より効果的にクロック周波数を決定することができる。
【0094】
第4の実施形態.
第4の実施形態に係るプロセッサシステムは、第1の実施形態に係るプロセッサシステムと比較して、周辺回路3−1,3−2に代えて、周辺回路3−1c,3−2c,3−3cを備えることを特徴とし、その他の構成要素及び動作は第1の実施形態と同様であり、その説明を省略する。
【0095】
図5は、本発明の第4の実施形態に係る周辺回路3−1c,3−2c,3−3cの構成を示すブロック図である。第1の実施形態に係るプロセッサシステム1は、2つの周辺回路3−1,3−2を備えて構成されたが、本実施形態に係るプロセッサシステムは、3つの周辺回路3−1c,3−2c,3−3cを備えて構成される。
【0096】
まず、図5を参照して、周辺回路3−1cについて説明する。図5の周辺回路3−1cは、図2の周辺回路3−1と比較して、マルチプレクサ201をさらに備えること、及び全処理サイクル数格納レジスタ102が全処理サイクル数NA1を示すデータを比較回路301と周辺回路3−2cのマルチプレクサ201と周辺回路3−3cのマルチプレクサ201とに出力することを特徴とし、その他の構成要素は図2の周辺回路3−1と同様でありその説明を省略する。ここで、マルチプレクサ201は選択部200を構成する。
【0097】
マルチプレクサ201は、グローバルプロセッサ5からの選択信号に基づいて、周辺回路3−2cの全処理サイクル数格納レジスタ102からの全処理サイクル数NA2を示すデータ、及び周辺回路3−3cの全処理サイクル数格納レジスタ102からの全処理サイクル数NA3を示すデータのうちのいずれか一方を比較回路301に出力する。ここで、グローバルプロセッサ5からの選択信号は、グローバルプロセッサ5によって実行される処理などに基づいて予めユーザによって決定されてグローバルプロセッサ5に格納されている。また、周辺回路3−2c,3−3cは、上述した周辺回路3−1cと同様に構成され、同様に動作する。
【0098】
以上説明したように、第4の実施形態によれば、3つの周辺回路3−1c,3−2c,3−3cを備えるプロセッサシステムに対して、第1の実施形態と同様の作用効果を有する。
【0099】
なお、第4の実施形態では、3つの周辺回路3−1c,3−2c,3−3cを備えてプロセッサシステムを構成したが、本発明はこれに限らず、マルチプレクサ201及びグローバルプロセッサ5からの選択信号を4つ以上の入力データに対応できるように変更して、4つ以上の周辺回路を備えてプロセッサシステムを構成してもよい。
【0100】
また、第4の実施形態では、周辺回路3−1c,3−2c,3−3cは全処理サイクル数に基づいてクロック周波数を設定するが、実行サイクル数又は残サイクル数に基づいてクロック周波数を設定してもよい。
【0101】
第5の実施形態.
第5の実施形態に係るプロセッサシステムは、第4の実施形態に係るプロセッサシステムと比較して、周辺回路3−1c,3−2c,3−3cに代えて、周辺回路3−1d,3−2d,3−3dを備えることを特徴とし、その他の構成要素及び動作は第4の実施形態と同様であり、その説明を省略する。
【0102】
図6は、本発明の第5の実施形態に係る周辺回路3−1d,3−2d,3−3dの構成を示すブロック図である。図5の周辺回路3−1c,3−2c,3−3cは、グローバルプロセッサ5からの選択信号に基づいて、比較回路301に入力される全処理サイクル数を示すデータを選択するが、図6の周辺回路3−1d,3−2d,3−3dは、比較回路202の比較結果によって比較回路301に入力される全処理サイクル数を示すデータを選択する。
【0103】
まず、図6を参照して、周辺回路3−1dについて説明する。図6の周辺回路3−1dは、図5の周辺回路3−1cと比較して、比較回路202をさらに備えること、及び全処理サイクル数格納レジスタ102が全処理サイクル数NA1を示すデータを比較回路301と周辺回路3−2cのマルチプレクサ201及び比較回路202と周辺回路3−3cのマルチプレクサ201及び比較回路202とに出力することを特徴とし、その他の構成要素は図5の周辺回路3−1cと同様でありその説明を省略する。ここで、マルチプレクサ201と比較回路202とは選択部200Aを構成する。
【0104】
比較回路202は、周辺回路3−2dの全処理サイクル数格納レジスタ102からのデータによって示される全処理サイクル数NA2を周辺回路3−3dの全処理サイクル数格納レジスタ102からのデータによって示される全処理サイクル数NA3と比較して、大きい方の値、すなわちより長い処理時間を有する周辺回路の全処理サイクル数を示すデータを選択するための選択信号をマルチプレクサ201に出力する。また、周辺回路3−2d,3−3dは、上述した周辺回路3−1dと同様に構成され、同様に動作する。
【0105】
以上説明したように、第5の実施形態によれば、第4の実施形態と同様の作用効果を有する。また、周辺回路3−1dは、自身の全処理サイクル数NA1の比較対象として、周辺回路3−2dの全処理サイクル数NA2及び周辺回路3−3dの全処理サイクル数NA3のうちの大きい方の全処理サイクル数NA4を選択するので、周辺回路3−1dは、処理に最も時間がかかると予測される周辺回路に応じて、自身のクロック周波数を設定することができる。また、周辺回路3−2d,3−3dも同様に動作する。したがって、周辺回路3−1d,3−2d,3−3dの処理終了時刻が処理に最も時間がかかると予測される周辺回路の処理終了時刻におおよそ揃うように、周辺回路3−1d、周辺回路3−2d、又は周辺回路3−3dのクロック周波数が低下して、第5の実施形態に係るプロセッサシステムの処理性能に対する影響を抑えて、第5の実施形態に係るプロセッサシステムの消費電流を低減させることができる。
【0106】
なお、第5の実施形態では、3つの周辺回路3−1d,3−2d,3−3dを備えてプロセッサシステムを構成したが、本発明はこれに限らず、マルチプレクサ201及び比較回路202を4つ以上の入力データに対応できるように変更して、4つ以上の周辺回路を備えてプロセッサシステムを構成してもよい。
【0107】
また、第5の実施形態では、周辺回路3−1d,3−2d,3−3dは全処理サイクル数に基づいてクロック周波数を設定するが、実行サイクル数又は残サイクル数に基づいてクロック周波数を設定してもよい。
【0108】
第6の実施形態.
第6の実施形態に係るプロセッサシステムは、第5の実施形態に係るプロセッサシステムと比較して、周辺回路3−1d,3−2d,3−3dに代えて、周辺回路3−1e,3−2e,3−3eを備えることを特徴とし、その他の構成要素及び動作は第5の実施形態と同様であり、その説明を省略する。
【0109】
図7は、本発明の第6の実施形態に係る周辺回路3−1e,3−2e,3−3eの構成を示すブロック図である。図6の周辺回路3−1d,3−2d,3−3dは、比較回路301の比較結果に基づいて、クロック周波数を設定していたが、図7の周辺回路3−1e,3−2e,3−3eは、除算回路302によって実行される除算の結果基づいて、クロック周波数を設定する。
【0110】
まず、図7を参照して、周辺回路3−1eについて説明する。図7の周辺回路3−1eは、図6の周辺回路3−1dと比較して、比較回路301に代えて除算回路302を備えることを特徴とし、その他の構成要素は図6の周辺回路3−1dと同様でありその説明を省略する。ここで、除算回路302は比較部300Aを構成する。
【0111】
除算回路302は、周辺回路3−1eの全処理サイクル数NA1、周辺回路3−2eの全処理サイクル数NA2、及び周辺回路3−3eの全処理サイクル数NA3が算出されたときに、マルチプレクサ201から出力されるデータによって示される全処理サイクル数NA2及び全処理サイクル数NA3のうちの大きい方の全処理サイクル数NA4を、全処理サイクル数格納レジスタ102からのデータによって示される全処理サイクル数NA1で除算した商に基づいて、下記のように分周比を設定し、当該分周比を示す制御信号をクロック発生回路401に出力する。
(1)商が0の場合:周辺回路3−1eの全処理サイクル数NA1は、全処理サイクル数NA4より大きいので、周辺回路3−1eの処理時間は、他のどの周辺回路の処理時間よりも長いと予測できる。このとき、除算回路302は、分周比を1に設定する。
(2)商がM(Mは自然数である。)の場合:周辺回路3−1eの全処理サイクル数NA1は、上記全処理サイクル数NA4の1/M倍以下であるので、周辺回路3−1eの処理時間は、最も処理量が多い周辺回路の処理時間の1/M倍以下であると予測できる。このとき、除算回路302は、分周比をMに設定する。
【0112】
周辺回路3−2e,3−3eは、上述した周辺回路3−1eと同様に構成され、同様に動作する。
【0113】
以上説明したように、第6の実施形態によれば、第5の実施形態と同様の作用効果を有する。また、周辺回路3−1eは、除算回路302の商に基づいて他の周辺回路に対する相対的な処理時間を予測して、最も大きい全処理サイクル数を有する周辺回路の処理終了時刻よりも遅くならない範囲でクロック周波数を設定するので、比較回路に基づいてクロック周波数を設定する場合よりもより詳細にクロック周波数を設定することができる。また、周辺回路3−2e,3−3eも同様に動作する。したがって、周辺回路3−1e,3−2e,3−3eの処理終了時刻が最も大きい全処理サイクル数を有する周辺回路の処理終了時刻よりも遅くならない範囲で、周辺回路3−1e、周辺回路3−2e、又は周辺回路3−3eのクロック周波数が低下して、第6の実施形態に係るプロセッサシステムの処理性能に対する影響を抑えて、第6の実施形態に係るプロセッサシステムの消費電流を低減させることができる。
【0114】
なお、第6の実施形態では、3つの周辺回路3−1e,3−2e,3−3eを備えてプロセッサシステムを構成したが、本発明はこれに限らず、マルチプレクサ201及び比較回路202を4つ以上の入力データに対応できるように変更して、4つ以上の周辺回路を備えてプロセッサシステムを構成してもよい。
【0115】
また、第6の実施形態では、比較回路202を備えて周辺回路3−1e,3−2e,3−3eを構成したが、本発明はこれに限らず、比較回路202を備えず、グローバルプロセッサ5からの選択信号をマルチプレクサ201に入力するように周辺回路3−1e,3−2e,3−3eを構成してもよい。
【0116】
また、第6の実施形態では、3つの周辺回路3−1e,3−2e,3−3eを備えてプロセッサシステムを構成したが、本発明はこれに限らず、マルチプレクサ201及び比較回路202を備えずに周辺回路を構成し、2つの周辺回路を備えてプロセッサシステムを構成してもよい。
【0117】
また、第6の実施形態では、周辺回路3−1e,3−2e,3−3eは全処理サイクル数に基づいてクロック周波数を設定するが、実行サイクル数又は残サイクル数に基づいてクロック周波数を設定してもよい。ここで、実行サイクル数に基づいてクロック周波数を設定するときは、除算回路302は、上述した場合の除数と被除数とを入れ替えて除算を実行する。
【0118】
第7の実施形態.
第7の実施形態に係るプロセッサシステムは、第1の実施形態に係るプロセッサシステムと比較して、周辺回路3−1,3−2に代えて、周辺回路3−1f,3−2f,3−3fを備えることを特徴とし、その他の構成要素及び動作は第1の実施形態と同様であり、その説明を省略する。
【0119】
図8は、本発明の第7の実施形態に係る周辺回路3−1f,3−2f,3−3fの構成を示すブロック図である。周辺回路3−1f,3−2f,3−3fは、実行サイクル数に基づいてクロック周波数を設定するが、最高クロック周波数に対してではなく現在設定されているクロック周波数に対して分周比を設定する。また、分周比の上限値が設定されており、クロック周波数が所定のしきい値以上に設定されるように構成される。
【0120】
まず、図8を参照して、周辺回路3−1fについて説明する。図8に示すように、周辺回路3−1fは、シーケンスユニット101aと、例えば8ビット又は16ビットの実行サイクル数格納レジスタ102aと、実行サイクル数カウンタ回路103aと、マルチプレクサ201と、比較回路202aと、除算回路302aと、乗算回路304と、比較回路305と、上限値格納レジスタ306と、分周比格納レジスタ307と、マルチプレクサ309と、クロック発生回路401とを備えて構成される。ここで、シーケンスユニット101aと実行サイクル数格納レジスタ102aと実行サイクル数カウンタ回路103aとは算出部100aを構成し、マルチプレクサ201と比較回路202aとは選択部200Aaを構成し、除算回路302aと乗算回路304と比較回路305と上限値格納レジスタ306と分周比格納レジスタ307とマルチプレクサ309とは比較部300Baを構成し、クロック発生回路401はクロック発生部400を構成する。
【0121】
シーケンスユニット101aと、実行サイクル数格納レジスタ102aと、実行サイクル数カウンタ回路103aとは、第2の実施形態と同様の構成であり、周辺回路3−1fの実行サイクル数NE1を示すデータが周期的に、実行サイクル数格納レジスタ102aに格納され、かつ除算回路302aと周辺回路3−2fのマルチプレクサ201及び比較回路202aと周辺回路3−3fのマルチプレクサ201及び比較回路202aとに出力される。
【0122】
比較回路202aは、周辺回路3−2fの実行サイクル数格納レジスタ102aからのデータによって示される実行サイクル数NE2と周辺回路3−3fの実行サイクル数格納レジスタ102aからのデータによって示される実行サイクル数NE3とのうちの小さい方の値を選択するための選択信号をマルチプレクサ201に出力する。
【0123】
マルチプレクサ201は、比較回路202aからの選択信号に基づいて、周辺回路3−2fの実行サイクル数格納レジスタ102aからの実行サイクル数NE2を示すデータと周辺回路3−3fの実行サイクル数格納レジスタ102aからの実行サイクル数NE3を示すデータとのうちの小さい方の実行サイクル数NE4を示すデータを除算回路302aに出力する。
【0124】
除算回路302aは、周辺回路3−1fの実行サイクル数NE1、周辺回路3−2fの実行サイクル数NE2、並びに周辺回路3−1fの実行サイクル数NE3が算出されたとき、及び実行サイクル数格納レジスタ102aからの実行サイクル数NE1又はマルチプレクサ201からの実行サイクル数NE4のうちの少なくとも一方が更新される毎に、実行サイクル数NE1を実行サイクル数NE4で除算し、その商に基づいて、下記のように分周比を設定し、当該分周比を示す制御信号を乗算回路304に出力する。
(1)商が0の場合:周辺回路3−1fの実行サイクル数NE1は、上記実行サイクル数NE4未満であるので、周辺回路3−1fの処理時間は、他のどの周辺回路の処理時間よりも長いと予測できる。このとき、除算回路302aは、分周比を1に設定する。
(2)商がM(Mは自然数である。)の場合:周辺回路3−1fの実行サイクル数NE1は、上記実行サイクル数NE4のM倍以上であるので、周辺回路3−1fの処理時間は、最も処理量が多い周辺回路の処理時間の1/M倍以下であると予測できる。このとき、除算回路302aは、分周比をMに設定する。
【0125】
乗算回路304は、除算回路302aからの制御信号によって示される分周比Nが更新される毎に、分周比Nを分周比格納レジスタ307からの分周比Nと乗算して、その積を分周比格納レジスタ307に格納する。分周比格納レジスタ307は、シーケンスユニット101aがグローバルプロセッサ5から処理内容命令を受信したときに1にリセットされ、上述したように乗算回路304からの分周比を格納する。上限値格納レジスタ306は、ユーザによって設定される上限の分周比Nを格納している。
【0126】
比較回路305は、分周比格納レジスタ307からの分周比Nが更新される毎に、分周比Nを上限値格納レジスタ306からの分周比Nと比較することによって、下記の選択信号をマルチプレクサ309に出力する。
(1)分周比Nが分周比N以上の場合:分周比Nを用いてクロック周波数を設定するとクロック周波数が所定のしきい値以下になるので、比較回路305は、上限値格納レジスタ306からの分周比Nを選択する信号をマルチプレクサ309に出力する。
(2)分周比Nが分周比N未満の場合:分周比Nを用いてクロック周波数を設定するとクロック周波数が所定のしきい値より高くなるので、比較回路305は、分周比格納レジスタ307からの分周比Nを選択する信号をマルチプレクサ309に出力する。
【0127】
マルチプレクサ309は、比較回路305からの選択信号に基づいて、上限値格納レジスタ306に格納された分周比N又は分周比格納レジスタ307に格納された分周比Nのうちのいずれかを示す制御信号をクロック発生回路401に出力する。
【0128】
クロック発生回路401は、図2のクロック発生回路401と同様の構成であり、同様に動作する。また、周辺回路3−2f,3−3fは、上述した周辺回路3−1fと同様に構成され、同様に動作する。
【0129】
以上説明したように、第7の実施形態によれば、周辺回路3−1fは、グローバルプロセッサ5から処理開始命令を受信した後にクロック周波数設定処理を周期的に実行して、他の周辺回路に対する相対的な処理時間を予測して、最も小さい実行サイクル数を有する周辺回路の処理終了時刻よりも遅くならない範囲でかつ所定のしきい値以上のクロック周波数を設定し、周辺回路3−2f,3−3fも同様に動作する。したがって、周辺回路3−1f,3−2f,3−3fの処理終了時刻が最も小さい実行サイクル数を有する周辺回路の処理終了時刻よりも遅くならない範囲でかつ所定のしきい値以上で、周辺回路3−1e、周辺回路3−2e、又は周辺回路3−3eのクロック周波数が低下して、第7の実施形態に係るプロセッサシステムの処理性能に対する影響を抑えて、第7の実施形態に係るプロセッサシステムにおける消費電流を低減させることができる。
【0130】
また、第7の実施形態によれば、分周比の上限値を設定することによりクロック周波数の下限値を設定しているので、クロック周波数設定処理が実行される毎に最小の実行サイクル数を有する周辺回路が異なる場合などでもクロック周波数が著しく低下することを防止することができる。
【0131】
なお、第7の実施形態では、3つの周辺回路3−1f,3−2f,3−3fを備えてプロセッサシステムを構成したが、本発明はこれに限らず、マルチプレクサ201及び比較回路202を4つ以上の入力データに対応できるように変更して、4つ以上の周辺回路を備えてプロセッサシステムを構成してもよい。
【0132】
また、第7の実施形態では、比較回路202を備えて周辺回路3−1f,3−2f,3−3fを構成したが、本発明はこれに限らず、比較回路202を備えず、グローバルプロセッサ5からの選択信号をマルチプレクサ201に入力するように周辺回路3−1f,3−2f,3−3fを構成してもよい。
【0133】
さらに、第7の実施形態では、3つの周辺回路3−1f,3−2f,3−3fを備えてプロセッサシステムを構成したが、本発明はこれに限らず、マルチプレクサ201及び比較回路202を備えずに周辺回路を構成し、2つの周辺回路を備えてプロセッサシステムを構成してもよい。
【0134】
またさらに、第7の実施形態では、周辺回路3−1f,3−2f,3−3fは除算回路302aを備えて構成されたが、除算回路302bに代えて第2の実施形態で述べた比較回路301a備えて構成されてもよい。
【0135】
第8の実施形態.
第8の実施形態に係るプロセッサシステムは、第7の実施形態に係るプロセッサシステムと比較して、周辺回路3−1f,3−2f,3−3fに代えて、周辺回路3−1g,3−2g,3−3gを備えることを特徴とし、その他の構成要素及び動作は第7の実施形態と同様であり、その説明を省略する。
【0136】
図9は、本発明の第8の実施形態に係る周辺回路3−1g,3−2g,3−3gの構成を示すブロック図である。図8の周辺回路3−1f,3−2f,3−3fは、実行サイクル数に基づいてクロック周波数を設定したが、図9の周辺回路3−1g,3−2f,3−3fは、残サイクル数に基づいてクロック周波数を設定する。
【0137】
まず、図9を参照して、周辺回路3−1gについて説明する。図9の周辺回路3−1gは、図8の周辺回路3−1fと比較して、シーケンスユニット101aと実行サイクル数格納レジスタ102aと実行サイクル数カウンタ回路103aとに代えて、シーケンスユニット101bと残サイクル数格納レジスタ102bと実行サイクル数カウンタ回路103bと減算器104bとを備えること、比較回路202aに代えて比較回路202bを備えること、及び除算回路302aに代えて除算回路302bを備えることを特徴とし、その他の構成要素は図8の周辺回路3−1fと同様でありその説明を省略する。ここで、シーケンスユニット101bと残サイクル数格納レジスタ102bと実行サイクル数カウンタ回路103bと減算器104bとは算出部100bを構成し、マルチプレクサ201と比較回路202bとは選択部200Abを構成し、除算回路302bと乗算回路304と比較回路305と上限値格納レジスタ306と分周比格納レジスタ307とマルチプレクサ309とは比較部300Bbを構成する。
【0138】
シーケンスユニット101bと、実行サイクル数格納レジスタ102bと、残サイクル数カウンタ回路103bと減算器104bとは、第6の実施形態と同様の構成であり、周辺回路3−1gの残サイクル数NR1を示すデータが周期的に、残サイクル数格納レジスタ102bに格納され、かつ除算回路302bと周辺回路3−2gのマルチプレクサ201及び比較回路202bと周辺回路3−3gのマルチプレクサ201及び比較回路202bとに出力される。
【0139】
比較回路202bは、周辺回路3−2gの残サイクル数格納レジスタ102bからのデータによって示される残サイクル数NR2を周辺回路3−3gの残サイクル数格納レジスタ102bからのデータによって示される残サイクル数NR3と比較して、大きい方の残サイクル数NR4を選択するための選択信号をマルチプレクサ201に出力する。
【0140】
除算回路302bは、周辺回路3−1gの残サイクル数NR1、周辺回路3−2gの残サイクル数NR2、並びに周辺回路3−1gの残サイクル数NR3が算出されたとき、及びマルチプレクサ201からの残サイクル数NR4又は残サイクル数格納レジスタ102bからの残サイクル数NR1のうちの少なくとも一方が更新される毎に、残サイクル数NR4を残サイクル数NR1で除算し、その商に基づいて、下記のように分周比を設定し、当該分周比を示す制御信号を乗算回路304に出力する。
(1)商が0の場合:周辺回路3−1gの残サイクル数NR1は、残サイクル数NR4より大きいので、周辺回路3−1gの処理時間は、他のどの周辺回路の処理時間よりも長いと予測できる。このとき、除算回路302bは、分周比を1に設定する。
(2)商がM(Mは自然数である。)の場合:周辺回路3−1gの残サイクル数NR1は、上記残サイクル数NR4の1/M倍以下であるので、周辺回路3−1gの処理時間は、最も処理量が多い周辺回路の処理時間の1/M倍以下であると予測できる。このとき、除算回路302bは、分周比をMに設定する。
【0141】
周辺回路3−2g,3−3gは、上述した周辺回路3−1gと同様に構成され、同様に動作する。
【0142】
以上説明したように、第8の実施形態によれば、周辺回路3−1gは、グローバルプロセッサ5から処理開始命令を受信した後にクロック周波数設定処理を周期的に実行して、他の周辺回路に対する相対的な処理時間を予測して、最も大きい残サイクル数を有する周辺回路の処理終了時刻よりも遅くならない範囲でかつ所定のしきい値以上のクロック周波数を設定し、周辺回路3−2g,3−3gも同様に動作する。したがって、周辺回路3−1g,3−2g,3−3gの処理終了時刻が最も大きい残サイクル数を有する周辺回路の処理終了時刻よりも遅くならない範囲でかつ所定のしきい値以上で、周辺回路3−1g、周辺回路3−2g、又は周辺回路3−3gのクロック周波数が低下して、第8の実施形態に係るプロセッサシステムの処理性能に対する影響を抑えて、第8の実施形態に係るプロセッサシステムにおける消費電流を低減させることができる。
【0143】
また、第8の実施形態によれば、分周比の上限値を設定することによりクロック周波数の下限値を設定しているので、クロック周波数設定処理が実行される毎に最大の残サイクル数を有する周辺回路が異なる場合などでもクロック周波数が著しく低下することを防止することができる。
【0144】
なお、第8の実施形態では、3つの周辺回路3−1g,3−2g,3−3gを備えてプロセッサシステムを構成したが、本発明はこれに限らず、マルチプレクサ201及び比較回路202を4つ以上の入力データに対応できるように変更して、4つ以上の周辺回路を備えてプロセッサシステムを構成してもよい。
【0145】
また、第8の実施形態では、比較回路202を備えて周辺回路3−1g,3−2g,3−3gを構成したが、本発明はこれに限らず、比較回路202を備えず、グローバルプロセッサ5からの選択信号をマルチプレクサ201に入力するように周辺回路3−1g,3−2g,3−3gを構成してもよい。
【0146】
さらに、第8の実施形態では、3つの周辺回路3−1g,3−2g,3−3gを備えてプロセッサシステムを構成したが、本発明はこれに限らず、マルチプレクサ201及び比較回路202を備えずに周辺回路を構成し、2つの周辺回路を備えてプロセッサシステムを構成してもよい。
【0147】
またさらに、第8の実施形態では、周辺回路3−1g,3−2g,3−3gは除算回路302bを備えて構成されたが、除算回路302bに代えて第3の実施形態で述べた比較回路301b備えて構成されてもよい。
【0148】
さらに、第8の実施形態では、周辺回路3−1g,3−2g,3−3gは残サイクル数に基づいてクロック周波数を設定するが、全処理サイクル数に基づいてクロック周波数を設定してもよい。
【0149】
第9の実施形態.
第9の実施形態に係るプロセッサシステムは、第5の実施形態に係るプロセッサシステムと比較して、周辺回路3−1d,3−2d,3−3dに代えて、周辺回路3−1h,3−2h,3−3hを備えることを特徴とし、その他の構成要素及び動作は第5の実施形態と同様であり、その説明を省略する。
【0150】
図10は、本発明の第9の実施形態に係る周辺回路3−1h,3−2h,3−3hの構成を示すブロック図である。図6の周辺回路3−1d,3−2d,3−3dは、比較回路301によって出力される分周比を示す制御信号に基づいて分周器403でクロック信号を分周してクロック信号を発生していたが、図10の周辺回路3−1h,3−2h,3−3hは、減算回路303の結果に基づいて電圧制御発振器(VCO:Voltage Controlled Oscillator)の制御電圧を発生してクロック信号を発生する。
【0151】
まず、図10を参照して、周辺回路3−1hについて説明する。図10の周辺回路3−1hは、図6の周辺回路3−1dと比較して、比較回路301に代えて減算回路303とnビット(例えば8ビット、又は16ビット)のDA変換器(DAC:Digital to Analog Converter)310を備えること、及びクロック発生回路401に代えて電圧制御発振器405を備えることを特徴とし、その他の構成要素は図6の周辺回路3−1dと同様でありその説明を省略する。なお、DA変換器310のビット数は、全処理サイクル数格納レジスタ102のビット数と等しい又はそれ以上である。ここで、減算回路303とDA変換器310とは比較部300Cを構成し、電圧制御発振器405はクロック発生部400Aを構成する。
【0152】
マルチプレクサ201は、比較回路202bからの選択信号に基づいて、周辺回路3−2hからの全処理サイクル数NA2を示すデータと周辺回路3−3hからの全処理サイクル数NA3を示すデータとのうちの大きい方の全処理サイクル数NA4を示すデータを減算回路303に出力する。減算回路303は、周辺回路3−1hの全処理サイクル数NA1、周辺回路3−2hの全処理サイクル数NA2、並びに周辺回路3−1hの全処理サイクル数NA3が算出されたときに、マルチプレクサ201からのデータによって示される全処理サイクル数NA4から、全処理サイクル数格納レジスタ102からのデータによって示される全処理サイクル数NA1を減算し、その差に基づいて、下記のように減算値を設定し、当該減算値を示すデータをDA変換器310に出力する。
(1)差が0以下の場合:減算回路303は、0である減算値を示すデータをDA変換器310に出力する。このとき、周辺回路3−1hの処理時間は、他のどの周辺回路の処理時間よりも長いと予測できる。
(2)差がM(M>0)の場合:減算回路303は、Mである減算値を示すデータをDA変換器310に出力する。このとき、周辺回路3−1hの処理時間は、最も処理量が多い周辺回路の処理時間と比較して、減算値であるMに対応する時間だけ短いと予測できる。
【0153】
DA変換器310は、減算回路303からの減算値を示すデータに基づいて、下記の制御電圧を発生して、電圧制御発振器405に出力する。DA変換器310は、減算回路303からのデータによって示される減算値が大きくなるにつれて電圧制御発振器405によって発生されるクロック信号のクロック周波数が減少するように制御電圧を発生する。ここで、減算値が0の場合、DA変換器310は、電圧制御発振器405が周辺回路3−1hの最高クロック周波数を有するクロック信号を発生する制御電圧を発生し、減算値が2−1の場合、DA変換器310は、電圧制御発振器405が最高クロック周波数よりも低い所定のクロック周波数を有するクロック信号を発生する制御電圧を発生する。
【0154】
電圧制御発振器405は、DA変換器310からの制御電圧に対応するクロック周波数を有するクロック信号を周辺回路3−1hの各回路に出力する。また、周辺回路3−2h,3−3hは、上述した周辺回路3−1hと同様に構成され、同様に動作する。
【0155】
以上説明したように、第9の実施形態によれば、周辺回路3−1hは、自身の全処理サイクル数NA1が、周辺回路3−2hの全処理サイクル数NA2及び周辺回路3−3hの全処理サイクル数NA3のうちのいずれか大きい方の全処理サイクル数NA4以上の場合、最高クロック周波数を有するクロック信号に基づいて動作し、自身の全処理サイクル数NA1が全処理サイクル数NA4未満の場合、全処理サイクル数NA4と全処理サイクル数NA1との差に対応する最高クロック周波数よりも低いクロック周波数を有するクロック信号に基づいて動作し、周辺回路3−2h,3−3hも同様に動作する。したがって、周辺回路3−1h,3−2h,3−3hの処理終了時刻が最も大きい全処理サイクル数を有する周辺回路の処理終了時刻よりも遅くならない範囲で、周辺回路3−1h、周辺回路3−2h、又は周辺回路3−3hのクロック周波数が低下して、第9の実施形態に係るプロセッサシステムの処理性能に対する影響を抑えて、第9の実施形態に係るプロセッサシステムの消費電流を低減させることができる。
【0156】
また、第9の実施形態によれば、電圧制御発振器405を用いてクロック周波数を設定するので、第1の実施形態乃至第8の実施形態のように分周器403を用いてクロック周波数を最高クロック周波数の整数分の1に設定する場合よりも高い精度でクロック周波数を設定することができ、より効果的に周辺回路における消費電流を低減させることができる。
【0157】
なお、第9の実施形態では、3つの周辺回路3−1h,3−2h,3−3hを備えてプロセッサシステムを構成したが、本発明はこれに限らず、マルチプレクサ201及び比較回路202を4つ以上の入力データに対応できるように変更して、4つ以上の周辺回路を備えてプロセッサシステムを構成してもよい。
【0158】
また、第9の実施形態では、比較回路202を備えて周辺回路3−1h,3−2h,3−3hを構成したが、本発明はこれに限らず、比較回路202を備えず、グローバルプロセッサ5からの選択信号をマルチプレクサ201に入力するように周辺回路3−1h,3−2h,3−3hを構成してもよい。
【0159】
また、第9の実施形態では、3つの周辺回路3−1h,3−2h,3−3hを備えてプロセッサシステムを構成したが、本発明はこれに限らず、マルチプレクサ201及び比較回路202を備えずに周辺回路を構成し、2つの周辺回路を備えてプロセッサシステムを構成してもよい。
【0160】
また、第9の実施形態では、周辺回路3−1h,3−2h,3−3hは全処理サイクル数に基づいてクロック周波数を設定するが、実行サイクル数又は残サイクル数に基づいてクロック周波数を設定してもよい。
【0161】
なお、第1の実施形態乃至第8の実施形態では、分周器403を用いてクロック発生回路401を構成したが、本発明はこれに限らず、分周器403に代えてクロック周波数逓倍器を用いてクロック発生回路401を構成してもよい。この場合、基準クロック発生器402は、周辺回路が動作可能な最低のクロック周波数を有するクロック信号を発生し、比較回路又は除算回路は、他の周辺回路と比較して処理時間が長い場合に、他の周辺回路の逓倍数よりも大きい逓倍数を示す制御信号をクロック周波数逓倍器に出力する。
【0162】
また、第1の実施形態乃至第8の実施形態では、クロック発生回路401は、比較回路又は除算回路から出力される分周比を示す制御信号に基づいてクロック信号を分周するように構成したが、本発明はこれに限らず、クロック発生回路401が、比較回路又は除算回路から出力される制御信号に示された分周比に対して設定すべきクロック周波数の値を記憶したメモリを備え、メモリに記憶された値にしたがってクロック周波数を設定してもよい。
【0163】
さらに、第1の実施形態乃至第8の実施形態では、周辺回路の内部でクロック信号を発生するように構成したが、本発明はこれに限らず、外部回路から様々なクロック周波数を有するクロック信号を周辺回路に入力し、比較回路若しくは除算回路から出力される分周比を示す制御信号に基づいて当該周辺回路の最高クロック周波数を有するクロック信号を分周したときのクロック周波数に最も近いクロック周波数を有するクロック信号を選択するように構成してもよい。
【0164】
またさらに、第1の実施形態乃至第6の実施形態では、最高クロック周波数を有するクロック信号に対して分周比を設定しているが、本発明はこれに限らず、第7及び第8の実施形態と同様に、現在設定されているクロック周波数に対して分周比を設定するように構成してもよい。
【産業上の利用可能性】
【0165】
以上詳述したように、本発明に係るプロセッサ、半導体集積回路装置、及びプロセッサシステムによれば、各周辺回路は、当該周辺回路の処理サイクル数を他の周辺回路の処理サイクル数と比較して、当該比較結果に基づいて、当該周辺回路の処理終了時刻が他の周辺回路の処理終了時刻に近づくようなクロック周波数のクロック信号に基づいて動作するので、複数の周辺回路のクロック周波数が低下して、プロセッサ、半導体集積回路装置、及びプロセッサシステムの処理性能に対する影響を抑えて、プロセッサ、半導体集積回路装置、及びプロセッサシステムの消費電流を低減させることができる。
【0166】
また、本発明に係るプロセッサ、半導体集積回路装置、及びプロセッサシステムによれば、各周辺回路は、当該周辺回路の処理時間が他の周辺回路の処理時間と等しい又はより長い場合、当該周辺回路の最高クロック周波数を有するクロック信号に基づいて動作し、当該周辺回路の処理時間が他の周辺回路の処理時間よりも短い場合、当該周辺回路の最高クロック周波数よりも低いクロック周波数を有するクロック信号に基づいて動作するので、複数の周辺回路の処理終了時刻が近づくように、複数の周辺回路のクロック周波数が低下して、プロセッサ、半導体集積回路装置、及びプロセッサシステムの処理性能に対する影響を抑えて、プロセッサ、半導体集積回路装置、及びプロセッサシステムの消費電流を低減させることができる。
【0167】
さらに、本発明に係るプロセッサ、半導体集積回路装置、及びプロセッサシステムによれば、各周辺回路は、当該周辺回路の処理時間が他の周辺回路の処理時間と等しい又はより長い場合、当該周辺回路の現在のクロック周波数を有するクロック信号に基づいて動作し、当該周辺回路の処理時間が他の周辺回路の処理時間よりも短い場合、当該周辺回路の現在のクロック周波数よりも低いクロック周波数を有するクロック信号に基づいて動作するので、複数の周辺回路の処理終了時刻が近づくように、複数の周辺回路のクロック周波数が低下して、プロセッサ、半導体集積回路装置、及びプロセッサシステムの処理性能に対する影響を抑えて、プロセッサ、半導体集積回路装置、及びプロセッサシステムの消費電流を低減させることができる。
【0168】
またさらに、本発明に係るプロセッサ、半導体集積回路装置、及びプロセッサシステムによれば、各周辺回路は、当該周辺回路の処理時間が他の周辺回路の処理時間と等しい又はより長い場合、当該周辺回路の現在のクロック周波数を有するクロック信号に基づいて動作し、当該周辺回路の処理時間が他の周辺回路の処理時間よりも短い場合、当該周辺回路の現在のクロック周波数よりも低いクロック周波数又は所定のクロック周波数のうちの高い方のクロック周波数を有するクロック信号に基づいて動作するので、複数の周辺回路の処理終了時刻が近づくように、複数の周辺回路のクロック周波数が低下して、プロセッサ、半導体集積回路装置、及びプロセッサシステムの処理性能に対する影響を抑えて、プロセッサ、半導体集積回路装置、及びプロセッサシステムの消費電流を低減させることができる。
【0169】
また、本発明に係るプロセッサ、半導体集積回路装置、及びプロセッサシステムによれば、各周辺回路は、当該周辺回路の処理サイクル数を周期的に算出して、当該算出した処理サイクル数を他の周辺回路の処理サイクル数と周期的に比較することによりクロック周波数を周期的に変更するので、処理実行中にストールが発生する、又はクロックウエイトが挿入されるなどによって、処理に遅延が発生した場合にも、遅延発生後の処理サイクル数に基づいてクロック周波数を設定することができ、複数の周辺回路の処理終了時刻が近づくように、複数の周辺回路のクロック周波数が低下して、プロセッサ、半導体集積回路装置、及びプロセッサシステムの処理性能に対する影響を抑えて、プロセッサ、半導体集積回路装置、及びプロセッサシステムの消費電流を低減させることができる。
【0170】
さらに、本発明に係るプロセッサ、半導体集積回路装置、及びプロセッサシステムによれば、各周辺回路は、比較部によって実行される除算の商に基づいて他の周辺回路に対する相対的な処理時間を予測して、当該周辺回路の処理終了時刻が最も長い処理時間を有する周辺回路の処理終了時刻よりも遅くならない範囲でクロック周波数を設定するので、複数の周辺回路の処理終了時刻が最も長い処理時間を有する周辺回路の処理終了時刻よりも遅くならない範囲で、複数の周辺回路のクロック周波数が低下して、プロセッサ、半導体集積回路装置、及びプロセッサシステムの処理性能に対する影響を抑えて、プロセッサ、半導体集積回路装置、及びプロセッサシステムの消費電流を低減させることができる。
【0171】
またさらに、本発明に係るプロセッサ、半導体集積回路装置、及びプロセッサシステムによれば、各周辺回路は、比較部によって実行される減算の結果に基づいて他の周辺回路に対する相対的な処理時間を予測して、当該周辺回路の処理終了時刻が最も長い処理時間を有する周辺回路の処理終了時刻よりも遅くならない範囲でクロック周波数を設定するので、複数の周辺回路の処理終了時刻が最も長い処理時間を有する周辺回路の処理終了時刻よりも遅くならない範囲で、複数の周辺回路のクロック周波数が低下して、プロセッサ、半導体集積回路装置、及びプロセッサシステムの処理性能に対する影響を抑えて、プロセッサ、半導体集積回路装置、及びプロセッサシステムの消費電流を低減させることができる。
【0172】
また、本発明に係るプロセッサ、半導体集積回路装置、及びプロセッサシステムによれば、各周辺回路は、プロセッサからの選択信号に基づいて、複数の他の周辺回路からの各処理サイクル数のうちの1つを選択する選択部を備えたので、3つ以上の周辺回路を備えるプロセッサシステムにおいて、複数の周辺回路の処理終了時刻が近づくように、複数の周辺回路のクロック周波数が低下して、プロセッサ、半導体集積回路装置、及びプロセッサシステムの処理性能に対する影響を抑えて、プロセッサ、半導体集積回路装置、及びプロセッサシステムの消費電流を低減させることができる。
【0173】
さらに、本発明に係るプロセッサ、半導体集積回路装置、及びプロセッサシステムによれば、各周辺回路は、複数の他の周辺回路からの各処理サイクル数から最長の処理時間を示す処理サイクル数を選択する選択部を備えたので、3つ以上の周辺回路を備えるプロセッサシステムにおいて、複数の周辺回路の処理終了時刻が最も長い処理時間を有する周辺回路の処理終了時刻に近づくように、複数の周辺回路のクロック周波数が低下して、プロセッサ、半導体集積回路装置、及びプロセッサシステムの処理性能に対する影響を抑えて、プロセッサ、半導体集積回路装置、及びプロセッサシステムの消費電流を低減させることができる。
【符号の説明】
【0174】
1…プロセッサシステム、
2…プロセッサコア、
3−1,3−1a〜3−1h,3−2,3−2a〜3−2h,3−3c〜3−3h…周辺回路、
4−1,4−2…メモリ、
5…グローバルプロセッサ、
6…プロセッサエレメントアレイ、
61…レジスタアレイ、
62…演算アレイ、
7…プロセッサ、
100,100a、100b…算出部、
101,101a,101b…シーケンスユニット、
101m,101bm…テーブルメモリ、
102…全処理サイクル数格納レジスタ、
102a…実行サイクル数格納レジスタ、
102b…残サイクル数格納レジスタ、
103a,103b…実行サイクル数カウンタ回路、
104b…減算器、
200,200A,200Aa,200Ab…選択部、
201…マルチプレクサ、
202,202a,202b…比較回路、
300,300a,300b、300A,300Ba,300Bb,300C…比較部、
301,301a,301b,305…比較回路、
302,302a,302b…除算回路、
303…減算回路、
304…乗算回路、
306…上限値格納レジスタ、
307…分周比格納レジスタ、
309…マルチプレクサ、
310…DA変換器(DAC)、
400,400A…クロック発生部、
401…クロック発生回路、
402…基準クロック発生器、
403…分周器、
405…電圧制御発振器(VCO)。
【先行技術文献】
【特許文献】
【0175】
【特許文献1】特許3877518号公報。
【特許文献2】特許4123640号公報。
【特許文献3】特開2003−202935号公報。
【特許文献4】特開2007−305148号公報。

【特許請求の範囲】
【請求項1】
プロセッサコアと、当該プロセッサコアからの命令に応答して所定の処理を実行する複数の周辺回路とを備えるプロセッサにおいて、
上記各周辺回路は、
上記プロセッサコアからの命令に基づいて実行すべき処理のサイクル数を示す第1の処理サイクル数を算出する算出部と、
所定の制御信号に基づいて、当該制御信号に対応するクロック周波数のクロック信号を発生して当該周辺回路に出力して当該周辺回路を動作させるクロック発生部と、
上記第1の処理サイクル数を、他の周辺回路の算出部によって算出される上記他の周辺回路が実行すべき処理のサイクル数を示す第2の処理サイクル数と比較して、当該比較結果に基づいて、当該周辺回路の処理終了時刻が上記他の周辺回路の処理終了時刻に近づくように上記制御信号を発生する比較部とを備えたことを特徴とするプロセッサ。
【請求項2】
上記比較部は、上記第1の処理サイクル数を上記第2の処理サイクル数と比較し、上記第1の処理サイクル数が上記第2の処理サイクル数以上のとき、当該周辺回路の最高クロック周波数を有するクロック信号を発生させる上記制御信号を上記クロック発生部に出力する一方、上記第1の処理サイクル数が上記第2の処理サイクル数未満のとき、当該周辺回路の最高クロック周波数よりも低い第1のクロック周波数を有するクロック信号を発生させる上記制御信号を上記クロック発生部に出力することを特徴とする請求項1記載のプロセッサ。
【請求項3】
上記比較部は、上記第1の処理サイクル数を上記第2の処理サイクル数と比較し、上記第1の処理サイクル数が上記第2の処理サイクル数以上のとき、当該周辺回路の現在のクロック周波数を有するクロック信号を発生させる上記制御信号を上記クロック発生部に出力する一方、上記第1の処理サイクル数が上記第2の処理サイクル数未満のとき、当該周辺回路の現在のクロック周波数よりも低い第2のクロック周波数を有するクロック信号を発生させる上記制御信号を上記クロック発生部に出力することを特徴とする請求項1記載のプロセッサ。
【請求項4】
上記比較部は、上記第1の処理サイクル数を上記第2の処理サイクル数と比較し、上記第1の処理サイクル数が上記第2の処理サイクル数以上のとき、当該周辺回路の現在のクロック周波数を有するクロック信号を発生させる上記制御信号を上記クロック発生部に出力する一方、上記第1の処理サイクル数が上記第2の処理サイクル数未満のとき、当該周辺回路の現在のクロック周波数よりも低い第3のクロック周波数及び所定の第4のクロック周波数のうちの高い方のクロック周波数を有するクロック信号を発生させる上記制御信号を上記クロック発生部に出力することを特徴とする請求項1記載のプロセッサ。
【請求項5】
上記算出部は、当該周辺回路が処理を開始する前に、上記プロセッサコアからの命令によって指定された各処理について、
(A)処理対象のデータの数と当該処理を実行するために必要なサイクル数とを乗算して各乗算結果を算出した後、当該各乗算結果を加算することにより、当該周辺回路が実行すべき処理に必要なサイクル数である全処理サイクル数を上記第1の処理サイクル数として算出し、若しくは、
(B)当該各処理を実行するために必要な各サイクル数を加算することにより、当該周辺回路が実行すべき処理に必要なサイクル数である全処理サイクル数を上記第1の処理サイクル数として算出することを特徴とする請求項1乃至4のうちのいずれか1つに記載のプロセッサ。
【請求項6】
上記算出部は、当該周辺回路によって実行された処理のサイクル数を計数し、上記計算された全処理サイクル数から上記計数した処理のサイクル数を周期的に減算することにより、当該周辺回路が実行すべき処理のうちの未実行である処理に必要なサイクル数である残サイクル数を上記第1の処理サイクル数として周期的に算出することを特徴とする請求項5記載のプロセッサ。
【請求項7】
上記クロック発生部は、所定の基準クロック周波数を有する基準クロック信号を発生し、上記制御信号に応答して所定の逓倍数で逓倍し、若しくは所定の分周比で分周して、当該制御信号に対応するクロック周波数のクロック信号を発生することを特徴とする請求項1乃至6のうちのいずれか1つに記載のプロセッサ。
【請求項8】
上記比較部は、上記第2の処理サイクル数を上記第1の処理サイクル数で除算し、当該除算結果である分周比を示す制御信号を出力し、
上記クロック発生部は、所定の基準クロック周波数を有する基準クロック信号を発生し、上記制御信号により示される分周比で分周して、当該制御信号に対応するクロック周波数のクロック信号を発生することを特徴とする請求項1乃至6のうちのいずれか1つに記載のプロセッサ。
【請求項9】
上記比較部は、上記第2の処理サイクル数から上記第1の処理サイクル数を減算し、当該減算結果である差を示す制御信号を出力し、
上記クロック発生部は、上記制御信号により示される差に対応するクロック周波数であって、上記差が大きくなるにつれてより低いクロック周波数を有するクロック信号を発生することを特徴とする請求項1乃至6のうちのいずれか1つに記載のプロセッサ。
【請求項10】
上記周辺回路はさらに、上記プロセッサコアからの選択信号に基づいて、上記複数の他の周辺回路からの上記各第2の処理サイクル数のうちの1つを選択して、上記比較部に出力する選択部を備えたことを特徴とする請求項1乃至9のうちのいずれか1つに記載のプロセッサ。
【請求項11】
上記周辺回路はさらに、上記複数の他の周辺回路からの上記各第2の処理サイクル数のうちの最大値を有する第2の処理サイクル数を選択して、上記比較部に出力する選択部を備えたことを特徴とする請求項1乃至9のうちのいずれか1つに記載のプロセッサ。
【請求項12】
プロセッサコアと、当該プロセッサコアからの命令に応答して所定の処理を実行する複数の周辺回路とを備えるプロセッサにおいて、
上記各周辺回路は、
上記プロセッサコアからの命令に基づいて実行した処理のサイクル数を示す第1の処理サイクル数を算出する算出部と、
所定の制御信号に基づいて、当該制御信号に対応するクロック周波数のクロック信号を発生して当該周辺回路に出力して当該周辺回路を動作させるクロック発生部と、
上記第1の処理サイクル数を、他の周辺回路の算出部によって算出される上記他の周辺回路が実行した処理のサイクル数を示す第2の処理サイクル数と比較して、当該比較結果に基づいて、当該周辺回路の処理終了時刻が上記他の周辺回路の処理終了時刻に近づくように上記制御信号を発生する比較部とを備えたことを特徴とするプロセッサ。
【請求項13】
上記比較部は、上記第1の処理サイクル数を上記第2の処理サイクル数と比較し、上記第1の処理サイクル数が上記第2の処理サイクル数以下のとき、当該周辺回路の最高クロック周波数を有するクロック信号を発生させる上記制御信号を上記クロック発生部に出力する一方、上記第1の処理サイクル数が上記第2の処理サイクル数より大きいとき、当該周辺回路の最高クロック周波数よりも低い第1のクロック周波数を有するクロック信号を発生させる上記制御信号を上記クロック発生部に出力することを特徴とする請求項12記載のプロセッサ。
【請求項14】
上記比較部は、上記第1の処理サイクル数を上記第2の処理サイクル数と比較し、上記第1の処理サイクル数が上記第2の処理サイクル数以下のとき、当該周辺回路の現在のクロック周波数を有するクロック信号を発生させる上記制御信号を上記クロック発生部に出力する一方、上記第1の処理サイクル数が上記第2の処理サイクル数より大きいとき、当該周辺回路の現在のクロック周波数よりも低い第2のクロック周波数を有するクロック信号を発生させる上記制御信号を上記クロック発生部に出力することを特徴とする請求項12記載のプロセッサ。
【請求項15】
上記比較部は、上記第1の処理サイクル数を上記第2の処理サイクル数と比較し、上記第1の処理サイクル数が上記第2の処理サイクル数以下のとき、当該周辺回路の現在のクロック周波数を有するクロック信号を発生させる上記制御信号を上記クロック発生部に出力する一方、上記第1の処理サイクル数が上記第2の処理サイクル数より大きいとき、当該周辺回路の現在のクロック周波数よりも低い第3のクロック周波数及び所定の第4のクロック周波数のうちの高い方のクロック周波数を有するクロック信号を発生させる上記制御信号を上記クロック発生部に出力することを特徴とする請求項12記載のプロセッサ。
【請求項16】
上記算出部は、当該周辺回路によって実行された処理のサイクル数を計数することにより、当該周辺回路によって実行された処理のサイクル数である実行サイクル数を上記第1の処理サイクル数として周期的に算出することを特徴とする請求項12乃至15のうちのいずれか1つに記載のプロセッサ。
【請求項17】
上記クロック発生部は、所定の基準クロック周波数を有する基準クロック信号を発生し、上記制御信号に応答して所定の逓倍数で逓倍し、若しくは所定の分周比で分周して、当該制御信号に対応するクロック周波数のクロック信号を発生することを特徴とする請求項12乃至16のうちのいずれか1つに記載のプロセッサ。
【請求項18】
上記比較部は、上記第1の処理サイクル数を上記第2の処理サイクル数で除算し、当該除算結果である分周比を示す制御信号を出力し、
上記クロック発生部は、所定の基準クロック周波数を有する基準クロック信号を発生し、上記制御信号により示される分周比で分周して、当該制御信号に対応するクロック周波数のクロック信号を発生することを特徴とする請求項12乃至16のうちのいずれか1つに記載のプロセッサ。
【請求項19】
上記比較部は、上記第1の処理サイクル数から上記第2の処理サイクル数を減算し、当該減算結果である差を示す制御信号を出力し、
上記クロック発生部は、上記制御信号により示される差に対応するクロック周波数であって、上記差が大きくなるにつれてより低いクロック周波数を有するクロック信号を発生することを特徴とする請求項12乃至16のうちのいずれか1つに記載のプロセッサ。
【請求項20】
上記周辺回路はさらに、上記プロセッサコアからの選択信号に基づいて、上記複数の他の周辺回路からの上記各第2の処理サイクル数のうちの1つを選択して、上記比較部に出力する選択部を備えたことを特徴とする請求項12乃至19のうちのいずれか1つに記載のプロセッサ。
【請求項21】
上記周辺回路はさらに、上記複数の他の周辺回路からの上記各第2の処理サイクル数のうちの最小値を有する第2の処理サイクル数を選択して、上記比較部に出力する選択部を備えたことを特徴とする請求項12乃至19のうちのいずれか1つに記載のプロセッサ。
【請求項22】
請求項1乃至21のうちのいずれか1つに記載のプロセッサを備えたことを特徴とする半導体集積回路装置。
【請求項23】
請求項1乃至21のうちのいずれか1つに記載のプロセッサを備えたことを特徴とするプロセッサシステム。
【請求項24】
請求項22記載の半導体集積回路装置を備えたことを特徴とするプロセッサシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2012−58897(P2012−58897A)
【公開日】平成24年3月22日(2012.3.22)
【国際特許分類】
【出願番号】特願2010−199785(P2010−199785)
【出願日】平成22年9月7日(2010.9.7)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】