JP2007219759A - マルチプロセッシングシステム - Google Patents

マルチプロセッシングシステム Download PDF

Info

Publication number
JP2007219759A
JP2007219759A JP2006038584A JP2006038584A JP2007219759A JP 2007219759 A JP2007219759 A JP 2007219759A JP 2006038584 A JP2006038584 A JP 2006038584A JP 2006038584 A JP2006038584 A JP 2006038584A JP 2007219759 A JP2007219759 A JP 2007219759A
Authority
JP
Japan
Prior art keywords
chip
processing performance
processor
clock frequency
processing
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
Application number
JP2006038584A
Other languages
English (en)
Other versions
JP5282349B2 (ja
Inventor
Tetsuyoshi Shioda
哲義 塩田
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 JP2006038584A priority Critical patent/JP5282349B2/ja
Priority to US11/443,029 priority patent/US7774635B2/en
Publication of JP2007219759A publication Critical patent/JP2007219759A/ja
Application granted granted Critical
Publication of JP5282349B2 publication Critical patent/JP5282349B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)

Abstract

【課題】個々のプロセッサチップの実性能を引き出しつつ、プロセッサチップ全体の性能を向上させる。
【解決手段】複数のプロセッサチップに処理を実行させるマルチプロセッシングシステム100は、プロセッサチップのクロック周波数の製造ばらつきに関する情報を複数のプロセッサチップ110から取得する取得部401と、製造ばらつきに関する情報に応じたクロック周波数を特定する特定部402と、特定クロック周波数でプロセッサチップ110に処理を実行させた場合のチップ処理性能をプロセッサチップごとに算出するチップ処理性能算出部403と、チップ処理性能の合計が、複数のプロセッサチップ全体を実行させた場合に要求されるシステム要求処理性能以上であるか否かを判断するシステム処理性能判断部404と、判断結果に基づいて、プロセッサチップの動作クロック周波数を特定クロック周波数に設定する設定部405とを備えることを特徴とする。
【選択図】図4

Description

この発明は、複数のプロセッサチップに処理を分散させて実行させるマルチプロセッシングシステムに関する。
従来、一つのプロセッサチップの機能では処理できないほどの大量な情報の処理をおこなう場合、複数のプロセッサに処理を分散させて実行させるマルチプロセッシングシステムが利用されている。マルチプロセッシングシステムでは、各プロセッサチップに実行させる処理の分散を個々のプロセッサチップの処理性能を示すクロック周波数に応じて決定する。
図9は、従来のマルチプロセッシングシステムを示すブロック図である。図9において、従来のマルチプロセッシングシステム900は、複数のプロセッサチップ910に分散処理制御チップ920を接続して構成されている。図9では、プロセッサチップ910の数は2個であるため、それぞれ、プロセッサチップ910A、プロセッサチップ910Bとする。
プロセッサチップ910Aおよびプロセッサチップ910Bは、それぞれ、クロックユニット911aと、コアユニット911bとから構成されるプロセッサ回路911を備えている。プロセッサ回路911は、クロックユニット911aによってクロック信号を生成する。生成したクロック信号は、コアユニット911bへ入力される。コアユニット911bは、入力されたクロック信号に基づいて、分散処理制御チップ920の分散処理制御回路921によって分散された処理を実行する。
プロセッサチップ910は半導体回路で構成される。プロセッサチップ910が同じ種類であっても、プロセッサチップ910を構成する半導体回路が、製造ばらつきにより速く動作する回路になったり、遅く動作する回路になったりする。また、プロセッサチップ910を構成する半導体回路は、温度によって動作速度が変動する。したがって、上記製造ばらつきや温度の変動範囲を満たすように、想定されるなかで最も遅く動作するクロック周波数が仕様で規定されている。
一般的にプロセッサチップ910の仕様は、プロセッサチップ910の種類に応じて統一の仕様となるように規定されている。したがって、同一種類のプロセッサチップ910であれば、一意的に同一仕様と判断される。
ここで、プロセッサチップ910Aとプロセッサチップ910Bは、いずれも最大クロック周波数1[GHz]で動作可能であることが仕様で規定されているとする。この場合、マルチプロセッシングシステム900の電源投入後に、クロック周波数、電源電圧、基板電位が仕様を満たすように初期値に決定される。すなわち、図9に示したマルチプロセッシングシステム900では、プロセッサチップ910Aもプロセッサチップ910Bも1[GHz]のクロック周波数に設定される。その後、各プロセッサチップ910で処理が開始される。
また、上述のように、仕様として規定されたクロック周波数をそのまま利用するようなマルチプロセッシング以外にも、処理にあわせてクロック周波数を自律的に分散する技術も開発されている。一例として、プロセッサチップ上に、複数の機能モジュールと、性能測定回路(PMC)とを設け、さらに、プロセッサチップに関する情報を記録する記憶テーブル回路(MTC)を備えた回路が開示されている(たとえば、下記特許文献1を参照。)。
上述のような回路構成にすることで、PMCで測定したプロセッサチップの性能とMTCに記録されている値とから、自律分散的にクロック周波数と電源電圧・基板電位とを計算して、プロセッサチップの動作を自律的に設定する。したがって、動作時の動作性能が指定されているような機能モジュールであっても、プロセッサチップの製造ばらつきに応じて最適なクロック周波数に設定することができる。
特開2004−228417号公報
しかしながら、プロセッサチップ910が同一種類であっても製造時のばらつきや、プロセッサチップ910を構成する半導体回路の温度により、クロック周波数が変動するため、同一種類のプロセッサチップ910を一意的に同一仕様として動作させると、個々のプロセッサチップ910A,910Bの処理性能を最大限に活かしきれないという問題があった。
たとえば、プロセッサチップ910Aとプロセッサチップ910Bが同一種類であり、半導体回路の温度も同じであったとする。ところが製造ばらつきにより、プロセッサチップ910Aは2[GHz]でも動作するが、プロセッサチップ910Bは1[GHz]までしか動作しないとする。
この場合、従来であれば、プロセッサチップ910Aおよびプロセッサチップ910Bともに、仕様どおり1[GHz]で動作させることとなる。一つのプロセッサチップの1[GHz]あたりの処理性能をPvとすると、このマルチプロセッシングシステム900の性能は、下記式(1)によりあらわすことができる。
(1[GHz]+1[GHz])×Pv=2Pv・・・(1)
しかしながら、プロセッサチップ910Aは2[GHz]まで動作する実力を持っているので、実力どおりのクロック周波数で動作させた場合のマルチプロセッシングシステム900の処理性能は、下記式(2)によりあらわすことができる。
(2[GHz]+1[GHz])×Pv=3Pv・・・(2)
上記式(1)および式(2)を比較すると、従来手法では実力の2/3の処理性能しか活かしきれていないこととなる。
また、従来のマルチプロセッシングシステム900では、プロセッサチップ910の処理性能を認識することができないため、最も高速に処理できる要求処理量の比を特定することができない。したがって、仕様で規定したクロック周波数で、各プロセッサチップ910A,910Bの要求処理量を、1:1の比で分散しなければならない。このため、各プロセッサチップ910A,910Bの処理性能に応じた処理分散をおこなうことができないという問題があった。
また、プロセッサチップ910が交換される場合も、交換によりあらたに実装されたプロセッサチップの処理性能を認識することができないため、仕様で規定したクロック周波数にしたがって分散しなければならないという問題があった。
また、上述した特許文献1の従来技術は、自律分散型の機能であるため全体としての処理を最適に分散することができないという問題があった。
この発明は、上述した従来技術による問題点を解消するため、個々のプロセッサチップの処理性能を最大限に引き出しつつ、各プロセッサチップへの処理分散の最適化を実現することができるマルチプロセッサシングシステムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、この発明にかかるマルチプロセッシングシステムは、複数のプロセッサチップに処理を実行させるマルチプロセッシングシステムにおいて、前記プロセッサチップのクロック周波数の製造ばらつきに関する情報を前記複数のプロセッサチップから取得する取得手段と、前記取得手段によって取得された製造ばらつきに関する情報に応じたクロック周波数を特定する特定手段と、前記特定手段によって特定されたクロック周波数(以下、「特定クロック周波数」という)で前記プロセッサチップに処理を実行させた場合の処理性能(以下、「チップ処理性能」という)を前記プロセッサチップごとに算出するチップ処理性能算出手段と、前記チップ処理性能算出手段によって算出されたチップ処理性能の合計が、前記複数のプロセッサチップ全体を実行させた場合に要求されるシステム要求処理性能以上であるか否かを判断するシステム処理性能判断手段と、前記システム処理性能判断手段によって判断された判断結果に基づいて、前記プロセッサチップの動作クロック周波数を前記特定クロック周波数に設定する設定手段と、を備えることを特徴とする。
この発明によれば、プロセッサチップの製造ばらつきに関する情報を用いることで、複数のプロセッサチップのチップ処理性能の合計がシステム要求処理性能を満たすことができるよう、各プロセッサチップのクロック周波数を特定クロック周波数に設定することができる。
また、この発明において、前記複数のプロセッサチップの中から選ばれた一のプロセッサチップについて、前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記プロセッサチップを実行させた場合に要求されるチップ要求処理性能以上であるか否かを判断するチップ処理性能判断手段を備え、前記システム処理性能判断手段は、さらに、前記チップ処理性能判断手段によって判断された判断結果に基づいて、前記各チップ処理性能の合計が、前記システム要求処理性能以上であるか否かを判断してもよい。
この発明によれば、複数のプロセッサチップが設定手段によって個別に設定された特定クロック周波数で処理を実行させた場合のシステム処理性能が、システム要求処理性能以上か否かを判断することができる。
また、この発明において、前記一のプロセッサチップについて、前記チップ処理性能判断手段により、前記チップ要求処理性能未満であると判断された場合、当該チップ要求処理性能を所定量低下するように変更するチップ要求処理性能変更手段を備え、前記チップ処理性能判断手段は、前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記チップ要求処理性能変更手段による変更後のチップ要求処理性能以上であるか否かを判断してもよい。
この発明によれば、一のプロセッサチップのチップ処理性能が、チップ要求処理性能に満たない場合に、自動的にチップ要求処理性能を低下させる。さらに、低下させたチップ要求処理性能が、特定クロック周波数で当該一のプロセッサチップを動作させた際のチップ処理性能以下になるか否かを判断することができる。
また、この発明において、前記チップ処理性能判断手段は、前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記チップ要求処理性能以上であると判断された場合、さらに、当該チップ要求処理性能のN(N>1)倍以上であるか否かを判断してもよい。
この発明によれば、特定クロック周波数によって処理を実行させた場合のチップ処理性能が、指定したチップ処理性能の上限(チップ要求処理性能のN倍)に設定されていないかを判断することができる。
また、この発明において、前記一のプロセッサチップについて、前記チップ処理性能判断手段により、前記チップ要求処理性能のN倍以上であると判断された場合、前記特定クロック周波数を1/N倍に変更するクロック周波数変更手段を備え、前記チップ処理性能算出手段は、前記クロック周波数変更手段による変更後の特定クロック周波数で前記一のプロセッサチップに処理を実行させた場合のチップ処理性能をあらたに算出してもよい。
この発明によれば、特定クロック周波数によって処理を実行させた場合のチップ処理性能が、指定したチップ処理性能の上限(チップ要求処理性能のN倍)であった場合に、自動的に特定クロック周波数を変更して、指定したチップ処理性能の上限以下となる特定クロック周波数に設定することができる。
また、この発明において、前記システム処理性能判断手段により、前記複数のプロセッサチップのチップ処理性能の合計が前記システム要求処理性能未満であると判断された場合、前記複数のプロセッサチップからあらたなプロセッサチップへの交換または前記あらたなプロセッサチップの追加を促すメッセージを出力する変更/追加メッセージ出力手段を備え、前記取得手段は、前記変更/追加メッセージ出力手段によって出力された結果、前記あらたなプロセッサチップに交換または追加された場合、前記あらたなプロセッサチップのクロック周波数の製造ばらつきに関する情報を取得してもよい。
この発明によれば、現状のマルチプロセッシングシステムの構成では、システム要求処理性能を実現することができないことを判断する。さらに、利用者や上位システムからのシステム要求処理性能を備えたマルチプロセッシングシステムを実現するために、あらたなプロセッサチップの交換またはあらたなプロセッサチップの追加を促すことができる。
また、この発明において、前記システム処理性能判断手段は、前記システム要求処理性能以上であると判断された場合、さらに、当該システム要求処理性能のM(M>1)倍以内であるか否かを判断してもよい。
この発明によれば、特定クロック周波数によって処理を実行させた場合の各プロセッサチップ全体のチップ処理性能の合計が、指定したシステム処理性能の上限(要求処理性能のM倍)に設定されていないかを判断することができる。
また、この発明において、前記システム処理性能判断手段により、前記システム要求処理性能のM(M>1)倍以内でないと判断された場合、前記チップ要求処理性能を所定量低下するように変更するチップ要求処理性能変更手段を備え、前記チップ処理性能判断手段は、前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記チップ要求処理性能変更手段による変更後のチップ要求処理性能以上であるか否かを判断してもよい。
この発明によれば、特定クロック周波数によって処理を実行させた場合の各プロセッサチップ全体のチップ処理性能の合計が、指定したシステム処理性能の上限(システム要求処理性能のM倍)であった場合に、自動的に特定クロック周波数を変更して、指定したシステム処理性能の上限以下となる特定クロック周波数に設定することができる。
また、この発明において、前記設定手段により前記特定クロック周波数に設定された場合、前記複数のプロセッサチップのうち任意のプロセッサチップが交換されたか否かを検出する検出手段を備え、前記取得手段は、前記検出手段により交換されたことが検出された場合、あらたに搭載されたプロセッサチップの製造ばらつきに関する情報を取得してもよい。
この発明によれば、自動的にプロセッサチップの交換を検出し、交換後のあらたなプロセッサチップの製造ばらつきに関する情報を取得して、当該製造ばらつき情報に基づいて特定クロック周波数を設定することができる。
また、この発明において、前記設定手段により前記特定クロック周波数に設定され、前記一のプロセッサチップを実行させた場合に要求される、あらたなチップ要求処理性能を受け付ける受付手段を備え、前記チップ処理性能判断手段は、前記一のプロセッサチップについて、前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記受付手段によって受け付けられたあらたなチップ要求処理性能以上であるか否かを判断してもよい。
この発明によれば、複数のプロセッサチップのなかの特定のプロセッサチップに関してあらたなチップ要求処理性能を受け付けることができる。さらに、特定のプロセッサチップのチップ処理性能が、受付手段によって受け付けたあらたなチップ要求処理性能以上か否かを判断することができる。
この発明にかかるマルチプロセッシングシステムによれば、個々のプロセッサチップの処理性能を最大限に引き出しつつ、各プロセッサチップへの処理分散の最適化を実現することができるという効果を奏する。
以下に添付図面を参照して、この発明にかかるマルチプロセッシングシステムの好適な実施の形態を詳細に説明する。本実施の形態では、複数のプロセッサチップが接続されたマルチプロセッシングシステムを用いて上位システムから送られてきた情報の処理を、利用者または、上位システムの指定したシステム要求処理性能を満たすようにプロセッサチップごとに分散して実行させる。
具体的には、実際の動作開始に先立って、マルチプロセッシングシステムを構成する各プロセッサチップの処理性能の合計が要求処理性能以上となるように設定する。たとえば、マルチプロセッシングシステムが実装された情報処理装置の電源が投入された後に、利用者もしくは上位システムから指定された要求処理性能を満たすように各プロセッサチップの動作性能を設定する。すべてのプロセッサチップの設定が終了すると、マルチプロセッサとしての実際の動作を開始させる。
(マルチプロセッシングシステムのハードウェア構成)
まず、この発明の実施の形態にかかるマルチプロセッシングシステムのハードウェア構成について説明する。図1は、この発明の実施の形態にかかるマルチプロセッシングシステムのハードウェア構成を示すブロック図である。マルチプロセッシングシステム100は、プロセッサチップ110(図1の例ではプロセッサチップ110A,110B)と、分散処理制御チップ120と、動作条件制御チップ130とが、バス140に接続されて構成される。
プロセッサチップ110は、処理する情報量や、利用者または上位システム要求の性能にあわせて交換、増減が可能である。図1に示したマルチプロセッシングシステム100の構成例では、同様のチップ仕様を有したプロセッサチップ110Aと、プロセッサチップ110Bを含んだ構成となっている。
まず、各プロセッサチップ110の構成について説明する。プロセッサチップ110A,110Bは、プロセッサ回路111と、プロセッサ種別情報回路112と、製造ばらつき情報回路113と、周波数設定回路114と、チップID格納部115と、温度検出部116と、バス制御回路117と、から構成される。
プロセッサ回路111は、クロックユニット111aと、コアユニット111bと、から構成される。クロックユニット111aは、所定の周波数のクロック信号を発生させ、コアユニット111bに出力する。また、出力されるクロック信号の周期は、周波数設定回路114により、生成させるクロック信号のクロック周波数が設定値となるように調整される。コアユニット111bは、クロックユニット111aから入力されたクロック信号の周期に応じたクロック周波数で分散された情報の処理をおこなう。
プロセッサ種別情報回路112には、プロセッサチップ110の種別情報が格納されている。プロセッサ種別情報回路112に格納されたプロセッサチップ種別情報は、バス制御回路117を経由して動作条件制御チップ130へ入力される。
種別情報とは、プロセッサ回路111の仕様を表す情報であり、たとえばプロセッサチップ110の型番と一対一に対応させた番号(たとえば、製造番号、商品番号など)や、仕様で定められたクロック周波数(以下、「仕様クロック周波数」という)が含まれている。
また、製造ばらつき情報回路113は、プロセッサチップ110のクロック周波数の製造ばらつき情報が格納されている。製造ばらつき情報回路113に格納されている製造ばらつき情報は、バス制御回路117を介して動作条件制御チップ130へ入力される。
製造ばらつき情報とは、プロセッサ回路111に実際に情報を処理させた場合の最大処理性能を示すクロック周波数(以下、「実クロック周波数」という)、もしくは、各プロセッサチップ110の仕様クロック周波数と、実クロック周波数との差に関する情報である。実クロック周波数は、例えばクロックユニット111aを監視することで検出する。この実施の形態では、たとえば、仕様クロック周波数と実クロック周波数との差を所定のしきい値と比較して「Fast:速い」、「Typical:通常」、「Slow:遅い」の3種類に分けて実クロック周波数とあわせて格納する。
製造ばらつき情報は、各プロセッサチップ110が最適な処理性能で動作できるように設定されるクロック周波数(以下、「特定クロック周波数」という)を算出する際の設定の目安として利用される。
また、周波数設定回路114は、バス制御回路117を介して動作条件制御チップ130から入力された特定クロック周波数、電源電圧、および基板電位を、プロセッサ回路111のクロックユニット111aによって生成されるクロック信号のクロック周波数、電源電圧、および基板電位に設定する。これにより、プロセッサチップ110は、設定されたクロック周波数、電源電圧、および基板電位で動作することとなる。
チップID格納部115には、チップIDが格納されている。チップIDとは、プロセッサチップ110を識別するユニークな情報であり、たとえば、プロセッサチップ110A(または110B)のシリアル番号である。
チップID格納部115に格納されているチップIDは、動作条件制御チップ130により監視される。動作条件制御チップ130が監視することで、たとえば、プロセッサチップ110のチップIDが変更されたか否かを検出することができる。これにより、プロセッサチップ110が交換されたか否かがわかる。
また、温度検出部116は、プロセッサチップ110の温度を検出する。温度検出部116によって検出された温度情報は、バス制御回路117を介して動作条件制御チップ130へ入力される。プロセッサチップ110の温度は、動作状態や、使用環境、情報処理装置内の冷却機構の性能など様々な要因に左右される。したがって、温度検出部116は、常時プロセッサチップ110の温度を検出する。
また、温度検出部116の設置位置は、図1のような各プロセッサチップ110の内部に限らない。各プロセッサチップ110の外部に設け、外部から温度情報を直接動作制御チップ130へ入力してもよい。また、外部に、温度検出部116を設けた場合、プロセッサチップ110ごとに温度検出部116を備える構成の他にも、1つの温度検出部116を設けて、各プロセッサチップ110の温度情報をそれぞれ検出して、プロセッサチップ110のチップIDと対応させた温度情報を動作制御チップ130へ入力してもよい。
バス制御回路117は、各種情報の入出力を制御する。たとえば、プロセッサチップ110内部の各構成からの情報を、分散処理制御チップ120や動作条件制御チップ130またはマルチプロセッシングシステム100の外部の他の機能部へ出力する。同様に、分散処理制御チップ120や動作条件制御チップ130またはマルチプロセッシングシステム100の外部の他の機能部からの情報を、プロセッサチップ110内部の各構成に入力する。
ここで、上述した各プロセッサチップ110A,110Bの特性について説明する。図2は、各プロセッサチップの特性を示す図表である。図2に示した図表では、プロセッサチップ110A,110Bごとに、チップ仕様と、製造実力と、クロック周波数とを示している。
図2において、「チップ仕様」は、プロセッサ種別情報回路112に格納されている仕様クロック周波数であり、上述したプロセッサチップ110の種別情報により一意的に決定されている。また、「製造実力」は、上述した製造ばらつき情報回路113に格納されている実クロック周波数である。さらに、「クロック周波数」は、上述した動作条件制御チップ130によって設定される特定クロック周波数、すなわち、周波数設定回路114に設定される特定クロック周波数の値となる。
また、図1において、分散処理制御チップ120は、処理分散制御回路121を備えている。処理分散制御回路121は、利用者や上位システムからマルチプロセッシングシステム100のシステム要求処理性能を受け付ける。
システム要求処理性能とは、マルチプロセッシングシステム100が接続されているプロセッサチップ110全体(図1の場合は、プロセッサチップ110Aおよびプロセッサチップ110B)で実行させたい処理性能である。たとえば、一つのプロセッサチップの1[GHz]あたりの処理性能をPvとすると、システム要求処理性能は、aPv(aは数字)であらわされる。
また、システム要求処理性能は、動作条件制御チップ130に入力され、システム処理性能の設定処理に用いられる。システム処理性能とは、プロセッサチップ110の処理性能の合計である。たとえば、プロセッサチップ110Aの実クロック周波数が2[GHz]、プロセッサチップ110Bの実クロック周波数が1[GHz]とすると、プロセッサチップ110Aの処理性能は2Pvであり、プロセッサチップ110Bの処理性能は1Pvである。したがって、実力どおりのクロック周波数で動作させた場合のマルチプロセッシングシステム800のシステム処理性能は、3Pvとなる。システム処理性能の設定処理は、動作条件制御チップ130により実行される。
また、分散処理制御チップ120は、動作条件制御チップ130で実クロック周波数から計算される処理性能がチップ要求処理性能未満であった場合に、チップ要求処理性能を所定量低下するように変更するチップ要求処理性能変更を、動作条件制御チップ130から受け付ける。
最後に、動作条件制御チップ130の構成について説明する。動作条件制御チップ130は、バス制御回路131と、リセット送受信回路132と、テーブル格納部133と、マルチプロセッシング制御回路134と、から構成されている。
まず、バス制御回路131は、各種情報の入出力を制御する。たとえば、各プロセッサチップ110からの情報を、動作条件制御チップ130内の回路132,134に出力する。同様に、動作条件制御チップ130内部の各回路132,134からの情報を、出力先となる各プロセッサチップ110内の回路111〜117に出力する。
また、リセット送受信回路132は、上位システム(たとえば、マルチプロセッシングシステム100が搭載された情報処理装置)と、マルチプロセッシングシステム100へのリセット信号の送受信をおこなう。
リセット送受信回路132は、上位システムからリセット信号を受信すると、マルチプロセッシングシステム100全体の動作を停止させ、電源投入時と同様に改めて各プロセッサチップ110の設定を開始する。また、各プロセッサチップ110の設定をおこなっている際に、チップ要求処理性能の再設定や、プロセッサチップ110の構成変更を要する場合には、リセット送受信回路132から利用者や上位システムに必要とする情報を報知する。また、利用者や上位システムからチップ追加・変更信号や、要求処理性能変更信号を受信すると分散処理制御チップ120に送信する。
また、テーブル格納部133は、製造ばらつき対最大クロック周波数テーブルを格納する。製造ばらつき対最大クロック周波数テーブルとは、マルチプロセッシングシステム100に接続されている各プロセッサチップ110の製造ばらつきに依存したクロック周波数、および、そのクロック周波数で各プロセッサチップ110を動作させるときの電源電圧や基板電位を保持するテーブルである。保持されている情報は、マルチプロセッシング制御回路134により読み出される。
図3−1および図3−2は、製造ばらつき対最大クロック周波数テーブルを模式的に示した説明図である。図3−1に示した製造ばらつき対最大クロック周波数テーブル310は、プロセッサチップの温度が125℃(±k℃の範囲をもたせてもよい。kは任意に設定可能。)のときに用いられるテーブルであり、図3−2に示した製造ばらつき対最大クロック周波数テーブル320は、プロセッサチップの温度が80℃(±k℃の範囲をもたせてもよい。kは任意に設定可能。)のときに用いられるテーブルである。
たとえば、プロセッサチップ110のチップ温度が125°である場合、図3−1に示した製造ばらつき対最大クロック周波数テーブル310が用いられる。このとき、当該プロセッサチップ110の製造ばらつき情報が「Fast」である場合、図3−1中、「Fast」内のクロック周波数、電源電圧、および基板電位7種類の組み合わせの中から、任意のクロック周波数、電源電圧、および基板電位(たとえば、クロック周波数1.4[GHz],電源電圧1.2[V]、基板電位−1[V])が読み出される。
また、プロセッサチップ110の処理性能を最大限に引き出したい場合には、「Fast」内のクロック周波数、電源電圧、および基板電位の組み合わせのうち、クロック周波数が大きい組み合わせ、特にクロック周波数が最大となる組み合わせを読み出すことが好ましい。すなわち、図3−1では、クロック周波数は1.8[GHz]、電源電圧は1.2[V]、基板電位は0[V]が読み出される。
また、マルチプロセッシング制御回路134は、動作条件制御チップ130における各動作条件の制御を司る。たとえば、テーブル格納部133からの情報を読み出して、各プロセッサチップ110の特定クロック周波数の決定、特定クロック周波数に応じた電源電圧や基板電位を決定する。また、上述したチップ処理性能やシステム処理性能の算出をおこなう。また、チップ要求処理性能とチップ処理性能との比較やシステム要求処理性能とシステム処理性能との比較をおこない、その比較結果を処理分散制御チップ120に出力する。
ここで、チップ要求処理性能とは、各プロセッサチップ110に要求されるチップ処理性能であり、ユーザからの指示により分散処理制御チップ120において設定される。各プロセッサチップ110に対するチップ要求処理性能の合計が、上述したシステム要求処理性能となる。なお、マルチプロセッシング制御回路134の具体的な処理については、後述するフローチャートを用いて詳細に説明する。
(マルチプロセッシングシステムの機能的構成)
つぎに、この発明の実施の形態にかかるマルチプロセッシングシステムの機能的構成について説明する。図4は、この発明の実施の形態にかかるマルチプロセッシングシステムの機能的構成を示したブロック図である。
図4において、図1に示したマルチプロセッシングシステム100は、取得部401と、特定部402と、チップ処理性能算出部403と、システム処理性能判断部404と、設定部405と、チップ処理性能判断部406と、チップ要求処理性能変更部407と、クロック周波数変更部408と、変更/追加メッセージ出力部409と、検出部410と、受付部411と、最大処理性能判断部412と、判断結果出力部413とから構成される。
取得部401は、プロセッサチップ110のクロック周波数の製造ばらつきに関する情報を複数のプロセッサチップから取得する。製造ばらつきに関する情報とは、たとえば、上述した仕様クロック周波数、実クロック周波数、製造ばらつき情報(「Fast:速い」、「Typical:通常」、「Slow:遅い」など)、温度情報、種別情報、チップIDなどである。
さらに、取得部401は、変更/追加メッセージ出力部409によって出力された結果、あらたなプロセッサチップ110が交換または追加された場合、あらたなプロセッサチップ110の製造ばらつきに関する情報を取得する。
さらに、取得部401は、検出部410によりプロセッサチップ110が交換されたことが検出された場合、あらたに搭載されたプロセッサチップの製造ばらつきに関する情報を取得する。この取得部401は、具体的には、図1に示した動作条件制御チップ130内のバス制御回路131によってその機能を実現する。
また、特定部402は、取得部401によって取得された製造ばらつきに関する情報に応じたクロック周波数を特定する。具体的には、製造ばらつきに関する情報に含まれている温度情報によりテーブル格納部133に格納されている製造ばらつき対最大クロック周波数テーブルを選択し、選択された製造ばらつき対最大クロック周波数テーブルから製造ばらつき情報(「Fast:速い」、「Typical:通常」、「Slow:遅い」など)に応じたクロック周波数、電源電圧、および基板電位を読み出す。
この読み出されたクロック周波数が特定クロック周波数となる。なお、プロセッサチップ110の処理性能を最大限に引き出したい場合には、クロック周波数のうち、値が大きいクロック周波数、特に最大クロック周波数を読み出すことが好ましい。たとえば、図3−1において、製造ばらつき情報が「Fast」である場合、クロック周波数1.8[GHz]を特定クロック周波数として読み出す。この特定部402は、具体的には、図1に示した動作条件制御チップ130内のマルチプロセッシング制御回路134によってその機能を実現する。
また、チップ処理性能算出部403は、特定部402によって特定された特定クロック周波数でプロセッサチップ110に処理を実行させた場合のチップ処理性能をプロセッサチップ110ごとに算出する。具体的には、たとえば、一つのプロセッサチップの1[GHz]あたりの処理性能をPvとすると、特定クロック周波数が2[GHz]である場合、当該プロセッサチップ100のチップ処理性能は、2Pvとなる。
さらに、チップ処理性能算出部403は、クロック周波数変更部407による変更後の特定クロック周波数でプロセッサチップ110に処理を実行させた場合のチップ処理性能をあらたに算出する。具体的には、特定クロック周波数が2[GHz]から1.8[GHz]に変更された場合、当該プロセッサチップ100のチップ処理性能は、1.8Pvとなる。このチップ処理性能算出部403は、具体的には、図1に示した動作条件制御チップ130内のマルチプロセッシング制御回路134によってその機能を実現する。
システム処理性能判断部404は、チップ処理性能算出部403によって算出されたチップ処理性能の合計が、複数のプロセッサチップ110全体を実行させた場合に要求されるシステム要求処理性能以上であるか否かを判断する。
具体的には、各プロセッサチップ110のチップ処理性能の合計が複数のプロセッサチップ110全体のシステム処理性能となるため、このシステム処理性能と、分散処理制御チップ120から受信されたシステム要求処理性能とを比較する。
システム処理性能判断部404は、このほか、チップ処理性能判断部406によって判断された場合、この判断結果に基づいて、システム処理性能がシステム要求処理性能以上であるか否かを判断する。
そして、システム処理性能が、システム要求処理性能以上であれば、複数のプロセッサチップ110全体として、システム要求処理性能をみたしていることがわかり、システム全体の処理性能を向上させることができる。システム要求処理性能未満であれば、プロセッサチップ110の追加や変更をおこなって各プロセッサチップ110のチップ処理性能をさらに向上させたうえで、再度各プロセッサチップ110のクロック周波数・電源電圧・基板電位を読み出す。
また、システム処理性能判断部404は、システム処理性能がシステム要求処理性能以上であると判断された場合、さらに、そのシステム処理性能がシステム要求処理性能のM(M>1)倍以内であるか否かを判断する。
ここで、「M」は、マルチプロセッシングシステム100の出荷時に一般的な性能のバランスを鑑みたデフォルト値を設定してもよいし、用途にあわせて個別に設定してもよい。たとえば、必要以上に高速の処理を求めないような情報処理装置に用いられる場合は、「M」の値を小さく設定する。
システム要求処理性能のM倍より大きい場合には、各プロセッサチップ110の処理に十分余裕があるため、特定クロック周波数を下げて、消費電力を削減できる可能性がある。そこで、分散処理制御チップ120にてチップ要求処理性能の見直しをおこなう。
システム要求処理性能のM倍以内であれば、そのときの各プロセッサチップ110の特定クロック周波数、電源電圧、および基板電位をプロセッサチップ110に送る。このシステム処理性能判断部404は、具体的には、図1に示した動作条件制御チップ130内のマルチプロセッシング制御回路134によってその機能を実現する。
また、設定部405は、システム処理性能判断部404によって判断された判断結果に基づいて、プロセッサチップ110の動作クロック周波数を特定クロック周波数に設定する。具体的には、各プロセッサチップ110の特定クロック周波数、電源電圧、および基板電位を、各プロセッサチップ110内の周波数設定回路114に送り、プロセッサチップ110の動作クロック周波数、電源電圧、および基板電位に設定する。
これにより、プロセッサチップ110は、設定されたクロック周波数、電源電圧、および基板電位で動作することとなり、マルチプロセッシングシステム100の処理分散が最適化される。この設定部405は、具体的には、図1に示した各プロセッサチップ110内の周波数設定回路114によってその機能を実現する。
また、チップ処理性能判断部406は、複数のプロセッサチップ110の中から選ばれた一のプロセッサチップ110(たとえば、110A)について、特定クロック周波数で処理を実行させた場合のチップ処理性能が、当該プロセッサチップ110Aのチップ要求処理性能以上であるか否かを判断する。
具体的には、たとえば、一のプロセッサチップ100Aについてチップ処理性能が算出された場合、分散処理制御チップ120から一のプロセッサチップ110Aのチップ要求処理性能を読み出して比較する。
チップ処理性能判断部406は、このほか、特定クロック周波数で処理を実行させた場合のチップ処理性能が、チップ要求処理性能変更部407によって変更された後のチップ要求処理性能以上であるか否かを判断する。
そして、チップ処理性能がチップ要求処理性能以上であれば、一のプロセッサチップ110Aがチップ要求処理性能をみたしていることがわかり、一のプロセッサチップ110Aの処理性能を向上させることができる。
チップ要求処理性能未満であれば、一のプロセッサチップ110Aの交換やあらたなプロセッサチップの追加をおこなって各プロセッサチップ110のチップ処理性能をさらに向上させたうえで、再度各プロセッサチップ110のクロック周波数・電源電圧・基板電位を読み出すこととなる。
また、チップ処理性能判断部406は、特定クロック周波数で処理を実行させた場合のチップ処理性能が、チップ要求処理性能以上であると判断された場合、さらに、チップ処理性能がチップ要求処理性能のN(N>1)倍以上であるか否かを判断する。設定部405による設定後に、後述する受付部411によりあらたなチップ要求処理性能が受け付けられた場合も同様である。
ここで、「N」は、マルチプロセッシングシステム100の出荷時に一般的な性能のバランスを鑑みたデフォルト値を設定してもよいし、用途にあわせて個別に設定してもよい。たとえば、必要以上に高速の処理を求めないような情報処理装置に用いられる場合は、「N」の値を小さく設定する。
そして、チップ要求処理性能のN倍より大きい場合には、プロセッサチップ110の処理に十分余裕があるため、特定クロック周波数を1/N倍して、再度電源電圧と基板電位を算出し直し、処理性能の算出からやり直す。
これを繰り返すことで、各プロセッサチップ110のチップ処理性能を、チップ要求処理性能の1倍から1/N倍までの範囲に最適化された特定クロック周波数・電源電圧・基板電位として求めることができる。なお、このチップ処理性能判断部406は、具体的には、図1に示した動作条件制御チップ130内のマルチプロセッシング制御回路134によってその機能を実現する。
また、チップ要求処理性能変更部407は、一のプロセッサチップ110(たとえば、プロセッサチップ110A)のチップ処理性能が、チップ処理性能判断部406によりチップ要求処理性能未満であると判断された場合、チップ要求処理性能を所定量低下するように変更する。
また、チップ要求処理性能変更部407は、システム処理性能判断部404により、システム処理性能がシステム要求処理性能のM(M>1)倍以内でないと判断された場合、各プロセッサチップ110のチップ要求処理性能を所定量低下するように変更する。なお、チップ要求処理性能変更部407による変更量は、所定量に限らず、変更の都度、利用者や、上位システムによって変更させてもよい。このチップ要求処理性能変更部407は、具体的には、図1に示した分散処理制御チップ120によってその機能を実現する。
クロック周波数変更部408は、一のプロセッサチップ110(たとえば、プロセッサチップ110A)について、チップ処理性能判断部406により、チップ要求処理性能のN倍以上であると判断された場合、特定クロック周波数を1/N倍に変更する。
特定クロック周波数の変更は、1/N倍に限らず、変更後の特定クロック周波数が仕様クロック周波数以下とならないように低減すれば、どのような手法でもよい。このクロック周波数変更部408は、具体的には、図1に示したテーブル格納部133およびマルチプロセッシング制御回路134によってその機能を実現する。
また、変更/追加メッセージ出力部409は、システム処理性能判断部404により、複数のプロセッサチップ110のチップ処理性能の合計が、システム要求処理性能以上であると判断された場合、複数のプロセッサチップ110から、あらたなプロセッサチップ110への交換または、あらたなプロセッサチップの追加を促すメッセージを出力する。
メッセージの出力は、たとえば、画面にメッセージを表示する形式や音声出力する形式でよい。この変更/追加メッセージ出力部409は、具体的には、図1に示したバス140に接続された出力回路(不図示)によってその機能を実現する。
また、検出部410は、設定部405によりプロセッサチップ110の動作クロック周波数が特定クロック周波数に設定された場合、各プロセッサチップ110のうち任意のプロセッサチップ110(たとえば、プロセッサチップ110A)が交換されたか否かを検出する。
具体的には、一のプロセッサチップ110(たとえば、プロセッサチップA)のチップID格納部115に格納されているチップIDを常時(たとえば、所定時間間隔で)監視し、前回取得したチップIDと今回取得したチップIDとが不一致であった場合、プロセッサチップ110Aが交換されたと検出される。この検出部410は、具体的には、図1に示したマルチプロセッシング制御回路によってその機能を実現する。
また、受付部411は、設定部405により各プロセッサチップ110の動作クロック周波数が特定クロック周波数に設定された場合、マルチプロセッシングシステム100の中の一のプロセッサチップ110(たとえば、プロセッサチップ110A)を実行させた場合に要求されるあらたなチップ要求処理性能を受け付ける。
たとえば、設定部405による設定後にチップ要求処理性能を変更したい場合、分散処理制御チップ120から、あらたなチップ要求処理性能を受信する。この受付部411は、具体的には、図1に示したバス制御回路131またはマルチプロセッシング制御回路134によってその機能を実現する。
また、最大処理性能判断部412は、一のプロセッサチップ110(たとえば、プロセッサチップ110A)における現在のチップ処理性能が最大処理性能であるか否かを判断する。最大処理性能とは、一のプロセッサチップ110の製造ばらつき情報である実クロック周波数に応じたチップ処理性能である。たとえば、プロセッサチップ110Aの実クロック周波数が2[GHz]である場合、プロセッサチップ110Aの最大処理性能は2Pvとなる。
最大処理性能判断部412は、具体的には、チップ処理性能判断部406により、一のプロセッサチップ110のチップ処理性能が、受付部411によって受け付けられたあらたなチップ要求処理性能未満であると判断された場合に判断をおこなう。すなわち、現在のチップ処理性能があらたなチップ要求処理性能よりも低いならば、一のプロセッサチップ110において現在の動作クロック周波数が最大か否かを判断する。
具体的には、一のプロセッサチップ110の処理性能が最大処理性能でないと判断された場合、特定部402は、一のプロセッサチップ110の特定クロック周波数を、最大処理性能に応じた最大クロック周波数に変更する。
この場合、チップ処理性能算出部403は、クロック周波数変更部408によって最大クロック周波数に変更された特定クロック周波数で一のプロセッサチップのチップ処理性能を算出する。このように、特定クロック周波数を一旦最大にして、それに合わせた電源電圧、基板電位を読み出すことで、再度、チップ処理性能の見積もりをしなおす。
これにより、マルチプロセッシングシステム100が処理している途中で、必要な処理量が変更されたとしても、自動的に特定クロック周波数を調整して最適値に設定することができる。なお、この最大処理性能判断部412は、具体的には、図1に示したマルチプロセッシング制御回路134によってその機能を実現する。
また、判断結果出力部413は、最大処理性能判断部412によって判断された判断結果を出力する。たとえば、一のプロセッサチップ110(たとえば、プロセッサチップ110A)における現在のチップ処理性能が最大処理性能であると判断された場合、あらたなチップ要求処理性能の見直しに関するメッセージを出力する。この判断結果出力部413は、具体的には、図1に示したバス140に接続された出力回路(不図示)によってその機能を実現する。
(マルチプロセッシングシステムの最適化処理手順)
つぎに、この発明の実施の形態にかかるマルチプロセッシングシステムの最適化処理手順について説明する。図5は、この発明の実施の形態にかかるマルチプロセッシングシステムの最適化処理手順を示すフローチャートである。図5のフローチャートにおいて、まず、分散処理制御チップ120によりマルチプロセッシングシステム100の搭載された情報処理装置の電源が投入されたか否かを判断する(ステップS501)。
ステップS501において、電源が投入されるまで待ち(ステップS501:Noのループ)、電源が投入された場合(ステップS501:Yes)、クロック周波数、電源電圧、基板電位を初期値に設定する(ステップS502)。初期値とは、プロセッサ種別情報回路112から取得したプロセッサチップ110の種別情報によって設定されている仕様クロック周波数と、当該仕様クロック周波数に応じて定まる電源電圧および基板電位である。
また、初期値には、マルチプロセッシングシステム100のシステム要求処理性能も含まれている。利用者や、上位システムから指定がなければ、初期値に含まれているシステム要求処理性能をマルチプロセッシングシステム100のシステム要求処理性能として処理を開始する。
ステップS502の設定が終了すると、リセット送受信回路132がリセット信号を受信したか否かを判断する(ステップS503)。ここでも、リセット信号を受信するまで待つ(ステップS503:Noのループ)。
ステップS503においてリセット信号が受信された場合(ステップS503:Yes)、動作条件制御チップ130が各プロセッサチップ110からチップIDと製造ばらつき情報(「Fast:速い」、「Typical:通常」、「Slow:遅い」など)が受信されたか否かを判断する(ステップS504)。
ステップS504において、製造ばらつき情報が受信されるまで待ち(ステップS504:Noのループ)、受信された場合(ステップS504:Yes)、分散処理制御チップ120から各プロセッサチップ110のチップ要求処理性能が受信されたか否かを判断する(ステップS505)。ここで、チップ要求処理性能が受信されるまで待ち(ステップS505:Noのループ)、チップ要求処理性能が受信された場合(ステップS505:Yes)、各プロセッサチップ110のチップ処理性能算出処理を実行する(ステップS506)。なお、チップ処理性能算出処理の詳細は後述する。
ステップS506の算出処理が終了すると、各プロセッサチップ110のチップ処理性能の合計となるシステム処理性能がシステム要求処理性能以上か否かを判断する(ステップS507)。
そして、ステップS507によりシステム処理性能がシステム要求処理性能未満であると判断された場合(ステップS507:No)、利用者に対してプロセッサチップ110の変更、追加に関するメッセージを報知し(ステップS509)、ステップS503の処理に戻る。
一方、ステップS507において、システム要求処理性能以上である場合(ステップS507:Yes)、さらに、システム処理性能がシステム要求処理性能のM倍(1<M)以内か否かを判断する(ステップS508)。
このステップS508の処理は、消費電力の観点から最適な動作である。また、消費電力に関係なく、より速い処理速度を実現したい場合は、「M」の値を大きくとり、動作可能な限り速い処理速度で動作させることもできる。
ステップS508において、システム処理性能は、システム要求処理性能のM倍以内ではないと判断された場合(ステップS508:No)、利用者に各プロセッサチップ110のチップ要求処理性能を再設定するように報知し(ステップS511)、ステップS505の処理に戻る。
一方、ステップS508において、システム処理性能がシステム要求処理性能のM倍以内と判断された場合(ステップS508:Yes)、各プロセッサチップ110をステップS506により算出されたチップ処理性能に応じた特定クロック周波数、電源電圧および基板電位に設定する(ステップS510)。
そして、ステップS510の処理が終了すると、最後に、リセットを解除してマルチプロセッシングシステム100を始動する(ステップS512)。これにより、各プロセッサチップ110は、チップ処理性能に応じた特定クロック周波数で最適な処理分散がおこなわれることとなる。
(チップ処理性能算出処理手順)
つぎに、図5に示したステップS506に示したチップ処理性能算出処理について説明する。図6は、図5に示したステップS506に示したチップ処理性能算出処理手順を示すフローチャートである。図6のフローチャートにおいて、まず、被制御プロセッサアドレスiを1に設定する(ステップS601)。
被制御プロセッサアドレスiとは、マルチプロセッシングシステム100固有のプロセッサチップ110を識別する値である。図1に示したマルチプロセッシングシステム100の場合、2つのプロセッサチップ(110A,110B)から構成されている。したがって、たとえば、プロセッサチップ110Aは「i=1」、プロセッサチップ110Bは「i=2」として被制御プロセッサアドレスiを設定する。
つぎに、特定部402により、テーブル格納部133からプロセッサチップ110Aのクロック周波数、電源電圧、基板電位を読み出す(ステップS602)。そして、読み出された特定クロック周波数に応じたチップ処理性能を算出する(ステップS603)。
つぎに、算出されたチップ処理性能がプロセッサチップ110Aのチップ要求処理性能以上であるか否かを判断する(ステップS604)。チップ処理性能がチップ要求処理性能未満と判断された場合は(ステップS604:No)、プロセッサチップ110Aのチップ要求処理性能を低下させ(ステップS606)、ステップS604の処理に戻る。
一方、チップ処理性能がチップ要求処理性能以上であると判断された場合(ステップS604:Yes)、さらに、チップ処理性能がチップ要求処理性能のN倍以上か否かを判断する(ステップS605)。
ステップS605において、チップ処理性能がチップ要求処理性能のN倍以上と判断された場合(ステップS605:Yes)、チップ処理性能が必要以上に大きく設定されており、消費電力が大きくなってしまう。したがって、つぎに最適なチップ処理性能を設定するための処理をおこなう。
まず、特定クロック周波数を1/Nに修正する(ステップS607)。その後、修正した特定クロック周波数に応じた電源電圧、基板電位を再読み出しする(ステップS608)。以上の処理が終了すると、ステップS603の処理に戻る。
一方、ステップS605において、チップ処理性能がチップ要求処理性能のN倍未満と判断された場合は(ステップS605:No)、特定クロック周波数、電源電圧および基板電位、チップ処理性能を保存する(ステップS609)。
最後に、すべてのプロセッサチップ110の算出処理が終了したか否かを判断する(ステップS610)。具体的には、被制御プロセッサアドレスiが最終番号であるか否かを判断する。そして、ステップS610において、すべてのプロセッサチップ110の算出処理が終了したと判断された場合は(ステップS610:Yes)、そのままステップS507の処理へ移行する。以上の処理を繰り返すことで、各プロセッサチップ110のチップ処理性能が、チップ要求処理性能の1倍からN倍までの範囲に最適化された特定クロック周波数、電源電圧および基板電位に設定することができる。
一方、ステップS610において、すべてのプロセッサチップ110の算出処理が終了していない場合は(ステップS610:No)、算出処理が終了していない他のプロセッサチップ110の算出処理へ移行するため、現在の被制御プロセッサアドレスiをインクリメントして(ステップS611)、ステップS602の処理に戻る。たとえば、被制御プロセッサアドレスiが「1」に設定されている場合であれば、ステップS611の処理により被制御プロセッサアドレスi=i+1は、すなわち「2」に設定され、プロセッサチップ110Bの処理に移る。
以上、説明したように、図5および図6に示した処理によれば、図2示したように実クロック周波数が2[GHz]と1[GHz]で動作する2つのプロセッサチップ110が接続されている場合、初期のチップ要求処理性能をそれぞれ2Pvとすると、プロセッサチップ110Bのチップ処理性能は1Pvであるため、チップ要求処理性能(2Pv)を満たせない。
したがって、プロセッサチップ110Bのチップ要求処理性能を1Pvにするように動作条件制御チップ130から分散処理制御チップ120に指示が出力される。このような処理をおこなうことで、プロセッサチップ110Aとプロセッサチップ110Bのチップ要求処理性能の比は2:1となる。
もし、マルチプロセッシングシステム100で2Pvのシステム処理性能が必要な場合は、プロセッサチップ110Aのチップ要求処理性能は、4/3Pvとなり、プロセッサチップ110Bのチップ要求処理性能は2/3Pvになる。これにより、マルチプロセッシングシステム100全体のシステム要求処理性能を2Pvにすることができる。
したがって、上述した処理によって図2に示したように、プロセッサチップ110Aおよびプロセッサチップ110Bが同一の仕様クロック周波数(1[GHz])であっても、プロセッサチップ110Aは2[GHz]で動作するように、プロセッサチップ110Bは、1[GHz]で動作するように、それぞれ設定することができる。
(プロセッサチップの追加、交換の際の処理)
続いて、この実施の形態におけるプロセッサチップの追加、交換の際の処理について説明する。プロセッサチップの追加、交換の際の処理は、図5および図6に示した処理の終了後に、プロセッサチップ110の追加または交換があった場合の処理である。
図7は、この発明の実施の形態にかかるプロセッサチップの追加、交換の際の処理の手順を示すフローチャートである。図7のフローチャートにおいて、まず、分散処理制御チップ120からプロセッサチップ110の追加・変更信号が受信されたか否かを判断する(ステップS701)。ここで、プロセッサチップ110追加・変更信号が受信されるまで待ち(ステップS701:Noのループ)、受信されると(ステップS701:Yes)、続いて、被制御プロセッサアドレスiをi=1に設定する(ステップS702)。
ステップS702の処理が終了すると、続いて、i番目のプロセッサチップ110からチップIDが受信されたか否かを判断する(ステップS703)。ここで、チップIDが受信されるまで待ち(ステップS703:Noのループ)、受信されると(ステップS703:Yes)、i番目のプロセッサチップ110のチップIDが、ステップS504で受信したi番目のプロセッサチップ110のチップIDと一致するか否かを判断する(ステップS704)。
ステップS704において、チップIDが一致する場合(ステップS704:Yes)、i番目のプロセッサチップ110の追加、変更が行われていないと判断される。したがって、つぎのプロセッサチップ110について同様の判断をおこなうため、まず、すべてのプロセッサチップ110のチェックが終了したか否かを判断する(ステップS705)。
ステップS705において、すべてのプロセッサチップ110のチェックが終了したと判断された場合は(ステップS705:Yes)、そのまま一連の処理を終了する。一方、すべてのプロセッサチップ110のチェックが終了していないと判断された場合は(ステップS705:No)、被制御プロセッサアドレスiをインクリメントして(ステップS706)、新しいi番目のプロセッサチップ110のチェックをおこなうためにステップS703の処理に戻る。
ステップS704において、i番目のプロセッサチップ110のチップIDが不一致であると判断された場合(ステップS704:No)、i番目のプロセッサチップ110は、追加または交換されたプロセッサチップ110であると判断され、被制御プロセッサアドレスiに追加または交換されたプロセッサチップ110のチップIDを書き込む(ステップS707)。
ステップS707の処理が終了すると、続いて、マルチプロセッシング制御回路134から処理分散制御回路121にプロセッサチップ交換信号を送信する(ステップS708)。さらに、i番目のプロセッサチップ110の実クロック周波数に応じてチップ処理性能算出処理を実行する(ステップS709)。このステップS709のチップ処理性能算出処理の詳細は、図6に示した処理手順と同一であるため、省略する。最後に、追加または交換されたプロセッサチップ110を始動させて(ステップS710)、一連の処理を終了する。
以上、説明したようなプロセッサチップ110の追加、交換の際の処理をおこなうこうとで、マルチプロセッシングシステム100により動作中の他のプロセッサチップ110を停止させることなく自動的にプロセッサチップ110の変更を検出することができる。また、交換後のプロセッサチップ110が最適なチップ処理性能で動作できるように特定クロック周波数を設定し、特定クロック周波数に応じた電源電圧および基板電位を設定することができる。
(特定のプロセッサチップのチップ要求処理性能の変更の際の処理)
つぎに、図5に示した最適化処理後における、任意のプロセッサチップのチップ要求処理性能を変更したときの最適化処理について説明する。図8は、図5に示した最適化処理後における、任意のプロセッサチップのチップ要求処理性能を変更したときの最適化処理手順を示すフローチャートである。
図8において、まず、利用者からの要求処理性能変更信号が処理分散制御回路121に受信されたか否かを判断する(ステップS801)。ここで、要求処理性能変更信号を受信するまで待ち(ステップS801:Noのループ)、受信されると(ステップS801:Yes)、各プロセッサチップ110のチップ処理性能を算出する(ステップS802)。
具体的には、図6に示したステップS602およびS603と同様、現在の温度情報を考慮して、製造ばらつき対最大クロック周波数テーブルを選択し、特定クロック周波数、電源電圧、基板電位を読み出す。そして、読み出された特定クロック周波数に応じたチップ処理性能を算出する。これにより、現在のチップ処理性能を得ることができる。
ステップS802の処理が終了すると、続いて、利用者から特定のプロセッサチップ110(たとえば、プロセッサチップ110A)に関してのあらたなチップ要求処理性能が受信されたか否かを判断する(ステップS803)。ここで、あらたなチップ要求処理性能が受信されるまで待ち(ステップS803:Noのループ)、受信されると(ステップS803:Yes)、ステップS802により算出されたプロセッサチップ110Aのチップ処理性能がステップS803により受信されたチップ要求処理性能以上か否かを判断する(ステップS804)。
ステップS804において、プロセッサチップ110Aのチップ処理性能がチップ要求処理性能以上と判断された場合は(ステップS804:Yes)、さらに、プロセッサチップ110Aのチップ処理性能がチップ要求処理性能のN倍以上か否かを判断する(ステップS805)。
ステップS805において、プロセッサチップ110Aのチップ処理性能がチップ要求処理性能のN倍以上と判断された場合は(ステップS805:Yes)、このままではプロセッサチップ110Aのチップ処理性能の設定が高すぎるため、最適なチップ処理性能に設定するための処理をおこなう。
まず、プロセッサチップ110Aの特定クロック周波数を1/N倍に修正する(ステップS806)。さらに、修正した特定クロック周波数に応じて、電源電圧、基板電位を再読み出しして(ステップS807)、ステップS802の処理に戻り、再度各プロセッサチップ110のチップ処理性能の見直しをおこなう。
ステップS804において、プロセッサチップ110Aのチップ処理性能がチップ要求処理性能未満と判断された場合は(ステップS804:No)、つぎに、現在のプロセッサチップ110Aのチップ処理性能が最大性能か否かを判断する(ステップS808)。この判断で、現在のチップ処理性能が最大性能であると判断された場合は(ステップS808:Yes)、チップ要求処理性能ではプロセッサチップ110Aを始動させることが不可能であるため、チップ要求処理性能の見直しを利用者に報知して(ステップS809)、一連の処理を終了する。
ステップS808において、プロセッサチップ110Aの現在のチップ処理性能が最大性能ではないと判断された場合は(ステップS808:No)、まず、特定クロック周波数をプロセッサチップ110Aの最大周波数、すなわち実クロック周波数に修正する(ステップS810)。さらに、修正した特定クロック周波数に応じて電源電圧および基板電位を再読み出しして(ステップS811)、ステップS802の処理に戻り、再度各プロセッサチップ110Aのチップ処理性能の見直しをおこなう。
ステップS805においてプロセッサチップ110Aのチップ処理性能がチップ要求処理性能のN倍未満と判断された場合は(ステップS805:No)、各プロセッサチップ110をステップS702により算出されたチップ処理性能に応じた特定クロック周波数、電源電圧および基板電位、処理性能に設定する(ステップS812)。
そして、ステップS812の処理が終了すると、最後に、リセットを解除して当該プロセッサチップであるプロセッサチップ110Aを始動する(ステップS813)。これにより、プロセッサチップ110Aは、あらたなチップ処理性能に応じた特定クロック周波数で最適な処理分散がおこなわれることとなる。
以上、説明したように、マルチプロセッシングシステム100による処理が実行されている途中で、各プロセッサチップ110のチップ要求処理性能を変更したい場合であっても、自動的に特定クロック周波数を再設定して、あらたなチップ要求処理性能を満たすように調整することができる。また、特定クロック周波数の変更に応じて、電源電圧および基板電位も最適な値に再設定することができる。
また、この発明の実施の形態にかかるマルチプロセッシングシステム100は、上述した実施の形態のような、利用者や上位システムが指定したシステム要求処理性能に応じて各プロセッサチップ110のチップ処理性能を設定する以外にも、他の利用形態を用いることができる。
たとえば、最初に現在のマルチプロセッシングシステム100の最大性能を算出し、利用者や上位システムに算出結果を報知するような利用形態を用いてもよい。このような利用形態の場合、M値、N値およびシステム要求処理性能を指定する必要がなく、報知された算出結果から各プロセッサチップ110に分散可能な値を設定することができる。したがって、マルチプロセッシングシステムの設定経験に乏しい利用者にとっても容易に各プロセッサチップ110の性能に適したシステム処理性能に設定することができる。
以上説明したように、マルチプロセッシングシステムによれば、個々のプロセッサチップの実性能を引き出しつつ、プロセッサチップ110全体の性能の向上させることができる。
また、マルチプロセッシングシステム100を構成する各プロセッサチップ110の製造ばらつきや、温度に応じて実クロック周波数を検出しているため、仕様クロック周波数よりも速い特定クロック周波数で動作させることができる。さらに、マルチプロセッシングシステム全体で処理量を調整することができることから、各プロセッサチップ110の実力に見合った処理分散をおこなうことができ、プロセッサチップ110全体のシステム処理性能を高くすることができる。
加えて、プロセッサチップ110ごとに、実クロック周波数に見合った処理分散をおこなうように特定クロック周波数を設定できることから、過剰に速いクロック周波数に設定されることがなく、消費電力の低減化を図ることができる。
また、複数のプロセッサチップ110から構成されるマルチプロセッシングシステムでは、運用上、プロセッサチップ110を交換するような利用形態も想定される。したがって、プロセッサチップ110の処理性能の変化を考慮しなければならないが、この発明にかかるマルチプロセッシングシステム100の場合、自動的にプロセッサチップ110の交換を検出して、プロセッサチップ110の交換によって構成が変更した後のマルチプロセッシングシステム100においても最適なチップ処理性能で動作させることができる。
(付記1)複数のプロセッサチップに処理を分散させて実行させるマルチプロセッシングシステムにおいて、
前記プロセッサチップのクロック周波数の製造ばらつきに関する情報を前記複数のプロセッサチップから取得する取得手段と、
前記取得手段によって取得された製造ばらつきに関する情報に応じたクロック周波数を特定する特定手段と、
前記特定手段によって特定されたクロック周波数(以下、「特定クロック周波数」という)で前記プロセッサチップに処理を実行させた場合の処理性能(以下、「チップ処理性能」という)を前記プロセッサチップごとに算出するチップ処理性能算出手段と、
前記チップ処理性能算出手段によって算出されたチップ処理性能の合計が、前記複数のプロセッサチップ全体を実行させた場合に要求されるシステム要求処理性能以上であるか否かを判断するシステム処理性能判断手段と、
前記システム処理性能判断手段によって判断された判断結果に基づいて、前記プロセッサチップの動作クロック周波数を前記特定クロック周波数に設定する設定手段と、
を備えることを特徴とするマルチプロセッシングシステム。
(付記2)前記複数のプロセッサチップの中から選ばれた一のプロセッサチップについて、前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記プロセッサチップを実行させた場合に要求されるチップ要求処理性能以上であるか否かを判断するチップ処理性能判断手段を備え、
前記システム処理性能判断手段は、
さらに、前記チップ処理性能判断手段によって判断された判断結果に基づいて、前記各チップ処理性能の合計が、前記システム要求処理性能以上であるか否かを判断することを特徴とする付記1に記載のマルチプロセッシングシステム。
(付記3)前記一のプロセッサチップについて、前記チップ処理性能判断手段により、前記チップ要求処理性能未満であると判断された場合、当該チップ要求処理性能を所定量低下するように変更するチップ要求処理性能変更手段を備え、
前記チップ処理性能判断手段は、
前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記チップ要求処理性能変更手段による変更後のチップ要求処理性能以上であるか否かを判断することを特徴とする付記2に記載のマルチプロセッシングシステム。
(付記4)前記チップ処理性能判断手段は、
前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記チップ要求処理性能以上であると判断された場合、さらに、当該チップ要求処理性能のN(N>1)倍以上であるか否かを判断することを特徴とする付記2に記載のマルチプロセッシングシステム。
(付記5)前記一のプロセッサチップについて、前記チップ処理性能判断手段により、前記チップ要求処理性能のN倍以上であると判断された場合、前記特定クロック周波数を1/N倍に変更するクロック周波数変更手段を備え、
前記チップ処理性能算出手段は、
前記クロック周波数変更手段による変更後の特定クロック周波数で前記一のプロセッサチップに処理を実行させた場合のチップ処理性能をあらたに算出することを特徴とする付記4に記載のマルチプロセッシングシステム。
(付記6)前記システム処理性能判断手段により、前記複数のプロセッサチップのチップ処理性能の合計が前記システム要求処理性能未満であると判断された場合、前記複数のプロセッサチップからあらたなプロセッサチップへの交換または前記あらたなプロセッサチップの追加を促すメッセージを出力する変更/追加メッセージ出力手段を備え、
前記取得手段は、
前記変更/追加メッセージ出力手段によって出力された結果、前記あらたなプロセッサチップに交換または追加された場合、前記あらたなプロセッサチップのクロック周波数の製造ばらつきに関する情報を取得することを特徴とする付記1〜5のいずれか一つに記載のマルチプロセッシングシステム。
(付記7)前記システム処理性能判断手段は、
前記システム要求処理性能以上であると判断された場合、さらに、当該システム要求処理性能のM(M>1)倍以内であるか否かを判断することを特徴とする付記1に記載のマルチプロセッシングシステム。
(付記8)前記システム処理性能判断手段により、前記システム要求処理性能のM(M>1)倍以内でないと判断された場合、前記チップ要求処理性能を所定量低下するように変更するチップ要求処理性能変更手段を備え、
前記チップ処理性能判断手段は、
前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記チップ要求処理性能変更手段による変更後のチップ要求処理性能以上であるか否かを判断することを特徴とする付記7に記載のマルチプロセッシングシステム。
(付記9)前記設定手段により前記特定クロック周波数に設定された場合、前記複数のプロセッサチップのうち任意のプロセッサチップが交換されたか否かを検出する検出手段を備え、
前記取得手段は、
前記検出手段による交換されたことが検出された場合、あらたに搭載されたプロセッサチップの製造ばらつきに関する情報を取得することを特徴とする付記1に記載のマルチプロセッシングシステム。
(付記10)前記設定手段により前記特定クロック周波数に設定された場合、前記一のプロセッサチップのあらたなチップ要求処理性能を受け付ける受付手段を備え、
前記チップ処理性能判断手段は、
前記一のプロセッサチップについて、前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記受付手段によって受け付けられたあらたなチップ要求処理性能以上であるか否かを判断することを特徴とする付記2に記載のマルチプロセッシングシステム。
(付記11)前記一のプロセッサチップについて、前記チップ処理性能判断手段により、前記受付手段によって受け付けられたあらたなチップ要求処理性能未満であると判断された場合、さらに、前記あらたなチップ要求処理性能が、前記一のプロセッサチップの製造ばらつき情報に応じた最大処理性能か否かを判断する最大処理性能判断手段と、
前記最大処理性能判断手段によって判断された判断結果を出力する判断結果出力手段と、
を備えることを特徴とする付記10に記載のマルチプロセッシングシステム。
(付記12)前記判断結果出力手段は、
前記最大処理性能判断手段により、前記最大処理性能であると判断された場合、前記一のプロセッサチップのチップ要求処理性能の見直しに関するメッセージを出力することを特徴とする付記11に記載のマルチプロセッシングシステム。
(付記13)前記特定手段は、
前記最大処理性能判断手段により、前記最大処理性能でないと判断された場合、前記一のプロセッサチップの特定クロック周波数を、前記最大処理性能に応じた最大クロック周波数に特定し、
前記チップ処理性能算出手段は、
前記クロック周波数設定手段によって前記最大クロック周波数となった特定クロック周波数で前記一のプロセッサチップのチップ処理性能を算出することを特徴とする付記12に記載のマルチプロセッシングシステム。
以上のように、この発明にかかるマルチプロセッシングシステムは、利用者の用途にあわせてプロセッサチップを構成できるようなマルチプロセッシングシステムに有用であり、特に、処理情報の種類や情報量が頻繁に変化するような情報処理装置に適している。
この発明の実施の形態にかかるマルチプロセッシングシステムのハードウェア構成を示すブロック図である。 各プロセッサチップの特性を示す図表である。 製造ばらつき対最大クロック周波数テーブルを模式的に示した説明図(その1)である。 製造ばらつき対最大クロック周波数テーブルを模式的に示した説明図(その2)である。 この発明の実施の形態にかかるマルチプロセッシングシステムの機能的構成を示したブロック図である。 この発明の実施の形態にかかるマルチプロセッシングシステムの最適化処理手順を示すフローチャートである。 図5に示したステップS506に示したチップ処理性能算出処理手順を示すフローチャートである。 この発明の実施の形態にかかるプロセッサチップの追加、交換の際の処理の手順を示すフローチャートである。 図5に示した最適化処理後における、任意のプロセッサチップのチップ要求処理性能を変更したときの最適化処理手順を示すフローチャートである。 従来のマルチプロセッシングシステムを示すブロック図である。
符号の説明
100 マルチプロセッシングシステム
110(110A,110B) プロセッサチップ
111 プロセッサ回路
111a クロックユニット
111b コアユニット
112 プロセッサ種別情報回路
113 製造ばらつき情報回路
114 周波数設定回路
115 チップID格納部
116 温度検出部
117,131 バス制御回路
120 分散処理制御チップ
121 処理分散制御回路
130 動作条件制御チップ
132 リセット送受信回路
133 テーブル格納部
134 マルチプロセッシング制御回路

Claims (10)

  1. 複数のプロセッサチップに処理を分散させて実行させるマルチプロセッシングシステムにおいて、
    前記プロセッサチップのクロック周波数の製造ばらつきに関する情報を前記複数のプロセッサチップから取得する取得手段と、
    前記取得手段によって取得された製造ばらつきに関する情報に応じたクロック周波数を特定する特定手段と、
    前記特定手段によって特定されたクロック周波数(以下、「特定クロック周波数」という)で前記プロセッサチップに処理を実行させた場合の処理性能(以下、「チップ処理性能」という)を前記プロセッサチップごとに算出するチップ処理性能算出手段と、
    前記チップ処理性能算出手段によって算出されたチップ処理性能の合計が、前記複数のプロセッサチップ全体を実行させた場合に要求されるシステム要求処理性能以上であるか否かを判断するシステム処理性能判断手段と、
    前記システム処理性能判断手段によって判断された判断結果に基づいて、前記プロセッサチップの動作クロック周波数を前記特定クロック周波数に設定する設定手段と、
    を備えることを特徴とするマルチプロセッシングシステム。
  2. 前記複数のプロセッサチップの中から選ばれた一のプロセッサチップについて、前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記プロセッサチップを実行させた場合に要求されるチップ要求処理性能以上であるか否かを判断するチップ処理性能判断手段を備え、
    前記システム処理性能判断手段は、
    さらに、前記チップ処理性能判断手段によって判断された判断結果に基づいて、前記各チップ処理性能の合計が、前記システム要求処理性能以上であるか否かを判断することを特徴とする請求項1に記載のマルチプロセッシングシステム。
  3. 前記一のプロセッサチップについて、前記チップ処理性能判断手段により、前記チップ要求処理性能未満であると判断された場合、当該チップ要求処理性能を所定量低下するように変更するチップ要求処理性能変更手段を備え、
    前記チップ処理性能判断手段は、
    前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記チップ要求処理性能変更手段による変更後のチップ要求処理性能以上であるか否かを判断することを特徴とする請求項2に記載のマルチプロセッシングシステム。
  4. 前記チップ処理性能判断手段は、
    前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記チップ要求処理性能以上であると判断された場合、さらに、当該チップ要求処理性能のN(N>1)倍以上であるか否かを判断することを特徴とする請求項2に記載のマルチプロセッシングシステム。
  5. 前記一のプロセッサチップについて、前記チップ処理性能判断手段により、前記チップ要求処理性能のN倍以上であると判断された場合、前記特定クロック周波数を1/N倍に変更するクロック周波数変更手段を備え、
    前記チップ処理性能算出手段は、
    前記クロック周波数変更手段による変更後の特定クロック周波数で前記一のプロセッサチップに処理を実行させた場合のチップ処理性能をあらたに算出することを特徴とする請求項4に記載のマルチプロセッシングシステム。
  6. 前記システム処理性能判断手段により、前記複数のプロセッサチップのチップ処理性能の合計が前記システム要求処理性能未満であると判断された場合、前記複数のプロセッサチップからあらたなプロセッサチップへの交換または前記あらたなプロセッサチップの追加を促すメッセージを出力する変更/追加メッセージ出力手段を備え、
    前記取得手段は、
    前記変更/追加メッセージ出力手段によって出力された結果、前記あらたなプロセッサチップに交換または追加された場合、前記あらたなプロセッサチップのクロック周波数の製造ばらつきに関する情報を取得することを特徴とする請求項1〜5のいずれか一つに記載のマルチプロセッシングシステム。
  7. 前記システム処理性能判断手段は、
    前記システム要求処理性能以上であると判断された場合、さらに、当該システム要求処理性能のM(M>1)倍以内であるか否かを判断することを特徴とする請求項1に記載のマルチプロセッシングシステム。
  8. 前記システム処理性能判断手段により、前記システム要求処理性能のM(M>1)倍以内でないと判断された場合、前記チップ要求処理性能を所定量低下するように変更するチップ要求処理性能変更手段を備え、
    前記チップ処理性能判断手段は、
    前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記チップ要求処理性能変更手段による変更後のチップ要求処理性能以上であるか否かを判断することを特徴とする請求項7に記載のマルチプロセッシングシステム。
  9. 前記設定手段により前記特定クロック周波数に設定された場合、前記複数のプロセッサチップのうち任意のプロセッサチップが交換されたか否かを検出する検出手段を備え、
    前記取得手段は、
    前記検出手段により交換されたことが検出された場合、あらたに搭載されたプロセッサチップの製造ばらつきに関する情報を取得することを特徴とする請求項1に記載のマルチプロセッシングシステム。
  10. 前記設定手段により前記特定クロック周波数に設定された場合、前記一のプロセッサチップのあらたなチップ要求処理性能を受け付ける受付手段を備え、
    前記チップ処理性能判断手段は、
    前記一のプロセッサチップについて、前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記受付手段によって受け付けられたあらたなチップ要求処理性能以上であるか否かを判断することを特徴とする請求項2に記載のマルチプロセッシングシステム。

JP2006038584A 2006-02-15 2006-02-15 マルチプロセッシングシステム Expired - Fee Related JP5282349B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006038584A JP5282349B2 (ja) 2006-02-15 2006-02-15 マルチプロセッシングシステム
US11/443,029 US7774635B2 (en) 2006-02-15 2006-05-31 Multi-processing system distributing workload optimally during operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006038584A JP5282349B2 (ja) 2006-02-15 2006-02-15 マルチプロセッシングシステム

Publications (2)

Publication Number Publication Date
JP2007219759A true JP2007219759A (ja) 2007-08-30
JP5282349B2 JP5282349B2 (ja) 2013-09-04

Family

ID=38370172

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006038584A Expired - Fee Related JP5282349B2 (ja) 2006-02-15 2006-02-15 マルチプロセッシングシステム

Country Status (2)

Country Link
US (1) US7774635B2 (ja)
JP (1) JP5282349B2 (ja)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7596709B2 (en) * 2000-12-30 2009-09-29 Intel Corporation CPU power management based on utilization with lowest performance mode at the mid-utilization range
US7714635B2 (en) * 2007-02-06 2010-05-11 International Business Machines Corporation Digital adaptive voltage supply
US7971035B2 (en) 2007-02-06 2011-06-28 International Business Machines Corporation Using temperature data for instruction thread direction
US7779235B2 (en) * 2007-02-06 2010-08-17 International Business Machines Corporation Using performance data for instruction thread direction
US7560945B2 (en) * 2007-02-06 2009-07-14 International Business Machines Corporation Integrated circuit failure prediction
US8615767B2 (en) * 2007-02-06 2013-12-24 International Business Machines Corporation Using IR drop data for instruction thread direction
US7936153B2 (en) * 2007-02-06 2011-05-03 International Business Machines Corporation On-chip adaptive voltage compensation
US7865750B2 (en) 2007-02-06 2011-01-04 International Business Machines Corporation Fan speed control from adaptive voltage supply
US8022685B2 (en) * 2007-02-06 2011-09-20 International Business Machines Corporation Temperature dependent voltage source compensation
US7895454B2 (en) * 2007-02-06 2011-02-22 International Business Machines Corporation Instruction dependent dynamic voltage compensation
US8140885B2 (en) * 2007-02-14 2012-03-20 International Business Machines Corporation Accounting for microprocessor resource consumption
US8095816B1 (en) 2007-04-05 2012-01-10 Marvell International Ltd. Processor management using a buffer
US8443187B1 (en) 2007-04-12 2013-05-14 Marvell International Ltd. Authentication of computing devices in server based on mapping between port identifier and MAC address that allows actions-per-group instead of just actions-per-single device
US8321706B2 (en) 2007-07-23 2012-11-27 Marvell World Trade Ltd. USB self-idling techniques
US7797131B2 (en) * 2007-08-24 2010-09-14 International Business Machines Corporation On-chip frequency response measurement
US8185572B2 (en) * 2007-08-24 2012-05-22 International Business Machines Corporation Data correction circuit
US8005880B2 (en) * 2007-08-24 2011-08-23 International Business Machines Corporation Half width counting leading zero circuit
US7809970B2 (en) * 2007-08-27 2010-10-05 International Business Machines Corporation System and method for providing a high-speed message passing interface for barrier operations in a multi-tiered full-graph interconnect architecture
US7840703B2 (en) 2007-08-27 2010-11-23 International Business Machines Corporation System and method for dynamically supporting indirect routing within a multi-tiered full-graph interconnect architecture
US7769892B2 (en) 2007-08-27 2010-08-03 International Business Machines Corporation System and method for handling indirect routing of information between supernodes of a multi-tiered full-graph interconnect architecture
US7769891B2 (en) 2007-08-27 2010-08-03 International Business Machines Corporation System and method for providing multiple redundant direct routes between supernodes of a multi-tiered full-graph interconnect architecture
US7822889B2 (en) 2007-08-27 2010-10-26 International Business Machines Corporation Direct/indirect transmission of information using a multi-tiered full-graph interconnect architecture
US8140731B2 (en) 2007-08-27 2012-03-20 International Business Machines Corporation System for data processing using a multi-tiered full-graph interconnect architecture
US8014387B2 (en) 2007-08-27 2011-09-06 International Business Machines Corporation Providing a fully non-blocking switch in a supernode of a multi-tiered full-graph interconnect architecture
US7958182B2 (en) 2007-08-27 2011-06-07 International Business Machines Corporation Providing full hardware support of collective operations in a multi-tiered full-graph interconnect architecture
US7958183B2 (en) 2007-08-27 2011-06-07 International Business Machines Corporation Performing collective operations using software setup and partial software execution at leaf nodes in a multi-tiered full-graph interconnect architecture
US7904590B2 (en) 2007-08-27 2011-03-08 International Business Machines Corporation Routing information through a data processing system implementing a multi-tiered full-graph interconnect architecture
US8185896B2 (en) 2007-08-27 2012-05-22 International Business Machines Corporation Method for data processing using a multi-tiered full-graph interconnect architecture
US8108545B2 (en) 2007-08-27 2012-01-31 International Business Machines Corporation Packet coalescing in virtual channels of a data processing system in a multi-tiered full-graph interconnect architecture
US7793158B2 (en) 2007-08-27 2010-09-07 International Business Machines Corporation Providing reliability of communication between supernodes of a multi-tiered full-graph interconnect architecture
US7827428B2 (en) 2007-08-31 2010-11-02 International Business Machines Corporation System for providing a cluster-wide system clock in a multi-tiered full-graph interconnect architecture
US7921316B2 (en) 2007-09-11 2011-04-05 International Business Machines Corporation Cluster-wide system clock in a multi-tiered full-graph interconnect architecture
US8171309B1 (en) 2007-11-16 2012-05-01 Marvell International Ltd. Secure memory controlled access
US8077602B2 (en) 2008-02-01 2011-12-13 International Business Machines Corporation Performing dynamic request routing based on broadcast queue depths
US20090198956A1 (en) * 2008-02-01 2009-08-06 Arimilli Lakshminarayana B System and Method for Data Processing Using a Low-Cost Two-Tier Full-Graph Interconnect Architecture
US7779148B2 (en) 2008-02-01 2010-08-17 International Business Machines Corporation Dynamic routing based on information of not responded active source requests quantity received in broadcast heartbeat signal and stored in local data structure for other processor chips
US8510560B1 (en) 2008-08-20 2013-08-13 Marvell International Ltd. Efficient key establishment for wireless networks
US8296555B2 (en) * 2008-09-18 2012-10-23 Marvell World Trade Ltd. Preloader
CN102272734B (zh) * 2009-01-05 2014-09-10 马维尔国际贸易有限公司 使用非易失性存储器设备用于休眠或挂起的方法和系统
US8417778B2 (en) * 2009-12-17 2013-04-09 International Business Machines Corporation Collective acceleration unit tree flow control and retransmit
CN102902342A (zh) * 2011-07-27 2013-01-30 鸿富锦精密工业(深圳)有限公司 电源转换系统及方法
US9141394B2 (en) 2011-07-29 2015-09-22 Marvell World Trade Ltd. Switching between processor cache and random-access memory
US9436629B2 (en) 2011-11-15 2016-09-06 Marvell World Trade Ltd. Dynamic boot image streaming
US9575768B1 (en) 2013-01-08 2017-02-21 Marvell International Ltd. Loading boot code from multiple memories
US9736801B1 (en) 2013-05-20 2017-08-15 Marvell International Ltd. Methods and apparatus for synchronizing devices in a wireless data communication system
US9521635B1 (en) 2013-05-21 2016-12-13 Marvell International Ltd. Methods and apparatus for selecting a device to perform shared functionality in a deterministic and fair manner in a wireless data communication system
WO2015015305A1 (en) 2013-07-31 2015-02-05 Marvell Word Trade Ltd. Parallelizing boot operations
WO2017168228A1 (en) 2016-03-08 2017-10-05 Marvell World Trade Ltd. Methods and apparatus for secure device authentication
US10825054B2 (en) 2016-04-01 2020-11-03 At&T Intellectual Property I, L.P. Method and apparatus for providing network information
US10739846B2 (en) * 2018-12-11 2020-08-11 Nxp B.V. Closed-loop adaptive voltage, body-biasing and frequency scaling
KR20220142781A (ko) * 2021-04-15 2022-10-24 에스케이하이닉스 주식회사 컨트롤러 및 컨트롤러의 동작 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6711447B1 (en) * 2003-01-22 2004-03-23 Intel Corporation Modulating CPU frequency and voltage in a multi-core CPU architecture
WO2004061635A2 (en) * 2002-12-31 2004-07-22 Transmeta Corporation Adaptive power control
JP2004220609A (ja) * 2003-01-13 2004-08-05 Arm Ltd データ処理性能制御装置及び方法
JP2004228417A (ja) * 2003-01-24 2004-08-12 Renesas Technology Corp 半導体集積回路装置
JP2005128937A (ja) * 2003-10-27 2005-05-19 Matsushita Electric Ind Co Ltd プロセッサシステム、命令列最適化装置、および命令列最適化プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW522298B (en) * 2000-10-04 2003-03-01 Winbond Electronics Corp Apparatus and method for automatically detecting stable operating frequency
US7020713B1 (en) * 2000-10-10 2006-03-28 Novell, Inc. System and method for balancing TCP/IP/workload of multi-processor system based on hash buckets
US7076671B2 (en) * 2002-08-12 2006-07-11 Hewlett-Packard Development Company, L.P. Managing an operating frequency of processors in a multi-processor computer system
US7089432B2 (en) * 2002-12-27 2006-08-08 Matsushita Electric Industrial Co., Ltd. Method for operating a processor at first and second rates depending upon whether the processor is executing code to control predetermined hard drive operations
US7343508B2 (en) * 2004-03-05 2008-03-11 Ati Technologies Inc. Dynamic clock control circuit for graphics engine clock and memory clock and method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004061635A2 (en) * 2002-12-31 2004-07-22 Transmeta Corporation Adaptive power control
JP2006515448A (ja) * 2002-12-31 2006-05-25 トランスメタ コーポレイション 適応電力制御方法
JP2004220609A (ja) * 2003-01-13 2004-08-05 Arm Ltd データ処理性能制御装置及び方法
US6711447B1 (en) * 2003-01-22 2004-03-23 Intel Corporation Modulating CPU frequency and voltage in a multi-core CPU architecture
JP2004228417A (ja) * 2003-01-24 2004-08-12 Renesas Technology Corp 半導体集積回路装置
JP2005128937A (ja) * 2003-10-27 2005-05-19 Matsushita Electric Ind Co Ltd プロセッサシステム、命令列最適化装置、および命令列最適化プログラム

Also Published As

Publication number Publication date
US7774635B2 (en) 2010-08-10
JP5282349B2 (ja) 2013-09-04
US20070192650A1 (en) 2007-08-16

Similar Documents

Publication Publication Date Title
JP5282349B2 (ja) マルチプロセッシングシステム
US10983576B2 (en) Method and apparatus for managing global chip power on a multicore system on chip
US9984038B2 (en) Method, apparatus, and system for optimizing frequency and performance in a multidie microprocessor
US7240225B2 (en) System and method for throttling power in one or more information handling systems
US8321057B2 (en) Infrastructure for adaptive environmental control for equipment in a bounded area
US8533731B2 (en) Apparatus and method for distrubuting complex events based on correlations therebetween
US20140344389A1 (en) Server having multiple nodes and method for dynamically setting master node of the server
US20100332873A1 (en) Power Supply Engagement and Method Therefor
CN102460342A (zh) 用于在多处理器核心系统中执行节能的网络数据包处理的方法和装置
TW201508468A (zh) 功率信號介面
US8850234B2 (en) Power management apparatus and method
US20130145030A1 (en) Control device, terminal apparatus, and communication system
US9317098B2 (en) Server, power management system, power management method, and program
US10126808B2 (en) Dynamic power management
JP6828633B2 (ja) データ処理装置及びその制御方法、並びにプログラム
AU2021204829A1 (en) Optimized parent and path selection for battery powered devices within a wireless network
JP5857228B2 (ja) 周波数制御方法および周波数制御システム
US9798697B2 (en) Sensor node with periodic information generation and controlled information transmission
JP2009293847A (ja) 空調制御システムおよびこれに利用する空調機制御装置、空調制御監視方法
JP5741301B2 (ja) 通信制御装置、情報処理装置及びパス選択方法
JP7319854B2 (ja) 制御システム、被制御装置および被制御装置の制御方法
JP7319853B2 (ja) 制御システム、制御装置および制御装置の制御方法
WO2013145272A1 (ja) 情報処理装置、及びプログラム
WO2024072934A1 (en) Method and apparatus for telemetry of system on a wafer
JP2019161298A (ja) 通信端末、通信システム、および制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080526

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111011

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120612

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120912

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130411

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130430

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130513

LAPS Cancellation because of no payment of annual fees