JP6477032B2 - Processor and control method thereof - Google Patents
Processor and control method thereof Download PDFInfo
- Publication number
- JP6477032B2 JP6477032B2 JP2015043041A JP2015043041A JP6477032B2 JP 6477032 B2 JP6477032 B2 JP 6477032B2 JP 2015043041 A JP2015043041 A JP 2015043041A JP 2015043041 A JP2015043041 A JP 2015043041A JP 6477032 B2 JP6477032 B2 JP 6477032B2
- Authority
- JP
- Japan
- Prior art keywords
- temperature
- instruction
- unit
- instructions
- value
- 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.)
- Active
Links
Images
Landscapes
- Executing Machine-Instructions (AREA)
- Microcomputers (AREA)
Description
本発明は、特に半導体プロセッサに関するものであり、特に半導体プロセッサの命令実行制御に関するものである。 The present invention relates particularly to a semiconductor processor, and more particularly to instruction execution control of a semiconductor processor.
情報処理装置や通信端末装置等の高性能化にともない使用されるプロセッサの高性能化が進んでいる。高性能化にともないプロセッサは高クロックで動作するため、消費電力や発熱量も増大する傾向にある。また、情報処理装置等の用途の多様化によってプロセッサは様々な環境での動作が要求されるようになっている。情報処理装置等の重要性が増していることから、様々な環境で使われた場合においても高可用性が求められている。そのため、プロセッサには、様々な環境下で使用された際にも性能の維持と安定動作の両立が求められることが多い。 BACKGROUND OF THE INVENTION With the advancement of the performance of information processing devices and communication terminals, etc., the performance of processors used has advanced. As the performance of processors increases with the clock speed, power consumption and heat generation tend to increase. In addition, the diversification of applications such as information processing apparatuses requires processors to operate in various environments. Since the importance of information processing apparatuses and the like is increasing, high availability is required even when used in various environments. Therefore, a processor is often required to have both performance maintenance and stable operation even when used in various environments.
モバイル用途のプロセッサでは消費電力を抑制して稼働時間を長くするために、例えば、DVFS(Dynamic Voltage and Frequency Scaling)制御技術が用いられる。DVFS技術では、プロセッサの動作負荷が高い場合には、通常の動作周波数および動作電圧で稼働し、動作負荷が低い場合には動作周波数や動作電圧を下げることにより消費電力等を抑制しつつ、必要な性能が維持される。 In processors for mobile applications, for example, Dynamic Voltage and Frequency Scaling (DVFS) control technology is used to reduce power consumption and extend operation time. In the DVFS technology, it is necessary to operate at the normal operating frequency and operating voltage when the operating load of the processor is high, and to reduce power consumption etc. by lowering the operating frequency and operating voltage when the operating load is low. Performance is maintained.
また、複数のプロセッサを備えるサーバのような情報処理装置では、動作負荷の軽いプロセッサの動作を抑制して、他のプロセッサの動作周波数を上げて性能を高くする技術が用いられることもある。このような動作を行うことで、消費電力の増大や装置内の発熱を抑制しつつ性能を高くすることが可能となる。 In addition, in an information processing apparatus such as a server including a plurality of processors, a technique may be used in which the operation frequency of a processor with a light operating load is suppressed to increase the operating frequency of another processor to improve the performance. By performing such an operation, it is possible to increase the performance while suppressing the increase in power consumption and the heat generation in the device.
プロセッサには、冷却機能が備えられていることが多いが、動作負荷が高くなったときに冷却能力を超えて温度が上昇する可能性がある。温度上昇は、半導体素子の特性変化による動作不良や、半導体素子や配線の信頼性および寿命の低下をもたらす。そのため、温度上昇を抑制するために、プロセッサの温度を監視して動作状態を制御する技術の開発が行われている。そのような動作状態を制御する方法としては、例えば、温度上昇時に、クロック数を抑制した状態で稼動する方法が用いられる。プロセッサの温度を監視して動作状態を制御する技術としては、例えば、特許文献1のような技術が開示されている。 Processors are often equipped with a cooling function, but when the operating load is high the temperature may rise above the cooling capacity. The temperature rise leads to an operation failure due to the characteristic change of the semiconductor element, and a decrease in the reliability and the life of the semiconductor element and the wiring. Therefore, in order to suppress a temperature rise, development of technology for monitoring the temperature of the processor and controlling the operating state has been conducted. As a method of controlling such an operation state, for example, a method of operating with the number of clocks suppressed at the time of temperature rise is used. As a technique for monitoring the temperature of the processor and controlling the operating state, for example, a technique as disclosed in Patent Document 1 is disclosed.
特許文献1は、温度制御部を備えた処理装置に関するものである。特許文献1の処理装置は、温度測定部と、温度ごとに実行可能な命令数を設定したデータデーブルを備えている。特許文献1の温度ごとのデータテーブルは、クロック数、命令実行が可能な時間および実行可能な命令数の情報を有している。特許文献1の処理装置の制御部は、温度測定結果に応じたデータテーブルを参照して、実行を予定している命令数等を基に命令を実行する際のクロック数を判断している。特許文献1の処理装置の制御部は、命令を実行する際に判断したクロック数で命令が実行されるように制御を行う。特許文献1では、データテーブルと温度測定結果を基にクロック数を判断することで、温度上昇を抑制しつつ必要な処理能力を確保して出来るだけ高速な命令実行が可能になるとしている。 Patent Document 1 relates to a processing apparatus provided with a temperature control unit. The processing device of Patent Document 1 includes a temperature measurement unit and a data table in which the number of executable instructions is set for each temperature. The data table for each temperature in Patent Document 1 has information on the number of clocks, the time for which an instruction can be executed, and the number of executable instructions. The control unit of the processing device of Patent Document 1 refers to a data table corresponding to the temperature measurement result, and determines the number of clocks when executing an instruction based on the number of instructions scheduled to be executed. The control unit of the processing device of Patent Document 1 performs control such that the instruction is executed with the number of clocks determined when executing the instruction. According to Patent Document 1, by determining the number of clocks based on the data table and the temperature measurement result, it is possible to execute instructions as fast as possible by securing a necessary processing capacity while suppressing a temperature rise.
しかしながら、特許文献1の技術は次のような点で十分ではない。特許文献1の処理装置は、あらかじめ設定されたデータテーブルを参照して命令実行可能なクロック数を予測して命令の実行の制御を行っている。そのため、特許文献1の処理装置は、処理装置が備えられている情報処理装置等の使用環境が変わって、温度特性に変化が生じた場合などに正確なクロック数を予測できない可能性がある。また、特許文献1の処理装置は、処理装置として用いている半導体プロセッサの特性が変動した場合や、装置構成が変更された場合などに、温度変化の特性が変わると的確なクロック数を判断できない恐れがある。すなわち、特許文献1の処理装置はあらかじめ設定されたデータテーブルと実際の特性にずれが生じたときに適正なクロック数を判断することができない。そのような場合に、特許文献1の処理装置では、温度上昇による動作不良が生じる恐れや、電力量の抑制が十分に行えない恐れが生じる。よって、特許文献1の技術は、動作環境によらずに温度に応じた的確な制御を行うことが可能なプロセッサに用いる技術としては十分ではない。 However, the technique of Patent Document 1 is not sufficient in the following points. The processing device of Patent Document 1 refers to a data table set in advance to predict the number of clocks that can execute an instruction and controls the execution of the instruction. Therefore, the processing apparatus of Patent Document 1 may not be able to predict the correct number of clocks when, for example, the temperature environment changes due to changes in the use environment of the information processing apparatus or the like provided with the processing apparatus. Further, in the processing apparatus of Patent Document 1, when the characteristics of the semiconductor processor used as the processing apparatus change or when the apparatus configuration is changed, it is not possible to determine the correct number of clocks if the temperature change characteristics change. There is a fear. That is, the processing device of Patent Document 1 can not determine the proper number of clocks when a deviation occurs between the preset data table and the actual characteristic. In such a case, in the processing apparatus of Patent Document 1, there is a possibility that an operation failure due to a temperature rise may occur, or a suppression of the electric energy may not be sufficiently performed. Therefore, the technique of Patent Document 1 is not sufficient as a technique used for a processor capable of performing appropriate control according to temperature regardless of the operating environment.
本発明は、動作環境によらずに温度に応じた的確な制御を行うことが可能なプロセッサを得ることを目的としている。 An object of the present invention is to obtain a processor capable of performing accurate control according to temperature regardless of the operating environment.
上記の課題を解決するため、本発明のプロセッサは、カウント手段と、温度計測手段と、第1の記憶手段と、第2に記憶手段と、制御手段を備えている。カウント手段は、所定の時間内に実行された命令数を実行命令数としてカウントする。温度計測手段は、命令を実行する所定のユニット付近の温度を計測する。第1の記憶手段は、あらかじめ設定された第1の温度を所定のユニット付近の温度が超えたときの実行命令数を第1の命令数として記憶する。第2の記憶手段は、あらかじめ設定され、第1の温度よりも高い第2の温度を所定のユニット付近の温度が超えたときの実行命令数を第2の命令数として記憶する。制御手段は、所定の時間に実行する命令の数が第2の命令数より小さく、第1の命令数より大きくなるように命令の実行を制御する。 In order to solve the above-mentioned subject, a processor of the present invention is provided with a count means, a temperature measurement means, a 1st memory means, a 2nd memory means, and a control means. The counting means counts the number of instructions executed within a predetermined time as the number of execution instructions. The temperature measuring means measures the temperature in the vicinity of a predetermined unit that executes the command. The first storage means stores, as a first instruction number, the number of executed instructions when the temperature near the predetermined unit exceeds a first temperature set in advance. The second storage means stores, as a second instruction number, the number of instructions set in advance when the temperature near the predetermined unit exceeds a second temperature which is set in advance and which is higher than the first temperature. The control means controls instruction execution such that the number of instructions to be executed at a predetermined time is smaller than the second instruction number and larger than the first instruction number.
本発明のプロセッサの制御方法は、所定の時間内に実行された命令数を実行命令数としてカウントし、命令を実行する所定のユニット付近の温度を計測する。本発明のプロセッサの制御方法は、あらかじめ設定された第1の温度を所定のユニット付近の温度が超えたときの実行命令数を第1の命令数として記憶する、本発明のプロセッサの制御方法は、あらかじめ設定され、第1の温度よりも高い第2の温度を所定のユニット付近の温度が超えたときの実行命令数を第2の命令数として記憶する。本発明のプロセッサの制御方法は、所定の時間に実行する命令の数が第2の命令数より小さく、第1の命令数より大きくなるように命令の実行を制御する。 The control method of a processor according to the present invention counts the number of instructions executed within a predetermined time as the number of execution instructions, and measures the temperature near a predetermined unit that executes instructions. A control method of a processor according to the present invention stores a number of executed instructions when a temperature near a predetermined unit exceeds a first temperature set in advance as a first number of instructions. And storing, as a second instruction number, the number of instructions set in advance when the temperature near the predetermined unit exceeds a second temperature which is set in advance and which is higher than the first temperature. The control method of the processor of the present invention controls the execution of instructions such that the number of instructions executed at a predetermined time is smaller than the second instruction number and larger than the first instruction number.
本発明によると、動作環境によらずに温度に応じた的確な制御を行うことができる。 According to the present invention, precise control can be performed according to temperature regardless of the operating environment.
(第1の実施形態)
本発明の第1の実施形態について図を参照して詳細に説明する。図1は、本実施形態のプロセッサの構成の概要を示したものである。本実施形態のプロセッサは、カウント手段1と、温度計測手段2と、第1の記憶手段3と、第2の記憶手段4と、制御手段5を備えている。
First Embodiment
A first embodiment of the present invention will be described in detail with reference to the drawings. FIG. 1 shows an outline of the configuration of a processor according to this embodiment. The processor according to the present embodiment includes a counting unit 1, a
カウント手段1は、所定の時間内に実行された命令数を実行命令数としてカウントする。温度計測手段2は、命令を実行する所定のユニット付近の温度を計測する。第1の記憶手段3は、あらかじめ設定された第1の温度を所定のユニット付近の温度が超えたときの実行命令数を第1の命令数として記憶する。第2の記憶手段4は、あらかじめ設定され、第1の温度よりも高い第2の温度を所定のユニット付近の温度が超えたときの実行命令数を第2の命令数として記憶する。制御手段5は、所定の時間に実行する命令の数が第2の命令数より小さく、第1の命令数より大きくなるように命令の実行を制御する。
The counting means 1 counts the number of instructions executed within a predetermined time as the number of executed instructions. The temperature measuring means 2 measures the temperature in the vicinity of a predetermined unit that executes an instruction. The
本実施形態のプロセッサは、あらかじめ設定された第1の温度と第2の温度を、温度計測手段2によって計測を行っている所定のユニット付近の温度が超えたときに、カウント手段1がカウントした所定の時間に実行された命令数を保存している。本実施形態のプロセッサは、カウント手段1がカウントした命令数を、第1の温度では第1の命令数、第2の温度では第2の命令数として記憶手段3と第2の記憶手段4にそれぞれ保存している。また、制御手段5は、所定の時間に実行する命令の数が第2の命令数より小さく、第1の命令数より大きくなるように命令の実行を制御している。
The processor according to the present embodiment counts the first temperature and the second temperature set in advance when the temperature in the vicinity of the predetermined unit whose temperature is measured by the
このように、第1の温度および第2の温度において実際に実行された命令数を保存し、保存した2つの命令数の間になるように命令の実行数を制御することで、プロセッサの温度が第1の温度と第2の温度の間で推移する可能性が高くなる。そのため、本実施形態のプロセッサでは、温度上昇によってプロセッサの動作に不具合が生じる状態を避けることができる。また、本実施形態のプロセッサでは、実際に計測した結果に基づいて、命令の実行数を制御するので環境が変化しても環境に応じた制御を行うことが可能となる。以上より、本実施形態のプロセッサでは、動作環境によらずに温度に応じた的確な制御を行うことができる。 Thus, the processor temperature is stored by storing the number of instructions actually executed at the first temperature and the second temperature, and controlling the number of instruction executions to be between the stored two numbers of instructions. Is likely to transition between the first temperature and the second temperature. Therefore, in the processor according to the present embodiment, it is possible to avoid a state in which the operation of the processor is impaired due to the temperature rise. Further, in the processor according to the present embodiment, the number of instruction executions is controlled based on the result of actual measurement, so control can be performed according to the environment even if the environment changes. As described above, in the processor according to the present embodiment, accurate control can be performed according to temperature regardless of the operating environment.
(第2の実施形態)
本発明の第2の実施形態について図を参照して詳細に説明する。図2は、本実施形態のプロセッサの構成の概要を示したものである。本実施形態のプロセッサは、演算処理部10と、温度制御部20を備えている。また、演算処理部10は、プロセッサが備えられた情報処理装置の主記憶装置とも接続されている。
Second Embodiment
A second embodiment of the present invention will be described in detail with reference to the drawings. FIG. 2 shows an outline of the configuration of the processor of this embodiment. The processor of the present embodiment includes an
演算処理部10の構成について詳細に説明する。図3は演算処理部10の構成の概要を示したものである。
The configuration of the
演算処理部10は、命令キャッシュ部11と、命令フェッチ部12と、命令デコード部13と、命令制御部14を備えている。また、演算処理部10は、ロード/ストア部15−1と、整数演算部15−2と、浮動小数点演算部15−3と、分岐部15−4をさらに備えている。また、演算処理部10は、レジスタファイル部16と、データキャッシュ部17と、メモリ管理部18をさらに備えている。また、演算処理部10は、温度センサ19をさらに備えている。
The
命令キャッシュ部11は、演算処理部10が実行する命令のデータを保存する機能を有する。命令キャッシュ部11は、演算処理部10が実行する命令のデータを命令列として複数、保存している。命令キャッシュ部11に命令列として保存されているデータは1つであってもよい。命令キャッシュ部11に保存されている命令のデータは、メモリ管理部18を介して主記憶装置から入力される。
The
命令フェッチ部12は、命令のデータを読み出して命令デコード部13に送る機能を有する。命令フェッチ部12は、命令キャッシュ部11に命令列として保存されているデータを読み出して、命令デコード部13に送る。
The instruction fetch
命令デコード部13は、入力された命令のデコードを行う機能を有する。命令デコード部13は、命令列として入力された複数の命令を命令発行や命令実行の順になるようにデコードを行う。デコードが行われた命令は、命令制御部14に送られる。
The
命令制御部14は、命令発行および命令実行を制御する機能を有する。命令制御部14は、命令デコード部13から入力された命令のデータを基に、命令間の依存性の解析および命令実行に必要なリソースの割り当て等のリソース管理を行う。命令制御部14は、依存性の解析およびリソース管理の結果を基に、命令種別ごとに対応する命令実行ユニットに命令を発行する。本実施形態では命令実行ユニットとして、ロード/ストア部15−1、整数演算部15−2、浮動小数点演算部15−3および分岐部15−4が備えられている。
The
命令制御部14は、複数の命令実行ユニットに同時に命令を送って実行させることもできる。また、命令実行ユニットには、ロード/ストア部15−1、整数演算部15−2、浮動小数点演算部15−3および分岐部15−4以外の機能ユニットが備えられていてもよい。また、各ユニットが複数、備えられていてもよい。
The
命令制御部14は、命令実行の制御を行う際に所定の時間あたりの命令の実行数が最大実行可能命令数と最小実行命令数の間となるように制御を行う。最大実行可能命令数と最小実行命令数の情報は、上限命令数信号S32および下限命令数信号S33として温度制御部20から入力される。最大実行可能命令数と最小実行命令数の設定方法については、後で説明する。
When controlling the execution of instructions, the
また、命令制御部14は温度制御部20から温度状態信号S31として送られてくるプロセッサの温度の情報に基づいて、命令実行の制御を行う。命令制御部14は、プロセッサの温度が上限設定温度としてあらかじめ設定されている温度を超えたと判断したときに、所定の抑制状態となるように制御を行う。所定の抑制状態とするための制御方法としては、例えば、スロットリング制御が用いられる。命令制御部14は、所定の抑制状態のときに、プロセッサの温度が下限設定温度としてあらかじめ設定されている温度を下回ったと判断したときに通常の動作状態の制御に移行する。また、本実施形態の命令制御部14は、第1の実施形態の制御手段5に相当する。
The
ロード/ストア部15−1は、命令制御部14から送られてくる命令に基づいて、データキャッシュ部17のデータを参照して、レジスタファイル部16との間でデータの読み出し動作および書き込み動作を行う機能を有する。
The load / store unit 15-1 refers to the data in the
整数演算部15−2は、命令制御部14から送られてくる命令に基づいて、整数演算を行う機能を有する。
The integer operation unit 15-2 has a function of performing an integer operation based on an instruction sent from the
浮動小数点演算部15−3は、命令制御部14から送られてくる命令に基づいて、浮動小数点演算を行う機能を有する。
The floating point operation unit 15-3 has a function of performing floating point operation based on the instruction sent from the
分岐部15−4は、命令制御部14から送られてくる命令に基づいて、必要な分岐処理を行う機能を有する。
The branch unit 15-4 has a function of performing necessary branch processing based on the instruction sent from the
ロード/ストア部15−1、整数演算部15−2、浮動小数点演算部15−3および分岐部15−4の各命令実行ユニットは、命令を実行する際にレジスタファイル部16にアクセスして命令実行に必要なレジスタの値を読み出す。また、各命令実行ユニットは、命令を実行した際に、必要に応じて命令実行結果をレジスタファイル部16に書き込む。
Each instruction execution unit of the load / store unit 15-1, the integer operation unit 15-2, the floating point operation unit 15-3, and the branch unit 15-4 accesses the
レジスタファイル部16は、命令実行に必要なレジスタの値を保存する機能を有する。レジスタファイル部16は、各命令実行ユニットからの制御に基づいて、レジスタの値の保存および出力を行う。
The
データキャッシュ部17は、各命令実行ユニットで行われる命令実行に必要なデータを保存する機能を有する。データキャッシュ部17は、ロード/ストア部15−1の制御により必要なデータの保存および出力を行う。ロード/ストア部15−1が、処理を行う対象とするデータが保存されていない場合には、データキャッシュ部17は、メモリ管理部18を介して、主記憶装置との間で必要なデータの転送動作を行う。
The
メモリ管理部18は、主記憶装置との間でデータの送受信を行う機能を有する。メモリ管理部18は、演算処理部10で実行する命令のデータ、命令実行に必要なデータを主記憶装置から受け取って、演算処理部10の各ユニットに送る。また、メモリ管理部18は、演算処理部10での命令実行結果を主記憶装置等に送る。
The
温度センサ19は、プロセッサの温度を計測する機能を有する。温度センサ19は、プロセッサの温度を測定して、計測した温度のデータを計測温度信号S12として、温度制御部20の温度計測部23に送る。
The temperature sensor 19 has a function of measuring the temperature of the processor. The temperature sensor 19 measures the temperature of the processor and sends data of the measured temperature to the
本実施形態の温度センサ19は、CMOS(Complementary Metal-Oxide-Semiconductor)温度センサによってプロセッサにおいて命令を実行する所定のユニット付近の温度の計測を行う。温度センサには、サーミスタ等の他の温度測定用素子を用いてもよい。本実施形態のCMOS温度センサは、命令を実行する所定のユニットとして演算処理部10の命令実行ユニット付近の温度を計測できるように備えられている。
The temperature sensor 19 of the present embodiment measures the temperature in the vicinity of a predetermined unit that executes an instruction in the processor by means of a complementary metal-oxide-semiconductor (CMOS) temperature sensor. Other temperature measurement elements such as a thermistor may be used as the temperature sensor. The CMOS temperature sensor of this embodiment is provided as a predetermined unit for executing an instruction so as to measure the temperature near the instruction execution unit of the
温度センサ19は、命令を実行する所定のユニットとして、例えば、命令実行ユニットである、ロード/ストア部15−1、整数演算部15−2、浮動小数点演算部15−3および分岐部15−4付近の温度を測定する。温度センサ19は、命令制御部14、レジスタファイル部16、または、データキャッシュ部17などの他のユニットを計測するように備えられていてもよい。
The temperature sensor 19 is, for example, a load / store unit 15-1, an integer operation unit 15-2, a floating point operation unit 15-3, and a branch unit 15-4, which are instruction execution units, as a predetermined unit for executing an instruction. Measure the temperature in the vicinity. The temperature sensor 19 may be provided to measure other units such as the
次に温度制御部20の構成について詳細に説明する。図4は、温度制御部20の構成の概要を示したものである。
Next, the configuration of the
温度制御部20は、制御部21と、タイマ部22と、温度計測部23と、カウンタ部24と、上限値記憶部25と、下限値記憶部26を備えている。
The
制御部21は、プロセッサの温度管理に関する温度制御部20における動作の全般を制御する機能を有する。制御部21は、プロセッサの温度測定結果を基に上限値記憶部25および下限値記憶部26への命令数の保存を制御する機能を有する。また、制御部21は、プロセッサの温度の情報を演算処理部10に伝達する機能を有する。
The
制御部21は、所定の時間ごとに温度計測部23に温度の情報を要求し、プロセッサの温度の状態を監視する。所定の時間は、プロセッサの温度を監視する間隔としてあらかじめ設定されている。制御部21は、所定の時間の経過をタイマ部22から入力される時間経過信号S21を受信することにより判断する。時間経過信号S21は、タイマ部22が所定の時間が経過するごとに、所定の時間が経過したことを制御部21に伝達する信号である。
The
制御部21は、温度の測定結果を基に上限値記憶部25および下限値記憶部26への命令数の保存の要否を判断する。制御部21は、プロセッサの稼働開始後に最初に上限設定温度を超えたと判断したときに、上限値記憶部25に命令数の保存を要求する信号を上限値保存信号S24として送る。上限設定温度とは、その温度を超えたときに演算処理部10がスロットリング等の抑制状態の動作を開始する温度のことをいう。
The
制御部21は、プロセッサの稼働開始後に最初に下限設定温度を超えたと判断したときに、下限値記憶部26に命令数の保存を要求する信号を下限値保存信号S25として送る。下限設定温度とは、その温度を下回ると演算処理部10がスロットリング等の抑制状態の動作を解除して通常状態の動作に戻る温度のことをいう。上限設定温度および下限設定温度は、上限設定温度の方が、下限設定温度よりも高い温度となるようにあらかじめ設定された温度である。
When the
制御部21は、カウンタ部24に保存している命令数の情報の出力を要求する信号を命令数出力信号S26として送る。制御部21が命令数出力信号S26を送信するタイミングは、温度を計測する所定の時間の間隔と同じである。
The
また、制御部21は、プロセッサの温度の情報を演算処理部10に温度状態信号S31として送る。また、制御部21は、温度状態信号S31を温度計測部23から温度の情報を得る所定の時間ごとに送る。演算処理部10は、温度状態信号S31の温度情報を基に各ユニットの制御を行う。
The
制御部21は、プロセッサの温度が上限設定値および下限設定値を超えたときにアラームを出力する構成としてもよい。また、アラームは上限設定値を超えているときのみとしてもよく、他の温度または複数段階で設定された温度で出力されるようにしてもよい。
The
タイマ部22は、プロセッサの温度測定を行う間隔を計測する機能を有する。タイマ部22は、あらかじめ設定された所定の時間ごとに制御部21に設定時間が経過したことを示す信号を時間経過信号S21として送る。タイマ部22は、クロック数を積算し、積算した値があらかじめ設定された時間に相当するクロック数となったときにあらかじめ設定された所定の時間が経過したと判断する。タイマ部22は、積算した値が所定の時間に相当するクロック数となるごとに時間経過信号S21を出力する。また、タイマ部22に入力されるクロックは、プロセッサが起動している間は動作状態に関わらず一定である。
The
温度計測部23は、プロセッサの温度を計測する機能を有する。温度計測部23は、演算処理部10の温度センサ19から温度計測信号S12として送られてくるプロセッサの温度のデータを基に、制御部21から測定要求信号S22を受け取ったときに温度測定結果の情報を計測温度信号S23として制御部21に送る。
また、温度センサ19を演算処理部10内に複数、備えて各温度センサ19から温度計測信号S12として送られてくる温度データを基に、温度計測部23が各温度センサ19の計測値の平均値を、計測温度信号S23として出力してもよい。本実施形態の温度センサ部19および温度計測部23は、第1の実施形態の温度計測手段2に相当する。
The
Further, the
カウンタ部24は、演算処理部10が実行した命令の数を積算する機能を有する。カウンタ部24は、演算処理部10の命令制御部14から実行命令数信号S11として送られてくる命令数を積算する。カウンタ部24は、所定の時間ごとに制御部21から命令数出力信号S26として送られてくるストローブ信号の間隔ごとに命令数を命令数信号S27として出力する。カウンタ部24は、所定の時間ごとの命令数を示す命令数信号S27を上限値記憶部25および下限値記憶部26にそれぞれ送る。本実施形態のカウンタ部24は、第1の実施形態のカウント手段1に相当する。
The
上限値記憶部25は、プロセッサが上限設定温度付近で動作している際の、所定の時間に実行された命令数を保存する機能を有する。上限値記憶部25は、制御部21から命令数の保存を要求する信号を上限値保存信号S24として受け取ると、カウンタ部24から命令数信号S27として入力される命令数を保存する。制御部21は、稼動開始後、最初に上限設定温度を超えていると判断した際に、上限値記憶部25に命令数の保存を要求する。上限値記憶部25は、保存している命令数の情報を上限命令数信号S32として命令制御部14に送る。また、本実施形態では上限値記憶部25に保存されている命令数のことを最大実行可能命令数とも呼ぶ。本実施形態の上限値記憶部25は、第1の実施形態の第2の記憶手段4に相当する。
The upper
下限値記憶部26は、下限設定温度付近で動作している際に、所定の時間に実行された命令数を保存する機能を有する。下限値記憶部26は、制御部21から命令数の保存を要求する信号を下限値保存信号S25として受け取ると、カウンタ部24から命令数信号S27として入力される所定の時間に演算処理部10で実行された命令数の情報を保存する。制御部21は、稼動開始後、最初に下限設定温度を超えていると判断した際に、下限値記憶部26に命令数の保存を要求する。下限値記憶部26は、保存している命令数の情報を下限命令数信号S33として命令制御部14に送る。また、本実施形態では下限値記憶部26に保存されている命令数のことを最小実行命令数とも呼ぶ。実施形態の下限値記憶部26は、第1の実施形態の第1の記憶手段3に相当する。
The lower
本実施形態のプロセッサの動作について説明する。本実施形態のプロセッサが稼働を開始したときに、上限設定温度と下限設定温度における命令数が設定される際の動作について説明する。本実施形態では、稼動開始後にプロセッサの温度が初めて下限設定温度を超えたときに、下限値記憶部26に最小実行命令数の情報が設定される。また、上限設定温度を初めて超えたときに、最大実行可能命令数が設定される。図5は、実施形態のプロセッサにおいて、上限設定温度と下限設定温度における命令の実行数が設定される際のフローの概要を示したものである。
The operation of the processor of this embodiment will be described. An operation when the number of instructions in the upper limit set temperature and the lower limit set temperature is set when the processor of the present embodiment starts operation will be described. In the present embodiment, when the temperature of the processor first exceeds the lower limit set temperature after the start of operation, the information of the minimum number of executable instructions is set in the lower
プロセッサが稼働を開始するとタイマ部22にクロック信号が入力される(ステップ101)。タイマ部22は、クロック数を積算することにより温度を計測する間隔を所定の時間として計測する。所定の時間が経過していないとき、すなわち、クロック数の積算数が所定の回数に達していないとき(ステップ102でNo)、タイマ部22は、クロック数が所定の回数に到達するまでクロック数の積算を行う。
When the processor starts operation, a clock signal is input to the timer unit 22 (step 101). The
所定の時間が経過したとき、すなわち、クロック数の積算値が所定の回数に達したとき(ステップ102でYes)、タイマ部22は所定の時間が経過したことを示す情報を時間経過信号S21として制御部21に送る。
When the predetermined time has elapsed, that is, when the integrated value of the number of clocks has reached the predetermined number (Yes in step 102), the
制御部21は、時間経過信号S21を受け取ると、温度計測部23にプロセッサの温度の情報を要求する信号を測定要求信号S22として送り、温度の情報を取得する(ステップ103)。温度計測部23は、測定要求信号S22を受け取ると、温度計測信号S12を基にプロセッサの温度の情報を計測温度信号S23として制御部21に送る。
When receiving the time lapse signal S21, the
制御部21は、計測温度信号S23としてプロセッサの温度の情報を受け取ると、受け取った温度の情報を下限設定温度と比較する。計測温度信号S23の温度が下限設定温度未満のとき(ステップ104でNo)、制御部21は温度が下限設定温度未満の通常状態であることを示す情報を温度状態信号S31として演算処理部10の命令制御部14に送る。通常状態であることを示す温度状態信号S31を受け取ると、命令制御部14は通常状態の命令実行動作を継続する(ステップ111)。
When the
計測温度信号S23の温度が下限設定温度よりも高いとき(ステップ104でYes)、制御部21は温度が制御部21は温度が下限設定温度を超過していることを示す情報を温度状態信号S31として演算処理部10の命令制御部14に送る。命令制御部14は、通常の動作状態なので、温度が下限設定温度を超過していることを示す情報を温度状態信号S31として受け取った後も通常の動作状態を継続する。
When the temperature of the measured temperature signal S23 is higher than the lower limit set temperature (Yes in step 104), the
また、制御部21は演算処理部10で所定の時間に実行された命令数の情報の保存を要求する信号を下限値保存信号S25として下限値記憶部26に送る。下限値記憶部26は、下限値保存信号S25を受け取ると、カウンタ部24から命令数信号S27として入力される命令数を保存する(ステップ105)。このとき保存される命令数は、最小実行命令数の値となる。命令数信号S27は、制御部21からカウンタ部24に所定の時間ごとに送られる命令数出力信号S26に基づいてカウンタ部24から出力される。
Further, the
最小実行命令数、すなわち、下限設定温度に対応する命令数が保存されると、所定の時間ごとの温度モニターが継続される。タイマ部22は、クロック数の積算を行い所定の回数に達しているかの確認を行う。所定の時間が経過していないとき、すなわち、クロック数の積算値が所定の回数に達していないときは(ステップ106でNo)、所定の時間が経過するまでクロック数の積算が行われる。
Once the minimum number of executed instructions, i.e., the number of instructions corresponding to the lower set temperature, is stored, temperature monitoring at predetermined time intervals is continued. The
クロック数の積算値が所定の回数に達し所定の時間が経過したことを検出すると(ステップ106でYes)、タイマ部22は所定の時間が経過したことを示す情報を時間経過信号S21として制御部21に送る。
When it is detected that the integrated value of the clock number has reached a predetermined number and the predetermined time has elapsed (Yes in step 106), the
制御部21は、時間経過信号S21を受け取ると、温度計測部23にプロセッサの温度の情報を要求する信号を測定要求信号S22として送り温度の情報を取得する(ステップ107)。温度計測部23は、測定要求信号S22を受け取ると、温度計測信号S12を基にプロセッサの温度の情報を計測温度信号S23として制御部21に送る。制御部21は、計測温度信号S23としてプロセッサの温度の情報を受け取ると、受け取った温度の情報を上限設定温度と比較する。
When the
計測温度信号S23の温度が上限設定温度未満のとき(ステップ108でNo)、制御部21は温度状態の情報を温度状態信号S31として演算処理部10の命令制御部14に送る。このときプロセッサは通常の動作状態のため、下限設定温度を超えていることを示す温度状態信号S31を受け取った後も、命令制御部14は、通常の動作状態での命令の実行を継続する(ステップ112)。
When the temperature of the measured temperature signal S23 is less than the upper limit set temperature (No in step 108), the
計測温度信号S23の温度が上限設定温度よりも高いとき(ステップ108でYes)、制御部21は温度が動作可能温度を超過していることを示す情報を温度状態信号S31として演算処理部10の命令制御部14に送る。演算処理部10は、温度が動作可能温度を超過していることを示す情報を温度状態信号S31として受け取ると、命令の実行動作を抑止状態に移行させる。抑止状態とは、例えば、スロットリング制御により命令実行に関するクロック数を下げる状態のことをいう。演算処理部10の命令制御部14は、抑止状態に移行する際に、命令の実行を一時的に休止する制御や、一部の機能を停止する制御を行ってもよい。
When the temperature of the measured temperature signal S23 is higher than the upper limit set temperature (Yes in step 108), the
また、制御部21は、プロセッサで所定の時間に実行された命令数の保存を要求する信号を上限値保存信号S24として上限値記憶部25に送る。上限値記憶部25は、上限値保存信号S24を受け取ると、カウンタ部24から命令数信号S27として入力される命令数を保存する(ステップ109)。このとき上限値記憶部25に保存される命令数は、最大実行可能命令数の値である。命令数信号S27は、制御部21からカウンタ部24に所定の時間ごとに送られる命令数出力信号S26に基づいてカウンタ部24から出力される。
Further, the
上限設定温度に対応する命令数が保存されると、所定の時間ごとの温度モニターが継続され、命令制御部14は最大実行可能命令数および最小実行命令数を満たすように命令の実行を制御する(ステップ110)。以上で、プロセッサが稼働を開始したときに、上限設定温度と下限設定温度における命令数、すなわち、大実行可能命令数および最小実行命令数が設定される際の動作は完了する。
When the number of instructions corresponding to the upper limit setting temperature is stored, the temperature monitoring for each predetermined time is continued, and the
最大実行可能命令数および最小実行命令数が設定された後のプロセッサの動作について説明する。演算処理部10の命令キャッシュ部11には、メモリ管理部18を介して主記憶装置から命令データが保存される。命令フェッチ部12は、命令キャッシュ部11から命令データを読み出し、命令デコード部13に送る。命令デコード部13は、命令のデコード処理を行い、デコード処理を行った命令を命令制御部14に送る。
The operation of the processor after the maximum number of executable instructions and the minimum number of executable instructions have been set will be described. The
命令制御部14は、受け取った命令の実行に必要な命令実行ユニットを判断する。命令制御部14は、所定の時間あたりの命令の実行数が最大実行可能命令数および最小実行命令数の間になるように命令の実行を制御する。最大実行可能命令数および最小実行命令数の情報は、上限命令数信号S32および下限命令数信号S33として温度制御部20から命令制御部14に入力される。
The
各命令実行ユニットは、命令制御部14の制御に基づいて命令の実行を行い、必要に応じてレジスタファイル部16およびデータキャッシュ部17へのデータの読み書きを行う。演算処理部10での処理結果は必要に応じてメモリ管理部18を介して主記憶装置に送られる。また、命令制御部14は、所定の時間に実行した命令数の情報を実行命令数信号S11として温度制御部20に送る。
Each instruction execution unit executes an instruction based on the control of the
命令制御部14は、命令実行の制御を行う際に温度制御部31から送られてくる温度状態信号S31を参照して温度に応じた制御を行う。温度状態信号S31の温度が上限設定温度を超えているときは、命令制御部14は抑制状態として命令の実行を制御する。また、抑制状態で制御しているときに、温度状態信号S31の温度が下限設定温度を下回ったとき、命令制御部14は通常状態の制御に移行する。
The
命令制御部14は、通常状態の制御の際に、温度状態信号S31の温度が下限設定温度未満のときは最大実行可能命令数を目標に命令の実行数を制御し、下限設定温度を超えたときは最小実行命令数を目標として命令の実行数を制御するようにしてもよい。
The
抑制状態の制御方法としては、クロック数の抑制の他、順次命令を実行していき、上限設定温度の命令数に達した段階で以降の命令実行を停止する方法とすることもできる。また、抑制状態の制御方法としては、下限値や上限値の理論最大命令実行数に対する比率を求めて、その比率になるよう数クロックサイクルに1回の頻度でNOP(No Operation)命令を挿入する方法を用いることもできる。 As a control method of the suppression state, in addition to the suppression of the number of clocks, instructions may be sequentially executed, and the instruction execution thereafter may be stopped when the number of instructions of the upper limit set temperature is reached. Further, as a control method of the suppression state, a ratio of the lower limit value or the upper limit value to the theoretical maximum instruction execution number is determined, and NOP (No Operation) instruction is inserted once in several clock cycles so as to become the ratio. Methods can also be used.
本実施形態のプロセッサにおいて最大実行可能命令数および最小実行命令数、すなわち、上限設定温度と下限設定温度に対応する命令の実行数が設定される際の動作をより具体的な例で説明する。本実施形態のプロセッサの温度が稼動開始後に図6のような変化した場合を例に説明する、図6は、横軸を時間、縦軸を温度度してプロセッサの温度変化を示した図である。図6の温度のTLは下限設定温度の値を示している。また、図6の温度のTHは上限設定温度の値を示している。図6の時間のT1、T2、T3、T4、T5およびT6はプロセッサの稼動開始後からの時間を示している。 The operation when the maximum number of executable instructions and the minimum number of executable instructions, that is, the number of execution of instructions corresponding to the upper limit setting temperature and the lower limit setting temperature, is set in the processor of the present embodiment will be described using a more specific example. The case where the temperature of the processor according to this embodiment changes as shown in FIG. 6 after the start of operation will be described by way of example. FIG. 6 is a diagram showing temperature change of the processor with time on the horizontal axis and temperature on the vertical axis. is there. The temperature TL in FIG. 6 indicates the value of the lower limit set temperature. Further, TH of the temperature in FIG. 6 indicates the value of the upper limit set temperature. The times T1, T2, T3, T4, T5 and T6 in FIG. 6 indicate the time since the start of operation of the processor.
図6ではプロセッサの稼働開始後にプロセッサの温度の上昇が始まり、時間T1では下限設定温度TL以下であったプロセッサの温度は、時間T2で下限設定温度TLを超えている。また、図6の例では、プロセッサの温度は、時間T4で上限設定温度THも超えている。その後、動作が抑制されて時間T5以降では下限設定温度TLと上限設定温度THの間でプロセッサの温度が推移している。 In FIG. 6, the processor temperature starts to rise after the start of operation of the processor, and at time T1, the processor temperature which is below the lower limit set temperature TL exceeds the lower limit set temperature TL at time T2. Further, in the example of FIG. 6, the processor temperature also exceeds the upper limit set temperature TH at time T4. Thereafter, the operation is suppressed and the temperature of the processor changes between the lower limit set temperature TL and the upper limit set temperature TH after time T5.
図7は、図6のような温度変化を行った場合の、各信号の状態を模式的に示したものである。図7の横軸は時間を示し、縦軸は信号の状態、すなわち、High状態またはLow状態もしくは信号が有している情報を示している。 FIG. 7 schematically shows the state of each signal when the temperature change as shown in FIG. 6 is performed. The horizontal axis of FIG. 7 indicates time, and the vertical axis indicates the state of the signal, that is, the high state or the low state, or information possessed by the signal.
図7の最上段の「タイマ」は、タイマ部22が温度の測定間隔を計測するために行うクロック数のカウントを示している。タイマ部22は、クロック数を積算して所定の積算数に達するごとに所定の時間が経過したと判断する。
The “timer” at the top of FIG. 7 indicates the count of the number of clocks performed by the
図7の上から2番目の「温度センサ測定要求信号」は、制御部21から温度計測部23に測定要求信号S22として送るストローブ信号を示している。制御部21から温度計測部23への温度情報の要求を示す測定要求信号S22は、クロック数が所定の積算数に達するごとにHigh状態、すなわち、温度情報を要求する状態となる。
The second “temperature sensor measurement request signal” from the top of FIG. 7 indicates a strobe signal sent from the
図7の上から3番目の「温度センサ出力」は、温度計測部23から制御部21に計測温度信号S23として送られる温度計測結果の信号を示している。図7の上から3番目の「温度センサ出力」は、時間T1で最初の測定要求信号S22が入力されてから温度計測結果の出力が開始されている。時間T1では、計測温度信号S23が示す温度は下限設定温度TLよりも低い。時間T2およびT3では、温度は下限設定温度TLよりも高く、上限設定温度THよりも低い。また、時間T4では、温度は上限設定温度THよりも高くなり、時間T5およびT6では、温度は再び、下限設定温度TLよりも高く、上限設定温度THよりも低い状態になっている。
The third “temperature sensor output” from the top of FIG. 7 indicates the signal of the temperature measurement result sent from the
図7の上から4番目の「命令数カウンタ」は、クロック数のカウントの周期ごとに、演算処理部10実行された命令数をカウントしている状態を示している。また、図7の上から5番目の「命令数カウンタ出力」は、カウンタ部24から所定の時間ごとに命令数信号S27として出力される命令数の情報を示している。図7では、時間T1で命令数N1、時間T2で命令数N2、時間T3で命令数N3、時間T4で命令数N4、時間T5で命令数N5、時間T6で命令数N6がそれぞれ出力されている。
The fourth “instruction number counter” from the top of FIG. 7 indicates a state in which the number of instructions executed by the
図7の上から6番目の「温度下限値比較結果」は、制御部21が温度計測部23から受け取った温度情報と下限設定温度を比較した結果を示している。時間T2以降、温度が下限設定温度TLを超えているので、温度下限値比較結果は、High状態となっている。
The sixth lowermost temperature comparison result from the top of FIG. 7 shows the result of comparison between the temperature information received from the
図7の上から7番目の「温度上限値比較結果」は、制御部21が温度計測部23から受け取った温度情報と上限設定温度を比較した結果を示している。時間T4以降、温度が上限設定温度THを超えているので、温度上限値比較結果は、High状態となっている。また、時間T5で再び、温度が上限設定温度THより低くなっているので、温度上限値比較結果は、Low状態に戻っている。
The seventh upper temperature comparison result from the top of FIG. 7 shows the result of comparison of the temperature information received from the
図7の上から8番目の「温度下限値命令数」は、下限値記憶部26に保存されている命令実行数、すなわち、最小実行命令数のデータの状態を示している。起動直後には初期値の情報が保存されている。本実施形態では、初期値は0として設定されている。初期値には、データの保存が行われていないことを示す情報が設定されている。下限値記憶部26には時間T2で命令数N2が入力されるので、時間T2以降はN2の値が保持されている。
The eighth “temperature lower limit value instruction number” from the top of FIG. 7 indicates the state of data of the instruction execution number stored in the lower limit
図7の上から9番目の「温度上限値命令数」は、上限値記憶部25に保存されている命令実行数、すなわち、最大実行可能命令数のデータの状態を示している。起動直後には初期値の情報が保存されている。初期値としては、演算処理部10で所定の時間に理論的に実行可能な最大の命令数が設定されている。理論的に実行可能な最大の命令数は、例えば、1クロックで同時に実行可能な命令数に所定の時間に相当するクロック数を乗じた値として算出することができる。上限値記憶部25には時間T4で命令数N4が入力されるので、時間T4以降はN4の値が保持されている。
The ninth “upper temperature limit value instruction number” from the top of FIG. 7 indicates the state of data of the instruction execution number stored in the upper limit
本実施形態のプロセッサは、稼動開始後、下限設定温度と上限設定温度を超えたときに、所定の時間におけるプロセッサの命令実行数をカウンタ部24で積算し、積算した命令実行数を下限値記憶部26および上限値記憶部25に保存している。演算処理部10は、上限値記憶部25および下限値記憶部26に保存された命令数の範囲に入るように、実行する命令数を制御する。このような制御を行うことで、本実施形態のプロセッサでは、下限設定温度と上限設定温度の範囲で動作するため、温度の上昇によって不具合が生じる可能性を抑制することができる。また、下限値記憶部26に保存された命令数以上となるように制御するので、処理能力の低下を抑制することができる。よって、本実施形態のプロセッサでは、温度上昇の抑制と処理能力の維持を両立することができる。また、本実施形態のプロセッサは、実際の動作における命令実行数を基に、上限値記憶部25および下限値記憶部26に命令数を保存して制御を行っている。そのため、動作環境が変わっても環境に応じた条件を設定することができる。以上より、本実施形態のプロセッサは、動作環境によらずに温度に応じた的確な制御を行うことができる。
The processor according to the present embodiment integrates the number of instruction executions of the processor in a predetermined time by the
(第3の実施形態)
本発明の第3の実施形態について図を参照して詳細に説明する。図8は、本実施形態のプロセッサの構成の概要を示したものである。本実施形態のプロセッサは、演算処理部10と、温度制御部40を備えている。また、演算処理部10には第2の実施形態と同様に主記憶装置が接続されている。本実施形態の演算処理部10は、第2の実施形態の演算処理部と同様の構成を備えている。
Third Embodiment
A third embodiment of the present invention will be described in detail with reference to the drawings. FIG. 8 shows an outline of the configuration of the processor of this embodiment. The processor of the present embodiment includes an
温度制御部40の詳細な構成について説明する。図9は、本実施形態の温度制御部40の構成の概要を示した図である。図9に示す通り、温度制御部40は、制御部41と、タイマ部42と、温度計測部43と、カウンタ部44と、上限値記憶部45と、下限値記憶部46と、上限値比較部47と、下限値比較部48を備えている。
The detailed configuration of the
本実施形態のタイマ部42、温度計測部43、カウンタ部44、上限値記憶部45および下限値記憶部46の構成と機能は、第2の実施形態の同名称の部位と同様である。また、本実施形態の時間経過信号S41、測定要求信号S42、計測温度信号S43および命令数出力信号S46の機能は、第2の実施形態の同名称の信号と同様である。本実施形態の命令数信号S47は第2の実施形態の命令数信号と同様の機能を有する。また、本実施形態においてカウンタ部44から出力された命令数信号S47は、上限値記憶部45および下限値記憶部46に加え、上限値比較部47および下限値比較部48にも入力される。
The configurations and functions of the
本実施形態の温度状態信号S51、上限命令数信号S52および下限命令数信号S53の機能は第2の実施形態の同名称の信号と同様であり、それぞれ温度制御部40から演算処理部10の命令制御部14に入力される。また、本実施形態においても第2の実施形態と同様に命令制御部14が実行した命令数の情報が実行命令数信号S11として命令制御部14から温度制御部40に送られる。また、本実施形態においても第2の実施形態と同様に演算処理部10の温度センサ19が測定した温度データが、温度計測信号S12として温度センサ部19から温度制御部40に送られる。
The functions of the temperature state signal S51, the upper limit instruction number signal S52, and the lower limit instruction number signal S53 in the present embodiment are the same as the signals of the same names in the second embodiment, and It is input to the
上限値記憶部45から出力される上限命令数信号S52は、演算処理部10への出力に加え上限値比較部47にも入力される。下限値記憶部46から出力される下限命令数信号S53は、演算処理部10への出力に加え下限値比較部48にも入力される。
The upper limit instruction number signal S52 output from the upper limit
制御部41は、第2の実施形態の制御部と同様の機能に加え、上限値記憶部45および下限値記憶部46に保存された命令数の情報を補正する機能を有する。制御部41は、上限値比較部47から送られてくる上限値比較信号S48および計測温度信号S43に基づいて、上限値記憶部45に保存されている上限設定温度の命令数を補正する。また、制御部41は、下限値比較部48から送られてくる下限値比較信号S49および計測温度信号S43に基づいて、下限値記憶部46に保存されている下限設定温度の命令数を補正する。制御部41は、命令数の補正の内容を示す上限値保存信号S44および下限値保存信号S45を上限値記憶部45および下限値記憶部46にそれぞれ送ることで命令数の補正を行う。
The control unit 41 has a function of correcting the information of the number of instructions stored in the upper
上限値比較部47は、上限値記憶部45とカウンタ部44に保存されている命令数を比較する機能を有する。上限値比較部47は、上限値記憶部45から送られてくる上限命令数信号S52の命令数と、カウンタ部44から送られてくる命令数信号S47の命令数を比較し、比較結果を上限値比較信号S48として制御部41に送る。
The upper limit
下限値比較部48は、下限値記憶部46とカウンタ部44に保存されている命令数を比較する機能を有する。下限値比較部48は、下限値記憶部46から送られてくる下限命令数信号S53の命令数と、カウンタ部44から送られてくる命令数信号S47の命令数を比較し、比較結果を下限値比較信号S49として制御部41に送る。
The lower limit
本実施形態のプロセッサの動作について説明する。本実施形態のプロセッサにおいて、上限設定温度と下限設定温度に対応した命令数の補正以外の動作は、第2の実施形態と同様である。すなわち、本実施形態のプロセッサは、稼動開始後の下限設定温度および上限設定温度に対応する命令数の設定や命令実行の制御等については、第2の実施形態のプロセッサと同様の動作を行う。そのため、以下では、下限設定温度および上限設定温度に対応する命令数、すなわち、最大実行可能命令数および最小実行命令数が設定された後に、それぞれに対応する命令数の補正が行われる際の動作について図10を参照して説明する。図10は、上限設定温度および下限設定温度に対応する命令数の補正が行われる際のフローの概要を示したものである。 The operation of the processor of this embodiment will be described. In the processor of this embodiment, the operations other than the correction of the number of instructions corresponding to the upper limit set temperature and the lower limit set temperature are the same as those of the second embodiment. That is, the processor of this embodiment performs the same operation as the processor of the second embodiment with respect to setting of the number of instructions corresponding to the lower limit set temperature and the upper limit set temperature after the start of operation and control of instruction execution. Therefore, in the following, after the number of instructions corresponding to the lower limit setting temperature and the upper limit setting temperature, that is, the maximum executable instruction number and the minimum executable instruction number, are set, the operation when the instruction number corresponding to each is corrected Will be described with reference to FIG. FIG. 10 shows an outline of a flow when the correction of the number of instructions corresponding to the upper limit set temperature and the lower limit set temperature is performed.
プロセッサの稼働開始後に、下限設定温度および上限設定温度に対応する命令数がそれぞれ設定される(ステップ121)。上限設定温度の命令数、すなわち、最大実行可能命令数が設定されると、タイマ部42は、クロック数を積算してさらに所定の時間が経過したかを監視する。所定の時間が経過していない場合は(ステップ122でNo)、タイマ部42は、所定の時間に対応するクロック数が積算されるまで、クロック数の積算および積算数の監視を継続する。
After the start of operation of the processor, the number of instructions corresponding to the lower limit set temperature and the upper limit set temperature is set (step 121). When the instruction number of the upper limit setting temperature, that is, the maximum executable instruction number is set, the
上限設定温度の命令数が設定されてから所定の時間が経過すると(ステップ122でYes)、タイマ部42は、時間経過信号S41を制御部41に送る。時間経過信号S41を受け取ると、制御部41は、温度情報を要求する測定要求信号S42を温度計測部43に送って温度の情報を取得する(ステップ123)。測定要求信号S42を受け取ると、温度計測部42は測定要求信号S42を受け取ったときのプロセッサの温度の情報を計測温度信号S43として制御部41に送る。また、このとき温度計測部42は、プロセッサの温度のデータを、温度計測信号S12として演算処理部10の温度センサ19から受け取っている。
When a predetermined time has elapsed since the number of instructions for the upper limit set temperature has been set (Yes in step 122), the
計測温度信号S43を受け取ると、制御部41は、上限値記憶部45の補正の要否を判断する(ステップ124)。制御部41が上限値記憶部45の補正の要否を判断する際のフローは、図11を参照して説明する。図11は、上限値記憶部45の補正の要否を判断する際のフローの概要を示した図である。
When the measured temperature signal S43 is received, the control unit 41 determines whether the correction of the upper
計測温度信号S43を受け取ると、制御部41は、上限値記憶部45の補正の要否の判断を開始する。制御部41は、上限値比較信号S48として上限値比較部47から送られてくるデータを基に上限値記憶部45とカウンタ部44の値を比較する(ステップ131)。
When the measured temperature signal S43 is received, the control unit 41 starts to determine whether the correction of the upper
上限値記憶部45の命令数の方がカウンタ部44の値より大きいとき、すなわちカウンタ部44の値が小さい場合は(ステップ132でYes)、制御部41は計測温度信号S43が示すプロセッサの温度の確認を行う。計測温度信号S43の温度が上限設定温度よりも高いとき(ステップ133でYes)、制御部41は、カウンタ部44の値で上限値記憶部45に保存された命令数のデータを更新する(ステップ134)。
When the number of instructions in the upper
制御部41は、上限値記憶部45にカウンタ部44の値でデータの更新を要求する信号を上限値保存信号S44として上限値記憶部45に送る。データの更新を要求する上限値保存信号S44を受け取ると、上限値記憶部45は、命令数信号S47としてカウンタ部44から入力される命令の実行数の情報をそれまで保存していたデータに代えて保存する。
The control unit 41 sends the upper limit storage unit 45 a signal requesting updating of the data based on the value of the
ステップ134で上限値記憶部45のデータを更新すると、制御部41はステップ124の動作を終えてステップ125へ進む。また、計測温度信号S43の温度が上限設定温度よりも低いとき(ステップ133でNo)、制御部41はステップ124の動作を終えてステップ125へと進む。
After updating the data in upper limit
上限値記憶部45の命令数の方がカウンタ部44の値より小さい場合は(ステップ132でNo)、制御部41は計測温度信号S43が示すプロセッサの温度の確認を行う。計測温度信号S43の温度が上限設定温度よりも低いとき(ステップ135でYes)、制御部41は、上限値記憶部45に保存されているデータを所定の数、増加させる(ステップ136)。所定の数は、あらかじめ制御部41に保存されている。所定の数は、上限値記憶部45の値を増加させて更新した際に、元の値から大きく変動しないように設定される。また、所定の数は、上限値記憶部45とカウンタ部44の命令数の差に応じた変動値として設定されるようにしてもよい。
If the number of instructions in the upper
制御部41は、増加させる所定の数を示す信号を上限値保存信号S44として上限値記憶部45に送る。上限値記憶部45は、受け取った信号を基に保存しているデータを所定の数、増加させることにより更新する。
The control unit 41 sends a signal indicating the predetermined number to be increased to the upper
ステップ136で上限値記憶部45のデータを更新すると、制御部41はステップ124の動作を終えてステップ125へ進む。また、計測温度信号S43の温度が上限設定温度よりも高いとき(ステップ135でNo)、制御部41はステップ124の動作を終えてステップ125へと進む。
After updating the data in upper limit
ステップ124の動作を終えると、制御部41は、下限値記憶部46の補正の要否を判断する(ステップ125)。制御部41が下限値記憶部46の補正の要否を判断する際のフローは、図12を参照して説明する。図12は、下限値記憶部46の補正の要否を判断する際のフローの概要を示した図である。
After the operation of
下限値記憶部46の補正の要否の判断を開始すると、制御部41は、下限値比較信号S49として下限値比較部48から送られてくるデータを基に下限値記憶部46とカウンタ部44の値を比較する(ステップ141)。
When determination of necessity of correction of lower limit
下限値記憶部46の命令数の方がカウンタ部44の値より小さいとき、すなわちカウンタ部44の値が大きい場合は(ステップ142でYes)、制御部41は計測温度信号S43が示すプロセッサの温度の確認を行う。計測温度信号S43の温度が下限設定温度よりも低いとき(ステップ143でYes)、制御部41は、カウンタ部44の値で下限値記憶部46に保存された命令数のデータを更新する(ステップ144)。
When the number of instructions in the lower
制御部41は、下限値記憶部46にカウンタ部44の値でデータの更新を要求する信号を下限値保存信号S45として下限値記憶部46に送る。データの更新を要求する下限値保存信号S45を受け取ると、下限値記憶部46は、命令数信号S47としてカウンタ部44から入力される命令数の情報で保存している命令数のデータを更新する。
The control unit 41 sends a signal requesting updating of data to the lower
ステップ144で下限値記憶部46のデータを更新すると、制御部41は上限値記憶部45および下限値記憶部46の命令数の補正の動作を終了する。また、計測温度信号S43の温度が下限設定温度よりも高いときも(ステップ143でNo)、制御部41は上限値記憶部45および下限値記憶部46の命令数の補正の動作を終了する。
When the data in the lower
下限値記憶部46の命令数の方がカウンタ部44の値より大きい場合は(ステップ142でNo)、制御部41は計測温度信号S43が示すプロセッサの温度の確認を行う。計測温度信号S43の温度が下限設定温度よりも高いとき(ステップ145でYes)、制御部41は、下限値記憶部46に保存されているデータを所定の数、減少させる(ステップ146)。
If the number of instructions in the lower
データを減少させる際の所定の数は、あらかじめ制御部41に保存されている。所定の数は、下限値記憶部46の値を減少させて更新した際に、元の値から大きく変動しないように設定される。また、所定の数は、下限値記憶部46とカウンタ部44の命令数の差に応じた変動値として設定されるようにしてもよい。また、上限値記憶部45の値を増加させる際の所定の数と、下限値記憶部46の値を減少させる際の所定の数は、同じ大きさの値でもよく、異なっていてもよい。
The predetermined number at the time of reducing the data is stored in advance in the control unit 41. The predetermined number is set so as not to largely fluctuate from the original value when the value in the lower
制御部41は、増加させる所定の数を示す信号を下限値保存信号S45として下限値記憶部46に送る。下限値記憶部46は、受け取った信号を基に保存しているデータを所定の数、減少させることにより更新する。
The control unit 41 sends a signal indicating the predetermined number to be increased to the lower
ステップ146で下限値記憶部46のデータを更新すると、制御部41は上限値記憶部45および下限値記憶部46の命令数の補正の動作を終了する。また、計測温度信号S43の温度が下限設定温度よりも低いときも(ステップ145でNo)、上限値記憶部45および下限値記憶部46の制御部41は命令数の補正の動作を終了する。
When the data in the lower
制御部41は、上限値記憶部45および下限値記憶部46の命令数の補正の動作を終了すると、命令実行の制御を継続し、所定の時間の経過後に、再度、命令数の補正の要否の判断を行う。
After finishing the operation of correcting the number of instructions in upper limit
本実施形態のプロセッサの動作についてより具体的な例を基に説明する。図13は、プロセッサ稼働時のプロセッサの温度変化の例を示したグラフである。図13の例では、プロセッサの温度は、時間t1で下限設定温度TLを超え、時間t2で上限設定温度THを超えている。すなわち、図13の例では、時間t1で下限設定温度に対応する命令実行数が設定され、時間t2で上限設定温度に対応する命令実行数が設定される。時間t2で上限設定温度に対応する命令実行数を設定する動作が時間t2での動作がステップ121に相当し、時間t2以降で、本実施形態で説明したステップ122以降の動作が行われる。
The operation of the processor of this embodiment will be described based on a more specific example. FIG. 13 is a graph showing an example of processor temperature change during processor operation. In the example of FIG. 13, the processor temperature exceeds the lower limit set temperature TL at time t1 and exceeds the upper limit set temperature TH at time t2. That is, in the example of FIG. 13, the instruction execution number corresponding to the lower limit set temperature is set at time t1, and the instruction execution number corresponding to the upper limit set temperature is set at time t2. The operation of setting the instruction execution number corresponding to the upper limit set temperature at time t2 corresponds to step 121. The operation of
図13の時間t3で温度の計測が行われたとすると、温度は下限設定温度TLよりも低い状態である。このときカウンタ部44に保存されている命令数の値が、下限値記憶部46に保存されている値よりも大きい場合には、カウンタ部44の値で下限値記憶部46のデータが更新される。
If temperature measurement is performed at time t3 in FIG. 13, the temperature is lower than the lower limit set temperature TL. At this time, when the value of the number of instructions stored in the
また、図14は、図13とは異なるプロセッサの温度変化の例を示したグラフである。図14の例でも、図13の例と同様に時間t2でステップ121に相当する上限設定温度に対応する命令実行数を設定する動作が行われ、時間t2以降で、本実施形態で説明したステップ122以降の動作が行われる。 FIG. 14 is a graph showing an example of temperature change of a processor different from that of FIG. In the example of FIG. 14 as well as the example of FIG. 13, the operation to set the instruction execution number corresponding to the upper limit set temperature corresponding to step 121 is performed at time t2, and the step described in this embodiment is performed after time t2. The operation after 122 is performed.
図14の時間t3で温度の計測が行われたとすると、温度は上限設定温度THよりも高い状態である。このときカウンタ部44に保存されている命令数の値が、上限値記憶部45に保存されている値未満の場合には、カウンタ部44の値で上限値記憶部45のデータが更新される。
Assuming that the temperature is measured at time t3 in FIG. 14, the temperature is higher than the upper limit set temperature TH. At this time, when the value of the number of instructions stored in the
本実施形態のプロセッサは、第2の実施形態と同様の効果を得ることができる。また、本実施形態のプロセッサは、所定の時間ごとにカウントされた命令実行数と、上限値記憶部45に保存されている命令数を比較し、比較結果とプロセッサの温度を基に上限値記憶部45の値を更新している。また、同様にまた、本実施形態のプロセッサは、所定の時間ごとにカウントされた命令実行数と、下限値記憶部46に保存されている命令数を比較し、比較結果とプロセッサの温度を基に下限値記憶部46の値を更新している。すなわち、本実施形態のプロセッサでは動作を継続している間にも、上限値記憶部45および下限値記憶部46に保存されている命令実行数を更新している。そのため、本実施形態のプロセッサでは、稼働を行っているうちに環境等が変化した場合でも、変化に応じた条件で的確に命令実行数を制御することができる。その結果、本実施形態のプロセッサは、動作環境によらずに温度に応じた制御をより的確に行うことができる。
The processor of this embodiment can obtain the same effect as that of the second embodiment. Further, the processor according to the present embodiment compares the number of instruction executions counted at predetermined time intervals with the number of instructions stored in upper limit
本実施形態の第2および第3のプロセッサでは、スロットリング等の抑制状態の開始温度および解除温度と、命令制御部が実行数の制御を行う際の目標温度を一致させていたが、いずれか一方または両方の温度が異なっていてもよい。また、温度設定を複数段階にしてそれぞれに命令数の設定し、より多段階で命令実行の制御を行ってもよい。 In the second and third processors of this embodiment, the start temperature and the release temperature of the suppression state such as throttling and the target temperature when the instruction control unit controls the number of executions are made to coincide with each other. One or both temperatures may be different. Further, the temperature setting may be performed in a plurality of stages, the number of instructions may be set for each, and the instruction execution may be controlled in more stages.
第2および第3の実施形態のプロセッサでは、それぞれ1つの温度制御部を備えていた。すなわち、演算処理部の全ての命令実行ユニットに対して、1つの温度制御部を備えていた。そのような構成に代えて、温度制御部が複数、備えられている構成としてもよい。例えば、第2および第3の実施形態のように、ロード/ストア部、整数演算部、浮動小数点演算部および分岐部の4つのユニットで構成されているとき、プロセッサが温度制御部を4つ備える構成としてもよい。各命令実行ユニットの温度を計測して、命令実行数を制御することにより、より精度の高い命令実行数の制御が可能となる。命令実行ユニットは、各ユニットの特性や処理内容に応じて動作状態が異なるからである。命令実行数の制御の精度を上げることで、処理能力と、消費電力および温度のバランスをより良く保つことができるようになる。 The processors of the second and third embodiments each have one temperature control unit. That is, one temperature control unit is provided for all instruction execution units of the arithmetic processing unit. Instead of such a configuration, a plurality of temperature control units may be provided. For example, as in the second and third embodiments, the processor includes four temperature control units when it is configured by four units of a load / store unit, an integer operation unit, a floating point operation unit, and a branch unit. It is good also as composition. By measuring the temperature of each instruction execution unit and controlling the number of instruction executions, it is possible to control the number of instruction executions with higher accuracy. This is because the instruction execution unit has different operation states according to the characteristics and processing contents of each unit. By improving the accuracy of control of the number of instruction executions, it is possible to better balance the processing power with the power consumption and the temperature.
また、命令実行ユニットごとに温度制御を行う構成とした場合に、制御部は共通していてもよい。すなわち、温度の測定およびデータ保存機能のみ各実行ユニットに対応する数を備える構成としてもよい。また、温度制御部は、命令実行ユニットごとではなく、複数の命令実行ユニットまたはその他のユニットに1つ備え、全体で複数、備えられているようにしてもよい。そのような構成とする場合には、命令の実行種別が似ていて動作特性の近い命令実行ユニットと組み合わせて、温度制御部を備える構成とすることが望ましい。 In addition, when temperature control is performed for each instruction execution unit, the control unit may be common. That is, only the temperature measurement and data storage functions may be provided with the number corresponding to each execution unit. Further, one temperature control unit may be provided not in each instruction execution unit but in a plurality of instruction execution units or other units, and a plurality of temperature control units may be provided in total. In such a configuration, it is desirable that the temperature control unit be provided in combination with an instruction execution unit having similar operation characteristics and similar operation characteristics.
例えば、命令の実行種別を演算命令、ロード/ストア命令、その他の命令の3つの種別に分類したとする。そのような場合に、温度センサを整数演算部および浮動小数点演算部の近傍、ロード/ストア部およびデータキャッシュ部の近傍ならびに命令フェッチ部および命令デコード部の近傍などに1つずつ備える構成とする。命令種別毎の一定時間内の実行命令数が各温度センサにおける温度測定結果により大きな影響として現れるようにすることでより的確な温度制御を行うことができる。 For example, it is assumed that the execution types of instructions are classified into three types: operation instructions, load / store instructions, and other instructions. In such a case, one temperature sensor is provided in the vicinity of the integer arithmetic unit and the floating point arithmetic unit, the vicinity of the load / store unit and the data cache unit, and the vicinity of the instruction fetch unit and the instruction decode unit. More accurate temperature control can be performed by causing the number of execution instructions within a fixed time for each instruction type to appear as a greater influence by the temperature measurement result of each temperature sensor.
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。 Some or all of the above embodiments may be described as in the following appendices, but is not limited to the following.
[付記1]
所定の時間内に実行された命令数を実行命令数としてカウントするカウント手段と、
命令を実行する所定のユニット付近の温度を計測する温度計測手段と、
あらかじめ設定された第1の温度を前記所定のユニット付近の前記温度が超えたときの前記実行命令数を第1の命令数として記憶する第1の記憶手段と、
あらかじめ設定され、前記第1の温度よりも高い第2の温度を前記所定のユニット付近の前記温度が超えたときの前記実行命令数を第2の命令数として記憶する第2の記憶手段と、
前記所定の時間に実行する命令の数が前記第2の命令数より小さく、前記第1の命令数より大きくなるように命令の実行を制御する制御手段と
を備えることを特徴とするプロセッサ。
[Supplementary Note 1]
Counting means for counting the number of instructions executed within a predetermined time as the number of execution instructions;
Temperature measurement means for measuring the temperature in the vicinity of a predetermined unit for executing an instruction;
First storage means for storing, as a first instruction number, the number of execution instructions when the temperature in the vicinity of the predetermined unit exceeds a first temperature set in advance;
A second storage unit configured to store, as a second instruction number, the number of execution instructions when the temperature near the predetermined unit exceeds a second temperature which is set in advance and is higher than the first temperature;
A control unit configured to control instruction execution such that the number of instructions to be executed at the predetermined time is smaller than the second instruction number and larger than the first instruction number.
[付記2]
前記制御手段は、前記第2の命令数の設定後に、前記所定のユニット付近の前記温度が前記第2の温度を超えたときに、所定の抑制状態となるように命令の実行を制御することを特徴とする付記1に記載のプロセッサ。
[Supplementary Note 2]
The control means controls the execution of an instruction to be in a predetermined suppression state when the temperature near the predetermined unit exceeds the second temperature after setting the second number of instructions. The processor according to appendix 1, characterized in that:
[付記3]
前記制御手段は、前記所定の抑制状態のときに、前記所定のユニット付近の前記温度が前記第1の温度未満となった場合に、前記所定の抑制状態を解除することを特徴とする付記2に記載のプロセッサ。
[Supplementary Note 3]
The control unit cancels the predetermined suppression state when the temperature in the vicinity of the predetermined unit becomes lower than the first temperature in the predetermined suppression state. Processor described in.
[付記4]
前記第2の記憶手段に記憶された前記第2の命令数と、前記カウント手段がカウントした前記実行命令数とを比較する比較手段をさらに備え、
前記制御部は、前記所定のユニット付近の前記温度が、前記第2の温度を超えているときに、前記実行命令数の値よりも前記第2の命令数の値が大きい場合に、前記第2の命令数の値を前記実行命令数の値となるように更新することを特徴とする付記1から3いずれかに記載のプロセッサ。
[Supplementary Note 4]
The information processing apparatus further comprises comparison means for comparing the number of second instructions stored in the second storage means with the number of execution instructions counted by the counting means.
The control unit is configured to, when the value of the second instruction number is larger than the value of the execution instruction number when the temperature in the vicinity of the predetermined unit exceeds the second temperature, The processor according to any one of appendices 1 to 3, wherein the value of the number of instructions of 2 is updated to the value of the number of execution instructions.
[付記5]
前記制御部は、前記所定のユニット付近の前記温度が、前記第2の温度を下回っているときに、前記実行命令数の値よりも前記第2の命令数の値が小さい場合に、前記第2の命令数の値を第2の所定の値、増加させることを特徴とする付記4に記載のプロセッサ。
[Supplementary Note 5]
When the temperature near the predetermined unit is lower than the second temperature, the control unit may set the second instruction number to a value smaller than the execution instruction number. The processor according to statement 4, wherein the value of the number of instructions of 2 is increased by a second predetermined value.
[付記6]
前記比較手段は、前記第1の記憶手段に記憶された前記第1の命令数と、前記カウント手段がカウントした前記実行命令数とを比較する手段をさらに備え、
前記制御部は、前記所定のユニット付近の前記温度が、前記第1の温度未満となったときに、前記実行命令数の値よりも前記第1の命令数の値が小さい場合に、前記第1の命令数の値を前記実行命令数の値となるように更新することを特徴とする付記4または5いずれかに記載のプロセッサ。
[Supplementary Note 6]
The comparison means further comprises means for comparing the number of first instructions stored in the first storage means with the number of execution instructions counted by the counting means.
The control unit is configured to, when the value of the first number of instructions is smaller than the value of the number of execution instructions when the temperature in the vicinity of the predetermined unit becomes lower than the first temperature, The processor according to any one of
[付記7]
前記制御部は、前記所定のユニット付近の前記温度が、前記第1の温度を超えたときに、前記実行命令数の値よりも前記第1の命令数の値が大きい場合に、前記第1の命令数の値を第1の所定の値、減少させることを特徴とする付記6に記載のプロセッサ。
[Supplementary Note 7]
When the temperature near the predetermined unit exceeds the first temperature, the control unit causes the first instruction number to be larger than the execution instruction number. The processor according to statement 6, wherein the value of the instruction number of is decreased by a first predetermined value.
[付記8]
前記所定の抑制状態は、通常状態よりもクロック数を減少させる状態であることを特徴とする付記2から7いずれかに記載のプロセッサ。
[Supplementary Note 8]
The processor according to any one of
[付記9]
前記温度計測手段は、前記所定のユニット付近の温度として複数の箇所で温度を計測する手段を備え、前記第1の命令数および前記第2の命令数が温度を計測する箇所に応じて設定されていることを特徴とする付記1から8いずれかに記載のプロセッサ。
[Supplementary Note 9]
The temperature measuring means includes means for measuring the temperature at a plurality of locations as the temperature near the predetermined unit, and the first number of instructions and the second number of instructions are set according to the location where the temperature is to be measured. The processor according to any one of appendices 1 to 8, characterized in that:
[付記10]
所定の時間内に実行された命令数を実行命令数としてカウントし、
命令を実行する所定のユニット付近の温度を計測し、
あらかじめ設定された第1の温度を前記所定のユニット付近の前記温度が超えたときの前記実行命令数を第1の命令数として記憶し、
あらかじめ設定され、前記第1の温度よりも高い第2の温度を前記所定のユニット付近の前記温度が超えたときの前記実行命令数を第2の命令数として記憶し、
前記所定の時間に実行する命令の数が前記第2の命令数より小さく、前記第1の命令数より大きくなるように命令の実行を制御することを特徴とするプロセッサの制御方法。
[Supplementary Note 10]
Counts the number of instructions executed within a predetermined time as the number of execution instructions,
Measure the temperature near the predetermined unit that executes the instruction,
Storing, as a first instruction number, the number of execution instructions when the temperature in the vicinity of the predetermined unit exceeds a first temperature set in advance;
Storing, as a second instruction number, the number of execution instructions when the temperature near the predetermined unit exceeds a second temperature set in advance and higher than the first temperature;
And controlling execution of instructions such that the number of instructions to be executed at the predetermined time is smaller than the second instruction number and larger than the first instruction number.
[付記11]
前記第2の命令数の設定後に、前記所定のユニット付近の前記温度が前記第2の温度を超えたときに、所定の抑制状態となるように命令の実行を制御することを特徴とする付記10に記載のプロセッサの制御方法。
[Supplementary Note 11]
It controls the execution of an instruction so as to be in a predetermined suppression state when the temperature near the predetermined unit exceeds the second temperature after setting the second instruction number. 10. The processor control method according to 10.
[付記12]
前記所定の抑制状態のときに、前記所定のユニット付近の前記温度が前記第1の温度未満となった場合に、前記所定の抑制状態を解除することを特徴とする付記11に記載のプロセッサの制御方法。
[Supplementary Note 12]
The processor according to
[付記13]
記憶された前記第2の命令数と、カウントした前記実行命令数とを比較し、
前記所定のユニット付近の前記温度が、前記第2の温度を超えているときに、前記実行命令数の値よりも前記第2の命令数の値が大きい場合に、前記第2の命令数の値を前記実行命令数の値となるように更新することを特徴とする付記10から12いずれかに記載のプロセッサの制御方法。
[Supplementary Note 13]
Comparing the number of stored second instructions with the number of execution instructions counted;
When the value of the second instruction number is larger than the value of the execution instruction number when the temperature near the predetermined unit exceeds the second temperature, the second instruction number The processor control method according to any one of
[付記14]
前記所定のユニット付近の前記温度が、前記第2の温度を下回っているときに、前記実行命令数の値よりも前記第2の命令数の値が小さい場合に、前記第2の命令数の値を第2の所定の値、増加させることを特徴とする付記13に記載のプロセッサの制御方法。
[Supplementary Note 14]
When the value of the second instruction number is smaller than the value of the execution instruction number when the temperature near the predetermined unit is lower than the second temperature, the second instruction number The method of controlling a processor according to
[付記15]
記憶された前記第1の命令数と、前記実行命令数とを比較し、
前記所定のユニット付近の前記温度が、前記第1の温度未満となったときに、前記実行命令数の値よりも前記第1の命令数の値が小さい場合に、前記第1の命令数の値を前記実行命令数の値となるように更新することを特徴とする付記13または14いずれかに記載のプロセッサの制御方法。
[Supplementary Note 15]
Comparing the first number of instructions stored with the number of execution instructions;
When the value of the first instruction number is smaller than the value of the execution instruction number when the temperature near the predetermined unit becomes lower than the first temperature, the first instruction number The control method of a processor according to any one of
[付記16]
前記所定のユニット付近の前記温度が、前記第1の温度を超えたときに、前記実行命令数の値よりも前記第1の命令数の値が大きい場合に、前記第1の命令数の値を第1の所定の値、減少させることを特徴とする付記15に記載のプロセッサの制御方法。
[Supplementary Note 16]
When the temperature in the vicinity of the predetermined unit exceeds the first temperature, the value of the first instruction number is larger than the value of the number of execution instructions. The control method of the processor according to claim 15, characterized in that the first value is decreased by a first predetermined value.
[付記17]
前記所定の抑制状態は、通常状態よりもクロック数を減少させる状態であることを特徴とする付記11から16いずれかに記載のプロセッサの制御方法。
[Supplementary Note 17]
The processor control method according to any one of
[付記18]
前記所定のユニット付近の温度として複数の箇所で温度を計測し、
前記第1の命令数および前記第2の命令数を温度を計測する箇所に応じて設定することを特徴とする付記10から17いずれかに記載のプロセッサの制御方法。
[Supplementary Note 18]
Measuring the temperature at a plurality of locations as the temperature near the predetermined unit;
The processor control method according to any one of
1 カウント手段
2 温度計測手段
3 第1の記憶手段
4 第2の記憶手段
5 制御手段
10 演算処理部
11 命令キャッシュ部
12 命令フェッチ部
13 命令デコード部
14 命令制御部
15−1 ロード/ストア部
15−2 整数演算部
15−3 浮動小数点演算部
15−4 分岐部
16 レジスタファイル部
17 データキャッシュ部
18 メモリ管理部
19 温度センサ部
20 温度制御部
21 制御部
22 タイマ部
23 温度計測部
24 カウンタ部
25 上限値記憶部
26 下限値記憶部
40 温度制御部
41 制御部
42 タイマ部
43 温度計測部
44 カウンタ部
45 上限値記憶部
46 下限値記憶部
47 上限値比較部
48 下限値比較部
S11 実行命令数信号
S12 温度計測信号
S21 時間経過信号
S22 測定要求信号
S23 計測温度信号
S24 上限値保存信号
S25 下限値保存信号
S26 命令数出力信号
S27 命令数信号
S31 温度状態信号
S32 上限命令数信号
S33 下限命令数信号
S41 時間経過信号
S42 測定要求信号
S43 計測温度信号
S44 上限値保存信号
S45 下限値保存信号
S46 命令数出力信号
S47 命令数信号
S48 上限値比較信号
S49 下限値比較信号
S51 温度状態信号
S52 上限命令数信号
S53 下限命令数信号
DESCRIPTION OF SYMBOLS 1 count means 2 temperature measurement means 3 first storage means 4 second storage means 5 control means 10 arithmetic processing part 11 instruction cache part 12 instruction fetch part 13 instruction decode part 14 instruction control part 15-1 load / store part 15 2-2 integer operation unit 15-3 floating point operation unit 15-4 branch unit 16 register file unit 17 data cache unit 18 memory management unit 19 temperature sensor unit 20 temperature control unit 21 control unit 22 timer unit 23 temperature measurement unit 24 counter unit 25 upper limit value storage unit 26 lower limit value storage unit 40 temperature control unit 41 control unit 42 timer unit 43 temperature measurement unit 44 counter unit 45 upper limit value storage unit 46 lower limit value storage unit 47 upper limit value comparison unit 48 lower limit value comparison unit S11 execution instruction Number signal S12 Temperature measurement signal S21 Time lapse signal S22 Measurement request signal S23 Temperature measurement signal S24 Upper limit value storage signal S25 Lower limit value storage signal S26 Instruction number output signal S27 Instruction number signal S31 Temperature state signal S32 Upper limit instruction number signal S33 Lower limit instruction number signal S41 Time lapse signal S42 Measurement request signal S43 Measurement temperature signal S44 Upper limit Value storage signal S45 Lower limit value storage signal S46 Instruction number output signal S47 Instruction number signal S48 Upper limit value comparison signal S49 Lower limit value comparison signal S51 Temperature status signal S52 Upper limit instruction number signal S53 Lower limit instruction number signal
Claims (10)
命令を実行する所定のユニット付近の温度を計測する温度計測手段と、
あらかじめ設定された第1の温度を前記所定のユニット付近の温度が超えたときの前記実行命令数を第1の命令数として記憶する第1の記憶手段と、
あらかじめ設定され、前記第1の温度よりも高い第2の温度を前記所定のユニット付近の前記温度が超えたときの前記実行命令数を第2の命令数として記憶する第2の記憶手段と、
前記所定の時間に実行する命令の数が前記第2の命令数より小さく、前記第1の命令数より大きくなるように命令の実行を制御する制御手段と
を備えることを特徴とするプロセッサ。 Counting means for counting the number of instructions executed within a predetermined time as the number of execution instructions;
Temperature measurement means for measuring the temperature in the vicinity of a predetermined unit for executing an instruction;
First storage means for storing, as a first instruction number, the number of execution instructions when the temperature near the predetermined unit exceeds a first temperature set in advance;
A second storage unit configured to store, as a second instruction number, the number of execution instructions when the temperature near the predetermined unit exceeds a second temperature which is set in advance and is higher than the first temperature;
A control unit configured to control instruction execution such that the number of instructions to be executed at the predetermined time is smaller than the second instruction number and larger than the first instruction number.
前記制御手段は、前記所定のユニット付近の前記温度が、前記第2の温度を超えているときに、前記実行命令数の値よりも前記第2の命令数の値が大きい場合に、前記第2の命令数の値を前記実行命令数の値となるように更新することを特徴とする請求項1に記載のプロセッサ。 The information processing apparatus further comprises comparison means for comparing the number of second instructions stored in the second storage means with the number of execution instructions counted by the counting means.
The control means is configured to, when the value of the second instruction number is larger than the value of the execution instruction number when the temperature near the predetermined unit exceeds the second temperature, 2. The processor according to claim 1, wherein the value of 2 instruction numbers is updated to be the value of the number of execution instructions.
前記制御手段は、前記所定のユニット付近の前記温度が、前記第1の温度未満となったときに、前記実行命令数の値よりも前記第1の命令数の値が小さい場合に、前記第1の命令数の値を前記実行命令数の値となるように更新することを特徴とする請求項2または3いずれかに記載のプロセッサ。 The comparison means further comprises means for comparing the number of first instructions stored in the first storage means with the number of execution instructions counted by the counting means.
When the temperature near the predetermined unit becomes lower than the first temperature, the control means may set the first instruction number to a value smaller than the execution instruction number. 4. The processor according to claim 2, wherein a value of one instruction number is updated to be a value of the execution instruction number.
命令を実行する所定のユニット付近の温度を計測し、
あらかじめ設定された第1の温度を前記所定のユニット付近の前記温度が超えたときの前記実行命令数を第1の命令数として記憶し、
あらかじめ設定され、前記第1の温度よりも高い第2の温度を前記所定のユニット付近の前記温度が超えたときの前記実行命令数を第2の命令数として記憶し、
前記所定の時間に実行する命令の数が前記第2の命令数より小さく、前記第1の命令数より大きくなるように命令の実行を制御することを特徴とするプロセッサの制御方法。 Counts the number of instructions executed within a predetermined time as the number of execution instructions,
Measure the temperature near the predetermined unit that executes the instruction,
Storing, as a first instruction number, the number of execution instructions when the temperature in the vicinity of the predetermined unit exceeds a first temperature set in advance;
Storing, as a second instruction number, the number of execution instructions when the temperature near the predetermined unit exceeds a second temperature set in advance and higher than the first temperature;
And controlling execution of instructions such that the number of instructions to be executed at the predetermined time is smaller than the second instruction number and larger than the first instruction number.
前記所定のユニット付近の前記温度が、前記第2の温度を超えているときに、前記実行命令数の値よりも前記第2の命令数の値が大きい場合に、前記第2の命令数の値を前記実行命令数の値となるように更新することを特徴とする請求項7に記載のプロセッサの制御方法。 Comparing the number of stored second instructions with the number of execution instructions counted;
When the value of the second instruction number is larger than the value of the execution instruction number when the temperature near the predetermined unit exceeds the second temperature, the second instruction number The method according to claim 7, wherein the value is updated to be the value of the number of execution instructions.
前記所定のユニット付近の前記温度が、前記第1の温度未満となったときに、前記実行命令数の値よりも前記第1の命令数の値が小さい場合に、前記第1の命令数の値を前記実行命令数の値となるように更新することを特徴とする請求項7または8いずれかに記載のプロセッサの制御方法。 Comparing the first number of instructions stored with the number of execution instructions;
When the value of the first instruction number is smaller than the value of the execution instruction number when the temperature near the predetermined unit becomes lower than the first temperature, the first instruction number 9. The processor control method according to claim 7, wherein a value is updated to be the value of the number of execution instructions.
前記第1の命令数および前記第2の命令数を温度を計測する箇所に応じて設定することを特徴とする請求項7から9いずれかに記載のプロセッサの制御方法。 Measuring the temperature at a plurality of locations as the temperature near the predetermined unit;
The processor control method according to any one of claims 7 to 9, wherein the first number of instructions and the second number of instructions are set in accordance with a position where temperature is to be measured.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015043041A JP6477032B2 (en) | 2015-03-05 | 2015-03-05 | Processor and control method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015043041A JP6477032B2 (en) | 2015-03-05 | 2015-03-05 | Processor and control method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016162378A JP2016162378A (en) | 2016-09-05 |
JP6477032B2 true JP6477032B2 (en) | 2019-03-06 |
Family
ID=56845164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015043041A Active JP6477032B2 (en) | 2015-03-05 | 2015-03-05 | Processor and control method thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6477032B2 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000187523A (en) * | 1998-12-21 | 2000-07-04 | Funai Electric Co Ltd | Variable clock circuit |
US6397343B1 (en) * | 1999-03-19 | 2002-05-28 | Microsoft Corporation | Method and system for dynamic clock frequency adjustment for a graphics subsystem in a computer |
US20040025061A1 (en) * | 2001-10-25 | 2004-02-05 | Lawrence Richard H. | Method and system for power reduction |
JP3742364B2 (en) * | 2002-06-28 | 2006-02-01 | 株式会社東芝 | Clock frequency control method and electronic device |
JP2011138217A (en) * | 2009-12-25 | 2011-07-14 | Aisin Aw Co Ltd | Processor, processing method, and processing program |
-
2015
- 2015-03-05 JP JP2015043041A patent/JP6477032B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016162378A (en) | 2016-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4198644B2 (en) | Semiconductor integrated circuit | |
KR101526051B1 (en) | Thermal control apparatus and methodology | |
US9176569B2 (en) | Apparatus and method for dynamically adjusting frequency of central processing unit | |
US8261112B2 (en) | Optimizing power consumption by tracking how program runtime performance metrics respond to changes in operating frequency | |
US7840823B2 (en) | Processor system for varying clock frequency and voltage in response to a comparison of instruction execution rate to a reference value | |
KR101467135B1 (en) | Apparatus, method, and system for improved power delivery performance with a dynamic voltage pulse scheme | |
TWI528168B (en) | Microprocessor, method of operating microprocessor and computer program product | |
TWI403953B (en) | System for speculative branch prediction optimization and method thereof | |
WO2013169249A1 (en) | Scheduling tasks among processor cores | |
JP2008026948A (en) | Semiconductor integrated circuit | |
US9117511B2 (en) | Control circuits for asynchronous circuits | |
JP6477032B2 (en) | Processor and control method thereof | |
JP5875943B2 (en) | Core monitoring system, method, and program | |
JP2012047705A (en) | Time correction device and control method | |
USRE48100E1 (en) | Method and system for power management | |
US10037065B2 (en) | Multi-core processor, information processing method, and program | |
US9817743B2 (en) | Maintenance apparatus of electronic device, maintenance method of electronic device, and non-transitory computer readable medium storing program | |
US9465614B2 (en) | Parallel execution of instructions in processing units and adjusting power mode based on monitored data dependency over a period of time | |
US10067483B1 (en) | Controlling electrical device based on temperature and voltage | |
WO2018180664A1 (en) | Vehicle control device | |
JP2011013914A (en) | Power-saving controller and power-saving control method | |
JP6819874B2 (en) | Memory access device, memory access control method, program, multi-core processor | |
JP2016206899A (en) | Information processing system, measurement method, and program therefor | |
JP2014089622A (en) | System management mode processing time optimization device, system management mode processing time optimization system, system management mode processing time optimization method and system management mode processing time optimization program | |
JP2014134958A (en) | Processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180215 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181024 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181106 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181207 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190121 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6477032 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |