(57)【特許請求の範囲】
【請求項１】
データ処理部を有するデータ処理システムにおいて、
データ処理の処理性能を測定し、その結果としての測定性能値を格納する第１のレジスタと、
目標とする所定の処理性能である目標性能値を格納する第２のレジスタと、
該第１のレジスタに格納された該測定性能値と該第２のレジスタに格納された該目標性能値とを比較する性能比較部と、
該性能比較部の比較結果に応じて、該データ処理の処理性能を調整する性能調整部と、
該第２のレジスタに該目標性能値を設定するための入力インタフェースと、
複数の該データ処理部の個々の該測定性能値を比較する比較部と、を有し、該比較部による比較結果のうち最も低い該測定性能値を複数の該データ処理部に共通の該目標性能値として該第２のレジスタに格納することを特徴とするデータ処理システム。
【請求項２】
該性能調整部は、複数の該データ処理部の個々の該測定性能値と該第２のレジスタに格納された所定の複数の該データ処理部に共通の該目標性能値とが等しくなるよう制御することを特徴とする請求項１のデータ処理システム。
【請求項３】
複数の該データ処理部の該測定性能値を比較する比較部を有し、該比較部による比較結果のうち最も低い該測定性能値を該目標性能値として該第２のレジスタに格納することを特徴とする請求項１のデータ処理システム。
【請求項４】
クロックを生成するクロック生成部と、
該クロック生成部により生成されたクロックの周波数を変換するクロック周波数変換部とを有し、
該性能調整部は、該クロック周波数変換部が変換するクロック周波数を可変に制御することを特徴とする請求項１のデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理システムに係り、特に、ＬＳＩの処理性能を制御するデータ処理システムに関する。
【背景技術】
【０００２】
近年の急速な半導体技術の進歩により、従来に比べて飛躍的に高性能なＬＳＩの開発が可能となった。そして、ＬＳＩの高性能化に伴い処理性能に余力が生じるようになってくると、必要に応じてＬＳＩの処理性能を制御する技術が必要となってきた。
【０００３】
ＬＳＩの性能制御が特に有用である例としては、ＬＳＩの性能抑止による消費電力低減が挙げられる。動作周波数向上や高集積化により、ＬＳＩの消費電力は、従来に比べて著しく大きくなってきており、データ処理システムの維持コストを高くするという問題を生じるようになっている。そのためデータ処理システムを開発する上で、ＬＳＩの消費電力を低減することが重要な課題である。
【０００４】
ＬＳＩの消費電力を低減する方法としては、半導体技術の改善によりＬＳＩが動作するのに必要な消費電力を低減する方法と、ＬＳＩの不必要な動作を減らして消費電力を低減する方法がある。消費電力の低減方法として、近年の高性能ＬＳＩの多くが、処理の負荷量に応じて性能制御を行う機能を有するが、これは後者の不必要な動作を減らすことにより消費電力を低減する方法である。
【０００５】
ＬＳＩの処理性能を制御する技術として、特許文献１には、ＬＳＩの動作クロックの周波数を制御するコンピュータ・システム内のプロセッサ性能と電力との動的管理に関する技術が記載されている。また、ＬＳＩの処理性能を制御する他の技術として、ＬＳＩの論理部の一部に対する給電やクロック分配を止めて、その論理部の機能を停止する技術もある。
【０００６】
【特許文献１】特表平１０−５０１９１１
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来技術では、目標性能値を設定してその処理性能によってデータ処理を行うといった性能制御をする機能をもたないため、ＬＳＩの処理性能は、ＬＳＩの内部または外部の状態により変動してしまう。そこで、ＬＳＩが一定の処理性能で動作することを保障するには、目標性能値を設定してその処理性能でデータ処理を行うように、ソフトウェアがＬＳＩの処理性能を制御する必要がある。
【０００８】
ところが、このようなソフトウェアによるＬＳＩの性能制御は、性能を制御する上での精度が低いという問題がある。ソフトウェアによる性能制御では、ＬＳＩの処理性能を測定しながらＬＳＩの処理性能を目標性能となるように調整する必要があるが、ソフトウェアがＬＳＩの処理性能を測定してからＬＳＩの処理性能を調整するまでの間に、ＬＳＩの処理性能は変動してしまうので、目標性能値と実際のＬＳＩの処理性能との間に誤差が生じてしまう。
【０００９】
本発明の目的は、ハードウェアでデータ処理の処理性能を制御することにより、合理的な精度で処理性能を制御するデータ処理システムを提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明のデータ処理システムは、データ処理部を有するデータ処理システムにおいて、データ処理の処理性能を測定し、その結果としての測定性能値を格納する第１のレジスタと、目標とする所定の処理性能である目標性能値を格納する第２のレジスタと、該第１のレジスタに格納された該測定性能値と該第２のレジスタに格納された該目標性能値とを比較する性能比較部と、該性能比較部の比較結果に応じて、該データ処理の処理性能を調整する性能調整部と、該第２のレジスタに該目標性能値を設定するための入力インタフェースと、複数の該データ処理部の個々の該測定性能値を比較する比較部と、を有し、該比較部による比較結果のうち最も低い該測定性能値を複数の該データ処理部に共通の該目標性能値として該第２のレジスタに格納することを特徴とするように構成することができる。
【００１２】
また、該性能調整部は、複数の該データ処理部の個々の該測定性能値と該第２のレジスタに格納された所定の複数の該データ処理部に共通の該目標性能値とが等しくなるよう制御するように構成することができる。
【００１３】
また、クロックを生成するクロック生成部と、該クロック生成部により生成されたクロックの周波数を変換するクロック周波数変換部とを有し、該性能調整部は、該クロック周波数変換部が変換するクロック周波数を可変に制御することを特徴とする。
【発明の効果】
【００１４】
本発明の目的は、ハードウェアでデータ処理の処理性能を制御することにより、合理的な精度で処理性能を制御するデータ処理システムを提供することができる。
【発明を実施するための最良の形態】
【００１５】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明する。
［実施例１］
図１は、実施例１によるデータ処理システムの基本構成例を示す図である。
データ処理システムは、データ処理論理部１１０及び性能制御論理部１２０から構成されるＬＳＩ００からなる。
【００１６】
データ処理論理部１１０は、ＬＳＩ１００の機能を実現するためのデータ処理を実行するコントロール回路等の論理回路から構成されており、データ処理論理部１１０の外部からデータ処理の性能測定や性能調整（詳細は後述）を行うことできる。
【００１７】
性能制御論理部１２０は、測定性能レジスタ１２１、目標性能レジスタ１２２、性能比較論理部１２３及び性能調整論理部１２４から構成されている。
【００１８】
測定性能レジスタ１２１は、データ処理論理部１１０で実行されるデータ処理のスループット等を測定した値を測定性能値として格納する。目標性能レジスタ１２２は、データ処理論理１１０によるデータ処理の目標性能値を格納する。この目標性能レジスタ１２２への目標性能値の入力は、性能制御論理部１２０の外部からプログラムまたはハードウェアにより設定が可能であり、そのためのインタフェースとして入力端子を設けている。
【００１９】
性能比較論理部１２３は、測定性能レジスタ１１２に格納された測定性能値と、目標性能レジスタ１２２に格納された目標性能値とを比較する。性能調整論理部１２４は、性能比較論理部１２３により比較された比較結果に基づいて、データ処理論理部１１０の性能調整を行う。
【００２０】
ここで、図２に、性能調整論理部１２４による性能調整の動作を説明するための図を示す。
【００２１】
グラフは、横軸に時間、縦軸にデータ処理部１１０の測定性能値を示している。測定性能値が目標性能値より大きい場合（Ｔ１、Ｔ３）には、性能調整論理部１２４は、データ処理論理部１１０の処理性能を下げるように調整する。一方、測定性能値が目標性能値より小さい場合（Ｔ２）には、性能調整論理部１２４は、データ処理論理１１０の処理性能を上げるように調整する。以上のように、測定性能値と目標性能値との大小関係に従って、測定性能値と目標性能値とが等しくなる（Ｔ４）まで、性能調整論理部１２４による処理性能の上下を繰り返すことにより、データ処理論理部１１０の性能調整を行う。測定性能値と目標性能値が等しい場合、性能調整論理部１２４は、データ処理論理部１１０のデータ処理性能の調整は行わない。
【００２２】
以上の負帰還制御により、データ処理論理１１０のデータ処理性能を示す測定性能値が目標性能値と等しくなるようにデータ処理論理１１０の性能制御を行うことができ、高い精度でデータ処理論理部の性能制御を行うことができる。
【００２３】
尚、本実施例においては、データ処理論理部１１０と性能制御論理部１２０とは同一ＬＳＩ上に構成されているが、異なるＬＳＩ上に両者を有する構成としてもよい。
［実施例２］
連携して動作する複数のデータ処理論理部から構成されるデータ処理システムにおいてデータ処理論理部の間でデータ処理の処理性能に差がある場合、最も処理性能の低いデータ処理論理部がデータ処理のボトルネックとなり、他のデータ処理論理部は過剰な処理性能で動作することになってしまう。
【００２４】
そこで、実施例２として、複数のデータ処理論理部の処理性能を等しくすることにより、過剰な処理性能で動作するデータ処理論理部の処理性能を抑止し、不要な消費電力を低減するデータ処理システムについて説明する。
【００２５】
図３は、実施例２によるデータ処理システムの構成例を示す図である。
データ処理システムは、ＬＳＩ２００、ＬＳＩ３００、ＬＳＩ４００、クロック周波数変換ＬＳＩ（１）５０１、クロック周波数変換ＬＳＩ（２）５０２及びクロックジェネレータ５０３から構成されている。
【００２６】
クロックジェネレータ５０３は、所定の周波数のクロックを生成する。クロック周波数変換ＬＳＩ（１）５０１は、外部からの制御によりクロックジェネレータ５０３が生成するクロックを任意の周波数のクロックに変換し、ＬＳＩ２００に供給する。クロック周波数変換ＬＳＩ（２）５０２は、外部からの制御によりクロックジェネレータ５０３が生成するクロックを任意の周波数のクロックに変換し、ＬＳＩ３００に供給する。
【００２７】
ＬＳＩ２００は、データ処理論理部（１）２１０、ＱＵＥＵＥ２１１及び性能測定論理部２１２から構成されている。
【００２８】
データ処理論理部（１）２１０は、ＬＳＩ２００の機能を実現するためのデータ処理を実行するコントロール回路等の論理回路から構成されている。
【００２９】
ＱＵＥＵＥ２１１は、データ処理論理部２１０で処理されたデータを保持する。また、複数のデータを保持することが可能である。データ処理論理部２１０とデータ処理論理部３１０との処理性能差が大きい場合、ＱＵＥＵＥ２１１は、ＦＵＬＬまたはＥＭＰＴＹ状態となり、データ処理論理部２１０またはデータ処理論理部３１０の処理を中断する。データ処理論理部２１０のデータ処理性能がデータ処理論理部３１０に比べて高い場合、ＱＵＥＵＥ２１１で保持されるデータ数が増えていき、ＱＵＥＵＥ２１１が保持できる限界のデータ容量に達するとＱＵＥＵＥ２１１はＦＵＬＬ状態となり、データ処理論理部２１０のデータ処理はＱＵＥＵＥ２１１に空きが生じるまで停止する。それとは逆に、データ処理論理部２１０のデータ処理性能がデータ処理論理部３１０に比べて低い場合、ＱＵＥＵＥ２１１で保持されているデータ数が次第に減っていき、ＱＵＥＵＥ２１１に保持されているデータが無くなるとＱＵＥＵＥ２１１はＥＭＰＴＹ状態となりデータ処理論理部３１０のデータ処理はＱＵＥＵＥ２１１にデータが保持されるまで停止する。
【００３０】
性能測定論理部２１２は、データ処理論理部２１０がＱＵＥＵＥ２１１に投入する処理データのスループットとデータ処理論理部３１０がＱＵＥＵＥ２１１から取り出す処理データのスループットを測定する。
【００３１】
ＬＳＩ３００は、ＬＳＩ３００の機能を実現するためのデータ処理を実行するコントロール回路等の論理回路から構成されるデータ処理論理部（２）３１０からなる。
【００３２】
ＬＳＩ４００は、測定性能レジスタ（１）４１１、測定性能レジスタ（２）４１２、性能比較論理部（１）４１３、性能比較論理部（２）４１４、性能調整論理部（１）４１５、性能調整論理部（２）４１６及び目標性能レジスタ４１７から構成される性能制御論理部４１０からなる。性能制御論理部４１０は、データ処理論理部２１０及びデータ処理論理部３１０の性能制御を行う機能を有する。
【００３３】
測定性能レジスタ（１）４１１は、データ処理論理部２１０の測定性能値として、データ処理論理部２１０がＱＵＥＵＥ２１１に投入する処理データのスループットを格納する。測定性能レジスタ（２）４１２は、データ処理論理部３１０の測定性能値として、データ処理論理部３１０がＱＵＥＵＥ２１１から取り出す処理データのスループットを格納する。目標性能レジスタ４１７は、データ処理論理部２１０及びデータ処理論理部３１０のデータ処理の目標性能値を格納する。目標性能値は、性能制御論理４１０の外部から設定が可能である。
【００３４】
性能比較論理部（１）４１３は、測定性能レジスタ（１）４１１と目標性能レジスタ４１７からそれぞれデータ処理論理部２１０の測定性能値と目標性能値を読み出して、両者を比較する。性能比較論理部（２）４１４は、測定性能レジスタ（２）４１２と目標性能レジスタ４１７からそれぞれデータ処理論理部３１０の測定性能値と目標性能値を読み出して、両者を比較する。性能調整論理部（１）４１５は、性能比較論理部（１）４１３による比較結果に基づいて、クロック周波数変換ＬＳＩ（１）５０１を制御し、クロック周波数を変えることにより、データ処理論理部２１０のデータ処理性能が目標性能値と等しくなるように性能調整を行う。性能調整論理部（２）４１６は、性能比較論理部（２）４１４による比較結果に基づいて、クロック周波数変換ＬＳＩ（２）５０２を制御し、クロック周波数を変えることにより、データ処理論理部３１０のデータ処理性能が目標性能値と等しくなるように性能調整を行う。
【００３５】
以上、本実施例により、データ処理論理部２１０とデータ処理論理部３１０とのデータ処理性能を等しくすることで、不要な消費電力の発生を低減することができる。
［実施例３］
実施例２によるデータ処理システムは性能制御を行うために外部から目標性能値を設定する必要があるが、実施例３として、性能制御論理部がデータ処理システム内のボトルネックを検出して目標性能値を設定する機能を有することにより、外部からの目標性能値の設定を行うことなく性能制御が可能となるデータ処理システムについて説明する。
【００３６】
図４は、実施例３によるデータ処理システムの構成例を示す図である。
ここで、ＬＳＩ６００以外は、実施例２と同様の構成であるため、これらの構成に関する説明は省略する。
【００３７】
性能調整論理部（１）６１５は、性能調整論理部（１）６１５がデータ処理論理部２１０の性能を抑止しているか否かを目標性能設定論理部６１８に通知する。同様に、性能調整論理部（２）６１６は性能調整論理部（２）が、データ処理論理部３１０の性能を抑止しているか否かを目標性能設定論理部６１８に通知する。目標性能設定論理部６１８は、データ処理の目標性能値を決定してその目標性能値を目標性能レジスタ６１７に設定する。
【００３８】
性能調整論理部（１）６１５、性能調整論理部（２）６１６が共に性能抑止を行っていない場合、測定性能レジスタ（１）６１１に格納されているデータ処理論理部２１０の測定性能値と測定性能レジスタ（２）６１２に格納されているデータ処理論理部３１０の測定性能値とを比較し、小さい方の測定性能値を目標性能レジスタ６１７に設定する。
【００３９】
性能調整論理部（１）６１５が性能抑止を行っており、性能調整論理部（２）６１６が性能抑止を行っていない場合、測定性能レジスタ（２）６１２の性能測定値を目標性能レジスタ６１７に設定する。それとは逆に、性能調整論理部（１）６１５が性能抑止を行っておらず、性能調整論理部（２）６１６が性能抑止を行っている時は、測定性能レジスタ（１）６１１の性能測定値を目標性能レジスタ６１７に設定する。
【００４０】
以上の動作により、目標性能設定論理部６１８はデータ処理論理部２１０とデータ処理論理部３１０との処理性能が等しくなるように性能調整を行う。さらに、目標性能設定論理部６１８は、性能調整論理部（１）６１５、性能調整論理部（２）６１６が共に性能抑止を行っている場合、目標性能レジスタ６１７に設定されている目標性能値の値を徐々に引き上げる。このとき、目標性能値の上昇に合わせて、データ処理論理部２１０とデータ処理論理部３１０のデータ処理性能も上がっていくが、性能調整論理部６１５または性能調整論理部６１６の性能抑止がなくなり、対応するデータ処理論理部の性能が最大に達したところで、目標性能値の引き上げを停止する。この動作により、データ処理論理部２１０とデータ処理論理部３１０が互いにデータ処理性能の低い方に処理性能を合わせることを繰り返すうちに、データ処理性能が無制限に下がることを抑止する。
【００４１】
以上、本実施例により、外部から目標性能値を設定することなくデータ処理システムのボトルネックを検出して目標性能値を設定することができる。
【００４２】
また、ソフトウェアで性能制御を行う場合よりも高い精度でＬＳＩの性能制御を行うことが可能となるので、以下のような効果も得られる。
【００４３】
ＣＭＯＳ  ＬＳＩの消費電力はクロック周波数および電源電圧の２乗に比例する。そのため、図５に示すように同じ量のデータ処理を行う場合、短時間で処理を行うよりもクロック周波数、電源電圧を低下させ処理性能を抑止しながら処理を行った方が消費電力を少なくすることができる。一定の時間内に特定の量のデータ処理を行う場合、本実施例では高い精度でＬＳＩの処理性能を制御できるため、許容される時間内に処理を終えることのできる最低限まで処理性能を抑止することが可能となり、効果的に消費電力を低減することができる。
【００４４】
さらに、複数の連携して動作するデータ処理論理部から構成されるデータ処理システムにおいて、複数のデータ処理論理部の処理性能を等しくすることにより不要な消費電力を低減することができる。複数の連携して動作するデータ処理論理から構成されるデータ処理システムにおいてデータ処理の処理性能に差がある場合、最も処理性能が低いデータ処理論理部がボトルネックとなり、他のデータ処理論理部は過剰な処理性能で動作することとなる。本実施例では、複数のデータ処理論理部の処理性能を等しくすることにより、過剰な処理性能で動作するデータ処理論理部の処理性能を抑止し、不要な消費電力を低減することができる。
【００４５】
また、本実施例は、ＣＯＤ（Ｃａｐａｃｉｔｙ  Ｏｎ  Ｄｅｍａｎｄ）の実現方法としても有用である。ＣＯＤは将来的な負荷の増大の予測が困難な場合や、初期導入時のコストを抑えたい場合に、あらかじめ予備ＣＰＵを搭載しておき、処理性能の増強が必要となったときに予備ＣＰＵのライセンスを購入し、予備ＣＰＵを活性化するサービスである。その代案としては予備ＣＰＵを搭載する代わりに、初期導入時にはＣＰＵ性能を抑止しておき、必要に応じて性能制御によりＣＰＵ性能を上げる方法が考えられる。本発明における性能制御をＣＯＤに適用することにより、性能抑止を行う際に一定の処理性能を保証することができる。
【００４６】
尚、本発明は、具体的に開示された実施例限定されるものでなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【図面の簡単な説明】
【００４７】
【図１】実施例１によるデータ処理システムの構成例を示す図。
【図２】性能調整の動作を説明するための図。
【図３】実施例２によるデータ処理システムの構成例を示す図。
【図４】実施例３によるデータ処理システムの構成例を示す図。
【図５】消費電力低減効果を説明するための図。
【符号の説明】
【００４８】
１００、２００、３００、４００、６００：ＬＳＩ、  １２１：測定性能レジスタ、  １２２：目標性能レジスタ、  １２３：性能比較論理部、１２４：性能調整論理部、  １２０、４１０、６１０：性能制御論理部、  １１０、２１０、３１０：データ処理論理部、  ２１２：性能測定論理部、  ６１８：目標性能設定論理部
【図１】
0004972522.tif 000002
【図２】
0004972522.tif 000003
【図３】
0004972522.tif 000004
【図４】
0004972522.tif 000005
【図５】
0004972522.tif 000006