JP2009093383A - Method and device for controlling multicore processor - Google Patents
Method and device for controlling multicore processor Download PDFInfo
- Publication number
- JP2009093383A JP2009093383A JP2007262792A JP2007262792A JP2009093383A JP 2009093383 A JP2009093383 A JP 2009093383A JP 2007262792 A JP2007262792 A JP 2007262792A JP 2007262792 A JP2007262792 A JP 2007262792A JP 2009093383 A JP2009093383 A JP 2009093383A
- Authority
- JP
- Japan
- Prior art keywords
- core
- operating
- cores
- rate
- processor control
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 110
- 230000007423 decrease Effects 0.000 claims abstract description 5
- 238000012545 processing Methods 0.000 claims description 86
- 238000004364 calculation method Methods 0.000 claims description 29
- 238000001514 detection method Methods 0.000 claims description 3
- 230000003247 decreasing effect Effects 0.000 claims description 2
- 238000005259 measurement Methods 0.000 description 40
- 238000005516 engineering process Methods 0.000 description 4
- 230000020169 heat generation Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
- G06F9/3891—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute organised in groups of units sharing resources, e.g. clusters
-
- 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/5061—Partitioning or combining of resources
-
- 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)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Microcomputers (AREA)
- Power Sources (AREA)
Abstract
Description
本発明はマルチコアを備えたプロセッサを搭載したユニットにおける消費電力を低減する制御方法及びその方法を実施する装置に関する。 The present invention relates to a control method for reducing power consumption in a unit equipped with a processor having a multi-core, and an apparatus for implementing the method.
従来から用いられてきた一般的なマイクロプロセッサでは、パッケージの中には命令発行部や演算部などを組み合わせた、一つの部品として動作するプロセッサコアが1セット組み込まれている。このような単一プロセッサを用いて性能を向上させるため、従来よりクロック周波数を上げるクロックアップの手法が用いられてきた。しかしながらクロックアップに伴う消費電力増大と発熱は大きなネックとなり、他の手法の開発が求められてきた。 In a general microprocessor that has been used conventionally, a set of processor cores that operate as a single component, in which a command issuing unit, a calculation unit, and the like are combined, is incorporated in a package. In order to improve the performance using such a single processor, a clock-up method for increasing the clock frequency has been used conventionally. However, the increase in power consumption and heat generation associated with clock-up are major bottlenecks, and the development of other methods has been demanded.
その対策として、プロセッサを複数個並列動作可能に接続して、効率よく処理を行うことができるようにしたマルチプロセッサの技術が開発され、広く利用されるようになっている。しかしながら単に複数個のプロセッサを並列動作可能に接続すると、その個数が多くなると大型化せざるを得ず、そのプロセッサの使用範囲は限られてしまうという問題がある。その対策として近年の高密度のLSI製作技術の進歩により、1つのプロセッサに互いに独立して作動することができるプロセッサコアを複数設ける、マルチコアプロセッサが開発され、広く使用されるようになってきた。 As a countermeasure, a multiprocessor technology has been developed and widely used in which a plurality of processors are connected so that they can be operated in parallel so that processing can be performed efficiently. However, if a plurality of processors are simply connected so as to be able to operate in parallel, there is a problem that if the number of processors increases, the size of the processors must be increased, and the use range of the processors is limited. As a countermeasure, a multi-core processor in which a plurality of processor cores capable of operating independently from each other has been developed and widely used due to recent progress in high-density LSI manufacturing technology.
マルチコアプロセッサでは、各プロセッサコアは基本的に独立しているため、それぞれのプロセッサコアは他のプロセッサコアに影響されることなく動作でき、マルチコアプロセッサの原理はマルチプロセッサと殆ど同じであり、複数のプロセッサコアで処理を分担し、その分だけ性能を向上させることができる。したがって、マルチコアプロセッサに搭載するコアの数を増やせば、その分だけ性能が上がることとなる。 In a multi-core processor, each processor core is basically independent, so that each processor core can operate without being influenced by other processor cores. The principle of a multi-core processor is almost the same as that of a multi-processor. Processing can be shared by the processor core, and the performance can be improved accordingly. Therefore, if the number of cores mounted on the multi-core processor is increased, the performance will be increased accordingly.
そのためマルチコアとしてコアを2個備えたデュアルコアプロセッサから、4個備えたクアッドコアプロセッサ等、その個数も次第に多くなっている。このようなマルチコアプロセッサは、OSからは複数のマイクロプロセッサとして扱われ、動作感もマルチプロセッサ構成と殆ど変わらないため、ユーザやプログラマはマルチコアプロセッサ上での動作を特に意識せずに作業を行うことができるため、利用しやすいプロセッサとしても注目されている。 For this reason, the number of multi-core processors, such as a dual-core processor having two cores and a quad-core processor having four cores, is gradually increasing. Such a multi-core processor is treated as a plurality of microprocessors from the OS, and the operation feeling is almost the same as that of the multi-processor configuration. Therefore, users and programmers should work without being particularly aware of the operation on the multi-core processor. Therefore, it is attracting attention as an easy-to-use processor.
なお、複数のプロセッサからなるマルチプロセッサシステムにおいて、多くの処理能力を必要としない場合に、各プロセッサの利用量を監視し、利用量が少ないプロセッサを特定して停止またはサスペンドする技術は特開平11−202988号公報に開示されている。
前記のようにマルチコアプロセッサにおいては1つのプロセッサに複数個のプロセッサを搭載し、全体として小型で且つプロセッサが一つにまとまっているため取り扱いやすく、次第に安価になっているため、小型の電気機器にも広く用いられようとしている。しかしながら、この高性能のマルチコアプロセッサを使用するときには、例えばそのマルチコアプロセッサが1つのプロセッサに4個のコアを備えたクアッドコアプロセッサの時、必ずしも常に4個のコアを用いる必要がないことがある。 As described above, in a multi-core processor, a plurality of processors are mounted on one processor, which is small as a whole and is easy to handle because the processors are integrated into one, and is gradually becoming cheaper. Is also about to be widely used. However, when using this high-performance multi-core processor, for example, when the multi-core processor is a quad-core processor having four cores in one processor, it is not always necessary to use four cores.
即ち、特定の電気機器をより高性能化しようとするとき、特定の機能を行うとき短時間に多くの処理量を必要とすることにより、コアを4個備えたクアッドコアプロセッサを搭載しようとしたとき、特に大容量の処理を行う機能を作動させるときには4個のコアがフル稼働して対応し、所望の機能を行わせることができるようになっても、それ以外の機能を行わせるときにはこのような高速処理を必要としないことが多い。 In other words, when trying to improve the performance of a specific electrical device, when a specific function is performed, a large amount of processing is required in a short time, so that a quad core processor having four cores is mounted. Especially, when operating a function that performs large-capacity processing, the four cores are fully operated to cope with a desired function, but when performing other functions, this is the case. Often does not require high-speed processing.
しかしながら、従来のマルチコアプロセッサは、現在処理するタスクがないとき、或いは1つのタスクの中のスレッド処理を行わない場合でも、常に何らかの処理を行うために待機して稼働状態となっており、そのための電力を必要としている。このような無用な電力消費は、一般家庭用の機器でも問題となるが、特に電池で作動するような携帯機器や、照明機器も含めた数多くの機器の電力を供給しているバッテリーから電力供給を行う、例えば車両搭載機器にとっては大きな負担となり、その対策が求められている。更に、消費電力が高い場合は発熱量が多いため、各種の発熱を押さえる対策や、発生した熱の対策を必要とし、全体としてコストアップの原因となる。 However, the conventional multi-core processor is always in a standby state to perform some processing even when there is no task to be processed at present or when thread processing in one task is not performed. I need power. Such unnecessary power consumption is a problem even in general household devices, but power is supplied from batteries that supply power to many devices, especially portable devices that operate on batteries and lighting devices. For example, it is a heavy burden for a vehicle-mounted device, and countermeasures are required. Furthermore, since the amount of heat generated is large when the power consumption is high, measures for suppressing various types of heat generation and measures for the generated heat are required, which causes an increase in cost as a whole.
なお、前記従来技術として挙げた特許文献1記載の技術では、マルチプロセッサシステムにおいて多くの処理能力を必要としない場合に、各プロセッサの利用量を監視し、利用量が少ないプロセッサを特定して停止またはサスペンドする技術は開示されているが、単に特定のプロセッサの作動を制限するのみであり、必ずしも全体のプロセッサから見た効率的なプロセッサの作動制御は行っていない。
In the technology described in
したがって本発明は、各々独立して作動可能なプロセッサのコアを複数備えたマルチコアプロセッサにおいて、このプロセッサで処理する全体の処理量が少ないときには、全体として適切な数のコアを稼働させ、全体として稼働させなくても済むコアは稼働させないようにすることにより、消費電力を低減するとともに発熱を押さえ、発熱防止対策や、発生した熱対策に必要なコストを低減することができるマルチコアプロセッサ制御方法及びその方法を実施する装置を提供することを主たる目的とする。 Therefore, according to the present invention, in a multi-core processor having a plurality of independently operable processor cores, when the total amount of processing performed by the processor is small, an appropriate number of cores are operated as a whole, and the entire operation is performed. A multi-core processor control method that reduces power consumption, suppresses heat generation, prevents heat generation, and reduces costs required for heat countermeasures generated by preventing the operation of cores that do not need to be operated, and its The main object is to provide an apparatus for carrying out the method.
本発明に係るマルチコアプロセッサ制御方法は、前記課題を解決するため、1つのプロセッサーに各々独立して演算処理を行う複数のコアを備えるマルチコアプロセッサの制御方法において、所定時間内での各コアの稼働率を計算し全コアの稼働率を合計し、前記合計した全体稼働率に応じて稼働するコア数を決定し、前記決定したコア数に応じて稼働するコアを選択することを特徴とする。 In order to solve the above problems, a multi-core processor control method according to the present invention is a multi-core processor control method including a plurality of cores that perform arithmetic processing independently on a single processor. The rate is calculated, the operating rates of all the cores are totaled, the number of cores operating according to the total operating rate is determined, and the cores operating according to the determined number of cores are selected.
また、本発明に係る他のマルチコアプロセッサ制御方法は、前記マルチコアプロセッサ制御方法において、前記各コアの稼働率が、所定時間内での稼働時間であり、各コアの稼働時間を合計して全コアの稼働率を算出することを特徴とする。 In another multi-core processor control method according to the present invention, in the multi-core processor control method, the operating rate of each core is an operating time within a predetermined time, and the total operating time of each core It is characterized by calculating the operating rate of
また、本発明に係る他のマルチコアプロセッサ制御方法は、前記マルチコアプロセッサ制御方法において、前記各コアの稼働率が、所定時間内での稼働回数であり、各コアの稼働回数を合計して全コアの稼働率を算出することを特徴とする。 Another multi-core processor control method according to the present invention is the multi-core processor control method, wherein the operating rate of each core is the number of operations within a predetermined time, and the total number of operations of each core It is characterized by calculating the operating rate of
また、本発明に係る他のマルチコアプロセッサ制御方法は、前記マルチコアプロセッサ制御方法において、前記各コアの稼働率の計算を、各コアで行うスレッドまたはタスクについて行うことを特徴とする。 Another multi-core processor control method according to the present invention is characterized in that, in the multi-core processor control method, the operation rate of each core is calculated for a thread or task performed in each core.
また、本発明に係る他のマルチコアプロセッサ制御方法は、前記マルチコアプロセッサ制御方法において、前記各コア及び全コアの稼働率の計算、稼働するコア数の決定、稼働するコアの決定の各処理を、前記複数のコアのうちの特定のコアで行うことを特徴とする。 Further, another multi-core processor control method according to the present invention, in the multi-core processor control method, each processing of calculating the operating rate of each core and all cores, determining the number of operating cores, determining the operating cores, It is performed by a specific core among the plurality of cores.
また、本発明に係る他のマルチコアプロセッサ制御方法は、前記マルチコアプロセッサ制御方法において、前記稼働コアの選択に際しては、全稼働率の増加時と減少時とで稼働個数を異ならせることによりヒステリシス特性を備えたことを特徴とする。 According to another multi-core processor control method of the present invention, in the multi-core processor control method, when the operating core is selected, the hysteresis characteristic is obtained by changing the operating number between when the total operating rate increases and when the operating rate decreases. It is characterized by having.
また、本発明に係る他のマルチコアプロセッサ制御方法は、前記マルチコアプロセッサ制御方法において、前記複数コアの選択に際しては、全稼働率に応じて予め定めた特定のコアを選択することを特徴とする。 Further, another multi-core processor control method according to the present invention is characterized in that, in the multi-core processor control method, when selecting the plurality of cores, a specific core predetermined according to the total operation rate is selected.
また、本発明に係る他のマルチコアプロセッサ制御方法は、前記マルチコアプロセッサ制御方法において、前記複数コアの選択に際しては、全稼働率に応じて予め定めた方式により変更することを特徴とする In addition, another multi-core processor control method according to the present invention is characterized in that, in the multi-core processor control method, when selecting the plurality of cores, the multi-core processor control method is changed according to a predetermined method according to the total operating rate.
また、本発明に係る他のマルチコアプロセッサ制御方法は、前記マルチコアプロセッサ制御方法において、前記稼働コアの選択に際しては、ランダムに選択することを特徴とする。 Another multi-core processor control method according to the present invention is characterized in that, in the multi-core processor control method, the operating core is selected at random.
また、本発明に係る他のマルチコアプロセッサ制御方法は、前記マルチコアプロセッサ制御方法において、前記複数コアの選択に際しては、例外処理の発生を検出したとき全コアを選択することを特徴とする。 Another multi-core processor control method according to the present invention is characterized in that, in the multi-core processor control method, when selecting the plurality of cores, all cores are selected when occurrence of exception processing is detected.
また、本発明に係る他のマルチコアプロセッサ制御方法は、前記マルチコアプロセッサ制御方法において、前記全コアを選択した後に、所定時間経過後において例外処理を行う状態が解消したことを検出したときには、前記コアの選択処理を再開することを特徴とする。 In another multi-core processor control method according to the present invention, in the multi-core processor control method, when it is detected that an exception processing state has been resolved after a predetermined time has elapsed after selecting all the cores, The selection process is restarted.
また、本発明に係る他のマルチコアプロセッサ制御方法は、前記マルチコアプロセッサ制御方法において、前記例外処理を、前記のマルチコアプロセッサ制御方法の作動が適切に行われていないことを検出したときに行うことを特徴とする。 According to another multicore processor control method of the present invention, in the multicore processor control method, the exception processing is performed when it is detected that the operation of the multicore processor control method is not properly performed. Features.
また、本発明に係るマルチコアプロセッサ制御装置は、前記課題を解決するため、1つのプロセッサに各々独立して演算処理を行う複数のコアを備えるマルチコアプロセッサの制御装置において、所定時間内での各コアの稼働率を計算するコア稼働率計算手段と、前記コア稼働率計算手段で計算した各コアの稼働率を合計し、プロセッサ全体の稼働率を算出する全体稼働率算出手段と、プロセッサの全体稼働率と稼働コア数との関係を対応して記憶する稼働コア数記憶手段と、プロセッサの全体稼働率により前記可動コア数記憶手段から稼働個数を決定する稼働コア数決定手段と、前記可動コア数決定手段で決定したコア数に対応して稼働するコアを選択する稼働コア選択手段とを備えたことを特徴とする。 In addition, in order to solve the above problems, a multi-core processor control device according to the present invention is a multi-core processor control device including a plurality of cores that perform arithmetic processing independently on a single processor. A core operating rate calculating unit for calculating the operating rate of the processor, a total operating rate calculating unit for calculating the operating rate of the entire processor by summing up the operating rates of the respective cores calculated by the core operating rate calculating unit, and an overall operating rate of the processor Operating core number storage means for correspondingly storing the relationship between the rate and the number of operating cores, operating core number determination means for determining the operating number from the movable core number storage means based on the overall operating rate of the processor, and the movable core number It is characterized by comprising operating core selecting means for selecting a core that operates in accordance with the number of cores determined by the determining means.
また、本発明に係る他のマルチコアプロセッサ制御装置は、前記マルチコアプロセッサ制御装置において、前記コア稼働率計算手段では、所定時間内での稼働時間によりコア毎のコア稼働率を計算し、前記全体稼働率計算手段では、各コアの稼働時間を合計して全体稼働率を算出することを特徴とする。 In the multi-core processor control device according to the present invention, in the multi-core processor control device, the core operation rate calculation means calculates a core operation rate for each core based on an operation time within a predetermined time, and the overall operation The rate calculating means is characterized in that the total operating rate is calculated by summing up the operating time of each core.
また、本発明に係る他のマルチコアプロセッサ制御装置は、前記マルチコアプロセッサ制御装置において、前記コア稼働率計算手段では、所定時間内での稼働回数を合計して全体稼働率を算出し、前記全体稼働率計算手段では、各コアの稼働回数を合計して全体稼働率を算出することを特徴とする。 Further, in another multi-core processor control device according to the present invention, in the multi-core processor control device, the core operation rate calculation means calculates the total operation rate by totaling the number of operations within a predetermined time, and the total operation rate The rate calculating means is characterized in that the total operating rate is calculated by summing up the number of operating times of each core.
また、本発明に係る他のマルチコアプロセッサ制御装置は、前記マルチコアプロセッサ制御装置において、前記コア稼働率計算手段では、各コアで行うスレッドまたはタスクについて行うことを特徴とする。 Further, another multi-core processor control device according to the present invention is characterized in that, in the multi-core processor control device, the core operation rate calculation means performs a thread or a task performed in each core.
また、本発明に係る他のマルチコアプロセッサ制御装置は、前記マルチコアプロセッサ制御装置において、前記各計算手段、記憶手段、決定手段、選択手段を、前記複数のコアの内特定のコアに備えたことを特徴とする。 Another multi-core processor control device according to the present invention is the multi-core processor control device, wherein the calculation means, storage means, determination means, and selection means are provided in a specific core among the plurality of cores. Features.
また、本発明に係る他のマルチコアプロセッサ制御装置は、前記マルチコアプロセッサ制御装置において、前記可動コア選択手段では、全体稼働率の増加時と減少時とで稼働個数を異ならせることによりヒステリシス特性を備えたことを特徴とする。 Further, another multi-core processor control device according to the present invention comprises a hysteresis characteristic in the multi-core processor control device, wherein the movable core selecting means has a hysteresis characteristic by making the number of operations different between when the overall operation rate is increased and when it is decreased. It is characterized by that.
また、本発明に係る他のマルチコアプロセッサ制御装置は、前記マルチコアプロセッサ制御装置において、前記可動コア選択手段では、全稼働率に応じて予め定めた特定のコアを選択することを特徴とする。 Another multi-core processor control device according to the present invention is characterized in that, in the multi-core processor control device, the movable core selection means selects a specific core predetermined according to the total operation rate.
また、本発明に係る他のマルチコアプロセッサ制御装置は、前記マルチコアプロセッサ制御装置において、マルチコアプロセッサの例外処理発生状態を検出する例外処理発生検出手段を備え、前記例外処理発生検出手段で例外処理発生状態になったことを検出したとき、前記可動コア数決定手段では全てのコアの可動を決定することを特徴とする。 Further, another multi-core processor control device according to the present invention comprises exception processing occurrence detection means for detecting an exception processing occurrence state of the multi-core processor in the multi-core processor control device, wherein the exception processing occurrence detection means When it is detected that the number of movable cores is determined, the movable core number determining means determines the movable of all the cores.
本発明は上記のように構成したので、各々独立して作動可能なプロセッサのコアを複数備えたマルチコアプロセッサにおいて、このプロセッサで処理する全体の処理量が少ないときには、全体として適切な数のコアを稼働させ、稼働させなくても済むコアは稼働させないようにすることにより、消費電力を低減するとともに、全体の消費電力を低減させることにより発熱を押さえ、発熱防止対策や、発生した熱対策に必要なコストを低減することができるマルチコアプロセッサ制御手法を提供すること Since the present invention is configured as described above, in a multi-core processor having a plurality of processor cores that can operate independently, when the total processing amount processed by this processor is small, an appropriate number of cores as a whole is selected. Necessary cores that do not need to be operated can be reduced by reducing power consumption and reducing power consumption by reducing overall power consumption. A multi-core processor control method capable of reducing cost
本発明は、マルチコアプロセッサの稼働状態に合わせた適当数のコアのみを作動させるという目的を、1つのプロセッサーに各々独立して演算処理を行う複数のコアを備えるマルチコアプロセッサの制御方法において、所定時間内での各コアの稼働率を計算し全コアの稼働率を合計し、前記合計した全体稼働率に応じて稼働するコア数を決定し、前記決定したコア数に応じて稼働するコアを選択することにより実現した。 The present invention aims at operating only an appropriate number of cores in accordance with the operating state of a multi-core processor, in a control method for a multi-core processor having a plurality of cores that perform arithmetic processing independently on a single processor. The operating rate of each core is calculated and the operating rates of all cores are totaled. The number of operating cores is determined according to the total operating rate, and the operating core is selected according to the determined number of cores. It was realized by doing.
本発明の実施例を図面に沿って説明する。図1は本発明によるマルチコアプロセッサの機能ブロック図であり、1つのプロセッサに4個のコア(Core0〜3)を備えた例を示している。図示の例では1つのタスクが多数のスレッドに分けられ、処理高速化のためにそれぞれのスレッドがスレッドスケジューラー1によって各コアに割り振られて処理を行うようにしている。
Embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a functional block diagram of a multi-core processor according to the present invention, and shows an example in which one processor includes four cores (
それにより図1の例ではタスクリスト2に第1タスク3、第2タスク4・・・と多数のタスクが存在し、例えば第1タスク1について多数のスレッドが存在し、これらのスレッドがスレッドスケジューラ1の指示に従い、コア0〜3で処理される。その際スレッドスケジューラー1は、タスクリストのスレッド情報によりスレッドの割り振り処理を行うこととなる。
Accordingly, in the example of FIG. 1, there are a number of tasks such as the
したがって図示の例では、コア0〜3は第1タスク3についてコア0で処理することとなるスレッドであるコア0スレッド5、コア1で処理することとなるスレッドであるコア1スレッド6、コア2で処理することとなるスレッドであるコア2スレッド7、コア3で処理することとなるスレッドであるコア3スレッド8が存在することとなる。このようにしてタスク1の処理を行うに際して、コア0ではタスクリスト2で示される第1タスク3について、コア0スレッド5を処理し、同様にコア1ではコア1スレッド6を処理し、コア2ではコア2スレッド7を、コア3ではコア3スレッド8を処理する。このように1つのタスクを多数のスレッドに分割して、図中4個のコアによって並列処理を行う結果、マルチコアプロセッサとして所望の処理を行うことができる。
Therefore, in the illustrated example, the
このようなマルチコアプロセッサにおいて、4個のコア0〜3のうち、予め設定した1つのコアを可動制御用コアである基本コアとする。図示の例ではコア0をこの基本コアとした例を示しており、このコア0にコア0〜3のうち稼働するコアを選択する処理を行う稼働コア選択処理部9を備えている。この稼働コア選択処理部9で行う処理については、後に図2〜図5で詳述するが、図1で示す稼働コア選択処理部9には、コア毎の稼働率を計算するコア毎稼働率計算部10と、このコア毎稼働率計算部の計算結果に基づいて全体の稼働率を算出する全体稼働率算出部11と、全体稼働率算出部の算出結果に基づき、また稼働コア記憶部15で記憶した直前の処理における稼働コア数とによって、稼働率・稼働コア数対応テーブル13からデータを読み出し、稼働するコア数を決定する稼働コア数決定部12と、稼働コア数決定部で決定した稼働コア数と必要に応じて直前の稼働コアのデータとに基づいて稼働コアを選択する稼働コア選択部14とを備えた例を示している。
In such a multi-core processor, one of the four
上記のような機能ブロックからなるマルチコアプロセッサにおいて、本発明においては図2及び図3に示すような作動フローによって順に作動させることができる。図2には本発明の制御にとって基本的なデータとなる各コア毎の稼働率計算処理の作動フローを示しており、図示の例においては各コア毎の処理として、最初に稼働率計測処理を開始するか否かの判別をしている(ステップS11)。 In the multi-core processor composed of the functional blocks as described above, the present invention can be operated in sequence according to the operation flow as shown in FIGS. FIG. 2 shows an operation flow of the operation rate calculation process for each core, which is basic data for the control of the present invention. In the illustrated example, the operation rate measurement process is first performed as the process for each core. It is determined whether or not to start (step S11).
即ち、各コア毎の稼働率を計測するに際して、例えば図4に示すように、所定時間Tの間で、各コアが稼働している時間、即ち図中ts−tfとして示す所定時刻の間の時間Tにおける各コアの稼働率を計測するため、計測処理開始時刻としてtsが設定され、終了時刻としてtfが設定される。したがって図2の作動フローのステップS11ではこの時刻tsになったか否かを判別する。なお、実際の処理に際しては、例えばコア0に予め備えているソフトにより、処理開始指示及び終了指示を行うことにより、時刻を検出することなく実行することもできる。
That is, when measuring the operating rate for each core, for example, as shown in FIG. 4, during the predetermined time T, the time during which each core is operating, that is, the predetermined time indicated as ts-tf in the figure. In order to measure the operating rate of each core at time T, ts is set as the measurement process start time and tf is set as the end time. Therefore, in step S11 of the operation flow of FIG. 2, it is determined whether or not this time ts has been reached. Note that the actual processing can be executed without detecting the time by issuing a processing start instruction and an end instruction with software provided in advance in the
図2の例においてステップS11で前記のように処理開始指示があり、稼働率計測処理を開始すると判別したときには、次の処理を行う前に稼働率計測単位時間が終了してしまったときのために、稼働率計測単位時間は終了したか否かの判別を行い(ステップS12)、終了したときは後述するステップS21に進み、終了していないときにはステップS13に進む。なお、ステップS11で未だ稼働率計測処理の開始指示がないときにはこの状態で待機する。図4の例においては、コア0は稼働率計測処理を開始した時刻ts以降において、スレッドAの処理を開始したことが判別される。ステップS13で未だこのようなスレッドAの処理が開始されていないときにはステップS12に戻って、稼働率計測単位時間が終了していなければこの作動を繰り返して待機する。
In the example of FIG. 2, when there is a process start instruction as described above in step S11 and it is determined that the operation rate measurement process is started, the operation rate measurement unit time has ended before the next process is performed. In addition, it is determined whether or not the operation rate measurement unit time has ended (step S12). When the operation rate measurement unit time has ended, the process proceeds to step S21 to be described later, and when it has not ended, the process proceeds to step S13. Note that when there is no instruction to start the operation rate measurement process yet in step S11, the apparatus stands by in this state. In the example of FIG. 4, it is determined that the
このときステップS11で稼働率計測処理を開始したか否かの判別を行って、開始時刻になったことを検出し、ステップS12で稼働率計測単位時間が終了していないと判別した後、直ちにステップS13でスレッド処理が開始したか否かを判別し、このときにおいて開始していると判別したときには、そのスレッドは稼働率計測開始時刻tsより以前にスレッド処理を開始していたときであり、このような場合は、そのスレッド処理の途中の時刻tsから稼働時間の計測が始まることとなる。 At this time, it is determined whether or not the operation rate measurement process is started in step S11, it is detected that the start time has been reached, and immediately after it is determined in step S12 that the operation rate measurement unit time has not ended. In step S13, it is determined whether or not thread processing has started, and when it is determined that the thread processing has started at this time, the thread has started thread processing before the operation rate measurement start time ts, In such a case, the measurement of the operation time starts from the time ts during the thread processing.
ステップS13でスレッド処理が開始したと判別したときには、その処理の開始時刻をタイマから読み込む。図4の例では、コア0においてスレッドAの処理を開始したとき、その時の時刻ta1をタイマから読み込む。次いで図示の例では稼働率計測単位時間は終了したか否かを判別している(ステップS15)。即ち、この可動率計測処理に際しては時刻tsからtfまでの時間Tの間を稼働率計測処理単位時間としており、前記ステップS15では、この稼働率計測単位時間Tが終了したか否かを判別している。この稼働率計測単位時間の終了は、制御装置によって計測終了指示があったか否かによって判別することもできる。
When it is determined in step S13 that the thread process has started, the start time of the process is read from the timer. In the example of FIG. 4, when the processing of the thread A is started in the
ステップS15で未だ稼働率計測処理単位時間が終了していないと判別したときにはステップS16に進み、スレッド処理は終了したか否かを判別する(ステップS16)。図4の例においては、時刻ta1で開始したスレッドAが終了したか否かを判別することとなる。ここで未だスレッドAの処理が終了していないと判別したときには、再びステップS15に戻って稼働率計測単位時間Tは終了したか否かの判別を行い、これらの作動を繰り返す。 If it is determined in step S15 that the operation rate measurement processing unit time has not yet ended, the process proceeds to step S16, and it is determined whether the thread process has ended (step S16). In the example of FIG. 4, it is determined whether or not the thread A started at time ta1 has ended. Here, when it is determined that the processing of the thread A has not yet ended, the process returns to step S15 again to determine whether or not the operation rate measurement unit time T has ended, and these operations are repeated.
このように未だ稼働率計測単位時間が終了していない間にこのスレッド処理が終了したときには、スレッド処理終了時刻をタイマから読み込む(ステップS17)。図4の例において、コア0のスレッドAの処理に際しては、時刻ta2において終了しており、この時刻ta2が読み込まれる。
As described above, when the thread processing is completed while the operation rate measurement unit time has not yet ended, the thread processing end time is read from the timer (step S17). In the example of FIG. 4, the processing of the thread A of the
次いで前記ステップS14でタイマから読み込んだスレッド処理開始時刻ta1と、ステップS17でタイマから読み込んだスレッド終了時刻ta2とから稼働時間を算出してその値を記憶する(ステップS18)。この処理に際しては(ta2−ta1)によってスレッドAの処理時間、即ちコア0におけるスレッドAの稼働時間T1を計算することができる。その後再び稼働率計測単位時間は終了したか否かを判別し(ステップS19)、終了していないときには再びステップS12に戻って、前記他の処理のために主として判別処理を行う同様の処理を経由し、このコアにおける次のスレッド処理の開始を待ち、同様の作動を繰り返す。
Next, the operating time is calculated from the thread processing start time ta1 read from the timer in step S14 and the thread end time ta2 read from the timer in step S17, and the value is stored (step S18). In this process, the processing time of the thread A, that is, the operating time T1 of the thread A in the
この処理の過程でステップS15において稼働率計測単位時間が終了したと判別したときには、図示の例ではステップS22に進み、稼働率計測単位時間が終了した時刻をタイマから読み込む。 If it is determined in step S15 that the operation rate measurement unit time has ended, the process proceeds to step S22 in the illustrated example, and the time at which the operation rate measurement unit time ends is read from the timer.
図4の例においては、スレッドAの処理後スレッドBの処理を行っており、このスレッドBの処理は時刻tb1で開始し、時刻tb2で終了している。この処理では前記のようにして稼働時間を(tb2−tb1)によりT2を求める。コア0においては稼働率計測単位時間Tの間に更にスレッドCの処理も行っており、このスレッドCでは時刻tc1で処理を開始し、時刻tc2で終了しており、その結果(tc2−tc1)によってスレッドCの稼働時間T3を求める。これらの処理も図2のステップS13からステップS19までの処理を繰り返すことにより行うことができる。
In the example of FIG. 4, the processing of the thread B after the processing of the thread A is performed, and the processing of the thread B starts at time tb1 and ends at time tb2. In this process, T2 is obtained from the operating time (tb2-tb1) as described above. In the
この処理の課程においてステップS13で新たなスレッド処理を開始したと判別した後、ステップS15で稼働率計測単位時間が終了したか否かの判別において、終了したと判別したときには、そのスレッド処理の途中で稼働率計測単位時間が終了したときであり、このような場合はステップS22に進み、図示の例では稼働率計測単位時間の終了時刻をタイマから読み込んでいる。但し、稼働率計測単位時間の終了時刻tfが予め設定されているので、この設定値を直接読み込むことにより、稼働率計測単位終了時刻を取り込む込むようにしても良い。 After determining that a new thread process is started in step S13 in this process, when determining in step S15 whether or not the operation rate measurement unit time has ended, In such a case, the process proceeds to step S22. In the illustrated example, the end time of the operation rate measurement unit time is read from the timer. However, since the end time tf of the operation rate measurement unit time is set in advance, the operation rate measurement unit end time may be acquired by directly reading this set value.
次いでこのスレッド処理において、スレッド処理開始時刻と、稼働率計測単位時間の終了時刻から稼働時間を前記と同様に算出して記憶する。前記ステップS18及びステップS19において、スレッド処理を行っていないときにおいて、稼働率計測単位時間が終了したときにはステップS22及びステップS23の処理を行った時と共に、稼働率計測単位時間内でのスレッド毎の稼働時間を合計する(ステップS20)。なお、ステップS19で稼働率計測単位時間が終了したと判別したときには、前記のようなステップS20で合計の計算を行うと同時にステップS11に戻って次の稼働率計測単位時間が開始したか否かを判別する。多くの場合は稼働率計測単位時間は連続しているので、その際はステップS19の後、直ちにステップS11からステップS13に進み、前記作動を繰り返すこととなる。 Next, in this thread process, the operation time is calculated and stored in the same manner as described above from the thread process start time and the end time of the operation rate measurement unit time. In step S18 and step S19, when the thread operation is not performed, when the operation rate measurement unit time is completed, the processing of step S22 and step S23 is performed, and each thread within the operation rate measurement unit time is processed. The operating hours are totaled (step S20). When it is determined in step S19 that the operation rate measurement unit time has ended, the total calculation is performed in step S20 as described above, and at the same time, the process returns to step S11 to determine whether the next operation rate measurement unit time has started. Is determined. In many cases, since the operation rate measurement unit time is continuous, in this case, immediately after step S19, the process proceeds from step S11 to step S13, and the above operation is repeated.
この稼働率計測単位時間内でのスレッド毎の稼働時間を合計する処理に際しては、図4の例においてコア0では、スレッドAのT1とスレッドBのT2とスレッドCのT3とを合計した(T1+T2+T3)を計算する。コア1では、スレッドDのT4のみであり、コア2ではスレッドEのT5とスレッドFのT6とを合計し(T5+T6)を計算する。同様にコア3ではスレッドGのT7とスレッドHのT8を合計し(T7+T8)を計算する。
In the process of totaling the operating time for each thread within the operating rate measurement unit time, in the example of FIG. 4, in
次いでステップS21において稼働率計測単位時間内での稼働率の計算を行い、その計算値を出力する(ステップS24)。この処理においてはコア0においては図4に示すように稼働率η0は[η0=(T1+T2+T3)/T×100]を計算し、コア1においては稼働率η1は[η1=T4/T×100]を計算し、コア2においては稼働率η2は[η2=(T5+T6)/T×100]を計算し、コア3においては稼働率η3は[η3=(T7+T8)/T×100]を計算することにより求める。
Next, in step S21, the operation rate is calculated within the operation rate measurement unit time, and the calculated value is output (step S24). In this process, as shown in FIG. 4, in the
本発明によるマイクロプロセッサ制御の基本データとなる各コア毎の稼働率を前記のような手法で求めることができる結果、本発明によるマルチコアプロセッサの制御による稼働コア選択制御処理は図3に示すようにして行うことができる。図3に示す稼働コア選択制御処理の例においては、最初に前記図2に示すような各コア毎の稼働率計算処理を行った後(ステップS31)、即ち、稼働率計測単位時間の終了後に前記コア毎の稼働率計算処理を行った後は、各コアの稼働率計算値を集計して合計稼働率を算出する(ステップS32)。 As a result of obtaining the operating rate for each core as basic data for microprocessor control according to the present invention by the above-described method, the operating core selection control processing by the control of the multi-core processor according to the present invention is as shown in FIG. Can be done. In the example of the operating core selection control process shown in FIG. 3, after the operating rate calculation process for each core as shown in FIG. 2 is first performed (step S31), that is, after the operating rate measurement unit time ends. After performing the operation rate calculation process for each core, the operation rate calculation values of the respective cores are aggregated to calculate the total operation rate (step S32).
この合計稼働率の算出に際しては、コアの稼働率η0、コア1の稼働率η1、コア2の稼働率η2、コア3の稼働率η3を合計するものであり、図4に記載しているように、全体稼働率ηは(η0+η1+η2+η3)によって求める。したがってこの値は、例えば全コアが稼働率計測単位時間Tの間全て稼働していたときには、η=400となり、理論上全て稼働していなかったと仮定したときにはη=0となる。但し、本発明においては、少なくとも特定のコアで本発明による制御処理を行っているが、その計算処理量は極めて僅かである。
In calculating the total operating rate, the operating rate η0 of the core, the operating rate η1 of the
その後このプロセッサにおいて、この稼働率計算単位時間開始の直前における稼働コア数、即ち直前の作動時の稼働コア数と前記のようにして計算した全体稼働率により、稼働コア数をテーブルから読み出す(ステップS33)。このときのテーブルとしては種々の態様のものを用いることができるが、例えば図5に示すような稼働コア数・コア起動/停止タイミングテーブルを用いることができる。 Thereafter, in this processor, the number of operating cores is read from the table based on the number of operating cores immediately before the start of the operating rate calculation unit time, that is, the number of operating cores at the time of the previous operation and the overall operating rate calculated as described above (step S33). Various tables can be used as the table at this time. For example, an operating core number / core start / stop timing table as shown in FIG. 5 can be used.
図5に示す稼働コア数・コア起動/停止タイミングテーブルの例においては、全体稼働率ηが0〜40%の時は、稼働コア数が1であり、同図から明らかなように必ずコア0のみが選択されることとなる。もしもこの状態から次第に全体稼働率が単調に上昇していった場合には、全体稼働率ηが80%を超えたとき稼働にコア数を2とし、図示の例ではコア1を起動する。次いで全体稼働率ηが160%を超えたときに稼働コア数を3とし、図示の例ではコア2も起動する。また、全体稼働率ηが240%を超えたときに稼働コア数を4とし、図示の例ではコア3を起動する。即ち全体稼働率が240%を超えたときには全コア数4個が初めて全て起動状態となる。
In the example of the operating core number / core start / stop timing table shown in FIG. 5, when the total operating rate η is 0 to 40%, the operating core number is 1, and as is clear from FIG. Only will be selected. If the overall operating rate gradually increases monotonically from this state, the number of cores is set to 2 when the overall operating rate η exceeds 80%, and the
このように、各全体稼働率の状態においてコアの稼働数を設定することにより、コアの稼働数を全体の処理量に応じた数だけ稼働させることができるため、このマルチコアプロセンサの消費電力を低減することができる。しかも前記従来技術のように単に稼働率が少ないコアを停止するのではなく、プロセッサ全体の稼働率に応じて停止コアを調節できるため、プロセッサ全体として最適な稼働コアの制御を行うことができる。 In this way, by setting the number of operating cores in each total operating rate state, it is possible to operate the number of operating cores according to the total processing amount, so the power consumption of this multi-core prosensor can be reduced. Can be reduced. In addition, since the core having a low operating rate is not simply stopped as in the prior art, the stopped core can be adjusted according to the operating rate of the entire processor, so that the optimal operating core can be controlled for the entire processor.
前記のように全体稼働率が次第に上昇したときには、上記のように稼働コアの制御が行われるものであるが、逆に全体稼働率が400%の状態で稼働コア数が4個から単調に全体稼働率が低下し、160以下に低下したときには稼働コア数3とし、コア3の稼働を停止する。このように図5のテーブルの例では、例えば稼働コア数4個で稼働する状態については、起動するときは240%になった時であるのに対して、一旦起動した後は160%になるまで4個稼働している。このようなヒステリシス特性を持たせた作動は、後述するように他の全体稼働率でのコア数制御においても同様にして行われる。
When the overall operating rate gradually increases as described above, the operating core is controlled as described above, but conversely the number of operating cores is monotonically increased from 4 with the overall operating rate being 400%. When the operating rate decreases to 160 or less, the number of operating cores is set to 3, and the operation of the
前記のように全体稼働率が次第に低下し、160%から更に80%に低下した時稼働コア数を2とし、図示の例ではコア2を停止している。更に全体稼働率が40%に低下した時に稼働コア数1とし、コア1を停止して、以降はコア0のみで処理を行うこととなる。このような全体稼働率が上昇していくときと降下していくときとでコアの稼働数を異ならせるヒステリシス特性を持たせて設定しているので、全体稼働率が頻繁に変化するとき、コアの起動と停止の頻繁な起動と停止作動を行わせないようにすることができる。
As described above, when the overall operating rate gradually decreases and drops from 160% to 80%, the number of operating cores is set to 2, and in the illustrated example, the
したがって、例えば全体稼働率が(1)10%−(2)70%−(3)90%−(4)45%−(5)200%−(6)150%−(7)300%−(8)70%と順に変化したときには、(1)10%では稼働コア数1でコア0のみ稼働し、その後の(2)70%でも稼働コア数1でコア0のみ稼働し、(3)90%では稼働コア数2で、コア0とコア1を稼働し、その後の(4)45%でも稼働コア数2で、コア0とコア1を稼働し、その後の(5)200では稼働コア数3でコア0とコア1とコア2を稼働し、その後の(6)150%ではコア稼働数3で変わらず、したがってコア0とコア1とコア2を稼働し、その後の(7)300%では稼働コア数4で更にコア3も稼働して全コア稼働状態となり、その後の(8)70%では稼働コア数2で、コア4、更にコア3を停止してコア0とコア1を稼働することとなる。
Therefore, for example, the overall occupancy rate is (1) 10%-(2) 70%-(3) 90%-(4) 45%-(5) 200%-(6) 150%-(7) 300%-( 8) When changing in order of 70%, (1) 10% operates only
このように、例えば同じ全体稼働率70%の時でも、(1)10%から(2)70%に変化したときにはコア0のみ稼働し、(7)300%から(8)70%に変化したときにはコア0とコア1を稼働し、また、この全体稼働率70%より低い45%のときでも(3)90%からの時にはコア0とコア1を稼働を継続する、というように、単にその時の全体稼働率のデータのみではなく、前の全体稼働率との関係で稼働コアを決定するテーブルとしている。
Thus, for example, even when the same overall operation rate is 70%, when (1) changes from 10% to (2) 70%, only
図3のステップS33ではこのように直前の稼働コア数と、今回計算した合計稼働率により稼働コア数を読み出した後は、図3の例では稼働コアを選択し、これを記憶する(ステップS34)。即ち、図5のテーブルの例では、コア0〜3についてコア0を基本コアとし、コアが2個必要な全体稼働率の時は、常にコア1を追加し、更に稼働コアが3個必要な全体稼働率の時には常にコア2を起動し、コア3については全コアを稼働する必要がある全体稼働率のときのみ稼働する例を示したが、全体稼働率に対して稼働するコア数は、このように設定されても、稼働するコアの選択については、必ずしも前記の例によらず、他の手法により駆動することもできる。
In step S33 of FIG. 3, after the number of operating cores is read based on the number of operating cores immediately before and the total operating rate calculated this time, the operating core is selected and stored in the example of FIG. 3 (step S34). ). That is, in the example of the table of FIG. 5, when the
その際には、例えば全体稼働率に応じて稼働するコアの選択順序を、前記のコア0、1、2、3の順のほか、コア0、2、3、1の順とし、或いはコア0、3、1、2の順にする等、予め設定した全体稼働率に対応した特定コアの作動を、種々の態様で実施することができる。なお、前記実施例では図1に示すように、コア0に本発明の処理を行うソフトを組み込んで、この作動処理を行っているため、このコアを基本コアとして常に作動させている。したがって、このソフトをコア1に組み込んで前記作動処理を行うときには、コア1を基本コアとして常に稼働させることとなる。
In that case, for example, the order of selecting the cores to be operated according to the overall operating rate is the order of
また、前記の例においても、最初はこのコア0、1、2、3の順序で全体稼働率に合わせて作動させていても、その後のスレッド処理において例えば基本コア0のみ稼働している状態等、適当なタイミングを見計らい、例えばコア0、2、3、1の順で作動させ、その後コア0、2、1、3の順序で、またコア0,3、1、2の順序で、またコア0、3、2、1の順序で、またコア0、1、3、2の順序で作動する等、種々の態様で作動を変更するように予め設定しても良い。その時には基本コアをコア0とするとき、他のコアの稼働をできる限り均一化するように制御して処理負担の均一化を図ることができる。その際には基本コア以外はランダムに変更することも可能である。
In the above example as well, even if the
図3の作動の例においてはステップS34において前記のような稼働コアの選択を行うものであり、選択したコアを記憶しておく。このとき、コア数のみを記憶しておいても良い。次いで図示の例では例外処理が発生したか否かを判別している。即ち、このプロセッサの一連のスレッド処理の過程で、大量データ処理の急な割り込みが入ったときのように、緊急に大容量の処理の必要性が発生したときには、ステップS35で例外処理が発生したと判別し、その際には全コアでの稼働処理を直ちに行うことができるようにする(ステップS36)。 In the example of the operation in FIG. 3, the operating core is selected as described above in step S34, and the selected core is stored. At this time, only the number of cores may be stored. Next, in the illustrated example, it is determined whether or not exception processing has occurred. That is, in the course of a series of thread processing of this processor, when a large amount of processing is urgently required, such as when a large amount of data processing is interrupted, exception processing occurs in step S35. In this case, the operation process in all the cores can be immediately performed (step S36).
このときの例外処理としては予め各種の状態を設定しておくことができ、例えばこのマルチコアプロセッサ制御が適切な作動を行っていないことを検出した時に、前記のようなコア選択処理を解除するため、即ち本発明による処理の安全対策として用いても良い。ステップS36において、例えば緊急に大量のデータ処理作業が入って全コアの稼働処理を行ったときには、所定時間が経過したか否かを判別し(ステップS37)、所定時間が経過するまではステップS36に戻って前記作動を定期的に繰り返し、所定時間が経過したときには再びステップS31に戻って前記作動を繰り返す。未だステップS35で例外処理が発生していないと判別したときには、図1のスレッドスケジューラ1によりステップS34で選択したコアに対して、1つのタスクを複数に分割したスレッドを割り振り(ステップS38)、再びステップS31に戻って同様の作動を繰り返す。
Various conditions can be set in advance as exception processing at this time. For example, when it is detected that the multi-core processor control is not operating properly, the above core selection processing is canceled. That is, it may be used as a safety measure for processing according to the present invention. In step S36, for example, when a large amount of data processing work is performed and all cores are operated, it is determined whether or not a predetermined time has passed (step S37). The operation is periodically repeated and the operation is periodically repeated. When a predetermined time has elapsed, the operation returns to step S31 and the operation is repeated. When it is determined in step S35 that exception processing has not yet occurred, a thread obtained by dividing one task into a plurality of cores is allocated to the core selected in step S34 by the
前記の例においては、マルチコアプロセッサの各コアに対して、1つのタスクを細分化したスレッドの処理を、スレッドスケジューラにより処理する例を示したが、そのほかに1つの比較的大きなタスクを、複数のタスクに分割し、各タスクについてタスクスケジューラにより任意のコアに各タスクを割り振る際にも、前記手法により同様に作動させることができる。その際には図1のスレッドスケジューラはタスクスケジューラとなり、タスクリスト2の、例えば第1タスクについて細分化したコア0タスク、コア1タスク、コア2タスク、コア3タスクを、各コアに対して割り振ることとなる。
In the above example, an example in which processing of a thread obtained by subdividing one task is processed by the thread scheduler for each core of the multi-core processor is shown. When the task is divided into tasks and each task is allocated to an arbitrary core by the task scheduler, it can be similarly operated by the above-described method. In this case, the thread scheduler of FIG. 1 becomes a task scheduler, and, for example, the
また、前記の例においては各コアの稼働率を計算するに際して、所定時間内で処理した各スレッドの稼働時間を求め、これを合計して各コアの稼働時間を求めることにより稼働率を計算する例を示したが、それ以外に所定時間内において処理したスレッド或いはタスクの数を求め、これを各コアの稼働率として、前記手法によりこのプロセッサを制御するように構成しても良い。それにより、稼働率の計算処理を簡略化して、この演算を行う基本コアの処理負担を低減することができる。 In the above example, when calculating the operating rate of each core, the operating time of each thread processed within a predetermined time is obtained, and the total is calculated to obtain the operating time of each core. Although an example is shown, the number of threads or tasks processed in a predetermined time may be obtained, and this processor may be configured as the operating rate of each core to control the processor by the above method. Thereby, it is possible to simplify the operation rate calculation process and reduce the processing load of the basic core performing this calculation.
1 スレッド・スケジューラ
2 タスクリスト
3 第1タスク
4 第2タスク
5 コア0スレッド
6 コア1スレッド
7 コア2スレッド
8 コア3スレッド
9 稼働コア選択処理部
10 コア毎稼働率計算部
11 全体稼働率算出部
12 稼働コア数決定部
13 稼働率・稼働コア数対応テーブル
14 稼働コア選択部
15 稼働コア記憶部
1 Thread scheduler
2
Claims (20)
所定時間内での各コアの稼働率を計算し全コアの稼働率を合計し、
前記合計した全体稼働率に応じて稼働するコア数を決定し、
前記決定したコア数に応じて稼働するコアを選択することを特徴とするマルチコアプロセッサ制御方法。 In a control method of a multi-core processor having a plurality of cores that perform arithmetic processing independently in one processor,
Calculate the utilization rate of each core within a given time and add up the utilization rate of all cores.
Determine the number of operating cores according to the total overall operating rate,
A multi-core processor control method, wherein a core to be operated is selected according to the determined number of cores.
各コアの稼働時間を合計して全コアの稼働率を算出することを特徴とする請求項1記載のマルチコアプロセッサ制御方法。 The operating rate of each core is an operating time within a predetermined time,
2. The multi-core processor control method according to claim 1, wherein the operating rate of all cores is calculated by adding up the operating time of each core.
各コアの稼働回数を合計して全コアの稼働率を算出することを特徴とする請求項1記載のマルチコアプロセッサ制御方法。 The operating rate of each core is the number of operations within a predetermined time,
The multicore processor control method according to claim 1, wherein the operation rate of all cores is calculated by summing up the number of operations of each core.
所定時間内での各コアの稼働率を計算するコア稼働率計算手段と、
前記コア稼働率計算手段で計算した各コアの稼働率を合計し、プロセッサ全体の稼働率を算出する全体稼働率算出手段と、
プロセッサの全体稼働率と稼働コア数との関係を対応して記憶する稼働コア数記憶手段と、
プロセッサの全体稼働率により前記可動コア数記憶手段から稼働個数を決定する稼働コア数決定手段と、
前記可動コア数決定手段で決定したコア数に対応して稼働するコアを選択する稼働コア選択手段とを備えたことを特徴とするマルチコアプロセッサ制御装置。 In a control device for a multi-core processor having a plurality of cores that perform arithmetic processing independently on one processor,
Core utilization rate calculation means for calculating the utilization rate of each core within a predetermined time;
Total operating rate calculating means for calculating the operating rate of the entire processor by summing up the operating rates of each core calculated by the core operating rate calculating unit,
An operating core number storage means for storing the relationship between the overall operating rate of the processor and the number of operating cores in correspondence;
An operating core number determining means for determining the operating number from the movable core number storage means according to the overall operating rate of the processor;
A multi-core processor control device, comprising: an operating core selecting unit that selects a core that operates in accordance with the number of cores determined by the movable core number determining unit.
前記全体稼働率計算手段では、各コアの稼働時間を合計して全体稼働率を算出することを特徴とする請求項13記載のマルチコアプロセッサの制御装置。 The core utilization rate calculating means calculates the core utilization rate for each core based on the operation time within a predetermined time,
14. The multi-core processor control device according to claim 13, wherein the total operating rate calculating means calculates the total operating rate by adding up the operating times of the respective cores.
前記例外処理発生検出手段で例外処理発生状態になったことを検出したとき、前記可動コア数決定手段では全てのコアの可動を決定することを特徴とする請求項13記載のマルチコアプロセッサ制御装置。 Exception processing occurrence detection means for detecting the exception processing occurrence state of the multi-core processor is provided,
14. The multi-core processor control device according to claim 13, wherein when the exception process occurrence detecting unit detects that an exception process occurs, the movable core number determining unit determines that all cores are movable.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007262792A JP5182792B2 (en) | 2007-10-07 | 2007-10-07 | Multi-core processor control method and apparatus |
US12/184,922 US8209552B2 (en) | 2007-10-07 | 2008-08-01 | Method and device for controlling multicore processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007262792A JP5182792B2 (en) | 2007-10-07 | 2007-10-07 | Multi-core processor control method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009093383A true JP2009093383A (en) | 2009-04-30 |
JP5182792B2 JP5182792B2 (en) | 2013-04-17 |
Family
ID=40524309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007262792A Expired - Fee Related JP5182792B2 (en) | 2007-10-07 | 2007-10-07 | Multi-core processor control method and apparatus |
Country Status (2)
Country | Link |
---|---|
US (1) | US8209552B2 (en) |
JP (1) | JP5182792B2 (en) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011186531A (en) * | 2010-03-04 | 2011-09-22 | Nec Corp | Method, device and program for reducing power consumption of information processing apparatus including smt-enabled cpu |
JP2012003606A (en) * | 2010-06-18 | 2012-01-05 | Ricoh Co Ltd | Communication device |
JP2013092874A (en) * | 2011-10-25 | 2013-05-16 | Fujitsu Ltd | Control method and control program for mobile terminal devices, and mobile terminal device |
JPWO2011111230A1 (en) * | 2010-03-12 | 2013-06-27 | 富士通株式会社 | Multi-core processor system, power control method, and power control program |
JP2013225332A (en) * | 2009-09-26 | 2013-10-31 | Intel Corp | Method and device for low power operation of multi-core processor |
JP2014006619A (en) * | 2012-06-22 | 2014-01-16 | Fujitsu Ltd | Method of controlling portable terminal device, control program, and portable terminal device |
JP2014235746A (en) * | 2013-05-30 | 2014-12-15 | 三星電子株式会社Samsung Electronics Co.,Ltd. | Multi-core device and job scheduling method for multi-core device |
US8930436B2 (en) | 2010-03-31 | 2015-01-06 | Samsung Electronics Co., Ltd. | Apparatus and method of dynamically distributing load in multiple cores |
KR20150052108A (en) * | 2012-08-31 | 2015-05-13 | 마이크론 테크놀로지, 인크. | Methods and systems for power management in a pattern recognition processing system |
JP2016118818A (en) * | 2014-12-18 | 2016-06-30 | 本田技研工業株式会社 | Control device of vehicle |
JP2016531371A (en) * | 2013-09-09 | 2016-10-06 | ゼットティーイー コーポレーションZte Corporation | Processor core processing method, apparatus, and terminal |
US9529407B2 (en) | 2013-02-21 | 2016-12-27 | Fujitsu Limited | Method for controlling information processing apparatus and information processing apparatus |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101636377B1 (en) * | 2009-10-23 | 2016-07-06 | 삼성전자주식회사 | Configuration processor, configuration control apparatus and method, and Thread modeling method |
CN101976208B (en) | 2010-10-25 | 2014-08-13 | 中兴通讯股份有限公司 | Method and device for delivering information |
TWI418977B (en) * | 2010-12-22 | 2013-12-11 | Inventec Corp | Overclock test method for core processors |
KR101975288B1 (en) | 2012-06-15 | 2019-05-07 | 삼성전자 주식회사 | Multi cluster processing system and method for operating thereof |
US20140208072A1 (en) * | 2013-01-18 | 2014-07-24 | Nec Laboratories America, Inc. | User-level manager to handle multi-processing on many-core coprocessor-based systems |
US10353765B2 (en) * | 2013-03-08 | 2019-07-16 | Insyde Software Corp. | Method and device to perform event thresholding in a firmware environment utilizing a scalable sliding time-window |
WO2015015756A1 (en) * | 2013-08-02 | 2015-02-05 | 日本電気株式会社 | Power saving control system for server equipped with non-volatile memory, control device, control method, and control program |
EP3161586B1 (en) * | 2014-06-26 | 2020-08-05 | Consiglio Nazionale Delle Ricerche | Method and system for regulating in real time the clock frequencies of at least one cluster of electronic machines |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62198949A (en) * | 1986-02-26 | 1987-09-02 | Nec Corp | Working control system for multi-processor system |
JPH09138716A (en) * | 1995-11-14 | 1997-05-27 | Toshiba Corp | Electronic computer |
JPH11202988A (en) * | 1998-01-13 | 1999-07-30 | Hitachi Ltd | System power consumption control method |
JP2004240669A (en) * | 2003-02-05 | 2004-08-26 | Sharp Corp | Job scheduler and multiprocessor system |
JP2005038425A (en) * | 2003-07-18 | 2005-02-10 | Hewlett-Packard Development Co Lp | System for managing power of computer group |
JP2005141605A (en) * | 2003-11-10 | 2005-06-02 | Hitachi Ltd | Method for distributing computer resource based on prediction |
US20050154931A1 (en) * | 2004-01-13 | 2005-07-14 | Lg Electronics Inc. | Apparatus for controlling power of processor having a plurality of cores and control method of the same |
JP2006259793A (en) * | 2005-03-15 | 2006-09-28 | Hitachi Ltd | Shared resource management method, and its implementation information processing system |
WO2007072458A2 (en) * | 2005-12-23 | 2007-06-28 | Nxp B.V. | Performance analysis based system level power management |
JP2007213167A (en) * | 2006-02-07 | 2007-08-23 | Fujitsu Ltd | Power control program, server system, and power control method |
JP2008262370A (en) * | 2007-04-11 | 2008-10-30 | Nec Saitama Ltd | Information processing apparatus and method for controlling monitoring of information processing apparatus |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2738674B2 (en) * | 1986-05-23 | 1998-04-08 | 株式会社日立製作所 | Parallel computer and data transfer method of parallel computer |
JPH03127164A (en) * | 1989-10-12 | 1991-05-30 | Nec Corp | Multiprocessor system |
JPH04153864A (en) * | 1990-10-18 | 1992-05-27 | Sanyo Electric Co Ltd | Parallel processing computer |
JPH04223548A (en) * | 1990-12-25 | 1992-08-13 | Nippon Telegr & Teleph Corp <Ntt> | Load allocation method for parallel processing system |
JP2977688B2 (en) * | 1992-12-18 | 1999-11-15 | 富士通株式会社 | Multi-processing device, method, and processor used for the same |
US7822996B2 (en) * | 1995-12-07 | 2010-10-26 | Texas Instruments Incorporated | Method for implementing thermal management in a processor and/or apparatus and/or system employing the same |
US6496823B2 (en) * | 1997-11-07 | 2002-12-17 | International Business Machines Corporation | Apportioning a work unit to execute in parallel in a heterogeneous environment |
US6711691B1 (en) * | 1999-05-13 | 2004-03-23 | Apple Computer, Inc. | Power management for computer systems |
US6622287B1 (en) * | 2000-03-08 | 2003-09-16 | Nec Corporation | Low power hardware/software partitioning approach for core-based embedded systems |
US7020713B1 (en) * | 2000-10-10 | 2006-03-28 | Novell, Inc. | System and method for balancing TCP/IP/workload of multi-processor system based on hash buckets |
JP2003006175A (en) * | 2001-06-26 | 2003-01-10 | Hitachi Ltd | Process-scheduling method based on program operation characteristics in performing process, program using the same and data processor |
JP4143283B2 (en) * | 2001-09-12 | 2008-09-03 | 株式会社日立製作所 | Computer processing performance change device |
US7318164B2 (en) * | 2001-12-13 | 2008-01-08 | International Business Machines Corporation | Conserving energy in a data processing system by selectively powering down processors |
US7337334B2 (en) * | 2003-02-14 | 2008-02-26 | International Business Machines Corporation | Network processor power management |
US7013400B2 (en) * | 2003-04-24 | 2006-03-14 | International Business Machines Corporation | Method for managing power in a simultaneous multithread processor by loading instructions into pipeline circuit during select times based on clock signal frequency and selected power mode |
US7146514B2 (en) * | 2003-07-23 | 2006-12-05 | Intel Corporation | Determining target operating frequencies for a multiprocessor system |
US7174469B2 (en) * | 2003-09-30 | 2007-02-06 | International Business Machines Corporation | Processor power and energy management |
US7421691B1 (en) * | 2003-12-23 | 2008-09-02 | Unisys Corporation | System and method for scaling performance of a data processing system |
US7386739B2 (en) * | 2005-05-03 | 2008-06-10 | International Business Machines Corporation | Scheduling processor voltages and frequencies based on performance prediction and power constraints |
KR100979624B1 (en) * | 2005-09-05 | 2010-09-01 | 후지쯔 가부시끼가이샤 | Audio encoding device and audio encoding method |
EP1949317A1 (en) * | 2005-10-24 | 2008-07-30 | Accenture Global Services GmbH | Dynamic server consolidation and configuration |
WO2007068524A1 (en) * | 2005-12-16 | 2007-06-21 | International Business Machines Corporation | Method, system and computer program for metering usage of software products based on real-time benchmarking of processing power |
US7263457B2 (en) * | 2006-01-03 | 2007-08-28 | Advanced Micro Devices, Inc. | System and method for operating components of an integrated circuit at independent frequencies and/or voltages |
JP2008129846A (en) * | 2006-11-21 | 2008-06-05 | Nippon Telegr & Teleph Corp <Ntt> | Data processor, data processing method, and program |
US7917785B2 (en) * | 2007-05-11 | 2011-03-29 | International Business Machines Corporation | Method of optimizing performance of multi-core chips and corresponding circuit and computer program product |
US7865084B2 (en) * | 2007-09-11 | 2011-01-04 | Oracle America, Inc. | Multi-chip systems with optical bypass |
US8762692B2 (en) * | 2007-09-27 | 2014-06-24 | Intel Corporation | Single instruction for specifying and saving a subset of registers, specifying a pointer to a work-monitoring function to be executed after waking, and entering a low-power mode |
US20090327656A1 (en) * | 2008-05-16 | 2009-12-31 | Dan Baum | Efficiency-based determination of operational characteristics |
US8527796B2 (en) * | 2009-08-24 | 2013-09-03 | Intel Corporation | Providing adaptive frequency control for a processor using utilization information |
-
2007
- 2007-10-07 JP JP2007262792A patent/JP5182792B2/en not_active Expired - Fee Related
-
2008
- 2008-08-01 US US12/184,922 patent/US8209552B2/en not_active Expired - Fee Related
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62198949A (en) * | 1986-02-26 | 1987-09-02 | Nec Corp | Working control system for multi-processor system |
JPH09138716A (en) * | 1995-11-14 | 1997-05-27 | Toshiba Corp | Electronic computer |
JPH11202988A (en) * | 1998-01-13 | 1999-07-30 | Hitachi Ltd | System power consumption control method |
JP2004240669A (en) * | 2003-02-05 | 2004-08-26 | Sharp Corp | Job scheduler and multiprocessor system |
JP2005038425A (en) * | 2003-07-18 | 2005-02-10 | Hewlett-Packard Development Co Lp | System for managing power of computer group |
JP2005141605A (en) * | 2003-11-10 | 2005-06-02 | Hitachi Ltd | Method for distributing computer resource based on prediction |
US20050154931A1 (en) * | 2004-01-13 | 2005-07-14 | Lg Electronics Inc. | Apparatus for controlling power of processor having a plurality of cores and control method of the same |
JP2006259793A (en) * | 2005-03-15 | 2006-09-28 | Hitachi Ltd | Shared resource management method, and its implementation information processing system |
WO2007072458A2 (en) * | 2005-12-23 | 2007-06-28 | Nxp B.V. | Performance analysis based system level power management |
JP2007213167A (en) * | 2006-02-07 | 2007-08-23 | Fujitsu Ltd | Power control program, server system, and power control method |
JP2008262370A (en) * | 2007-04-11 | 2008-10-30 | Nec Saitama Ltd | Information processing apparatus and method for controlling monitoring of information processing apparatus |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013225332A (en) * | 2009-09-26 | 2013-10-31 | Intel Corp | Method and device for low power operation of multi-core processor |
US9116689B2 (en) | 2010-03-04 | 2015-08-25 | Nec Corporation | Power consumption reduction method of swapping high load threads with low load threads on a candidate core of a multicore processor |
JP2011186531A (en) * | 2010-03-04 | 2011-09-22 | Nec Corp | Method, device and program for reducing power consumption of information processing apparatus including smt-enabled cpu |
JPWO2011111230A1 (en) * | 2010-03-12 | 2013-06-27 | 富士通株式会社 | Multi-core processor system, power control method, and power control program |
US8930436B2 (en) | 2010-03-31 | 2015-01-06 | Samsung Electronics Co., Ltd. | Apparatus and method of dynamically distributing load in multiple cores |
JP2012003606A (en) * | 2010-06-18 | 2012-01-05 | Ricoh Co Ltd | Communication device |
US9058173B2 (en) | 2011-10-25 | 2015-06-16 | Fujitsu Limited | Method for controlling a mobile terminal device by calculating a concurrency based on the calculated CPU utilization for a foreground or background operation executed by the device |
JP2013092874A (en) * | 2011-10-25 | 2013-05-16 | Fujitsu Ltd | Control method and control program for mobile terminal devices, and mobile terminal device |
JP2014006619A (en) * | 2012-06-22 | 2014-01-16 | Fujitsu Ltd | Method of controlling portable terminal device, control program, and portable terminal device |
KR20150052108A (en) * | 2012-08-31 | 2015-05-13 | 마이크론 테크놀로지, 인크. | Methods and systems for power management in a pattern recognition processing system |
JP2015531934A (en) * | 2012-08-31 | 2015-11-05 | マイクロン テクノロジー, インク. | Method and system for power management in pattern recognition processing |
US9501131B2 (en) | 2012-08-31 | 2016-11-22 | Micron Technology, Inc. | Methods and systems for power management in a pattern recognition processing system |
KR101999590B1 (en) | 2012-08-31 | 2019-07-15 | 마이크론 테크놀로지, 인크. | Methods and systems for power management in a pattern recognition processing system |
US10909452B2 (en) | 2012-08-31 | 2021-02-02 | Micron Technology, Inc. | Methods and systems for power management in a pattern recognition processing system |
US11928590B2 (en) | 2012-08-31 | 2024-03-12 | Micron Technology, Inc. | Methods and systems for power management in a pattern recognition processing system |
US9529407B2 (en) | 2013-02-21 | 2016-12-27 | Fujitsu Limited | Method for controlling information processing apparatus and information processing apparatus |
JP2014235746A (en) * | 2013-05-30 | 2014-12-15 | 三星電子株式会社Samsung Electronics Co.,Ltd. | Multi-core device and job scheduling method for multi-core device |
JP2016531371A (en) * | 2013-09-09 | 2016-10-06 | ゼットティーイー コーポレーションZte Corporation | Processor core processing method, apparatus, and terminal |
JP2016118818A (en) * | 2014-12-18 | 2016-06-30 | 本田技研工業株式会社 | Control device of vehicle |
Also Published As
Publication number | Publication date |
---|---|
US8209552B2 (en) | 2012-06-26 |
JP5182792B2 (en) | 2013-04-17 |
US20090094437A1 (en) | 2009-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5182792B2 (en) | Multi-core processor control method and apparatus | |
JP5607909B2 (en) | Memory management apparatus and method | |
JP5091912B2 (en) | Multi-core processor system | |
JP5090569B2 (en) | Processor power consumption control and voltage drop by bandwidth throttling of microarchitecture | |
TWI464570B (en) | Method, computer readable storage media, and multiple logical processor system for balancing performance and power savings of a computing device having muitiple cores | |
TWI426452B (en) | Work processing device | |
TWI416413B (en) | Work processing device | |
JP5564564B2 (en) | Method and apparatus for non-uniformly changing the performance of a computing unit according to performance sensitivity | |
KR101677820B1 (en) | Conserving power through work load estimation for a portable computing device using scheduled resource set transitions | |
CN107797853B (en) | Task scheduling method and device and multi-core processor | |
EP3332306B1 (en) | System and method for cache aware low power mode control in a portable computing device | |
KR20100026989A (en) | Energy-efficient multi-core processor | |
TW200813842A (en) | Method and apparatus for providing for detecting processor state transitions | |
JP2001318742A (en) | Computer system and computer readable recording medium | |
TWI426451B (en) | Work processing device | |
CN101167055A (en) | Power controller in information processor | |
WO2014065970A1 (en) | Modal workload scheduling in a hetergeneous multi-processor system on a chip | |
JPWO2005106623A1 (en) | CPU clock control device, CPU clock control method, CPU clock control program, recording medium, and transmission medium | |
WO2012120654A1 (en) | Task scheduling method and multi-core system | |
JP2009223689A (en) | Apparatus and method for controlling number of tasks, and computer program | |
JP2013149221A (en) | Control device for processor and method for controlling the same | |
JP6477260B2 (en) | Method and resource manager for executing an application | |
JP2010039802A (en) | Multiprocessor system, scheduling method and program therefor | |
WO2016085680A1 (en) | System and method for adaptive thread control in a portable computing device (pcd) | |
JP6669705B2 (en) | Numerical control unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100927 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111116 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120824 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120831 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121024 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121107 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121225 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130109 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5182792 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160125 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |