説明

通信装置及びその制御方法、並びに、コンピュータプログラム

【課題】メインシステムとサブシステムとから構成されるマルチプロセッサ/マルチコアシステムにおいて、省電力モード時にオフされるメモリが共有メモリである場合にも、安全に省電力/通常モードに移行する。
【解決手段】第1のプロセッサと、第2のプロセッサと、前記第1のプロセッサと前記第2のプロセッサとがアクセスする第1のメモリと、前記第2のプロセッサがアクセスする第2のメモリとを有し、前記第2のプロセッサは、前記第1のプロセッサからの指示に従って前記第1のメモリから前記第2のメモリにアクセス先を切替えると共に、省電力状態に移行する。

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

【特許請求の範囲】
【請求項1】
第1のプロセッサと、
第2のプロセッサと、
前記第1のプロセッサと前記第2のプロセッサとがアクセスする第1のメモリと、
前記第2のプロセッサがアクセスする第2のメモリとを有し、
前記第2のプロセッサは、前記第1のプロセッサからの指示に従って前記第1のメモリから前記第2のメモリにアクセス先を切替えると共に、省電力状態に移行する
ことを特徴とする通信装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2013−30178(P2013−30178A)
【公開日】平成25年2月7日(2013.2.7)
【国際特許分類】
【出願番号】特願2012−203535(P2012−203535)
【出願日】平成24年9月14日(2012.9.14)
【分割の表示】特願2008−249133(P2008−249133)の分割
【原出願日】平成20年9月26日(2008.9.26)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】