JP5293289B2 - Multi-core processor and control method thereof - Google Patents

Multi-core processor and control method thereof Download PDF

Info

Publication number
JP5293289B2
JP5293289B2 JP2009057261A JP2009057261A JP5293289B2 JP 5293289 B2 JP5293289 B2 JP 5293289B2 JP 2009057261 A JP2009057261 A JP 2009057261A JP 2009057261 A JP2009057261 A JP 2009057261A JP 5293289 B2 JP5293289 B2 JP 5293289B2
Authority
JP
Japan
Prior art keywords
task
processing time
tasks
processor core
power consumption
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.)
Expired - Fee Related
Application number
JP2009057261A
Other languages
Japanese (ja)
Other versions
JP2010211544A (en
Inventor
久典 藤沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009057261A priority Critical patent/JP5293289B2/en
Publication of JP2010211544A publication Critical patent/JP2010211544A/en
Application granted granted Critical
Publication of JP5293289B2 publication Critical patent/JP5293289B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

アルチコアプロセッサ及びマルチコアプロセッサの低電力化を図る制御方法に関する。   The present invention relates to a control method for reducing the power consumption of an multicore processor and an multicore processor.

複数のプロセッサコアを備えるマルチコアプロセッサにおいては、各プロセッサコアがタスクを並列実行するように、タスクが各プロセッサコアに割り振られるため、高い演算性能が実現されている。そして、マルチコアプロセッサの低電力化を図るため、いわゆる、動的電圧周波数制御(DVFS:Dynamic Voltage Frequency Scaling)がマルチコアプロセッサにおいて行われている。
ここで、単一のプロセッサコアを備えるプロセッサにおいて、タスクに対して要求される処理時間が、プロセッサコアの最大性能によって決まるタスク処理可能な時間より長い場合がある。そこで、単一のプロセッサコアにおいて、DFVSは、プロセッサコアへ供給する電源電圧又は動作クロックの周波数を低下させ、要求される処理時間に応じて、実際のタスク処理時間を引き延ばすことによって実行される。
In a multi-core processor having a plurality of processor cores, tasks are allocated to the respective processor cores so that the respective processor cores execute the tasks in parallel, so that high computing performance is realized. In order to reduce the power consumption of the multi-core processor, so-called dynamic voltage frequency control (DVFS) is performed in the multi-core processor.
Here, in a processor having a single processor core, the processing time required for a task may be longer than the time that can be processed by the task determined by the maximum performance of the processor core. Therefore, in a single processor core, DFVS is executed by reducing the frequency of the power supply voltage or operation clock supplied to the processor core and extending the actual task processing time according to the required processing time.

一方、マルチコアプロセッサにおいては、各プロセッサコアにとって、タスクは切れ目なく連続して割り当てられるのではなく、並列性の要因で、他のプロセッサコアの状況に応じて、一つのタスク終了後、次のタスク処理開始までの待ち時間が存在する。そこで、マルチコアプロセッサにおいて、DFVSは、タスクに対して要求される処理時間と、タスク処理開始までの待ち時間の双方を考慮して、プロセッサコアへ供給する電源電圧又は動作クロックの周波数を低下させ、実際のタスク処理時間を引き延ばすことによって実行される(特許文献1参照。)。   On the other hand, in a multi-core processor, tasks are not assigned continuously to each processor core, but due to parallelism, depending on the status of other processor cores, the next task There is a waiting time until processing starts. Therefore, in the multi-core processor, the DFVS reduces the frequency of the power supply voltage or the operation clock supplied to the processor core in consideration of both the processing time required for the task and the waiting time until the task processing starts. It is executed by extending the actual task processing time (see Patent Document 1).

すなわち、一般的に、DFVSは注目するプロセッサコアに割り当てられた、一つのタスクとその次に割り当てられたタスクとの関係に着目して、注目するプロセッサコアへ供給する電源電圧又は動作クロックの周波数を制御することにより実行される。   That is, in general, DFVS pays attention to the relationship between one task assigned to the processor core of interest and the task assigned next, and the frequency of the power supply voltage or operation clock supplied to the processor core of interest. It is executed by controlling.

特開2006−293768号公報JP 2006-293768 A

一群のタスクに着目して、一群のタスクを処理する複数のプロセッサコアへ供給する電源電圧又は動作クロックの周波数を関連をもたせて制御する機能を備えることにより、低電力化を図ったマルチコアプロセッサ、及び、一群のタスクを処理する複数のプロセッサコアへ供給する電源電圧又は動作クロックの周波数を関連をもたせて制御して、マルチコアプロセッサの低電力化を図る制御方法を提供する。   Focusing on a group of tasks, a multi-core processor designed to reduce power by providing a function to control the power supply voltage or operation clock frequency supplied to a plurality of processor cores that process the group of tasks in association with each other, Also provided is a control method for reducing the power consumption of a multi-core processor by controlling the power supply voltage supplied to a plurality of processor cores that process a group of tasks or the frequency of an operation clock in association with each other.

上記の課題を解決するため、発明の側面によって、
複数のタスクを並列処理する複数のプロセッサコアと、各タスクについて、関連する第1タスク群を識別する識別番号と、プロセッサコアがタスクを処理するのに必要なタスク処理時間と、第1タスク群に含まれるタスクを実行する上限期間を記憶するレジスタと、
第1タスク群に含まれるタスクの内、並列に処理されるタスクであって同一のタスクに繋がる複数のタスクからなる第2タスク群を抽出し、複数のタスクのタスク処理時間の内、最長のタスク処理時間を第2タスク群を処理する第1処理時間とし、第2タスク群を処理するプロセッサコアの消費電力と第1処理時間に応じて、上限期間中に占める第2タスク群を実行する第2処理時間を設定する設定回路と、
タスク処理時間と、第2処理時間との比率に応じて、各タスクを処理するプロセッサコアへ供給する動作クロックの周波数又は電源電圧を予め決められた動作クロックの周波数又は電源電圧から変更させる駆動回路と、を備えることを特徴とするマルチコアプロセッサが提供される。
In order to solve the above problems, according to an aspect of the invention,
A plurality of processor cores that process a plurality of tasks in parallel, an identification number that identifies a related first task group for each task, a task processing time required for the processor core to process the task, and a first task group A register for storing an upper limit period for executing the tasks included in
From the tasks included in the first task group, the second task group consisting of a plurality of tasks that are processed in parallel and connected to the same task is extracted, and the longest of the task processing times of the plurality of tasks The task processing time is defined as the first processing time for processing the second task group, and the second task group occupying the upper limit period is executed according to the power consumption of the processor core that processes the second task group and the first processing time. A setting circuit for setting the second processing time;
A drive circuit that changes the frequency or power supply voltage of the operation clock supplied to the processor core that processes each task from the predetermined frequency or power supply voltage of the operation clock according to the ratio between the task processing time and the second processing time. A multi-core processor is provided.

その結果、大きな消費電力を必要とするタスク群について、上限期間中に占める処理時間が長くなり、そのタスク群を実行するプロセッサコアの消費電力が大きく削減されるため、マルチコアプロセッサの消費電力削減が大きくなる効果がある。   As a result, for the task group that requires a large amount of power consumption, the processing time for the upper limit period becomes longer, and the power consumption of the processor core that executes the task group is greatly reduced. There is an effect of increasing.

図1は実施例1のマルチコアプロセッサ10を示す図である。FIG. 1 is a diagram illustrating a multi-core processor 10 according to the first embodiment. 図2は、マルチコアプロセッサ10の低電力化を図る制御方法を説明するフローチャート20である。FIG. 2 is a flowchart 20 for explaining a control method for reducing the power consumption of the multi-core processor 10. 図3A、図3B、図3C、図3Dは、オペレーションop1の具体例を説明する図である。3A, 3B, 3C, and 3D are diagrams for explaining a specific example of the operation op1. 図4A、図4Bは、オペレーションop2の具体例を説明する図である。4A and 4B are diagrams illustrating a specific example of the operation op2. 図5A、図5B、図5C、図5D、及び、図5Eはオペレーションop2を、より複雑な関係にあるタスクから構成されているタスクグループに対して行う例を示す。5A, FIG. 5B, FIG. 5C, FIG. 5D, and FIG. 5E show an example in which operation op2 is performed on a task group composed of tasks having a more complicated relationship. 図6はオペレーションop4の具体例を説明する図である。FIG. 6 is a diagram for explaining a specific example of the operation op4.

本発明は、以下に説明する実施例に対し、当業者が想到可能な、設計上の変更が加えられたもの、及び、実施例に現れた構成要素の組み換えが行われたものも含む。また、本発明は、その構成要素が同一の作用効果を及ぼす他の構成要素へ置き換えられたもの等も含み、以下の実施例に限定されない。   The present invention includes the embodiments described below that have been modified by the design that can be conceived by those skilled in the art, and those in which the components shown in the embodiments have been recombined. Further, the present invention includes those in which the constituent elements are replaced with other constituent elements having the same operational effects, and are not limited to the following embodiments.

図1は実施例1のマルチコアプロセッサ10を示す図である。実施例1のマルチコアプロセッサ10は、スケジューラ11、基準タスク情報用メモリ12、タスク情報用メモリ13、周波数制御回路14、電源電圧制御回路15、n個のプロセッサコア181からプロセッサコア18n(nは1以上の整数)まで、バス19によって構成されている。
マルチコアプロセッサ10は、タスクグループに含まれる複数のタスクを並列に実行するプロセッサである。
スケジューラ11は、各プロセッサコア18nに対してタスクの割り当て、各プロセッサコア18nにおける割り当てたタスクの処理時間を算出し、その処理時間に応じて各プロセッサコアに供給する電源電圧及び動作クロックの周波数を決定する回路である。
基準タスク情報用メモリ12は、タスクグループに含まれる基準タスクについて、その基準タスクが関連するタスクグループを特定するタスクID番号(識別番号)と、予め決められた標準動作において、各プロセッサコア18nが基準タスクを処理する制約時間、基準タスクの開始時間、基準タスクを実行しているか否かを表す実行フラグを記憶するメモリである。
FIG. 1 is a diagram illustrating a multi-core processor 10 according to the first embodiment. The multi-core processor 10 of the first embodiment includes a scheduler 11, a reference task information memory 12, a task information memory 13, a frequency control circuit 14, a power supply voltage control circuit 15, and n processor cores 181 to 18n (n is 1). Up to the above integer), the bus 19 is configured.
The multi-core processor 10 is a processor that executes a plurality of tasks included in a task group in parallel.
The scheduler 11 assigns a task to each processor core 18n, calculates the processing time of the assigned task in each processor core 18n, and determines the power supply voltage and operation clock frequency supplied to each processor core according to the processing time. It is a circuit to determine.
The reference task information memory 12 includes a task ID number (identification number) that identifies a task group to which the reference task relates and a reference ID included in the task group and each processor core 18n in a predetermined standard operation. This is a memory for storing a restriction time for processing the reference task, a start time of the reference task, and an execution flag indicating whether or not the reference task is being executed.

タスク情報用メモリ13は、基準タスクを除く、すべてのタスクを特定するタスクID(識別番号)、そのタスクが関連する基準タスクのID(識別番号)、各プロセッサコア18nの標準動作に対する動作クロックの周波数及び電源電圧においてそのタスクを実行する標準処理時間を記憶するメモリである。
周波数制御回路14は、クロック発生回路を含み、各プロセッサコア18nへ動作クロックを供給する回路である。周波数制御回路14は、各プロセッサコア18nの動作クロックの周波数の情報を、スケジューラ11から、バス19を介して、受け取る。なお、クロック発生回路は異なるクロック周波数をもつ複数のクロックを発生することとし、それらを切替ることにより、ことなる動作クロックを供給することでもよいし、一つのクロックを発生させ、そのクロックを分周することにより、動作クロックを発生させてもよい。
The task information memory 13 includes a task ID (identification number) that identifies all tasks except the reference task, an ID (identification number) of a reference task to which the task relates, and an operation clock for the standard operation of each processor core 18n. A memory that stores a standard processing time for executing the task at a frequency and a power supply voltage.
The frequency control circuit 14 includes a clock generation circuit and supplies an operation clock to each processor core 18n. The frequency control circuit 14 receives information on the frequency of the operation clock of each processor core 18 n from the scheduler 11 via the bus 19. Note that the clock generation circuit may generate a plurality of clocks having different clock frequencies, and supply different operation clocks by switching them, or generate one clock and divide the clocks. An operation clock may be generated by making a round.

電源電圧制御回路15は、電源電圧発生回路を含み、各プロセッサコア18nへ電源電圧を供給する。電源電圧制御回路15は、各プロセッサコア18nの電源電圧の情報を、スケジューラ11からバス19を介して、受け取る。
プロセッサコア18nは、スケジューラに割り当てられた各タスクを実行するプロセッサである。
バス19は、マルチコアプロセッサ10を構成する各回路間の信号を伝達するために用いられる。
The power supply voltage control circuit 15 includes a power supply voltage generation circuit and supplies a power supply voltage to each processor core 18n. The power supply voltage control circuit 15 receives information on the power supply voltage of each processor core 18 n from the scheduler 11 via the bus 19.
The processor core 18n is a processor that executes each task assigned to the scheduler.
The bus 19 is used for transmitting signals between circuits constituting the multi-core processor 10.

図2は、マルチコアプロセッサ10の低電力化を図る制御方法を説明するフローチャート20である。
オペレーションop1において、スケジューラ11は、時間配分を実施するタスクグループを、基準タスクのタスクID番号により抽出し、そのタスクグループに関連するすべてのタスクを、そのタスクのタスクIDと、そのタスクが関連する基準タスクのIDにより特定する。次いで、スケジューラ11は、タスク間の時間順序関係を、マルチコアプロセッサ10に与えられたプログラムの解析を行うことにより把握する。ここで、時間順序関係には、各タスクの開始時期の順序関係だけでなく、一方のタスクの処理結果を、他方のタスクの実行に用いることとなるか否かの関係も含む。なお、スケジューラ11は、図3Dに示すタスク間の依存グラフについても、プログラムの解析から得られた時間順序関係から構築する。
FIG. 2 is a flowchart 20 for explaining a control method for reducing the power consumption of the multi-core processor 10.
In operation op1, the scheduler 11 extracts a task group for performing time allocation based on the task ID number of the reference task, and all tasks related to the task group are related to the task ID of the task and the task. It is specified by the ID of the reference task. Next, the scheduler 11 grasps the time order relationship between tasks by analyzing a program given to the multi-core processor 10. Here, the time order relationship includes not only the order relationship of the start times of the tasks, but also the relationship of whether or not the processing result of one task is used for the execution of the other task. The scheduler 11 also constructs the dependency graph between tasks shown in FIG. 3D from the time order relationship obtained from the analysis of the program.

図3A、図3B、図3C、図3Dは、オペレーションop1の具体例を説明する図である。図3Aは基準タスクとなるタスクEの基準タスク情報を示すテーブルを示す。基準タスク情報は、基準タスクEのタスクID番号、制約時間、開始時間、実行フラグから構成されている。そして、基準タスクEのタスクID番号により、タスクグループを、スケジューラ11は抽出する。図3Bはタスクのタスク情報を示すテーブルを示す。タスク情報は、タスクA、B、C、DのタスクID、基準タスクID、処理量、標準処理時間から構成されている。そこで、スケジューラ11はタスクIDと、基準タスクIDからタスクグループに関連するタスクを特定する。
図3Cはタスクグループにおけるタスク間の時間順序関係を示す図である。スケジューラ11は、与えられたプログラムから、タスクA、B、C、及び基準タスクEの処理が開始後、タスクDの処理が開始され、タスクA、B、Cの処理結果をタスクDで使用することを認識する。さらに、スケジューラ11は、タスクFの処理はタスクDの処理が開始された後に行われ、タスクFは基準タスクE及びタスクDの結果を使用することを認識する。なお、タスクA、B、C、D、Eはこのタスクグループに関連するタスクであり、処理時間の割り振りの対象となるタスクである。タスクFはこのタスクグループの後に続くタスクである。
図3Dはタスクグループの依存関係グラフを示す図である。依存グラフとは、タスクをノード、タスク間の時間順序関係を枝としたグラフをいう。さらに、最終段のノードをルート、自己へ繋がるノードを持たないノードをリーフとする。そうすると、タスクA、B、C及び、基準タスクEはリーフノードであり、タスクD、Fはルートノードとなる。スケジューラ11は、タスクグループにおけるタスク間の順序関係をプログラムの解析から抽出し、図3Dのような依存グラフとして認識する。
3A, 3B, 3C, and 3D are diagrams for explaining a specific example of the operation op1. FIG. 3A shows a table indicating the reference task information of task E serving as a reference task. The reference task information includes a task ID number of the reference task E, a constraint time, a start time, and an execution flag. Then, the scheduler 11 extracts a task group based on the task ID number of the reference task E. FIG. 3B shows a table indicating task information of tasks. The task information includes task IDs of tasks A, B, C, and D, a reference task ID, a processing amount, and a standard processing time. Therefore, the scheduler 11 specifies a task related to the task group from the task ID and the reference task ID.
FIG. 3C is a diagram showing a time order relationship between tasks in a task group. The scheduler 11 starts the processing of the task D after the processing of the tasks A, B, and C and the reference task E starts from the given program, and uses the processing results of the tasks A, B, and C in the task D. Recognize that. Further, the scheduler 11 recognizes that the processing of the task F is performed after the processing of the task D is started, and the task F uses the results of the reference task E and the task D. Tasks A, B, C, D, and E are tasks related to this task group, and are tasks for which processing time is allocated. Task F is a task that follows this task group.
FIG. 3D is a diagram showing a dependency graph of task groups. The dependency graph is a graph in which a task is a node and a time order relationship between tasks is a branch. Further, a node at the final stage is a root, and a node that does not have a node connected to itself is a leaf. Then, tasks A, B, and C and reference task E are leaf nodes, and tasks D and F are root nodes. The scheduler 11 extracts the order relation between tasks in the task group from the analysis of the program and recognizes it as a dependency graph as shown in FIG. 3D.

図2を参照し、オペレーションop2において、スケジューラ11は、各タスクに処理時間の割り振りを行う。より詳細には、オペレーションop2は以下のように行われる。
オペレーションop2−1において、スケジューラ11は、並列に処理されるタスクであって、同一タスクに繋がるタスクを抽出する。そして、各タスク及び同一タスクを処理するプロセッサコア18nに対して、タスクの処理時間Tlに依存する消費電力Pkを求める。ここで、消費電力Pkは以下の式で与えられる。
Pk=P0×Tl×(Lk/Tl/R0)=Ak×Tl(1-q)―――――(1)式
Ak=P0×(Lk/R0)―――――(2)式
P0:プロセッサコア18nの標準動作に対する、プロセッサコア18nの消費電力
R0:プロセッサコア18nの標準動作に対する、プロセッサコア18nの単位時間あたりの最大処理量
Lk:タスクの処理量
q:DVFSを適用するプロセッサコア18nの特性によってきまる特性係数であり、1.5から2程度の値である
なお、P0、R0については、すべてのプロセッサコア18nにおいて共通値としたが、共通値でなくても、差し支えない。また、P0、R0は予め、スケジューラ11に記憶させておくことができる。
また、消費電力Pkが処理時間Tlの関数として表される理由を以下において説明する。まず、単位時間あたりの電力Pは一般的に周波数fと電源電圧Vとから、P∝f×Vと表される。次いで、論理ゲートの遅延時間は、電源電圧Vと、Td∝V−2.5〜−3.5の関係にある。よって、V∝T−0.57〜−0.8である。一方、f∝1/Tdである。よって、P∝f1.57〜1.8である。さらに、負荷量Lのタスクを周波数fで処理した場合の処理時間Tは、周波数f0で単位時間あたりのR0の負荷を処理できるプロセッサと仮定すると、T=L×f0/R0/fとなる。従って、f∝L/T/R0となる。そこで、処理時間Tの間の消費電力は、P×Tであるから、Pk=P×T∝T×(L/T/R0)1.57〜1.8となる。
Referring to FIG. 2, in operation op2, the scheduler 11 allocates processing time to each task. More specifically, operation op2 is performed as follows.
In operation op2-1, the scheduler 11 extracts tasks that are processed in parallel and are connected to the same task. Then, the power consumption Pk depending on the task processing time Tl is obtained for the processor core 18n that processes each task and the same task. Here, the power consumption Pk is given by the following equation.
Pk = P0 × Tl × (Lk / Tl / R0) q = Ak × Tl (1-q) ――――― (1) Equation Ak = P0 × (Lk / R0) q ――――― (2) Expression P0: Power consumption of the processor core 18n with respect to the standard operation of the processor core 18n R0: Maximum processing amount per unit time of the processor core 18n with respect to the standard operation of the processor core 18n Lk: Processing amount of the task q: DVFS is applied It is a characteristic coefficient determined by the characteristics of the processor core 18n, and is a value of about 1.5 to 2. Note that although P0 and R0 are common values in all the processor cores 18n, they may be different from each other. Absent. Further, P0 and R0 can be stored in the scheduler 11 in advance.
The reason why the power consumption Pk is expressed as a function of the processing time Tl will be described below. First, the power P per unit time is generally expressed as P∝f × V 2 from the frequency f and the power supply voltage V. Next, the delay time of the logic gate has a relationship between the power supply voltage V and Td∝V −2.5 to −3.5 . Therefore, V 2 ∝T −0.57 to −0.8 . On the other hand, f∝1 / Td. Therefore, P∝f is 1.57 to 1.8 . Further, the processing time T when a task with the load L is processed at the frequency f is T = L × f0 / R0 / f, assuming that the processor can process the load of R0 per unit time at the frequency f0. Therefore, f∝L / T / R0. Therefore, since the power consumption during the processing time T is P × T, Pk = P × T∝T × (L / T / R0) 1.57 to 1.8 .

次いで、抽出したタスクを統合タスクとし、統合タスクの消費電力として、各タスクの消費電力の和をとる。すなわち、以下のようになる。
統合タスクの総電力=ΣP0×Ts×(Lk/Ts/R0)=(Bs)×Ts(1-q)――――――――(3)式
Bs=ΣAk=ΣP0×(Lk/R0)―――(4)式
ここで、Tsは統合タスクを実行する複数のプロセッサコア18nについて共通の処理時間である。
Next, the extracted task is set as an integrated task, and the sum of the power consumption of each task is calculated as the power consumption of the integrated task. That is, it is as follows.
Total power of integrated task = ΣP0 × Ts × (Lk / Ts / R0) q = (Bs) × Ts (1-q) ―――――――― (3)
Bs = ΣAk = ΣP0 × (Lk / R0) q (4) where Ts is a processing time common to a plurality of processor cores 18n executing the integrated task.

オペレーションop2−2において、スケジューラ11は、順次直列的に行われる統合タスクを抽出し、シーケンシャルタスクとする。なお、並列に行われるタスクがなく、オペレーションop2−1の統合タスクとはならないが、オペレーションop2−1の統合タスクと直列に行われるタスクも、オペレーションop2−2の統合タスクであるとする。
その結果、複数の統合タスクが順次直列に繋がることになる。そして、m個の統合マスクからシーケンシャルタスクが構成されたとすると、そのシーケンシャルタスクの消費電力CSnは、以下となる。
CSn=Bn1×Tn1(1-q)+Bn2×Tn2(1-q)+.....+Bnm×Tnm(1-q)――――(5)式
なお、Bnmは統合タスクの総電力を表す式における係数Bsであり、電力係数とする。また、Tnmは統合タスクを実行する複数のプロセッサコア18nについて共通の処理時間である。
次いで、スケジューラ11は、それぞれの統合タスクの電力係数の1/q乗の比率と、それぞれの統合タスクの処理時間の比率が一致するように、統合タスクの処理時間の比率を決定する。
すなわち、Bn1(1/q):Bn2(1/q):...:Bnm(1/q)=Tn1:Tn2:...:Tnmとなるように、Tn1、Tn2、...、Tnmの比率を決定する。
シーケンシャルタスク全体を行うための処理時間がTnと与えられた場合には、Tn内における、それぞれの統合タスクの処理時間はTn1=Tn×Bn1(1/q)/(Bn1(1/q)+Bn2(1/q)+...+Bnm(1/q))、....、Tnm=Tn×Bnm(1/q)/(Bn1(1/q) +B2(1/q)+...+Bnm(1/q))のように割り振られ、CSnは(5)式より、
CSn=Tn(1-q)×(Bn1(1/q)+Bn2(1/q)+...+Bnm(1/q))/(Bn1(1/q)+Bn2(1/q)+...+Bnm(1/q)(1-q)=Tn(1-q)×(Bn1(1/q)+Bn2(1/q)+...+Bnm(1/q)q――――(6)式
となる。
In operation op2-2, the scheduler 11 sequentially extracts integrated tasks performed serially and makes them sequential tasks. It is assumed that there is no task performed in parallel and is not an integrated task of operation op2-1, but a task performed in series with the integrated task of operation op2-1 is also an integrated task of operation op2-2.
As a result, a plurality of integrated tasks are sequentially connected in series. If a sequential task is composed of m integrated masks, the power consumption CSn of the sequential task is as follows.
CSn = Bn1 * Tn1 (1-q) + Bn2 * Tn2 (1-q) +. . . . . + Bnm × Tnm (1−q) (5) where Bnm is a coefficient Bs in an expression representing the total power of the integrated task, and is a power coefficient. Tnm is a processing time common to the plurality of processor cores 18n that execute the integrated task.
Next, the scheduler 11 determines the ratio of the integrated task processing time so that the ratio of the power coefficient of each integrated task to the 1 / qth power matches the ratio of the processing time of each integrated task.
That is, Bn1 (1 / q) : Bn2 (1 / q) :. . . : Bnm (1 / q) = Tn1: Tn2:. . . : Tn1, Tn2,. . . , Determine the ratio of Tnm.
When the processing time for performing the entire sequential task is given as Tn, the processing time of each integrated task in Tn is Tn1 = Tn × Bn1 (1 / q) / (Bn1 (1 / q) + Bn2 (1 / q) + ... + Bnm (1 / q) ),. . . . , Tnm = Tn × Bnm (1 / q) / (Bn1 (1 / q) + B2 (1 / q) +... + Bnm (1 / q) )), and CSn is calculated from the equation (5):
CSn = Tn (1-q) * (Bn1 (1 / q) + Bn2 (1 / q) + ... + Bnm (1 / q) ) / (Bn1 (1 / q) + Bn2 (1 / q) +. + Bnm (1 / q) ) (1-q) = Tn (1-q) × (Bn1 (1 / q) + Bn2 (1 / q) + ... + Bnm (1 / q) ) q ―――― (6) Equation

オペレーションop2−3において、スケジューラ11は、基準タスクを除く、タスクグループ中のすべてのタスクをオペレーションop2−1、オペレーションop2−2の統合タスク又はオペレーションop2−2のシーケンシャルタスクに組み込む。ここで、上記のタスクをシーケンシャルタスクに取り込む際、オペレーションop2−2のシーケンシャルタスクに並列であり、同一タスクに繋がるオペレーションop2−2又はオペレーションop2−1の統合タスク、又は、オペレーションop2−2シーケンシャルタスクがあった場合は、あらたに、それらを統合してオペレーション2−3の統合タスクを形成する。
上記のあらたなオペレーションop2−3の統合タスクを計算するときに、並列するシーケンシャルタスクを統合タスクとするときは、それぞれのシーケンシャルタスク全体の処理時間Ta、Tbの内、大きいほうTaを採用し、その統合タスクの消費電力CSmは、
CSm=(Ba)×Ta(1-q)
Ba=(Ba1(1/q) +Ba2(1/q)+...+Bam(1/q)q+(Bb1(1/q) +Bb2(1/q)+...+Bbs(1/q)q――――(7)式
なお、並列なシーケンシャルタスクが複数あった場合には、一番長い処理時間をTaとし、上記の(7)式に(Bb1(1/q) +Bb2(1/q)+...+Bbs(1/q)qの項が、シーケンシャルタスクの数分、加算されるものとなる。
一方、統合タスクとシーケンシャルタスクを新たなオペレーション2−3の統合タスクとするときは、統合タスクの総電力を(Bs)×Ts(1-q)、シーケンシャルタスクの消費電力をCSn=Tn(1-q)×(Bn1(1/q) +Bn2(1/q)+...+Bnm(1/q)qとすると、その統合タスクの消費電力CSmは、TsとTnの内長い処理時間をTaとして、
CSm=(Bs)Ta(1-q)+Ta(1-q)×(Bn1(1/q) +Bn2(1/q)+...+Bnm(1/q)q
CSm=(Ba)×Ta(1-q)
Ba=(Bn1(1/q) +Bn2(1/q)+...+Bnm(1/q)q+Bs――――(8)式
となる。
以上より、オペレーションop2−3が終了すると、オペレーションop2−3の統合タスクが順次繋がったシーケンシャルタスクができあがる。
In operation op2-3, the scheduler 11 incorporates all tasks in the task group except the reference task into the operation op2-1, the integrated task of operation op2-2, or the sequential task of operation op2-2. Here, when the above task is taken into the sequential task, the operation op2-2 or the operation op2-1 integrated task that is parallel to the sequential task of the operation op2-2 and connected to the same task, or the operation op2-2 sequential task. If there are any, they are newly integrated to form an integrated task of operation 2-3.
When calculating the integrated task of the above new operation op2-3, when the sequential task in parallel is set as the integrated task, the larger Ta among the processing times Ta and Tb of each sequential task is adopted. The power consumption CSm of the integrated task is
CSm = (Ba) × Ta (1-q)
Ba = (Ba1 (1 / q ) + Ba2 (1 / q) + ... + Bam (1 / q)) q + (Bb1 (1 / q) + Bb2 (1 / q) + ... + Bbs (1 / q ) ) Q ―――― (7) If there are multiple sequential tasks in parallel, the longest processing time is Ta, and (Bb1 (1 / q) + Bb2 ( 1 / q) + ... + Bbs (1 / q) ) The term of q is added by the number of sequential tasks.
On the other hand, when the integrated task and the sequential task are used as the integrated task of the new operation 2-3, the total power of the integrated task is (Bs) × Ts (1-q) , and the power consumption of the sequential task is CSn = Tn (1 -q) x (Bn1 (1 / q) + Bn2 (1 / q) + ... + Bnm (1 / q) ) If q , the power consumption CSm of the integrated task is the long processing time of Ts and Tn. As Ta,
CSm = (Bs) Ta (1-q) + Ta (1-q) * (Bn1 (1 / q) + Bn2 (1 / q) + ... + Bnm (1 / q) ) q
CSm = (Ba) × Ta (1-q)
Ba = (Bn1 (1 / q) + Bn2 (1 / q) +... + Bnm (1 / q) ) q + Bs-(8)
As described above, when the operation op2-3 is completed, a sequential task in which the integrated tasks of the operation op2-3 are sequentially connected is completed.

オペレーションop2−4において、スケジューラ11は、それぞれのオペレーションop2−3の統合タスクの電力係数の1/q乗の比率と、それぞれの統合タスクの処理時間の比率が一致するように、統合タスクの処理時間の比率を決定する。
すなわち、B1(1/q):B2(1/q):...:Bn(1/q)=T1:T2:...:Tn―(9)式
となるように、T1、T2、...、Tnの比率を決定する。なお、上記(9)式におけるB1からBnは、(7)式、又は(8)式におけるBaと同様な係数である。
次いで、スケジューラ11は、このタスクグループの基準タスクの制約時間(T基準)を、統合タスクの処理時間の比率で、各統合タスクの処理時間として割り振る。
すなわち、T基準×B1(1/q)/(B1(1/q)+B2(1/q)+...+Bn(1/q))、....、T基準×Bn(1/q)/(B1(1/q) +B2(1/q)+...+Bn(1/q))のように、各統合タスクを実行する、プロセッサコア18nの処理時間を設定しなおす。ただし、再設定された処理時間が、その統合タスクの標準処理時間より短くなった場合は、基準タスクの制約時間から予め、短くなった統合タスクの標準処理時間を差し引き、残りの制約時間を、残りの統合タスクの処理時間の比率で、残りの統合タスクに対して割り振る。
ただし、標準処理時間と短くなった再設定された処理時間との差が少ない場合は、プロセッサコア18nの電源電圧又は動作クロックの周波数を上昇させて対応することも可能である。
次いで、各オペレーションop2−3の統合タスクを構成する、オペレーションop2−1、オペレーションop2−2の統合タスク、オペレーションop2−2のシーケンシャルタスクに対して、そのオペレーションop2−3の統合タスクに割り当てられた処理時間Tmを、さらに、それらを構成する上記タスクの電力係数の1/q乗の比率で、各上記タスクに割り振る。
In operation op2-4, the scheduler 11 processes the integrated task so that the ratio of the power coefficient of the integrated task in each operation op2-3 to the 1 / qth power matches the ratio of the processing time of each integrated task. Determine the time ratio.
That is, B1 (1 / q) : B2 (1 / q):. . . : Bn (1 / q) = T1: T2:. . . : T1, T2,. . . , Tn ratio is determined. B1 to Bn in the above equation (9) are the same coefficients as Ba in the equation (7) or (8).
Next, the scheduler 11 assigns the constraint time (T criterion) of the reference task of this task group as the processing time of each integrated task at the ratio of the processing time of the integrated task.
That is, T reference × B1 (1 / q) / (B1 (1 / q) + B2 (1 / q) + ... + Bn (1 / q) ),. . . . , T reference × Bn (1 / q) / (B1 (1 / q) + B2 (1 / q) +... + Bn (1 / q) ) Reset the processing time. However, if the reset processing time is shorter than the standard processing time of the integration task, the standard processing time of the integration task that was shortened in advance is subtracted from the standard task constraint time, and the remaining constraint time is calculated. Allocate the remaining integration tasks with the ratio of the remaining integration task processing times.
However, when the difference between the standard processing time and the shortened processing time is small, it is possible to increase the power supply voltage of the processor core 18n or the frequency of the operation clock.
Next, the operation op2-1, the operation op2-2 integration task, and the operation op2-2 sequential task constituting the integration task of each operation op2-3 are assigned to the operation op2-3 integration task. The processing time Tm is further allocated to each of the tasks at a ratio of the 1 / qth power of the power coefficients of the tasks constituting them.

その結果、統合タスクそれぞれの消費電力CSmは、以下となる。
CSm=T基準(1-q)×Bm(1/q)/(B1(1/q)+B2(1/q)+...+Bm(1/q)(1-q)
また、m個の統合マスクからなるシーケンシャルタスク全体の消費電力は、以下となる。
CS=T基準(1-q)×(B1(1/q) +B2(1/q)+...+Bm(1/q))/(B1(1/q)+B2(1/q)+...+Bm(1/q)(1-q) =T基準(1-q)×(B1(1/q) +B2(1/q)+...+Bm(1/q)q―(10)式
各統合タスクに対する処理時間よりも、タスクグループの基準タスクの制約時間が、長くなる。そこで、qは1.5から2程度であるから、1−qがマイナスの数字となるので、T基準(1-q) が減少するため、消費電力CSは、各統合タスクに対する処理時間を伸ばしたことにより、減少する。
As a result, the power consumption CSm of each integrated task is as follows.
CSm = T standard (1-q) × Bm (1 / q) / (B1 (1 / q) + B2 (1 / q) + ... + Bm (1 / q) ) (1-q)
Further, the power consumption of the entire sequential task including m integrated masks is as follows.
CS = T criterion (1-q) × (B1 (1 / q) + B2 (1 / q) + ... + Bm (1 / q) ) / (B1 (1 / q) + B2 (1 / q) +. ( + Bm (1 / q) ) (1-q) = T reference (1-q) x (B1 (1 / q) + B2 (1 / q) + ... + Bm (1 / q) ) q- ( 10) Expression The constraint time of the reference task of the task group becomes longer than the processing time for each integrated task. Therefore, since q is about 1.5 to 2, since 1-q is a negative number, the T criterion (1-q) is reduced, so that the power consumption CS increases the processing time for each integrated task. Will decrease.

また、上記のように、各統合タスクにおいて、タスクの実行を行うプロセッサコア18nの処理時間を、引き延ばすということは、各統合タスクの処理量に、基準タスクの制約時間内のプロセッサコア18nの処理量をあわせるように、プロセッサコア18nへ供給する動作クロックの周波数及び電源電圧を低下させることを意味する。さらに、各統合タスクの電力係数の1/q乗に応じてプロセッサコア18nの処理時間を伸ばすということは、消費電力が大きいプロセッサコア18n程、消費電力の削減量を大きくしていることを表す。
従って、タスクグループを実行する、マルチプロセッサコア10の消費電力を大幅に減少させることができる。
Further, as described above, in each integrated task, the processing time of the processor core 18n that executes the task is extended. This means that the processing amount of each integrated task is equal to the processing of the processor core 18n within the reference task constraint time. This means that the frequency of the operation clock supplied to the processor core 18n and the power supply voltage are lowered so as to match the amounts. Furthermore, extending the processing time of the processor core 18n in accordance with the power coefficient of each integrated task according to the power of 1 / q indicates that the power consumption reduction amount is increased as the processor core 18n has higher power consumption. .
Therefore, the power consumption of the multiprocessor core 10 that executes the task group can be greatly reduced.

図4A、図4Bは、オペレーションop2の具体例を説明する図である。図4Aは、タスクグループに関連するタスクA、B、C、DのタスクID、基準タスクID、標準処理時間、時間配分比率、再時間配分比率、処理時間を示すテーブルである。
タスクAの処理量は300Mである。タスクBとタスクCの処理量は、250Mである。タスクDの処理量は100Mである。従って、各プロセッサコア18nの標準動作に対する、単位時間あたりの最大処理量R0が1000Mであるとすると、タスクA、B、C、Dそれぞれの標準処理時間は、300ms、250ms、250ms、100msとなる。なお、タスクA、B、C、Dが関連するタスクグループの標準タスクEの制約時間は600msであり、このタスクグループの後に続く、タスクFの処理時間は100msであるとする。
4A and 4B are diagrams illustrating a specific example of the operation op2. FIG. 4A is a table showing the task ID, standard task ID, standard processing time, time distribution ratio, retime distribution ratio, and processing time of tasks A, B, C, and D related to the task group.
The processing amount of task A is 300M. The processing amount of task B and task C is 250M. The processing amount of task D is 100M. Accordingly, assuming that the maximum processing amount R0 per unit time for the standard operation of each processor core 18n is 1000M, the standard processing times of the tasks A, B, C, and D are 300ms, 250ms, 250ms, and 100ms, respectively. . It is assumed that the restriction time of the standard task E of the task group related to the tasks A, B, C, and D is 600 ms, and the processing time of the task F that follows this task group is 100 ms.

ここで、プロセッサコア18nの標準動作に対する、プロセッサコア18nの消費電力P0が412mWであるとすると、タスクA、B、Cからなる統合タスクの電力係数の総和(ABC)は、以下のようになる。
電力係数の総和(ABC)=412×(300/1000)1.6+412×(250/1000)1.6+412×(250/1000)1.6=149
一方、タスクDの電力係数(D)は、
電力係数(D)=412×(300/1000)1.6=10
従って、タスクA、B、Cからなる統合タスクの制約時間の比率と、タスクDの制約時間の時間配分比率は、以下となる。
統合タスクの制約時間の比率:タスクDの制約時間の比率=1491/1.6:101/1.6=22.8:4.3=5.3:1
Here, assuming that the power consumption P0 of the processor core 18n with respect to the standard operation of the processor core 18n is 412 mW, the sum of the power coefficients (ABC) of the integrated task composed of the tasks A, B, and C is as follows. .
Sum of power coefficients (ABC) = 412 × (300/1000) 1.6 + 412 × (250/1000) 1.6 + 412 × (250/1000) 1.6 = 149
On the other hand, the power coefficient (D) of task D is
Power coefficient (D) = 412 × (300/1000) 1.6 = 10
Therefore, the ratio of the constraint time of the integrated task composed of tasks A, B, and C and the time distribution ratio of the constraint time of task D are as follows.
Ratio of constraint time of integrated task: Ratio of constraint time of task D = 149 1 / 1.6 : 10 1 / 1.6 = 22.8: 4.3 = 5.3: 1

ここで、タスクグループの基準タスクEの制約時間は600msであるので、600msを、5.3:1の割合で、統合タスクとタスクDの処理時間に割り振ると、505msと95msとなる。   Here, since the constraint time of the reference task E of the task group is 600 ms, if 600 ms is allocated to the processing time of the integrated task and the task D at a ratio of 5.3: 1, 505 ms and 95 ms are obtained.

しかし、プロセッサコア18nは95msでは、タスクDの処理量を処理することができないため、タスクDを処理できる最小の処理時間100msに、タスクDの処理時間を再設定する。一方、タスクA、B、Cからなる統合タスクの処理時間は、基準タスクEの制約時間600msからタスクDを処理できる最小の処理時間100msを差し引き、500msとする。その結果、タスクA、B、Cからなる統合タスクの処理時間とタスクDの処理時間の再時間配分比率は、5:1となる。
図4Bは、上記のように、タスクA、B、Cからなる統合タスクの処理時間を上記のように割り振ったあとのタスクA、B、Cの処理状況を示す図である。タスクE開始後、500ms後にタスクDは開始される。また、タスクA、B、Cは、タスクEと同時に開始するが処理時間は、500ms後まで延長されている。
However, since the processor core 18n cannot process the processing amount of the task D at 95 ms, the processing time of the task D is reset to the minimum processing time of 100 ms that can process the task D. On the other hand, the processing time of the integrated task composed of tasks A, B, and C is set to 500 ms by subtracting the minimum processing time of 100 ms that can process task D from the constraint time of 600 ms of the reference task E. As a result, the re-time distribution ratio between the processing time of the integrated task composed of tasks A, B, and C and the processing time of task D is 5: 1.
FIG. 4B is a diagram showing the processing status of tasks A, B, and C after the processing time of the integrated task composed of tasks A, B, and C is allocated as described above. After the start of task E, task D is started 500 ms later. Tasks A, B, and C start simultaneously with task E, but the processing time is extended to 500 ms later.

図5A、図5B、図5C、図5D、及び、図5Eはオペレーションop2を、より複雑な関係にあるタスクから構成されているタスクグループに対して行う例を示す。図5Aは同一のタスクグループを形成するタスクAからタスクIまでのタスクの依存グラフを示す。図5Aの依存グラフによれば、基準タスクはタスクIである。タスクA、タスクB、及びタスクCは並列に行われ、タスクDに繋がるタスクである。タスクDはタスクA、タスクB、及びタスクCとは直列なタスクであり、タスクEに繋がる。タスクFはタスクGに繋がるタスクである。タスクAからEまでと、並列にタスクF、Gは行われ、タスクEとタスクGはタスクHに繋がる。タスクHは、タスクAからタスクGまでと、直列なタスクであり、基準タスクIとともに、タスクJに繋がっている。
そこで、オペレーションop2−1を行い、スケジューラ11は、タスクA、タスクB、及びタスクCを、並列に処理されるタスクであり、同一のタスクDに繋がる統合タスクA−Cとして抽出する。
図5Bは、オペレーションop2−1を行った結果、統合タスクA−Cを形成したところである。
そこで、タスクA、タスクB、及びタスクCについて(1)、(2)式により、それぞれのタスクを実行するプロセッサコア18nの消費電力を求める。
次いで、(3)、(4)式により、タスクA、B、Cからなる統合タスクを実行するための総電力を求める。
次いで、オペレーションop2−2行う。その結果、スケジューラ11は、統合タスクA−C、タスクD、タスクEをシーケンシャルタスクとして、抽出する。また、タスクF、タスクGをシーケンシャルタスクとして抽出する。
図5Cは、オペレーションop2−2を行った結果、統合タスクA−C、タスクD、タスクEがシーケンシャルタスクA−Eを形成し、同様に、タスクF、GもシーケンシャルタスクF−Gを形成したところである。
そこで、まず、タスクD、タスクEをオペレーションop2−2の統合タスクとして、タスクA−C、タスクD、タスクEからなるシーケンシャルタスクA−Eの消費電力CS1は、(4)式より、以下となる。
CS1=B11×T11(1-q)+B12×T12(1-q)+B13×T13(1-q)
なお、B11×T11(1-q)は統合タスクA−Cの総電力、B12×T12(1-q)はタスクDの総電力、B13×T13(1-q)はタスクEの総電力である。また、T11はタスクAからタスクCに共通の処理時間であり、T12はタスクDの処理時間であり、T13はタスクEの処理時間である。B11、B12、B13はそれぞれのタスクの電力係数である。ここで、シーケンシャルタスクA−E全体の処理時間T1は、T1=T11+T12+T13である。
次いで、T1を各タスクの電力係数の1/q乗に比例して、割り振りをし直すと、(5)式、(6)式から、
CS1=T1(1-q)(B11(1/q)+B12(1/q)+B13(1/q)qとなる。
一方、タスクF、タスクGをオペレーションop2−2の統合タスクとして、タスクF、GからなるシーケンシャルタスクF−Gの消費電力CS2は、(4)式より以下となる。
CS2=B21×T21(1-q)+B22×T22(1-q)
なお、B21×T21(1-q)は統合タスクFの総電力、B22×T22(1-q)はタスクGの総電力である。B21、B22はタスクF、タスクGの電力係数である。また、T21はタスクFの処理時間であり、T22はタスクDの処理時間である。ここで、シーケンシャルタスクF−G全体の処理時間T2は、T2=T21+T22である。
同様に、T2を各タスクの電力係数の1/q乗に比例して、割り振り直すと、(5)式、(6)式から
CS2=T2(1-q)(B21(1/q)+B22(1/q)qとなる。
次いで、オペレーションop2−3行う。その結果、スケジューラ11は、タスクA−C、タスクD、タスクEからなるシーケンシャルタスクA−Eと、タスクF、タスクGからなるシーケンシャルタスクF−Gとから、オペレーションop2−3の統合タスクを形成する。
図5Dは、オペレーションop2−3を行った結果、スケジューラ11が、シーケンシャルタスクA−Eと、シーケンシャルタスクF−Gとから、統合タスクA−Gを形成したところである。
統合タスクA−Gの総電力は、以下である。
統合タスクA−Gの総電力=CS1+CS2=T1(1-q)(B11(1/q)+B12(1/q)+B13(1/q)q+T2(1-q)(B21(1/q)+B22(1/q)q――――(11)式
ここで、T1とT2の長いほうを、T(A−G)とする。そうすると、統合タスクA−Gの総電力は以下のようになる。
統合タスクA−Gの総電力=T(A−G) (1-q)×B(A−G)――――(12)式
(A−G)=(B11(1/q)+B12(1/q)+B13(1/q)q+(B21(1/q)+B22(1/q)q
図5Eは、スケジューラ11が、統合タスクA−Gと統合タスクHから、シーケンシャルタスクA−Hを形成したところを示す。
タスクAからHまでから形成されるシーケンシャルタスクの消費電力CS(A−H)は以下のようになる。
CS(A−H)=T(A−G) (1-q)×B(A−G)+T (1-q)×B(H)――――(13)式
そこで、基準タスクIの標準処理時間をT基準とし、以下の式を満たすように、各統合タスクに処理時間を振り分ける。
(A−G):T=B(A−G) (1/q):B(H) (1/q) ――――(14)式
その結果、CS(A−H)は下記のようになる。
CS(A−H)=T基準×(B(A−G) (1/q)+B(H) (1/q)q――――(15)式
5A, FIG. 5B, FIG. 5C, FIG. 5D, and FIG. 5E show an example in which operation op2 is performed on a task group composed of tasks having a more complicated relationship. FIG. 5A shows a dependency graph of tasks from task A to task I forming the same task group. According to the dependency graph of FIG. 5A, the reference task is task I. Task A, task B, and task C are performed in parallel and are connected to task D. Task D is a serial task with task A, task B, and task C, and is connected to task E. Task F is a task connected to task G. From task A to E, tasks F and G are performed in parallel, and task E and task G are connected to task H. Task H is a serial task from task A to task G, and is connected to task J together with reference task I.
Therefore, operation op2-1 is performed, and the scheduler 11 extracts tasks A, B, and C as integrated tasks A-C that are tasks processed in parallel and connected to the same task D.
FIG. 5B shows that integrated task A-C is formed as a result of operation op2-1.
Therefore, for the tasks A, B, and C, the power consumption of the processor core 18n that executes each task is obtained by the equations (1) and (2).
Next, the total power for executing the integrated task composed of tasks A, B, and C is obtained from the equations (3) and (4).
Next, operation op2-2 is performed. As a result, the scheduler 11 extracts the integrated tasks A-C, D, and E as sequential tasks. Task F and task G are extracted as sequential tasks.
In FIG. 5C, as a result of performing the operation op2-2, the integrated task A-C, the task D, and the task E form a sequential task A-E, and similarly, the tasks F, G also form a sequential task FG. By the way.
Therefore, first, the task D and task E are integrated tasks of the operation op2-2, and the power consumption CS1 of the sequential task AE including the tasks AC, D, and E is expressed as follows from the equation (4). Become.
CS1 = B11 × T11 (1-q) + B12 × T12 (1-q) + B13 × T13 (1-q)
B11 × T11 (1-q) is the total power of integrated task A-C, B12 × T12 (1-q) is the total power of task D, and B13 × T13 (1-q) is the total power of task E. is there. T11 is a processing time common to task A to task C, T12 is a processing time of task D, and T13 is a processing time of task E. B11, B12, and B13 are power coefficients of the respective tasks. Here, the processing time T1 of the entire sequential task A-E is T1 = T11 + T12 + T13.
Next, when T1 is reassigned in proportion to the power coefficient of each task to the 1 / qth power, from Equation (5) and Equation (6),
CS1 = T1 (1-q) (B11 (1 / q) + B12 (1 / q) + B13 (1 / q) ) q .
On the other hand, using task F and task G as an integrated task of operation op2-2, power consumption CS2 of sequential task FG composed of tasks F and G is as follows from equation (4).
CS2 = B21 × T21 (1-q) + B22 × T22 (1-q)
B21 × T21 (1-q) is the total power of the integrated task F, and B22 × T22 (1-q) is the total power of the task G. B21 and B22 are power coefficients of task F and task G, respectively. T21 is the processing time of task F, and T22 is the processing time of task D. Here, the processing time T2 of the entire sequential task FG is T2 = T21 + T22.
Similarly, when T2 is reassigned in proportion to the power coefficient of each task to the 1 / qth power, CS2 = T2 (1-q) (B21 (1 / q) + B22 from Expressions (5) and (6) (1 / q) ) q .
Next, operation op2-3 is performed. As a result, the scheduler 11 forms an integrated task of operation op2-3 from the sequential task AE composed of tasks AC, task D, and task E and the sequential task FG composed of tasks F and G. To do.
FIG. 5D shows that the scheduler 11 has formed the integrated task A-G from the sequential task AE and the sequential task FG as a result of performing the operation op2-3.
The total power of the integrated task A-G is as follows.
Total power of integrated task AG = CS1 + CS2 = T1 (1-q) (B11 (1 / q) + B12 (1 / q) + B13 (1 / q) ) q + T2 (1-q) (B21 (1 / q ) + B22 (1 / q) ) q ------------------ (11) Here, let T (AG) be the longer of T1 and T2. Then, the total power of the integrated task A-G is as follows.
Total power of integrated task A-G = T (A-G) (1-q) × B (A-G) ―――― (12) Formula B (A-G) = (B11 (1 / q) + B12 (1 / q) + B13 (1 / q) ) q + (B21 (1 / q) + B22 (1 / q) ) q
FIG. 5E shows that the scheduler 11 forms a sequential task A-H from the integrated task A-G and the integrated task H.
The power consumption CS (A-H) of the sequential task formed from tasks A to H is as follows.
CS (A−H) = T (A−G) (1-q) × B (A−G) + TH (1-q) × B (H) ―――― (13) Therefore, the reference task I The processing time is assigned to each integrated task so that the following formula is satisfied.
T (A−G) : T H = B (A−G) (1 / q) : B (H) (1 / q) ―――― (14) As a result, CS (A−H) is as follows. become that way.
CS (A−H) = T standard × (B (A−G) (1 / q) + B (H) (1 / q) ) q ―――― (15)

図2を参照して、さらに、オペレーションop3を説明する。オペレーションop3において、スケジューラ11は、基準タスクの実行状況をチェックし、実行中であったときは、実行時間を、基準タスクの制約時間から差し引いた後の値を、新たな制約時間とする。次いで、新たな制約時間に対して、再時間配分比率をもとに、オペレーションop2で決定した各統合タスクの処理時間を補正する。
オペレーションop4において、スケジューラ11は、統合タスクを構成する各タスクの標準処理時間を、統合タスク割り当てられた処理時間で割って、負荷率を計算する。
次いで、フケジューラ11は、のちに説明する図6Bに示すテーブルを予め保有し、図6Bのテーブルに基づいて、上記の負荷率から各タスクを実行するプロセッサコア18nへ供給する動作クロックの周波数及び電源電圧を決定する。次いで、スケジューラ11は、決定した各プロセッサコア18nの動作クロックの周波数及び電源電圧を周波数制御回路14、電源電圧制御回路15に伝達する。周波数制御回路14、及び、電源電圧制御回路15は、各プロセッサコア18nに、スケジューラ11によって決定された周波数をもつ動作クロック及び決定された電圧を有する電源電圧を供給し、各プロセッサコア18nの動作を制御する。
The operation op3 will be further described with reference to FIG. In operation op3, the scheduler 11 checks the execution status of the reference task. If it is being executed, the scheduler 11 sets a value obtained by subtracting the execution time from the restriction time of the reference task as a new restriction time. Next, the processing time of each integrated task determined in operation op2 is corrected based on the re-time allocation ratio with respect to the new constraint time.
In operation op4, the scheduler 11 calculates the load factor by dividing the standard processing time of each task constituting the integrated task by the processing time assigned to the integrated task.
Next, the frog scheduler 11 previously holds a table shown in FIG. 6B, which will be described later. Based on the table shown in FIG. 6B, the frequency and power of the operation clock supplied from the load factor to the processor core 18n that executes each task. Determine the voltage. Next, the scheduler 11 transmits the determined operation clock frequency and power supply voltage of each processor core 18 n to the frequency control circuit 14 and the power supply voltage control circuit 15. The frequency control circuit 14 and the power supply voltage control circuit 15 supply the operation clock having the frequency determined by the scheduler 11 and the power supply voltage having the determined voltage to each processor core 18n, and the operation of each processor core 18n. To control.

図6は、タスクグループについてのオペレーションop4の具体例を説明する図である。図6Aは、図4A、図4Bに示すタスクグループに関連するタスクA、B、C、Dの標準処理時間と、統合タスクに割り振られた処理時間と、標準処理時間及び統合タスクに割り振られた処理時間から求めた負荷率を表すテーブルを示す。タスクA、B、C、Dの標準処理時間は300ms、250ms、250ms、100msである。一方、統合タスクに割り振られた処理時間はタスクA、B、Cに対しては500ms、タスクDに対しては100msである。その結果、タスクAの負荷率は0.6、タスクBの負荷率は0.5、タスクCの負荷率は0.5、タスクDの負荷率は1.0である。   FIG. 6 is a diagram for explaining a specific example of the operation op4 for the task group. FIG. 6A shows the standard processing time of tasks A, B, C, and D related to the task group shown in FIGS. 4A and 4B, the processing time allocated to the integration task, and the standard processing time and the allocation task. The table showing the load factor calculated | required from processing time is shown. The standard processing times for tasks A, B, C, and D are 300 ms, 250 ms, 250 ms, and 100 ms. On the other hand, the processing time allocated to the integrated task is 500 ms for tasks A, B, and C, and 100 ms for task D. As a result, the load factor of task A is 0.6, the load factor of task B is 0.5, the load factor of task C is 0.5, and the load factor of task D is 1.0.

図6Bは、プロセッサコア18nの負荷率に対する、動作クロックの周波数、電源電圧、消費電力を表したテーブルである。負荷率は1から0.2まで、0.1刻みで記載されている。動作クロックの周波数は負荷率1.0のタスクを実行する場合は1000Mhzである。以下、負荷率が0.1刻みで減少する毎に、動作クロックの周波数は100Mhzずつ減少する。電源電圧は、負荷率が1.0から0.2まで減少すると、1.2V、1.2V、1.15V、1.1V、1.05V、1.0V、0.95V、0.85V、0.75Vと減少する。消費電力は、412mW、412mw、303mW、242mW、190mW、144mW、104mW、63mW、32mWと減少する。スケジューラ11は予め図5Bのテーブルを記憶しておき、計算したタスク毎の負荷率によって、そのタスクを実行するプロセッサコア18nの動作クロックの周波数及び電源電圧を決定する。   FIG. 6B is a table showing the frequency of the operation clock, the power supply voltage, and the power consumption with respect to the load factor of the processor core 18n. The load factor is described in increments of 0.1 from 1 to 0.2. The frequency of the operation clock is 1000 Mhz when a task with a load factor of 1.0 is executed. Hereinafter, every time the load factor decreases by 0.1, the frequency of the operation clock decreases by 100 Mhz. When the load factor decreases from 1.0 to 0.2, the power supply voltage is 1.2V, 1.2V, 1.15V, 1.1V, 1.05V, 1.0V, 0.95V, 0.85V, It decreases to 0.75V. The power consumption decreases to 412 mW, 412 mw, 303 mW, 242 mW, 190 mW, 144 mW, 104 mW, 63 mW, and 32 mW. The scheduler 11 stores the table of FIG. 5B in advance, and determines the frequency and power supply voltage of the operating clock of the processor core 18n that executes the task based on the calculated load factor for each task.

さらに、図5Aから図5Eまでに示すタスクグループについての、オペレーションop4の具体例を説明する。スケジューラ11は、(14)式を満足し、かつ、T基準=T(A−G)+TとなるようにT(A−G)及びTを決定し、統合タスクA−Gに処理時間T(A−G)を割り振る。次いで、スケジューラ11は、シーケンシャルタスクA−E、及び、シーケンシュアルタスクF−Gに、T2=T1=T(A−G)となるように処理時間T1、T2を割り振る。次いで、スケジューラ11は、T2=T21+T22となり、かつ、T21:T22=B21(1/q):B22(1/q) となるように処理時間T21、T22を割り振る。次いで、スケジューラ11は、T1=T11+T12+T13となり、かつ、T11:T12:T13=B11(1/q):B12(1/q) :B13(1/q)となるように処理時間T11、T12、T13を割り振る。すなわち、基準タスクIと並列に実行が行われるシーケンシャルタスクを形成した後、そのシーケンシャルタスクを形成する統合タスクにさかのぼって、各タスクの処理時間を決定してことになる。
次いで、スケジューラ11は、タスクA、B、Cの標準処理時間をT11で割り、負荷率を計算し、図6Bのテーブルによって、タスクA、B、Cを実行するプロセッサコアへ供給する動作クロックの周波数及び電源電圧を求める。次いで、タスクD、Eの負荷率を、タスクD、Eの標準処理時間を、T12、T13で割り、求める。次いで、タスクD、Eを実行するプロセッサコアへ供給する動作クロック及び電源電圧を、図6Bのテーブルより求める。次いで、タスクF、Gの標準処理時間を、T21、T22で割り、タスクF、Gの負荷率を求める。次いで、図6Bのテーブルより、タスクF、Gを実行するプロセッサコアへ供給する動作クロックの周波数及び電源電圧を求める。次いで、タスクHの標準処理時間を、Tで割り、タスクHの負荷率を求める。次いで、図6Bのテーブルより、タスクHを実行するプロセッサコアへ供給する動作クロックの周波数及び電源電圧を求める。
Furthermore, a specific example of the operation op4 for the task groups shown in FIGS. 5A to 5E will be described. The scheduler 11 determines T (A−G) and T H so that the expression (14) is satisfied and T reference = T (A−G) + T H, and the processing time for the integrated task A−G Allocate T (AG) . Next, the scheduler 11 assigns processing times T1 and T2 to the sequential tasks AE and sequential tasks FG so that T2 = T1 = T (AG) . Next, the scheduler 11 allocates processing times T21 and T22 so that T2 = T21 + T22 and T21: T22 = B21 (1 / q) : B22 (1 / q) . Next, the scheduler 11 has processing times T11, T12, T13 so that T1 = T11 + T12 + T13 and T11: T12: T13 = B11 (1 / q) : B12 (1 / q) : B13 (1 / q). Is allocated. That is, after a sequential task that is executed in parallel with the reference task I is formed, the processing time of each task is determined by going back to the integrated task that forms the sequential task.
Next, the scheduler 11 divides the standard processing time of the tasks A, B, and C by T11, calculates the load factor, and uses the table of FIG. 6B to determine the operation clock to be supplied to the processor core that executes the tasks A, B, and C. Determine the frequency and power supply voltage. Next, the load rates of tasks D and E are obtained by dividing the standard processing times of tasks D and E by T12 and T13. Next, the operation clock and power supply voltage supplied to the processor core that executes tasks D and E are obtained from the table of FIG. 6B. Next, the standard processing times of tasks F and G are divided by T21 and T22, and the load factors of tasks F and G are obtained. Next, from the table in FIG. 6B, the frequency and power supply voltage of the operation clock supplied to the processor core that executes the tasks F and G are obtained. Then, the standard processing time of the task H, divided by T H, determine the load factor of tasks H. Next, the frequency and power supply voltage of the operation clock supplied to the processor core executing the task H are obtained from the table of FIG. 6B.

上記より、実施例1のプロセッサコアは、
複数のタスクを並列処理する複数のプロセッサコア(プロセッサコア18n)と、
各タスクについて、関連する第1タスク群(タスクA、B、C、D、E)を識別する識別番号と、そのタスクを処理するのに必要なタスク処理時間(タスクA、B、Cの標準処理時間)と、第1タスク群に含まれるタスクを実行する上限期間(タスクEの制約時間)を記憶するレジスタ(基準タスク情報用メモリ12、タスク情報用メモリ13)と、
第1タスク群に含まれるタスクの内、並列に処理されるタスク(タスクA、B、C)であって同一のタスク(タスクD)に繋がる複数のタスクからなる第2タスク群(タスクA、B、Cからなる群)を抽出し、前記複数のタスクのタスク処理時間の内、最長のタスク処理時間を第2タスク群を処理する第1処理時間(タスクAの標準処理時間)とし、第2タスク群を処理するプロセッサコアの消費電力と第1処理時間に応じて、前記上限期間中に占める第2タスク群の第2処理時間(オペレーションop2−4におけるTm)を設定する設定回路と、
第1処理時間と、第2処理時間との比率(オペレーションop4の負荷率)に応じて、第2タスク群を処理するプロセッサコアへ供給する動作クロックの周波数又は電源電圧(図5Bの動作周波数、電源電圧)を低下させる駆動回路(スケジューラ11)と、
を備えることを特徴とするマルチコアプロセッサである。
上記のマルチコアプロセッサによれば、消費電力に応じて第2タスク群を処理するプロセッサコアの処理時間を引き延ばすことになる。
その結果、大きな消費電力を必要とする第2タスク群程、上限期間中に占める第2処理時間が長くなり、第2タスク群を実行するプロセッサコアの消費電力が大きく削減されるため、マルチコアプロセッサの消費電力削減が大きくなる効果がある。
From the above, the processor core of Example 1 is
A plurality of processor cores (processor core 18n) for processing a plurality of tasks in parallel;
For each task, an identification number that identifies the associated first task group (tasks A, B, C, D, E), and the task processing time required to process the task (standard of tasks A, B, C) Processing time), and registers (reference task information memory 12, task information memory 13) for storing an upper limit period (task E constraint time) for executing tasks included in the first task group,
Among the tasks included in the first task group, a second task group (task A, task A, B, C) that is processed in parallel and includes a plurality of tasks connected to the same task (task D). B, C) is extracted, and the longest task processing time among the task processing times of the plurality of tasks is defined as the first processing time (standard processing time of task A) for processing the second task group. A setting circuit for setting a second processing time (Tm in operation op2-4) of the second task group occupying the upper limit period according to the power consumption and the first processing time of the processor core that processes the two task groups;
Depending on the ratio between the first processing time and the second processing time (the load factor of the operation op4), the frequency of the operation clock supplied to the processor core that processes the second task group or the power supply voltage (the operation frequency of FIG. 5B, A drive circuit (scheduler 11) for reducing the power supply voltage);
Is a multi-core processor.
According to the multi-core processor, the processing time of the processor core that processes the second task group is extended according to the power consumption.
As a result, the second task group requiring a large amount of power consumption, the second processing time occupying during the upper limit period becomes long, and the power consumption of the processor core executing the second task group is greatly reduced. This has the effect of reducing power consumption.

以下に本発明の特徴を付記する。
(付記1)
複数のタスクを並列処理する複数のプロセッサコアと、
各前記タスクについて、関連する第1タスク群を識別する識別番号と、予め決められた動作クロックの周波数又は電源電圧の供給を受けて、前記プロセッサコアが前記タスクを処理するのに必要なタスク処理時間と、前記第1タスク群に含まれる前記タスクを実行する上限期間を記憶するレジスタと、
前記第1タスク群に含まれる前記タスクの内、並列に処理される前記タスクであって同一の前記タスクに繋がる複数の前記タスクからなる第2タスク群を抽出し、前記複数の前記タスクの前記タスク処理時間の内、最長の前記タスク処理時間を前記第2タスク群を処理する第1処理時間とし、前記第2タスク群を処理する前記プロセッサコアの消費電力と前記第1処理時間に応じて、前記上限期間中に占める前記第2タスク群を実行する第2処理時間を設定する設定回路と、
前記タスク処理時間と、前記第2処理時間との比率に応じて、各前記タスクを処理する前記プロセッサコアへ供給する動作クロックの周波数又は電源電圧を前記予め決められた動作クロックの周波数又は電源電圧から変更させる駆動回路と、
を備えることを特徴とするマルチコアプロセッサ。
(付記2)
前記設定回路は、さらに、前記第1タスク群に含まれる前記タスクについて、前記第2タスク群を含む前記タスクに対して直列に実行される直列タスクを特定し、前記直列タスクの前記タスク処理時間と、前記直列タスクを処理する前記プロセッサコアの消費電力とに応じて、前記上限期間中に占める前記直列タスクを実行する第3処理時間を設定し、
駆動回路は、さらに、前記直列マスクの前記タスク処理時間と、前記第3処理時間との比率に応じて、前記直列タスクを処理する前記プロセッサコアへ供給する動作クロックの周波数又は電源電圧を前記予め決められた動作クロックの周波数又は電源電圧より低下させることを特徴とする付記1記載のマルチコアプロセッサ。
(付記3)
前記第2タスク群を処理する前記プロセッサコアの消費電力をA2、前記第2処理時間をT2、前記A2とT2(1−q)との比例係数をB2とし、前記直列タスクを処理する前記プロセッサコアの消費電力をA3、前記直列タスクの前記タスク処理時間をT3、前記A3とT3(1−q)との比例係数をB3とすると、前記設定回路は、B2(1/q):B3(1/q)=T2:T3と設定することを特徴とする付記2記載のマルチコアプロセッサ。
(付記4)
複数のタスクを並列処理する複数のプロセッサコアと、
各前記タスクについて、関連する第1タスク群を識別する識別番号と、予め決められた動作クロックの周波数又は電源電圧の供給を受けて、前記プロセッサコアが前記タスクを処理するのに必要なタスク処理時間と、前記第1タスク群に含まれる前記タスクを実行する上限期間を記憶するレジスタと、を備える前記マルチコアプロセッサの制御方法であって、
前記第1タスク群に含まれる前記タスクの内、並列に処理される前記タスクであって同一の前記タスクに繋がる複数の前記タスクからなる第2タスク群を抽出する工程と、
前記複数の前記タスクの前記タスク処理時間の内、最長の前記タスク処理時間を前記第2タスク群を処理する第1処理時間とし、前記第2タスク群を処理する前記プロセッサコアの消費電力と前記第1処理時間に応じて、前記上限期間中に占める前記第2タスク群を実行する前記第2処理時間を設定する工程と、
前記タスク処理時間と、前記第2処理時間との比率に応じて、各前記タスクを処理する前記プロセッサコアへ供給する動作クロックの周波数又は電源電圧を前記予め決められた動作クロックの周波数又は電源電圧から変更させる工程と、
を備えることを特徴とするマルチコアプロセッサの制御方法。
(付記5)
前記第1タスク群に含まれる前記タスクについて、前記第2タスク群に含まれる前記タスクに対して直列に実行される直列タスクを特定する工程と、
前記直列タスクの前記タスク処理時間と、前記直列タスクを処理する前記プロセッサコアの消費電力とに応じて、前記上限期間中に占める前記直列タスクを実行する第3処理時間を設定する工程と、
前記直列マスクの前記タスク処理時間と、第3処理時間との比率に応じて、前記直列タスクを処理する前記プロセッサコアへ供給する動作クロックの周波数又は電源電圧を前記予め決められた動作クロックの周波数又は電源電圧より低下させる工程と、
をさらに備えることを特徴とする付記4記載のマルチコアプロセッサの制御方法。
(付記6)
複数のタスクを並列処理する複数のプロセッサコアと、
各前記タスクについて、関連する第1タスク群を識別する識別番号と、予め決められた動作クロックの周波数又は電源電圧の供給を受けて、前記プロセッサコアが前記タスクを処理するのに必要なタスク処理時間と、前記第1タスク群に含まれる前記タスクを実行する上限期間を記憶するレジスタと、を備える前記マルチコアプロセッサの制御方法であって、
前記第1タスク群に含まれる前記タスクの内、並列に処理される前記タスクであって同一の前記タスクに繋がる複数の前記タスクからなる第2タスク群を抽出する工程と、
前記第1タスク群に含まれるタスクについて、前記第2タスク群に含まれる前記タスクに対して直列に実行される直列タスクを特定する工程と、
前記第2タスク群を処理する前記プロセッサコアの消費電力をA2、前記第2処理時間をT2、前記A2とT2(1−q)との比例係数をB2とし、前記直列タスクを処理する前記プロセッサコアの消費電力をA3、前記直列タスクの前記タスク処理時間をT3、前記A2とT2(1−q)との比例係数をB2とすると、前記設定回路は、B2(1/q):B3(1/q)=T2:T3と設定する工程と、
前記タスク処理時間と、前記第2処理時間との比率に応じて、各前記タスクを処理する前記プロセッサコアへ供給する動作クロックの周波数又は電源電圧を前記予め決められた動作クロックの周波数又は電源電圧より低下させ、前記直列マスクの前記タスク処理時間と、前記第3処理時間との比率に応じて、前記直列タスクを処理する前記プロセッサコアへ供給する動作クロックの周波数又は電源電圧を前記予め決められた動作クロックの周波数又は電源電圧から変更させ工程と、
を備えることを特徴とするマルチコアプロセッサの制御方法。
The features of the present invention are described below.
(Appendix 1)
Multiple processor cores that process multiple tasks in parallel;
Task processing necessary for the processor core to process the task by receiving an identification number for identifying the associated first task group and a predetermined operating clock frequency or power supply voltage for each task. A register for storing time and an upper limit period for executing the task included in the first task group;
A second task group consisting of a plurality of tasks connected to the same task among the tasks included in the first task group is extracted, and the plurality of the tasks are Among the task processing times, the longest task processing time is defined as a first processing time for processing the second task group, and the power consumption of the processor core for processing the second task group and the first processing time are determined. A setting circuit for setting a second processing time for executing the second task group occupying during the upper limit period;
Depending on the ratio between the task processing time and the second processing time, the frequency or power supply voltage of the operation clock supplied to the processor core that processes each task is set to the predetermined frequency or power supply voltage of the operation clock. A drive circuit to be changed from
A multi-core processor comprising:
(Appendix 2)
The setting circuit further specifies, for the tasks included in the first task group, a serial task to be executed in series with respect to the tasks including the second task group, and the task processing time of the serial task And a third processing time for executing the serial task that occupies during the upper limit period according to the power consumption of the processor core that processes the serial task,
The drive circuit further sets a frequency or a power supply voltage of an operation clock supplied to the processor core that processes the serial task according to a ratio between the task processing time of the serial mask and the third processing time. The multi-core processor according to appendix 1, wherein the multi-core processor is lowered below a predetermined operating clock frequency or power supply voltage.
(Appendix 3)
The processor that processes the serial task, wherein A2 is the power consumption of the processor core that processes the second task group, T2 is the second processing time, and B2 is a proportional coefficient between A2 and T2 (1-q). When the power consumption of the core is A3, the task processing time of the serial task is T3, and the proportionality coefficient between A3 and T3 (1-q) is B3, the setting circuit is B2 (1 / q) : B3 ( 1 / q) = T2: The multi-core processor according to appendix 2, wherein T3 is set.
(Appendix 4)
Multiple processor cores that process multiple tasks in parallel;
Task processing necessary for the processor core to process the task by receiving an identification number for identifying the associated first task group and a predetermined operating clock frequency or power supply voltage for each task. A control method of the multi-core processor, comprising: a time and a register that stores an upper limit period for executing the task included in the first task group,
Extracting a second task group consisting of a plurality of the tasks connected to the same task among the tasks included in the first task group, the tasks being processed in parallel;
Among the task processing times of the plurality of tasks, the longest task processing time is defined as a first processing time for processing the second task group, and power consumption of the processor core for processing the second task group and Setting the second processing time for executing the second task group occupying during the upper limit period according to the first processing time;
Depending on the ratio between the task processing time and the second processing time, the frequency or power supply voltage of the operation clock supplied to the processor core that processes each task is set to the predetermined frequency or power supply voltage of the operation clock. The process of changing from
A control method for a multi-core processor, comprising:
(Appendix 5)
For the tasks included in the first task group, identifying a serial task that is executed in series with respect to the tasks included in the second task group;
Setting a third processing time to execute the serial task during the upper limit period according to the task processing time of the serial task and the power consumption of the processor core that processes the serial task;
Depending on the ratio of the task processing time and the third processing time of the serial mask, the frequency of the operation clock or the power supply voltage supplied to the processor core that processes the serial task is the frequency of the predetermined operation clock. Or a step of lowering the power supply voltage,
The control method of the multi-core processor according to appendix 4, further comprising:
(Appendix 6)
Multiple processor cores that process multiple tasks in parallel;
Task processing necessary for the processor core to process the task by receiving an identification number for identifying the associated first task group and a predetermined operating clock frequency or power supply voltage for each task. A control method of the multi-core processor, comprising: a time and a register that stores an upper limit period for executing the task included in the first task group,
Extracting a second task group consisting of a plurality of the tasks connected to the same task among the tasks included in the first task group, the tasks being processed in parallel;
Identifying a serial task to be executed in series with respect to the tasks included in the second task group, for the tasks included in the first task group;
The processor that processes the serial task, wherein A2 is the power consumption of the processor core that processes the second task group, T2 is the second processing time, and B2 is a proportional coefficient between A2 and T2 (1-q). When the power consumption of the core is A3, the task processing time of the series task is T3, and the proportionality coefficient between A2 and T2 (1-q) is B2, the setting circuit is B2 (1 / q) : B3 ( 1 / q) = T2: setting T3;
Depending on the ratio between the task processing time and the second processing time, the frequency or power supply voltage of the operation clock supplied to the processor core that processes each task is set to the predetermined frequency or power supply voltage of the operation clock. The frequency or power supply voltage of the operation clock supplied to the processor core that processes the serial task is determined in advance according to the ratio between the task processing time of the serial mask and the third processing time. Changing the operation clock frequency or power supply voltage,
A control method for a multi-core processor, comprising:

本発明によれば、プロセッサコアの消費電力が大きく削減されるため、消費電力削減が大きいマルチコアプロセッサを提供することができる。   According to the present invention, since the power consumption of the processor core is greatly reduced, it is possible to provide a multi-core processor with a large reduction in power consumption.

10 マルチコアプロセッサ
11 スケジューラ
12 基準タスク情報用メモリ
13 タスク情報用メモリ
14 周波数制御回路
15 電源電圧制御回路
19 バス
20 フローチャート
181−18n プロセッサコア
10 multi-core processor 11 scheduler 12 reference task information memory 13 task information memory 14 frequency control circuit 15 power supply voltage control circuit 19 bus 20 flowchart 181-18n processor core

Claims (2)

複数のタスクを並列処理する複数のプロセッサコアと、
各前記タスクについて、関連する第1タスク群を識別する識別番号と、予め決められた動作クロックの周波数又は電源電圧の供給を受けて、前記プロセッサコアが前記タスクを処理するのに必要なタスク処理時間と、前記第1タスク群に含まれる前記タスクを実行する上限期間を記憶するレジスタと、
前記第1タスク群に含まれる前記タスクの内、並列に処理される前記タスクであって同一の前記タスクに繋がる複数の前記タスクからなる第2タスク群を抽出し、前記複数の前記タスクの前記タスク処理時間の内、最長の前記タスク処理時間を前記第2タスク群を処理する第1処理時間とし、前記第2タスク群を処理する前記プロセッサコアの消費電力と前記第1処理時間に応じて、前記上限期間中に占める前記第2タスク群を実行する第2処理時間を設定し、前記第1タスク群に含まれる前記タスクについて、前記第2タスク群を含む前記タスクに対して直列に実行される直列タスクを特定し、前記直列タスクの前記タスク処理時間と、前記直列タスクを処理する前記プロセッサコアの消費電力とに応じて、前記上限期間中に占める前記直列タスクを実行する第3処理時間を設定する設定回路と、
前記タスク処理時間と、前記第2処理時間との比率に応じて、各前記タスクを処理する前記プロセッサコアへ供給する動作クロックの周波数又は電源電圧を、前記プロセッサコア前記予め決められた動作クロックの周波数又は電源電圧から変更させ、前記直列マスクの前記タスク処理時間と、前記第3処理時間との比率に応じて、前記直列タスクを処理する前記プロセッサコアへ供給する動作クロックの周波数又は電源電圧を前記予め決められた動作クロックの周波数又は電源電圧より低下させる駆動回路と、
を備え、比例係数をA、比例係数をB、前記消費電力の前記動作クロックの周波数依存性を表す指数をq、前記プロセッサコアの消費電力をP、前記プロセッサコアに供給する前記動作クロックの周波数をF、としたときに、前記消費電力Pは計算式 A×F+Bにより計算され
前記第2タスク群を処理する前記プロセッサコアの消費電力をA2、前記第2処理時間をT2、前記A2とT2 (1−q) との比例係数をB2とし、前記直列タスクを処理する前記プロセッサコアの消費電力をA3、前記第3処理時間をT3、前記計算式A×F +B中のqを用いて表す数T3 (1−q) 、前記A3と前記T3 (1−q) との比例係数をB3とすると、前記設定回路は、B2 (1/q) :B3 (1/q) =T2:T3と設定することを特徴とするマルチコアプロセッサ。
Multiple processor cores that process multiple tasks in parallel;
Task processing necessary for the processor core to process the task by receiving an identification number for identifying the associated first task group and a predetermined operating clock frequency or power supply voltage for each task. A register for storing time and an upper limit period for executing the task included in the first task group;
A second task group consisting of a plurality of tasks connected to the same task among the tasks included in the first task group is extracted, and the plurality of the tasks are Among the task processing times, the longest task processing time is defined as a first processing time for processing the second task group, and the power consumption of the processor core for processing the second task group and the first processing time are determined. A second processing time for executing the second task group occupying the upper limit period is set, and the tasks included in the first task group are executed in series with the tasks including the second task group A serial task to be processed, and the serial task occupying the upper limit period according to the task processing time of the serial task and the power consumption of the processor core that processes the serial task. A setting circuit for setting the third processing time to perform a task,
Depending on the ratio between the task processing time and the second processing time, the frequency or power supply voltage of the operating clock supplied to the processor core that processes each task is set to the predetermined operating clock of the processor core. The frequency or power supply voltage of the operation clock supplied to the processor core that processes the serial task is changed according to the ratio between the task processing time of the serial mask and the third processing time. A drive circuit for lowering the frequency of the predetermined operation clock or a power supply voltage ;
The proportional coefficient is A, the proportional coefficient is B, the index representing the frequency dependence of the power consumption of the operation clock is q, the power consumption of the processor core is P, and the frequency of the operation clock supplied to the processor core Is F, the power consumption P is calculated by the formula A × F q + B ,
The processor that processes the serial task , wherein A2 is the power consumption of the processor core that processes the second task group, T2 is the second processing time, and B2 is a proportional coefficient between A2 and T2 (1-q). The power consumption of the core is A3, the third processing time is T3, the number T3 (1-q) expressed using q in the formula A × F q + B, the A3 and the T3 (1-q) , When the proportionality factor and B3, the setting circuit, B2 (1 / q): B3 (1 / q) = T2: multicore processor, characterized in that you set the T3.
複数のタスクを並列処理する複数のプロセッサコアと、Multiple processor cores that process multiple tasks in parallel;
各前記タスクについて、関連する第1タスク群を識別する識別番号と、予め決められた動作クロックの周波数又は電源電圧の供給を受けて、前記プロセッサコアが前記タスクを処理するのに必要なタスク処理時間と、前記第1タスク群に含まれる前記タスクを実行する上限期間を記憶するレジスタと、を備える前記マルチコアプロセッサの制御方法であって、Task processing necessary for the processor core to process the task by receiving an identification number for identifying the associated first task group and a predetermined operating clock frequency or power supply voltage for each task. A control method of the multi-core processor, comprising: a time and a register that stores an upper limit period for executing the task included in the first task group,
前記第1タスク群に含まれる前記タスクの内、並列に処理される前記タスクであって同一の前記タスクに繋がる複数の前記タスクからなる第2タスク群を抽出する工程と、Extracting a second task group consisting of a plurality of the tasks connected to the same task among the tasks included in the first task group, the tasks being processed in parallel;
前記複数の前記タスクの前記タスク処理時間の内、最長の前記タスク処理時間を前記第2タスク群を処理する第1処理時間とし、前記第2タスク群を処理する前記プロセッサコアの消費電力と前記第1処理時間に応じて、前記上限期間中に占める前記第2タスク群を実行する前記第2処理時間を設定する工程と、Among the task processing times of the plurality of tasks, the longest task processing time is defined as a first processing time for processing the second task group, and power consumption of the processor core for processing the second task group and Setting the second processing time for executing the second task group occupying during the upper limit period according to the first processing time;
前記タスク処理時間と、前記第2処理時間との比率に応じて、各前記タスクを処理する前記プロセッサコアへ供給する動作クロックの周波数又は電源電圧を前記予め決められた動作クロックの周波数又は電源電圧から変更させる工程と、Depending on the ratio between the task processing time and the second processing time, the frequency or power supply voltage of the operation clock supplied to the processor core that processes each task is set to the predetermined frequency or power supply voltage of the operation clock. The process of changing from
前記第1タスク群に含まれるタスクについて、前記第2タスク群に含まれる前記タスクに対して直列に実行される直列タスクを特定する工程と、Identifying a serial task to be executed in series with respect to the tasks included in the second task group, for the tasks included in the first task group;
前記直列タスクの前記タスク処理時間と、前記直列タスクを処理する前記プロセッサコアの消費電力とに応じて、前記上限期間中に占める前記直列タスクを実行する第3処理時間を、前記第2タスク群を処理する前記プロセッサコアの消費電力をA2、前記第2処理時間をT2、前記A2とT2According to the task processing time of the serial task and the power consumption of the processor core that processes the serial task, a third processing time for executing the serial task during the upper limit period is set as the second task group. The power consumption of the processor core for processing is A2, the second processing time is T2, and A2 and T2 (1−q)(1-q) との比例係数をB2とし、前記直列タスクを処理する前記プロセッサコアの消費電力をA3、前記第3処理時間をT3、前記計算式A×FIs proportional to B2, the power consumption of the processor core for processing the serial task is A3, the third processing time is T3, and the calculation formula A × F q +B中のqを用いて表す数T3Number T3 expressed using q in + B (1−q)(1-q) 、前記A3と前記T3, A3 and T3 (1−q)(1-q) との比例係数をB3とすると、2If the proportionality coefficient is B3, 2 (1/q)(1 / q) :B3: B3 (1/q)(1 / q) =T2:T3と設定する工程と、= T2: a step of setting T3;
前記直列マスクの前記タスク処理時間と、前記第3処理時間との比率に応じて、前記直列タスクを処理する前記プロセッサコアへ供給する動作クロックの周波数又は電源電圧を前記予め決められた動作クロックの周波数又は電源電圧から変更させる工程と、Depending on the ratio between the task processing time of the serial mask and the third processing time, the frequency or power supply voltage of the operating clock supplied to the processor core that processes the serial task is set to the predetermined operating clock. Changing from frequency or power supply voltage;
を備え、比例係数をA、比例係数をB、前記消費電力の前記動作クロックの周波数依存性を表す指数をq、前記プロセッサコアの消費電力をP、前記プロセッサコアに供給する前記動作クロックの周波数をF、としたときに、前記消費電力Pは計算式 A×FThe proportional coefficient is A, the proportional coefficient is B, the index representing the frequency dependence of the power consumption of the operation clock is q, the power consumption of the processor core is P, and the frequency of the operation clock supplied to the processor core Is F, the power consumption P is calculated as A × F q +Bにより計算されることを特徴とするマルチコアプロセッサの制御方法。A control method of a multi-core processor characterized by being calculated by + B.
JP2009057261A 2009-03-11 2009-03-11 Multi-core processor and control method thereof Expired - Fee Related JP5293289B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009057261A JP5293289B2 (en) 2009-03-11 2009-03-11 Multi-core processor and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009057261A JP5293289B2 (en) 2009-03-11 2009-03-11 Multi-core processor and control method thereof

Publications (2)

Publication Number Publication Date
JP2010211544A JP2010211544A (en) 2010-09-24
JP5293289B2 true JP5293289B2 (en) 2013-09-18

Family

ID=42971620

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009057261A Expired - Fee Related JP5293289B2 (en) 2009-03-11 2009-03-11 Multi-core processor and control method thereof

Country Status (1)

Country Link
JP (1) JP5293289B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10496142B2 (en) 2014-10-14 2019-12-03 Samsung Electronics Co., Ltd. Electronic device having power device and power control method thereof

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101710910B1 (en) * 2010-09-27 2017-03-13 삼성전자 주식회사 Method and apparatus for dynamic resource allocation of processing unit
US8892924B2 (en) 2011-05-31 2014-11-18 Intel Corporation Reducing power consumption of uncore circuitry of a processor
JP5692341B2 (en) * 2013-12-05 2015-04-01 富士通株式会社 Multiprocessor system, control method, and control program
US10248180B2 (en) 2014-10-16 2019-04-02 Futurewei Technologies, Inc. Fast SMP/ASMP mode-switching hardware apparatus for a low-cost low-power high performance multiple processor system
US10928882B2 (en) 2014-10-16 2021-02-23 Futurewei Technologies, Inc. Low cost, low power high performance SMP/ASMP multiple-processor system
US10481671B2 (en) 2015-05-21 2019-11-19 Hitachi, Ltd. Power saving for a computer system and computer based on differences between chip regions in processing and communication times

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005092867A (en) * 2003-08-29 2005-04-07 Hewlett-Packard Development Co Lp Method and system for controlling circuit
JP4082706B2 (en) * 2005-04-12 2008-04-30 学校法人早稲田大学 Multiprocessor system and multigrain parallelizing compiler
JP4353990B2 (en) * 2007-05-18 2009-10-28 株式会社半導体理工学研究センター Multiprocessor controller
JP2007305148A (en) * 2007-06-25 2007-11-22 Univ Waseda Multi-processor system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10496142B2 (en) 2014-10-14 2019-12-03 Samsung Electronics Co., Ltd. Electronic device having power device and power control method thereof

Also Published As

Publication number Publication date
JP2010211544A (en) 2010-09-24

Similar Documents

Publication Publication Date Title
JP5293289B2 (en) Multi-core processor and control method thereof
Kash et al. No agent left behind: Dynamic fair division of multiple resources
Wang et al. Fresh: Fair and efficient slot configuration and scheduling for hadoop clusters
KR20130011491A (en) Apparatus or task assignment, method for task assignment and a computer-readable storage medium
WO2018059260A1 (en) Apparatus and method for scheduling graph computing on heterogeneous platforms based on energy efficiency
Lu et al. Energy-aware fixed-priority multi-core scheduling for real-time systems
US8640133B2 (en) Equal duration and equal fetch operations sub-context switch interval based fetch operation scheduling utilizing fetch error rate based logic for switching between plurality of sorting algorithms
Shieh et al. Energy and transition-aware runtime task scheduling for multicore processors
US20180246767A1 (en) Optimized thread scheduling on processor hardware with performance-relevant shared hardware components
Patra et al. Game theoretic approach for real-time task scheduling in cloud computing environment
Das et al. Budgeted combinatorial multi-armed bandits
JP2014171330A (en) Control method, control server, and control program
WO2010137233A1 (en) Power saving control device for multiprocessor system, and mobile terminal
Wang et al. Fairness scheduling with dynamic priority for multi workflow on heterogeneous systems
CN104731662B (en) A kind of resource allocation methods of variable concurrent job
CN109522106B (en) Risk value simulation dynamic task scheduling method based on cooperative computing
Shanmugapriya et al. Contention awareness in task scheduling using tabu search
Wang et al. Min-cut based leakage power aware scheduling in high-level synthesis
Ninomiya et al. Task allocation and scheduling for voltage-frequency islands applied NOC-based MPSOC considering network congestion
Chen et al. Power-manageable scheduling technique for control dominated high-level synthesis
JP6113066B2 (en) Control method, control server, and control program
Kim Application-driven low-power techniques using dynamic voltage scaling
CN109828837A (en) Based on the preferential relevance method for scheduling task of longest path
Yun et al. Design-time energy optimization for asymmetric multiprocessor system-on-chip
JP2016116403A (en) Calculation method, calculation program and calculator

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130219

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130418

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: 20130514

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130527

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees