JP2010277300A - Power saving control device for multiprocessor system, and mobile terminal - Google Patents
Power saving control device for multiprocessor system, and mobile terminal Download PDFInfo
- Publication number
- JP2010277300A JP2010277300A JP2009128667A JP2009128667A JP2010277300A JP 2010277300 A JP2010277300 A JP 2010277300A JP 2009128667 A JP2009128667 A JP 2009128667A JP 2009128667 A JP2009128667 A JP 2009128667A JP 2010277300 A JP2010277300 A JP 2010277300A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- performance
- task
- multiprocessor system
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Power Sources (AREA)
Abstract
Description
本発明は、複数のタスクを分散処理する複数のプロセッサを備えるとともに、性能保証タスクと性能非保証タスクとが混在するマルチプロセッサシステムにおける省電力制御装置にかかわり、特には、リアルタイム性を保証しながら消費電力を効果的に削減するための技術に関する。また、上記と同様の機能を有するデジタルスチルカメラなどのモバイル端末に関する。リアルタイム性とは、所定時間内に所定のタスクを完了する能力のことである。本発明の技術は、特にマルチプロセッサ方式を採用している情報処理装置に好適に適用される。 The present invention relates to a power-saving control apparatus in a multiprocessor system including a plurality of processors that perform distributed processing of a plurality of tasks, and in which a performance guarantee task and a performance non-guarantement task coexist. The present invention relates to a technique for effectively reducing power consumption. The present invention also relates to a mobile terminal such as a digital still camera having the same function as described above. Real-time property refers to the ability to complete a predetermined task within a predetermined time. The technique of the present invention is preferably applied particularly to an information processing apparatus adopting a multiprocessor system.
マルチプロセッサシステムは、複数のプロセッサから構成されるため、単一のプロセッサで構成されるシングルプロセッサシステムに比べて消費電力が大きい。マルチプロセッサシステムは、複数のプロセッサによって分散処理を行うのでシステム全体の処理効率は高いものの、低負荷状態ではすべてのプロセッサを用いて分散処理を行う必要はない。低負荷状態ですべてのプロセッサを動作させることは、システムとして必要以上の電力を消費することとなる。そのため、従来より、低負荷状態のときに消費電力の低減を図る技術が提案されている。 Since a multiprocessor system is composed of a plurality of processors, it consumes more power than a single processor system composed of a single processor. In a multiprocessor system, distributed processing is performed by a plurality of processors, so that the processing efficiency of the entire system is high, but it is not necessary to perform distributed processing using all the processors in a low load state. Operating all processors in a low load state consumes more power than necessary for the system. Therefore, conventionally, a technique for reducing power consumption in a low load state has been proposed.
例えば、特許文献1に記載された省電力制御システムは、2以上のプロセッサ(CPU)を備えるマルチプロセッサシステムにおいて、システムの動作状態を常に検知する状態監視手段と、前記状態監視手段に検知されるシステムの動作状態が所定の境界条件(しきい値)を超えて変化したとき、指定されたプロセッサについて状態遷移制御を行う状態制御手段とで構成されている。ここで状態遷移制御とは、プロセッサの動作状態を通常動作状態から動作待機状態に遷移させる省電力制御と、プロセッサの動作状態を動作待機状態から通常動作状態に遷移させる復帰制御との相互切り替えを行うことである。またシステムの動作状態とは、プロセッサの動作状態に関しての通常動作状態と動作待機状態とである。あるいは、キーボードからの入力待ち状態と低負荷状態とである。同文献では、状態監視手段に相当するものとしてシステム状態監視部が記載され、状態制御手段に相当するものとしてシステム状態制御部が記載されている。また、システムの動作状態が所定の境界条件を超えるとは、システムの構成要素間でやり取りされる信号を中継するバスの現時点における負荷状態を表す値が所定のしきい値を超えるということである。あるいは、システム全体におけるアプリケーション実行の現時点における負荷状態を表す値が所定のしきい値を超えるということである。あるいは、アプリケーションの機能を実現させるタスクを各々のプロセッサに分配するためのスケジューリング状態を表す値が所定のしきい値を超えるということである。
For example, in the power saving control system described in
この従来技術においては、システムの動作状態すなわち時間的に変化する要素値(バス負荷状態、アプリケーション実行負荷状態、スケジューリング状態)が所定のしきい値を超えるか否かを常時的に監視し、時間的に変化する要素値がしきい値を下回るに至ったときは、プロセッサの動作状態を通常動作状態から動作待機状態に遷移させる。また、時間的に変化する要素値がしきい値を上回るに至ったときは、プロセッサの動作状態を動作待機状態から通常動作状態に遷移させる。具体的には、個々のプロセッサの動作状態を監視し、キー入力待ちなどのために特定のプロセッサに対する負荷が少ない状態が続くと、当該のプロセッサへ供給するクロックを低い周波数に切り替えることにより最適な消費電力での運用を維持する。 In this prior art, the operating state of the system, that is, the time-varying element value (bus load state, application execution load state, scheduling state) is constantly monitored to determine whether or not a predetermined threshold value is exceeded. When the element value that changes automatically falls below the threshold value, the operation state of the processor is changed from the normal operation state to the operation standby state. Further, when the element value that changes with time exceeds a threshold value, the operation state of the processor is changed from the operation standby state to the normal operation state. Specifically, the operating state of each processor is monitored, and if the load on a specific processor continues to be low due to waiting for key input, etc., the optimum clock can be obtained by switching the clock supplied to the processor to a low frequency. Maintain operation with power consumption.
この従来技術の特徴は、
(a)バス負荷状態、アプリケーション実行負荷状態、スケジューリング状態などの「システムにおいて時間的に変化する要素値」を判断基準にしているということと、
(b)制御対象であるプロセッサの動作状態の制御(通常動作状態から動作待機状態に遷移させる省電力制御と動作待機状態から通常動作状態に遷移させる復帰制御との切り替え)も時間経過に伴って遷移する、
ということである。つまり、監視対象も制御対象もともに時間的変化を伴うということが重点になっている。
The feature of this prior art is that
(A) It is based on “element values that change with time in the system” such as a bus load state, an application execution load state, and a scheduling state, and
(B) Control of the operating state of the processor to be controlled (switching between power saving control for switching from the normal operating state to the standby state for operation and return control for switching from the standby state to the normal operating state) is also performed over time. Transition,
That's what it means. In other words, it is important that both the monitoring target and the control target are accompanied by temporal changes.
上記の特許文献1の省電力制御システムにおいては、システムの動作状態であるバス負荷状態、アプリケーション実行負荷状態、スケジューリング状態などの時間的に変化する要素値を判断基準としている。そのため、この時間的に変化する要素値を常時的に監視する必要がある。さらに、その判断結果に応じてプロセッサの動作状態を省電力制御と復帰制御との間で切り替え制御するが、この制御自体も時間的に遷移することになる。つまり、監視対象の時間的変化が制御対象の時間的変化を結果し、さらに制御対象の時間的変化が監視対象の時間的変化を誘起するという時間的循環が発生することになる。このような時間的循環を伴う常時的な監視および制御は、結果として、マルチプロセッサシステムの処理速度の低下を招くことになる。
In the power saving control system of the above-mentioned
加えて、プロセッサへの供給クロックの周波数低減の制御はプロセッサ負荷が低負荷状態になることを条件にしているため、プロセッサ負荷が低負荷状態にならない限り供給クロックの周波数を低減することができず、これでは効果的な消費電力削減にとって障害となる。 In addition, since the control for reducing the frequency of the supply clock to the processor is based on the condition that the processor load is in a low load state, the frequency of the supply clock cannot be reduced unless the processor load is in a low load state. This is an obstacle to effective power consumption reduction.
本発明は、このような事情に鑑みて創作したものであり、性能保証タスクと性能非保証タスクとが混在するマルチプロセッサシステムにおいて、時間的に変化する要素値を常時的に監視したり、プロセッサ動作状態を常時的に制御下に置いたりすることなく、またプロセッサ負荷が時間経過に伴って低負荷状態になることを前提条件にすることなく、リアルタイム性(所定時間内に所定のタスクを完了しなければならないという制約を満たすこと)を保証しながら消費電力を効果的に削減することが可能な省電力制御装置を提供することを目的としている。 The present invention was created in view of such circumstances, and in a multiprocessor system in which performance assurance tasks and performance non-guaranteed tasks are mixed, element values that change over time are constantly monitored, Real-time performance (predetermined tasks are completed within a predetermined time without requiring the operating state to be under constant control and without assuming that the processor load becomes low over time. An object of the present invention is to provide a power saving control apparatus capable of effectively reducing power consumption while guaranteeing that the restriction that must be satisfied is satisfied.
(1)本発明によるマルチプロセッサシステムにおける省電力制御装置は、
複数のタスクを分散処理する複数のプロセッサを備えるとともに、性能保証タスクと性能非保証タスクとが混在するマルチプロセッサシステムにおいて、
各プロセッサに割り当てられるべき各性能保証タスクTiの処理性能値Φiのそれぞれと、各性能保証タスクTiが必要とするリアルタイム性能時間τiを加味したプロセッサPjの処理能力値Wjのそれぞれとの相関関係に基づいて、使用プロセッサ数が最小限となるように、前記各性能保証タスクの前記各プロセッサへの割り当ての制御を行う割り当て制御手段と、
前記割り当て制御手段による割り当ての結果、前記性能保証タスクの割り当てが解消された不使用プロセッサの動作状態に対して省電力状態を適用する動作状態制御手段とを備えるものである。
(1) A power saving control device in a multiprocessor system according to the present invention includes:
In a multiprocessor system that has multiple processors that distribute and process multiple tasks, and that includes both performance guarantee tasks and non-performance guarantee tasks,
There is a correlation between each processing performance value Φi of each performance assurance task Ti to be assigned to each processor and each processing performance value Wj of the processor Pj taking into account the real-time performance time τi required by each performance assurance task Ti. Based on allocation control means for controlling allocation of each performance assurance task to each processor so that the number of processors used is minimized,
As a result of the assignment by the assignment control means, an operation state control means for applying a power saving state to the operation state of the unused processor for which the assignment of the performance guarantee task has been eliminated is provided.
個々の性能保証タスクTi(i=1,2…n)の属性として、そのタスクのサイズ(命令数)を表す処理性能値Φi(i=1,2…n)がある。ある性能保証タスクTiについて、その実行完了に要する時間がリアルタイム性能時間τi(i=1,2…n)である。一方、個々のプロセッサPj(j=1,2…m)には、それに割り当てられる性能保証タスクTiが必要とするリアルタイム性能時間τiを加味したプロセッサの処理能力値Wj(j=1,2…m)がある。この処理能力値Wjは、そのプロセッサPjがリアルタイム性能時間τi内に処理することができるタスクの総処理量である。 As an attribute of each performance guarantee task Ti (i = 1, 2,... N), there is a processing performance value Φi (i = 1, 2,... N) representing the size (number of instructions) of the task. The time required to complete execution of a certain performance guarantee task Ti is the real-time performance time τi (i = 1, 2,... N). On the other hand, each processor Pj (j = 1, 2,... M) has a processor processing capacity value Wj (j = 1, 2,... M) that takes into account the real-time performance time τi required by the performance guarantee task Ti assigned thereto. ) The processing capability value Wj is the total processing amount of tasks that the processor Pj can process within the real-time performance time τi.
割り当て制御手段は、性能保証タスクTiの処理性能値Φiと、リアルタイム性能時間τiを加味したプロセッサの処理能力値Wjとの相関関係に基づいて、使用プロセッサ数が最小限となるように、各性能保証タスクTiの各プロセッサPjへの割り当ての制御を行う。ある任意のプロセッサ割り当て状態において、あるプロセッサに、他のプロセッサに割り当て済みの性能保証タスクの割り当て変更(移動)が可能であるという余力(処理能力の余裕)があれば、その性能保証タスクの割り当て変更を行う。これが性能保証タスクの再割り当てである。このような性能保証タスクの再割り当てを可能な限り進めれば、性能保証タスクの割り当てが解消された不使用プロセッサが出現し、さらにはそのような不使用プロセッサの数が増えるようになる。動作状態制御手段は、この性能保証タスクの割り当てが解消された不使用プロセッサの動作状態に対して省電力状態を適用する。もし省電力状態が適用されたプロセッサに性能非保証タスクが割り当てられているとしても、それは性能非保証であるので、省電力状態にしても性能保証上の問題は生じない。 Based on the correlation between the processing performance value Φi of the performance guarantee task Ti and the processing capacity value Wj of the processor taking into account the real-time performance time τi, the allocation control means is configured to minimize the number of processors used. The allocation of the guaranteed task Ti to each processor Pj is controlled. In any given processor allocation state, if a certain processor has the capacity (allowance for processing power) that it is possible to change (move) the allocation of a performance assurance task that has already been allocated to another processor, the allocation of that performance assurance task Make a change. This is reassignment of the performance guarantee task. If such reassignment of performance assurance tasks is advanced as much as possible, unused processors whose performance assurance task assignments have been resolved will appear, and the number of such unused processors will increase. The operation state control means applies the power saving state to the operation state of the unused processor for which the assignment of the performance guarantee task is eliminated. Even if a performance non-guaranteed task is assigned to a processor to which the power saving state is applied, it is a performance non-guaranteed, and therefore there is no problem in performance guarantee even in the power saving state.
ここでは、従来技術の場合のように、時間的に変化する要素値(プロセッサ負荷)を常時的に監視する必要もなければ、その要素値としきい値との比較結果が時間的に変動することに伴う動作状態の常時的な制御の必要もない。 Here, as in the case of the prior art, if it is not necessary to constantly monitor an element value that changes over time (processor load), the comparison result between the element value and the threshold value changes over time. There is no need for continuous control of the operating state.
このようにして、上記構成の省電力制御装置によれば、性能保証タスクと性能非保証タスクとが混在するマルチプロセッサシステムにおいて、プロセッサ負荷が時間経過に伴って低負荷状態になることを前提条件にすることなく、リアルタイム性を保証しながら消費電力を効果的に削減することが可能となる。 Thus, according to the power saving control device having the above configuration, in a multiprocessor system in which a performance guarantee task and a performance non-guarantement task coexist, it is a precondition that the processor load becomes a low load state as time passes Therefore, it is possible to effectively reduce power consumption while ensuring real-time performance.
(2)上記(1)の構成において、前記割り当て制御手段は、前記性能保証タスクの他のプロセッサへの再割り当てが可能であるか否かを判断し、可能であるときに再割り当てを行うように構成されているという態様がある。この構成によれば、再割り当て可能な性能保証タスクについては、これを漏れなく再割り当てすることにより、使用プロセッサ数を確実に最小限にすることが可能となる。 (2) In the configuration of (1), the allocation control unit determines whether or not the performance guarantee task can be reassigned to another processor, and performs the reassignment when it is possible. There is an aspect of being configured. According to this configuration, it is possible to reliably minimize the number of processors used by reassigning performance guarantee tasks that can be reassigned without omission.
(3)また上記(2)の構成において、前記割り当て制御手段は、判断対象の性能保証タスクTiの処理性能値Φiを他のプロセッサPjの余力性能Mjと比較し、前記判断対象の性能保証タスクTiの処理性能値Φiが他のプロセッサPjの余力性能Mj以下のときにその判断対象の性能保証タスクを余力のある他のプロセッサに再割り当てするように構成されているという態様がある。ある性能保証タスクTiがすでにあるプロセッサに割り当てられているときに、その性能保証タスクTiを他のプロセッサに再割り当て可能か否かを判断するに際して、他のプロセッサの余力性能Mjを検討する。すなわち、他のプロセッサの余力性能Mjに比べて判断対象の性能保証タスクTiの処理性能値Φiが小さいか等しい場合には、再割り当て可能と判断し、その性能保証タスクTiを他プロセッサに再割り当てする。 (3) In the configuration of (2), the allocation control unit compares the processing performance value Φi of the performance assurance task Ti to be determined with the remaining performance Mj of another processor Pj, and determines the performance assurance task to be determined There is a mode in which when the processing performance value Φi of Ti is equal to or less than the remaining capacity Mj of the other processor Pj, the performance guarantee task to be determined is reassigned to another processor having remaining capacity. When a performance guarantee task Ti is already assigned to a certain processor, the remaining performance Mj of the other processor is examined when determining whether or not the performance guarantee task Ti can be reassigned to another processor. That is, when the processing performance value Φi of the performance guarantee task Ti to be judged is smaller than or equal to the remaining performance Mj of the other processor, it is judged that the reallocation is possible and the performance guarantee task Ti is reallocated to the other processor. To do.
(4)上記(1)〜(3)の構成において、前記プロセッサPjの処理能力値Wjは、当該プロセッサPjの単位時間当たりの処理能力qjに、前記性能保証タスクTiのリアルタイム性能時間τiを乗算したものであるという態様がある。すなわち、Wj=qj×τiである。これで、プロセッサPjの処理能力値Wjについて、これを、性能保証タスクTiが必要とするリアルタイム性能時間τiを加味したものにすることが可能となる。 (4) In the configurations of (1) to (3), the processing capability value Wj of the processor Pj multiplies the processing capability qj per unit time of the processor Pj by the real-time performance time τi of the performance assurance task Ti. There is a mode that it is. That is, Wj = qj × τi. Thus, the processing capability value Wj of the processor Pj can be made to take into account the real-time performance time τi required by the performance guarantee task Ti.
(5)上記(3),(4)の構成において、前記プロセッサPjの余力性能Mjは、前記性能保証タスクTiのリアルタイム性能時間τiを加味した前記プロセッサPjの処理能力値Wjから、当該プロセッサPjにすでに割り当て済みの性能保証タスクTiの処理性能値Φiの総和ΣΦiを減算したものであるという態様がある。すなわち、Mj=Wj−ΣΦiである。このような演算を採用することにより、リアルタイム性を保証した上での消費電力の削減の効果を良好に達成することが可能となる。 (5) In the configurations of (3) and (4) above, the remaining performance Mj of the processor Pj is calculated from the processing capability value Wj of the processor Pj taking into account the real-time performance time τi of the performance guarantee task Ti. Is a value obtained by subtracting the sum ΣΦi of the processing performance values Φi of the performance guarantee tasks Ti that have already been assigned. That is, Mj = Wj−ΣΦi. By adopting such an operation, it is possible to satisfactorily achieve the effect of reducing power consumption while guaranteeing real-time performance.
(6)上記(1)〜(5)の構成において、前記割り当て制御手段は、前記再割り当てのための性能保証タスクのプロセッサ間移動を最小限とするように構成されているという態様がある。この構成によれば、再割り当て自体を効率化することが可能となる。 (6) In the configurations of (1) to (5), there is an aspect in which the allocation control means is configured to minimize the movement of the performance guarantee task between the processors for the reallocation. According to this configuration, it is possible to improve the efficiency of the reallocation itself.
(7)また上記(2)〜(6)の構成において、前記割り当て制御手段は、前記性能保証タスクの他のプロセッサへの再割り当てに際して、前記性能保証タスクが使用する資源のプロセッサ間競合が最小限となることを優先して再割り当てを行うように構成されているという態様がある。この構成によれば、資源のプロセッサ間競合を最小限とするので、マルチプロセッサシステムのトータルなタスク分散処理を効率良く進めることが可能となる。 (7) In the configurations of (2) to (6), the allocation control means minimizes contention between processors of resources used by the performance assurance task when the performance assurance task is reassigned to another processor. There is an aspect in which reassignment is performed with priority given to being limited. According to this configuration, since contention among resources is minimized, the total task distribution processing of the multiprocessor system can be efficiently advanced.
(8)また上記(2)〜(6)の構成において、前記割り当て制御手段は、シーケンス的に処理する必要のある性能保証タスク群を優先して同一のプロセッサへ再割り当てするように構成されているという態様がある。この構成によれば、シーケンス的処理の性能保証タスクのディスパッチ回数が最小限となり、マルチプロセッサシステムのトータルなタスク分散処理を効率良く進めることが可能となる。ディスパッチ(dispatch)とは、オペレーティングシステム(OS)が処理する複数のタスクに対し、優先順位に従ってプロセッサの割り当てを行うことである(スケジューリングともいう)。 (8) In the configurations of (2) to (6), the allocation control means is configured to preallocate performance guarantee task groups that need to be processed in sequence to the same processor. There is an aspect of being. According to this configuration, the number of times the performance guarantee task for sequential processing is dispatched is minimized, and the total task distribution processing of the multiprocessor system can be efficiently advanced. Dispatch refers to assigning processors to a plurality of tasks processed by an operating system (OS) according to priority (also called scheduling).
(9)また上記(1)〜(8)の構成において、前記割り当て制御手段は、前記性能保証タスクの再割り当てを行った後に前記性能非保証タスクのプロセッサ間での再割り当てを行う場合に、前記性能保証タスクの再割り当てが行われた前記プロセッサに対しては前記性能非保証タスクの再割り当てを禁止する状態で再割り当てを行うように構成されているという態様がある。使用プロセッサ数を最小限にするためのタスクの再割り当てについては、性能保証タスクの再割り当てを優先し、それが完了すれば、性能非保証タスクの再割り当てに進むこととする場合に、マルチプロセッサシステムのトータルなタスク分散処理の効率を可能な限り高く保つ状態で、性能非保証タスクの再割り当てが行える。 (9) In the configurations of (1) to (8), the allocation control unit performs the reallocation between the processors of the performance non-guaranteed task after the reallocation of the performance guaranteed task. There is an aspect in which the processor to which the performance assurance task has been reassigned is configured to be reassigned in a state where the reassignment of the performance non-guaranteed task is prohibited. For task reassignment to minimize the number of processors used, priority is given to reassignment of performance assurance tasks, and if this is completed, it will proceed to reassignment of performance non-guaranteed tasks. The performance non-guaranteed tasks can be reassigned while keeping the total task distributed processing efficiency of the system as high as possible.
(10)また上記(1)〜(9)の構成において、前記動作状態制御手段は、性能保証タスクの割り当てが解消された不使用プロセッサの動作モードを変更するように構成されているという態様がある。 (10) In the configurations of (1) to (9), the operation state control means is configured to change the operation mode of the unused processor in which the allocation of the performance guarantee task is canceled. is there.
(11)さらに上記(10)の構成において、前記性能保証タスクの割り当てが解消された不使用プロセッサの動作モードを変更するとは、前記不使用プロセッサへのクロック供給を停止することであるという態様がある。 (11) Further, in the configuration of the above (10), the mode of changing the operation mode of the unused processor in which the allocation of the performance guarantee task has been canceled is to stop the clock supply to the unused processor. is there.
(12)また上記(1)〜(9)の構成において、前記動作状態制御手段は、性能保証タスクの割り当てが確定された使用プロセッサの動作モードを変更するように構成されているという態様がある。 (12) In the configurations of (1) to (9), the operation state control means is configured to change the operation mode of the processor in use for which the performance guarantee task assignment is determined. .
(13)さらに上記(12)の構成において、前記性能保証タスクの割り当てが確定された使用プロセッサの動作モードを変更するとは、前記使用プロセッサの状態を低消費電力状態から通常動作状態へ変更すること、または、通常動作状態から高速動作状態へ変更することであるという態様がある。 (13) Further, in the configuration of (12) above, changing the operation mode of the used processor for which the assignment of the performance guarantee task has been determined means changing the state of the used processor from the low power consumption state to the normal operation state. Alternatively, there is a mode in which the normal operation state is changed to the high-speed operation state.
(14)また上記(1)〜(13)の構成において、前記動作状態制御手段は、メモリのプロセッサへの割り当てを動的に変更するよう構成されているという態様がある。 (14) In the configurations of (1) to (13), the operation state control means is configured to dynamically change the allocation of the memory to the processor.
(15)さらに上記(14)の構成において、前記メモリのプロセッサへの割り当てを動的に変更するとは、不使用プロセッサに割り当てられていたメモリを使用プロセッサへ再割り当てすることであるという態様がある。性能保証タスクの割り当てが解消された不使用プロセッサへ割り当てられていたメモリを、性能保証タスクの割り当てが確定された使用プロセッサに割り当て変更すれば、マルチプロセッサシステムのトータルなタスク分散処理をさらに効率良く進めることが可能となる。 (15) Further, in the configuration of (14), there is an aspect in which dynamically changing the allocation of the memory to the processor is to reallocate the memory allocated to the unused processor to the used processor. . If the memory allocated to the unused processor for which the performance assurance task assignment has been resolved is reassigned to the used processor for which the performance assurance task assignment has been determined, the total task distribution processing of the multiprocessor system will be more efficient. It is possible to proceed.
(16)また上記(1)〜(15)の構成において、前記動作状態制御手段は、スヌーピング機能を備えたキャッシュのスヌープモードを変更するように構成されているという態様がある。スヌーピング(snooping)機能とは、周辺機器からのDMA(Direct Memory Access)などで、メモリ内容がキャッシュ内容と不一致にならないかを監視し、必要に応じてキャッシュ内容を破棄する機能のことである。 (16) In the configurations of (1) to (15), the operation state control means is configured to change the snoop mode of a cache having a snooping function. The snooping function is a function that monitors whether the memory contents do not match the cache contents by DMA (Direct Memory Access) from a peripheral device, and discards the cache contents if necessary.
(17)さらに上記(16)の構成において、前記スヌーピング機能を備えたキャッシュのスヌープモードを変更するとは、前記不使用プロセッサのキャッシュのスヌープモードを停止させることであるという態様がある。不使用プロセッサのキャッシュのスヌープモードを停止させることにより、マルチプロセッサシステムのトータルなタスク分散処理の効率を高くすることが可能となる。 (17) Further, in the configuration of (16), there is an aspect in which changing the snoop mode of the cache having the snooping function is stopping the snoop mode of the cache of the unused processor. By stopping the snoop mode of the unused processor cache, it is possible to increase the efficiency of the total task distribution processing of the multiprocessor system.
(18)また上記(1)〜(17)の構成において、前記動作状態制御手段は、前記割り当て制御手段による割り当ての結果、前記性能保証タスクの割り当てが解消された不使用プロセッサに代えて、または不使用プロセッサとともに、周辺デバイスの動作状態の変更を行うように構成されているという態様がある。単に不使用プロセッサを省電力状態に制御するだけでなく、不使用プロセッサに代えて、または不使用プロセッサとともに、周辺デバイスを省電力状態に制御することにより、マルチプロセッサシステムのトータルなタスク分散処理の効率をさらに高くすることが可能となる。 (18) In the above configurations (1) to (17), the operation state control unit may replace the unused processor whose allocation of the performance guarantee task has been eliminated as a result of the allocation by the allocation control unit, or There is an aspect in which the operation state of the peripheral device is changed together with the unused processor. In addition to simply controlling unused processors to a power-saving state, by controlling peripheral devices to a power-saving state instead of or together with unused processors, the total task distribution processing of a multiprocessor system can be reduced. The efficiency can be further increased.
(19)本発明によるモバイル端末は、上記(1)〜(18)のいずれかのマルチプロセッサシステムにおける省電力制御装置を搭載したモバイル端末である。 (19) A mobile terminal according to the present invention is a mobile terminal equipped with a power saving control device in the multiprocessor system according to any one of (1) to (18).
(20)上記(19)の構成において、通常動作状態で動作させる通常動作モードと低消費電力状態で動作させる低消費電力モードを備え、前記割り当て制御手段と前記動作状態制御手段は、前記低消費電力モードの場合においてのみ起動されるように構成されているという態様がある。 (20) The configuration of (19) includes a normal operation mode that operates in a normal operation state and a low power consumption mode that operates in a low power consumption state, and the allocation control unit and the operation state control unit include the low power consumption mode. There is a mode that it is configured to be activated only in the case of the power mode.
(21)また上記(20)の構成において、前記通常動作モードと前記低消費電力モードとは、ユーザが設定可能であるように構成されているという態様がある。このように構成すれば、使用状況に応じた使い分けができ、使用勝手がよくなる。 (21) In the configuration of (20), there is an aspect in which the normal operation mode and the low power consumption mode are configured to be settable by a user. If comprised in this way, the use according to a use condition can be performed and usability will improve.
(22)また上記(20)の構成において、前記通常動作モードと前記低消費電力モードとは、バッテリの残電力量が一定以下となった場合に切り替わるように構成されているという態様がある。これにより、バッテリの残電力量が多い状況下では能力フル状態で高速処理動作を保ち、バッテリの残電力量が少なくなったときに限って、低消費電力モードで動作させることが可能となる。 (22) In addition, in the configuration of (20), there is an aspect in which the normal operation mode and the low power consumption mode are configured to switch when the remaining power amount of the battery becomes equal to or less than a certain level. As a result, under a situation where the remaining amount of battery power is large, the high-speed processing operation can be maintained in a full capacity state, and it is possible to operate in the low power consumption mode only when the remaining power amount of the battery decreases.
本発明によれば、性能保証タスクと性能非保証タスクとが混在するマルチプロセッサシステムにおいて、リアルタイム性を保持しつつ最小限のプロセッサ数でタスクの実行が可能なようにプロセッサへの性能保証タスクの割り当て制御を行い、性能保証タスクの割り当てが解消された不使用プロセッサの動作状態に対して省電力状態を適用するので、プロセッサ負荷が時間経過に伴って低負荷状態になることを前提条件にすることなく、リアルタイム性を保証しながら消費電力を効果的に削減することができる。 According to the present invention, in a multiprocessor system in which performance assurance tasks and performance non-guaranteed tasks coexist, the performance assurance tasks to the processors can be executed with a minimum number of processors while maintaining real-time performance. The power-saving state is applied to the operating state of the unused processor whose performance assurance task has been unassigned by performing allocation control, so it is a prerequisite that the processor load becomes a low-load state over time Therefore, power consumption can be effectively reduced while guaranteeing real-time performance.
以下、本発明にかかわるマルチプロセッサシステムにおける省電力制御装置の実施の形態を図面を用いて詳細に説明する。以下では、すべての図を通じて同一または相当する要素には同じ参照符号を付してその重複する説明を省略する。 Embodiments of a power saving control device in a multiprocessor system according to the present invention will be described below in detail with reference to the drawings. In the following, the same or corresponding elements are denoted by the same reference symbols throughout all the drawings, and redundant description thereof is omitted.
(実施の形態1)
図1は本発明の実施の形態1の性能保証タスクと性能非保証タスクとが混在するマルチプロセッサシステムにおける省電力制御装置の構成を示すブロック図である。図1において、1はCPU(Central Processing Unit)、2はROM(Read Only Memory)、3はRAM(Random Access Memory)、4はクロック制御部、5は周辺デバイス、P1〜P4は第1ないし第4のプロセッサであり、これらの各構成要素はバス6を介して互いに接続されている。周辺デバイス5は複数のタスクを伴うもので、ここでは第1ないし第8のタスクT1〜T8を伴うものとなっている。αは性能保証を行うタスクである性能保証タスクを示し、βは性能保証を行わないタスクである性能非保証タスクを示す。ここでの一例では、第1ないし第5のタスクT1〜T5が性能保証タスクαに該当し、第6ないし第8のタスクT6〜T8が性能非保証タスクβに該当している。マルチプロセッサシステムは、一般的に複数のタスクTi(i=1,2…n)を複数のプロセッサPj(j=1,2…m)で分散処理するものである。ここでの一例では、整数nは、n=8であり、整数mは、m=4である。10はCPU1とROM2とRAM3の機能的結合によって生成されるオペレーティングシステム(OS)であり、このオペレーティングシステム10には、少なくとも割り当て制御手段E1と動作状態制御手段E2とが含まれている。
(Embodiment 1)
FIG. 1 is a block diagram showing the configuration of a power saving control device in a multiprocessor system in which performance guarantee tasks and non-performance guarantee tasks are mixed according to the first embodiment of the present invention. In FIG. 1, 1 is a CPU (Central Processing Unit), 2 is a ROM (Read Only Memory), 3 is a RAM (Random Access Memory), 4 is a clock controller, 5 is a peripheral device, and P1 to P4 are first through first. These processors are connected to each other via a
割り当て制御手段E1は、複数のタスクを複数のプロセッサに割り当てるに際して、使用プロセッサ数が最小限となるように割り当ての制御を行うものとして構成されている(詳しくは後述する)。 The assignment control means E1 is configured to control assignment so that the number of processors used is minimized when assigning a plurality of tasks to a plurality of processors (details will be described later).
動作状態制御手段E2は、割り当て制御手段E1による割り当ての結果、性能保証タスクTiの割り当てが解消された不使用プロセッサの動作状態に対して省電力状態を適用するものとして構成されている。省電力状態の適用に際しては、クロック制御部4でのクロック周波数の制御を介して行うものとなっている。
The operation state control means E2 is configured to apply the power saving state to the operation state of the unused processor in which the assignment of the performance guarantee task Ti is eliminated as a result of the assignment by the assignment control means E1. The application of the power saving state is performed through the control of the clock frequency in the
個々の性能保証タスクTi(i=1,2…n)の属性として、そのタスクのサイズ(命令数)を表す処理性能値Φi(i=1,2…n)がある(図3、図4、図6参照)。各性能保証タスクTiが、それぞれある時間τi(i=1,2…n)内に実行完了することが望まれているとする。その時間τiがリアルタイム性能時間である。一方、個々のプロセッサPj(j=1,2…m)には、単位時間当たりに実行が可能な処理量を表す処理能力qj(j=1,2…m)がある(図5、図6参照)。処理能力qiは、MIPS値で表されることが多い。 As an attribute of each performance guarantee task Ti (i = 1, 2,... N), there is a processing performance value Φi (i = 1, 2,... N) representing the size (number of instructions) of the task (FIGS. 3, 4). FIG. 6). It is assumed that each performance guarantee task Ti is desired to be completed within a certain time τi (i = 1, 2,... N). The time τi is the real-time performance time. On the other hand, each processor Pj (j = 1, 2,... M) has a processing capability qj (j = 1, 2,... M) that represents the amount of processing that can be executed per unit time (FIGS. 5, 6). reference). The processing capability qi is often represented by a MIPS value.
リアルタイム性能時間τi内に単位時間当たりの処理能力qjのプロセッサPjが実行可能な処理量である処理能力値Wjは、
Wj=qj×τi
となる(具体例については後述する)。
The processing capability value Wj, which is the processing amount that can be executed by the processor Pj having the processing capability qj per unit time within the real-time performance time τi, is:
Wj = qj × τi
(A specific example will be described later).
割り当て制御手段E1は、各性能保証タスクTiの各プロセッサPjへの割り当ての制御を行うに際して、各性能保証タスクTiの処理性能値Φi(i=1,2…n)のそれぞれと、リアルタイム性能時間τi(i=1,2…n)を加味したプロセッサPjの処理能力値Wj(より具体的には、余力性能Mj)(j=1,2…m)のそれぞれとの相関関係に基づいて、使用プロセッサ数が最小限となるように制御するものとして構成されている。 The allocation control means E1 controls the allocation of each performance assurance task Ti to each processor Pj, the processing performance value Φi (i = 1, 2,... N) of each performance assurance task Ti, and the real-time performance time. Based on the correlation with each of the processing capability values Wj (more specifically, the surplus performance Mj) (j = 1, 2,... m) of the processor Pj taking into account τi (i = 1, 2,... n), It is configured to control so that the number of processors used is minimized.
また、動作状態制御手段E2は、割り当て制御手段E1による割り当ての結果、性能保証タスクTiの割り当てが解消された不使用プロセッサの動作状態に対して省電力状態を適用するものとして構成されている。省電力状態を適用するに際しては、クロック制御部4におけるクロック周波数の変更をもって対応するように構成されている。
The operation state control unit E2 is configured to apply the power saving state to the operation state of the unused processor in which the assignment of the performance guarantee task Ti is canceled as a result of the assignment by the assignment control unit E1. When the power saving state is applied, the
図2は本実施の形態1における省電力制御装置の主要部の機能を表す機能説明図である。オペレーティングシステム10は、第1ないし第4のプロセッサP1〜P4上で動作するものであり、第1ないし第8のタスクT1〜T8のプロセッサP1〜P4への割り当てと、プロセッサP1〜P4の動作状態とを制御する。
FIG. 2 is a function explanatory diagram showing functions of main parts of the power saving control device according to the first embodiment. The
オペレーティングシステム10における割り当て制御手段E1は、前段階の割り当て処理として、所定のアルゴリズムに従って、第1ないし第8のタスクT1〜T8を第1ないし第4のプロセッサP1〜P4に割り当てる。いま、割り当て制御手段E1は、図2に示すように、第1のタスクT1と第5のタスクT5とを第1のプロセッサP1に割り当て、第2のタスクT2と第6のタスクT6とを第2のプロセッサP2に割り当て、第3のタスクT3と第7のタスクT7とを第3のプロセッサP3に割り当て、第4のタスクT4と第8のタスクT8とを第4のプロセッサP4に割り当てているとする。また、第1ないし第5のタスクT1〜T5はリアルタイム性能が求められる性能保証タスクαであり、第6ないし第8のタスクT6〜T8はリアルタイム性能が求められない性能非保証タスクβであるとする。
The assignment control means E1 in the
性能保証タスクT1〜T5が4つのプロセッサP1〜P4に振り分けて割り当てられていることになる。このあらかじめの割り当て状態において、割り当て制御手段E1は、性能保証タスクT1〜T5のうち、現在の割り当てプロセッサから他のプロセッサへ再割り当て可能なタスクおよびプロセッサが存在するか否かを判断する。割り当て制御手段E1は、各プロセッサP1〜P4に割り当てられている各性能保証タスクT1〜T5の処理性能値Φ1〜Φ5のそれぞれと、各プロセッサP1〜P4において割り当てられている性能保証タスクT1〜T5が必要とするリアルタイム性能時間τ1〜τ5を加味したプロセッサの処理能力値W1〜W4のそれぞれとの相関関係に基づいて、性能保証タスクT1〜T5の他のプロセッサへの再割り当てが可能であるか否かを判断する(より詳しくは後述する)。 The performance guarantee tasks T1 to T5 are allocated and assigned to the four processors P1 to P4. In this pre-assignment state, the assignment control means E1 determines whether or not there are tasks and processors that can be reassigned from the currently assigned processor to other processors among the performance guarantee tasks T1 to T5. The allocation control means E1 includes the processing performance values Φ1 to Φ5 of the performance assurance tasks T1 to T5 allocated to the processors P1 to P4 and the performance assurance tasks T1 to T5 allocated to the processors P1 to P4. Whether the performance guarantee tasks T1 to T5 can be reassigned to other processors based on the correlations with the processing capability values W1 to W4 of the processors taking into account the real-time performance times τ1 to τ5 required by the It is determined whether or not (more details will be described later).
図3は個々のタスクT1〜T8がそれぞれ保持しているタスク管理情報20の構造を示す。このタスク管理情報20は、リアルタイム性能が求められる処理か否かを示すリアルタイムフラグ情報a1と、リアルタイム性能を保証するために必要な性能を示すリアルタイム性能情報a2と、実際の処理性能を示す処理性能情報a3とから構成されている。
FIG. 3 shows the structure of the
リアルタイムフラグ情報a1については、リアルタイム性能が求められる処理であることを示すときは“1”が設定され、リアルタイム性能が求められない処理であることを示すときは“0”が設定される。 As for the real-time flag information a1, “1” is set to indicate that the process requires real-time performance, and “0” is set to indicate that the process does not require real-time performance.
リアルタイム性能情報a2については、当該のタスクTi(i=1,2…n)を一定時間内に実行完了しなければならない場合の、その処理に要する時間を表す。具体的には、リアルタイム性能時間τi(i=1,2…n)に対応し、本動作例では単位がms(ミリ秒)となっている。 The real-time performance information a2 represents the time required for processing when the task Ti (i = 1, 2,... N) must be completed within a certain time. Specifically, it corresponds to the real-time performance time τi (i = 1, 2,... N), and in this operation example, the unit is ms (millisecond).
処理性能情報a3については、当該のタスクTiがもつ負荷量(処理量)であり、具体的には処理性能値Φi(i=1,2…n)に対応するものであって、KI(Kilo Instructions:1000命令)を単位とする命令数に相当している。 The processing performance information a3 is a load amount (processing amount) of the task Ti, specifically corresponds to the processing performance value Φi (i = 1, 2,... N), and is represented by KI (Kilo This corresponds to the number of instructions in units of “Instructions: 1000 instructions”.
オペレーティングシステム10は、個々のタスクTi(i=1,2…n)について、それぞれのリアルタイムフラグ情報a1に基づいて、リアルタイム性能が求められる性能保証タスクαかリアルタイム性能が求められない性能非保証タスクβかを判定し、さらにその判定結果において性能保証タスクαについては、リアルタイム性能情報a2と処理性能情報a3とに基づいて、リアルタイム性能を保証しながらプロセッサPj(j=1,2…m)へ割り当てる方法の中で、使用プロセッサ数が最小限となるように割り当て方法を判定し、その判定結果の割り当て方法に従って性能保証タスクαを適切なプロセッサへ割り当てする。この割り当てには、再割り当ても含まれる。ここで、性能保証タスクαか性能非保証タスクβかの判定の処理と、使用プロセッサ数が最小限となる状態での性能保証タスクの割り当ての処理との2つの処理が行われるが、これらの処理はオペレーティングシステム10における割り当て制御手段E1が担当する。
For each task Ti (i = 1, 2,... N), the
以下、オペレーティングシステム10がリアルタイム性能を保証しながらプロセッサへ再割り当てを行う方法について説明する。
Hereinafter, a method in which the
図4は第1ないし第8のタスクT1〜T8についてのタスク管理情報20の具体的な内容を示し、図5は第1ないし第4のプロセッサP1〜P4の単位時間当たりの処理能力qj(j=1,2…4)であるMIPS値の一例を示す。
FIG. 4 shows the specific contents of the
第1のプロセッサP1に割り当てられている第1のタスクT1は、リアルタイム性能が求められる性能保証タスクαに相当する。この第1のタスクT1のタスク管理情報20を見ると、リアルタイムフラグ情報a1が“1”となっている。また、リアルタイム性能情報a2であるリアルタイム性能時間τ1は10msであり、処理性能情報a3である処理性能値Φ1は50KI(Kilo Instructions)である(τ1=10ms、Φ1=50KI)。同じく第1のプロセッサP1に割り当てられている第5のタスクT5も、性能保証タスクαに相当し、リアルタイムフラグ情報a1が“1”となっている。また、リアルタイム性能時間τ5は同じく10msであり、処理性能値Φ5は10KIである(τ5=10ms、Φ5=10KI)。
The first task T1 assigned to the first processor P1 corresponds to a performance guarantee task α that requires real-time performance. Looking at the
第2のプロセッサP2に割り当てられている第2のタスクT2は、性能保証タスクαに相当し、リアルタイムフラグ情報a1が“1”となっている。また、リアルタイム性能時間τ2は12msであり、処理性能値Φ2は60KIである(τ2=12ms、Φ2=60KI)。同じく第2のプロセッサP2に割り当てられている第6のタスクT6は、リアルタイム性能が求められない性能非保証タスクβに相当し、リアルタイムフラグ情報a1が“0”となっている。また、リアルタイム性能時間τ6は0msであり、処理性能値Φ6は0KIである(τ6=0ms、Φ6=0KI)。 The second task T2 assigned to the second processor P2 corresponds to the performance guarantee task α, and the real-time flag information a1 is “1”. The real-time performance time τ2 is 12 ms, and the processing performance value Φ2 is 60 KI (τ2 = 12 ms, Φ2 = 60 KI). Similarly, the sixth task T6 assigned to the second processor P2 corresponds to a performance non-guaranteed task β for which real-time performance is not required, and the real-time flag information a1 is “0”. Further, the real-time performance time τ6 is 0 ms, and the processing performance value Φ6 is 0 KI (τ6 = 0 ms, Φ6 = 0 KI).
第3のプロセッサP3に割り当てられている第3のタスクT3は、性能保証タスクαに相当し、リアルタイムフラグ情報a1が“1”となっている。また、リアルタイム性能時間τ3は12msであり、処理性能値Φ3は50KIである(τ3=12ms、Φ3=50KI)。同じく第3のプロセッサP3に割り当てられている第7のタスクT7は、性能非保証タスクβに相当し、リアルタイムフラグ情報a1が“0”となっている。また、リアルタイム性能時間τ7は0msであり、処理性能値Φ7は0KIである(τ7=0ms、Φ7=0KI)。 The third task T3 assigned to the third processor P3 corresponds to the performance guarantee task α, and the real-time flag information a1 is “1”. The real-time performance time τ3 is 12 ms, and the processing performance value Φ3 is 50 KI (τ3 = 12 ms, Φ3 = 50 KI). Similarly, the seventh task T7 assigned to the third processor P3 corresponds to the performance non-guaranteed task β, and the real-time flag information a1 is “0”. The real-time performance time τ7 is 0 ms, and the processing performance value Φ7 is 0 KI (τ7 = 0 ms, Φ7 = 0 KI).
第4のプロセッサP4に割り当てられている第4のタスクT4は、性能保証タスクαに相当し、リアルタイムフラグ情報a1が“1”となっている。また、リアルタイム性能時間τ4は10msであり、処理性能値Φ4は40KIである(τ4=10ms、Φ4=40KI)。同じく第4のプロセッサP4に割り当てられている第8のタスクT8は、性能非保証タスクβに相当し、リアルタイムフラグ情報a1が“0”となっている。また、リアルタイム性能時間τ8は0msであり、処理性能値Φ8は0KIである(τ8=0ms、Φ8=0KI)。 The fourth task T4 assigned to the fourth processor P4 corresponds to the performance guarantee task α, and the real-time flag information a1 is “1”. The real-time performance time τ4 is 10 ms, and the processing performance value Φ4 is 40 KI (τ4 = 10 ms, Φ4 = 40 KI). Similarly, the eighth task T8 assigned to the fourth processor P4 corresponds to the performance non-guaranteed task β, and the real-time flag information a1 is “0”. The real-time performance time τ8 is 0 ms, and the processing performance value Φ8 is 0 KI (τ8 = 0 ms, Φ8 = 0 KI).
図5を見ると、第1のプロセッサP1の単位時間当たりの処理能力q1のMIPS値は10MIPS、同じく、第2ないし第4のプロセッサP2,P3,P4の単位時間当たりの処理能力q2,q3,q4のMIPS値はいずれも10MIPSである(q1=q2=q3=q4=10MIPS)。MIPS(Million Instructions Per Second)はコンピュータの処理能力を表す単位であり、1MIPSは1秒間に100万命令を実行する処理能力である。 Referring to FIG. 5, the MIPS value of the processing capacity q1 per unit time of the first processor P1 is 10 MIPS, and similarly, the processing capacities q2, q3 of the second to fourth processors P2, P3, and P4 per unit time. All of the MIPS values of q4 are 10 MIPS (q1 = q2 = q3 = q4 = 10MIPS). MIPS (Million Instructions Per Second) is a unit representing the processing capacity of a computer, and 1 MIPS is a processing capacity for executing 1 million instructions per second.
オペレーティングシステム10における割り当て制御手段E1は、リアルタイム性能情報a2と処理性能情報a3とを参照して、第1のタスクT1については10ms以内に50KIの処理を実行する必要があると判定し、第2のタスクT2については12ms以内に60KIの処理を実行する必要があると判定し、第3のタスクT3については12ms以内に50KIの処理を実行する必要があると判定し、第4のタスクT4については10ms以内に40KIの処理を実行する必要があると判定し、第5のタスクT5については10ms以内に10KIの処理を実行する必要があると判定する。
The allocation control means E1 in the
さらに、割り当て制御手段E1は、リアルタイムフラグ情報a1が“1”となっている第1ないし第5のタスクT1〜T5について、それぞれをプロセッサに対するタスクの再割り当ての対象とすべきことを判定する。このプロセッサに対するタスクの再割り当ては、個々のタスクT1〜T5の処理性能値Φ1〜Φ5のそれぞれと、個々のプロセッサPj(j=1,2…4)の余力性能Mj(j=1,2…4)との比較対照に基づいて行う。 Furthermore, the assignment control means E1 determines that each of the first to fifth tasks T1 to T5 whose real-time flag information a1 is “1” should be the target of task reassignment to the processor. Reassignment of tasks to the processors is performed by the processing performance values Φ1 to Φ5 of the individual tasks T1 to T5 and the remaining performance Mj (j = 1, 2,...) Of the individual processors Pj (j = 1, 2,. Based on the comparison with 4).
ここで、図6を用いてプロセッサPjの余力性能Mj(j=1,2…m)について説明する。 Here, the remaining performance Mj (j = 1, 2,... M) of the processor Pj will be described with reference to FIG.
タスクTi(Ta,Tb)のリアルタイム性能時間τiを加味したプロセッサPjの処理能力値Wjは、プロセッサPjの単位時間当たりの処理能力qjにリアルタイム性能時間τiを乗算したもので、前述の通り、
Wj=qj×τi
である。この処理能力値Wjは、図で太線で囲った矩形の面積(全体面積)に相当する。矩形の横幅はプロセッサPjの単位時間当たりの処理能力qjを表し、縦軸方向は時間軸方向である。このように時間軸方向の要素が加味されているところが、従来技術との比較上のポイントとなっている。
The processing capability value Wj of the processor Pj taking into account the real-time performance time τi of the task Ti (Ta, Tb) is obtained by multiplying the processing capability qj per unit time of the processor Pj by the real-time performance time τi.
Wj = qj × τi
It is. This processing capability value Wj corresponds to a rectangular area (total area) surrounded by a thick line in the figure. The horizontal width of the rectangle represents the processing capability qj of the processor Pj per unit time, and the vertical axis direction is the time axis direction. In this way, the factor in the time axis direction is taken into consideration, which is a point for comparison with the prior art.
第1のプロセッサP1の単位時間当たりの処理能力をq1、第1のプロセッサP1に割り当てられた性能保証タスクT1のリアルタイム性能時間をτ1として、第1のプロセッサP1のリアルタイム性能時間τ1に相当する処理能力値W1は、
W1=q1×τ1
となる。
Processing corresponding to the real-time performance time τ1 of the first processor P1, where q1 is the processing capacity per unit time of the first processor P1, and τ1 is the real-time performance time of the performance guarantee task T1 assigned to the first processor P1 The ability value W1 is
W1 = q1 × τ1
It becomes.
第2のプロセッサP2の単位時間当たりの処理能力をq2、第2のプロセッサP2に割り当てられた性能保証タスクT2のリアルタイム性能時間をτ2として、第2のプロセッサP2のリアルタイム性能時間τ2に相当する処理能力値W2は、
W2=q2×τ2
となる。
Processing corresponding to the real-time performance time τ2 of the second processor P2, where q2 is the processing capacity per unit time of the second processor P2, and τ2 is the real-time performance time of the performance guarantee task T2 assigned to the second processor P2. The ability value W2 is
W2 = q2 × τ2
It becomes.
第3のプロセッサP3の単位時間当たりの処理能力をq3、第3のプロセッサP3に割り当てられた性能保証タスクT3のリアルタイム性能時間をτ3として、第3のプロセッサP3のリアルタイム性能時間τ3に相当する処理能力値W3は、
W3=q3×τ3
となる。
Processing corresponding to the real-time performance time τ3 of the third processor P3, where q3 is the processing capacity per unit time of the third processor P3 and τ3 is the real-time performance time of the performance guarantee task T3 assigned to the third processor P3 The ability value W3 is
W3 = q3 × τ3
It becomes.
第4のプロセッサP4の単位時間当たりの処理能力をq4、第4のプロセッサP4に割り当てられた性能保証タスクT4のリアルタイム性能時間をτ4として、第4のプロセッサP4のリアルタイム性能時間τ4に相当する処理能力値W4は、
W4=q4×τ4
となる。なお、マルチプロセッサシステムにおける4つのプロセッサP1〜P4において、それぞれの単位時間当たりの処理能力q1〜q4は互いに等しいのが一般的である(q1=q2=q3=q4)。
Processing corresponding to the real-time performance time τ4 of the fourth processor P4, where q4 is the processing capacity per unit time of the fourth processor P4 and τ4 is the real-time performance time of the performance guarantee task T4 assigned to the fourth processor P4 The ability value W4 is
W4 = q4 × τ4
It becomes. In the four processors P1 to P4 in the multiprocessor system, the processing capabilities q1 to q4 per unit time are generally equal to each other (q1 = q2 = q3 = q4).
図4の例であれば、第1のプロセッサP1の処理能力値W1は、単位時間当たりの処理能力q1=10MIPSにリアルタイム性能時間τ1=10msを掛け算したもので、
W1=10MIPS×10ms=100KI
となる(図7(a)左端のブロック参照)。
In the example of FIG. 4, the processing capability value W1 of the first processor P1 is obtained by multiplying the processing capability q1 = 10 MIPS per unit time by the real-time performance time τ1 = 10 ms.
W1 = 10 MIPS × 10 ms = 100 KI
(Refer to the leftmost block in FIG. 7A).
図6において、プロセッサPjに割り当てられた性能保証タスクをTa,Tbとし、タスクTaの処理性能値をΦa、タスクTbの処理性能値をΦbとすると、現在割り当ての性能保証タスクTa,Tbの処理性能値総和ΣΦiは、
ΣΦi=Φa+Φb
となる。第1のプロセッサP1の処理性能値総和ΣΦiは、図6において太線の矩形の
内部における塗りつぶし部分に対応する。図4の例では、
ΣΦi=Φ1+Φ5=50KI+10KI=60KI
となる(図7(a)左端のブロック参照)。
In FIG. 6, assuming that the performance assurance tasks assigned to the processor Pj are Ta and Tb, the processing performance value of the task Ta is Φa, and the processing performance value of the task Tb is Φb, the processing of the currently assigned performance assurance tasks Ta and Tb The total performance value ΣΦi is
ΣΦi = Φa + Φb
It becomes. The total processing performance value ΣΦi of the first processor P1 corresponds to the filled portion inside the bold rectangle in FIG. In the example of FIG.
ΣΦi = Φ1 + Φ5 = 50 KI + 10 KI = 60 KI
(Refer to the leftmost block in FIG. 7A).
図6において、プロセッサPjの余力性能Mjは、タスクTi(Ta,Tb)のリアルタイム性能時間τiを加味したプロセッサPjの処理能力値Wj(=qj×τi)から、現在割り当ての性能保証タスクTiの処理性能値総和ΣΦiを減算したものであり
、
Mj=Wj−ΣΦi
=qj×τi−ΣΦi
=qj×τi−(Φa+Φb)
となる。すなわち、余力性能Mjは、プロセッサPjの単位時間当たりの処理能力qj(MIPS値)と判断対象のタスクのリアルタイム性能時間τiの値との乗算結果から、当該のプロセッサPjに割り当てられているタスクの加算結果(処理性能値総和ΣΦ
i)を減算したものである(余力性能Mj=qj×τi−ΣΦi)。余力性能Mjは、
図6において太線の矩形の内部における白色部分に対応する。
In FIG. 6, the remaining performance Mj of the processor Pj is determined from the processing capability value Wj (= qj × τi) of the processor Pj taking into consideration the real-time performance time τi of the task Ti (Ta, Tb). The processing performance value sum ΣΦi is subtracted.
Mj = Wj−ΣΦi
= Qj × τi−ΣΦi
= Qj × τi− (Φa + Φb)
It becomes. In other words, the surplus performance Mj is obtained by multiplying the processing capability qj (MIPS value) per unit time of the processor Pj by the value of the real-time performance time τi of the task to be determined, based on the task assigned to the processor Pj. Addition result (total processing performance value ΣΦ
i) is subtracted (remaining power performance Mj = qj × τi−ΣΦi). The remaining capacity Mj is
In FIG. 6, this corresponds to the white portion inside the bold rectangle.
割り当て制御手段E1は、まずは、余力性能Mj(=qj×τi−ΣΦi)が最小と
なるプロセッサを検索する。
The allocation control means E1 first searches for a processor that has the minimum surplus performance Mj (= qj × τi−ΣΦi).
ここで、図4、図5の例について、第1ないし第4のプロセッサP1〜P4それぞれの余力性能M1〜M4を求めておく。その計算式は、
M1=W1−(Φ1+Φ5)=q1×τ1−(Φ1+Φ5)
M2=W2−(Φ2+Φ6)=q2×τ2−Φ2
M3=W3−(Φ3+Φ7)=q3×τ3−Φ3
M4=W4−(Φ4+Φ8)=q4×τ4−Φ4
となる。
Here, with respect to the examples of FIGS. 4 and 5, the remaining capacity performances M1 to M4 of the first to fourth processors P1 to P4 are obtained. The calculation formula is
M1 = W1- (Φ1 + Φ5) = q1 × τ1- (Φ1 + Φ5)
M2 = W2- (Φ2 + Φ6) = q2 × τ2-Φ2
M3 = W3- (Φ3 + Φ7) = q3 × τ3-Φ3
M4 = W4- (Φ4 + Φ8) = q4 × τ4-Φ4
It becomes.
以下では、具体的な動作例を図7を用いながら説明する。図7は実施の形態1における省電力制御装置の動作説明図である。図7では、第1のプロセッサP1と第4のプロセッサP4の縦軸方向幅が互いに等しく、また第2のプロセッサP2と第3のプロセッサP3の縦軸方向幅が互いに等しいが、前者(リアルタイム性能時間=10ms)と後者(リアルタイム性能時間=12ms)では縦軸方向幅が互いに相違している。上記の余力性能Mjについての一連の式に具体的数値を代入すると、第1のプロセッサP1の余力性能M1は、
M1=q1×τ1−(Φ1+Φ5)
=[(10MIPS×10ms)−(50KI+10KI)]
=100KI−60KI=40KI
となる(図4の最下段と図7(a)左端のブロック参照)。
Hereinafter, a specific operation example will be described with reference to FIG. FIG. 7 is an operation explanatory diagram of the power saving control device according to the first embodiment. In FIG. 7, the vertical widths of the first processor P1 and the fourth processor P4 are equal to each other, and the vertical widths of the second processor P2 and the third processor P3 are equal to each other. The vertical axis width is different between the time (time = 10 ms) and the latter (real time performance time = 12 ms). Substituting specific numerical values into a series of expressions for the above-described remaining capacity Mj, the remaining capacity M1 of the first processor P1 is
M1 = q1 × τ1- (Φ1 + Φ5)
= [(10 MIPS × 10 ms) − (50 KI + 10 KI)]
= 100KI-60KI = 40KI
(See the bottom row in FIG. 4 and the leftmost block in FIG. 7A).
第2のプロセッサP2の余力性能M2は、
M2=[(10MIPS×12ms)−(60KI+0KI)]=60KI
第3のプロセッサP3の余力性能M3は、
M3=[(10MIPS×12ms)−(50KI+0KI)]=70KI
第4のプロセッサP4の余力性能M4は、
M4=[(10MIPS×10ms)−(40KI+0KI)]=60KI
となる。
The remaining capacity M2 of the second processor P2 is
M2 = [(10 MIPS × 12 ms) − (60 KI + 0 KI)] = 60 KI
The remaining capacity M3 of the third processor P3 is
M3 = [(10 MIPS × 12 ms) − (50 KI + 0 KI)] = 70 KI
The remaining capacity M4 of the fourth processor P4 is
M4 = [(10 MIPS × 10 ms) − (40 KI + 0 KI)] = 60 KI
It becomes.
以上で、4つのプロセッサP1〜P4それぞれの余力性能M1〜M4が求められた。 Thus, the remaining performances M1 to M4 of the four processors P1 to P4 are obtained.
ここで、割り当て制御手段E1は、余力性能Mjの値が最小となるプロセッサを検索する。第1ないし第4のプロセッサP1〜P4の余力性能M1〜M4(40KI,60KI,70KI,60KI)のうち最小の余力性能は、第1のプロセッサP1の余力性能M1=40KIである。すなわち、余力性能が最小であるプロセッサは第1のプロセッサP1である。 Here, the allocation control means E1 searches for a processor having the minimum value of the remaining capacity Mj. Among the remaining power performances M1 to M4 (40 KI, 60 KI, 70 KI, 60 KI) of the first to fourth processors P1 to P4, the minimum remaining power performance is the remaining power performance M1 of the first processor P1 = 40 KI. In other words, the processor having the minimum surplus performance is the first processor P1.
次に、割り当て制御手段E1は、再割り当ての可能性を検索する。すなわち、最小の余力性能M1=40KIに該当する第1のプロセッサP1以外の第2、第3、第4のプロセッサP2,P3,P4に割り当てられているタスクは、第2のタスクT2、第3のタスクT3および第4のタスクT4である。これら3つのタスクT2,T3,T4について、第1のプロセッサP1へ再割り当て可能なタスクが存在するか否かを、第1のプロセッサP1の余力性能M1=40KIを基準にして検索する。 Next, the allocation control means E1 searches for the possibility of reassignment. That is, the tasks assigned to the second, third, and fourth processors P2, P3, and P4 other than the first processor P1 corresponding to the minimum surplus performance M1 = 40 KI are the second task T2, the third task Task T3 and fourth task T4. With respect to these three tasks T2, T3, and T4, whether there is a task that can be reassigned to the first processor P1 is searched based on the remaining performance M1 = 40 KI of the first processor P1.
第2のタスクT2は、その処理性能値Φ2が60KIであり、第1のプロセッサP1の余力性能M1=40KIより大きいので、第1のプロセッサP1への再割り当ては不可能である。 Since the second task T2 has a processing performance value Φ2 of 60 KI and is larger than the surplus performance M1 of the first processor P1 = 40 KI, it cannot be reassigned to the first processor P1.
第3のタスクT3は、その処理性能値Φ3が50KIであり、やはり第1のプロセッサP1の余力性能M1=40KIより大きいので、第1のプロセッサP1への再割り当ては不可能である。 The third task T3 has a processing performance value Φ3 of 50 KI and is still larger than the remaining capacity M1 = 40 KI of the first processor P1, and therefore cannot be reassigned to the first processor P1.
第4のタスクT4は、その処理性能値Φ4が40KIであり、第1のプロセッサP1の余力性能M1=40KIの大きさ範囲内に収まるので、第1のプロセッサP1への再割り当てが可能である。 The fourth task T4 has a processing performance value Φ4 of 40 KI and falls within the size range of the surplus performance M1 of the first processor P1 = 40 KI. Therefore, it can be reassigned to the first processor P1. .
そこで、図7(a)から図7(b)への矢印で示すように、それまで第4のプロセッサP4に割り当てられていた第4のタスクT4を第1のプロセッサP1へ再割り当て(移動)する。この再割り当ての結果、第1のプロセッサP1の余力性能M1は0KIとなり、第4のプロセッサP4はプロセッサの割り当てが解消される。 Therefore, as indicated by the arrows from FIG. 7A to FIG. 7B, the fourth task T4 that has been assigned to the fourth processor P4 so far is reassigned (moved) to the first processor P1. To do. As a result of this reassignment, the surplus performance M1 of the first processor P1 becomes 0 KI, and the processor assignment of the fourth processor P4 is canceled.
以上により、
第1のプロセッサP1の余力性能M1は、M1=0KI(フル割り当て)
第2のプロセッサP2の余力性能M2は、M2=60KI(変化なし)
第3のプロセッサP3の余力性能M3は、M3=70KI(変化なし)
第4のプロセッサP4の余力性能M4は、M4=100KI(割り当て解消)
となる。
With the above,
The remaining capacity M1 of the first processor P1 is M1 = 0 KI (full allocation)
The remaining capacity M2 of the second processor P2 is M2 = 60 KI (no change)
The remaining capacity M3 of the third processor P3 is M3 = 70 KI (no change)
The remaining capacity M4 of the fourth processor P4 is M4 = 100 KI (assignment cancellation)
It becomes.
結果として、次に余力性能が最小であるプロセッサは、60KIの第2のプロセッサP2となる。以下、図7(b)に従って説明する。 As a result, the next processor with the smallest surplus performance is the second processor P2 with 60 KI. Hereinafter, a description will be given with reference to FIG.
最小の余力性能M2=60KIに該当する第2のプロセッサP2以外で割り当てられているタスクは、第3のタスクT3である。このタスクT3について、再割り当て可能なタスクか否かを、第2のプロセッサP2の余力性能M2=60KIを基準にして検索する。 The task assigned to other than the second processor P2 corresponding to the minimum remaining power performance M2 = 60 KI is the third task T3. Whether or not this task T3 is a reassignable task is searched based on the remaining performance M2 = 60 KI of the second processor P2.
第3のタスクT3は、その処理性能値Φ3が50KIであり、第2のプロセッサP2の余力性能M2=60KIの大きさ範囲内に収まるので、第2のプロセッサP2への再割り当てが可能である。 Since the third task T3 has a processing performance value Φ3 of 50 KI and falls within the size range of the remaining performance M2 of the second processor P2 = 60 KI, it can be reassigned to the second processor P2. .
そこで、図7(b)から図7(c)への矢印で示すように、それまで第3のプロセッサP3に割り当てられていた第3のタスクT3を第2のプロセッサP2へ再割り当て(移動)する。この再割り当ての結果、第2のプロセッサP2の余力性能M2は10KIとなり、第3のプロセッサP3はプロセッサの割り当てが解消される。 Therefore, as indicated by the arrows from FIG. 7B to FIG. 7C, the third task T3 that has been assigned to the third processor P3 so far is reassigned (moved) to the second processor P2. To do. As a result of this reassignment, the remaining capacity M2 of the second processor P2 becomes 10 KI, and the processor assignment of the third processor P3 is canceled.
以上により、
第1のプロセッサP1の余力性能M1は、M1=0KI(フル割り当て)
第2のプロセッサP2の余力性能M2は、M2=10KI(減少)
第3のプロセッサP3の余力性能M3は、M3=120KI(割り当て解消)
第4のプロセッサP4の余力性能M4は、M4=100KI(割り当て解消)
となる。
With the above,
The remaining capacity M1 of the first processor P1 is M1 = 0 KI (full allocation)
The remaining capacity M2 of the second processor P2 is M2 = 10 KI (decrease)
The remaining capacity M3 of the third processor P3 is M3 = 120 KI (assignment cancellation)
The remaining capacity M4 of the fourth processor P4 is M4 = 100 KI (assignment cancellation)
It becomes.
以上のように再割り当てすると、第1のプロセッサP1に第1のタスクT1と第5のタスクT5と第4のタスクT4が割り当てられ、第2のプロセッサP2に第2のタスクT2と第6のタスクT6と第3のタスクT3が割り当てられ、第3のプロセッサP3には第7のタスクT7が割り当てられ、第4のプロセッサP4には第8のタスクT8が割り当てられた状態となる。性能保証タスクT1〜T5だけに注目し、性能非保証タスクT6〜T8は無視すると、第1のプロセッサP1には第1のタスクT1と第5のタスクT5と第4のタスクT4が割り当てられ、第2のプロセッサP2には第2のタスクT2と第3のタスクT3が割り当てられ、第3のプロセッサP3と第4のプロセッサP4には割り当てがない状態となる。結果として、これ以上の再割り当て可能な性能保証タスクはなくなる。 When reassigned as described above, the first task T1, the fifth task T5, and the fourth task T4 are assigned to the first processor P1, and the second task T2 and the sixth task T4 are assigned to the second processor P2. The task T6 and the third task T3 are assigned, the seventh processor T3 is assigned to the third processor P3, and the eighth task T8 is assigned to the fourth processor P4. If attention is paid only to the performance guarantee tasks T1 to T5 and the performance non-guarantee tasks T6 to T8 are ignored, the first task T1, the fifth task T5, and the fourth task T4 are allocated to the first processor P1, A second task T2 and a third task T3 are assigned to the second processor P2, and no assignment is made to the third processor P3 and the fourth processor P4. As a result, there are no more reassignable performance assurance tasks.
以上の割り当て制御手段E1によるタスクのプロセッサへの割り当ておよび再割り当ての処理が完了すると、次に動作状態制御手段E2が起動し、性能保証タスクの割り当てが解消された第3のプロセッサP3と第4のプロセッサP4の動作状態に対して省電力状態を適用する。ここでは、動作状態制御手段E2がクロック制御部4を制御して、第3のプロセッサP3および第4のプロセッサP4に対するクロックの供給を停止する。第3のプロセッサP3、第4のプロセッサP4には、性能保証タスクαは割り当てられていないから、クロックの供給の停止は問題ない。
When the above assignment control means E1 completes the assignment and reassignment of tasks to processors, the operation state control means E2 is activated next, and the third processor P3 and the
以上のようにして、図4の状態から始めてタスクの再割り当て(移動)を実行した結果を図8に示す。リアルタイムフラグ情報a1が“1”となっている第1ないし第5のタスクT1〜T5は、第1のプロセッサP1と第2のプロセッサP2とに集約され、使用プロセッサ数が最小限となる割り当てが実現されている。 FIG. 8 shows the result of task reassignment (movement) starting from the state of FIG. 4 as described above. The first to fifth tasks T1 to T5 in which the real-time flag information a1 is “1” are aggregated into the first processor P1 and the second processor P2, and an allocation that minimizes the number of processors used is performed. It has been realized.
図9は本実施の形態1の省電力制御装置の動作を示すフローチャートである。以下、このフローチャートに従って動作を説明する。 FIG. 9 is a flowchart showing the operation of the power saving control apparatus according to the first embodiment. The operation will be described below according to this flowchart.
まずステップS1において、オペレーティングシステム10の割り当て制御手段E1は、余力性能Mjの値が最小となるプロセッサを検索する。より詳しくは、次のとおりである。
First, in step S1, the allocation control means E1 of the
余力性能Mjを、処理能力値Wjと処理性能値総和ΣΦiの差分として求める(Mj
=Wj−ΣΦi)。処理能力値Wjは、プロセッサPjの単位時間当たりの処理能力qjにリアルタイム性能時間τiを乗算したものとして求める(Wj=qj×τi)。すなわち、余力性能Mjは、
Mj=qj×τi−ΣΦi
に従って求める。ステップS1では、この余力性能Mjの値が最小となるプロセッサを検索する。
The remaining performance Mj is obtained as a difference between the processing capability value Wj and the processing performance value sum ΣΦi (Mj
= Wj-ΣΦi). The processing capability value Wj is obtained by multiplying the processing capability qj per unit time of the processor Pj by the real-time performance time τi (Wj = qj × τi). That is, the remaining capacity performance Mj is
Mj = qj × τi−ΣΦi
Ask according to. In step S1, a processor having a minimum value of the surplus performance Mj is searched.
次いでステップS2において、別のプロセッサに割り当てられているタスクの中でステップS1にて検索されたプロセッサへ性能保証が可能なまま再割り当て可能なタスク(タスクA)が存在するかどうかを検索する。上記の動作例では、第4のプロセッサP4に割り当てられていたタスクT4が該当する。 Next, in step S2, a search is made as to whether there is a task (task A) that can be reassigned while the performance is guaranteed to the processor searched in step S1 among the tasks assigned to another processor. In the above operation example, the task T4 assigned to the fourth processor P4 corresponds.
ステップS3は、ステップS2にて検索された結果において、再割り当て可能タスク(タスクA)が存在するか否かに応じて分岐を行う処理である。再割り当て可能タスク(タスクA)が存在すると判定したときはステップS4に分岐し、再割り当て可能タスク(タスクA)が存在しないと判定したときはステップS5に分岐する。 Step S3 is a process of branching according to whether or not a reassignable task (task A) exists in the result searched in step S2. If it is determined that there is a reassignable task (task A), the process branches to step S4. If it is determined that there is no reassignable task (task A), the process branches to step S5.
ステップS4においては、再割り当て可能タスク(タスクA)をステップS1で検索したプロセッサへ移動させ、再度ステップS2へ移行する。 In step S4, the reassignable task (task A) is moved to the processor searched in step S1, and the process proceeds to step S2 again.
ステップS2,S3,S4のループを繰り返すと、ステップS1で求めたプロセッサに対する再割り当て可能なタスクの検索の処理が終了したことになり、ステップS3からステップS5へと進む。 When the loop of steps S2, S3, and S4 is repeated, the process of searching for a reassignable task for the processor obtained in step S1 is completed, and the process proceeds from step S3 to step S5.
ステップS5において、再割り当て未完了のプロセッサ・タスクが存在するかどうかを判定し、再割り当て未完了のプロセッサ・タスクが存在すると判定された場合は、再割り当て未完了のプロセッサ・タスクについて、再度ステップS1から同様のステップを繰り返す。 In step S5, it is determined whether or not there is a processor task that has not been reassigned. If it is determined that there is a processor task that has not yet been reassigned, the processor task that has not yet been reassigned is re-stepped. The same steps are repeated from S1.
ステップS5にて再割り当て未完了のプロセッサ・タスクが存在しないと判定された場合は、ステップS6に進む。ステップS6において、動作状態制御手段E2は、リアルタイムフラグ情報a1が“1”のタスクの割り当てが解消された不使用プロセッサについて、クロック制御部4を介してクロック供給を停止することにより消費電力を削減する。
If it is determined in step S5 that there are no unassigned processor tasks, the process proceeds to step S6. In step S6, the operation state control means E2 reduces power consumption by stopping the clock supply via the
以上で説明したように本実施の形態1の省電力制御装置においては、各プロセッサPj(j=1,2…m)に割り当てられる性能保証タスクTiが必要とするリアルタイム性能時間τi(i=1,2…n)を加味した要素値としてプロセッサPjの処理能力値Wjを用いることとし、割り当て制御手段E1は、各プロセッサPjに割り当てられるべき各性能保証タスクTiの処理性能値Φi(i=1,2…n)のそれぞれと、プロセッサPjの処理能力値Wj(j=1,2…m)のそれぞれとの相関関係に基づいて、使用プロセッサ数が最小限となるように、各性能保証タスクTiの各プロセッサPjへの割り当ての制御を行うものとして構成されている。より詳しくは、判断対象の性能保証タスクTiの処理性能値Φiを他のプロセッサPjの余力性能Mjと比較し、判断対象の性能保証タスクTiの処理性能値Φiが他のプロセッサPjの余力性能Mj以下のときにその判断対象の性能保証タスクを余力のある他のプロセッサに再割り当てするように構成されている。そして、動作状態制御手段E2は、割り当て制御手段E1による割り当ての結果、性能保証タスクTiの割り当てが解消された不使用プロセッサの動作状態に対して省電力状態を適用するものとして構成されている。その結果として、本実施の形態1の省電力制御装置によれば、性能保証タスクと性能非保証タスクとが混在するマルチプロセッサシステムにおいて、時間的に変化する要素値を常時的に監視したり、プロセッサ動作状態を常時的に制御下に置いたりすることなく、また従来技術のようにプロセッサ負荷が時間経過に伴って低負荷状態になることを前提条件にすることなく、リアルタイム性を保証しながら消費電力を効果的に削減することができる。 As described above, in the power saving control device according to the first embodiment, the real-time performance time τi (i = 1) required by the performance guarantee task Ti allocated to each processor Pj (j = 1, 2,... M). , 2... N) is used as the element value taking into account the processor Pj's processing capability value Wj, and the allocation control means E1 processes the processing performance value Φi (i = 1) of each performance assurance task Ti to be allocated to each processor Pj. , 2... N) and the processing capability values Wj (j = 1, 2,... M) of the processor Pj, so that each performance assurance task is minimized so that the number of processors used is minimized. It is configured to control allocation of Ti to each processor Pj. More specifically, the processing performance value Φi of the performance assurance task Ti to be determined is compared with the remaining performance Mj of the other processor Pj, and the processing performance value Φi of the performance assurance task Ti to be determined is the remaining performance Mj of the other processor Pj. The performance guarantee task to be determined is reassigned to another processor having a surplus at the following time. The operation state control unit E2 is configured to apply the power saving state to the operation state of the unused processor in which the assignment of the performance guarantee task Ti is canceled as a result of the assignment by the assignment control unit E1. As a result, according to the power saving control device of the first embodiment, in a multiprocessor system in which a performance guarantee task and a performance non-guarantement task are mixed, a temporally changing element value is constantly monitored, While guaranteeing real-time performance without always keeping the processor operating state under control and without assuming that the processor load becomes low over time as in the prior art Power consumption can be effectively reduced.
なお、性能保証タスクの割り当てが解消された不使用プロセッサへのクロック供給を停止する代わりに、周波数を低く(低クロックモードに)してもよい(※1)。 Instead of stopping the clock supply to the unused processor whose performance assurance task assignment has been eliminated, the frequency may be lowered (low clock mode) (* 1).
また、プロセッサの動作モードを変更することとし、性能保証タスクの割り当てが確定された使用プロセッサの動作モードについて、プロセッサのクロック供給を低クロックモードから高クロックモードへ変更するのでもよいし、低消費電力状態から通常動作状態へ変更するようにしてもよい(※2)。 In addition, the processor operating mode may be changed, and the processor clock supply may be changed from the low clock mode to the high clock mode for the operating mode of the used processor for which the performance guarantee task assignment has been confirmed. The power state may be changed to the normal operation state (* 2).
なお、性能保証タスクの割り当てが解消された不使用プロセッサに割り当てられていたメモリを、性能保証タスクが割り当てられている使用プロセッサへ再割り当てるように構成してもよい。あるいは、性能保証タスクの割り当てが解消された不使用プロセッサのキャッシュモードを変更するのでもよい。例えば、スヌーピング機能を備えたキャッシュにおいては、周辺機器からのDMAなどによって、メモリ内容がキャッシュ内容と不一致にならないかを監視し、不一致となった場合にはキャッシュ内容を破棄するように機能している。そこで、性能保証タスクの割り当てが解消された不使用プロセッサについては、そのキャッシュのスヌープモードを停止させる。スヌープモードを停止させることにより、マルチプロセッサシステムのトータルなタスク分散処理の効率を高くすることが可能となる(※3)。 Note that the memory allocated to the unused processor for which the allocation of the performance guarantee task is eliminated may be reassigned to the used processor to which the performance assurance task is allocated. Alternatively, the cache mode of the unused processor in which the performance guarantee task assignment is canceled may be changed. For example, in a cache having a snooping function, it is monitored whether the memory contents do not match the cache contents by DMA or the like from a peripheral device, and if it does not match, the cache contents are discarded. Yes. Therefore, the snoop mode of the cache is stopped for the unused processor for which the performance guarantee task assignment has been eliminated. By stopping the snoop mode, the total task distribution processing efficiency of the multiprocessor system can be increased (* 3).
なお、本実施の形態1では、リアルタイムフラグ情報a1により性能非保証タスクを判定しているが、例えば、リアルタイム性能情報a2あるいは処理性能情報a3の値が“0”のタスクを性能非保証タスクと判定してもよい(※4)。 In the first embodiment, the performance non-guaranteed task is determined based on the real-time flag information a1. For example, a task whose real-time performance information a2 or processing performance information a3 has a value of “0” is regarded as a performance non-guaranteed task. It may be judged (* 4).
なお、本実施の形態1ではステップS1にて、余力性能Mj(=qj×τi−ΣΦi
)の値が最小となるプロセッサを検索しているが、余力性能Mjの値が最大となるプロセッサを優先してもよいし、または単純にプロセッサ番号の昇順や降順に従って検索するのでもよい(※5)。
In the first embodiment, in step S1, the remaining capacity Mj (= qj × τi−ΣΦi
) Is searched for, but priority may be given to the processor having the maximum surplus performance Mj, or the search may be simply performed in ascending or descending order of the processor numbers (* 5).
なお、図9に示すフローチャートのステップにおいては、ループ処理(S2→S3→S4→S2…、S1→S2→S3→S5→S1…)が含まれるため、このループ処理時間が長くなる可能性もある。そのため、図9に示すフローチャートのステップを実行するか否かを判定する(つまり、図9の「開始」へ処理を移行するか否かを判定する)処理を別途行うように構成してもよい(※6)。 9 includes a loop process (S2 → S3 → S4 → S2..., S1 → S2 → S3 → S5 → S1...), The loop processing time may be long. is there. Therefore, it may be configured to separately perform a process of determining whether to execute the steps of the flowchart shown in FIG. 9 (that is, determining whether to shift the process to “start” in FIG. 9). (* 6).
なお、本実施の形態1では割り当て制御手段E1と動作状態制御手段E2は、CPU1とROM2とRAM3の機能的結合によるオペレーティングシステム10をもって構成されているが、このオペレーティングシステム10に代えて専用のDSP(Digital Signal Processor)をもって構成してもよい(※7)。
In the first embodiment, the allocation control means E1 and the operation state control means E2 are configured with an
(実施の形態2)
本発明の実施の形態2は、性能保証タスクが使用する資源について競合がないことを優先条件にして、性能保証タスクのプロセッサへの再割り当てを行うように構成したものである。
(Embodiment 2)
The second embodiment of the present invention is configured to reallocate a performance guarantee task to a processor on the condition that there is no contention for resources used by the performance guarantee task.
本実施の形態2のマルチプロセッサシステムにおける省電力制御装置の構成については、実施の形態1の場合の図1が援用される。 For the configuration of the power saving control device in the multiprocessor system of the second embodiment, FIG. 1 in the case of the first embodiment is used.
図10は実施の形態2の場合において、個々のタスクT1〜T8がそれぞれ保持しているタスク管理情報20の構造を示す。このタスク管理情報20は、実施の形態1の場合の図3でのリアルタイムフラグ情報a1、リアルタイム性能情報a2および処理性能情報a3に加えて、各タスクがそれぞれ使用する資源を示す使用資源情報a4も保持している。
FIG. 10 shows the structure of the
図11は実施の形態2の場合において、第1ないし第8のタスクT1〜T8についてのタスク管理情報20の具体的な内容を示す。第1ないし第4のプロセッサP1〜P4の単位時間当たりの処理能力qj(j=1,2…4)であるMIPS値については、実施の形態1の場合の図5が援用される。
FIG. 11 shows the specific contents of the
図11において、実施の形態1の場合の図4と相違する点は、リアルタイム性能時間τiについてである。実施の形態1(図4)の場合には、第1および第4のプロセッサP1,P4のリアルタイム性能時間τ1とτ4は等しく10msであり、また第2および第3のプロセッサP2,P3のリアルタイム性能時間τ2とτ3は等しく12msである。τ1,τ4とτ2,τ3とでは相違している。これに対して、本実施の形態2では、すべての性能保証タスクαT1〜T5のリアルタイム性能時間τ1〜τ5は互いに等しく、すべて10msとなっている。 In FIG. 11, the difference from FIG. 4 in the case of the first embodiment is the real-time performance time τi. In the case of the first embodiment (FIG. 4), the real-time performance times τ1 and τ4 of the first and fourth processors P1 and P4 are equal to 10 ms, and the real-time performance of the second and third processors P2 and P3. Times τ2 and τ3 are equally 12 ms. There is a difference between τ1, τ4 and τ2, τ3. On the other hand, in the second embodiment, the real-time performance times τ1 to τ5 of all the performance guarantee tasks αT1 to T5 are equal to each other and are all 10 ms.
図12(a)は図11に対応している。図4との比較で説明すると、リアルタイムフラグ情報a1については同じであり、リアルタイム性能時間τi、処理性能値Φiについては、第1のタスクT1、第4のタスクT4および第5のタスクT5では同じである。第2のタスクT2と第3のタスクT3では相違している。すなわち、第2のタスクT2では、リアルタイム性能時間τ2は10msであり、処理性能値Φ2は40KIである(τ2=10ms、Φ2=40KI)。第3のタスクT3では、リアルタイム性能時間τ3は10msであり、処理性能値Φ3は30KIである(τ3=10ms、Φ3=30KI)。 FIG. 12A corresponds to FIG. In comparison with FIG. 4, the real-time flag information a1 is the same, and the real-time performance time τi and the processing performance value Φi are the same in the first task T1, the fourth task T4, and the fifth task T5. It is. The second task T2 and the third task T3 are different. That is, in the second task T2, the real-time performance time τ2 is 10 ms, and the processing performance value Φ2 is 40 KI (τ2 = 10 ms, Φ2 = 40 KI). In the third task T3, the real-time performance time τ3 is 10 ms, and the processing performance value Φ3 is 30 KI (τ3 = 10 ms, Φ3 = 30 KI).
本実施の形態2において、オペレーティングシステム10の割り当て制御手段E1は、使用資源情報a4を参照して、第1のタスクT1は資源Aと資源Bを使用すると判定し、第2のタスクT2は資源Cと資源Dを使用すると判定し、第3のタスクT3は資源Aと資源Cを使用すると判定し、第4のタスクT4は資源Bと資源Dを使用すると判定し、第5のタスクT5は資源Eを使用すると判定する。
In the second embodiment, the allocation control means E1 of the
余力性能Mj(=qj×τi−ΣΦi)については、実施の形態1の場合と同じとな
っている。すなわち、第1のプロセッサP1の余力性能はM1=40KI、第2のプロセッサP2の余力性能はM2=60KI、第3のプロセッサP3の余力性能はM3=70KI、第4のプロセッサP4の余力性能はM4=60KIである。ここでも、余力性能が最小となるのは第1のプロセッサP1である。
The remaining performance Mj (= qj × τi−ΣΦi) is the same as that in the first embodiment. That is, the remaining capacity of the first processor P1 is M1 = 40 KI, the remaining capacity of the second processor P2 is M2 = 60 KI, the remaining capacity of the third processor P3 is M3 = 70 KI, and the remaining capacity of the fourth processor P4 is M4 = 60 KI. Again, it is the first processor P1 that has the minimum surplus performance.
割り当て制御手段E1は、再割り当ての可能性を検索する。すなわち、最小の余力性能M1=40KIに該当する第1のプロセッサP1以外の第2、第3、第4のプロセッサP2,P3,P4に割り当てられているタスクは、第2のタスクT2、第3のタスクT3および第4のタスクT4であるが、これら3つのタスクT2,T3,T4について、比較基準である第1のプロセッサP1が使用する資源A,B,Eに対して競合しないタスクが存在するかどうかを検索する。第3のプロセッサP3が使用する資源はA,Cであり、資源Aが競合する。第4のプロセッサP4が使用する資源はB,Dであり、資源Bが競合する。これに対して、第2のプロセッサP2が使用する資源はC,Dであり、第1のプロセッサP1が使用する資源A,B,Eとは競合しない。そこで、資源競合のない第2のプロセッサP2を再割り当ての候補に選択する。 The allocation control means E1 searches for the possibility of reassignment. That is, the tasks assigned to the second, third, and fourth processors P2, P3, and P4 other than the first processor P1 corresponding to the minimum surplus performance M1 = 40KI are the second task T2, the third task Task T3 and fourth task T4, but for these three tasks T2, T3, and T4, there are tasks that do not compete with resources A, B, and E used by the first processor P1, which is the comparison criterion Search if you want to. The resources used by the third processor P3 are A and C, and the resource A competes. The resources used by the fourth processor P4 are B and D, and the resource B competes. On the other hand, the resources used by the second processor P2 are C and D, and do not compete with the resources A, B, and E used by the first processor P1. Therefore, the second processor P2 having no resource contention is selected as a reassignment candidate.
そこで、図12(a)から図12(b)への矢印で示すように、それまで第2のプロセッサP2に割り当てられていた第2のタスクT2を第1のプロセッサP1へ再割り当て(移動)する。この再割り当ての結果、第1のプロセッサP1の余力性能M1は0KIとなり、第2のプロセッサP2はプロセッサの割り当てが解消される。 Therefore, as shown by the arrows from FIG. 12A to FIG. 12B, the second task T2 that has been assigned to the second processor P2 until then is reassigned (moved) to the first processor P1. To do. As a result of this reassignment, the remaining capacity M1 of the first processor P1 becomes 0 KI, and the processor assignment of the second processor P2 is canceled.
以上により、
第1のプロセッサP1の余力性能M1は、M1=0KI(フル割り当て)
第2のプロセッサP2の余力性能M2は、M2=100KI(割り当て解消)
第3のプロセッサP3の余力性能M3は、M3=70KI(変化なし)
第4のプロセッサP4の余力性能M4は、M4=60KI(変化なし)
となる。
With the above,
The remaining capacity M1 of the first processor P1 is M1 = 0 KI (full allocation)
The remaining performance M2 of the second processor P2 is M2 = 100 KI (assignment cancellation)
The remaining capacity M3 of the third processor P3 is M3 = 70 KI (no change)
The remaining capacity M4 of the fourth processor P4 is M4 = 60 KI (no change)
It becomes.
結果として、次に余力性能が最小であるプロセッサは、60KIの第4のプロセッサP4となる。以下、図12(b)に従って説明する。 As a result, the next processor with the smallest surplus performance is the fourth processor P4 with 60 KI. Hereinafter, a description will be given with reference to FIG.
最小の余力性能M4=60KIに該当する第4のプロセッサP4以外で割り当てられているタスクは、第3のタスクT3である。このタスクT3について、再割り当て可能なタスクか否かを、第4のプロセッサP4の余力性能M4=60KIを基準にして検索する。 The task assigned to other than the fourth processor P4 corresponding to the minimum remaining power performance M4 = 60 KI is the third task T3. The task T3 is searched for whether or not it is a reassignable task on the basis of the remaining capacity M4 = 60 KI of the fourth processor P4.
第3のタスクT3は、その処理性能値Φ3が30KIであり、第4のプロセッサP4の余力性能M4=60KIの大きさ範囲内に収まるので、第4のプロセッサP4への再割り当てが可能である。第4のプロセッサP4の第4のタスクT4が使用する資源は資源Bと資源Dとであり、第3のタスクT3が使用する資源Aと資源Cは競合しない。 Since the third task T3 has a processing performance value Φ3 of 30 KI and falls within the size range of the remaining performance M4 of the fourth processor P4 = 60 KI, it can be reassigned to the fourth processor P4. . The resources used by the fourth task T4 of the fourth processor P4 are the resource B and the resource D, and the resource A and the resource C used by the third task T3 do not compete.
そこで、図12(b)から図12(c)への矢印で示すように、それまで第3のプロセッサP3に割り当てられていた第3のタスクT3を第4のプロセッサP4へ再割り当て(移動)する。この再割り当ての結果、第4のプロセッサP4の余力性能M4は30KIとなり、第3のプロセッサP3はプロセッサの割り当てが解消される。 Therefore, as indicated by the arrows from FIG. 12B to FIG. 12C, the third task T3 that has been assigned to the third processor P3 so far is reassigned (moved) to the fourth processor P4. To do. As a result of this reassignment, the remaining capacity M4 of the fourth processor P4 becomes 30 KI, and the processor assignment of the third processor P3 is canceled.
以上により、
第1のプロセッサP1の余力性能M1は、M1=0KI(フル割り当て)
第2のプロセッサP2の余力性能M2は、M2=100KI(割り当て解消)
第3のプロセッサP3の余力性能M3は、M3=100KI(割り当て解消)
第4のプロセッサP4の余力性能M4は、M4=30KI(減少)
となる。
With the above,
The remaining capacity M1 of the first processor P1 is M1 = 0 KI (full allocation)
The remaining performance M2 of the second processor P2 is M2 = 100 KI (assignment cancellation)
The remaining capacity M3 of the third processor P3 is M3 = 100 KI (assignment cancellation)
The remaining capacity M4 of the fourth processor P4 is M4 = 30 KI (decrease)
It becomes.
以上の再割り当てにおいて、性能保証タスクT1〜T5だけに注目すると、第1のプロセッサP1には第1のタスクT1と第5のタスクT5と第2のタスクT2が割り当てられ、第4のプロセッサP4には第4のタスクT4と第3のタスクT3が割り当てられ、第2のプロセッサP2と第3のプロセッサP3には割り当てがない状態となる。結果として、これ以上の再割り当て可能な性能保証タスクはなくなる。 In the above reassignment, when focusing only on the performance guarantee tasks T1 to T5, the first processor T1, the fifth task T5, and the second task T2 are assigned to the first processor P1, and the fourth processor P4. Are assigned the fourth task T4 and the third task T3, and the second processor P2 and the third processor P3 are not assigned. As a result, there are no more reassignable performance assurance tasks.
以上の割り当て制御手段E1によるタスクのプロセッサへの割り当ておよび再割り当ての処理が完了すると、次に動作状態制御手段E2が起動し、性能保証タスクの割り当てが解消された第2のプロセッサP2と第3のプロセッサP3の動作状態に対して省電力状態を適用する。ここでは、動作状態制御手段E2がクロック制御部4を制御して、第2のプロセッサP2および第3のプロセッサP3に対するクロックの供給を停止する。第2のプロセッサP2、第3のプロセッサP3には、性能保証タスクαは割り当てられていないから、クロックの供給の停止は問題ない。
When the above assignment control means E1 completes the process of assigning and reassigning tasks to processors, the operation state control means E2 is activated next, and the second processor P2 and the
以上のようにして、図11の状態から始めてタスクの再割り当て(移動)を実行した結果を図13に示す。リアルタイムフラグ情報a1が“1”となっている第1ないし第5のタスクT1〜T5は、第1のプロセッサP1と第4のプロセッサP4とに集約され、使用プロセッサ数が最小限となる割り当てが実現されている。 FIG. 13 shows the result of task reassignment (movement) starting from the state shown in FIG. 11 as described above. The first to fifth tasks T1 to T5 in which the real-time flag information a1 is “1” are aggregated into the first processor P1 and the fourth processor P4, and an allocation that minimizes the number of processors used is performed. It has been realized.
図14は本実施の形態2の省電力制御装置の動作を示すフローチャートである。以下、このフローチャートに従って動作を説明する。実施の形態1の場合の図9との対比では、ステップS12がステップS2と相違し、他のステップは同じである。 FIG. 14 is a flowchart showing the operation of the power saving control apparatus according to the second embodiment. The operation will be described below according to this flowchart. In contrast to FIG. 9 in the case of the first embodiment, step S12 is different from step S2, and the other steps are the same.
まずステップS11において、オペレーティングシステム10の割り当て制御手段E1は、余力性能Mj(=qj×τi−ΣΦi)の値が最小となるプロセッサを検索する
。
First, in step S11, the allocation control means E1 of the
次いでステップS12において、別のプロセッサに割り当てられているタスクの中でステップS11にて検索されたプロセッサへ性能保証が可能なまま再割り当て可能なタスクの中で、使用する資源の競合がないタスク(タスクB)が存在するかどうかを検索する。上記の動作例では、第2のプロセッサP2に割り当てられていたタスクT2が該当する。 Next, in step S12, among the tasks assigned to another processor, among the tasks that can be reassigned while the performance guarantee is possible to the processor searched in step S11, there is no contention of resources to be used ( Search for task B). In the above operation example, the task T2 assigned to the second processor P2 corresponds.
ステップS13は、ステップS12にて検索された結果において、資源競合のない再割り当て可能タスク(タスクB)が存在するか否かに応じて分岐を行う処理である。資源競合のない再割り当て可能タスク(タスクB)が存在すると判定したときはステップS14に分岐し、資源競合のない再割り当て可能タスク(タスクB)が存在しないと判定したときはステップS15に分岐する。 Step S13 is a process of branching according to whether or not a reassignable task (task B) having no resource conflict exists in the result searched in step S12. If it is determined that there is a reassignable task (task B) without resource conflict, the process branches to step S14. If it is determined that there is no reassignable task (task B) without resource conflict, the process branches to step S15. .
ステップS14においては、資源競合のない再割り当て可能タスク(タスクB)をステップS11で検索したプロセッサへ移動させ、再度ステップS12へ移行する。 In step S14, the reassignable task (task B) having no resource conflict is moved to the processor searched in step S11, and the process proceeds to step S12 again.
ステップS12,S13,S14のループを繰り返すと、ステップS11で求めたプロセッサに対する再割り当て可能なタスクの検索の処理が終了したことになり、ステップS13からステップS15に進む。 When the loop of steps S12, S13, and S14 is repeated, the process of searching for a reassignable task for the processor obtained in step S11 is completed, and the process proceeds from step S13 to step S15.
ステップS15において、再割り当て未完了のプロセッサ・タスクが存在するかどうかを判定し、再割り当て未完了のプロセッサ・タスクが存在すると判定された場合は、再割り当て未完了のプロセッサ・タスクについて、再度ステップS11から同様のステップを繰り返す。 In step S15, it is determined whether or not there is a processor task that has not been reassigned. If it is determined that there is a processor task that has not yet been reassigned, the step is performed again for the processor task that has not been reassigned. The same steps are repeated from S11.
ステップS15にて再割り当て未完了のプロセッサ・タスクが存在しないと判定された場合は、ステップS16に進む。ステップS16において、動作状態制御手段E2は、リアルタイムフラグ情報a1が“1”のタスクの割り当てが解消された不使用プロセッサについて、クロック制御部4を介してクロック供給を停止することにより消費電力を削減する。
If it is determined in step S15 that there are no unassigned processor tasks, the process proceeds to step S16. In step S16, the operation state control means E2 reduces the power consumption by stopping the clock supply via the
以上のように本実施の形態2によれば、資源のプロセッサ間競合を最小限とするので、効率の良いタスク処理が可能となる。 As described above, according to the second embodiment, resource contention between processors is minimized, so that efficient task processing can be performed.
なお、本実施の形態2では性能保証タスクが使用する資源のプロセッサ間競合を最小限とするように再割り当てを行っているが、これに代えて、次のような実施の形態も有効である。 In the second embodiment, reallocation is performed so as to minimize contention between processors for resources used by the performance assurance task. Instead, the following embodiment is also effective. .
すなわち、性能保証タスクにおいてシーケンス的に処理する必要のある性能保証タスク群をなるべく同一のプロセッサへ再割り当てするようにする。このように構成すれば、ディスパッチ回数を最小限とすることができる。 That is, a performance guarantee task group that needs to be processed in sequence in the performance guarantee task is reassigned to the same processor as much as possible. With this configuration, the number of dispatches can be minimized.
また、性能保証タスクが再割り当てされたプロセッサへは性能非保証タスクを割り当てないようにする。このように構成すれば、性能非保証タスクのプロセッサ間移動を最小限とすることができる。 In addition, a performance non-guaranteed task is not assigned to a processor to which a performance assurance task is reassigned. With this configuration, the movement of non-guaranteed tasks between processors can be minimized.
なお、実施の形態1の場合の尚書き(※1)〜(※7)は本実施の形態2にも該当する。 Note that the notes (* 1) to (* 7) in the first embodiment also correspond to the second embodiment.
(実施の形態3)
本発明の実施の形態3は、実施の形態1および実施の形態2の省電力制御装置をデジタルスチルカメラ(モバイル端末)に用いた形態を例示するものである。
(Embodiment 3)
The third embodiment of the present invention exemplifies a form in which the power saving control device according to the first and second embodiments is used in a digital still camera (mobile terminal).
図15は本発明の実施の形態3におけるデジタルスチルカメラの機能的構成を示すブロック図、図16はそのデジタルスチルカメラの主要部の機能を表す機能説明図である。
FIG. 15 is a block diagram showing a functional configuration of a digital still camera according to
本実施の形態3のデジタルスチルカメラ30は、CPU40と、キー操作部51と、タイマ部52と、カメラ部53と、オーディオ部54と、USB(Universal Serial Bus)インターフェース部55とを含んで構成されている。キー操作部51はこれを制御するキー判別タスクT1およびキー実行タスクT5を含み、タイマ部52はこれを制御するタイマタスクT2を含み、カメラ部53はこれを制御するカメラタスクT3を含み、オーディオ部54はこれを制御するオーディオタスクT4を含み、USBインターフェース部55はこれを制御するUSBタスクT6〜T8を含んでいる。タスクT1〜T5は性能保証タスクαに該当し、タスクT6〜T8は性能非保証タスクβに該当する。
The digital
CPU40は、マルチプロセッサシステムを含む。このマルチプロセッサシステムは、複数(ここでは4つ)のプロセッサ、すなわち第1ないし第4のプロセッサP1〜P4を含む。CPU40は、複数のタスクを並列的に処理しながらデジタルスチルカメラ30の全体を制御する。具体的には、CPU40は、キー操作部51から入力される各種の指示信号に応じて、オペレーティングシステムプログラム(OS)および各種アプリケーションプログラムを読み出して実行し、タイマ部52、カメラ部53、オーディオ部54およびUSBインターフェース部55を制御する。
The
このように構成されたデジタルスチルカメラのCPU40における動作シーケンスは、実施の形態1または実施の形態2の省電力制御装置の動作と本質的に同じであるので、説明を省略する。
The operation sequence in the
本実施の形態3のデジタルスチルカメラによれば、消費電力削減が可能となり、バッテリーの持ち時間が長くなるという効果がある。 According to the digital still camera of the third embodiment, it is possible to reduce power consumption and to increase the battery life.
なお、デジタルスチルカメラの機能として、消費電力を特には抑えないで動作する通常消費電力モードと消費電力を抑えて動作する低消費電力モードとを切り替え可能な状態にして搭載した型式において、低消費電力モードが設定された場合に本実施の形態3にあるような再割り当てを行うように構成してもよい。 In addition, as a function of the digital still camera, low power consumption can be achieved by switching between a normal power consumption mode that operates without particularly reducing power consumption and a low power consumption mode that operates with less power consumption. When the power mode is set, the reassignment as in the third embodiment may be performed.
また、低消費電力モードへの移行はユーザによって設定可能な機能としてもよいし、特定の条件が揃った場合に自動的に低消費電力モードへ移行するとしてもよい。 Further, the transition to the low power consumption mode may be a function that can be set by the user, or the transition to the low power consumption mode may be automatically performed when specific conditions are met.
なお、実施の形態1の場合の尚書き(※1)〜(※7)は本実施の形態3にも該当する。 Note that the notes (* 1) to (* 7) in the first embodiment also correspond to the third embodiment.
本実施の形態が適用される他のモバイル端末としては、バッテリ駆動され、携帯して持ち運び可能な携帯装置で、具体的には、携帯電話機、PHS(Personal Handy-phone System)、PDA(Personal Digital Assistant)、携帯ゲーム機、その他ノートパソコンなどがある。また、モバイル端末上で動作するタスクについては、通話機能、メール機能、インターネット機能、ゲーム機能、TV電話機能、TV視聴機能、TV録画機能、写真撮影機能、動画撮影機能、音楽再生機能、その他各種のアプリケーションが挙げられる。 Other mobile terminals to which this embodiment is applied are battery-powered portable devices that can be carried around. Specifically, cellular phones, PHS (Personal Handy-phone System), PDA (Personal Digital) Assistant), portable game consoles, and other notebook computers. For tasks that run on mobile terminals, call functions, mail functions, Internet functions, game functions, TV phone functions, TV viewing functions, TV recording functions, photo shooting functions, video shooting functions, music playback functions, and various other functions Application.
上記の実施の形態では、本発明をマルチプロセッサシステムおよびデジタルスチルカメラのCPUに適用する場合を示したが、本発明はこれらの実施の形態に限定されるものではない。本発明は、上記マルチプロセッサシステムを含む集積回路として実現したり、コンピュータを上記マルチプロセッサとして機能させるプログラムとして実現することもできる。そして、これらのプログラムは、CD−ROM等の記録媒体やインターネット等の通信媒体を介して配信してもよい。 In the above embodiments, the case where the present invention is applied to the CPU of a multiprocessor system and a digital still camera has been described. However, the present invention is not limited to these embodiments. The present invention can be realized as an integrated circuit including the multiprocessor system, or as a program that causes a computer to function as the multiprocessor. These programs may be distributed via a recording medium such as a CD-ROM or a communication medium such as the Internet.
本発明の、性能保証タスクと性能非保証タスクとが混在するマルチプロセッサシステムにおける省電力制御装置は、リアルタイム性を保証しながら消費電力を効果的に削減するための技術として有用である。また、デジタルスチルカメラなどのモバイル端末としても優れたものである。 The power saving control device in a multiprocessor system in which performance guarantee tasks and performance non-guaranteed tasks coexist according to the present invention is useful as a technique for effectively reducing power consumption while guaranteeing real-time performance. It is also excellent as a mobile terminal such as a digital still camera.
E1 割り当て制御手段
E2 動作状態制御手段
P1〜P4 プロセッサ
T1〜T8 タスク
a1 リアルタイムフラグ情報
a2 リアルタイム性能情報
a3 処理性能情報
a4 使用資源情報
α 性能保証タスク
β 性能非保証タスク
1 CPU
2 ROM
3 RAM
4 クロック制御手段
5 周辺デバイス
6 バス
10 オペレーティングシステム(OS)
20 タスク管理情報
30 デジタルスチルカメラ
40 CPU
51 キー操作部
52 タイマ部
53 カメラ部
54 オーディオ部
55 USBインターフェース部
E1 Allocation control means E2 Operation state control means P1-P4 Processor T1-T8 Task a1 Real-time flag information a2 Real-time performance information a3 Processing performance information a4 Used resource information α Performance assurance task β Performance
2 ROM
3 RAM
4 Clock control means 5
20
51
Claims (22)
各プロセッサに割り当てられるべき各性能保証タスクの処理性能値のそれぞれと、各性能保証タスクが必要とするリアルタイム性能時間を加味したプロセッサの処理能力値のそれぞれとの相関関係に基づいて、使用プロセッサ数が最小限となるように、前記各性能保証タスクの前記各プロセッサへの割り当ての制御を行う割り当て制御手段と、
前記割り当て制御手段による割り当ての結果、前記性能保証タスクの割り当てが解消された不使用プロセッサの動作状態に対して省電力状態を適用する動作状態制御手段とを備えるマルチプロセッサシステムにおける省電力制御装置。 In a multiprocessor system that has multiple processors that distribute and process multiple tasks, and that includes both performance guarantee tasks and non-performance guarantee tasks,
The number of processors used based on the correlation between the processing performance value of each performance assurance task to be assigned to each processor and the processing capacity value of the processor taking into account the real-time performance time required by each performance assurance task Assignment control means for controlling the assignment of each performance assurance task to each processor,
A power saving control apparatus in a multiprocessor system, comprising: an operation state control means for applying a power saving state to an operation state of an unused processor whose assignment of the performance guarantee task has been eliminated as a result of assignment by the assignment control means.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009128667A JP2010277300A (en) | 2009-05-28 | 2009-05-28 | Power saving control device for multiprocessor system, and mobile terminal |
PCT/JP2010/002884 WO2010137233A1 (en) | 2009-05-28 | 2010-04-21 | Power saving control device for multiprocessor system, and mobile terminal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009128667A JP2010277300A (en) | 2009-05-28 | 2009-05-28 | Power saving control device for multiprocessor system, and mobile terminal |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010277300A true JP2010277300A (en) | 2010-12-09 |
Family
ID=43222365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009128667A Pending JP2010277300A (en) | 2009-05-28 | 2009-05-28 | Power saving control device for multiprocessor system, and mobile terminal |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2010277300A (en) |
WO (1) | WO2010137233A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013018184A1 (en) * | 2011-07-29 | 2013-02-07 | 富士通株式会社 | Allocation method, and multi-core processor system |
KR101856750B1 (en) | 2017-02-17 | 2018-05-10 | 성균관대학교산학협력단 | Apparatus, method and computer readable recording medium for performing load balancing considering characteristic of turbo mode |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5783259B2 (en) * | 2011-09-16 | 2015-09-24 | 富士通株式会社 | Computer system |
CN107132903B (en) * | 2016-02-29 | 2020-11-13 | 中兴通讯股份有限公司 | Energy-saving management implementation method, device and network equipment |
CN108121433B (en) * | 2017-12-06 | 2021-10-15 | 中国航空工业集团公司西安航空计算技术研究所 | Task scheduling method of GPU (graphics processing Unit) multiprocessor system |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10161985A (en) * | 1996-11-28 | 1998-06-19 | Hitachi Ltd | Processor allocating method, and multiprocessor computer system |
JPH11202988A (en) * | 1998-01-13 | 1999-07-30 | Hitachi Ltd | System power consumption control method |
JP2002099435A (en) * | 2000-09-21 | 2002-04-05 | Toshiba Corp | Control method of multi-task and information processor |
US20050228967A1 (en) * | 2004-03-16 | 2005-10-13 | Sony Computer Entertainment Inc. | Methods and apparatus for reducing power dissipation in a multi-processor system |
US7451333B2 (en) * | 2004-09-03 | 2008-11-11 | Intel Corporation | Coordinating idle state transitions in multi-core processors |
-
2009
- 2009-05-28 JP JP2009128667A patent/JP2010277300A/en active Pending
-
2010
- 2010-04-21 WO PCT/JP2010/002884 patent/WO2010137233A1/en active Application Filing
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013018184A1 (en) * | 2011-07-29 | 2013-02-07 | 富士通株式会社 | Allocation method, and multi-core processor system |
JPWO2013018184A1 (en) * | 2011-07-29 | 2015-03-02 | 富士通株式会社 | Allocation method and multi-core processor system |
US9189279B2 (en) | 2011-07-29 | 2015-11-17 | Fujitsu Limited | Assignment method and multi-core processor system |
KR101856750B1 (en) | 2017-02-17 | 2018-05-10 | 성균관대학교산학협력단 | Apparatus, method and computer readable recording medium for performing load balancing considering characteristic of turbo mode |
Also Published As
Publication number | Publication date |
---|---|
WO2010137233A1 (en) | 2010-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8296773B2 (en) | Systems and methods for thread assignment and core turn-off for integrated circuit energy efficiency and high-performance | |
JP5922778B2 (en) | System and method for managing the generation of thermal energy in a heterogeneous multi-core processor | |
US8032891B2 (en) | Energy-aware scheduling of application execution | |
Kwon et al. | Optimal voltage allocation techniques for dynamically variable voltage processors | |
JP6483609B2 (en) | Multi CPU system | |
Seo et al. | Energy efficient scheduling of real-time tasks on multicore processors | |
JP5324934B2 (en) | Information processing apparatus and information processing method | |
Jejurikar et al. | Procrastination scheduling in fixed priority real-time systems | |
US20070204268A1 (en) | Methods and systems for scheduling processes in a multi-core processor environment | |
Bhuiyan et al. | Energy-efficient parallel real-time scheduling on clustered multi-core | |
JP2009140157A (en) | Virtual computer system and control method for virtual computer and program | |
KR20130004502A (en) | System and method of executing threads at a processor | |
Raghunathan et al. | Adaptive power-fidelity in energy-aware wireless embedded systems | |
JP2010277300A (en) | Power saving control device for multiprocessor system, and mobile terminal | |
Zeng et al. | Practical energy-aware scheduling for real-time multiprocessor systems | |
Tong et al. | Supporting soft real-time sporadic task systems on uniform heterogeneous multiprocessors with no utilization loss | |
Kumar et al. | A green SLA constrained scheduling algorithm for parallel/scientific applications in heterogeneous cluster systems | |
US20170255246A1 (en) | Reducing Power by Vacating Subsets of CPUs and Memory | |
El Ghor et al. | Energy efficient scheduler of aperiodic jobs for real-time embedded systems | |
Kuo et al. | Task assignment with energy efficiency considerations for non-DVS heterogeneous multiprocessor systems | |
Funk et al. | A global optimal scheduling algorithm for multiprocessor low-power platforms | |
Lee et al. | Voltage-clock scaling for low energy consumption in fixed-priority real-time systems | |
US20070136615A1 (en) | System and method for reducing power used to execute application program | |
Cho et al. | A high performance load balance strategy for real‐time multicore systems | |
Huang et al. | Leakage-aware reallocation for periodic real-time tasks on multicore processors |