Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3570905B2 - Multiprocessor and multiprocessor control method - Google Patents
[go: Go Back, main page]

JP3570905B2 - Multiprocessor and multiprocessor control method - Google Patents

Multiprocessor and multiprocessor control method Download PDF

Info

Publication number
JP3570905B2
JP3570905B2 JP28415498A JP28415498A JP3570905B2 JP 3570905 B2 JP3570905 B2 JP 3570905B2 JP 28415498 A JP28415498 A JP 28415498A JP 28415498 A JP28415498 A JP 28415498A JP 3570905 B2 JP3570905 B2 JP 3570905B2
Authority
JP
Japan
Prior art keywords
processor
clock
unit
flag
processors
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
JP28415498A
Other languages
Japanese (ja)
Other versions
JP2000112559A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP28415498A priority Critical patent/JP3570905B2/en
Publication of JP2000112559A publication Critical patent/JP2000112559A/en
Application granted granted Critical
Publication of JP3570905B2 publication Critical patent/JP3570905B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Power Sources (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、マルチプロセッサに関し、特に、低消費電力を実現するマルチプロセッサに関する。
【0002】
【従来の技術】
従来より、マルチプロセッサは、複数のプロセッサを有し、複数の演算を並列して行うことができるため、処理速度の向上を図るために広く用いられている。
【0003】
【発明が解決しようとする課題】
しかしながら、上述したような従来のマルチプロセッサにおいては、システム全体の負荷が極めて小さな場合においても、全てのプロセッサ内のクロックがピーク時と同様に動作するため、動作休止状態(命令を実行していない)のプロセッサにおいて無駄な電力が消費されてしまうという問題点がある。
【0004】
近年においては、システム規模の大規模化が図られ、プロセッサの数が増加し、それにより、消費電力がさらに増大する傾向にある。
【0005】
一方、社会的には環境問題として消費電力の低減が大きく取り上げられ、装置規模が大きくなるのに反して消費電力を抑えることが求められている。
【0006】
そこで、バス接続のマルチプロセッサシステムにおいて、バス監視を行い電力制御をする方式があげられるが、バス監視装置を実現するためにはバスに接続される装置構成を考慮する必要があり、複雑なHWが必要となってしまう。
【0007】
本発明は、上述したような従来の技術が有する問題点に鑑みてなされたものであって、消費電力の低減を図ることができるマルチプロセッサを提供することを目的とする。
【0008】
【課題を解決するための手段】
上記目的を達成するために本発明は、プログラム実行時に発生するプロセスを処理する複数のプロセッサと、該複数のプロセッサにてプロセスが実行される際に必要となるデータを格納するメモリユニットと、前記複数のプロセッサと前記メモリユニットとをそれぞれ接続するネットワークユニットと、前記複数のプロセッサ及び前記メモリユニットに対してシステムに同期したクロックを供給するクロックジェネレータとを有してなるマルチプロセッサにおいて、前記複数のプロセッサのそれぞれは、前記プロセスを実行する命令の生成及び制御を行う命令実行制御部と、該命令実行制御部における実行命令停止時間をカウントする命令アイドルカウンタと、前記ネットワークユニットを介して他のプロセッサ及び前記メモリユニットとの間にてデータの送受信を行うとともに、前記命令アイドルカウンタにおけるカウント値が予め決められた値以上となった場合に、前記命令実行制御部が命令実行停止状態であることを示すフラグをプロセッサ状態フラグに設定し、前記ネットワークユニットを介してプロセス起動通知を受信した場合に前記プロセッサ状態フラグの前記フラグを解除するネットワークインタフェースユニットと、前記プロセッサ状態フラグの状態に基づいて、前記クロックジェネレータから供給されたクロックの前記ネットワークインタフェースユニットを除く当該プロセッサの構成要素に対する供給を制御するクロック分配制御部とを有することを特徴とする。
【0009】
また、前記クロック分配制御部は、前記プロセッサ状態フラグに前記フラグが設定されている場合、前記ネットワークインタフェースユニットを除く当該プロセッサの構成要素に対するクロックの供給を停止することを特徴とする。
【0010】
また、前記クロック分配制御部は、前記プロセッサ状態フラグに設定された前記フラグが解除された場合、当該プロセッサの構成要素に対するクロックの供給を再開することを特徴とする。
【0011】
また、プログラム実行時に発生するプロセスを処理する複数のプロセッサと、該複数のプロセッサにてプロセスが実行される際に必要となるデータを格納するメモリユニットと、前記複数のプロセッサと前記メモリユニットとをそれぞれ接続するネットワークユニットと、前記複数のプロセッサ及び前記メモリユニットに対してシステムに同期したクロックを供給するクロックジェネレータとを有してなるマルチプロセッサの制御方法において、実行命令停止時間が予め決められた時間以上となった場合、当該プロセッサが命令実行停止状態であることを示すフラグをプロセッサ状態フラグに設定し、当該プロセッサにて前記ネットワークユニットを介してプロセス起動通知が受信された場合に前記プロセッサ状態フラグの前記フラグを解除し、前記プロセッサ状態フラグにフラグが設定されている場合に当該プロセッサへのクロック供給を停止させることを特徴とする。
【0012】
また、前記プロセッサ状態フラグに前記フラグが設定されている場合、前記クロックジェネレータから供給されたクロックの当該プロセッサに対する供給を停止することを特徴とする。
【0013】
また、前記プロセッサ状態フラグに設定された前記フラグが解除された場合、前記クロックジェネレータから供給されたクロックの当該プロセッサに対する供給を再開することを特徴とする。
【0014】
(作用)
上記のように構成された本発明においては、マルチプロセッサシステムを構成する複数のプロセッサの各々において、自装置内の命令実行状態が監視されており、一定時間の連続した停止状態が検出された場合にプロセッサ内のクロックが停止されるので、動作休止状態のプロセッサにおいて無駄な電力が消費されてしまうことはない。
【0015】
【発明の実施の形態】
以下に、本発明の実施の形態について図面を参照して説明する。
【0016】
図1は、本発明のマルチプロセッサの実施の一形態を示すブロック図である。
【0017】
本形態は図1に示すように、プログラム実行時に発生するプロセスを処理する複数のプロセッサ1−1〜1−nと、プロセッサ1−1〜1−nにてプロセスが実行される際に必要となるデータを格納するメモリユニット2と、プロセッサ1−1〜1−nとメモリユニット2とをそれぞれ接続するネットワークユニット3と、プロセッサ1−1〜1−n及びメモリユニット2に対してシステムに同期したクロックを供給するクロックジェネレータ4とから構成されている。なお、ネットワークユニット3の形態については、本発明の本質ではないため、バス形式やクロスバ形式等のいずれの形態でも構わない。
【0018】
図2は、図1に示したプロセッサ1−mの構成を示すブロック図である。なお、プロセッサ1−1〜1−nにおいては全て同様の構成である。
【0019】
本形態におけるプロセッサ1−mは図2に示すように、オペレーティングシステム(以下、OSと称する)が割り付けた指定プロセスを実行する命令の生成及び制御を行う命令実行制御部11と、命令実行制御部11における実行命令停止時間をカウントする命令アイドルカウンタ12と、ネットワークユニット3を介して他のプロセッサ1−1〜1−nとの間及びプロセッサ1−mとメモリユニット2との間のデータを入出力するネットワークインタフェースユニット13と、プロセッサ1−m内のクロック動作状態を示すプロセッサ状態フラグ131と、プロセッサ状態フラグ131を監視し、自プロセッサ1−m内のサブユニットに供給するクロックを制御するクロック分配制御部14とを少なくとも有しており、さらに、Cache15及びVPU16が設けられている。
【0020】
なお、ネットワークインタフェースユニット13は、他プロセッサ1−1〜1−nまたはメモリユニット2に対してデータの送受信を行う。
【0021】
また、プロセッサ状態フラグ131は、命令アイドルカウンタ12から送されたプロセッサ休止状態報告と、ネットワークユニット3から受信するプロセス起動通知を参照し、プロセッサ1−m内のクロック動作状態をクロック分配制御部14に対して出力する。
【0022】
また、命令実行制御部11は、ネットワークインタフェースユニット13を介して受信したプロセス起動通知を参照し、OSが指定した任意のプロセスを実行する命令の生成及び実行制御を行う。
【0023】
また、命令アイドルカウンタ12は、命令実行制御部11から送信された命令実行状態を受信し、連続した命令実行停止時間をカウントする。一定時間命令実行停止状態が継続した場合、プロセッサ1−mがアイドル状態であると判断し、プロセッサ状態フラグ131に対してプロセッサ休止状態報告を送信する。
【0024】
また、クロック分配制御部14は、システム全体で同期したクロックをクロックジェネレータ4から受信し、プロセッサ状態フラグ131を参照し、プロセッサ1−m内の各サブユニットに対するクロックの分配制御を実施する。
【0025】
以下に、上記のように構成されたマルチプロセッサの動作について説明する。
【0026】
クロックジェネレータ4は、各ユニットに対して同期したクロックを送出する。複数のプロセッサ1−1〜1−nとメモリユニット2は、クロックジェネレータ4から出力されたクロックを受信し、該クロックに同期して動作する。
【0027】
OSは、プロセッサ1−1〜1−nが実行する複数のプロセスを管理する。プログラムの実行が開始されると、OSは該プログラムを構成するプロセス群のスケジューリングを行い、プロセッサ1−mに対してプロセスの割付を行う。なお、プロセッサに対するプロセス起動方式については、本発明の本質ではない。
【0028】
本形態においては、プロセス起動方式としてネットワークを介したプロセッサ間通信によるプロセス起動方法を例に挙げて説明する。
【0029】
OSにおいてプロセス群のスケジューリングが実施され、プロセッサ1−1〜1−nにプロセスが割り付けられると、ネットワークユニット3を介してプロセッサ1−mにプロセス起動通信データが送信される。
【0030】
プロセッサ1−mにてネットワークユニット3を介して送信されてきた自宛プロセス起動通信データが受信されると、プロセッサ1−mにおいて、プロセス起動通信データが参照されてプロセス処理が開始される。
【0031】
プロセス処理の完了後、プロセッサ1−mにおいて、一定時間内に自プロセッサ内において実行した命令がなかったことが検出されると、プロセッサ1−m内の一部のクロックが停止され、クロック停止状態に遷移する。
【0032】
その後、クロック停止状態にあるプロセッサ1−mにおいて、自宛プロセス起動通信データが受信された場合、プロセッサ内部の停止しているクロックパスが再活性化され、OSによって割り付けられたプロセスが実行される。
【0033】
次に、プロセッサ1−m内の動作について詳細に説明する。
【0034】
プログラムの実行が開始されると、OSにおいて発生プロセスに対してスケジューリングが実施され、発生プロセスがプロセッサ1−mに割り当てられる。
【0035】
プロセスの割り当てが完了すると、ネットワークユニット3を介してプロセッサ1−mに対してプロセス起動通信データが送信される。
【0036】
プロセッサ1−mに対して送信されたプロセス起動通信データは、プロセッサ1−m内のネットワークインタフェース13において受信される。
【0037】
プロセス起動通信データがネットワークインタフェース13にて受信されると、受信されたプロセス起動通信データが、ネットワークインタフェース13からプロセッサ1−m内の命令実行制御部11に対して送信される。
【0038】
ネットワークインタフェース13から送信されたプロセス起動通信データが命令実行制御部11にて受信されると、命令実行制御部11において、プロセス起動通信データにて指定されたメモリアドレスに対するデータロード要求がメモリユニット2に対して発行される。
【0039】
命令実行制御部11にて発行されたデータロード要求は、ネットワークインタフェースユニット13及びネットワークユニット3を介してメモリユニット2にて受信され、メモリユニット2において、該データロード要求にて指定されたアドレスに格納されたデータが抽出され、ネットワークユニット3を介してプロセッサ1−mに対して出力される。
【0040】
メモリユニット2から出力されたロードデータは、ネットワークユニット3及びネットワークインタフェースユニット13を介して命令実行制御部11にて受信され、命令実行制御部11において、受信したロードデータが参照され、OSにて割り付けられた指定プロセスが命令レベルで実行される。
【0041】
ここで、命令アイドルカウンタ12においては、命令実行制御部11における命令発行状態が監視されており、プロセッサ1−mにおける命令実行停止時間がカウントされる。
【0042】
プロセス完了後、次のプロセスが長時間発生しない場合、命令アイドルカウンタ12において、予め決められた一定回数の連続した命令実行停止時間が検出されると、プロセッサ1−mがアイドル状態にあると判断され、ネットワークインタフェースユニット13に対してアイドル状態通知データが出力される。
【0043】
命令アイドルカウンタ12から出力されたアイドル状態通知データがネットワークインタフェースユニット13にて受信されると、ネットワークインタフェースユニット13において、プロセッサ状態フラグ131がセットされる。なお、本形態においては、プロセッサ状態フラグ131がネットワークインタフェース12に設けられているが、プロセッサ状態フラグ131の位置においては、必ずしもネットワークインタフェースユニット13に設けられる必要はない。
【0044】
クロック分配制御部14においては、クロックジェネレータ4にて生成されたクロックが受信され、各プロセッサを構成するサブユニットへクロックの分配及び制御が行われる。
【0045】
ネットワークインタフェースユニット13に設けられたプロセッサ状態フラグ131がセットされた場合、クロック分配制御部14において、ネットワークインタフェースユニット13を除くサブユニット(本形態においては、命令実行制御部11、Cache15及びVPU16)のクロック分配経路に対して、クロックをHI状態(もしくはLO状態)で固定される。クロックが停止されたサブユニット内のメモリ/レジスタにおいては、クロックが固定された時点の状態が保持される。
【0046】
その後、新規プロセスが発生した場合、OSにおいて発生プロセスのスケジューリングが行われ、プロセッサ1−mに対してプロセス起動通信データが送信される。
【0047】
プロセッサ1−m内のネットワークインタフェースユニット13において、ネットワークユニット3を介して自宛プロセス起動通信データが受信される。
【0048】
プロセッサ1−mがクロック停止状態である場合、ネットワークインタフェースユニット13において、プロセス起動通信データが受信された時点でプロセッサ状態フラグ131がリセットされる。
【0049】
クロック分配制御部14においては、プロセッサ状態フラグ131が監視され、ホールドされていたクロックパスが活性化される。
【0050】
クロックが活性化されると、プロセス起動通信データがネットワークインタフェースユニット13から命令実行制御部11に対して送信される。
【0051】
ネットワークインタフェース13から送信されたプロセス起動通信データが命令実行制御部11にて受信されると、命令実行制御部11において、メモリユニット2に対して、プロセス起動通信データに示されたメモリアドレスに格納されたデータのロード要求が発行され、上述した動作と同様に指定プロセスの命令列が実行される。
【0052】
【発明の効果】
以上説明したように本発明においては、マルチプロセッサシステムを構成する複数のプロセッサの各々において、自装置内の命令実行状態が監視されており、一定時間の連続した停止状態が検出された場合にプロセッサ内のクロックが停止されるため、動作休止状態のプロセッサにおいて無駄な電力が消費されてしまうことはなく、消費電力の低減を図ることができる。
【0053】
近年採用されるテクノロジに多く見られるCMOS回路を採用した同期式回路においては、同期回路に供給するクロックを停止し、回路データを固定することによって、消費電力を削減することができる。
【0054】
また、マルチプロセッサシステムにおいて、比較的簡単な回路でプロセッサ単位に内部クロック動作を制御することにより、大規模なシステムにおいても繊細な消費電力制御を行うことができる。
【図面の簡単な説明】
【図1】本発明のマルチプロセッサの実施の一形態を示すブロック図である。
【図2】図1に示したプロセッサの構成を示すブロック図である。
【符号の説明】
1−1〜1−n プロセッサ
2 メモリユニット
3 ネットワークユニット
4 クロックジェネレータ
11 命令実行制御部
12 命令アイドルカウンタ
13 ネットワークインタフェースユニット
14 クロック分配制御部
15 Cache
16 VPU
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a multiprocessor, and more particularly, to a multiprocessor that achieves low power consumption.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, a multiprocessor has a plurality of processors and can perform a plurality of operations in parallel. Therefore, a multiprocessor is widely used to improve a processing speed.
[0003]
[Problems to be solved by the invention]
However, in the conventional multiprocessor as described above, even when the load on the entire system is extremely small, the clocks in all the processors operate in the same manner as at the peak, so that the operation is suspended (instructions are not executed). There is a problem that unnecessary power is consumed in the processor of (2).
[0004]
In recent years, the scale of the system has been increased, and the number of processors has increased, which has tended to further increase power consumption.
[0005]
On the other hand, socially, reduction of power consumption has been widely taken up as an environmental problem, and it has been required to suppress power consumption in spite of an increase in the scale of the device.
[0006]
Therefore, in a bus-connected multiprocessor system, there is a method of monitoring the bus and controlling the power. However, in order to realize a bus monitoring device, it is necessary to consider the configuration of the device connected to the bus, and a complicated HW is required. Is needed.
[0007]
The present invention has been made in view of the above-described problems of the conventional technology, and has as its object to provide a multiprocessor that can reduce power consumption.
[0008]
[Means for Solving the Problems]
In order to achieve the above object, the present invention provides a plurality of processors for processing a process generated when a program is executed, a memory unit for storing data required when the processes are executed by the plurality of processors, A multiprocessor including a network unit that connects each of the plurality of processors and the memory unit, and a clock generator that supplies a clock synchronized with a system to the plurality of processors and the memory unit; Each of the processors includes an instruction execution control unit that generates and controls an instruction for executing the process, an instruction idle counter that counts execution instruction stop time in the instruction execution control unit, and another processor via the network unit. And the memory unit At performs transmission and reception of data, when the count value in said instruction idle counter reaches a predetermined value or more, the flag indicating that the instruction execution control unit is an instruction execution stopped on the processor state flags A network interface unit that sets and releases the flag of the processor status flag when a process start notification is received via the network unit; and a clock supplied from the clock generator based on a status of the processor status flag. And a clock distribution control unit that controls supply to components of the processor except for the network interface unit .
[0009]
The clock distribution control unit may stop supplying a clock to components of the processor except the network interface unit when the flag is set in the processor state flag .
[0010]
Further, the clock distribution control unit restarts the supply of the clock to the components of the processor when the flag set in the processor state flag is released .
[0011]
Further, a plurality of processors for processing a process generated at the time of executing the program, a memory unit for storing data required when the processes are executed by the plurality of processors, and the plurality of processors and the memory unit. In a multiprocessor control method including a network unit connected to each of the plurality of processors and a clock generator that supplies a clock synchronized with a system to the plurality of processors and the memory unit, an execution instruction suspension time is predetermined. If the time is equal to or longer than the time, a flag indicating that the processor is in the instruction execution suspended state is set in the processor status flag, and when the processor receives a process start notification via the network unit, the processor status is set. releasing the flag in the flag , Characterized in that the clock supply to the processor is stopped when the flag to the processor state flag is set.
[0012]
Further, when the flag is set in the processor state flag, the supply of the clock supplied from the clock generator to the processor is stopped.
[0013]
When the flag set in the processor status flag is released, the supply of the clock supplied from the clock generator to the processor is restarted .
[0014]
(Action)
In the present invention configured as described above, in each of the plurality of processors constituting the multiprocessor system, the instruction execution state in the own device is monitored, and when a continuous stop state for a predetermined time is detected. Since the clock in the processor is stopped, unnecessary power is not consumed in the processor in the operation halt state.
[0015]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0016]
FIG. 1 is a block diagram showing an embodiment of the multiprocessor of the present invention.
[0017]
In this embodiment, as shown in FIG. 1, a plurality of processors 1-1 to 1-n for processing a process generated when a program is executed, and a plurality of processors 1-1 to 1-n are required when the processes are executed. A memory unit 2 for storing data, a network unit 3 for connecting the processors 1-1 to 1-n and the memory unit 2, respectively, and a system for synchronizing the processors 1-1 to 1-n and the memory unit 2 with the system. And a clock generator 4 for supplying the generated clock. Since the form of the network unit 3 is not the essence of the present invention, any form such as a bus form or a crossbar form may be used.
[0018]
FIG. 2 is a block diagram showing a configuration of the processor 1-m shown in FIG. The processors 1-1 to 1-n all have the same configuration.
[0019]
As shown in FIG. 2, the processor 1-m according to the present embodiment includes an instruction execution control unit 11 for generating and controlling an instruction for executing a designated process allocated by an operating system (hereinafter, referred to as an OS), and an instruction execution control unit. 11, an instruction idle counter 12 for counting the execution instruction stop time, and data between the other processors 1-1 to 1-n and between the processor 1-m and the memory unit 2 via the network unit 3. A network interface unit 13 for outputting, a processor status flag 131 indicating a clock operating state in the processor 1-m, and a clock for monitoring the processor status flag 131 and controlling a clock supplied to a subunit in the own processor 1-m And at least a distribution control unit 14. 5 and VPU16 are provided.
[0020]
The network interface unit 13 transmits and receives data to and from the other processors 1-1 to 1-n or the memory unit 2.
[0021]
The processor status flag 131 refers to the processor halt status report sent from the instruction idle counter 12 and the process start notification received from the network unit 3 to determine the clock operation status in the processor 1-m and the clock distribution control unit 14. Output to
[0022]
The instruction execution control unit 11 refers to the process start notification received via the network interface unit 13 and performs generation and execution control of an instruction for executing an arbitrary process specified by the OS.
[0023]
The instruction idle counter 12 receives the instruction execution state transmitted from the instruction execution control unit 11 and counts a continuous instruction execution stop time. When the instruction execution suspension state has continued for a certain period of time, the processor 1-m determines that the processor 1-m is in the idle state, and transmits a processor suspension state report to the processor state flag 131.
[0024]
Further, the clock distribution control unit 14 receives a clock synchronized in the entire system from the clock generator 4, refers to the processor state flag 131, and controls the distribution of the clock to each subunit in the processor 1-m.
[0025]
Hereinafter, the operation of the multiprocessor configured as described above will be described.
[0026]
The clock generator 4 sends a synchronized clock to each unit. The plurality of processors 1-1 to 1-n and the memory unit 2 receive the clock output from the clock generator 4, and operate in synchronization with the clock.
[0027]
The OS manages a plurality of processes executed by the processors 1-1 to 1-n. When the execution of the program is started, the OS performs scheduling of a group of processes constituting the program, and allocates a process to the processor 1-m. The process activation method for the processor is not the essence of the present invention.
[0028]
In the present embodiment, a process starting method by inter-processor communication via a network will be described as an example of a process starting method.
[0029]
When the scheduling of the process group is performed in the OS and the process is allocated to the processors 1-1 to 1-n, the process start communication data is transmitted to the processor 1-m via the network unit 3.
[0030]
When the processor 1-m receives the process start communication data addressed to itself transmitted via the network unit 3, the processor 1-m starts the process processing by referring to the process start communication data.
[0031]
After the completion of the process processing, when the processor 1-m detects that there is no instruction executed in the own processor within a predetermined time, a part of the clock in the processor 1-m is stopped, and the clock is stopped. Transitions to.
[0032]
Thereafter, when the processor 1-m in the clock stopped state receives the process start communication data addressed to itself, the stopped clock path inside the processor is reactivated, and the process allocated by the OS is executed. .
[0033]
Next, the operation in the processor 1-m will be described in detail.
[0034]
When the execution of the program is started, scheduling is performed on the generated process in the OS, and the generated process is assigned to the processor 1-m.
[0035]
When the process assignment is completed, process start communication data is transmitted to the processor 1-m via the network unit 3.
[0036]
The process start communication data transmitted to the processor 1-m is received by the network interface 13 in the processor 1-m.
[0037]
When the process start communication data is received by the network interface 13, the received process start communication data is transmitted from the network interface 13 to the instruction execution control unit 11 in the processor 1-m.
[0038]
When the process start communication data transmitted from the network interface 13 is received by the instruction execution control unit 11, the instruction execution control unit 11 sends a data load request for the memory address specified by the process start communication data to the memory unit 2. Issued for
[0039]
The data load request issued by the instruction execution control unit 11 is received by the memory unit 2 via the network interface unit 13 and the network unit 3 and is sent to the memory unit 2 at the address specified by the data load request. The stored data is extracted and output to the processor 1-m via the network unit 3.
[0040]
The load data output from the memory unit 2 is received by the instruction execution control unit 11 via the network unit 3 and the network interface unit 13, and the instruction execution control unit 11 refers to the received load data, and the OS executes The assigned process is executed at the instruction level.
[0041]
Here, in the instruction idle counter 12, the instruction issue state in the instruction execution control unit 11 is monitored, and the instruction execution stop time in the processor 1-m is counted.
[0042]
If the next process does not occur for a long time after the completion of the process, the processor 1-m is determined to be in an idle state when the instruction idle counter 12 detects a predetermined number of continuous instruction execution suspension times. Then, idle state notification data is output to the network interface unit 13.
[0043]
When the idle state notification data output from the instruction idle counter 12 is received by the network interface unit 13, the processor state flag 131 is set in the network interface unit 13. Although the processor status flag 131 is provided in the network interface 12 in the present embodiment, the processor status flag 131 is not necessarily provided in the network interface unit 13 at the position of the processor status flag 131.
[0044]
The clock distribution control unit 14 receives the clock generated by the clock generator 4, and distributes and controls the clock to the subunits constituting each processor.
[0045]
When the processor status flag 131 provided in the network interface unit 13 is set, in the clock distribution control unit 14, the sub-units (in the present embodiment, the instruction execution control unit 11, the Cache 15, and the VPU 16) except the network interface unit 13 are set. The clock is fixed in the HI state (or the LO state) with respect to the clock distribution path. In the memory / register in the sub-unit where the clock is stopped, the state at the time when the clock is fixed is held.
[0046]
Thereafter, when a new process occurs, scheduling of the generated process is performed in the OS, and process activation communication data is transmitted to the processor 1-m.
[0047]
The network interface unit 13 in the processor 1-m receives the process start communication data addressed to itself via the network unit 3.
[0048]
When the processor 1-m is in the clock stop state, the processor state flag 131 is reset in the network interface unit 13 when the process start communication data is received.
[0049]
In the clock distribution control unit 14, the processor state flag 131 is monitored, and the held clock path is activated.
[0050]
When the clock is activated, the process start communication data is transmitted from the network interface unit 13 to the instruction execution control unit 11.
[0051]
When the process start communication data transmitted from the network interface 13 is received by the instruction execution control unit 11, the instruction execution control unit 11 stores the data in the memory unit 2 at the memory address indicated in the process start communication data. The requested data load request is issued, and the instruction sequence of the designated process is executed in the same manner as the above-described operation.
[0052]
【The invention's effect】
As described above, in the present invention, in each of a plurality of processors constituting a multiprocessor system, an instruction execution state in the own apparatus is monitored, and when a continuous stop state for a predetermined time is detected, the processor Since the internal clock is stopped, useless power is not consumed in the processor in the operation halt state, and power consumption can be reduced.
[0053]
2. Description of the Related Art In a synchronous circuit employing a CMOS circuit, which is often used in recent technologies, power consumption can be reduced by stopping a clock supplied to the synchronous circuit and fixing circuit data.
[0054]
In a multiprocessor system, by controlling the internal clock operation for each processor with a relatively simple circuit, delicate power consumption control can be performed even in a large-scale system.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating an embodiment of a multiprocessor according to the present invention.
FIG. 2 is a block diagram illustrating a configuration of a processor illustrated in FIG. 1;
[Explanation of symbols]
1-1 to 1-n Processor 2 Memory unit 3 Network unit 4 Clock generator 11 Instruction execution control unit 12 Instruction idle counter 13 Network interface unit 14 Clock distribution control unit 15 Cache
16 VPU

Claims (5)

プログラム実行時に発生するプロセスを処理する複数のプロセッサと、該複数のプロセッサにてプロセスが実行される際に必要となるデータを格納するメモリユニットと、前記複数のプロセッサと前記メモリユニットとをそれぞれ接続するネットワークユニットと、前記複数のプロセッサ及び前記メモリユニットに対してシステムに同期したクロックを供給するクロックジェネレータとを有してなるマルチプロセッサにおいて、
前記複数のプロセッサのそれぞれは、
前記プロセスを実行する命令の生成及び制御を行う命令実行制御部と、
該命令実行制御部における実行命令停止時間をカウントする命令アイドルカウンタと、
前記ネットワークユニットを介して他のプロセッサ及び前記メモリユニットとの間にてデータの送受信を行うとともに、前記命令アイドルカウンタにおけるカウント値が予め決められた値以上となった場合に、前記命令実行制御部が命令実行停止状態であることを示すフラグをプロセッサ状態フラグに設定し、前記ネットワークユニットを介してプロセス起動通知を受信した場合に前記プロセッサ状態フラグの前記フラグを解除するネットワークインタフェースユニットと、
前記プロセッサ状態フラグの状態に基づいて、前記クロックジェネレータから供給されたクロックの前記ネットワークインタフェースユニットを除く当該プロセッサの構成要素に対する供給を制御するクロック分配制御部とを有することを特徴とするマルチプロセッサ。
A plurality of processors that process processes that occur during program execution, a memory unit that stores data required when the processes are executed by the plurality of processors, and a connection between the plurality of processors and the memory unit, respectively A multi-processor comprising a network unit and a clock generator that supplies a clock synchronized with a system to the plurality of processors and the memory unit.
Each of the plurality of processors,
An instruction execution control unit for generating and controlling instructions for executing the process;
An instruction idle counter for counting an execution instruction stop time in the instruction execution control unit;
While transmitting and receiving data to and from another processor and the memory unit via the network unit, when the count value in the instruction idle counter is equal to or greater than a predetermined value, the instruction execution control unit A network interface unit that sets a flag indicating that the instruction execution is stopped in the processor status flag, and releases the flag of the processor status flag when a process start notification is received via the network unit.
A multiprocessor comprising: a clock distribution controller configured to control supply of a clock supplied from the clock generator to components of the processor except the network interface unit based on a state of the processor state flag.
請求項1に記載のマルチプロセッサにおいて、
前記クロック分配制御部は、前記プロセッサ状態フラグに前記フラグが設定されている場合、前記ネットワークインタフェースユニットを除く当該プロセッサの構成要素に対するクロックの供給を停止することを特徴とするマルチプロセッサ。
The multiprocessor according to claim 1,
The multiprocessor according to claim 1, wherein the clock distribution control unit stops supplying a clock to components of the processor except the network interface unit when the processor status flag is set.
請求項2に記載のマルチプロセッサにおいて、
前記クロック分配制御部は、前記プロセッサ状態フラグに設定された前記フラグが解除された場合、当該プロセッサの構成要素に対するクロックの供給を再開することを特徴とするマルチプロセッサ。
The multiprocessor according to claim 2,
The multiprocessor according to claim 1, wherein the clock distribution control unit restarts supply of a clock to a component of the processor when the flag set in the processor state flag is released.
プログラム実行時に発生するプロセスを処理する複数のプロセッサと、該複数のプロセッサにてプロセスが実行される際に必要となるデータを格納するメモリユニットと、前記複数のプロセッサと前記メモリユニットとをそれぞれ接続するネットワークユニットと、前記複数のプロセッサ及び前記メモリユニットに対してシステムに同期したクロックを供給するクロックジェネレータとを有してなるマルチプロセッサの制御方法において、
前記複数のプロセッサのそれぞれは、その命令実行制御部における実行命令停止時間をカウントする命令アイドルカウンタと、ネットワークインタフェースユニットとを有し、
前記命令アイドルカウンタにおけるカウント値が予め決められた以上となった場合、ネットワークインタフェースユニットが、当該プロセッサが命令実行停止状態であることを示すフラグをプロセッサ状態フラグに設定し、当該プロセッサにて前記ネットワークユニットを介してプロセス起動通知を受信した場合に前記プロセッサ状態フラグの前記フラグを解除し、
前記プロセッサ状態フラグにフラグが設定されている場合にネットワークインタフェースユニットを除く当該プロセッサの構成要素に対するクロック供給を停止させることを特徴とするマルチプロセッサの制御方法。
A plurality of processors that process processes that occur during program execution, a memory unit that stores data required when the processes are executed by the plurality of processors, and a connection between the plurality of processors and the memory unit, respectively A multi-processor control method, comprising: a network unit that performs the operation and a clock generator that supplies a clock synchronized with a system to the plurality of processors and the memory unit.
Each of the plurality of processors has an instruction idle counter for counting an execution instruction stop time in the instruction execution control unit, and a network interface unit,
If the count value in the instruction idle counter is equal to or greater than a predetermined value , the network interface unit sets a flag indicating that the processor is in the instruction execution suspended state in a processor state flag, and the processor sets When the process start notification is received via the network unit, the flag of the processor state flag is released,
Control method for a multiprocessor, characterized in that stops the clock supply for the components of this the processor except for the network interface unit if the flag to the processor state flag is set.
請求項に記載のマルチプロセッサの制御方法において、
前記プロセッサ状態フラグに設定された前記フラグが解除された場合、前記クロックジェネレータから供給されたクロックの当該プロセッサに対する供給を再開することを特徴とするマルチプロセッサの制御方法。
The method for controlling a multiprocessor according to claim 4 ,
When the flag set in the processor status flag is released, the supply of the clock supplied from the clock generator to the processor is restarted.
JP28415498A 1998-10-06 1998-10-06 Multiprocessor and multiprocessor control method Expired - Fee Related JP3570905B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28415498A JP3570905B2 (en) 1998-10-06 1998-10-06 Multiprocessor and multiprocessor control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28415498A JP3570905B2 (en) 1998-10-06 1998-10-06 Multiprocessor and multiprocessor control method

Publications (2)

Publication Number Publication Date
JP2000112559A JP2000112559A (en) 2000-04-21
JP3570905B2 true JP3570905B2 (en) 2004-09-29

Family

ID=17674885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28415498A Expired - Fee Related JP3570905B2 (en) 1998-10-06 1998-10-06 Multiprocessor and multiprocessor control method

Country Status (1)

Country Link
JP (1) JP3570905B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4465598B2 (en) 2004-07-05 2010-05-19 ソニー株式会社 Integrated circuit, processing control method therefor, and program

Also Published As

Publication number Publication date
JP2000112559A (en) 2000-04-21

Similar Documents

Publication Publication Date Title
CN102073572B (en) For method for supervising and the system of polycaryon processor
EP2166457B1 (en) Interrupt controller and methods of operation
WO2013116751A1 (en) Dynamic power management in real-time systems
JPH04278612A (en) Method for controlling clock signal for processor and information processing system
CN102799212B (en) Global clock system for multi-core multi-processor parallel system, and application method thereof
JP7493871B2 (en) Electronic device and method for responding to a wake-up trigger - Patents.com
US20230113657A1 (en) Preemptive wakeup circuit for wakeup from low power modes
US20140006666A1 (en) Task scheduling method and multi-core system
CN116521324B (en) Interrupt virtualization processing method and device and electronic equipment
JP2008129846A (en) Data processing apparatus, data processing method and program
JP2014191655A (en) Multiprocessor, electronic control device, and program
JP3570905B2 (en) Multiprocessor and multiprocessor control method
JP5726006B2 (en) Task and resource scheduling apparatus and method, and control apparatus
CN100399278C (en) A Method of Reducing the Latency Caused by Garbage Collection in JAVA Virtual Machine
CN115220944A (en) A control method of watchdog applied to multi-core heterogeneous processors
CN107102582B (en) A kind of synchronous method and device of subsystem command
CN114691312B (en) Circuit, method and system for inter-chip communication
CN118833173A (en) Vehicle-mounted HPC power management method and system for central centralized architecture
CN118672743A (en) Deterministic task scheduling method, system and readable storage medium
CN109586978A (en) Bus topology network ad hoc network method
CN108427606B (en) Time slice management and control device for scheduling connection and information exchange of motion controller and servo shaft
JP3601895B2 (en) Multiprocessor system
CN121705046A (en) Thread synchronization methods, devices, processing units, and systems
JP3647481B2 (en) Microcontroller
CN113721703B (en) Clock synchronization control device, system and control method in multi-path CPU system

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040514

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040622

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070702

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080702

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090702

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100702

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110702

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110702

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120702

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees