[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP5169731B2 - マルチプロセッサシステムlsi - Google Patents

マルチプロセッサシステムlsi Download PDF

Info

Publication number
JP5169731B2
JP5169731B2 JP2008273976A JP2008273976A JP5169731B2 JP 5169731 B2 JP5169731 B2 JP 5169731B2 JP 2008273976 A JP2008273976 A JP 2008273976A JP 2008273976 A JP2008273976 A JP 2008273976A JP 5169731 B2 JP5169731 B2 JP 5169731B2
Authority
JP
Japan
Prior art keywords
interrupt
cpu
destination
signal
state
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
JP2008273976A
Other languages
English (en)
Other versions
JP2010102540A (ja
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 Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor 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 Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2008273976A priority Critical patent/JP5169731B2/ja
Priority to US12/574,769 priority patent/US8549200B2/en
Publication of JP2010102540A publication Critical patent/JP2010102540A/ja
Application granted granted Critical
Publication of JP5169731B2 publication Critical patent/JP5169731B2/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
    • 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)
  • Power Sources (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)

Description

本発明は、マルチプロセッサシステムLSIに関し、特に割り込み制御回路を有するマルチプロセッサシステムLSIに関する。
マルチプロセッサシステムLSIは、そのチップ内に複数のプロセッサユニット(以下、CPUと称する。)を有する。そして、それら複数のCPUにより並列処理や連携処理等が行われる。また、その際、CPUは、割り込みをトリガとして、互いに処理の受け渡しを行う。従来のマルチプロセッサシステムLSIでは、あるCPUが他のCPUを指定して割り込み要求を出す場合、割り込み要求元CPUは、割り込み要求先CPUを指定して割り込み要求を出力する。そして、その割り込み要求に応答して、割り込み要求先CPUは、実行中の処理を停止し、割り込み要求元CPUの処理を引き継ぐなど、所定の割り込み処理を行う。
一方で、マルチプロセッサシステムには省電力制御のために、低消費電力状態での動作が要求されている。ここでいう低消費電力状態とは、以下の3つの方法のうち少なくとも1つを意味し、CPUの消費電力を削減した状態のことをいう。
(1)CPUに与えるクロックを止める。若しくは、クロック周波数を下げる。
(2)CPUにクロックは与えるが、CPU内部における、割り込み判定回路等の一部の回路を除く各回路へのクロックを止める。
(3)CPUの電源電圧を下げる。または、0 Vにする。
上記の低消費電力状態は、一般的に、スリープ(sleep)、シャットダウン(shutdown)、スタンバイ(standby)、パワーダウン(power down)等と称される。すなわち、マルチプロセッサシステムLSIの有するCPUの中で、リアルタイムに処理を行う必要のないCPUの稼動を制限することにより、消費電力を削減する。
特許文献1では、低消費電力化に伴うプロセッサの内部動作周波数の変化に応じて、割り込み信号長をプロセッサが認識可能な長さに変化させる回路について記載している。
また、特許文献2では、マルチプロセッサにおいて、複数のプロセッサに同時に割り込み信号を送信する割り込み制御装置について記載されている。
また、特許文献3では、マルチプロセッサにおいて、処理のスケジューリング編成を行うメインプロセッサがサブプロセッサをモニタし、サブプロセッサで誤動作が生じても全体が動作を維持できるように、状況に応じて他のプロセッサに処理の再割り当てを行う旨が記載されている。
特開2004-78640号公報 特開 平3-81834号公報 特開2005-332402号公報
しかしながら、マルチプロセッサシステムLSIにおいて、低消費電力状態にあるCPUに対して、割り込み要求が出されると、その低消費電力状態にあったCPUは通常動作状態に復帰し、要求される処理を実行する。そのため、消費電力の増加を引き起こすことになる。
そこで、本発明の目的は、省電力制御に適した割り込み制御を行うマルチプロセッサシステムLSIを提供することにある。
1つの態様によれば、マルチプロセッサシステムLSIは、割り込み要求先プロセッサユニットを指定した割り込み要求を表す割り込み要求信号を送信し、割り込み信号を受信する複数のプロセッサユニットと、前記複数のプロセッサユニットの各々から前記割り込み要求信号を受信し、前記複数のプロセッサユニットに前記割り込み信号を送信する割り込み制御回路とを有し、前記割り込み制御回路は、前記複数のプロセッサユニットの各々から送信される前記割り込み要求信号に応答して、当該割り込み要求信号が指定する前記割り込み要求先プロセッサユニットの消費電力状態が低消費電力状態でない場合は、当該割り込み要求先プロセッサユニットに前記割り込み信号を送信し、低消費電力状態である場合は、前記割込み要求先プロセッサユニットとは異なる他のプロセッサユニットに割り込み信号を送信する。
本発明によれば、省電力制御に適した割り込み制御を行うマルチプロセッサシステムLSIを提供することができる。
以下,図面にしたがって本発明の実施の形態について説明する。但し,本発明の技術的範囲はこれらの実施の形態に限定されず,特許請求の範囲に記載された事項とその均等物まで及ぶものである。
前述したとおり、従来のマルチプロセッサシステムLSIにおいて、低消費電力状態にあるCPUに対して割り込み要求が出されると、その低消費電力状態にあったCPUは通常動作状態に復帰し、消費電力の増加を引き起こすことになる。しかし、この場合に、低消費電力状態のCPUではなく、通常動作中の他のCPUに対して割り込みを発生させれば、低消費電力状態のCPUはその状態を維持するため、消費電力の増加は抑制される。
そこで、本実施の形態のマルチプロセッサシステムLSIは、割り込み要求先CPUの消費電力状態を判別し、低消費電力状態の場合、自動的に割り込み先を変更する割り込み制御回路を有する。しかも、変更される割り込み先CPUは、低消費電力状態でないものが選択される。なお、以下、CPUの低消費電力状態としてスリープ状態を例として説明するが、前述したとおり、CPUの低消費電力状態は、スリープ状態に限られない。
[第1の実施の形態]
図1は、第1の実施の形態におけるマルチプロセッサシステムのブロック図である。本構成は、説明のためCPUを3つ有し、また、割り込みの制御を行う割り込み制御回路4を有する。また、割り込み制御回路4は、バスインターフェース回路5とCPU状態判定回路7と割り込み信号送信回路6とを有する。なお、CPU1とCPU2とCPU3と割り込み制御回路4とメモリ20は全てバス30を介して接続されている。
はじめに概要を説明する。本第1の実施の形態において、各々のCPUは、割り込み要求先CPUを指定して、割り込みの仲介を行う割り込み制御回路4に対して、割り込み要求信号S1aを送信する。割り込み制御回路4は、割り込み要求信号S1aに応答して、割り込み要求先CPUの出力するスリープ信号(自己の低消費電力状態を表す状態信号)を参照することにより、割り込み要求先CPUがスリープ状態(低消費電力状態)か否かの消費電力状態を判別する。そして、割り込み制御回路4は、割り込み要求先CPUがスリープ状態でない場合は、そのCPUに、割り込み信号S3、S4、S5を送信し、割り込み要求先CPUがスリープ状態の場合は、他の異なるCPUを割り込み先CPUに変更する。本第1の実施の形態において、割り込み制御回路4は、この割り込み先の変更の際に、各々のCPUの割り込み先優先度が規定された割り込み先優先順位テーブルを参照し、スリープ状態でないCPUを選定し、そのCPUに割り込み信号を送信する。
次に、第1の実施の形態を構成する各部の機能と動作について説明する。各々のCPUは、メモリ20から読み込んだプログラムの命令に応じて処理を行う。そして、必要に応じて、割込み要求元CPUは、割込み要求先CPUを指定した割り込み要求信号S1aを、割り込み制御回路4に出力する。また、CPUは、スリープ状態になる前に、自己がスリープ状態であることを示すスリープ信号S23、S24、S25をCPU状態判定回路7に出力する。なお、各々のCPUの処理速度は異なってもよい。例えばCPU1は他のCPUと比較して処理速度が速く、他のCPUを集中的に管理するようなメインプロセッサであってもよい。
バスインターフェース回路5は、各々のCPUからバス30を介して送信される割り込み要求信号S1aを受信し、その割り込み要求信号S1aから、どのCPUに対して割り込み要求があったかを解読し、その解読結果を、割り込み要求先CPUを示す割り込み要求信号S1bとして、CPU状態判定回路7に出力する。
CPU状態判定回路7は、前述したとおり、CPU1とCPU2とCPU3からそれぞれスリープ信号S23、S24、S25を受信し、それらを参照することでCPUのスリープ状態を判別する。そこで、CPU状態判定回路7は、前述した割り込み要求先CPUを示す割り込み要求信号S1bに応答して、その割り込み要求先CPUのスリープ信号を参照する。そして、CPU状態判定回路は、その割り込み要求先CPUがスリープ状態でなければ、そのCPUを、割り込み信号を送信する割り込み先CPUとし、スリープ状態の場合は、その他のCPUを割り込み先CPUに変更する。すなわち、割り込み要求先CPUが、スリープ状態の場合は、割り込み先が他のCPUに自動変更される。
さらに、CPU状態判定回路7は、その割り込み先の変更により、スリープ状態でない通常動作状態の割り込み先CPUを選定し、その割り込み先CPUを示す割り込み先信号S2を割り込み信号送信回路6に出力する。なお、CPU変更方法に関する詳細については後述する。
割り込み信号送信回路6は、受信した割り込み先信号S2に対応するCPUへ、割り込み信号S3、S4、S5を送信する。そして、割り込み信号を受信したCPUは、その割り込み信号をトリガとして、実行中の処理を停止して、所定の割り込み処理を行う。
次に、前述したCPU状態判定回路7が行う割り込み先の変更方法について説明する。本第1の実施の形態において、CPU状態判定回路7は、割り込み先の変更の際に、その変更順を示した割り込み先優先順位テーブルを参照する。この割り込み先優先順位テーブルに従い、例えば割り込み要求信号S1bの示す割り込み要求先CPUがスリープ状態にあった時、次にどのCPUに割り込み先を変更するのかを決める。すなわち、割り込み先優先順位テーブルは、各々のCPUの割り込み優先順位を予め規定した表である。なお、CPU状態判定回路7が、割り込み先優先順位テーブルをレジスタとして有していてもよい。
図2は、割り込み先優先順位テーブルの一例を示す図表である。この割り込み先優先順位テーブルにおいて、列は割り込み要求信号S1bが示す割り込み要求先CPU別に区分され、行は割り込み信号S3、S4、S5が送信される割り込み先CPU別に区分されている。そして、この割り込み先優先順位テーブル中には、割り込み要求があったときに、その割り込み要求先CPUに対して、実際にどのCPUに割り込み信号を送信するかの優先順位が示されている。
図2に示される割り込み先優先順位テーブルは、割り込み要求先CPUの優先順位を「1」として、優先順位が最も高く設定されているため、CPU状態判定回路7は、はじめに割り込み要求信号S1bに応じた割り込み要求先CPUを、割り込み先CPUに選択する。そして、CPU状態判定回路7は、そのスリープ信号を参照し、スリープ状態ならば、割り込み要求先CPUと異なる、次に優先順位の高い、優先順位「2」のCPUを割り込み先CPUに選択する。以上のように、割り込み先優先順位テーブルの優先順位に応じて、割り込み要求先CPUを最優先にして、スリープ状態でないCPUが割り込み先CPUに選ばれる。
例えば、CPU2がスリープ状態にあり、CPU1とCPU3は通常動作状態にある場合を想定する。そして、CPU1が割り込み制御回路4に割り込み要求先をCPU2とする割り込み要求信号S1aを送信したとき、CPU状態判定回路7は、図2の割り込み先優先順位テーブルの割り込み要求先CPU2の列に示される割り込み先CPUの優先順位を参照する。それより、割り込み先CPUの優先順位はCPU2、CPU3、CPU1の順に決まる。そして、CPU状態判定回路7は、はじめにCPU2のスリープ信号を参照するが、CPU2からはスリープ信号が出力されているため、CPU2をスリープ状態と判断し、次に優先順位が高いCPU3に、割り込み先を変更する。次に、CPU状態判定回路7は、CPU3のスリープ信号を参照するが、CPU3からはスリープ信号が出力されていないため、CPU3を通常動作状態と判断し、CPU3を割り込み先に決定する。
なお、CPU3もスリープ状態にあるときは、割り込み要求元のCPU1に割り込み信号が送信されるが、CPU1は、この割り込み信号をトリガとして、割り込み要求をしないとしてもよい。または、CPU3もスリープ状態にあるときは、CPU状態判定回路は割込み要求先CPU2を、スリープ状態ではあるが強制的に割り込み先CPUに選択するなど、割り込み制御方法を変更してもよい。
図3は、CPUがn個ある場合の、一般的な割り込み先優先順位テーブルの一例を示す図表である。図2と同様の規定により、列は割り込み要求信号S1bが示す割り込み要求先CPU別に区分され、行は割り込み信号S3、S4、S5が送信される割り込み先CPU別に区分されている。そして、割り込み要求先CPUの優先順位を「1」として、優先順位が最も高く設定されていて、他のCPUに対する優先順位が2〜nで示されている。すなわち、割り込み要求先がスリープ状態であったときに、変更される割り込み先CPUの優先順位が、2〜nで示されている。また、図3に示される割り込み先優先順位テーブルは、割込み要求先CPUの優先順位を「1」として、それ以降、CPU番号が大きくなるに従い、昇順に優先順位が設定され、CPUn以降はCPU1から同様に、一巡するように優先順位が設定されている。
例えば、CPUがn個搭載されたマルチプロセッサシステム構成において、CPU2とCPU3のみがスリープ状態で、他のCPUは通常動作状態にある場合に、CPU1が、割り込み制御回路4に割り込み要求先をCPU2とする割り込み要求信号を送信した場合を想定する。図3に示される割り込み先優先順位テーブルの規定により、割り込み先CPUの優先順位はCPU2、CPU3、CPU4、・・・の順である。そして、割り込み要求先のCPU2からはスリープ信号が出力されているため、CPU3が次の割り込み先として選ばれるが、CPU3からもスリープ信号が出力されているため、さらに次の割り込み先としてCPU4が選ばれる。そして、CPU4からはスリープ信号が出力されていないため、CPU4が割り込み先CPUとなる。
また、図3に示される割り込み先優先順位テーブルでは、前述のとおり優先順位が平等に設定されているので、割り込み先が1つのCPUに偏ることなく、各々のCPUに対して確率的に平等に割り込みがかかる。よって、特別な優位差がなく消費電力が同等であるCPUを複数個用いてマルチプロセッサシステムを構成する場合に有効である。
次に、図3に示される割り込み先優先順位テーブルの設定変更例を説明する。CPU1〜nの順に消費電力が小さい場合において、変更例では図3と同様に割込み要求先CPUの優先順位を「1」に設定し、その他のCPUの優先順位2〜nは、CPU番号の小さい順に設定する。この割り込み先優先順位テーブルの設定により、各々の消費電力が異なるn個のCPUを搭載するマルチプロセッサシステムにおいて、割り込み先の変更の際に最も消費電力が小さいCPUに割込みがかかる。
すなわち、割り込み要求先CPUがスリープ状態である場合、割り込み先CPUの変更が行われるが、割り込み先CPUの優先順位2〜nは、CPU番号の小さい順、すなわち、消費電力の小さい順となり、通常動作状態で最も消費電力が小さいCPUに割込みがかかる。また、一般的にCPUの処理速度が速くなると消費電力も大きくなるが、消費電力の大きい順にCPU番号を割り当てた場合は、処理速度の速いCPUに優先的に処理を行わせることができ、高速処理が要求される場合などに有効である。
以上、図2と図3において、割り込み先CPUの決定方法は、割り込み先CPUの優先順位に従い、順番にスリープ信号を参照し、通常動作状態であるCPUを割り込み先CPUに選定した。しかし、実際の信号回路の論理構成において、はじめに全てのCPUのスリープ信号をもとに、通常動作状態のCPUを抽出した後、割り込み先優先順位テーブルを参照し、それら抽出した通常動作状態のCPUの中から、最も割り込み先優先順位の高いCPUを、割り込み先CPUとしてもよい。
図4は、別の割り込み先優先順位テーブルの一例を示す図表である。この割り込み先優先順位テーブルにおいて、列は割り込み要求元CPU別に区分されている。そして、それらの割込み要求元CPU毎に、さらに、割り込み要求信号S1bが示す割り込み要求先CPU別に区分されている。なお、割り込み元CPUは自己に割り込みをかける必要はないため、割込み要求先CPUの区分から除かれている。また、行は割り込み信号S3、S4、S5が送信される割り込み先CPU別に区分されている。そして、この割り込み先優先順位テーブル中には、割り込み要求元CPUと割り込み要求先CPUの組み合わせに対して、どのCPUに割り込み信号を送信するかの優先順が示されている。
このように、図4に示される割り込み先優先順位テーブルの列は、図2、図3に示される割り込み要求先CPUのみにより規定されている列とは異なり、割り込み要求元CPUと割り込み要求先CPUの両者により規定されているため、必要に応じてより細かな割り込みの設定が可能である。
さらに、図4に示される割り込み先優先順位テーブルは、CPU番号の小さい順に優先順位が設定されている。そのため、図3で説明したように、CPU1〜3の順に消費電力が小さい場合は、消費電力の小さい順にCPU番号を割り当てることにより、消費電力の小さい順に割り込み先CPUの優先順位が決まる。そして、割り込み要求先CPUに関わらず、割り込み要求元CPUに応じて、通常動作状態で最も消費電力の小さいCPUが割り込み先CPUに選定される。
図4の割り込み先優先順位テーブルを使用した場合の動作は次の通りである。例えば、CPU2がスリープ信号を出力してスリープ状態にあり、CPU1とCPU3は通常動作状態にある場合を想定する。そして、CPU1が割り込み制御回路4に割り込み要求先をCPU2とする割り込み要求信号S1aを送信したとき、CPU状態判定回路7は、図4の割り込み先優先順位テーブルにおける最左列の割り込み要求先CPU2に示される割り込み先CPUの優先順位を参照する。そして、割り込み先CPUの優先順位は、前述したように、割り込み要求元CPUであるCPU1は除かれ、CPU2、CPU3の順に決まる。そして、CPU状態判定回路7は、はじめにCPU2のスリープ信号を参照するが、CPU2からはスリープ信号が出力されているため、CPU2をスリープ状態と判断し、次に優先順位が高いCPU3に割り込み先を変更する。次に、CPU状態判定回路7は、CPU3のスリープ信号を参照するが、CPU3からはスリープ信号が出力されていないため、CPU3を通常動作状態と判断し、CPU3を割り込み先に決定する。なお、図2に示される割り込み先優先順位テーブルと同様に、CPU3もスリープ状態にあるときは、スリープ状態にあるCPU2に対して強制的に割り込みをかけるなど、割り込み制御方法を変更してもよい。
次に、図1と図5を用いて具体的な割り込み動作手順の一例を説明する。また、図5は、各部に送信される信号の流れと時間との関係を示す図である。なお、図5中のかっこ内の符号は、図1に示される送受信信号と対応している。ここで、全てのCPUが通常動作しているときに、CPU2がスリープ信号を出力してスリープ状態となった後、CPU1がCPU2に割り込み要求を出した場合の動作を以下に示す。また、CPU状態判定回路7の割り込み先の変更動作は、図2に示す割り込み先優先順位テーブルに従う。
CPU2は、割り込み制御回路4内のCPU状態判定回路7にスリープ信号S24を出力し、スリープ状態になる(ステップT1)。次に、CPU1はCPU2への割り込み要求をするために、割り込み制御回路4内のバスインターフェース回路5に、バス30を介して割り込み要求信号S1aを送信する(ステップT2)。そして、バスインターフェース回路5は、受信した割り込み要求信号S1aから、CPU2に対しての割り込み要求であることを解読し、この解読結果を割り込み要求信号S1bとしてCPU状態判定回路7に送信する(ステップT3)。
CPU状態判定回路7は、割り込み要求信号S1b の示すCPU2への割り込み要求に応答して、各CPUのスリープ状態を示すスリープ信号S23、S24、S25と、図2に示す割り込み先優先順位テーブルを参照し、CPU2がスリープ状態にあるため、割り込み先を、次に優先順位の高いCPU3に変更する。そして、CPU3は、通常動作状態であるため、割り込み先CPUをCPU3に決定する。そして、CPU状態判定回路は、割り込み先CPUがCPU3であることを示す割り込み先信号S2を割り込み信号送信回路6に送信する(ステップT4)。
割り込み信号送信回路6は、受信した割り込み先信号S2に応じて、CPU3へ割り込み信号S5を送信する(ステップT5)。そして、割り込み信号S5を受信したCPU3は、その割り込み信号S5をトリガとして、実行中の処理を停止して、CPU1が実行していた処理を引き継ぐ。具体的には、CPU3は、CPU1が実行していた割り込み対象のプログラムの命令をメモリ20から読み込み、実行する。そして、実行終了後、割り込み処理完了信号をCPU1に送信する。
以上により、本第1の実施の形態では、割り込み要求先CPUが低消費電力状態の場合は、割り込み先優先順位テーブルに従い、低消費電力状態ではないCPUに割り込み先を変更する。また、割り込み先優先順位テーブルの設定変更により、マルチプロセッサシステムの割り込み制御方法を適宜変更することができる。
なお、各CPUの消費電力状態を示すレジスタを設け、割り込み要求元CPUは、そのレジスタを参照することにより、低消費電力状態ではないCPUに対して割り込み要求を出すことも可能である。しかし、CPUが割り込み要求毎にそのレジスタを参照する必要があるため、システムパフォーマンスの低下につながる。一方、本第1の実施の形態によれば、CPUは割り込み要求信号を出力するだけで、低消費電力状態ではないCPUに対して割り込みを発生させることが可能であり、システムパフォーマンスの低下もない。
ところで、図4の割り込み先優先順位テーブルに示される優先順位は、列に示される割り込み要求元CPUの区分毎に、割り込み要求先CPUに関わらず、同じ優先順位が設定されている。この場合は、割り込み要求先CPUに関わらず、割り込み要求元CPUに応じて割り込み先CPUの優先順位が決定される。すなわち、図4に示される割り込み先優先順位テーブルによれば、割り込み要求先CPUの指定は不要になり、割り込み要求に応答して単に割り込み先優先順位テーブルに従って割り込み先CPUを決定することになる。
かかる割り込み先優先順位テーブルの場合は、各CPUは、割り込み要求先CPUを指定しない割り込み要求信号を割り込み制御回路4に送信する。そして、それに応答して、CPU状態判定回路7は、上記の割り込み先優先順位テーブルに基づいて、スリープ状態でないCPUを割り込み先CPUに選んで、割り込み信号を送信する。前述のとおり、割り込み先優先順位テーブルの優先順位が消費電力の小さい順の場合は、LSIの省電力化を図ることができる。一方、処理速度が速い順の場合は、スリープ状態でないCPUを選択することとあいまって省電力かつ高速処理が図れることになる。
[第2の実施の形態]
図6は、第2の実施の形態におけるマルチプロセッサシステムのブロック図である。図1に示す第1の実施の形態のブロック図との違いは、CPUがスリープ信号を出力せず、また、割り込み制御回路4が、CPU状態レジスタ8を有することであり、それ以外の同一又は対応する構成要素には同一符号を付している。本第2の実施の形態について、既述した説明を除き、以下に説明する。
はじめに概要を説明する。本第2の実施の形態は、割り込み要求があった場合に、前述した第1の実施の形態の割り込み先の変更方法と同様にして割り込み先CPUを決定する。しかし、CPUの消費電力状態の判別方法が異なり、各々のCPUの消費電力状態が記憶されたCPU状態レジスタ8が出力するCPU状態信号S3cを参照することにより、CPUの消費電力状態を判別する。すなわち、割り込み先CPUの消費電力状態を判別する際に、CPUの出力するスリープ信号を参照するか、CPU状態レジスタ8の出力するCPU状態信号を参照するかで、第1の実施の形態と異なる。
次に、第2の実施の形態を構成する各部の機能と動作について説明する。割込み制御回路4内のCPU状態レジスタ8は、CPUの消費電力状態を示すレジスタである。そして、CPU状態レジスタ8は、CPU1とCPU2とCPU3の各々のCPUに対応したレジスタreg11とレジスタreg12とレジスタreg13とを有する。
各々のCPUは、スリープ状態になる前に、バス30を介して割り込み制御回路4に自己がスリープ状態になることを示す状態設定信号S3aを送信する。そして、バスインターフェース回路5はこの状態設定信号S3aを解読し、CPU状態レジスタ8内の状態設定信号S3aの送信元のCPUに対応するレジスタへ、状態設定信号S3bを送信する。そして、CPU状態レジスタ8内の状態設定信号S3bに対応するレジスタ値が、スリープ状態を示す値に設定される。そして、CPU状態レジスタ8は、設定されたレジスタ状態をCPU状態信号S3cとしてCPU状態判定回路7に出力する。その後、状態設定信号S3aを送信したCPUはスリープ状態になる。また、スリープ状態のCPUは、スリープ状態から復帰する際に、同様の手順で状態設定信号S3aを送信し、レジスタの値をスリープ状態から復帰したことを示す値に書き換える。
CPU状態判定回路7は、上述したとおり、各々のCPUのスリープ状態が示されたレジスタ値をCPU状態信号S3cとして受信しており、それを参照することで、CPUのスリープ状態を判別する。CPU状態判定回路7に関して、第1の実施の形態では、CPUが出力するスリープ信号により、CPUのスリープ状態を判別したが、本第2の実施の形態では、CPU状態レジスタ8が出力するCPU状態信号S3cによりCPUのスリープ状態を判別する。そこで、CPU状態判定回路7は、割り込み要求信号S1bに応答して、CPU状態信号S3cを参照して、CPUのスリープ状態を判別し、割り込み要求先CPUが通常動作状態の場合は、その割り込み要求先CPUを割り込み先CPUに選択するが、スリープ状態の場合は、割り込み要求先CPUと異なる他のCPUを割り込み先CPUに変更する。
また、第1の実施の形態と同様に割り込み先優先順位テーブルに従って割り込み先CPUを変更してもよい。以上より、CPU状態判定回路7は、割り込み先CPUを決定し、その決定結果を割り込み先信号S2として出力する。
割り込み信号送信回路6は、受信した割り込み先信号S2に対応するいずれかのCPUへ、割り込み信号S3〜S5を送信する。そして、割り込み信号を受信したCPUは、その割り込み信号をトリガとして、実行中の処理を停止して、所定の割り込み処理を行う。
次に、図6と図7を用いて具体的な割り込み動作手順の一例を説明する。また、図7は、各部に送信される信号の流れと時間との関係を示す図である。なお、図7中のかっこ内の符号は、図6に示される送受信信号と対応している。ここで、全てのCPUが通常動作しているときに、CPU2が状態設定信号S3aを送信し、スリープ状態となった後、CPU1がCPU2に割り込み要求を出した場合の動作を以下に示す。また、CPU状態判定回路7の割り込み先の変更動作は、図2に示す割り込み先優先順位テーブルに従う。
CPU2は、スリープ状態に入る前にバス30を介して割り込み制御回路4に対して状態設定信号S3aを送信する(ステップT6)。そして、バスインターフェース回路5はこの状態設定信号S3aを解読し、CPU状態レジスタ8内のCPU2に対応するレジスタreg12へ、状態設定信号S3bを送信する。そして、CPU状態レジスタ8内のレジスタreg12がスリープ状態に設定される(ステップT7)。そして、CPU状態レジスタ8は、レジスタreg12がスリープ状態に設定されたことを示すCPU状態信号S3cをCPU状態判定回路7に送信する(ステップT8)。その後、CPU2はスリープ状態になる。
以下は、図5と同様にステップT2、T3、T4、T5が行われる。ただし、各々のCPUの消費電力状態の判断は、CPU状態信号S3cにより行われる。
第1の実施の形態において、CPUはスリープ信号を出力するが、これは、CPU自体が個別にスリープ状態を示すレジスタを持ち、このレジスタ値に応じてスリープ信号を出力することによる。従って、第1、第2の実施の形態の構成上の相違点は、CPU側と割り込み制御回路4側のどちらにCPUの消費電力状態を表すレジスタが配設されているかにある。また、第2の実施の形態は、バス30を介して自己の消費電力状態を示すレジスタ値を設定できるため、第1の実施の形態と比較すると、各々のCPUから送信されるスリープ信号の配線を削除できる効果を有する。
[第3の実施の形態]
図8は、第3の実施の形態におけるマルチプロセッサシステムのブロック図である。図1に示す第1の実施の形態のブロック図との違いは、割り込み制御回路4が、機能設定レジスタ18を有することであり、それ以外の同一又は対応する構成要素には同一符号を付している。本第3の実施の形態について、既述した説明を除き、以下に説明する。
はじめに概要を説明する。本第3の実施の形態は、割り込み要求があった場合に、割り込み先CPUを決定するために、前述した第1の実施の形態の割り込み先の変更方法と同様に、割り込み先CPUがスリープ状態なら、他のCPUに割り込み先を変更する。ただし、機能設定レジスタ18に、CPU毎に割り込み先の変更を有効とするか無効とするかの設定が可能である。そして、CPU状態判定回路7は、割り込み要求先CPUが通常動作状態の場合は、割り込み要求先CPUを割り込み先CPUに選択するが、スリープ状態の場合は、機能設定レジスタ18を参照して、割り込み先の変更が有効の場合は、割込み先優先順位テーブルに従った割り込み先の変更を行うが、無効の場合は、割り込み先の変更は行われず、割り込み要求先CPUに強制的に割込みをかける。
次に、第3の実施の形態を構成する各部の機能と動作について説明する。割り込み制御回路内の機能設定レジスタ18は、CPU1とCPU2とCPU3の各々のCPUに対応したレジスタreg41とレジスタreg42とレジスタreg43とを有する。そして、これらのレジスタreg41、reg42、reg43には、割り込み要求先CPUがスリープ状態であった場合に、他のCPUへの割り込み先の変更が有効であるか無効であるかを示す値が設定される。以下、本第3の実施の形態において、レジスタ値「0」は、割り込み先変更の無効を表し、レジスタ値「1」は、割り込み先変更の有効を表す。
各々のCPUは、機能設定レジスタ18内のレジスタreg41、reg42、reg43の値を設定するために、割り込み制御回路4に、レジスタ設定信号S4aを送信する。そして、バスインターフェース回路5は、このレジスタ設定信号S4aからレジスタ設定先CPUを解読し、機能設定レジスタ18内の、レジスタ設定先CPUに対応するレジスタにレジスタ設定信号S4bを送信する。そして、このレジスタ設定信号S4bに応じて、機能設定レジスタ18内のレジスタreg41、reg42、reg43の値は「0」か「1」かに設定される。そして、機能設定レジスタ18は、レジスタ値に応じたCPU設定信号S4cをCPU状態判定回路7に出力する。
また、スリープ信号S23、S24、S25と割り込み要求信号S1aは、第1の実施の形態と同様である。
次に、図8と図9を用いて具体的な割り込み動作の手順の一例を説明する。また、図9は、各部に送信される信号の流れと時間との関係を示す図である。なお、図9中のかっこ内の符号は、図6に示される送受信信号と対応している。ここで、全てのCPUが通常動作しているときに、CPU1がレジスタ設定を行い、CPU2がスリープ信号S24を出力し、スリープ状態となった後、CPU1がCPU2に割り込み要求を出した場合の動作を以下に示す。また、CPU状態判定回路7の割り込み先の変更動作は、図2に示す割り込み優先順位テーブルに従う。
図8において、CPU1は割り込み先自動切り替えの有効と無効の設定を行うために、機能設定レジスタ18内の各レジスタreg41、reg42、reg43の設定を行う。そのため、バス30を介してレジスタ設定信号S4aを割り込み制御回路4に送信する(ステップT13)。また、本動作例では、レジスタreg41は「1」(変更可)、レジスタreg42は「0」(変更不可)、レジスタreg43は「1」(変更可)と設定する。そして、バスインターフェース回路5は、このレジスタ設定信号S4aを解読し、機能設定レジスタ18内の、各々のCPUに対応するレジスタreg41、reg42、reg43へ、レジスタ設定信号S4bを送信し、レジスタreg41、reg42、reg43が設定される(ステップT14)。そして、機能設定レジスタ18は、設定されたレジスタに応じたCPU設定信号S4cをCPU状態判定回路7に送信する(ステップT15)。
CPU2は、自己がスリープ状態であることを示すスリープ信号S24をCPU状態判定回路7に送信してからスリープ状態になる(ステップT16)。
CPU1はCPU2への割り込みを要求ために、割り込み制御回路4内のバスインターフェース回路5に、バス30を介して割り込み要求信号S1aを送信する(ステップT17)。そして、バスインターフェース回路5は、受信した割り込み要求信号S1aから、CPU2に対しての割り込み要求であることを解読し、この解読結果を割り込み先信号S1bとしてCPU状態判定回路7に送信する(ステップT18)。
CPU状態判定回路7は、割り込み先信号S1b の示すCPU2への割り込み要求に応答して、CPU2のスリープ信号S24を参照する。
そして、CPU状態判定回路7は、CPU2がスリープ状態であると判断すると、図2に示す割り込み優先順位テーブルに従い、割り込み先の変更を行う。ただし、CPU設定信号S4cは、CPU2に対応するレジスタreg42の値が「0」に設定され、割り込み先の変更は無効であることを表しているため、CPU状態判定回路7は、割り込み先の変更は行わず、スリープ状態にもかかわらずCPU2を割り込み先CPUに決定する。
そして、CPU状態判定回路7は、割り込み信号の送信先CPUを示す割り込み先信号S2を割り込み信号送信回路6に送信する(ステップT19)。
割り込み信号送信回路6は、受信した割り込み先信号S2に応じて、CPU2へ割り込み信号S4を送信する(ステップT20)。そして、割り込み信号S4を受信したCPU2は、その割り込み信号S4をトリガとして、スリープ状態から通常動作状態に復帰し、CPU1が実行していた処理を引き継ぐ。
以上、第3の実施の形態において、割り込みの管理に機能設定レジスタ18を用いたが、これより、各々のCPUの消費電力状態に応じた割り込み制御に加えて、CPUの個別の割り込み管理が可能となる。例えば、処理速度の異なる複数のCPUにより構成されるマルチプロセッサシステムにおいて、高速処理を行う消費電力の大きいCPUのレジスタの値を「1」(変更可)に設定し、消費電力の小さいCPUのレジスタの値を「0」(変更不可)に設定する。これより、消費電力の大きいCPUに割り込み要求があった場合、それがスリープ状態なら他の消費電力の小さいCPUに割り込み先を変更できる。そして、消費電力が大きいCPUによる処理に適した特定の高速処理が求められるなど、一定条件が満たされる場合に、当該消費電力の大きいCPUのレジスタの値を「0」(変更不可)に設定することにより、その消費電力の大きなCPUがスリープ状態であっても強制的に割り込みをかけることができる。
[第4の実施の形態]
第4の実施の形態は、第2、第3の実施の形態を組み合わせた構成であり、割込み制御回路4が、CPU状態レジスタ8と、機能設定レジスタ18とを有し、CPUはスリープ信号を出力しない。
すなわち、第4の実施の形態では、図8の第3の実施の形態におけるスリープ信号の変わりに、図6の第2の実施の形態におけるCPU状態信号S3cに基づいて、各CPUのスリープ状態が判定される。それ以外は、第3の実施の形態と同じである。
以上の実施の形態をまとめると,次の付記のとおりである。
(付記1)
割り込み要求先プロセッサユニットを指定した割り込み要求を表す割り込み要求信号を送信し、割り込み信号を受信する複数のプロセッサユニットと、
前記複数のプロセッサユニットの各々から前記割り込み要求信号を受信し、前記複数のプロセッサユニットに前記割り込み信号を送信する割り込み制御回路と
を有し、
前記割り込み制御回路は、前記複数のプロセッサユニットの各々から送信される前記割り込み要求信号に応答して、当該割り込み要求信号が指定する前記割り込み要求先プロセッサユニットの消費電力状態が低消費電力状態でない場合は、当該割り込み要求先プロセッサユニットに前記割り込み信号を送信し、低消費電力状態である場合は、前記割込み要求先プロセッサユニットとは異なる他のプロセッサユニットに割り込み信号を送信することを特徴とするマルチプロセッサシステムLSI。
(付記2)
前記他のプロセッサユニットは低消費電力状態でないことを特徴とする付記1記載のマルチプロセッサシステムLSI。
(付記3)
前記他のプロセッサユニット全てが低消費電力状態の場合、前記割り込み要求先プロセッサユニットに割り込み信号を送信することを特徴とする付記2記載のマルチプロセッサシステムLSI。
(付記4)
前記割り込み制御回路は、各々のプロセッサユニットの割り込み優先順が規定された割り込み先優先順位テーブルを有し、当該割り込み先優先順位テーブルに従って前記他のプロセッサユニットへの割り込み信号の送信先の変更を行うことを特徴とする付記1記載のマルチプロセッサシステムLSI。
(付記5)
前記割り込み要求信号が割り込み要求元プロセッサユニットの識別情報を有する付記1記載のマルチプロセッサシステムLSI。
(付記6)
前記割込み制御回路は、前記複数のプロセッサユニットへの割り込み先変更の可否をそれぞれ表す機能設定レジスタを有し、前記割り込み要求信号が指定する前記割り込み要求先プロセッサユニットが低消費電力状態であっても、前記機能設定レジスタが割り込み先変更不可能の場合、前記割り込み要求先プロセッサユニットに割り込み信号を送信することを特徴とする付記1記載のマルチプロセッサシステムLSI。
(付記7)
前記プロセッサユニットは、自己の消費電力状態をそれぞれ表す状態信号を前記割り込み制御回路に出力し、前記割込み制御回路は、当該状態信号に基づいて前記割り込み要求先プロセッサユニットの消費電力状態を判定することを特徴とする付記1記載のマルチプロセッサシステムLSI。
(付記8)
前記プロセッサユニットは、自己の消費電力状態をそれぞれ表す状態設定信号を前記割り込み制御回路に送信し、
前記割込み制御回路は、前記状態設定信号に応じて設定され、前記複数のプロセッサユニットの消費電力状態をそれぞれ表すプロセッサ状態レジスタを有し、当該プロセッサ状態レジスタに基づいて前記割り込み要求先プロセッサユニットの消費電力状態を判定することを特徴とする付記1記載のマルチプロセッサシステムLSI。
(付記9)
割り込み要求を表す割り込み要求信号を送信し、割り込み信号を受信する複数のプロセッサユニットと、
前記複数のプロセッサユニットの各々から前記割り込み要求信号を受信し、前記複数のプロセッサユニットに前記割り込み信号を送信する割り込み制御回路と
を有し、
前記割り込み制御回路は、各々のプロセッサユニットの割り込み優先順が規定された割り込み先優先順位テーブルを有し、
前記複数のプロセッサユニットの各々から送信される前記割り込み要求信号に応答して、前記割り込み先優先順位テーブルに規定された割り込み優先順に従って、低消費電力状態でないプロセッサユニットを選択し、当該選択したプロセッサユニットに割り込み信号を送信することを特徴とするマルチプロセッサシステムLSI。
(付記10)
前記割り込み先優先順位テーブルの優先順が、各々の前記プロセッサユニットの消費電力が小さい順に決められていることを特徴とする付記4又は9記載のマルチプロセッサシステムLSI。
(付記11)
前記割り込み先優先順位テーブルの優先順が、各々の前記プロセッサユニットの処理速度が速い順に決められていることを特徴とする付記4又は9記載のマルチプロセッサシステムLSI。
(付記12)
前記プロセッサユニットは、自己の消費電力状態をそれぞれ表す状態信号を前記割り込み制御回路に出力し、前記割込み制御回路は、当該状態信号に基づいて前記割り込み要求先プロセッサユニットの消費電力状態を判断する付記9記載のマルチプロセッサシステムLSI。
(付記13)
前記プロセッサユニットは、自己の消費電力状態をそれぞれ表す状態設定信号を前記割り込み制御回路に送信し、
前記割込み制御回路は、前記状態設定信号に応じて設定され、前記複数のプロセッサユニットの消費電力状態をそれぞれ表すプロセッサ状態レジスタを有し、当該プロセッサ状態レジスタの出力信号に基づいて前記割り込み要求先プロセッサユニットの消費電力状態を判定する付記9記載のマルチプロセッサシステムLSI。
第1の実施の形態におけるマルチプロセッサシステムのブロック図である。 割り込み先優先順位テーブルの一例を示す図表である。 CPUがn個ある場合の、一般的な割り込み先優先順位テーブルの一例を示す図表である。 図2とは異なる割り込み先優先順位テーブルの一例を示す図表である。 第1の実施の形態における、各部に送信される信号の流れと時間との関係を示す図である。 第2の実施の形態におけるマルチプロセッサシステムのブロック図である。 第2の実施の形態における、各部に送信される信号の流れと時間との関係を示す図である。 第3の実施の形態におけるマルチプロセッサシステムのブロック図である。 第3の実施の形態における、各部に送信される信号の流れと時間との関係を示す図である。
符号の説明
4 割込み制御回路
5 バスインターフェース回路
6 割込み信号送信回路
7 CPU状態判定回路
8 CPU状態レジスタ
18 機能設定レジスタ
20 メモリ
30 バス

Claims (9)

  1. 割り込み要求先プロセッサユニットを指定した割り込み要求を表す割り込み要求信号を送信し、割り込み信号を受信する複数のプロセッサユニットと、
    前記複数のプロセッサユニットの各々から前記割り込み要求信号を受信し、前記複数のプロセッサユニットに前記割り込み信号を送信する割り込み制御回路と
    を有し、
    前記割り込み制御回路は、前記複数のプロセッサユニットの各々から送信される前記割り込み要求信号に応答して、当該割り込み要求信号が指定する前記割り込み要求先プロセッサユニットの消費電力状態が低消費電力状態でない場合は、当該割り込み要求先プロセッサユニットに前記割り込み信号を送信し、低消費電力状態である場合は、前記割込み要求先プロセッサユニットとは異なる他のプロセッサユニットに割り込み信号を送信し、各々のプロセッサユニットの割り込み要求元プロセッサユニットに応じた割り込み優先順が規定された割り込み先優先順位テーブルを有し、当該割り込み先優先順位テーブルに従って前記他のプロセッサユニットへの割り込み信号の送信先の変更を行うことを特徴とするマルチプロセッサシステムLSI。
  2. 前記他のプロセッサユニットは低消費電力状態でないことを特徴とする請求項1記載のマルチプロセッサシステムLSI。
  3. 前記他のプロセッサユニット全てが低消費電力状態の場合、前記割り込み要求先プロセッサユニットに割り込み信号を送信することを特徴とする請求項2記載のマルチプロセッサシステムLSI。
  4. 前記割込み制御回路は、前記複数のプロセッサユニットへの割り込み先変更の可否をそれぞれ表す機能設定レジスタを有し、前記割り込み要求信号が指定する前記割り込み要求先プロセッサユニットが低消費電力状態であっても、前記機能設定レジスタが割り込み先変更不可能の場合、前記割り込み要求先プロセッサユニットに割り込み信号を送信することを特徴とする請求項1記載のマルチプロセッサシステムLSI。
  5. 前記プロセッサユニットは、自己の消費電力状態をそれぞれ表す状態信号を前記割り込み制御回路に出力し、前記割込み制御回路は、当該状態信号に基づいて前記割り込み要求先プロセッサユニットの消費電力状態を判定することを特徴とする請求項1記載のマルチプロセッサシステムLSI。
  6. 前記プロセッサユニットは、自己の消費電力状態をそれぞれ表す状態設定信号を前記割り込み制御回路に送信し、
    前記割込み制御回路は、前記状態設定信号に応じて設定され、前記複数のプロセッサユニットの消費電力状態をそれぞれ表すプロセッサ状態レジスタを有し、当該プロセッサ状態レジスタに基づいて前記割り込み要求先プロセッサユニットの消費電力状態を判定することを特徴とする請求項1記載のマルチプロセッサシステムLSI。
  7. 前記割り込み先優先順位テーブルの優先順が、各々の前記プロセッサユニットの消費電力が小さい順に決められていることを特徴とする請求項記載のマルチプロセッサシステムLSI。
  8. 前記割り込み先優先順位テーブルの優先順が、各々の前記プロセッサユニットの処理速度が速い順に決められていることを特徴とする請求項記載のマルチプロセッサシステムLSI。
  9. 前記低消費電力状態は、対応するプロセッサユニットの稼働が、通常動作状態よりも制限された状態であることを特徴とする請求項1記載のマルチプロセッサシステムLSI。
JP2008273976A 2008-10-24 2008-10-24 マルチプロセッサシステムlsi Expired - Fee Related JP5169731B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008273976A JP5169731B2 (ja) 2008-10-24 2008-10-24 マルチプロセッサシステムlsi
US12/574,769 US8549200B2 (en) 2008-10-24 2009-10-07 Multiprocessor system configured as system LSI

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008273976A JP5169731B2 (ja) 2008-10-24 2008-10-24 マルチプロセッサシステムlsi

Publications (2)

Publication Number Publication Date
JP2010102540A JP2010102540A (ja) 2010-05-06
JP5169731B2 true JP5169731B2 (ja) 2013-03-27

Family

ID=42118585

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008273976A Expired - Fee Related JP5169731B2 (ja) 2008-10-24 2008-10-24 マルチプロセッサシステムlsi

Country Status (2)

Country Link
US (1) US8549200B2 (ja)
JP (1) JP5169731B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8762994B2 (en) * 2010-08-26 2014-06-24 Intel Corporation Power-optimized interrupt delivery
WO2013101069A1 (en) * 2011-12-29 2013-07-04 Intel Corporation Core switching accelaration in asymmetric multiprocessor system
GB2500434A (en) * 2012-03-23 2013-09-25 Cognovo Ltd Scheduling actions based on the state of the resources needed to execute the actions
US9471132B2 (en) * 2013-09-27 2016-10-18 Intel Corporation Techniques for putting platform subsystems into a lower power state in parallel
US9594704B1 (en) * 2013-12-17 2017-03-14 Google Inc. User mode interrupts
JP6365224B2 (ja) 2014-10-21 2018-08-01 富士通株式会社 センシング制御プログラム及び携帯端末装置
US9563431B2 (en) * 2014-12-26 2017-02-07 Intel Corporation Techniques for cooperative execution between asymmetric processor cores
CN105094968B (zh) 2015-07-01 2019-05-21 小米科技有限责任公司 唤醒mcu的方法及装置
US20170300101A1 (en) * 2016-04-14 2017-10-19 Advanced Micro Devices, Inc. Redirecting messages from idle compute units of a processor
US10606679B2 (en) * 2017-12-04 2020-03-31 Arm Limited Debug apparatus and method
US10671148B2 (en) * 2017-12-21 2020-06-02 Advanced Micro Devices, Inc. Multi-node system low power management

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0381834A (ja) 1989-08-24 1991-04-08 Nec Corp 割込み制御装置
JPH04318654A (ja) * 1991-02-13 1992-11-10 Hewlett Packard Co <Hp> マイクロプロセッサへの割り込みのリダイレクションシステム
JPH04302352A (ja) * 1991-03-29 1992-10-26 Yokogawa Electric Corp マルチプロセッサシステム
EP0535821B1 (en) * 1991-09-27 1997-11-26 Sun Microsystems, Inc. Method and apparatus for dynamically steering undirected interrupts
GB2277388B (en) 1993-04-19 1997-08-13 Intel Corp Programmable multi-processor interrupt controller system with a processor integrated local interrupt controller
US5574505A (en) * 1995-05-16 1996-11-12 Thomson Multimedia S.A. Method and apparatus for operating a transport stream encoder to produce a stream of packets carrying data representing a plurality of component signals
JPH10171770A (ja) * 1996-12-06 1998-06-26 Meidensha Corp マルチプロセッサシステム
US6952749B2 (en) * 2001-05-02 2005-10-04 Portalplayer, Inc. Multiprocessor interrupt handling system and method
US7099275B2 (en) * 2001-09-21 2006-08-29 Slt Logic Llc Programmable multi-service queue scheduler
US6813665B2 (en) * 2001-09-21 2004-11-02 Intel Corporation Interrupt method, system and medium
JP2004078642A (ja) 2002-08-20 2004-03-11 Nec Engineering Ltd 割込み制御回路
JP2004127163A (ja) * 2002-10-07 2004-04-22 Renesas Technology Corp マルチプロセッサシステム
US7730456B2 (en) 2004-05-19 2010-06-01 Sony Computer Entertainment Inc. Methods and apparatus for handling processing errors in a multi-processing system
JP4408756B2 (ja) * 2004-06-30 2010-02-03 富士通株式会社 経路計算システム
JP4247228B2 (ja) * 2005-11-28 2009-04-02 株式会社日立製作所 ヘテロマルチプロセッサシステムおよびそのos構成方法
JP2007172322A (ja) * 2005-12-22 2007-07-05 Canon Inc 分散処理型マルチプロセッサシステム、制御方法、マルチプロセッサ割り込み制御装置及びプログラム
WO2007077539A1 (en) * 2006-01-04 2007-07-12 Nxp B.V. Methods and system for interrupt distribution in a multiprocessor system
US7517162B2 (en) * 2006-06-22 2009-04-14 Kyocera Mita Corporation Printer configured to calculate power consumption data for printers on a network
JP2008176360A (ja) * 2007-01-16 2008-07-31 Renesas Technology Corp マルチプロセッサシステム
US8032681B2 (en) * 2007-09-06 2011-10-04 Intel Corporation Processor selection for an interrupt based on willingness to accept the interrupt and on priority
US7769938B2 (en) * 2007-09-06 2010-08-03 Intel Corporation Processor selection for an interrupt identifying a processor cluster
US7962771B2 (en) * 2007-12-31 2011-06-14 Intel Corporation Method, system, and apparatus for rerouting interrupts in a multi-core processor
US8996890B2 (en) * 2008-02-07 2015-03-31 Dell Products L.P. Method for power conservation in virtualized environments
US8024504B2 (en) * 2008-06-26 2011-09-20 Microsoft Corporation Processor interrupt determination
US8032680B2 (en) * 2008-06-27 2011-10-04 Microsoft Corporation Lazy handling of end of interrupt messages in a virtualized environment
US8762994B2 (en) * 2010-08-26 2014-06-24 Intel Corporation Power-optimized interrupt delivery

Also Published As

Publication number Publication date
JP2010102540A (ja) 2010-05-06
US8549200B2 (en) 2013-10-01
US20100106876A1 (en) 2010-04-29

Similar Documents

Publication Publication Date Title
JP5169731B2 (ja) マルチプロセッサシステムlsi
US20120173847A1 (en) Parallel processor and method for thread processing thereof
US20120233616A1 (en) Stream data processing method and stream processor
JP5653431B2 (ja) マルチプロセッサシステム
US7398378B2 (en) Allocating lower priority interrupt for processing to slave processor via master processor currently processing higher priority interrupt through special interrupt among processors
US8566493B2 (en) Interrupt controller and methods of operation
US7165133B2 (en) Multiprocessor system having shared buses, prioritized arbitration, and clock synchronization circuitry
JP2008513894A (ja) スレッドライブロックユニット
JP2009545048A (ja) マスタおよびスレーブを有するデータ処理デバイスにおける電力管理
US20090249347A1 (en) Virtual multiprocessor, system lsi, mobile phone, and control method for virtual multiprocessor
JP2008046997A (ja) 調停回路、クロスバ、リクエスト選択方法、及び情報処理装置
CN110399034B (zh) 一种SoC系统的功耗优化方法及终端
US8578384B2 (en) Method and apparatus for activating system components
US20090320034A1 (en) Data processing apparatus
US7356630B2 (en) Processor control device for stopping processor operation
JP5322567B2 (ja) データ処理システム及び半導体集積回路
JP5932261B2 (ja) メモリ制御装置、メモリ制御方法
JP4853951B2 (ja) データ処理装置
US6708259B1 (en) Programmable wake up of memory transfer controllers in a memory transfer engine
JP7271973B2 (ja) 車両制御装置、動作クロック切換方法
US20060179172A1 (en) Method and system for reducing power consumption of a direct memory access controller
JP2012116138A (ja) 制御装置、制御プログラム、画像形成装置
JP2009163531A (ja) 割り込み管理機構およびマイクロコンピュータ
JP2008250419A (ja) 競合調停装置、マスタスレーブシステム及び競合調停方法
JP2007058279A (ja) パワーダウン移行システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110704

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120905

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121102

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121217

R150 Certificate of patent or registration of utility model

Ref document number: 5169731

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees