JP5861496B2 - Multiprocessor device and power control method for multiprocessor device - Google Patents

Multiprocessor device and power control method for multiprocessor device Download PDF

Info

Publication number
JP5861496B2
JP5861496B2 JP2012042459A JP2012042459A JP5861496B2 JP 5861496 B2 JP5861496 B2 JP 5861496B2 JP 2012042459 A JP2012042459 A JP 2012042459A JP 2012042459 A JP2012042459 A JP 2012042459A JP 5861496 B2 JP5861496 B2 JP 5861496B2
Authority
JP
Japan
Prior art keywords
unit
processor
memory
power
control unit
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
JP2012042459A
Other languages
Japanese (ja)
Other versions
JP2013178675A (en
Inventor
宏政 高橋
宏政 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012042459A priority Critical patent/JP5861496B2/en
Publication of JP2013178675A publication Critical patent/JP2013178675A/en
Application granted granted Critical
Publication of JP5861496B2 publication Critical patent/JP5861496B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

本発明は、マルチプロセッサ装置、及びマルチプロセッサ装置の電力制御方法に関する。   The present invention relates to a multiprocessor device and a power control method for the multiprocessor device.

従来、双方向に通信を行う複数のプロセッサを有するマルチプロセッサ装置が知られている。マルチプロセッサ装置では、電力消費の増大が問題となっており、電力消費を低減することへの要求が大きい。各プロセッサが有するプロセッサコアやCPU等における電力消費は、例えば搭載されるOS(オペレーティングシステム)が電力ステートを変更することで、低減することができる。一方、プロセッサコアやCPU以外の部分の電力制御は比較的困難である。   Conventionally, a multiprocessor device having a plurality of processors that perform bidirectional communication is known. In a multiprocessor device, an increase in power consumption is a problem, and there is a great demand for reducing power consumption. The power consumption of the processor core, CPU, and the like included in each processor can be reduced, for example, when the installed OS (operating system) changes the power state. On the other hand, power control of parts other than the processor core and CPU is relatively difficult.

パワーマネジメント制御を行うHDDコントローラが知られている。このHDDコントローラでは、CPUが、HDDへのライト命令を書き込むコマンドレジスタにライトアクセスすると、コマンドレジスタライト監視部が、パワーマネジメント制御部へアクセス情報を伝達する。また、転送終了監視部が、所定の状態のときにパワーマネジメント制御部へHDDへの転送終了情報を伝達する。パワーマネジメント制御部は、転送終了信号を受信するとインターフェースに対してパワーマネジメントモードへ移行させる命令を出し、コマンドレジスタライト監視部からアクセス情報を受信するとパワーマネジメントモードから通常モードへの復帰命令を出す。   An HDD controller that performs power management control is known. In the HDD controller, when the CPU performs write access to a command register for writing a write command to the HDD, the command register write monitoring unit transmits access information to the power management control unit. In addition, the transfer end monitoring unit transmits transfer end information to the HDD to the power management control unit in a predetermined state. When receiving the transfer end signal, the power management control unit issues a command to shift to the power management mode for the interface, and when receiving access information from the command register write monitoring unit, issues a command to return from the power management mode to the normal mode.

特開2008−293476号公報JP 2008-293476 A

しかしながら、上記従来のHDDコントローラは、双方向に通信を行う複数のプロセッサを有するマルチプロセッサ装置を対象としていない。このため、上記従来のHDDコントローラは、双方向に通信を行う複数のプロセッサを有するマルチプロセッサ装置において、通信インターフェースの電力制御を適切に行うことができない。   However, the conventional HDD controller is not intended for a multiprocessor device having a plurality of processors that perform bidirectional communication. Therefore, the conventional HDD controller cannot appropriately control the power of the communication interface in a multiprocessor device having a plurality of processors that perform bidirectional communication.

一つの側面では、本発明は、双方向に通信を行う複数のプロセッサを備えるマルチプロセッサ装置において、通信インターフェースを省電力且つ適切に作動させることを目的とする。   In one aspect, an object of the present invention is to operate a communication interface in a multiprocessor apparatus including a plurality of processors that perform bidirectional communication, and to appropriately operate a communication interface.

本発明の一態様は、
複数のプロセッサが双方向に通信を行うマルチプロセッサ装置であって、
前記複数のプロセッサに含まれるプロセッサは、
電力供給がされた状態に維持され、プロセッサ外部からデータを受信する受信部と、
プロセッサ外部にデータを送信する送信部と、
前記送信部がプロセッサ外部にデータを送信する場合に前記送信部への電力供給が行われ、前記送信部がプロセッサ外部にデータを送信しない場合に前記送信部への電力供給が遮断されるように制御する電力制御部と、
を備え
前記各プロセッサは、命令を実行する実行部と、該実行部によってアクセスされるメモリを制御するメモリ制御部と、を備え、
前記電力制御部は、前記実行部がメモリ空間にアクセスする際に生成する信号と、前記メモリ制御部が所定の場合に生成する信号とに基づいて、前記送信部への電力供給を行うか否かを決定する、マルチプロセッサ装置である。
One embodiment of the present invention provides:
A multiprocessor device in which a plurality of processors communicate bidirectionally,
The processors included in the plurality of processors are:
A receiving unit that is maintained in a power-supplied state and receives data from outside the processor;
A transmitter for transmitting data to the outside of the processor;
Power is supplied to the transmitter when the transmitter transmits data to the outside of the processor, and power supply to the transmitter is interrupted when the transmitter does not transmit data to the outside of the processor. A power control unit to control;
Equipped with a,
Each of the processors includes an execution unit that executes an instruction, and a memory control unit that controls a memory accessed by the execution unit,
Whether the power control unit supplies power to the transmission unit based on a signal generated when the execution unit accesses the memory space and a signal generated when the memory control unit is predetermined. It is a multiprocessor device that determines whether or not .

一実施態様によれば、双方向に通信を行う複数のプロセッサを備えるマルチプロセッサ装置において、通信インターフェースを省電力且つ適切に作動させることができる。   According to one embodiment, in a multiprocessor device including a plurality of processors that perform bidirectional communication, the communication interface can be operated with power saving and appropriately.

本発明の一実施例に係るマルチプロセッサ装置1の全体構成例である。1 is an overall configuration example of a multiprocessor device 1 according to an embodiment of the present invention. マルチコアプロセッサチップ10のハードウェア構成例である。2 is a hardware configuration example of a multi-core processor chip 10. マルチコアプロセッサチップ間の通信接続に関するハードウェア構成を示す図である。It is a figure which shows the hardware constitutions regarding the communication connection between multi-core processor chips. 電源回路30による制御の流れを示すフローチャートの一例である。3 is an example of a flowchart showing a flow of control by a power supply circuit 30. Tx部アクティブ化信号生成部32がTx部アクティブ化信号を生成する処理を説明するための説明図である。It is explanatory drawing for demonstrating the process in which the Tx part activation signal generation part 32 produces | generates a Tx part activation signal. L3キャッシュコントローラ部36が保持するテーブルデータ36Aの一例である。It is an example of table data 36A held by the L3 cache controller unit 36.

以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。   DESCRIPTION OF EMBODIMENTS Hereinafter, embodiments for carrying out the present invention will be described with reference to the accompanying drawings.

以下、図面を参照し、本発明の一実施例に係るマルチプロセッサ装置、及びその電力制御方法について説明する。   Hereinafter, a multiprocessor device and a power control method thereof according to an embodiment of the present invention will be described with reference to the drawings.

図1は、本発明の一実施例に係るマルチプロセッサ装置1の全体構成例である。マルチプロセッサ装置1は、マルチコアプロセッサチップ10#0、10#1、10#2、10#3を備える。各マルチコアプロセッサチップ同士は、シリアル通信線50によって双方向に通信を行うことができる。また、各マルチコアプロセッサチップは、それぞれDIMM(Dual Inline Memory Module)40#0、40#1、40#2、40#3に接続されている。各DIMMは、複数のDRAM(Dynamic Random Access Memory)チップをプリント基板上に搭載したメモリモジュールであり、各マルチコアプロセッサチップのメインメモリとして機能する。以下、いずれのマルチコアプロセッサチップであるかを区別しないときは、単にマルチコアプロセッサチップ10と表記して説明する。   FIG. 1 is an overall configuration example of a multiprocessor device 1 according to an embodiment of the present invention. The multiprocessor device 1 includes multicore processor chips 10 # 0, 10 # 1, 10 # 2, and 10 # 3. Each multi-core processor chip can communicate bidirectionally via the serial communication line 50. Each multi-core processor chip is connected to a DIMM (Dual Inline Memory Module) 40 # 0, 40 # 1, 40 # 2, and 40 # 3, respectively. Each DIMM is a memory module in which a plurality of DRAM (Dynamic Random Access Memory) chips are mounted on a printed circuit board, and functions as a main memory of each multi-core processor chip. Hereinafter, when it is not distinguished which multi-core processor chip, it will be described simply as the multi-core processor chip 10.

図2は、マルチコアプロセッサチップ10のハードウェア構成例である。マルチコアプロセッサチップ10は、コア11(0)、11(1)、11(2)、11(3)と、コア間結合網20と、DDRコントローラ22、23と、DDRメモリインターフェース24、25と、最下位のキャッシュメモリであるL3キャッシュ26とを備える。   FIG. 2 is a hardware configuration example of the multi-core processor chip 10. The multi-core processor chip 10 includes cores 11 (0), 11 (1), 11 (2), 11 (3), an inter-core connection network 20, DDR controllers 22, 23, DDR memory interfaces 24, 25, And an L3 cache 26 which is the lowest cache memory.

コア11(0)、11(1)、11(2)、11(3)は、それぞれL1キャッシュ13(0)、13(1)、13(2)、13(3)と、L2キャッシュ14(0)、14(1)、14(2)、14(3)とを備える。また、各コアは、命令を実行するための各種演算器、LSU(Load Store Unit)等を有する。以下、コア11(0)、11(1)、11(2)、11(3)を、プロセッサコア部11と総称する。   The cores 11 (0), 11 (1), 11 (2), and 11 (3) are respectively connected to the L1 caches 13 (0), 13 (1), 13 (2), and 13 (3), and the L2 cache 14 ( 0), 14 (1), 14 (2), and 14 (3). Each core includes various arithmetic units for executing instructions, an LSU (Load Store Unit), and the like. Hereinafter, the cores 11 (0), 11 (1), 11 (2), and 11 (3) are collectively referred to as the processor core unit 11.

コア間結合網20は、各コア間を接続する。DDRコントローラ22、23とDDRメモリインターフェース24、25は、マルチコアプロセッサチップ10に対応するDIMMと間のインターフェースとして機能する。   The inter-core connection network 20 connects the cores. The DDR controllers 22 and 23 and the DDR memory interfaces 24 and 25 function as an interface between the DIMM corresponding to the multi-core processor chip 10.

また、マルチコアプロセッサチップ10は、プロセッサ間通信インターフェース28(0)、28(1)、28(2)、28(3)を備える。プロセッサ間通信インターフェース28(0)、28(1)、28(2)は、例えば、他のマルチコアプロセッサチップ10との間を接続するシリアル通信線50に、それぞれ接続される。また、プロセッサ間通信インターフェース28(3)は、例えば、HDD(Hard Disk Drive)やPCI Express等に接続するための図示しないI/Oハブに接続される。以下、いずれのプロセッサ間通信インターフェースであるかを区別しないときは、単にプロセッサ間通信インターフェース28と表記して説明する。   The multi-core processor chip 10 includes inter-processor communication interfaces 28 (0), 28 (1), 28 (2), and 28 (3). The inter-processor communication interfaces 28 (0), 28 (1), and 28 (2) are connected to, for example, serial communication lines 50 that connect to other multi-core processor chips 10. The inter-processor communication interface 28 (3) is connected to an I / O hub (not shown) for connecting to, for example, an HDD (Hard Disk Drive), a PCI Express, or the like. Hereinafter, when it is not distinguished which inter-processor communication interface, it will be described simply as the inter-processor communication interface 28.

図3は、マルチコアプロセッサチップ間の通信接続に関するハードウェア構成を示す図である。本図は、マルチコアプロセッサチップ10#0とマルチコアプロセッサチップ10#1との間の通信接続に関する構成を示している。   FIG. 3 is a diagram illustrating a hardware configuration related to communication connection between multi-core processor chips. This figure shows a configuration related to communication connection between the multi-core processor chip 10 # 0 and the multi-core processor chip 10 # 1.

各マルチコアプロセッサチップのプロセッサ間通信インターフェース28は、Tx部28Aと、Rx部28Bとを有する。マルチコアプロセッサチップ10#0のTx部28Aはマルチコアプロセッサチップ10#1のRx部28Bとシリアル通信線50を介して接続される。マルチコアプロセッサチップ10#0のTx部28Aはマルチコアプロセッサチップ10#1のRx部28Bとシリアル通信線50を介して接続される。シリアル通信線50のRx部側は、終端抵抗Rを介してグランド端子等に接続される。   The inter-processor communication interface 28 of each multi-core processor chip has a Tx portion 28A and an Rx portion 28B. The Tx unit 28A of the multicore processor chip 10 # 0 is connected to the Rx unit 28B of the multicore processor chip 10 # 1 via the serial communication line 50. The Tx unit 28A of the multicore processor chip 10 # 0 is connected to the Rx unit 28B of the multicore processor chip 10 # 1 via the serial communication line 50. The Rx portion side of the serial communication line 50 is connected to a ground terminal or the like via a termination resistor R.

各マルチコアプロセッサチップのTx部28Aは、例えば送信バッファ28Aa、IOバッファ28Ab等を有する。また、各マルチコアプロセッサチップのRx部28Bは、例えば受信バッファ28Aa、IOバッファ28Ab等を有する。   The Tx unit 28A of each multi-core processor chip includes, for example, a transmission buffer 28Aa, an IO buffer 28Ab, and the like. Further, the Rx unit 28B of each multi-core processor chip includes, for example, a reception buffer 28Aa, an IO buffer 28Ab, and the like.

プロセッサ間通信インターフェース28には、電源29から電力が供給される。プロセッサ間通信インターフェース28のRx部28Bには、電源29が起動している間、すなわちマルチプロセッサ装置1が起動している間、定常的に電力が供給される。このため、Rx部28Bは、他ノードが送信したデータを漏らさずに受信することができる。   Power is supplied from the power source 29 to the inter-processor communication interface 28. Power is steadily supplied to the Rx unit 28B of the inter-processor communication interface 28 while the power supply 29 is activated, that is, while the multiprocessor device 1 is activated. For this reason, the Rx unit 28B can receive the data transmitted by other nodes without leaking.

一方、プロセッサ間通信インターフェース28のTx部28Aには、電源回路30によって電力供給のオン/オフ制御が行われる。図4は、電源回路30による制御の流れを示すフローチャートの一例である。電源回路30は、まず、Tx部アクティブ化信号が入力されているか否かを判定する(S100)。Tx部アクティブ化信号が入力されている場合、電源回路30は、Tx部28Aに電力を供給する(S102)。Tx部アクティブ化信号が入力されていない場合、電源回路30は、送信バッファ28Aaに送信データがあるか否かを判定する(S104)。送信バッファ28Aaに送信データがある場合、電源回路30は、Tx部28Aに電力を供給する(S102)。電源回路30は、Tx部アクティブ化信号が入力されておらず、且つ送信バッファ28Aaに送信データが無い場合、Tx部28Aへの電力供給を遮断する(S106)。   On the other hand, power supply on / off control is performed by the power supply circuit 30 on the Tx portion 28A of the inter-processor communication interface 28. FIG. 4 is an example of a flowchart showing the flow of control by the power supply circuit 30. The power supply circuit 30 first determines whether or not the Tx unit activation signal is input (S100). When the Tx unit activation signal is input, the power supply circuit 30 supplies power to the Tx unit 28A (S102). When the Tx unit activation signal is not input, the power supply circuit 30 determines whether there is transmission data in the transmission buffer 28Aa (S104). When there is transmission data in the transmission buffer 28Aa, the power supply circuit 30 supplies power to the Tx unit 28A (S102). If the Tx unit activation signal is not input and there is no transmission data in the transmission buffer 28Aa, the power supply circuit 30 cuts off the power supply to the Tx unit 28A (S106).

Tx部アクティブ化信号生成部32は、マルチコアプロセッサチップ内の各構成要素が生成する制御信号に基づいて、Tx部アクティブ化信号を生成し電源回路30に出力する。以下、これにTx部アクティブ化信号の生成手法について説明する。   The Tx unit activation signal generation unit 32 generates a Tx unit activation signal based on a control signal generated by each component in the multi-core processor chip and outputs it to the power supply circuit 30. Hereinafter, a method for generating the Tx portion activation signal will be described.

図5は、Tx部アクティブ化信号生成部32がTx部アクティブ化信号を生成する処理を説明するための説明図である。Tx部アクティブ化信号生成部32には、プロセッサコア部11から信号A、Bが、Rxリード信号生成部34から信号Eが、L3キャッシュ26を制御するL3キャッシュコントローラ部36から信号C、Dが、それぞれ入力される。また、プロセッサコア部11からL3キャッシュコントローラ部36には信号Fが入力される。   FIG. 5 is an explanatory diagram for explaining a process in which the Tx unit activation signal generation unit 32 generates a Tx unit activation signal. The Tx unit activation signal generator 32 receives signals A and B from the processor core unit 11, signals E from the Rx read signal generator 34, and signals C and D from the L3 cache controller 36 that controls the L3 cache 26. , Respectively. Further, the signal F is input from the processor core unit 11 to the L3 cache controller unit 36.

信号Aは、プロセッサコア部11が、自ノードすなわち当該マルチコアプロセッサチップに接続されたDIMM以外のメモリ空間にアクセスする際に生成する、他ノードメモリ空間アクセス信号である。以下、他のマルチコアプロセッサチップのことを、「他ノード」と称する。自ノードに接続されたDIMM以外のメモリ空間とは、例えば他ノードに接続されたDIMM、及びI/Oハブに接続されたHDDやPCI Express等を示すメモリ空間である。   The signal A is an other-node memory space access signal generated when the processor core unit 11 accesses a memory space other than the DIMM connected to its own node, that is, the multi-core processor chip. Hereinafter, other multi-core processor chips are referred to as “other nodes”. The memory space other than the DIMM connected to the own node is a memory space indicating, for example, a DIMM connected to another node, an HDD connected to the I / O hub, a PCI Express, or the like.

信号Bは、プロセッサコア部11が、ノンキャッシャブル空間にアクセスする際に生成する、ノンキャッシャブル空間アクセス信号である。ノンキャッシャブル空間とは、例えば、I/Oハブに接続されたHDDやPCI Express等を示すメモリ空間である。   The signal B is a non-cacheable space access signal generated when the processor core unit 11 accesses the non-cacheable space. The non-cacheable space is a memory space indicating, for example, an HDD or a PCI Express connected to an I / O hub.

信号Cは、プロセッサコア部11からロード/ストアアクセス信号である信号Fが入力されるのに応じて、L3キャッシュコントローラ部36がL3キャッシュ26を探索した結果、キャッシュミスが生じた際に出力されるL3キャッシュミス信号である。   The signal C is output when a cache miss occurs as a result of the L3 cache controller 36 searching the L3 cache 26 in response to the input of the signal F, which is a load / store access signal, from the processor core unit 11. L3 cache miss signal.

信号Dは、L3キャッシュコントローラ部36がL3キャッシュ26を更新した際に生成される他ノードキャッシュ一貫性保持要求信号である。L3キャッシュコントローラ部36は、例えばテーブルデータ36Aを参照し、他ノードキャッシュ一貫性保持要求信号を生成する。図6は、L3キャッシュコントローラ部36が保持するテーブルデータ36Aの一例である。テーブルデータ36Aは、例えば他ノードに当該データを転送したか否かを示すフラグ1、及び自ノードのDIMM40に対してL3キャッシュ26に格納されたデータが新しいか否かを示すフラグ2が、DIMM40のアドレスに対応付けられたデータである。L3キャッシュコントローラ部36は、L3キャッシュ26に格納されたデータの一部を更新すると、該当するデータを含むキャッシュラインに対応付けられたフラグ1を参照し、当該データを転送済であることが判明すると、他ノードキャッシュ一貫性保持要求信号を他ノードに送信する。他ノードキャッシュ一貫性保持要求信号は、より具体的には、他ノードが有するL3キャッシュ26に格納された該当するデータを含むキャッシュラインを無効化することを要求する信号である。なお、フラグ2は、所望のタイミングでL3キャッシュ26に格納されたデータをDIMM40に書き込む際に参照される。すなわち、フラグ2がオンになっていれば、L3キャッシュ26に格納されたデータがDIMM40に格納されたデータよりも新しいことが分かるため、L3キャッシュコントローラ部36は、例えば該当するデータを含むキャッシュラインが置き換えられる場合や無効化される場合には、該当するデータをDIMM40に書き込む。   The signal D is an other node cache coherency maintenance request signal generated when the L3 cache controller unit 36 updates the L3 cache 26. The L3 cache controller unit 36 refers to, for example, the table data 36A, and generates another node cache consistency holding request signal. FIG. 6 is an example of table data 36A held by the L3 cache controller unit 36. The table data 36A includes, for example, a flag 1 indicating whether or not the data has been transferred to another node, and a flag 2 indicating whether or not the data stored in the L3 cache 26 is new to the DIMM 40 of the local node. The data associated with the address. When the L3 cache controller unit 36 updates a part of the data stored in the L3 cache 26, the L3 cache controller unit 36 refers to the flag 1 associated with the cache line including the corresponding data and finds that the data has been transferred. Then, another node cache consistency maintaining request signal is transmitted to another node. More specifically, the other node cache consistency maintaining request signal is a signal requesting that the cache line including the corresponding data stored in the L3 cache 26 of the other node is invalidated. The flag 2 is referred to when writing data stored in the L3 cache 26 to the DIMM 40 at a desired timing. That is, if the flag 2 is turned on, it can be seen that the data stored in the L3 cache 26 is newer than the data stored in the DIMM 40, so that the L3 cache controller unit 36, for example, When is replaced or invalidated, the corresponding data is written to the DIMM 40.

信号Eは、他ノードから自ノードへのデータアクセスのうち、他ノードからのリードアクセスがあったときに、Rxリード信号生成部34により生成される。   The signal E is generated by the Rx read signal generation unit 34 when there is a read access from another node in the data access from the other node to the own node.

Tx部アクティブ化信号生成部32は、これらの信号に基づいて、Tx部アクティブ化信号Gを生成し出力する。式(1)は、Tx部アクティブ化信号生成部32が信号Gを生成する条件を示す論理式である。   The Tx part activation signal generator 32 generates and outputs a Tx part activation signal G based on these signals. Expression (1) is a logical expression indicating a condition for the Tx unit activation signal generation unit 32 to generate the signal G.

信号G = 信号A AND (信号B OR 信号C) OR 信号D OR 信号E …(1)
信号Aは、プロセッサコア部11が他ノードのメモリ空間へアクセスする際に生成される信号であるが、他ノードのメモリ空間に格納されたアクセス先のデータがL3キャッシュ26に格納されている場合、実際には他ノードへのデータアクセスは生じない。一方、信号Bはノンキャッシャブル空間アクセス信号であり、信号CはL3キャッシュミス信号であるため、いずれもL3キャッシュ26に該当するデータが存在しないことを示している。
Signal G = Signal A AND (Signal B OR Signal C) OR Signal D OR Signal E (1)
The signal A is a signal generated when the processor core unit 11 accesses the memory space of the other node, but the access destination data stored in the memory space of the other node is stored in the L3 cache 26. Actually, data access to other nodes does not occur. On the other hand, since the signal B is a non-cacheable space access signal and the signal C is an L3 cache miss signal, it indicates that none of the data corresponding to the L3 cache 26 exists.

従って、「信号A AND (信号B OR 信号C)」という論理和は、プロセッサコア部11が他ノードのメモリ空間へ「実際に」アクセスすることを示しており、この論理和を満たす場合には、Tx部アクティブ化信号Gが生成される。   Accordingly, the logical sum “signal A AND (signal B OR signal C)” indicates that the processor core unit 11 “actually” accesses the memory space of another node. , A Tx portion activation signal G is generated.

また、信号Dは、L3キャッシュコントローラ部36が他ノードに送信する他ノードキャッシュ一貫性保持要求信号であるため、他ノードへのデータ送信が実際に行われる。従って、信号Dが入力された場合には、Tx部アクティブ化信号Gが生成される。   Further, since the signal D is an other-node cache coherency maintenance request signal transmitted to the other node by the L3 cache controller unit 36, data transmission to the other node is actually performed. Therefore, when the signal D is input, the Tx portion activation signal G is generated.

また、信号Eは、他ノードからのリードアクセスがあったときに生成される信号であるため、アクセス先に格納されたデータを他ノードに返信するためのデータ送信が実際に行われる。従って、信号Eが入力された場合には、Tx部アクティブ化信号Gが生成される。   Further, since the signal E is a signal generated when there is a read access from another node, data transmission for returning the data stored in the access destination to the other node is actually performed. Therefore, when the signal E is input, the Tx portion activation signal G is generated.

Tx部アクティブ化信号生成部32は、入力された制御信号に基づいて、Tx部28Aが実際に他ノードへのデータ送信を行う場面であるか否かを正確に判別し、Tx部アクティブ化信号Gを生成することができる。また、Tx部アクティブ化信号生成部32は、制御信号に対する論理和に基づいてTx部アクティブ化信号Gを生成するため、複雑なソフトウェアを使用することなく実用化される。より具体的には、Tx部アクティブ化信号生成部32は、マルチコアプロセッサチップ10に搭載されたOS等のソフトウェアを改版することなく実用化される。   Based on the input control signal, the Tx unit activation signal generation unit 32 accurately determines whether or not the Tx unit 28A is actually transmitting data to another node, and the Tx unit activation signal G can be generated. Further, since the Tx unit activation signal generation unit 32 generates the Tx unit activation signal G based on the logical sum with respect to the control signal, it is put into practical use without using complicated software. More specifically, the Tx unit activation signal generation unit 32 is put into practical use without revising software such as an OS mounted on the multi-core processor chip 10.

(Tx部アクティブ化信号Gを生成する論理和の他の例)
ところで、マルチプロセッサ装置の構成として、SMP(Symmetric Multi-Processor)構成が知られている。SMP構成を採用したマルチプロセッサ装置では、自ノードメモリ空間と他ノードメモリ空間はソフトウェア上、区別されないため、プロセッサコア部が信号Aを生成できない場合がある。この場合、Tx部アクティブ化信号生成部32は、上式(1)に代えて、次式(2)を用いてTx部アクティブ化信号Gを生成する。
(Another example of the logical sum for generating the Tx portion activation signal G)
By the way, an SMP (Symmetric Multi-Processor) configuration is known as a configuration of a multiprocessor device. In the multiprocessor device adopting the SMP configuration, the own node memory space and the other node memory space are not distinguished in software, and therefore the processor core unit may not be able to generate the signal A. In this case, the Tx unit activation signal generation unit 32 generates the Tx unit activation signal G using the following equation (2) instead of the above equation (1).

信号G = 信号B OR 信号C OR 信号D OR 信号E …(2)
こうすれば、「プロセッサコア部11が自ノードのDIMM40にアクセスしようとしてキャッシュミスが生じた」場合にも信号Gが生成されることになり、この場合についてはTx部28Aへの不要な電力供給がなされることになる。しかしながら、その他の場合に関してはTx部28Aが実際に他ノードへのデータ送信を行う場面であるか否かを正確に判別することができるため、上式(2)を採用したマルチプロセッサ装置は、十分な実用性を備えている。
Signal G = Signal B OR Signal C OR Signal D OR Signal E (2)
By doing so, the signal G is also generated when the processor core unit 11 tries to access the DIMM 40 of its own node and a cache miss occurs. In this case, unnecessary power supply to the Tx unit 28A is performed. Will be made. However, in other cases, since it is possible to accurately determine whether or not the Tx unit 28A is actually transmitting data to another node, the multiprocessor device adopting the above equation (2) It has sufficient practicality.

一方、マルチプロセッサ装置がccNUMA(Cache coherent Non-Uniformed Memory Access)アーキテクチャと称される構成を採用している場合は、自ノードメモリ空間と他ノードメモリ空間は明確に区別される。この場合、プロセッサコア部が信号Aを容易に生成することができる。従って、ccNUMAを採用したマルチプロセッサ装置は、上式(1)を採用することができ、SMP構成を採用したマルチプロセッサ装置よりも電力消費を低減することができる。   On the other hand, when the multiprocessor device adopts a configuration called a ccNUMA (Cache coherent Non-Uniformed Memory Access) architecture, the own node memory space and the other node memory space are clearly distinguished. In this case, the processor core unit can easily generate the signal A. Therefore, the multiprocessor device adopting ccNUMA can adopt the above equation (1), and can reduce power consumption as compared with the multiprocessor device adopting the SMP configuration.

以上説明した本実施例のマルチプロセッサ装置、及びその電力制御方法によれば、Tx部アクティブ化信号生成部32が、入力された制御信号に基づいて、Tx部28Aが実際に他ノードへのデータ送信を行う場面であるか否かを正確に判別することができる。   According to the multiprocessor device and its power control method of the present embodiment described above, the Tx unit activation signal generation unit 32 uses the Tx unit 28A to actually send data to other nodes based on the input control signal. It is possible to accurately determine whether or not it is a scene where transmission is performed.

そして、Tx部アクティブ化信号に基づいて電源回路30がTx部28Aへの電力供給のオン/オフ制御を行うため、Tx部28Aの電力消費を低減することができる。   Since the power supply circuit 30 performs on / off control of power supply to the Tx unit 28A based on the Tx unit activation signal, the power consumption of the Tx unit 28A can be reduced.

また、プロセッサ間通信インターフェース28のRx部28Bには、電源29が起動している間、すなわちマルチプロセッサ装置が起動している間、定常的に電力が供給される。このため、Rx部28Bは、他ノードが送信したデータを漏らさずに受信することができる。   Further, power is constantly supplied to the Rx unit 28B of the inter-processor communication interface 28 while the power supply 29 is activated, that is, while the multiprocessor device is activated. For this reason, the Rx unit 28B can receive the data transmitted by other nodes without leaking.

これらの結果、本実施例のマルチプロセッサ装置は、通信インターフェース28を省電力且つ適切に作動させることができる。   As a result, the multiprocessor device of the present embodiment can operate the communication interface 28 with power saving and appropriately.

また、Tx部アクティブ化信号生成部32は、制御信号に対する論理和に基づいてTx部アクティブ化信号Gを生成するため、複雑なソフトウェアを使用することなく実用化される。   Further, since the Tx unit activation signal generation unit 32 generates the Tx unit activation signal G based on the logical sum with respect to the control signal, it is put into practical use without using complicated software.

なお、特許請求の範囲における「電力制御部」は、例えばTx部アクティブ化信号生成部32及び電源回路30に対応し、「メモリ制御部」は、例えばL3キャッシュコントローラ部36に対応し、「実行部」は、例えばプロセッサコア部11に対応する。   The “power control unit” in the claims corresponds to, for example, the Tx unit activation signal generation unit 32 and the power supply circuit 30, and the “memory control unit” corresponds to the L3 cache controller unit 36, for example, The “unit” corresponds to the processor core unit 11, for example.

以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。   The best mode for carrying out the present invention has been described above with reference to the embodiments. However, the present invention is not limited to these embodiments, and various modifications can be made without departing from the scope of the present invention. And substitutions can be added.

例えば、複数のマルチコアプロセッサチップがシリアル通信線50によって接続された構成を例示したが、マルチプロセッサ装置は、全体が一チップに搭載されたものであってもよい。   For example, although a configuration in which a plurality of multi-core processor chips are connected by the serial communication line 50 is illustrated, the multi-processor device may be entirely mounted on one chip.

以上の説明に関し、さらに以下の項を開示する。
(付記1)
複数のプロセッサが双方向に通信を行うマルチプロセッサ装置であって、
前記複数のプロセッサに含まれるプロセッサは、
電力供給がされた状態に維持され、プロセッサ外部からデータを受信する受信部と、
プロセッサ外部にデータを送信する送信部と、
前記送信部がプロセッサ外部にデータを送信する場合に前記送信部への電力供給が行われ、前記送信部がプロセッサ外部にデータを送信しない場合に前記送信部への電力供給が遮断されるように制御する電力制御部と、
を備えるマルチプロセッサ装置。
(付記2)
前記各プロセッサは、命令を実行する実行部と、該実行部によってアクセスされるメモリを制御するメモリ制御部と、を備え、
前記電力制御部は、前記実行部がメモリ空間にアクセスする際に生成する信号と、前記メモリ制御部が所定の場合に生成する信号とに基づいて、前記送信部への電力供給を行うか否かを決定する、
付記1記載のマルチプロセッサ装置。
(付記3)
前記実行部によってアクセスされるメモリは、キャッシュメモリを含み、
前記メモリ制御部が所定の場合に生成する信号は、前記メモリ制御部が他のプロセッサのキャッシュメモリに格納されたデータを無効化するように要求する際に生成される信号を含む、
付記2記載のマルチプロセッサ装置。
(付記4)
前記実行部によってアクセスされるメモリは、キャッシュメモリを含み、
前記メモリ制御部が所定の場合に生成する信号は、キャッシュミスが発生した際に生成される信号を含む、
付記2記載のマルチプロセッサ装置。
(付記5)
複数のプロセッサが双方向に通信を行うマルチプロセッサ装置の電力制御方法であって、
前記複数のプロセッサに含まれるプロセッサの電力制御部が、
プロセッサ外部からデータを受信する受信部を電力供給がされた状態に維持し、
プロセッサ外部にデータを送信する送信部がプロセッサ外部にデータを送信する場合に前記送信部への電力供給が行い、
前記送信部がプロセッサ外部にデータを送信しない場合に前記送信部への電力供給を遮断する、
マルチプロセッサ装置の電力制御方法。
(付記6)
付記1ないし4のいずれか1項記載のマルチプロセッサ装置であって、
前記複数のプロセッサに含まれる各プロセッサは、自己に接続されたメインメモリを主にアクセスするようにアドレス空間が割り当てられた分散共有メモリ型システムであることを特徴とする、マルチプロセッサ装置。
(付記7)
付記1ないし4のいずれか1項記載のマルチプロセッサ装置であって、
前記複数のプロセッサに含まれる各プロセッサは、それぞれ1チップで構成され、チップ間インターフェースを用いて双方向に通信を行うことを特徴とする、マルチプロセッサ装置。
Regarding the above description, the following items are further disclosed.
(Appendix 1)
A multiprocessor device in which a plurality of processors communicate bidirectionally,
The processors included in the plurality of processors are:
A receiving unit that is maintained in a power-supplied state and receives data from outside the processor;
A transmitter for transmitting data to the outside of the processor;
Power is supplied to the transmitter when the transmitter transmits data to the outside of the processor, and power supply to the transmitter is interrupted when the transmitter does not transmit data to the outside of the processor. A power control unit to control;
A multiprocessor device comprising:
(Appendix 2)
Each of the processors includes an execution unit that executes an instruction, and a memory control unit that controls a memory accessed by the execution unit,
Whether the power control unit supplies power to the transmission unit based on a signal generated when the execution unit accesses the memory space and a signal generated when the memory control unit is predetermined. To decide,
The multiprocessor device according to appendix 1.
(Appendix 3)
The memory accessed by the execution unit includes a cache memory,
The signal generated when the memory control unit is predetermined includes a signal generated when the memory control unit requests to invalidate data stored in the cache memory of another processor.
The multiprocessor device according to appendix 2.
(Appendix 4)
The memory accessed by the execution unit includes a cache memory,
The signal generated when the memory control unit is predetermined includes a signal generated when a cache miss occurs.
The multiprocessor device according to appendix 2.
(Appendix 5)
A power control method for a multiprocessor device in which a plurality of processors communicate bidirectionally,
A power control unit of a processor included in the plurality of processors,
Maintain the receiving unit that receives data from outside the processor in a powered state,
When a transmission unit that transmits data to the outside of the processor transmits data to the outside of the processor, power is supplied to the transmission unit,
Cutting off the power supply to the transmitter when the transmitter does not transmit data outside the processor;
A power control method for a multiprocessor device.
(Appendix 6)
A multiprocessor device according to any one of appendices 1 to 4,
Each of the processors included in the plurality of processors is a distributed shared memory type system in which an address space is allocated so as to mainly access a main memory connected to itself.
(Appendix 7)
A multiprocessor device according to any one of appendices 1 to 4,
Each of the processors included in the plurality of processors is configured by one chip, and performs bidirectional communication using an inter-chip interface.

1 マルチプロセッサ装置
10 マルチコアプロセッサチップ
11 コア
20 コア間結合網
26 L3キャッシュ
28 プロセッサ間通信インターフェース
28A Tx部
28B Rx部
29 電源
30 電源回路
32 Tx部アクティブ化信号生成部
34 Rxリード信号生成部
36 L3キャッシュコントローラ部
40 DIMM
50 シリアル通信線
DESCRIPTION OF SYMBOLS 1 Multiprocessor device 10 Multicore processor chip 11 Core 20 Inter-core connection network 26 L3 cache 28 Inter-processor communication interface 28A Tx part 28B Rx part 29 Power supply 30 Power supply circuit 32 Tx part Activation signal generation part 34 Rx read signal generation part 36 L3 Cache controller 40 DIMM
50 Serial communication line

Claims (4)

複数のプロセッサが双方向に通信を行うマルチプロセッサ装置であって、
前記複数のプロセッサに含まれるプロセッサは、
電力供給がされた状態に維持され、プロセッサ外部からデータを受信する受信部と、
プロセッサ外部にデータを送信する送信部と、
前記送信部がプロセッサ外部にデータを送信する場合に前記送信部への電力供給が行われ、前記送信部がプロセッサ外部にデータを送信しない場合に前記送信部への電力供給が遮断されるように制御する電力制御部と、
を備え
前記各プロセッサは、命令を実行する実行部と、該実行部によってアクセスされるメモリを制御するメモリ制御部と、を備え、
前記電力制御部は、前記実行部がメモリ空間にアクセスする際に生成する信号と、前記メモリ制御部が所定の場合に生成する信号とに基づいて、前記送信部への電力供給を行うか否かを決定する、
マルチプロセッサ装置。
A multiprocessor device in which a plurality of processors communicate bidirectionally,
The processors included in the plurality of processors are:
A receiving unit that is maintained in a power-supplied state and receives data from outside the processor;
A transmitter for transmitting data to the outside of the processor;
Power is supplied to the transmitter when the transmitter transmits data to the outside of the processor, and power supply to the transmitter is interrupted when the transmitter does not transmit data to the outside of the processor. A power control unit to control;
Equipped with a,
Each of the processors includes an execution unit that executes an instruction, and a memory control unit that controls a memory accessed by the execution unit,
Whether the power control unit supplies power to the transmission unit based on a signal generated when the execution unit accesses the memory space and a signal generated when the memory control unit is predetermined. To decide,
Multiprocessor device.
前記実行部によってアクセスされるメモリは、キャッシュメモリを含み、
前記メモリ制御部が所定の場合に生成する信号は、前記メモリ制御部が他のプロセッサのキャッシュメモリに格納されたデータを無効化するように要求する際に生成される信号を含む、
請求項記載のマルチプロセッサ装置。
The memory accessed by the execution unit includes a cache memory,
The signal generated when the memory control unit is predetermined includes a signal generated when the memory control unit requests to invalidate data stored in the cache memory of another processor.
The multiprocessor device according to claim 1 .
前記実行部によってアクセスされるメモリは、キャッシュメモリを含み、
前記メモリ制御部が所定の場合に生成する信号は、キャッシュミスが発生した際に生成される信号を含む、
請求項記載のマルチプロセッサ装置。
The memory accessed by the execution unit includes a cache memory,
The signal generated when the memory control unit is predetermined includes a signal generated when a cache miss occurs.
The multiprocessor device according to claim 1 .
複数のプロセッサが双方向に通信を行うマルチプロセッサ装置の電力制御方法であって、
前記複数のプロセッサに含まれるプロセッサの電力制御部が、
プロセッサ外部からデータを受信する受信部を電力供給がされた状態に維持し、
プロセッサ外部にデータを送信する送信部がプロセッサ外部にデータを送信する場合に前記送信部への電力供給行い、
前記送信部がプロセッサ外部にデータを送信しない場合に前記送信部への電力供給を遮断し、
前記各プロセッサは、命令を実行する実行部と、該実行部によってアクセスされるメモリを制御するメモリ制御部と、を備え、
前記電力制御部は、前記実行部がメモリ空間にアクセスする際に生成する信号と、前記メモリ制御部が所定の場合に生成する信号とに基づいて、前記送信部への電力供給を行うか否かを決定する、
マルチプロセッサ装置の電力制御方法。
A power control method for a multiprocessor device in which a plurality of processors communicate bidirectionally,
A power control unit of a processor included in the plurality of processors,
Maintain the receiving unit that receives data from outside the processor in a powered state,
Transmitter for transmitting data to the processor external performs the power supply to the transmission unit to send the data to the processor outside,
When the transmission unit does not transmit data outside the processor, the power supply to the transmission unit is cut off ,
Each of the processors includes an execution unit that executes an instruction, and a memory control unit that controls a memory accessed by the execution unit,
Whether the power control unit supplies power to the transmission unit based on a signal generated when the execution unit accesses the memory space and a signal generated when the memory control unit is predetermined. To decide,
A power control method for a multiprocessor device.
JP2012042459A 2012-02-28 2012-02-28 Multiprocessor device and power control method for multiprocessor device Expired - Fee Related JP5861496B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012042459A JP5861496B2 (en) 2012-02-28 2012-02-28 Multiprocessor device and power control method for multiprocessor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012042459A JP5861496B2 (en) 2012-02-28 2012-02-28 Multiprocessor device and power control method for multiprocessor device

Publications (2)

Publication Number Publication Date
JP2013178675A JP2013178675A (en) 2013-09-09
JP5861496B2 true JP5861496B2 (en) 2016-02-16

Family

ID=49270248

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012042459A Expired - Fee Related JP5861496B2 (en) 2012-02-28 2012-02-28 Multiprocessor device and power control method for multiprocessor device

Country Status (1)

Country Link
JP (1) JP5861496B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10268258B2 (en) 2015-07-14 2019-04-23 Toshiba Memory Corporation Storage device having a serial communication port
JP6130949B1 (en) * 2016-03-17 2017-05-17 株式会社東芝 Memory system and processor system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08272752A (en) * 1995-03-31 1996-10-18 Hitachi Ltd Parallel processor
US7340615B2 (en) * 2003-01-31 2008-03-04 Microsoft Corporation Method and apparatus for managing power in network interface modules
JP2010134698A (en) * 2008-12-04 2010-06-17 Hitachi Ltd Information processing system
JP5338375B2 (en) * 2009-02-26 2013-11-13 富士通株式会社 Arithmetic processing device, information processing device, and control method for arithmetic processing device
US8135972B2 (en) * 2009-03-10 2012-03-13 Cortina Systems, Inc. Data interface power consumption control
JP5347772B2 (en) * 2009-07-01 2013-11-20 富士通株式会社 Transfer rate setting method, data transfer apparatus, and information processing system

Also Published As

Publication number Publication date
JP2013178675A (en) 2013-09-09

Similar Documents

Publication Publication Date Title
US7162590B2 (en) Memory bus within a coherent multi-processing system having a main portion and a coherent multi-processing portion
JP5153172B2 (en) Method and system for maintaining low cost cache coherency for accelerators
CN101349996B (en) Technique for preserving cached information during a low power mode
KR100318104B1 (en) Non-uniform memory access (numa) data processing system having shared intervention support
TWI545445B (en) Method and system for extending a cache coherency snoop broadcast protocol with directory information
US7549024B2 (en) Multi-processing system with coherent and non-coherent modes
US7949794B2 (en) PCI express enhancements and extensions
US20050005073A1 (en) Power control within a coherent multi-processing system
JP5315017B2 (en) Method for providing a shared cache line in a multiprocessor data processing system, computer readable recording medium, and multiprocessor data processing system
US20110004729A1 (en) Block Caching for Cache-Coherent Distributed Shared Memory
US7870337B2 (en) Power-aware line intervention for a multiprocessor snoop coherency protocol
US9170949B2 (en) Simplified controller with partial coherency
US7984244B2 (en) Method and apparatus for supporting scalable coherence on many-core products through restricted exposure
US9183150B2 (en) Memory sharing by processors
US8332592B2 (en) Graphics processor with snoop filter
KR101695845B1 (en) Apparatus and method for maintaining cache coherency, and multiprocessor apparatus using the method
US20140281270A1 (en) Mechanism to improve input/output write bandwidth in scalable systems utilizing directory based coherecy
JP5861496B2 (en) Multiprocessor device and power control method for multiprocessor device
US20140189251A1 (en) Update mask for handling interaction between fills and updates
US20040186963A1 (en) Targeted snooping
CN107688545B (en) Method and system for presetting consistency state of cache
JP2008176612A (en) Multiprocessor system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150929

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151102

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151207

R150 Certificate of patent or registration of utility model

Ref document number: 5861496

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees