JPH10240704A - Multiprocessor system and instruction generating device - Google Patents
Multiprocessor system and instruction generating deviceInfo
- Publication number
- JPH10240704A JPH10240704A JP9065468A JP6546897A JPH10240704A JP H10240704 A JPH10240704 A JP H10240704A JP 9065468 A JP9065468 A JP 9065468A JP 6546897 A JP6546897 A JP 6546897A JP H10240704 A JPH10240704 A JP H10240704A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- value
- heat generation
- processor
- scheduling
- 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
Landscapes
- Multi Processors (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、独立動作可能な複
数のプロセッサがチップ上に実装されているマルチプロ
セッサシステムおよび命令作成装置に関する。[0001] 1. Field of the Invention [0002] The present invention relates to a multiprocessor system in which a plurality of independently operable processors are mounted on a chip, and an instruction creating apparatus.
【0002】[0002]
【従来の技術】近年、LSI製造技術の進歩に伴い、超
微細化,高集積化が進み、1チップ上に複数のプロセッ
サを配置(実装)することが可能となってきている。そこ
で、チップの性能限界として新たにチップ内の発熱量の
問題が考えられるようになってきた。これはチップ内の
活性化率が上がると発熱量が上昇しチップの発熱許容値
を越えるために、発熱によってチップの動作限界が規定
される(すなわち、処理を効率的に行なうことができな
くなる)ということをも意味する。2. Description of the Related Art In recent years, with the advance of LSI manufacturing technology, ultra-miniaturization and high integration have progressed, and it has become possible to arrange (mount) a plurality of processors on one chip. Therefore, the problem of heat generation in the chip has been newly considered as a performance limit of the chip. This is because when the activation rate in the chip increases, the amount of heat generated rises and exceeds the allowable value of heat generation of the chip, so that the operation limit of the chip is defined by heat generation (that is, processing cannot be performed efficiently) It also means that.
【0003】[0003]
【発明が解決しようとする課題】このように従来のマル
チプロセッサシステムでは、チップ内の活性化率が上が
ると発熱量が上昇し、チップの発熱許容値を越えてしま
い、効率的に処理を実行することができないという事態
が生じてしまうという問題があった。As described above, in the conventional multiprocessor system, when the activation rate in the chip increases, the heat generation increases, exceeding the allowable heat generation value of the chip, and efficiently executing the processing. There is a problem that a situation occurs in which it cannot be performed.
【0004】本発明は、チップ上に複数のプロセッサが
実装される場合に、チップ全体の発熱量を抑えるように
各プロセッサを制御し、チップ全体の発熱量を抑えつつ
効率的に処理を実行することの可能なマルチプロセッサ
システムおよび命令作成装置を提供することを目的とし
ている。According to the present invention, when a plurality of processors are mounted on a chip, each processor is controlled so as to suppress the heat generation of the entire chip, and the processing is efficiently executed while suppressing the heat generation of the entire chip. It is an object of the present invention to provide a multiprocessor system and an instruction creating device capable of performing the above.
【0005】[0005]
【課題を解決するための手段】上記目的を達成するため
に、請求項1,請求項4記載の発明では、独立動作可能
な複数のプロセッサがチップ上に実装されているマルチ
プロセッサシステムにおいて、コンパイル後の命令を各
プロセッサに割り付ける命令割付手段と、各プロセッサ
毎に割り付けられた命令間の同期をとるように命令のス
ケジューリングを行なう第1のスケジューリング手段
と、命令ステップ毎にプロセッサ単体の発熱量を予測す
る発熱量予測手段と、各プロセッサの発熱量からチップ
全体の発熱量を予測する総発熱量予測手段と、総発熱量
予測手段によって予測された総発熱量からチップ上の各
プロセッサ毎の命令の再スケジューリングを行ないチッ
プ全体の発熱量を抑制する第2のスケジューリング手段
とを有していることを特徴としている。According to a first aspect of the present invention, there is provided a multiprocessor system in which a plurality of independently operable processors are mounted on a chip. Instruction allocating means for allocating a subsequent instruction to each processor; first scheduling means for scheduling instructions so as to synchronize instructions allocated to each processor; and a heat generation amount of the processor alone for each instruction step. Means for estimating the amount of heat generation, means for estimating the heat generation of the entire chip from the amount of heat generated by each processor, and instructions for each processor on the chip from the amount of heat generated by the total heat generation predicted by the means Second scheduling means for rescheduling the chip and suppressing the heat generation of the entire chip. It is characterized.
【0006】また、請求項2,請求項5記載の発明で
は、前記第1のスケジューリング手段は、実行待ち状態
にある複数の命令中から次の実行の対象となる命令候補
を選択するようになっており、前記発熱量予測手段は、
第1のスケジューリング手段によって選択された命令候
補についてプロセッサ単体の命令ステップ単位の発熱量
の予測値を算出し、また、前記総発熱量予測手段は、各
プロセッサの命令ステップ単位の発熱量の予測値から命
令ステップ単位でのチップ全体の発熱量を予測し、さら
に、命令ステップ単位でのチップ全体の発熱量の予測値
を所定の命令ステップ毎に単位時間の間、累積加算し、
該単位時間の間の累積加算値を総発熱量として算出し、
前記第2のスケジューリング手段は、総発熱量予測手段
により算出された総発熱量が制限値を越える場合には、
この制限値を越えないように、第1のスケジューリング
手段によってスケジューリングされた各プロセッサ毎の
命令の再スケジューリングを行なうようになっているこ
とを特徴としている。In the invention according to claim 2 or 5, the first scheduling means selects an instruction candidate to be executed next from a plurality of instructions in an execution waiting state. And the calorific value predicting means comprises:
For the instruction candidate selected by the first scheduling means, a predicted value of the heat value per instruction step of the processor alone is calculated, and the total heat value prediction means calculates the predicted value of the heat value per instruction step of each processor. From the predicted heat value of the entire chip in instruction step units, and further, cumulatively adds the predicted value of the heat value of the entire chip in instruction step units for each predetermined instruction step for a unit time,
The cumulative addition value during the unit time is calculated as a total heat value,
The second scheduling means, when the total calorific value calculated by the total calorific value prediction means exceeds the limit value,
The rescheduling of instructions for each processor scheduled by the first scheduling means is performed so as not to exceed the limit value.
【0007】また、請求項3,請求項7記載の発明で
は、前記第2のスケジューリング手段から前記第1のス
ケジューリング手段へのフィードバックを行ない、前記
第2のスケジューリング手段によって再スケジューリン
グされた命令を前記第1のスケジューリング手段によっ
て再びスケジューリングする処理を、所定回数、繰り返
し行なうことを特徴としている。According to the third and seventh aspects of the present invention, feedback is performed from the second scheduling means to the first scheduling means, and the instruction rescheduled by the second scheduling means is transmitted to the first scheduling means. The rescheduling process by the first scheduling means is repeated a predetermined number of times.
【0008】また、請求項6記載の発明では、前記総発
熱量予測手段は、前記単位時間当たりの総発熱量の算出
において、命令ステップ単位でのチップ全体の発熱量の
予測値を所定の命令ステップ毎に単位時間の間、累積加
算するとともに、単位時間経過した命令の発熱量を前記
累積加算値から減算して、総発熱量を算出するようにな
っていることを特徴としている。Further, in the invention according to claim 6, in the calculation of the total heat generation amount per unit time, the total heat generation amount prediction means calculates a predicted value of the heat generation amount of the entire chip in instruction step units by a predetermined command. It is characterized in that the total heat value is calculated by adding the heat value of the command for which the unit time has elapsed for the unit time and subtracting the heat value of the command after the unit time has elapsed from the cumulative value.
【0009】[0009]
【発明の実施の形態】以下、本発明の実施形態を図面に
基づいて説明する。本発明は、複数のプロセッサが実装
されているマルチプロセッサシステムにおいて、並列処
理を行なう場合にプロセッサ間の依存関係の問題等のた
めに(プロセッサ間の同期をとる必要があるために)、全
てのプロセッサが常に動作しているような状況はありえ
ず(全てのプロセッサが同時に命令を実行しているよう
な状況はありえず)、複数のプロセッサのうち、必ず、
待ち状態になる(データ待ち等による処理待ち状態の)プ
ロセッサが必ず存在することに着目してなされたもので
ある。すなわち、本発明は、この処理待ちのプロセッサ
を効率的に利用するとともに処理への影響を最小限にと
どめながらプロセッサの制御を行ない、発熱量を抑える
ことでチップ全体として発熱量を制御し、効率よく処理
を実行することを意図している。Embodiments of the present invention will be described below with reference to the drawings. The present invention provides a multiprocessor system in which a plurality of processors are implemented, because of the problem of dependency between processors when performing parallel processing (because it is necessary to synchronize between processors), There can be no situation where processors are always running (no situation where all processors are executing instructions at the same time).
This is done by paying attention to the fact that there is always a processor that is in a waiting state (a processing waiting state due to data waiting or the like). In other words, the present invention controls the processor while efficiently using the processor waiting for the processing and controlling the processor while minimizing the influence on the processing. It is intended to perform well.
【0010】図1は本発明に係るマルチプロセッサシス
テムの構成例を示す図である。図1を参照すると、この
マルチプロセッサシステムは、独立動作可能な複数のプ
ロセッサP1〜Pnが実装されている1つのチップ10
と、ソースリストSLに基づいてチップ10上の各プロ
セッサP1〜Pnに命令コードを割り付け、組み込むため
の命令作成装置11とを有している。FIG. 1 is a diagram showing a configuration example of a multiprocessor system according to the present invention. Referring to FIG. 1, the multiprocessor system, one processor P 1 to P n of the plurality of possible independent operation is implemented in the chip 10
When, and a command creation device 11 for allocating instruction codes to each processor P 1 to P n on the chip 10 based on the source list SL, incorporated.
【0011】ここで、命令作成装置11は、例えばワー
クステーションなどで実現され、このマルチプロセッサ
システムの開発機器として機能するようになっており、
ソースリストSLをコンパイルするコンパイラ9と、コ
ンパイル後の命令(オブジェクトコード(機械語命令))を
チップ10上の各プロセッサP1〜Pnに割り付ける命令
割付手段1と、各プロセッサP1〜Pn毎に割り付けられ
た命令間の同期をとるように命令のスケジューリングを
行なう第1のスケジューリング手段2と、命令ステップ
毎にプロセッサ単体の発熱量を予測する発熱量予測手段
3と、各プロセッサP1〜Pnの発熱量からチップ10全
体の発熱量を予測する総発熱量予測手段4と、総発熱量
予測手段4によって予測された総発熱量に基づいて、第
1のスケジューリング手段2によってスケジューリング
された各プロセッサ毎の命令の再スケジューリングを行
ないチップ10全体の発熱量を抑制する第2のスケジュ
ーリング手段5とを有している。Here, the instruction creating device 11 is realized by, for example, a workstation or the like, and functions as a development device of the multiprocessor system.
Compiler 9 for compiling source list SL, instruction allocating means 1 for allocating compiled instructions (object code (machine language instructions)) to each of processors P 1 to P n on chip 10, and each of processors P 1 to P n First scheduling means 2 for scheduling instructions so as to synchronize the instructions assigned to each of the instructions, heat generation amount prediction means 3 for predicting the heat generation amount of the processor alone for each instruction step, and each of the processors P 1 to P 1 . The total heat generation amount prediction means 4 for predicting the heat generation amount of the entire chip 10 from the heat generation amount of Pn , and the first scheduling means 2 performs scheduling based on the total heat generation amount predicted by the total heat generation amount prediction means 4. Second scheduling means 5 for rescheduling instructions for each processor and suppressing the heat generation of the entire chip 10 And
【0012】ここで、第1のスケジューリング手段2
は、コンパイル後の命令を各プロセッサに割り付ける
際、各プロセッサに割り付けた命令毎に実行順序等のス
ケジューリングを行ない、発熱量予測手段3において処
理を行なう命令候補を順次選択するようになっている。Here, the first scheduling means 2
When the compiled instructions are allocated to the processors, scheduling such as the execution order is performed for each instruction allocated to each processor, and the heat generation amount prediction means 3 sequentially selects instruction candidates to be processed.
【0013】具体的には、第1のスケジューリング手段
2は、各プロセッサに割り付けられた命令間のデータ依
存関係,制御依存関係を解析する依存関係解析手段7を
具備し、依存関係解析手段7の解析結果に基づいて、命
令の実行順序の並べ替えやウェイト命令の挿入などを行
なうようになっている。More specifically, the first scheduling means 2 includes a dependency analysis means 7 for analyzing data dependencies and control dependencies between instructions allocated to each processor. Based on the analysis result, the execution order of instructions is rearranged, a wait instruction is inserted, and the like.
【0014】また、発熱量予測手段3は、第1のスケジ
ューリング手段2によって選択された命令候補について
プロセッサ単体の命令ステップ単位の発熱量(プロセッ
サ上で命令候補を実行した場合のそれぞれのプロセッサ
の発熱量)の予測値を算出するようになっている。Further, the heat generation amount prediction means 3 generates a heat generation amount of the instruction candidate selected by the first scheduling means 2 in a unit of an instruction step of a processor alone (a heat generation amount of each processor when the instruction candidate is executed on the processor). ) Is calculated.
【0015】具体的に、発熱量予測手段3は、プロセッ
サの命令群について、予め1命令に対応した1プロセッ
サ分の発熱量の予測値を例えばメモリにテーブルとして
記憶しておき、コンパイル後の命令(オブジェクトコー
ド)が各プロセッサに割り付けられる時に、命令ステッ
プ毎にこれらの値を読み込み、第1のスケジューリング
手段2によって選択された命令候補についてプロセッサ
単体の命令ステップ単位の発熱量の予測値を得るように
なっている。なお、発熱量の予測値はシミュレーション
や実験等により求めておくことができる。Specifically, the heat generation amount prediction means 3 stores in advance a predicted value of the heat generation amount for one processor corresponding to one instruction as a table in a memory, for the instruction group of the processor, When the (object code) is allocated to each processor, these values are read for each instruction step, and a predicted value of the heat generation amount per instruction step of the processor alone is obtained for the instruction candidate selected by the first scheduling means 2. It has become. Note that the predicted value of the calorific value can be obtained by simulation, experiment, or the like.
【0016】また、総発熱量予測手段4は、各プロセッ
サの命令ステップ単位の発熱量の予測値から命令ステッ
プ単位でのチップ全体の発熱量を予測し、さらに、命令
ステップ単位でのチップ全体の発熱量の予測値を所定の
命令ステップ毎に単位時間の間、累積加算し、該単位時
間の間の累積加算値を総発熱量として算出するようにな
っている。The total heat generation amount predicting unit 4 predicts the heat generation amount of the entire chip in instruction step units from the predicted value of the heat generation amount in instruction step units of each processor. The predicted value of the calorific value is cumulatively added for a unit time for each predetermined instruction step, and the cumulative added value for the unit time is calculated as the total calorific value.
【0017】すなわち、総発熱量予測手段4は、先ず、
各プロセッサP1〜Pnについて命令ステップ毎に発熱量
を求めておき、これらN個の発熱量の総和を求めること
によりチップ10全体の発熱量を得るようになってい
る。これが命令実行時間当たりの総発熱量となり、さら
に、この値を単位時間の間だけ累積加算することによ
り、単位時間当たりの総発熱量を得るようになってい
る。That is, the total calorific value predicting means 4 firstly
The heat value of each of the processors P 1 to P n is obtained for each instruction step, and the heat value of the entire chip 10 is obtained by obtaining the sum of the N heat values. This is the total amount of heat generated per instruction execution time. Further, this value is cumulatively added only during the unit time to obtain the total heat generation per unit time.
【0018】図2には、N個のプロセッサP1〜Pnのう
ち、2つのプロセッサP1,P2だけが稼働している(命
令を実行している)とした場合の発熱量予測手段3,総
発熱量予測手段4の処理概要が示されている。図2を参
照すると、チップ内部のプロセッサP1とプロセッサP2
が命令を実行しているとする場合、先ず、発熱量予測手
段3は、プロセッサP1の実行命令の命令コードC1に
より予測値テーブルからC1の発熱量H1を読み出し、
また、プロセッサP2の実行命令の命令コードC2によ
り発熱量H2を読み出して、プロセッサ単体の命令ステ
ップ単位の発熱量の予測値を算出する。FIG. 2 shows a heating value estimating means when only two processors P 1 and P 2 among N processors P 1 to P n are operating (executing instructions). 3, the processing outline of the total calorific value estimating means 4 is shown. Referring to FIG. 2, the processors P 1 and P 2 inside the chip
If There is a running instruction, firstly, the heat generation amount prediction means 3 reads the calorific value H1 of C1 from the predicted value table by the instruction code C1 of the instruction of the processor P 1,
Further, by reading the calorific value H2 by instruction code C2 of the instruction of the processor P 2, calculates a predicted value of the heating value of a single processor instruction step unit.
【0019】次いで、総発熱量予測手段4は、これら発
熱量H1とH2の総和S1を求めることにより、その命
令ステップでのチップ全体の発熱量S1(命令実行時間
当たりの総発熱量)を得て、さらに、この発熱量S1を
単位時間の間、累積加算することにより、単位時間当た
りの総発熱量S2を得るようになっている。Next, the total heat generation amount prediction means 4 obtains the total heat generation amount S1 (total heat generation amount per instruction execution time) of the entire chip in the instruction step by obtaining the sum S1 of these heat generation amounts H1 and H2. Further, the calorific value S1 is cumulatively added during the unit time to obtain a total calorific value S2 per unit time.
【0020】なお、ここで、単位時間とは、チップ内部
で発生した熱が外部に放射されるまでの時間を意味して
いる。実際には、チップを覆うパッケージ等の熱伝達特
性により影響されるため、シミュレーションや実験等か
ら単位時間としての適正値を得ることができる。Here, the unit time means the time until heat generated inside the chip is radiated to the outside. Actually, since it is affected by the heat transfer characteristics of a package or the like covering the chip, an appropriate value as a unit time can be obtained from a simulation or an experiment.
【0021】また、第2のスケジューリング手段5は、
総発熱量予測手段4により算出された総発熱量が制限値
を越える場合には、この制限値を越えないように、第1
のスケジューリング手段2によって選択された次の命令
候補を他の命令の実行に置き換えるか、あるいは命令実
行順序の入れ替えを行なうか、あるいは発熱を抑制する
ウェイト命令を挿入するように、第1のスケジューリン
グ手段2によってスケジューリングされた各プロセッサ
ごとの命令の再スケジューリングを行なうようになって
いる。Further, the second scheduling means 5 comprises:
If the total calorific value calculated by the total calorific value predicting means 4 exceeds the limit value, the first heat value is set so as not to exceed the limit value.
The first scheduling means is configured to replace the next instruction candidate selected by the scheduling means 2 with the execution of another instruction, change the instruction execution order, or insert a wait instruction for suppressing heat generation. 2 for rescheduling instructions for each processor scheduled.
【0022】換言すれば、命令スケジューリングに着目
するとき、他プロセッサと同期をとる部分については第
1のスケジューリング手段2で行なわれ、発熱量を制限
する部分については第2のスケジューリング手段5によ
って行なわれる。すなわち、図1のシステムでは、第1
のスケジューリング手段2にて、他のプロセッサとの同
期をとるように命令スケジューリングを行ない、この同
期をとるための命令部分を固定した後、さらに第2のス
ケジューリング手段5にて、所定の命令スケジュール区
間における発熱量が制限内になるように再スケジューリ
ングを行なうようになっている。In other words, when focusing on instruction scheduling, the part that synchronizes with another processor is performed by the first scheduling means 2, and the part that limits the heat generation is performed by the second scheduling means 5. . That is, in the system of FIG.
The instruction scheduling is performed by the scheduling means 2 so as to synchronize with another processor, the instruction part for synchronizing is fixed, and the second scheduling means 5 further sets a predetermined instruction schedule section. The rescheduling is performed so that the calorific value at the time is within the limit.
【0023】図3は発熱量予測手段3,総発熱量予測手
段4で図2のような処理がなされるとした場合の第2の
スケジューリング手段5における処理の概要を説明する
ための図である。なお、図3の例では、説明の便宜上、
1命令の実行時間間隔を1命令ステップとし、従って、
図3の横軸の1つのブロック(1命令の実行時間)が1命
令ステップとなっている。FIG. 3 is a diagram for explaining the outline of the processing in the second scheduling means 5 when the processing shown in FIG. 2 is performed by the heat generation amount prediction means 3 and the total heat generation amount prediction means 4. . In the example of FIG. 3, for convenience of explanation,
The execution time interval of one instruction is one instruction step, and therefore,
One block (execution time of one instruction) on the horizontal axis in FIG. 3 is one instruction step.
【0024】また、図3において、単位時間が設定され
るエリアは、前述のように、累積加算値S2(対象エリ
ア内に記述された命令に対応する発熱量の予測値(テー
ブル読み出し)の累積加算値)を求めるときの対象となる
エリアであり、第2のスケジューリング手段5は、上記
エリア(単位時間)における累積加算値S2を対象エリア
内の命令数で割り、平均した結果が制限値の範囲内に収
まるように命令のスケジューリングを行なう。なお、図
3の例では、8命令ステップが単位時間となっている。In FIG. 3, the area in which the unit time is set is, as described above, the cumulative addition value S2 (the cumulative value of the predicted heating value (table read) corresponding to the instruction described in the target area). The second scheduling means 5 divides the cumulative addition value S2 in the above-mentioned area (unit time) by the number of instructions in the target area, and the averaged result is the limit value. Schedule instructions to stay within the range. Note that in the example of FIG. 3, the unit time is eight instruction steps.
【0025】図4には、1つのプロセッサ,例えばPm
に対する命令スケジュールの一例が示されている。図4
の例では、このプロセッサPmに割り当てられた命令ス
ケジュールは、K個の命令スケジュール区間A1〜Akと
して求められる。この場合、K個の命令スケジュール区
間A1〜Akのうちの1つの区間が上記単位時間(発熱量
算出範囲)に相当したものとなっている。換言すれば、
図4の例では、命令スケジュール区間は、単位時間と同
じ命令ステップ数からなっている。FIG. 4 shows one processor, for example, P m
An example of an instruction schedule for is shown. FIG.
In this example, the instruction schedule assigned to the processor P m is determined as K instructions Schedule sections A 1 to A k. In this case, one of the K instruction schedule sections A 1 to A k corresponds to the unit time (heat generation amount calculation range). In other words,
In the example of FIG. 4, the instruction schedule section has the same number of instruction steps as the unit time.
【0026】このように、この第1の構成例では、この
対象エリアを区間分割することにより、区間毎に累積加
算値S2を得る。このため、S2はその区間に記述され
た命令に対応する発熱量の予測値を全て累積加算するこ
とにより得られる。図3を参照すると、第2のスケジュ
ーリング手段5は、単位時間内に発生する発熱量の平均
値が制限値TH以下になるようにスケジューリング操作
することを示しており、極短時間での制限値TH以上の
発熱は平均化されるため問題とならなくなる。As described above, in the first configuration example, by dividing the target area into sections, the cumulative addition value S2 is obtained for each section. Therefore, S2 is obtained by cumulatively adding all the predicted values of the heat generation amount corresponding to the instructions described in the section. Referring to FIG. 3, the second scheduling means 5 indicates that the scheduling operation is performed such that the average value of the amount of heat generated within a unit time is equal to or less than the limit value TH. The heat generation above TH is averaged out, so that it is not a problem.
【0027】次にこのような構成のマルチプロセッサシ
ステムの処理動作例を図5のフローチャートを用いて説
明する。図5を参照すると、先ず、作成したソースリス
ト(プログラム)SLをコンパイラ9などでコンパイルし
て、単一のプロセッサで実行可能なオブジェクトコード
(実行時のマシン語レベル)の命令に変換する(ステップ
S1)。このようにして、マシン語レベルでの命令(オブ
ジェクトコード)が与えられると、命令割付手段1で
は、このコンパイル後の命令(オブジェクトコード)を各
プロセッサP1〜Pnに割り付ける(ステップS2)。この
処理は、具体的には、マシン語レベルに変換した命令
(オブジェクトコード)をマルチプロセッサシステムに適
応させるために各プロセッサ毎に命令を分配した場合の
データ依存関係を考慮して命令分割を行ない、各プロセ
ッサへ割り付けを行なう。Next, an example of the processing operation of the multiprocessor system having such a configuration will be described with reference to the flowchart of FIG. Referring to FIG. 5, first, the created source list (program) SL is compiled by a compiler 9 or the like, and an object code executable by a single processor is obtained.
The instruction is converted into a machine language instruction at the time of execution (step S1). In this way, the instruction of the machine language level (object code) is given, the instruction in the allocation unit 1 allocates the instruction after the compile (object code) to each processor P 1 to P n (step S2). This processing is, specifically, the instruction converted to the machine language level
In order to adapt the (object code) to the multiprocessor system, instruction division is performed in consideration of data dependency when instructions are distributed to each processor, and assignment is performed to each processor.
【0028】次いで、依存関係解析手段7は、各プロセ
ッサ毎に分割された命令中の他のプロセッサとのデータ
依存関係,制御依存関係の解析を行なう(ステップS
3)。しかる後、第1のスケジューリング手段2は、各
プロセッサP1〜Pn毎に割り付けられた命令間のデータ
の同期をとり、命令のスケジューリングを行なう(ステ
ップS4)。具体的には、データ依存関係,制御依存関
係に基づき各プロセッサ毎に同期を取るためにそれぞれ
に命令実行順序の入れ替えや発熱量抑制機能を付加した
ウェイト命令の挿入等を行なう。Next, the dependency analysis means 7 analyzes the data dependency and the control dependency with other processors in the instructions divided for each processor (step S).
3). Thereafter, the first scheduling unit 2 synchronizes data between instructions assigned to each processor P 1 to P n, performs scheduling instruction (step S4). Specifically, in order to synchronize each processor based on the data dependency and the control dependency, the order of instruction execution is changed, and a wait instruction with a heat generation suppression function added thereto is inserted.
【0029】このようにして命令のスケジューリングが
なされたとき、発熱量予測手段3では、命令ステップ毎
にプロセッサ単体の発熱量を予測し(ステップS5)、総
発熱量予測手段4では、各プロセッサP1〜Pnの命令ス
テップ毎の発熱量からチップ10全体の命令ステップ毎
の発熱量を予測し、さらに、チップ全体の命令ステップ
毎の発熱量を単位時間当たりに総和をとって総発熱量と
して予測する(ステップS6)。この段階で、第2のスケ
ジューリング手段5は、総発熱量予測手段4による発熱
量の予測結果に基づき、命令の再スケジューリングを行
なう(ステップS7)。When the instruction is thus scheduled, the heat generation amount prediction means 3 predicts the heat generation amount of the processor alone for each instruction step (step S5). The heat value of each command step of the entire chip 10 is predicted from the heat value of each instruction step of 1 to Pn , and the heat value of each command step of the entire chip is summed per unit time to obtain the total heat value. Predict (step S6). At this stage, the second scheduling means 5 re-schedules the instruction based on the heat generation amount prediction result by the total heat generation amount prediction means 4 (step S7).
【0030】具体的には、第2のスケジューリング手段
5は、総発熱量予測手段4によって予測された総発熱量
が制限値を越える場合には、この制限値を越えないよう
に、第1のスケジューリング手段2によって選択された
次の命令候補を他の命令の実行に置き換えるか、あるい
は発熱を抑制するウェイト命令を挿入するように、各プ
ロセッサP1〜Pnに対する命令の再スケジューリングを
行ない、再スケジューリングした命令をチップ10上の
各プロセッサP1〜Pnに組み込む。チップ10上の各プ
ロセッサP1〜Pnは、再スケジューリングされた命令を
実行し、この場合、上記再スケジューリングされた命令
は、これを実行した場合にも各プロセッサP1〜Pnの総
発熱量(チップ10全体の総発熱量)が制限値以下に抑制
され、従って、処理を効率的に実行することができる。
すなわち、チップ10内の発熱量を許容値以上にするこ
となく、命令の実行が可能となる。More specifically, when the total heat generation amount predicted by the total heat generation amount prediction means 4 exceeds the limit value, the second scheduling means 5 performs the first scheduling so as not to exceed the limit value. either replace next instruction candidate selected by the scheduling means 2 to perform other instructions, or to insert wait instruction to suppress heat generation, performs rescheduling of instructions for the processors P 1 to P n, re incorporating the scheduled instructions to each processor P 1 to P n on the chip 10. Each processor P 1 to P n on the chip 10 executes instructions that are rescheduled, in this case, the instruction is the re-scheduling is also total heat of the processors P 1 to P n when you do this The amount (the total amount of heat generated by the entire chip 10) is suppressed to the limit value or less, so that the processing can be executed efficiently.
That is, the instruction can be executed without making the heat generation amount in the chip 10 equal to or more than the allowable value.
【0031】上述の例では、発熱量予測手段3,総発熱
量予測手段4で図2のような処理がなされるとしたが、
図2のような処理のかわりに、図6のような処理を行な
うようになっていても良い。すなわち、図6の処理例で
は、総発熱量予測手段4は、前記単位時間当たりの総発
熱量の算出において、命令ステップ単位でのチップ全体
の発熱量の予測値を所定の命令ステップ毎に単位時間の
間、累積加算するとともに、単位時間経過した命令の発
熱量を前記累積加算値から減算して、総発熱量を算出す
るようになっている。In the above example, the processing shown in FIG. 2 is performed by the calorific value predicting means 3 and the total calorific value predicting means 4.
Instead of the processing as shown in FIG. 2, the processing as shown in FIG. 6 may be performed. That is, in the processing example of FIG. 6, the total heat generation amount prediction means 4 calculates the total heat generation amount per unit time by using the predicted value of the heat generation amount of the entire chip in instruction step units for each predetermined instruction step. During the time, the total heat value is calculated by adding the heat value of the command after the unit time has elapsed and subtracting the heat value of the instruction after the unit time has elapsed from the cumulative value.
【0032】具体的に、図6の処理例では、チップ内部
のプロセッサP1とプロセッサP2が命令を実行している
とする場合、先ず、図2の処理例と同様に、発熱量予測
手段3は、プロセッサP1の実行命令の命令コードC1
により予測値テーブルからC1の発熱量H1を読み出
し、また、プロセッサP2の実行命令の命令コードC2
により発熱量H2を読み出して、プロセッサ単体の命令
ステップ単位の発熱量の予測値を算出する。[0032] Specifically, in the processing example of FIG. 6, when the processor P 1 and processor P 2 of the chip is to be executing instructions, first, similarly to the processing example in FIG. 2, the calorific value predicting means 3, the instruction code C1 of the instruction of the processor P 1
Reading the heating value H1 of C1 from the predicted value table, the addition, the instruction code of the instruction of the processor P 2 C2
To read out the heat generation amount H2, and calculate the predicted value of the heat generation amount for each instruction step of the processor alone.
【0033】次いで、総発熱量予測手段4は、これら発
熱量H1とH2の総和S1を求めることにより、その命
令ステップでのチップ全体の発熱量S1(命令実行時間
当たりの総発熱量)を得て、さらに、この発熱量S1を
単位時間の間、累積加算し、この累積加算値により、単
位時間当たりの総発熱量を得るが、この際、図6の処理
例では、ある単位時間経過した命令の発熱量を上記累積
加算値から減算し、これを総発熱量S2として算出す
る。すなわち、命令ステップ毎に新しい命令の発熱量を
加算し、対象エリアからはずれた過去の命令の発熱量は
減算する。これにより、単位時間領域(対象エリア)を移
動させることができる。換言すれば、図6の処理例で
は、単位時間領域(対象エリア)を命令ステップ毎(1命
令実行時間毎)に区間移動する度に累積加算値S2を得
るようになっている。Next, the total heat generation amount prediction means 4 obtains the total heat generation amount S1 (total heat generation amount per instruction execution time) of the entire chip in the instruction step by obtaining the sum S1 of these heat generation amounts H1 and H2. Further, the calorific value S1 is cumulatively added during the unit time, and the total calorific value per unit time is obtained from the cumulative added value. In this case, in the processing example of FIG. The calorific value of the command is subtracted from the cumulative addition value, and this is calculated as the total calorific value S2. That is, the calorific value of a new command is added for each command step, and the calorific value of a past command deviating from the target area is subtracted. Thereby, the unit time area (target area) can be moved. In other words, in the processing example of FIG. 6, the cumulative addition value S2 is obtained each time the section is moved in the unit time area (target area) for each instruction step (each instruction execution time).
【0034】図7にはこの場合の発熱量算出の対象とな
る単位時間区間の例が示されている。この例では、命令
ステップ毎に新しく選択された命令の発熱量を累積加算
するとともに、ある単位時間経過した命令の発熱量を累
積加算値から減算することにより、発熱量算出の対象と
なる単位時間領域を移動させることができる。FIG. 7 shows an example of a unit time section for which the calorific value is calculated in this case. In this example, the calorific value of the newly selected instruction is cumulatively added for each instruction step, and the calorific value of the instruction after a certain unit time has elapsed is subtracted from the cumulative addition value, so that the unit time for which the calorific value is calculated is calculated. The area can be moved.
【0035】このように、総発熱量予測手段4は、図6
の処理例では、命令ステップ毎に単位時間領域を移動さ
せて、総発熱量S2を算出することができる。As described above, the total calorific value estimating means 4 performs the processing shown in FIG.
In the processing example of, the total heat generation amount S2 can be calculated by moving the unit time area for each instruction step.
【0036】なお、一般に、スケジューリングには動的
スケジューリングと静的スケジューリングとがあるが、
上述の例では、静的スケジューリングで考えている。す
なわち、動的スケジューリングの場合には、実時間の計
測処理となることから、熱管理用プロセッサや熱センサ
等が必要になるが、静的スケジューリングの場合には熱
管理用プロセッサや熱センサ等を必要としない。すなわ
ち、プロセッサP1〜Pnを動かすプログラムデータの静
的スケジューリングにおいては、プログラム実行を想定
したチップ発熱の挙動について予めシミュレーションや
実験等にて、命令ごとの発熱データを用意することによ
り、オフラインで熱管理処理を行なうことができる。In general, there are two types of scheduling: dynamic scheduling and static scheduling.
In the above example, static scheduling is considered. That is, in the case of dynamic scheduling, a real-time measurement process is performed, and therefore, a heat management processor and a heat sensor are required. In the case of static scheduling, the heat management processor and the heat sensor are used. do not need. That is, in the static scheduling of the program data for operating the processors P 1 to P n , the heat generation behavior of the chip assuming the program execution is prepared in advance by simulation or experiment, etc., and the heat generation data for each instruction is prepared. Thermal management processing can be performed.
【0037】静的スケジューリングの処理流れとして
は、前述したように、プログラムソースがコンパイルさ
れた後、コンパイル(翻訳)された機械語命令コードは、
命令割付手段1,第1のスケジューリング手段2,発熱
量予測手段3,総発熱予測手段4,および第2のスケジ
ューリング手段5を経て、熱管理処理された命令コード
となる。ただし、第2のスケジューリング手段5におい
て、発熱を抑制するウェイト命令を挿入する場合には、
ウェイト命令コードを実行するためのハードウェアが必
要となる。この場合、発熱を抑制するウェイト命令コー
ドが実行されたときの機能として、リソースに対するク
ロックラインの遮断機能や電圧低下機能を実現するハー
ドウェア(スイッチングによる発熱を抑制する機能)が要
求される。従って、この場合、第2のスケジューリング
手段5については、これをチップ10上にハードウェア
としてもたせるのが良い。As described above, the processing flow of the static scheduling is as follows. After the program source is compiled, the compiled (translated) machine instruction code is
The instruction code is subjected to heat management processing via the instruction allocating means 1, the first scheduling means 2, the heat generation amount prediction means 3, the total heat generation prediction means 4, and the second scheduling means 5. However, when the second scheduling means 5 inserts a wait instruction for suppressing heat generation,
Hardware for executing the wait instruction code is required. In this case, as a function when the wait instruction code for suppressing heat generation is executed, hardware (a function for suppressing heat generation due to switching) that realizes a function of shutting off a clock line for a resource and a function of reducing voltage is required. Therefore, in this case, the second scheduling means 5 is preferably provided as hardware on the chip 10.
【0038】また、図8は本発明に係るマルチプロセッ
サシステムの他の構成例を示す図である。図8を参照す
ると、このマルチプロセッサシステムの命令作成装置5
1は、基本的には、図1のマルチプロセッサシステムの
命令作成装置11と同様の構成となっているが、図8の
命令作成装置51では、第2のスケジューリング手段5
から第1のスケジューリング手段2へのフィードバック
制御がなされるようになっている。FIG. 8 is a diagram showing another configuration example of the multiprocessor system according to the present invention. Referring to FIG. 8, the instruction creating device 5 of this multiprocessor system
1 basically has the same configuration as the instruction creating device 11 of the multiprocessor system of FIG. 1, but the instruction creating device 51 of FIG.
The feedback control to the first scheduling means 2 is performed.
【0039】図9は図8のマルチプロセッサシステム
(命令作成装置51)の処理動作例を示すフローチャート
である。図9を参照すると、図8の命令作成装置51
も、基本的には、図1の命令作成装置11の図5の処理
動作と同様の処理動作を行なうが、図8の命令作成装置
51では、ステップS7で発熱量を基にして再スケジュ
ーリングされた命令について、ステップS3で、再び、
データ依存,制御依存関係の解析を行ない、ステップS
4で同期のための命令の並び替えやウェイト命令の挿入
などを行なう。FIG. 9 shows the multiprocessor system of FIG.
5 is a flowchart illustrating an example of a processing operation of the (command creation device 51). Referring to FIG. 9, the instruction creating device 51 of FIG.
1 basically performs the same processing operation as the processing operation of FIG. 5 of the instruction generation device 11 of FIG. 1, but the instruction generation device 51 of FIG. Again, in step S3,
Analysis of data dependence and control dependence is performed, and step S
In step 4, rearrangement of instructions for synchronization and insertion of wait instructions are performed.
【0040】このようなフィードバックを所定回数繰り
返し行なうことで、より効率的な命令のスケジューリン
グが可能となり、より効率の良い発熱制御が可能とな
る。By repeating such feedback a predetermined number of times, more efficient instruction scheduling becomes possible, and more efficient heat generation control becomes possible.
【0041】また、図10は図1あるいは図8の命令作
成装置のハードウェア構成例を示す図である。図10を
参照すると、この命令作成装置は、例えばワークステー
ションやパーソナルコンピュータ等で実現され、全体を
制御するCPU21と、CPU21の制御プログラム等
が記憶されているROM22と、CPU21のワークエ
リア等として使用されるRAM23と、ソースリストS
Lを入力する入力装置24と、作成した命令コードをチ
ップ10上の各プロセッサに与える出力装置26とを有
している。FIG. 10 is a diagram showing an example of a hardware configuration of the instruction creating apparatus shown in FIG. 1 or FIG. Referring to FIG. 10, this instruction creating apparatus is realized by, for example, a workstation or a personal computer, and is used as a CPU 21 for controlling the whole, a ROM 22 storing a control program of the CPU 21, and a work area of the CPU 21. RAM 23 and source list S
It has an input device 24 for inputting L and an output device 26 for supplying the created instruction code to each processor on the chip 10.
【0042】ここで、CPU21は、図1あるいは図8
のコンパイラ9,命令割付手段1,第1のスケジューリ
ング手段2,発熱量予測手段3,総発熱予測手段4,お
よび第2のスケジューリング手段5の機能を有してい
る。Here, the CPU 21 operates as shown in FIG.
, An instruction allocating unit 1, a first scheduling unit 2, a heat generation amount predicting unit 3, a total heat generation predicting unit 4, and a second scheduling unit 5.
【0043】なお、CPU21におけるこのようなコン
パイラ9,命令割付手段1,第1のスケジューリング手
段2,発熱量予測手段3,総発熱予測手段4,および第
2のスケジューリング手段5等としての機能は、例えば
ソフトウェアパッケージ(具体的には、CD−ROM等
の情報記録媒体)の形で提供することができ、このた
め、図10の例では、情報記録媒体30がセットさせる
とき、これを駆動する媒体駆動装置31が設けられてい
る。The functions of the compiler 9, the instruction allocating means 1, the first scheduling means 2, the heat generation amount prediction means 3, the total heat generation prediction means 4, the second scheduling means 5, and the like in the CPU 21 are as follows. For example, it can be provided in the form of a software package (specifically, an information recording medium such as a CD-ROM). Therefore, in the example of FIG. A driving device 31 is provided.
【0044】換言すれば、本発明の命令作成装置は、汎
用の計算機システムにCD−ROM等の情報記録媒体に
記録されたプログラムを読み込ませて、この汎用計算機
システムのマイクロプロセッサに上述の処理を実行させ
る装置構成においても実施することが可能である。この
場合、本発明の命令作成処理を実行するためのプログラ
ム(すなわち、ハードウェアシステムで用いられるプロ
グラム)は、媒体に記録された状態で提供される。プロ
グラムなどが記録される情報記録媒体としては、CD−
ROMに限られるものではなく、ROM,RAM,フレ
キシブルディスク,メモリカード等が用いられても良
い。媒体に記録されたプログラムは、ハードウェアシス
テムに組み込まれている記憶装置、例えばハードディス
ク装置にインストールされることにより、このプログラ
ムを実行して、コンパイラ9,命令割付手段1,第1の
スケジューリング手段2,発熱量予測手段3,総発熱予
測手段4,および第2のスケジューリング手段5の機能
を実現するマルチプロセッサシステムの構築に寄与す
る。In other words, the instruction creating apparatus of the present invention causes a general-purpose computer system to read a program recorded on an information recording medium such as a CD-ROM, and causes the microprocessor of the general-purpose computer system to execute the above-described processing. The present invention can also be implemented in a device configuration to be executed. In this case, a program for executing the instruction creation processing of the present invention (that is, a program used in the hardware system) is provided in a state recorded on a medium. As an information recording medium on which programs and the like are recorded, CD-
The invention is not limited to the ROM, and a ROM, a RAM, a flexible disk, a memory card, or the like may be used. The program recorded on the medium is installed in a storage device incorporated in the hardware system, for example, a hard disk device, so that the program is executed, and the compiler 9, instruction allocating means 1, first scheduling means 2 , The calorific value predicting means 3, the total heat generating predicting means 4, and the second scheduling means 5, which contribute to the construction of a multiprocessor system.
【0045】また、本発明のコンパイラ9,命令割付手
段1,第1のスケジューリング手段2,発熱量予測手段
3,総発熱予測手段4,および第2のスケジューリング
手段5の機能を実現するためのプログラムは、媒体の形
で提供されるのみならず、通信によって(例えばサーバ
によって)提供されるものであっても良い。A program for realizing the functions of the compiler 9, instruction allocating means 1, first scheduling means 2, heat generation amount predicting means 3, total heat generation predicting means 4, and second scheduling means 5 of the present invention. May be provided not only in the form of a medium but also by communication (for example, by a server).
【0046】また、図10の例では、命令作成装置は、
チップ10とは別体の装置として構成されているが、命
令作成装置は、チップ10上に、プロセッサP1〜Pnと
ともに実装されていても良い。すなわち、チップ10上
に、プロセッサP1〜Pnの他に、さらに、例えば、命令
作成装置として機能するCPUとROMなどを実装し、
命令自体をROMから供給するか、あるいは、CPUで
生成し、図10の出力装置26のような外部との入出力
インタフェースを必要とせずに、ROMから供給される
命令あるいはCPUで生成される命令をプロセッサP1
〜Pnに割り付けることもできる。換言すれば、プロセ
ッサP1〜Pnのみならず命令作成装置をも含めて1チッ
プ上に実装したマルチプロセッサシステムとして構成す
ることも可能であり、この場合には、1チップ内で全て
の制御がなされる。Further, in the example of FIG.
Although the chip 10 is configured as a device separate, instruction creation device, on the chip 10, may be implemented with the processor P 1 to P n. That is, in addition to the processors P 1 to P n , for example, a CPU and a ROM that function as an instruction creating device are mounted on the chip 10,
The instruction itself is supplied from the ROM or generated by the CPU, and the instruction supplied from the ROM or the instruction generated by the CPU without the need for an external input / output interface such as the output device 26 in FIG. To the processor P 1
~ Pn . In other words, it is also possible to construct a multiprocessor system implemented on a single chip also include instructions creating device not only processor P 1 to P n, in this case, all the control in one chip Is made.
【0047】[0047]
【発明の効果】以上に説明したように、請求項1,請求
項2,請求項4,請求項5記載の発明によれば、独立動
作可能な複数のプロセッサがチップ上に実装されている
マルチプロセッサシステムにおいて、コンパイル後の命
令をチップ上の各プロセッサに割り付ける命令割付手段
と、各プロセッサ毎に割り付けられた命令間のデータの
同期をとるように命令のスケジューリングを行なう第1
のスケジューリング手段と、命令ステップ毎にプロセッ
サ単体の発熱量を予測する発熱量予測手段と、各プロセ
ッサの発熱量からチップ全体の発熱量を予測する総発熱
量予測手段と、総発熱量予測手段によって予測された総
発熱量からチップ上の各プロセッサ毎の命令の再スケジ
ューリングを行ないチップ全体の発熱量を抑制する第2
のスケジューリング手段とを有しており、発熱量を考慮
した命令のスケジューリングを行ない、チップ全体の発
熱量を抑えることにより、チップの発熱許容限界を越え
ることなく処理を行なうことができ、低消費電力化を図
ることができる。As described above, according to the first, second, fourth, and fifth aspects of the present invention, a multiprocessor in which a plurality of independently operable processors are mounted on a chip. In a processor system, an instruction allocating means for allocating a compiled instruction to each processor on a chip, and a first method for scheduling instructions so as to synchronize data between instructions allocated to each processor.
Scheduling means, heat generation amount prediction means for predicting the heat generation amount of each processor for each instruction step, total heat generation amount prediction means for predicting the heat generation amount of the entire chip from the heat generation amount of each processor, and total heat generation amount prediction means A second method for rescheduling instructions for each processor on the chip from the predicted total heat generation to suppress the heat generation of the entire chip.
Scheduling means, taking into account the heat generation amount, and by suppressing the heat generation amount of the entire chip, it is possible to perform processing without exceeding the heat generation allowable limit of the chip, thereby achieving low power consumption. Can be achieved.
【0048】また、請求項3,請求項7記載の発明によ
れば、前記第2のスケジューリング手段から前記第1の
スケジューリング手段へのフィードバックを行ない、前
記第2のスケジューリング手段によって再スケジューリ
ングされた命令を前記第1のスケジューリング手段によ
って再びスケジューリングする処理を、所定回数、繰り
返し行なうので、より効率的な命令のスケジューリング
が可能となり、より効率の良い発熱制御が可能となる。According to the third and seventh aspects of the present invention, feedback is performed from the second scheduling means to the first scheduling means, and the instruction rescheduled by the second scheduling means is provided. Is repeated a predetermined number of times by the first scheduling means, thereby enabling more efficient instruction scheduling and more efficient heat generation control.
【0049】また、請求項6記載の発明によれば、前記
総発熱量予測手段は、前記単位時間当たりの総発熱量の
算出において、命令ステップ単位でのチップ全体の発熱
量の予測値を所定の命令ステップ毎に単位時間の間、累
積加算するとともに、単位時間経過した命令の発熱量を
前記累積加算値から減算して、総発熱量を算出するよう
になっているので、命令ステップ毎に単位時間区間を移
動することができ、常に最新の実行ステップにおける発
熱量の算出が可能となって、きめ細かな低消費電力化を
図ることができる。According to the present invention, in the calculation of the total heat generation amount per unit time, the total heat generation amount prediction means determines a predicted value of the heat generation amount of the entire chip in instruction step units. The total heat value is calculated by subtracting the heat value of the command whose unit time has elapsed from the cumulative addition value while calculating the total heat value during the unit time for each command step. It is possible to move in a unit time section, and the calorific value can always be calculated in the latest execution step, so that fine power consumption can be reduced.
【図1】本発明に係るマルチプロセッサシステムの構成
例を示す図である。FIG. 1 is a diagram showing a configuration example of a multiprocessor system according to the present invention.
【図2】発熱量予測手段,総発熱量予測手段の処理例の
概要を示す図である。FIG. 2 is a diagram illustrating an outline of a processing example of a heat generation amount prediction unit and a total heat generation amount prediction unit.
【図3】発熱量予測手段,総発熱量予測手段で図2のよ
うな処理がなされるとした場合の発熱量制御手段におけ
る処理の概要を説明するための図である。FIG. 3 is a diagram for explaining an outline of a process performed by a heat generation amount control unit when the process illustrated in FIG. 2 is performed by a heat generation amount prediction unit and a total heat generation amount prediction unit;
【図4】1つのプロセッサ,例えばPmに対する命令ス
ケジュールの一例を示す図である。[4] One of the processors is a diagram showing an example of instruction scheduling for example for P m.
【図5】図1のマルチプロセッサシステムの処理動作例
を説明するためのフローチャートである。FIG. 5 is a flowchart for explaining a processing operation example of the multiprocessor system of FIG. 1;
【図6】発熱量予測手段,総発熱量予測手段の他の処理
例の概要を示す図である。FIG. 6 is a diagram showing an outline of another processing example of the heat generation amount prediction means and the total heat generation amount prediction means.
【図7】図6の処理例において、発熱量算出の対象とな
る単位時間区間の例を示す図である。FIG. 7 is a diagram illustrating an example of a unit time section to be subjected to calorific value calculation in the processing example of FIG. 6;
【図8】本発明に係るマルチプロセッサシステムの他の
構成例を示す図である。FIG. 8 is a diagram showing another configuration example of the multiprocessor system according to the present invention.
【図9】図8のマルチプロセッサシステムの処理動作例
を説明するためのフローチャートである。9 is a flowchart for explaining a processing operation example of the multiprocessor system of FIG. 8;
【図10】図1あるいは図8の命令作成装置のハードウ
ェア構成例を示す図である。FIG. 10 is a diagram illustrating an example of a hardware configuration of the instruction creating device of FIG. 1 or FIG.
1 命令割付手段 2 第1のスケジューリング手段 3 発熱量予測手段 4 総発熱量予測手段 5 第2のスケジューリング手段 7 依存関係解析手段 9 コンパイラ 10 チップ 11 命令作成装置 P1〜Pn プロセッサ SL ソースリスト1 instruction allocation unit 2 first scheduling unit 3 heat value predicting means 4 gross calorific value prediction means 5 second scheduling means 7 dependence analyzing means 9 compiler 10 chip 11 instruction creation device P 1 to P n processors SL Source List
Claims (7)
プ上に実装されているマルチプロセッサシステムにおい
て、コンパイル後の命令をチップ上の各プロセッサに割
り付ける命令割付手段と、各プロセッサ毎に割り付けら
れた命令間のデータ依存関係,制御依存関係を解析し、
同期をとるように命令のスケジューリングを行なう第1
のスケジューリング手段と、命令ステップ毎にプロセッ
サ単体の発熱量を予測する発熱量予測手段と、各プロセ
ッサの発熱量からチップ全体の発熱量を予測する総発熱
量予測手段と、総発熱量予測手段によって予測された総
発熱量からチップ上の各プロセッサ毎の命令の再スケジ
ューリングを行ないチップ全体の発熱量を抑制する第2
のスケジューリング手段とを有していることを特徴とす
るマルチプロセッサシステム。In a multiprocessor system in which a plurality of independently operable processors are mounted on a chip, instruction allocating means for allocating compiled instructions to each processor on the chip, and instructions allocated to each processor Analyze data dependencies and control dependencies between
First to schedule instructions so as to synchronize
Scheduling means, heat generation amount prediction means for predicting the heat generation amount of each processor for each instruction step, total heat generation amount prediction means for predicting the heat generation amount of the entire chip from the heat generation amount of each processor, and total heat generation amount prediction means A second method for rescheduling instructions for each processor on the chip from the predicted total heat generation to suppress the heat generation of the entire chip.
And a scheduling means.
ムにおいて、前記第1のスケジューリング手段は、実行
待ち状態にある複数の命令中から次の実行の対象となる
命令候補を選択するようになっており、前記発熱量予測
手段は、第1のスケジューリング手段によって選択され
た命令候補についてプロセッサ単体の命令ステップ単位
の発熱量の予測値を算出し、また、前記総発熱量予測手
段は、各プロセッサの命令ステップ単位の発熱量の予測
値から命令ステップ単位でのチップ全体の発熱量を予測
し、さらに、命令ステップ単位でのチップ全体の発熱量
の予測値を所定の命令ステップ毎に単位時間の間、累積
加算し、該単位時間の間の累積加算値を総発熱量として
算出し、前記第2のスケジューリング手段は、総発熱量
予測手段により算出された総発熱量が制限値を越える場
合には、この制限値を越えないように、第1のスケジュ
ーリング手段によってスケジューリングされた各プロセ
ッサ毎の命令の再スケジューリングを行なうようになっ
ていることを特徴とするマルチプロセッサシステム。2. The multiprocessor system according to claim 1, wherein said first scheduling means selects an instruction candidate to be executed next from a plurality of instructions in an execution waiting state. The heating value predicting means calculates a predicted value of a heating value for each instruction step of the processor alone with respect to the instruction candidate selected by the first scheduling means; Predict the heat value of the entire chip in instruction steps from the predicted value of the heat value in step units, and further calculate the predicted value of the heat value of the entire chip in instruction steps for a unit time for each predetermined instruction step. The cumulative addition value during the unit time is calculated as a total heat value, and the second scheduling means calculates the total heat value by the total heat value prediction means. When the total amount of generated heat exceeds the limit value, rescheduling of instructions for each processor scheduled by the first scheduling means is performed so as not to exceed the limit value. And a multiprocessor system.
ロセッサシステムにおいて、前記第2のスケジューリン
グ手段から前記第1のスケジューリング手段へのフィー
ドバックを行ない、前記第2のスケジューリング手段に
よって再スケジューリングされた命令を前記第1のスケ
ジューリング手段によって再びスケジューリングする処
理を、所定回数、繰り返し行なうことを特徴とするマル
チプロセッサシステム。3. The multiprocessor system according to claim 1, wherein feedback is performed from said second scheduling means to said first scheduling means, and said instruction is rescheduled by said second scheduling means. A re-scheduling process is repeated a predetermined number of times by the first scheduling means.
プ上に実装されているマルチプロセッサシステムにおい
て、チップ上の各プロセッサが実行する命令を作成する
命令作成装置であって、該命令作成装置は、コンパイル
後の命令をチップ上の各プロセッサに割り付ける命令割
付手段と、各プロセッサ毎に割り付けられた命令間のデ
ータの同期をとるように命令のスケジューリングを行な
う第1のスケジューリング手段と、命令ステップ毎にプ
ロセッサ単体の発熱量を予測する発熱量予測手段と、各
プロセッサの発熱量からチップ全体の発熱量を予測する
総発熱量予測手段と、総発熱量予測手段によって予測さ
れた総発熱量からチップ上の各プロセッサ毎の命令の再
スケジューリングを行ないチップ全体の発熱量を抑制す
る第2のスケジューリング手段とを有していることを特
徴とする命令作成装置。4. In a multiprocessor system in which a plurality of independently operable processors are mounted on a chip, an instruction creating device for creating an instruction to be executed by each processor on the chip is provided. Instruction allocating means for allocating the compiled instruction to each processor on the chip; first scheduling means for scheduling the instructions so as to synchronize data between the instructions allocated to each processor; A calorific value predictor for predicting the calorific value of the processor alone, a total calorific value predictor for predicting the calorific value of the entire chip from the calorific value of each processor, and an on-chip based on the total calorific value predicted by the total calorific value predictor. The second schedule for rescheduling the instructions for each processor and suppressing the heat generation of the entire chip An instruction creating device comprising: ring means.
前記第1のスケジューリング手段は、実行待ち状態にあ
る複数の命令中から次の実行の対象となる命令候補を選
択するようになっており、前記発熱量予測手段は、第1
のスケジューリング手段によって選択された命令候補に
ついてプロセッサ単体の命令ステップ単位の発熱量の予
測値を算出し、また、前記総発熱量予測手段は、各プロ
セッサの命令ステップ単位の発熱量の予測値から命令ス
テップ単位でのチップ全体の発熱量を予測し、さらに、
命令ステップ単位でのチップ全体の発熱量の予測値を所
定の命令ステップ毎に単位時間の間、累積加算し、該単
位時間の間の累積加算値を総発熱量として算出し、前記
第2のスケジューリング手段は、総発熱量予測手段によ
り算出された総発熱量が制限値を越える場合には、この
制限値を越えないように、第1のスケジューリング手段
によってスケジューリングされた各プロセッサ毎の命令
の再スケジューリングを行なうようになっていることを
特徴とする命令作成装置。5. The instruction generating apparatus according to claim 4, wherein
The first scheduling means selects an instruction candidate to be executed next from a plurality of instructions in an execution waiting state, and the heat generation amount prediction means
For each of the instruction candidates selected by the scheduling means, the predicted value of the heat value per instruction step of the processor alone is calculated, and the total heat value prediction means calculates the instruction from the predicted value of the heat value per instruction step of each processor. Predict the heat value of the entire chip in steps,
The predicted value of the heat generation amount of the entire chip in instruction step units is cumulatively added for a unit time for each predetermined instruction step, and the cumulative addition value for the unit time is calculated as the total heat generation amount. When the total heat value calculated by the total heat value prediction means exceeds the limit value, the scheduling means re-executes the instruction for each processor scheduled by the first scheduling means so as not to exceed the limit value. An instruction creating device for performing scheduling.
装置において、前記総発熱量予測手段は、前記単位時間
当たりの総発熱量の算出において、命令ステップ単位で
のチップ全体の発熱量の予測値を所定の命令ステップ毎
に単位時間の間、累積加算するとともに、単位時間経過
した命令の発熱量を前記累積加算値から減算して、総発
熱量を算出するようになっていることを特徴とする命令
作成装置。6. The instruction generation device according to claim 4, wherein said total heat generation amount predicting means calculates the total heat generation amount per unit time by calculating the total heat generation amount per unit time. That the predicted value is cumulatively added during the unit time for each predetermined instruction step, and the heat generation amount of the instruction whose unit time has elapsed is subtracted from the cumulative addition value to calculate the total heat generation amount. Instruction creation device characterized by the following.
装置において、前記第2のスケジューリング手段から前
記第1のスケジューリング手段へのフィードバックを行
ない、前記第2のスケジューリング手段によって再スケ
ジューリングされた命令を前記第1のスケジューリング
手段によって再びスケジューリングする処理を、所定回
数、繰り返し行なうことを特徴とする命令作成装置。7. The instruction generating apparatus according to claim 4, wherein feedback from said second scheduling means to said first scheduling means is performed, and said instruction rescheduled by said second scheduling means. Wherein the first scheduling means repeats the re-scheduling process a predetermined number of times.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP06546897A JP3567354B2 (en) | 1996-12-26 | 1997-03-04 | Multiprocessor system and instruction creation device |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35684396 | 1996-12-26 | ||
JP8-356843 | 1996-12-26 | ||
JP06546897A JP3567354B2 (en) | 1996-12-26 | 1997-03-04 | Multiprocessor system and instruction creation device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10240704A true JPH10240704A (en) | 1998-09-11 |
JP3567354B2 JP3567354B2 (en) | 2004-09-22 |
Family
ID=26406608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP06546897A Expired - Fee Related JP3567354B2 (en) | 1996-12-26 | 1997-03-04 | Multiprocessor system and instruction creation device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3567354B2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003083693A1 (en) * | 2002-04-03 | 2003-10-09 | Fujitsu Limited | Task scheduler in distributed processing system |
WO2005093569A1 (en) * | 2004-03-29 | 2005-10-06 | Sony Computer Entertainment Inc. | Processor, multiprocessor system, processor system, information processing device, and temperature control method |
JP2005285123A (en) * | 2004-03-29 | 2005-10-13 | Sony Computer Entertainment Inc | Method and device for achieving task temperature management using processing of task scheduling preparation |
WO2005093564A3 (en) * | 2004-03-29 | 2006-07-13 | Sony Computer Entertainment Inc | Methods and apparatus for achieving thermal management using processor manipulation |
US7831842B2 (en) | 2004-06-22 | 2010-11-09 | Sony Computer Entertainment Inc. | Processor for controlling performance in accordance with a chip temperature, information processing apparatus, and method of controlling processor |
JP2011039967A (en) * | 2009-08-18 | 2011-02-24 | Fujitsu Ltd | Temperature control device |
-
1997
- 1997-03-04 JP JP06546897A patent/JP3567354B2/en not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003083693A1 (en) * | 2002-04-03 | 2003-10-09 | Fujitsu Limited | Task scheduler in distributed processing system |
JPWO2003083693A1 (en) * | 2002-04-03 | 2005-08-04 | 富士通株式会社 | Task scheduling device in distributed processing system |
WO2005093569A1 (en) * | 2004-03-29 | 2005-10-06 | Sony Computer Entertainment Inc. | Processor, multiprocessor system, processor system, information processing device, and temperature control method |
JP2005285123A (en) * | 2004-03-29 | 2005-10-13 | Sony Computer Entertainment Inc | Method and device for achieving task temperature management using processing of task scheduling preparation |
WO2005093564A3 (en) * | 2004-03-29 | 2006-07-13 | Sony Computer Entertainment Inc | Methods and apparatus for achieving thermal management using processor manipulation |
US7360102B2 (en) | 2004-03-29 | 2008-04-15 | Sony Computer Entertainment Inc. | Methods and apparatus for achieving thermal management using processor manipulation |
US8224639B2 (en) | 2004-03-29 | 2012-07-17 | Sony Computer Entertainment Inc. | Methods and apparatus for achieving thermal management using processing task scheduling |
US9183051B2 (en) | 2004-03-29 | 2015-11-10 | Sony Computer Entertainment Inc. | Methods and apparatus for achieving thermal management using processing task scheduling |
US7831842B2 (en) | 2004-06-22 | 2010-11-09 | Sony Computer Entertainment Inc. | Processor for controlling performance in accordance with a chip temperature, information processing apparatus, and method of controlling processor |
JP2011039967A (en) * | 2009-08-18 | 2011-02-24 | Fujitsu Ltd | Temperature control device |
Also Published As
Publication number | Publication date |
---|---|
JP3567354B2 (en) | 2004-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2657839B1 (en) | Multiprocessor system and multigrain parallelizing compiler | |
US6718541B2 (en) | Register economy heuristic for a cycle driven multiple issue instruction scheduler | |
Bradlee et al. | Integrating register allocation and instruction scheduling for RISCs | |
Lin et al. | Scheduling techniques for variable voltage low power designs | |
KR100863387B1 (en) | Processor, multiprocessor system, processor system, information processing device, and temperature control method | |
EP1881405B1 (en) | Global compiler for controlling heterogeneous multiprocessor | |
US20030237080A1 (en) | System and method for improved register allocation in an optimizing compiler | |
US8166321B2 (en) | Method and apparatus to adapt the clock rate of a programmable coprocessor for optimal performance and power dissipation | |
JP3567354B2 (en) | Multiprocessor system and instruction creation device | |
Xie et al. | System-level energy-aware design methodology towards end-to-end response time optimization | |
Norris et al. | An experimental study of several cooperative register allocation and instruction scheduling strategies | |
JPH0816871B2 (en) | Program translation device and program translation method | |
Yang et al. | Predictable execution adaptivity through embedding dynamic reconfigurability into static MPSoC schedules | |
Azhar et al. | Task-RM: a resource manager for energy reduction in task-parallel applications under quality of service constraints | |
Monot et al. | PASA: Framework for partitioning and scheduling automation applications on multicore controllers | |
Borin et al. | Dynamic power management under the run scheduling algorithm: a slack filling approach | |
Shehzad et al. | Threshold temperature scaling: Heuristic to address temperature and power issues in MPSoCs | |
Norris et al. | Experiences with cooperating register allocation and instruction scheduling | |
Narayanan et al. | Temperature-sensitive loop parallelization for chip multiprocessors | |
Takase et al. | An integrated framework for energy optimization of embedded real-time applications | |
Roy | Task and Message Co-scheduling Strategies in Real-time Cyber-Physical Systems | |
Cutcutache et al. | Fast, frequency‐based, integrated register allocation and instruction scheduling | |
Tosun et al. | Using Task Recomputation During Application Mapping in Parallel Embedded Architectures. | |
Xiao et al. | VLIW instruction scheduling for minimal power variation | |
Geisler et al. | Using Kernel Coupling to Improve the Performance of Multithreaded Applications. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040421 |
|
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: 20040602 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040603 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080625 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090625 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090625 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100625 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110625 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110625 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120625 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130625 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |