JP5094666B2 - マルチプロセッサシステム及びその制御方法、並びに、コンピュータプログラム - Google Patents

マルチプロセッサシステム及びその制御方法、並びに、コンピュータプログラム Download PDF

Info

Publication number
JP5094666B2
JP5094666B2 JP2008249133A JP2008249133A JP5094666B2 JP 5094666 B2 JP5094666 B2 JP 5094666B2 JP 2008249133 A JP2008249133 A JP 2008249133A JP 2008249133 A JP2008249133 A JP 2008249133A JP 5094666 B2 JP5094666 B2 JP 5094666B2
Authority
JP
Japan
Prior art keywords
subsystem
power saving
saving state
program
main system
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
JP2008249133A
Other languages
English (en)
Other versions
JP2010079729A (ja
JP2010079729A5 (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2008249133A priority Critical patent/JP5094666B2/ja
Priority to US12/565,429 priority patent/US8301923B2/en
Publication of JP2010079729A publication Critical patent/JP2010079729A/ja
Publication of JP2010079729A5 publication Critical patent/JP2010079729A5/ja
Priority to US13/617,938 priority patent/US8886978B2/en
Application granted granted Critical
Publication of JP5094666B2 publication Critical patent/JP5094666B2/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/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • 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)

Description

本発明は、情報処理システム及びその制御方法、並びに、コンピュータプログラムに関する。
近年、様々な情報処理機器において低消費電力化が求められている。そこで機器の消費電力を低減させるために、通常のアプリケーション処理を行う通常モードとは別に、通常モードよりも消費電力を低減させた省電力モードを有する機器が増加している。
省電力モード時の動作には様々なものがあるが、一般に、機器を構成する一部の回路、装置の動作電圧を低下、あるいは電源の供給を停止することにより消費電力の低減を図る。これにより、機器の一部機能を利用していない場合や、待機時などにおいて、機器を省電力モードにすることによって効果的に消費電力を低減することができる。
省電力モード時における消費電力を低減する技術として、省電力モード時において動作電圧の低いSRAMに配置したプログラムを実行し、その他のメモリを省電力の状態にするものが提案されている(特許文献1、特許文献2を参照)。
これらの提案技術では、通常モード時においてはSDRAMに配置されたプログラムおよびデータを用いて実行する。そして省電力モード時においては、SDRAMにはアクセスせずに、SDRAMよりも動作電圧の低いSRAMに配置されたプログラムおよびデータのみを使用して省電力モード用のプログラムを実行する。これにより、SDRAMをセルフ・リフレッシュのような省電力状態にできるため、省電力モード時における消費電力を低減することができる。
一方で、様々な組込機器やPCにおいて、複数のプロセッサ、あるいは複数のコアを搭載したマルチプロセッサ/マルチコアシステムが近年増加してきており、今後この傾向は加速していくものとみられる。このようなマルチプロセッサ/マルチコアシステムにおいても、低消費電力化が求められている。
特開2000−105639号公報 特開2005−111715号公報
共有メモリを持つマルチプロセッサ/マルチコアシステムでは、複数のプロセッサ/コアから共有メモリに対してアクセスが行われる。そのため、省電力モード時に共有メモリを省電力状態にする場合、省電力モード移行時に全てのプロセッサ/コアからの共有メモリへのアクセスを停止した後で省電力状態にする必要がある。共有メモリへのアクセスを停止していないプロセッサ/コアがあった場合、共有メモリに対しての不正なアクセスやデータの不整合が発生し、システムが正常に動作しなくなる虞がある。
さらに、省電力モードから通常モードに復帰する際においても、共有メモリを通常状態にした後に、各プロセッサ/コアは共有メモリへのアクセスを開始しなくてはならない。
そこで、マルチプロセッサ/マルチコアシステムにおいて、省電力モードに移行する際、あるいは通常モードに復帰する際に、共有メモリへのアクセスを安全に停止/開始する省電力モード制御が求められる。
そこで上記問題を解決するための本発明は、
第1のプロセッサを有するメインシステムと第2のプロセッサを有するサブシステムとにより処理を分担するマルチプロセッサシステムであって、
前記メインシステムと前記サブシステムとがアクセスする第1の共有メモリと、
前記サブシステムが省電力状態時にアクセスする第2のメモリと、
前記サブシステムが省電力状態に移行する場合、前記メインシステムとサブシステムから前記第1の共有メモリへのアクセスを停止する停止手段と、
前記サブシステムが省電力状態に移行する場合、前記サブシステムのアクセス先を前記第1の共有メモリから前記第2のメモリへ切り替える切替手段と、
を有することを特徴とする。
本発明によれば、マルチプロセッサ/マルチコアシステムにおいて、省電力モードに移行する際、あるいは通常モードに復帰する際に、共有メモリへのアクセスを安全に停止/開始する省電力モード制御を提供することができる。
<実施形態1>
本発明の実施形態1における情報処理システムの構成図を図1に示す。図1において、情報処理システム101はメインシステム102、サブシステム103、SDRAM104、CPU間通信レジスタ105、ROM106、SRAM107、SRAM108から構成される。
メインシステム102は、メインCPU109とアプリケーション機能部113を有する。アプリケーション機能部113は、アプリケーション機能を実現するために、メインCPU109によって制御されるハードウェア装置である。
例えば、情報処理システム101が印刷装置であれば、アプリケーション機能として印刷が実現され、印刷エンジンなどがアプリケーション機能部113に相当する。メインCPU109がSDRAM104上に配置された通常モード用プログラムを実行し、アプリケーション機能部113を制御することで、メインシステム102は通常モード時においてアプリケーション機能を実現する。
サブシステム103は、サブCPU110と通信部111とを含む。サブCPU110がSDRAM104に配置された通常モード用プログラムを実行し、通信部111を制御することで、ネットワーク112上の他の装置との通信を行うことができる。
SDRAM104は、メインシステム102とサブシステム103からアクセスすることができる第1の共有メモリである。SDRAM104は、メインシステム102とサブシステム103からアクセス可能な通常状態と、アクセスすることができない代わりに消費電力を低下させた省電力状態とを有する。情報処理システム101が第1のモードである通常モード時には、SDRAM104には通常の電力供給が行われ通常状態をとる。情報処理システム101が第2のモードである省電力モード時には、SDRAM104は省電力状態をとる。メインシステム102は、SDRAM104を通常動作状態から省電力動作状態への状態遷移と、省電力動作状態から通常動作状態への状態遷移との制御を行う。
SDRAM104の省電力状態はセルフリフレッシュモードであっても、電源が供給されない状態であってもよい。以降では、セルフリフレッシュモードとして説明する。またSDRAM104には、メインシステム102とサブシステム103の通常モード用のプログラムおよびデータが配置される。
CPU間通信レジスタ105は、メインCPU109とサブCPU110との間のCPU間通信を中継する。一方のCPUがCPU間通信レジスタ105に所定の命令を書き込むと、もう一方のCPUに割り込みが発生し、もう一方のCPUは所定の命令を読み込むことができる。CPU間通信レジスタ105を介して、メインシステム102とサブシステム103は通信を行う。
ROM106はメインシステム102からアクセス可能なメモリである。ROM106には、起動時にSDRAM104、SRAM107、SRAM108に展開され実行されるメインシステム102とサブシステム103のプログラムおよびデータが格納されている。
SRAM107はメインシステム102からアクセス可能なメモリである。SRAM107には、メインシステム102の省電力モード用のプログラムおよびデータが配置される。SRAM108はメインシステム102とサブシステム103からアクセス可能な第2の共有メモリである。SRAM108には、サブシステム103の割り込みベクタと割り込みハンドラ、さらに省電力モード用プログラムおよびデータが配置される。
まず、情報処理システム101の起動時の処理を説明する。メインシステム102は最初にROM106上に配置されたプログラムを実行する。メインCPU109は実行を開始すると、まず、ROM106に配置されたメインシステム102とサブシステム103の通常モード用プログラムおよびデータをSDRAM104上に展開する。続いてメインシステム102の省電力モード用のプログラムをSRAM107上に展開し、サブシステム103の省電力モード用のプログラムをSRAM108上に展開する。
メインシステム102はその後、SDRAM104上に配置したプログラムの実行を開始して、サブシステムを起動する。サブシステム103が起動されると、サブシステム103はSRAM108に配置されたベクタテーブルのリセットベクタを参照し、SDRAM104に配置された通常モード用プログラムにジャンプする。
サブシステム103は通常モード用プログラムの実行を開始すると、CPU間通信レジスタ105を介して、メインシステム102に実行を開始したことを通知する。これらの処理を終えるとメイン情報処理システム101とサブシステム102は通常モード用のプログラムを開始し、情報処理システム101は通常モードの処理を行う。
情報処理システム101が通常モードであるとき、メインシステム102とサブシステム103はSDRAM104に配置された通常モード用プログラムを実行する。メインシステム102はアプリケーション機能を実現する。サブシステム103の通常モード用のプログラムは、組み込みOSと複数の通常モード用タスクと通常モード用割り込みプログラムとから構成される。組み込みOSは複数の通常モード用タスクの中から実行するタスクを決定し、組み込みOSが実行するタスクを切り替えることによって、サブシステム103は処理を行う。
サブシステム103で割り込みが発生した際には、SRAM108上の割り込みハンドラからSDRAM104上の通常モード用割り込みプログラムにジャンプすることによって割り込みに対する処理を行う。サブシステム103への割り込みは、CPU間通信レジスタ105や通信部111から発生する。
通信部111のDMA転送先は通常モード時においてSDRAM104上の領域を使用する。また、通常モードにおいてサブCPU110がプログラムを実行する上で使用するスタックポインタはSDRAM104の領域を用いる。
発明の実施形態1では、メインシステム102からの指示により情報処理システム101が省電力モードに移行する。省電力モードに移行する条件としては、アプリケーション機能の動作が停止してから一定時間経過後や、ユーザが指示した場合などが想定される。情報処理システム101が省電力モードの際は、サブシステム103が通信部111を動作させる。そして、通信部111がネットワーク112からの特定パケットを受信すると、情報処理システム101は省電力モードから通常モードへと復帰する。
以降で、本発明の実施形態1における情報処理システム101の通常モードから省電力モードへの移行方法と、情報処理システム101の省電力モードから通常モードへの復帰方法について説明する。
まず、通常モードから省電力モード移行方法について説明する。図2のシーケンス図は、情報処理システム101が通常モードから省電力モードに移行する際のメインシステム102とサブシステム103の処理のやりとりを示す。メインシステム102とサブシステム103間の通信はCPU間通信レジスタ105を用いて行われる。情報処理システム101が通常モードから省電力モードに移行する際、まずメインシステム102がサブシステム103に対して、ステップS201で省電力モード移行要求を送信する。
サブシステム103は省電力モード移行要求を受信すると、ステップS202でSDRAM104へのアクセスを停止し、SRAM108に配置された省電力モード用プログラムの実行を開始する。サブシステム103は省電力モード用プログラムの実行を開始した後に、ステップS203において、省電力モード移行要求に対する応答として、メインシステム102へ省電力モード移行完了を通知する。
このときのメインシステム102とサブシステム103の処理の詳細を次に述べる。図3はメインシステム102が省電力モードに移行する際のフローチャートである。図3で示される省電力モードに移行するためのプログラムは、ステップS301からステップS303はSDRAM104に配置され、ステップS304からステップS306はSRAM107に配置される。
まず、ステップS301でメインシステム102はCPU間通信レジスタ105を介してサブシステム103に省電力モード移行要求を送信する。その後、ステップS302でサブシステム103からの省電力モード移行完了の通知を待つ。メインシステム102はCPU間通信レジスタ105を介してサブシステム103から省電力モード移行完了の通知を受信する(第1の受信)。
受信後、メインシステム102はSDRAM104をセルリフレッシュモードで動作できるように、ステップS303でSDRAM104に配置されたプログラムからSRAM107に配置されたプログラムにジャンプする。メインシステム102とサブシステム103はそれ以降、SDRAM104にアクセスしないため、ステップS304でメモリ制御を行ってSDRAM104をセルフリフレッシュモードにする。メインシステム102はさらに消費電力を低下させるために、ステップS305でアプリケーション機能部を省電力状態にし、さらにステップS306でメインCPU109のクロックをダウンする。以上の省電力モード移行処理を終えると、省電力モード用プログラムの実行を開始し省電力モードとなる。
図4のフローチャートに、サブシステム103が省電力モード移行要求を受信してから省電力モードに移行完了するまでの動作を示す。図4に示されるステップS401からステップS408の処理は、SDRAM104上に配置され、ステップS409からステップS410の処理は、SRAM108に配置されている。これらの処理はSDRAM104に配置されたプログラムとSRAM108に配置されたプログラムからなる切替タスクによって実行される。
サブシステム103はCPU間通信レジスタ105を介してステップS401で省電力モード移行要求を受信する(第2の受信)。続いて、省電力モード時においてSDRAM104にアクセスしないようにするために、ステップS402からステップS407において、SDRAM104へのアクセスを停止する処理を行った後、SRAM108に配置されたプログラムを実行する。
ステップS402で省電力モードにおいてSDRAM104に配置されたタスクにディスパッチしないようにする。サブシステムは組み込みOSのタスクスケジューリング機能を停止、あるいは切替タスクの優先度を十分に上げることによりSDRAM104に配置されたタスクが実行されないようにする。さらにステップS403で割り込みも禁止する。
続いてステップS404において、通信部111のDMA転送先をSDRAM104上からSRAM108上に変更する。このとき必要に応じて、通信部111のDMA転送を一時的に停止する。また、通信部111で送信前パケットが残っている場合、通常モードでの処理を再開したときにパケットを送信しても情報が古いため、送信前パケットをキャンセルする。
ステップS405でスタックポインタを変更する。まず、通常モードに復帰した際に元のスタックポインタの位置に戻せるようにするために、現在のスタックポインタをSDRAM104上に保存する。それから、スタックポインタをSRAM108上の所定のアドレスに移動する。これにより、サブシステム103のアクセス先のSDRAM104からSRAM108への切替制御を実現できる。
ステップS406でCPU間通信レジスタ105と通信部111に関する割り込みハンドラから省電力モード用プログラムにジャンプするようにし、SDRAM104へのアクセスしないようにする。SDRAM104へのアクセスができなくなる前に、サブCPU110のキャッシュ上のデータをSDRAM104に書き込んでいないと、通常モードへ復帰した場合、データの不整合が発生する可能性がある。そこで、ステップS407でキャッシュのフラッシュを行い、キャッシュがフラッシュされるまで十分に待つ。
ステップS408でSRAM108上に配置された省電力モード用プログラムへジャンプ、またはSRAM108上に配置された関数をコールすることで省電力モード用プログラムの実行を開始する。これにより、SDRAM104へのアクセスは発生しなくなる。
ステップS408までの処理を行うと、サブシステム103はステップS409において、CPU間通信レジスタ105を介してメインシステム102に省電力モード移行完了を通知する。最後に、サブシステム103はステップS410でCPU間通信レジスタ105と通信部111の割り込みを許可する。これにより、通信部111で再びパケットを受信できるようになる。また、ステップS404でDMA転送を一時的に停止した場合、ここで通信部111のDMA転送の再開を行う。
これらの処理を行うことでサブシステム103は省電力モードに移行することができる。以降の省電力モード時の処理においてもサブシステム103は切替タスクにて処理を続ける。
次に本発明の実施形態1における、メインシステム102とサブシステム103の省電力モード時における動作について説明する。メインシステム102は、サブシステム103からの通常モードへ復帰する条件を満たしたことの通知を受信するまで待つ。
一方で、サブシステム103はネットワーク112を介して外部の他の装置からのパケットを通信部111で受信する。そして特定のパケットが受信されるまで受信し続ける。サブシステム103は、特定パケットを受信すると、通常モード復帰処理を開始する。
以降では、情報処理システム101が省電力モードから通常モードへ復帰する処理について説明する。
図5に、情報処理システム101が省電力モードから通常モードへ復帰する際のメインシステム102とサブシステム103のシーケンスを示す。メインシステム102とサブシステム103の通信はCPU間通信レジスタ105を介して行われる。
省電力モード時において、サブシステム103は通常モードへの復帰するか否かを判定している。サブシステム103は通常モードへの復帰条件として特定パケットを受信すると、ステップS501でメインシステム102に通常モード復帰要求を送信する。
メインシステム102は通常モード移行要求を受信すると、ステップS502においてSDRAM104を通常状態にする。SDRAM104を通常状態にすることにより、SDRAM104へ記憶されたデータへのアクセスが可能となる。
メインシステム102は、SDRAM104をアクセス可能な状態にすると、ステップS503でサブシステム103にSDRAM104が通常状態になったことの通知を行う。サブシステム103は、SDRAM104が通常状態になったことの通知を受信すると、ステップS504でSRAM108上でのプログラム実行から、SDRAM104に配置された通常モード用のプログラムへと切り替える。
サブシステム103は通常モードへの移行を完了すると、ステップS505でメインシステム102へ通常モード移行完了の通知を行い、情報処理システム101は通常モードへの復帰を完了する。
このときのメインシステム102とサブシステム103の処理の詳細を次に述べる。図6にメインシステム102が省電力モードから通常モードに復帰する際のフローチャートを示す。図6に示される処理のステップS601からステップS604のプログラムは、SRAM107に配置されており、ステップS605からステップS607のプログラムはSDRAM104に配置される。いずれのプログラムもメインCPU109によって実行される。
メインシステム102はステップS601でサブシステム103から通常モード復帰要求を受信すると、ステップS602でメインCPU109のクロックを上げ、さらにステップS603でアプリケーション機能部を通常状態にする。そしてメインシステム102はステップS604においてセルフリフレッシュモードであるSDRAM104を通常状態に戻し、SDRAM104へのアクセスを可能にする。
メインシステム102はSDRAM104にアクセス可能になると、ステップS605においてSDRAM上に配置されたプログラムの実行を開始する。メインシステム102はステップS606で、サブシステム103にSDRAM104を通常状態にしたことを通知する。
その後、ステップS607でメインシステム102はサブシステム103からの通常モード移行完了の通知を待つ。メインシステム102が、ステップS607でサブシステム103から通常モード移行完了を受信すると、通常モード用のプログラムを実行し、情報処理システム101は通常モードへの復帰を完了する。
図7にサブシステム103が省電力モードから通常モードに復帰する際のフローチャートを示す。ステップS701からステップS704の処理はSRAM108に配置されており、ステップS704からステップS710の処理はSDRAM104に配置されている。これらの処理も引き続き、切替タスク内で行う。
サブシステム103は省電力モード時において、特定パケットを受信し、通常モードへの復帰条件を満たすと、まず、ステップS701でメインシステム102に通常モード復帰要求を送信する。その後、ステップS702でサブシステム103はメインシステム102からSDRAM104を通常状態にした通知を待つ。
サブシステム103は、ステップS702でメインシステム102からSDRAM104を通常状態にしたことの通知を受信すると、ステップS703からS707でSDRAM104上に配置されたプログラムおよびデータを使った実行への切替を行う。
ステップS703でCPU間通信レジスタ105と通信部111に関する割り込みを禁止する。その後、サブシステム103は、ステップS704でSRAM108に配置されたプログラムからSDRAM104上に配置されたプログラムへジャンプ、または関数のコールを行う。
続いてステップS705でスタックポインタを、省電力モードに移行する際に保存しておいたSDRAM104上のアドレスに戻す。さらにサブシステム104は、ステップS706でCPU間通信レジスタ105と通信部111からの割り込みのハンドラを通常モード用のプログラムにジャンプするように切り替え、ステップS707で通信部111のDMA転送先をSDRAM104上に戻す。DMA転送先を変更する際に、必要に応じてDMA転送の一時停止を行う。これにより通信部111の通信準備が整い、サブシステム103のアクセス先のSRAM108からSDRAM104への切替制御を実現できる。
サブシステム103はこれらの切り替え処理を終えると、ステップS708においてメインシステム102に通常モードへの復帰を完了した通知を行う。
続いて、サブシステム103は通信部111における通信を再開するために、ステップS709でCPU間通信レジスタ105と通信部111の割り込みの許可する。さらにステップS710で組み込みOSのタスクのスケジューリングを有効にする。これにより切替タスクはその処理を終えて、他のタスクが実行される。これにより通常モードに復帰し、通常モード時の処理を再開する。
<実施形態2>
本発明の実施形態2のシステム構成図は、実施形態1と同様に図1で示される。実施形態2と実施形態1の異なる点は、通常モードから省電力モードに移行する際のサブシステム103の処理、および省電力モードから通常モードに移行する際のサブシステム103の処理である。メインシステム102とサブシステム103とのやりとりのシーケンス、およびメインシステム102の処理については実施形態1と同じである。
サブシステム103が通常モードから省電力モードに移行し、省電力モードで所定のパケットを受信後、省電力モードから通常モードに復帰する処理の説明をする。尚、実施形態1と同じである点については説明を省略する。
サブシステム103における省電力モードへの移行、省電力モード時の処理、通常モードへの復帰は、移行タスク、省電力モードタスク、復帰タスクによって実行される。それぞれのフローチャートを図8、図9、図10に示す。移行タスクと復帰タスクはSDRAM104に配置され、省電力モードタスクはSRAM108に配置される。
まず、通常モードから省電力モードに移行する際は、サブシステム103において移行タスクが実行される。図8を用いて、移行タスクのフローチャートについて説明する。
サブシステム103はCPU間通信レジスタ105を介してステップステップS801で省電力モード移行要求を受信する。ステップステップS802からステップステップS805の処理は、実施形態1のステップS403からステップS406と同様である。
ステップステップS805までの処理を行った後、SRAM108に配置されたプログラムの実行を開始するために、ステップステップS806で移行タスクから省電力モードタスクにタスク実行を切り替える。省電力モードタスクはSRAM108に配置されている。
省電力モードタスクに切り替わった後の処理を、図9のフローチャートを用いて説明する。省電力モードタスクは、まずステップステップS901において組み込みOSのタスクスケジューリング機能の停止、あるいは省電力モードタスクの優先度を十分に上げるなどして、SDRAM104に配置されたタスクにディスパッチしないようにする。
ステップステップS902でキャッシュのフラッシュを行い、フラッシュ完了まで十分に待つ。これにより、SDRAM104へのアクセスを停止することができる。SDRAM104へのアクセスを停止できると、ステップステップS903においてメインシステムに省電力モード移行完了を通知する。
省電力モード移行の最後の処理としてステップステップS904でCPU間通信レジスタ105と通信部111の割り込みを許可する。これにより、実施形態1と同様に、通信部111でパケット受信を再開でき、省電力モードの移行が完了する。情報処理システム101は省電力モードとして処理を行う。
省電力モード時において、サブシステム103で実行される省電力モードタスクは所定のパケットの受信をステップステップS905で待つ。省電力モードタスクは通信部111からネットワーク112を介して、所定のパケットを受信すると、省電力モードから通常モードへの復帰処理を行う。
復帰処理について図9のステップステップS906から説明する。これらの処理は引き続き、省電力モードタスクで行われる。省電力モードタスクは、所定パケット受信後、ステップステップS906において通常モード復帰要求を、メインシステム102に送信する。その後、ステップステップS907でサブシステム103はメインシステム102からSDRAM104を通常状態にした通知を待つ。
サブシステム103は通知を受信後、ステップステップS908でCPU間通信レジスタ105と通信部111に関する割り込みを禁止する。その後、サブシステム103は、ステップステップS909でタスクのスケジューリングを再開させるとともに、ステップステップS910で復帰タスクにタスクを切り替える。
通常モードへの復帰処理の続きを、図10を用いて説明する。図10は復帰タスクの処理のフローチャートである。復帰タスクはSDRAM104に配置されている。
復帰タスクの処理、ステップS1001からステップS1005の処理は、実施形態1におけるステップS705からステップS709と同じである。ステップS1005までの処理を行い、復帰タスクはその処理を終え、他のタスクが実行されることによって、通常モード用のプログラムを再開する。これにより情報処理システム101は通常モードへの復帰を完了する。
以上の各実施形態によれば、マルチプロセッサ/マルチコアシステムが省電力モードに移行する際に、共有メモリへの不正なアクセスや、共有メモリのデータの不整合を生じさせることなく、共有メモリを省電力状態にすることができる。また、通常モードに移行する際においても、共有メモリへの不正なアクセスや、共有メモリのデータの不整合を生じることなく、共有メモリへのアクセスを再開することができる。
[その他の実施形態]
本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
本発明の実施形態1におけるシステムの構成の一例を示す図である。 本発明の実施形態1における省電力モード移行時のメインシステム102とサブシステム103の動作の一例を示すシーケンス図である。 本発明の実施形態1におけるメインシステム102の省電力モード移行時の動作の一例を示すフローチャートである。 本発明の実施形態1におけるサブシステム103の省電力モード移行時の動作の一例を示すフローチャートである。 本発明の実施形態1における通常モード復帰時のメインシステム102とサブシステム103の動作の一例を示すシーケンス図である。 本発明の実施形態1におけるメインシステム102の通常モード復帰時の動作の一例を示すフローチャートである。 本発明の実施形態1におけるサブシステム103の通常モード復帰時の動作の一例を示すフローチャートである。 本発明の実施形態2におけるサブシステム103の移行タスクの動作の一例を示すフローチャートである。 本発明の実施形態2におけるサブシステム103の省電力モードタスクの動作の一例を示すフローチャートである。 本発明の実施形態2におけるサブシステム103の復帰タスクの動作の一例を示すフローチャートである。
符号の説明
101 システム
102 メインシステム
103 サブシステム
104 SDRAM
105 CPU間通信レジスタ
106 ROM
107 SRAM
108 SRAM
109 メインCPU
110 サブCPU
111 通信部
112 ネットワーク

Claims (16)

  1. 第1のプロセッサを有するメインシステムと第2のプロセッサを有するサブシステムとにより処理を分担するマルチプロセッサシステムであって、
    前記メインシステムと前記サブシステムとがアクセスする第1の共有メモリと、
    前記サブシステムが省電力状態時にアクセスする第2のメモリと、
    前記サブシステムが省電力状態に移行する場合、前記メインシステムとサブシステムから前記第1の共有メモリへのアクセスを停止する停止手段と、
    前記サブシステムが省電力状態に移行する場合、前記サブシステムのアクセス先を前記第1の共有メモリから前記第2のメモリへ切り替える切替手段と、
    を有することを特徴とするマルチプロセッサシステム。
  2. 前記サブシステムは、前記メインシステムからの要求に応じて、省電力状態へ移行することを特徴とする請求項1に記載のマルチプロセッサシステム。
  3. 前記切替手段は、前記メインシステムからの省電力状態への移行の要求に応じて、前記アクセス先を前記第1の共有メモリから前記第2のメモリへ切り替えることを特徴とする請求項1または2に記載のマルチプロセッサシステム。
  4. 前記サブシステムは、前記アクセス先の切替が完了すると、前記メインシステムに省電力状態への移行の完了を通知することを特徴とする請求項1乃至3のいずれか1項に記載のマルチプロセッサシステム。
  5. 前記省電力状態を解除するか否かを判定する判定手段を更に有し、
    前記サブシステムは、前記判定手段が前記省電力状態を解除すると判定した場合に、前記メインシステムに復帰要求を送信する
    ことを特徴とする請求項1乃至4のいずれか1項に記載のマルチプロセッサシステム。
  6. 前記サブシステムは、外部装置から受信したデータに基づいて、前記省電力状態を解除するか否かを判定することを特徴とする請求項1乃至5のいずれか1項に記載のマルチプロセッサシステム。
  7. 前記切替手段は、前記サブシステムが省電力状態を解除する場合は、前記サブシステムのアクセス先を前記第2の共有メモリから前記第1のメモリへ切り替えることを特徴とする請求項1乃至6のいずれか1項に記載のマルチプロセッサシステム。
  8. 前記メインシステムと前記サブシステムとの間の通信を中継する中継手段を更に有することを特徴とする請求項1乃至7のいずれか1項に記載のマルチプロセッサシステム。
  9. 前記サブシステムが省電力状態に移行する場合、前記サブシステムは、前記第1の共有メモリのプログラムへのディスパッチを禁止することを特徴とする請求項1乃至8のいずれか1項に記載のマルチプロセッサシステム。
  10. 前記サブシステムが省電力状態に移行する場合、前記サブシステムは、前記第1の共有メモリのプログラムへのディスパッチを禁止した後に、前記第2のメモリのプログラムの実行を開始することを特徴とする請求項1乃至9のいずれか1項に記載のマルチプロセッサシステム。
  11. 前記サブシステムが省電力状態に移行する場合、前記サブシステムは、前記第2のメモリのプログラムの実行を開始した後に、前記第1の共有メモリのプログラムへのディスパッチを禁止することを特徴とする請求項1乃至9のいずれか1項に記載のマルチプロセッサシステム。
  12. 前記サブシステムが省電力状態に移行する場合、前記サブシステムは、前記第2のメモリのプログラムの優先度を、前記第1の共有メモリのプログラムの優先度より高くすることを特徴とする請求項1乃至9のいずれか1項に記載のマルチプロセッサシステム。
  13. 前記サブシステムが省電力状態に移行する場合、前記サブシステムは、前記サブシステムが実行するプログラムの実行順序を決定するスケジューリングを停止することを特徴とする請求項1乃至9のいずれか1項に記載のマルチプロセッサシステム。
  14. サブシステムが省電力状態に移行する場合、前記サブシステムは、前記サブシステムが有するキャッシュのフラッシュを行うことを特徴とする請求項1乃至9のいずれか1項に記載のマルチプロセッサシステム。
  15. 第1のプロセッサを有するメインシステムと第2のプロセッサを有するサブシステムとにより処理を分担し、前記メインシステムと前記サブシステムとがアクセスする第1の共有メモリと、前記サブシステムが省電力状態時にアクセスする第2のメモリとを備えるマルチプロセッサシステムの制御方法であって、
    前記サブシステムが省電力状態に移行する場合、前記メインシステムとサブシステムとが前記第1の共有メモリへのアクセスを停止する停止工程と、
    前記サブシステムが省電力状態に移行する場合、前記サブシステムがアクセス先を前記第1の共有メモリから前記第2のメモリへ切り替える切替工程と
    を備えることを特徴とする方法。
  16. コンピュータを、請求項1乃至14のいずれか1項に記載のマルチプロセッサシステムとして機能させることを特徴とするコンピュータプログラム。
JP2008249133A 2008-09-26 2008-09-26 マルチプロセッサシステム及びその制御方法、並びに、コンピュータプログラム Expired - Fee Related JP5094666B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008249133A JP5094666B2 (ja) 2008-09-26 2008-09-26 マルチプロセッサシステム及びその制御方法、並びに、コンピュータプログラム
US12/565,429 US8301923B2 (en) 2008-09-26 2009-09-23 Multiprocessor system including a power saving mode and control method thereof, and computer-readable medium
US13/617,938 US8886978B2 (en) 2008-09-26 2012-09-14 Multiprocessor system and control method where a power saving mode control that safely stops/starts accesses to a shared memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008249133A JP5094666B2 (ja) 2008-09-26 2008-09-26 マルチプロセッサシステム及びその制御方法、並びに、コンピュータプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012203535A Division JP5705185B2 (ja) 2012-09-14 2012-09-14 通信装置及びその制御方法、並びに、コンピュータプログラム

Publications (3)

Publication Number Publication Date
JP2010079729A JP2010079729A (ja) 2010-04-08
JP2010079729A5 JP2010079729A5 (ja) 2011-11-04
JP5094666B2 true JP5094666B2 (ja) 2012-12-12

Family

ID=42058905

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008249133A Expired - Fee Related JP5094666B2 (ja) 2008-09-26 2008-09-26 マルチプロセッサシステム及びその制御方法、並びに、コンピュータプログラム

Country Status (2)

Country Link
US (2) US8301923B2 (ja)
JP (1) JP5094666B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010035315A1 (ja) * 2008-09-24 2010-04-01 富士通株式会社 マルチコアcpuにおける消費電力制御方法,消費電力制御プログラム及び情報処理システム
US9423866B2 (en) * 2014-07-16 2016-08-23 Eta Compute, Inc. Asynchronous processor that adjusts a respective operating voltage for causing a task to consume substantially all of a respective allocated time interval for the task
KR101596222B1 (ko) * 2009-08-25 2016-02-23 삼성전자주식회사 영상 재생 장치의 부팅을 제어하는 방법 및 그 장치
US8856458B2 (en) 2009-12-15 2014-10-07 Advanced Micro Devices, Inc. Polymorphous signal interface between processing units
US9128718B1 (en) * 2010-03-29 2015-09-08 Amazon Technologies, Inc. Suspend using internal rewriteable memory
JP5763934B2 (ja) 2011-02-17 2015-08-12 キヤノン株式会社 データ処理装置及びその省電力制御方法
JP2013208811A (ja) * 2012-03-30 2013-10-10 Canon Inc 画像形成装置及びその制御方法、並びにプログラム
WO2014096970A2 (en) * 2012-12-20 2014-06-26 Marvell World Trade Ltd. Memory sharing in a network device
US9696789B2 (en) * 2014-08-18 2017-07-04 Xilinx, Inc. Sub-system power management control
TWI653527B (zh) * 2014-12-27 2019-03-11 美商英特爾公司 當計算元件運作時致能系統低電力狀態之技術
JP2016208453A (ja) * 2015-04-28 2016-12-08 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及びプログラム
JP6444264B2 (ja) * 2015-05-29 2018-12-26 キヤノン株式会社 通信装置、制御方法及びプログラム
JP6772007B2 (ja) 2016-09-12 2020-10-21 キヤノン株式会社 情報処理装置及びその制御方法、コンピュータプログラム
GB201721734D0 (en) * 2017-12-22 2018-02-07 Nordic Semiconductor Asa Inter-processor communication
JP7172662B2 (ja) * 2019-01-30 2022-11-16 セイコーエプソン株式会社 電子機器及び回路基板

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5056000A (en) * 1988-06-21 1991-10-08 International Parallel Machines, Inc. Synchronized parallel processing with shared memory
US5167024A (en) * 1989-09-08 1992-11-24 Apple Computer, Inc. Power management for a laptop computer with slow and sleep modes
US5845322A (en) * 1996-09-17 1998-12-01 Vlsi Technology, Inc. Modular scalable multi-processor architecture
JPH11110363A (ja) * 1997-09-30 1999-04-23 Sharp Corp マルチプロセッサシステム
JP2000105639A (ja) 1998-09-29 2000-04-11 Sony Corp 省電力化回路
JP3360665B2 (ja) * 1999-03-12 2002-12-24 セイコーエプソン株式会社 省電力モードを有する電子印刷装置および制御方法
US6535945B1 (en) * 1999-08-31 2003-03-18 Sun Microsystems, Inc. Method and apparatus for programmable adjustment of computer system bus parameters
US6920572B2 (en) * 2000-11-15 2005-07-19 Texas Instruments Incorporated Unanimous voting for disabling of shared component clocking in a multicore DSP device
JP3870030B2 (ja) * 2001-02-28 2007-01-17 キヤノン株式会社 割込み制御回路を有するインクジェット記録装置および記録装置の制御方法
US7185174B2 (en) * 2001-03-02 2007-02-27 Mtekvision Co., Ltd. Switch complex selectively coupling input and output of a node in two-dimensional array to four ports and using four switches coupling among ports
JP2003089254A (ja) 2001-09-18 2003-03-25 Canon Inc 情報入出力装置、画像処理装置、画像処理装置のネットワーク制御方法、ネットワーク制御プログラム及び該プログラムを格納したコンピュータ読み取り可能な記録媒体
US7502817B2 (en) * 2001-10-26 2009-03-10 Qualcomm Incorporated Method and apparatus for partitioning memory in a telecommunication device
JP2004038642A (ja) * 2002-07-04 2004-02-05 Renesas Technology Corp マルチプロセッサ
US7058829B2 (en) * 2002-08-14 2006-06-06 Intel Corporation Method and apparatus for a computing system having an active sleep mode CPU that uses the cache of a normal active mode CPU
JP2005111715A (ja) 2003-10-03 2005-04-28 Seiko Epson Corp 印刷装置及びその制御方法
JP4773693B2 (ja) 2004-06-07 2011-09-14 キヤノン株式会社 メモリ制御システム
JP2006221381A (ja) 2005-02-09 2006-08-24 Sharp Corp プロセッサシステム、該プロセッサシステムを備えた画像形成装置
JP2006259906A (ja) 2005-03-15 2006-09-28 Ricoh Co Ltd 通信制御装置、通信制御システム、省電力制御方法、省電力制御プログラム、および該プログラムを記録した記録媒体
JP2006318380A (ja) * 2005-05-16 2006-11-24 Handotai Rikougaku Kenkyu Center:Kk 回路システム
JP4687399B2 (ja) * 2005-11-07 2011-05-25 セイコーエプソン株式会社 マルチプロセッサシステム及びデータバックアップ方法
KR100788980B1 (ko) * 2006-02-03 2007-12-27 엠텍비젼 주식회사 휴대형 장치 및 공유 메모리의 저전력 모드 제어 방법
JP4463216B2 (ja) 2006-02-09 2010-05-19 日本電気株式会社 省電力機能を備えた無線通信端末
JP2008044223A (ja) * 2006-08-16 2008-02-28 Seiko Epson Corp 情報処理装置、印刷装置、情報処理方法及びプログラム
US7424630B2 (en) * 2006-10-31 2008-09-09 Hewlett-Packard Development Company, L.P. Multiprocessor system with selective processor power down of core and inter-processor communications ports
EP2437180B1 (en) * 2009-09-09 2013-12-04 Samsung Electronics Co., Ltd. Image forming apparatus, system on chip unit and driving method thereof

Also Published As

Publication number Publication date
JP2010079729A (ja) 2010-04-08
US8886978B2 (en) 2014-11-11
US20100083019A1 (en) 2010-04-01
US20130013944A1 (en) 2013-01-10
US8301923B2 (en) 2012-10-30

Similar Documents

Publication Publication Date Title
JP5094666B2 (ja) マルチプロセッサシステム及びその制御方法、並びに、コンピュータプログラム
RU2592415C2 (ru) Устройство формирования изображения и способ управления им
JP5229326B2 (ja) マルチコアcpuにおける消費電力制御方法,消費電力制御プログラム及び情報処理システム
CN101689106B (zh) 多处理器控制装置、多处理器控制方法以及多处理器控制电路
JP2006221381A (ja) プロセッサシステム、該プロセッサシステムを備えた画像形成装置
WO2009157178A1 (ja) 仮想計算機制御装置、仮想計算機制御プログラム及び仮想計算機制御回路
US10671426B2 (en) Data processing
US20110107344A1 (en) Multi-core apparatus and load balancing method thereof
JP2004086912A (ja) ワーキングコンテキスト格納及び再格納装置、並びに方法
JP2007219757A (ja) 仮想計算機システムを機能させるためのプログラム
JP2011095916A (ja) 電子機器
JP2013175150A (ja) 情報処理装置、省電力制御方法、省電力制御プログラム
JP2010134710A (ja) 仮想マシンの移行方法、サーバ、及び、プログラム
JP5578811B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP5705185B2 (ja) 通信装置及びその制御方法、並びに、コンピュータプログラム
JP6380261B2 (ja) 電子機器および給電制御プログラム
JP5783348B2 (ja) 制御装置、制御プログラム、画像形成装置
JP6252799B2 (ja) 演算処理装置およびその制御方法
JP2015215684A (ja) 情報処理装置及び情報処理プログラム
JP4156470B2 (ja) ノード移送装置、ノード代替装置及びそのプログラム
JP7374588B2 (ja) Pciデバイスに接続される省電力状態に移行可能なデバイスを備える電子機器およびその制御方法
JP2010211506A (ja) 不均一メモリアクセス機構を備えるコンピュータ、コントローラ、及びデータ移動方法
JP2006260092A (ja) 情報処理装置またはデータ転送制御装置
JP2011233006A (ja) 電子回路、画像形成装置およびddr−sdramの初期化方法
JP5231496B2 (ja) 情報処理装置及びそのサスペンド/リジューム方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110914

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110914

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120807

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120918

R151 Written notification of patent or utility model registration

Ref document number: 5094666

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20150928

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees