JP2015138342A - マルチプロセッサシステム、その制御方法及びプログラム - Google Patents
マルチプロセッサシステム、その制御方法及びプログラム Download PDFInfo
- Publication number
- JP2015138342A JP2015138342A JP2014008864A JP2014008864A JP2015138342A JP 2015138342 A JP2015138342 A JP 2015138342A JP 2014008864 A JP2014008864 A JP 2014008864A JP 2014008864 A JP2014008864 A JP 2014008864A JP 2015138342 A JP2015138342 A JP 2015138342A
- Authority
- JP
- Japan
- Prior art keywords
- state
- operation state
- processors
- memory device
- switching
- 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.)
- Pending
Links
Images
Landscapes
- Power Sources (AREA)
Abstract
【課題】メモリ装置の状態を移行させるためのコードを保持する別のメモリ装置を必要とせず、複数のプロセッサで同時並列にメモリ装置の制御を行わないための同期処理なしに、マルチプロセッサシステムにおける消費電力を低減する。【解決手段】通常の消費電力状態と低消費電力状態に切り換わることがそれぞれ可能な複数のプロセッサが低消費電力状態になった場合、プロセッサが共通にアクセスするメモリ装置を低消費電力状態に切り換え、メモリ装置が低消費電力状態である場合に、プロセッサの少なくとも1つを通常の消費電力状態に切り換えるための割り込み信号が入力されたとき、メモリ装置を通常の消費電力状態に切り換えるメモリ装置モード切り換え部と、メモリ装置が通常の消費電力状態に切り換わるまで、プロセッサの少なくとも1つを通常の消費電力状態に切り換えることを遅延させる割り込み遅延部とを有する。【選択図】図1
Description
本発明は、複数のプロセッサを有するマルチプロセッサシステム、その制御方法及びプログラムに関する。
近年、組込みシステムにおける消費電力の低減は、重要度を増している。機器の状況に応じて、利用しない個々のハードウェアへの電力供給を遮断する、又は、電力の消費をごく少量に抑えるなど細かな制御が行われていることが多い。シングルプロセッサのシステムにおいて、メモリ装置の消費電力を低減するために、メモリコントローラへの供給クロックを制御する技術が知られている(特許文献1参照)。また、複数のプロセッサを有するマルチプロセッサのシステムにおいて、プロセッサやメモリ装置の消費電力を低減する技術が提案されている(特許文献2、3参照)が、消費電力を低減するには、シングルプロセッサのシステムよりも複雑な制御が必要になる。
複数のプロセッサと、それらプロセッサが共通にアクセスするメモリ装置とを有するマルチプロセッサシステムにおいて、プロセッサ及びメモリ装置の低消費電力状態への移行や低消費電力状態からの復帰を行う場合、後述する二つの課題があった。一つは、プロセッサがメモリ装置をアクセス不可能な低消費電力状態へ移行させるコードとアクセス可能な通常状態へ移行させるコード、及びそれらに付随するデータを、別のメモリ装置に保持して、処理を行う必要がある。もう一つは、メモリ装置の低消費電力状態への移行や復帰の制御を複数のプロセッサで同時並列に行わないようにする同期処理が必要なことである。
本発明は、前述のマルチプロセッサシステムにて、メモリ装置の状態を移行させるためのコードを保持する別のメモリ装置を必要とせず、且つ複数のプロセッサで同時並列にメモリ装置の制御を行わないための同期処理なしに、消費電力を低減することを目的とする。
本発明に係るマルチプロセッサシステムは、それぞれが第1の動作状態と第2の動作状態とに切り換わることが可能な複数のプロセッサと、第1の動作状態と第2の動作状態とに切り換わることが可能であり、前記複数のプロセッサが共通にアクセスするメモリ装置とを有するマルチプロセッサシステムであって、前記複数のプロセッサの動作状態が前記第2の動作状態になった場合、前記メモリ装置の動作状態を前記第1の動作状態から前記第2の動作状態に切り換え、前記メモリ装置の動作状態が前記第2の動作状態である場合に、前記複数のプロセッサの少なくとも1つを前記第2の動作状態から前記第1の動作状態に切り換えるための割り込み信号が入力されたとき、前記メモリ装置の動作状態を前記第2の動作状態から前記第1の動作状態に切り換える切り換え手段と、前記切り換え手段によって前記メモリ装置の動作状態が前記第1の動作状態に切り換わるまで、前記複数のプロセッサの少なくとも1つを前記第2の動作状態から前記第1の動作状態に切り換えることを遅延させる遅延手段と、を有する。
本発明によれば、メモリ装置の状態を移行させるためのコードを保持する別のメモリ装置を必要とせずに、且つ複数のプロセッサで同時並列にメモリ装置の制御を行わないための同期処理なしに、マルチプロセッサシステムにおける消費電力を低減することができる。
以下、本発明の実施形態を図面に基づいて説明する。
図1は、本発明の一実施形態におけるマルチプロセッサシステムの構成例を示すブロック図である。本実施形態におけるマルチプロセッサシステムは、メモリ装置101、複数のプロセッサ(PU1、PU2)102、103、バス104、及び各プロセッサに対応する割り込みコントローラ(INTC1、INTC2)105、106を有する。また、本実施形態におけるマルチプロセッサシステムは、プロセッサモード検出部107、メモリ装置モード切り換え部108、メモリ装置モード検出部109、及び割り込み遅延部110を有する。
メモリ装置101は、プロセッサ102、103が共通にアクセスするメモリ装置であり、プロセッサでの処理に係るプログラムコードやデータを記憶するメモリ(例えば、DDR SDRAM等)、及びメモリに対する制御を行うメモリコントローラを有する。また、メモリ装置101は、動作状態(動作モード)として、データの読み書きができる、すなわちデータへのアクセスが可能な通常の消費電力状態(第1の動作状態)と、アクセスが不可能な低消費電力状態(第2の動作状態)とを有する。低消費電力状態(第2の動作状態)は、通常の消費電力状態(第1の動作状態)よりも消費電力が小さい状態である。
アクセスが不可能な低消費電力状態は、データの読み書きはできないが、メモリのデータが保持される状態(例えば、DDR3 SDRAMにおけるセルフリフレッシュ状態など)である。なお、データが保持できれば、アクセスが不可能な低消費電力状態において、メモリのアクティブパワーダウンやプリチャージパワーダウンなどのパワーダウン機能を利用してデータを保持するようにしてもよい。また、低消費電力状態では、メモリのデータが保持される状態を保っている限り、メモリコントローラの消費電力も低減することが可能である。
プロセッサ102、103は、命令に応じた処理を行う。プロセッサ102、103は、動作状態(動作モード)として、演算処理を行える通常の消費電力状態(第1の動作状態)と、割り込み信号の入力によって通常の消費電力状態に復帰する、演算処理が停止している低消費電力状態(第2の動作状態)とを有する。低消費電力状態(第2の動作状態)は、通常の消費電力状態(第1の動作状態)よりも消費電力が小さい状態である。
プロセッサ102、103が実行可能な命令には、低消費電力状態に移行する命令が含まれている。プロセッサ102、103は、自身で低消費電力状態に移行する命令を実行することで低消費電力状態に移行する。プロセッサ102、103のプログラムコードやデータは、メモリ装置101に保持されているので、メモリ装置101が低消費電力状態に切り換えた場合、すべてのプロセッサは低消費電力状態になる。
例えば、プロセッサ102、103における通常の消費電力状態(第1の動作状態)から低消費電力状態(第2の動作状態)への切り換えは、動作しているオペレーティングシステムの実行すべきタスクがなくなったときに行う。また、例えば、動作しているオペレーティングシステムが定義するアイドルタスクに実行権が渡ったときに行うようにしてもよい。バス104は、プロセッサ102及び103とメモリ装置101とを接続している。割り込みコントローラ105、106は、入力された割り込み信号を割り込み遅延部110へ伝達する。
プロセッサモード検出部107は、第1の状態検出手段として各プロセッサ102、103の動作状態を検知する。プロセッサモード検出部107は、プロセッサ102、103が通常の消費電力状態(第1の動作状態)及び低消費電力状態(第2の動作状態)のどちらの動作状態であるかを検知する。プロセッサモード検出部107は、すべてのプロセッサの動作状態が低消費電力状態(第2の動作状態)になったときに、メモリ装置モード切り換え部108を用いてメモリ装置101の動作状態を低消費電力状態へ移行させる。また、プロセッサモード検出部107は、割り込み遅延部110の動作を停止及び再開する機能を有する。
メモリ装置モード切り換え部108は、メモリ装置101の動作状態を切り換える。メモリ装置モード切り換え部108は、プロセッサモード検出部107からの指示で、メモリ装置101の動作状態を通常の消費電力状態(第1の動作状態)から低消費電力状態(第2の動作状態)へ切り換える。また、メモリ装置モード切り換え部108は、割り込み遅延部110からの指示で、メモリ装置101の動作状態を低消費電力状態(第2の動作状態)から通常の消費電力状態(第1の動作状態)へ切り換える。
メモリ装置モード検出部109は、第2の状態検出手段としてメモリ装置101の動作状態を検知して割り込み遅延部110へ通知する。メモリ装置モード検出部109は、メモリ装置101が通常の消費電力状態(第1の動作状態)及び低消費電力状態(第2の動作状態)のどちらの動作状態であるかを検知し、割り込み遅延部110へ通知する。
割り込み遅延部110は、割り込みコントローラ105、106からのプロセッサ102、103に対する割り込み信号の入力を受け、受けた割り込み信号を対応するプロセッサ102、103のみに伝達する。また、割り込み遅延部110は、割り込みコントローラ105、106から受けた割り込み信号のすべてを保留しておく機能を有する。
割り込み遅延部110は、メモリ装置モード検出部109を用いてメモリ装置101の動作状態を検査し、低消費電力状態であった場合にメモリ装置モード切り換え部108を用いてメモリ装置101の動作状態を通常の消費電力状態に切り換える機能を有する。また、割り込み遅延部110は、プロセッサモード検出部107によって機能を停止及び再開する機能を有する。割り込み遅延部110が機能を停止している間、入力された割り込み信号はプロセッサ102又は103に伝達されずに保留される。
ここで、割り込み遅延部110のすべての割り込み信号を保留する機能は、割り込みコントローラ105、106と合わせて実現することも可能である。例えば、割り込み遅延部110は、割り込み信号の入力の有無だけを保留しておき、割り込みコントローラ105又は106で保留している期間に発生した割り込み信号をベクタ番号などの形式で提供すればよい。これは、割り込みコントローラ105又は106から複数の割り込み信号を割り込み遅延部110を経由してプロセッサ102又は103へ入力する形態の場合にも有効である。
また、本実施形態では、割り込みコントローラ105又は106は、複数の割り込み入力を一つにまとめ、割り込み遅延部110へ入力する割り込みコントローラの機能を兼ね備えているとした。これに限らず、割り込み遅延部110からプロセッサ102又は103に入力する割り込み入力の数を複数のまま伝達する構成も実施可能である。この場合、割り込み遅延部110は、プロセッサ102又は103の各々に対して複数の割り込み入力を伝達し、またその伝達を遅延させる機能を有することになる。これは単純に扱う割り込み入力を複数にするだけなので、実施形態の説明は省略する。
また、図1に示したマルチプロセッサシステムの構成は一例であり、プロセッサの数を増加させても実施可能である。また、必要なモジュールを自由に組み合わせることもでき、例えばバス104に別の機能部を接続することも可能である。
次に、本実施形態におけるマルチプロセッサシステムにおいて、通常の消費電力状態(第1の動作状態)から低消費電力状態(第2の動作状態)へ切り換える処理について説明する。図2は、本実施形態における低消費電力状態への移行処理を示すフローチャートである。図2に示すフローチャートの処理は、プロセッサモード検出部107が、プロセッサ102、103の何れかのプロセッサの動作状態が通常の消費電力状態から低消費電力状態へ移行したことを契機に開始される。また、図2に示すフローチャートの処理は、複数並行して処理されることはない。
ステップS201において、プロセッサモード検出部107は、割り込み遅延部110の動作を停止させ、ステップS202へ進む。ステップS202において、プロセッサモード検出部107は、プロセッサ102、103のそれぞれが低消費電力状態に切り換わったか否かを判断する。判断の結果、すべてのプロセッサの動作状態が低消費電力状態である場合にはステップS203へ進み、一つ以上のプロセッサの動作状態が通常の消費電力状態である場合にはステップS205へ進む。
ステップS203において、プロセッサモード検出部107は、メモリ装置モード切り換え部108を用いて、メモリ装置101の動作状態を低消費電力状態へ切り換え、ステップS204へ進む。ステップS204において、プロセッサモード検出部107は、割り込み遅延部110を再開させて、マルチプロセッサシステムにおける低消費電力状態への移行処理を終了する。
ステップS205において、プロセッサモード検出部107は、割り込み遅延部110を再開させてステップS201へ進む。ここで、割り込み遅延部110を再開させた後、所定の時間の経過後にステップS201へ進むようにしてもよい。
なお、図2に示したフローチャートの処理を、ステップS205の処理後、低消費電力状態への移行処理を終了し、再度、本フローチャートの処理を開始する条件を満たした場合に行うことも可能である。この場合、図2に示したフローチャートの処理をある一定の時間間隔で開始することも可能である。この方式の場合、本実施形態による消費電力の低減効果が多少薄れるが、消費電力を低減できることに変わりはない。
次に、本実施形態におけるマルチプロセッサシステムにおいて、低消費電力状態(第2の動作状態)から通常の消費電力状態(第1の動作状態)へ切り換える処理について説明する。図3は、本実施形態における低消費電力状態からの復帰処理を示すフローチャートである。図3に示すフローチャートの処理は、メモリ装置モード検出部109によってメモリ装置101の動作状態が低消費電力状態に切り換わったことを検知すると開始される。また、図3に示すフローチャートの処理は、複数並行して処理されることはない。
ステップS301において、割り込み遅延部110は、割り込みコントローラ105又は106から割り込み信号の入力があったか否かを判断する。割り込み信号の入力があった場合にはステップS302へ進み、割り込み信号の入力がない場合にはステップS301へ進む。ステップS302において、割り込み遅延部110は、割り込み信号の入力を保留して、ステップS303へ進む。これ以降入力されたすべての割り込み信号は、ステップS304でプロセッサ102又は103へ伝達するまで保留される。
ステップS303において、割り込み遅延部110は、メモリ装置モード切り換え部108を用いて、メモリ装置101の動作状態を低消費電力状態から通常の消費電力状態へ切り換え、ステップS304へ進む。ここで、図2に示したステップS203においても、メモリ装置モード切り換え部108を用いて、メモリ装置101の動作状態を切り換えるが、ステップS201、ステップS204及びステップS205の効果により同時に切り換えられることはない。
ステップS304において、割り込み遅延部110は、ステップS302において保留していた割り込み信号の入力をプロセッサ102又は103に伝達して、マルチプロセッサシステムを低消費電力状態から通常の消費電力状態へ切り換える処理を終了する。
前述したように図3に示したフローチャートの処理は、メモリ装置モード検出部109によってメモリ装置101の動作状態が低消費電力状態に切り換わったことを検知すると開始される。よって、ステップS301での割り込み信号の入力検知からステップS304で割り込み信号をプロセッサ102又は103へ伝達するまでに、プロセッサモード検出部107によるメモリ装置101の動作状態の切り換えは発生しない。
以上のようにして、メモリ装置101とは別のメモリ装置を必要とせず、且つ、各プロセッサが複数のプロセッサで同時並列にメモリ装置の制御を行わないための施策なしに、マルチプロセッサシステムにおける消費電力を低減することができる。
(本発明の他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、前述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、前述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
101:メモリ装置 102、103:プロセッサ 104:バス 105、106:割り込みコントローラ 107:プロセッサモード検出部 108:メモリ装置モード切り換え部 109:メモリ装置モード検出部 110:割り込み遅延部
Claims (9)
- それぞれが第1の動作状態と第2の動作状態とに切り換わることが可能な複数のプロセッサと、第1の動作状態と第2の動作状態とに切り換わることが可能であり、前記複数のプロセッサが共通にアクセスするメモリ装置とを有するマルチプロセッサシステムであって、
前記複数のプロセッサの動作状態が前記第2の動作状態になった場合、前記メモリ装置の動作状態を前記第1の動作状態から前記第2の動作状態に切り換え、
前記メモリ装置の動作状態が前記第2の動作状態である場合に、前記複数のプロセッサの少なくとも1つを前記第2の動作状態から前記第1の動作状態に切り換えるための割り込み信号が入力されたとき、前記メモリ装置の動作状態を前記第2の動作状態から前記第1の動作状態に切り換える切り換え手段と、
前記切り換え手段によって前記メモリ装置の動作状態が前記第1の動作状態に切り換わるまで、前記複数のプロセッサの少なくとも1つを前記第2の動作状態から前記第1の動作状態に切り換えることを遅延させる遅延手段と、
を有するマルチプロセッサシステム。 - 前記複数のプロセッサそれぞれの前記第2の動作状態は、前記複数のプロセッサそれぞれの前記第1の動作状態よりも消費電力が小さい動作状態であることを特徴とする請求項1記載のマルチプロセッサシステム。
- 前記メモリ装置の前記第2の動作状態は、前記メモリ装置の前記第1の動作状態よりも消費電力が小さい動作状態であることを特徴とする請求項1又は2記載のマルチプロセッサシステム。
- 前記複数のプロセッサそれぞれの前記第1の動作状態は、演算処理を行うことができる状態であり、前記複数のプロセッサそれぞれの前記第2の動作状態は、演算処理を行うことができない状態であることを特徴とする請求項1記載のマルチプロセッサシステム。
- 前記メモリ装置の前記第1の動作状態は、前記複数のプロセッサそれぞれによってデータの読み書きができる状態であり、前記メモリ装置の前記第2の動作状態は、前記複数のプロセッサそれぞれによってデータの読み書きができないがデータが保持される状態であることを特徴とする請求項1又は4記載のマルチプロセッサシステム。
- 前記切り換え手段は、前記複数のプロセッサでオペレーティングシステムが動作しており、前記オペレーティングシステムの実行すべきタスクがなくなったときに、前記複数のプロセッサを前記第1の動作状態から前記第2の動作状態に切り換えることを特徴とする請求項1〜5の何れか1項に記載のマルチプロセッサシステム。
- 前記切り換え手段は、前記複数のプロセッサでオペレーティングシステムが動作しており、前記オペレーティングシステムが定義するアイドルタスクに実行権が渡ったときに、前記複数のプロセッサを前記第1の動作状態から前記第2の動作状態に切り換えることを特徴とする請求項1〜5の何れか1項に記載のマルチプロセッサシステム。
- それぞれが第1の動作状態と第2の動作状態とに切り換わることが可能な複数のプロセッサと、第1の動作状態と第2の動作状態とに切り換わることが可能であり、前記複数のプロセッサが共通にアクセスするメモリ装置とを有するマルチプロセッサシステムの制御方法であって、
前記複数のプロセッサの動作状態が前記第2の動作状態になった場合、前記メモリ装置の動作状態を前記第1の動作状態から前記第2の動作状態に切り換え、
前記メモリ装置の動作状態が前記第2の動作状態である場合に、前記複数のプロセッサの少なくとも1つを前記第2の動作状態から前記第1の動作状態に切り換えるための割り込み信号が入力されたとき、前記メモリ装置の動作状態を前記第2の動作状態から前記第1の動作状態に切り換える切り換え工程と、
前記切り換え工程によって前記メモリ装置の動作状態が前記第1の動作状態に切り換わるまで、前記複数のプロセッサの少なくとも1つを前記第2の動作状態から前記第1の動作状態に切り換えることを遅延させる遅延工程と、
を有するマルチプロセッサシステムの制御方法。 - それぞれが第1の動作状態と第2の動作状態とに切り換わることが可能な複数のプロセッサと、第1の動作状態と第2の動作状態とに切り換わることが可能であり、前記複数のプロセッサが共通にアクセスするメモリ装置とを有するマルチプロセッサシステムの制御方法をコンピュータに実行させるためのプログラムであって、
前記複数のプロセッサの動作状態が前記第2の動作状態になった場合、前記メモリ装置の動作状態を前記第1の動作状態から前記第2の動作状態に切り換え、
前記メモリ装置の動作状態が前記第2の動作状態である場合に、前記複数のプロセッサの少なくとも1つを前記第2の動作状態から前記第1の動作状態に切り換えるための割り込み信号が入力されたとき、前記メモリ装置の動作状態を前記第2の動作状態から前記第1の動作状態に切り換える切り換えステップと、
前記切り換えステップによって前記メモリ装置の動作状態が前記第1の動作状態に切り換わるまで、前記複数のプロセッサの少なくとも1つを前記第2の動作状態から前記第1の動作状態に切り換えることを遅延させる遅延ステップと、
をコンピュータに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014008864A JP2015138342A (ja) | 2014-01-21 | 2014-01-21 | マルチプロセッサシステム、その制御方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014008864A JP2015138342A (ja) | 2014-01-21 | 2014-01-21 | マルチプロセッサシステム、その制御方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015138342A true JP2015138342A (ja) | 2015-07-30 |
Family
ID=53769314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014008864A Pending JP2015138342A (ja) | 2014-01-21 | 2014-01-21 | マルチプロセッサシステム、その制御方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015138342A (ja) |
-
2014
- 2014-01-21 JP JP2014008864A patent/JP2015138342A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6092649B2 (ja) | 演算装置、アレイ型演算装置およびその制御方法、情報処理システム | |
KR102269504B1 (ko) | 자동차용 제어 장치 | |
JP5321866B2 (ja) | コンピュータシステム | |
US8495345B2 (en) | Computing apparatus and method of handling interrupt | |
JP2009042887A (ja) | マルチcpuシステムにおけるcpu有効活用方式 | |
JP6425492B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
US20110029757A1 (en) | Stream processor and task management method thereof | |
JP2015138342A (ja) | マルチプロセッサシステム、その制御方法及びプログラム | |
JP2007058279A (ja) | パワーダウン移行システム | |
JP5783348B2 (ja) | 制御装置、制御プログラム、画像形成装置 | |
JP2006065471A (ja) | 半導体集積回路およびその節電制御方法および節電制御プログラム | |
JP2010160713A (ja) | フィールド制御装置およびフィールド制御方法 | |
US20160239443A1 (en) | Dma controller | |
JP2010140319A (ja) | 半導体装置 | |
JP2017016250A (ja) | バリア同期装置、バリア同期方法及びプログラム | |
JP2013250696A (ja) | プロセッサシステムおよびプロセッサ制御装置 | |
JP2007052685A (ja) | マイクロコントローラ | |
JP2014160367A (ja) | 演算処理装置 | |
JP6071790B2 (ja) | 設定処理実行装置及び設定処理実行方法及びプログラム | |
JP2018005490A (ja) | 電子制御装置 | |
JP2008197943A (ja) | コンピュータシステム | |
JP5244759B2 (ja) | 情報処理装置および画像形成装置 | |
US20080307208A1 (en) | Application specific processor having multiple contexts | |
JP2007316986A (ja) | システムlsi | |
WO2018179753A1 (ja) | マイクロコンピュータ |