JP2009075910A - プロセッサ切り替え装置、情報表示装置およびマルチプロセッサシステム - Google Patents

プロセッサ切り替え装置、情報表示装置およびマルチプロセッサシステム Download PDF

Info

Publication number
JP2009075910A
JP2009075910A JP2007244903A JP2007244903A JP2009075910A JP 2009075910 A JP2009075910 A JP 2009075910A JP 2007244903 A JP2007244903 A JP 2007244903A JP 2007244903 A JP2007244903 A JP 2007244903A JP 2009075910 A JP2009075910 A JP 2009075910A
Authority
JP
Japan
Prior art keywords
master processor
processor
cpu
switching device
bus
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.)
Withdrawn
Application number
JP2007244903A
Other languages
English (en)
Inventor
Masahito Nishizawa
雅人 西澤
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2007244903A priority Critical patent/JP2009075910A/ja
Publication of JP2009075910A publication Critical patent/JP2009075910A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

【課題】処理をしているときも従来より低消費電力のマルチプロセッサシステムを提供すること。
【解決手段】プロセッサ切り替え装置は、複数のプロセッサのうち、マスタプロセッサを特定する識別子を記憶するマスタプロセッサ記憶手段と、マスタプロセッサを切り替えるタイミングを示すスケジュールを記憶するスケジュール記憶手段と、スケジュールにより示されるタイミングで、現時点のマスタプロセッサからレジスタに記憶されたデータまたはカーネルメモリに記憶されたデータを取得する取得手段と、マスタプロセッサ記憶手段に記憶される識別子をスケジュールに従って更新するマスタプロセッサ更新手段と、次のマスタプロセッサとなることが示されるプロセッサに対し、取得手段により取得されたデータを送信する送信手段と、更新前のマスタプロセッサへの電力供給を停止させる信号を出力する電力制御手段とを有する。
【選択図】図1

Description

本発明は、複数のプロセッサを切り替える技術に関する。
従来、複数のプロセッサを有するコンピュータシステムすなわちマルチプロセッサシステムとして、対称型マルチプロセッサシステム(Symmetric Multiple Processor 、以下
「SMP」という)や非対称型マルチプロセッサシステム(Asymmetric Multiple Processor、以下「AMP」という)が知られている。
SMPにおいては、複数のプロセッサが同等の立場で処理を分担する。SMPはサーバなどによく用いられる。SMPは、複数のプロセッサと、各プロセッサに接続されたキャッシュと、キャッシュ間を接続するバスを有する。このように、SMPはキャッシュ間でデータをやりとりする仕組みを有する。ただし、各キャッシュの一貫性を保つ仕組みはOS(Operating System)やデバイスドライバなどで実装する必要がある。
AMPにおいては、プロセッサコアの種類や処理能力が異なる複数のプロセッサが処理を分担する。したがって、処理内容に応じて分担するタスクがあらかじめ決められている必要がある。例えばあるプロセッサはOSを処理し、別のプロセッサはアプリケーションを処理するといった分担がされる。この場合、プロセッサコアの種類が異なるため、割り込み処理をそれぞれ別に用意する必要がある。
SMPやAMPの例として、例えば特許文献1−2がある。特許文献1は、シングルプロセッサ用のOSやアプリケーションが動作するマルチプロセッサシステムを開示している。特許文献2は、マルチプロセッサシステムにおける電力制御を開示している。
特開2004−355153号公報 特開2005−25726号公報
特許文献1に記載された技術は、複数のプロセッサで並列処理を行うことを目的とするものであり、省電力化を目的とした電力制御を行うものではなかった。特許文献2はプロセッサコアを停止させるものであり、プロセッサコアの停止中に処理を行うことはできなかった。
これに対し本発明は、処理をしているときも従来より低消費電力のマルチプロセッサシステムを提供するものである。
上述の課題を解決するため、本発明は、各々がレジスタを有するかまたは共通のカーネルメモリにアクセス可能な複数のプロセッサのうち、処理を行うプロセッサをマスタプロセッサとして特定する識別子を記憶するマスタプロセッサ記憶手段と、前記マスタプロセッサを切り替えるタイミングを示すスケジュールを記憶するスケジュール記憶手段と、前記スケジュールにより示されるタイミングで、現時点のマスタプロセッサから前記レジスタに記憶されたデータまたは前記カーネルメモリに記憶されたデータを取得する取得手段と、前記取得手段が前記データを取得すると、前記マスタプロセッサ記憶手段に記憶される識別子を前記スケジュールに従って更新するマスタプロセッサ更新手段と、前記マスタプロセッサ記憶手段に記憶された識別子により次のマスタプロセッサとなることが示され
るプロセッサに対し、前記取得手段により取得されたデータを送信する送信手段と、前記送信手段がデータを送信すると、更新前のマスタプロセッサへの電力供給を停止させる信号を出力する電力制御手段とを有するプロセッサ切り替え装置を提供する。
このプロセッサ切り替え装置によれば、タスクスケジュールに従ってデータが前のマスタプロセッサから次のマスタプロセッサに引き継がれる。また、マスタプロセッサが切り替えられると前のマスタプロセッサへの電力供給が停止される。
好ましい態様において、前記電力制御手段は、前記送信手段が前記次のマスタプロセッサに対し前記データを送る前に前記次のマスタプロセッサへの電力供給を開始させる信号を出力してもよい。
このプロセッサ切り替え装置によれば、マスタプロセッサが切り替えられる前に次のマスタプロセッサへの電力供給が開始される。
別の好ましい態様において、前記送信手段は、前記次のマスタプロセッサが起動した後で前記データを送信してもよい。
このプロセッサ切り替え装置によれば、次のマスタプロセッサが起動した後にマスタプロセッサが切り替えられる。
さらに別の好ましい態様において、このプロセッサ切り替え装置は、一方を前記複数のプロセッサ間で送受信される信号を伝送するバスに接続され、他方を前記複数のプロセッサの各々に接続されたバス調停装置に、前記マスタプロセッサ記憶手段に記憶された識別子を送信する識別子送信手段を有してもよい。
このプロセッサ切り替え装置によれば、マスタプロセッサの識別子がバス調停装置に送信される。
また、本発明は、前記複数のプロセッサと、上記いずれかのプロセッサ切り替え装置と、前記複数のプロセッサのうち1つのプロセッサにより制御され、情報を表示する表示体とを有する情報表示装置を提供する。
この情報表示装置によれば、タスクスケジュールに従ってデータが前のマスタプロセッサから次のマスタプロセッサに引き継がれる。また、マスタプロセッサが切り替えられると前のマスタプロセッサへの電力供給が停止される。
さらに、本発明は、各々がレジスタを有するかまたは共通のカーネルメモリにアクセス可能な複数のプロセッサと、前記複数のプロセッサに接続されたプロセッサ切り替え装置と、一方を前記複数のプロセッサ間で送受信される信号を伝送するバスに接続され、他方を前記複数のプロセッサの各々に接続されたバス調停装置とを有し、前記プロセッサ切り替え装置は、前記複数のプロセッサのうち処理を行うプロセッサをマスタプロセッサとして特定する識別子を記憶するマスタプロセッサ記憶手段と、前記マスタプロセッサを切り替えるタイミングを示すスケジュールを記憶するスケジュール記憶手段と、前記スケジュールにより示されるタイミングで、現時点のマスタプロセッサから前記レジスタに記憶されたデータまたは前記カーネルメモリに記憶されたデータを取得する取得手段と、前記取得手段が前記データを取得すると、前記マスタプロセッサ記憶手段に記憶される識別子を前記スケジュールに従って更新するマスタプロセッサ更新手段と、前記マスタプロセッサ記憶手段に記憶された識別子により次のマスタプロセッサとなることが示されるプロセッサに対し、前記取得手段により取得されたデータを送信するデータ送信手段と、前記マスタプロセッサ記憶手段に記憶された識別子を前記バス調停装置に送信する識別子送信手段と、前記送信手段がデータを送信すると、更新前のマスタプロセッサへの電力供給を停止させる信号を出力する電力制御手段とを有し、前記バス調停装置は、前記プロセッサ切り替え装置から送信されたマスタプロセッサの識別子を記憶する識別子記憶手段と、前記マスタプロセッサからバス権限の要求があった場合、前記マスタプロセッサにバス権限を送
信するバス権限送信手段とを有することを特徴とするマルチプロセッサシステムを提供する。
このマルチプロセッサシステムによれば、タスクスケジュールに従ってデータが前のマスタプロセッサから次のマスタプロセッサに引き継がれる。また、マスタプロセッサが切り替えられると前のマスタプロセッサへの電力供給が停止される。
1.構成
図1は、一実施形態に係るマルチプロセッサシステムの機能構成を示す図である。マルチプロセッサシステムは、n個のプロセッサ20(プロセッサ20−1〜20−n)と、n個のプロセッサ20の中からマスタプロセッサを選択し切り替える切り替え装置100と、バス権限を与えるバス調停装置300とを有する。「マスタプロセッサ」とはn個のプロセッサのうち主たるプロセッサ、具体的には後述するコンテキストを有するプロセッサをいう。プロセッサ20は、それぞれレジスタを有する。マスタプロセッサ記憶部11は、マスタプロセッサを特定する識別子を記憶する。スケジュール記憶部12は、タスクスケジュールを記憶する。「タスクスケジュール」とは、マスタプロセッサを切り替えるタイミングを示す情報、例えば、マスタプロセッサとなるプロセッサの識別子と、マスタプロセッサが実行すべき処理と、その処理のタイミングとを示す情報をいう。コンテキスト取得部13は、タスクスケジュールが示すタイミングで、その時点のマスタプロセッサからコンテキストを取得する。「コンテキスト」とは、マスタプロセッサのレジスタに記憶されたデータおよびカーネルメモリに記憶されたデータの少なくともいずれか一方をいう。コンテキスト送信部14は、タスクスケジュールにより次のマスタプロセッサとなることが示されるプロセッサに対しコンテキストを送信する。マスタプロセッサ更新部15は、マスタプロセッサ記憶部11に記憶される識別子を次のマスタプロセッサに更新する。電力制御部16は、コンテキスト送信部14がコンテキストを送信すると、更新前のマスタプロセッサへの電力供給を停止させる信号を出力する。マスタプロセッサID送信部17は、マスタプロセッサ記憶部11に記憶された識別子をバス調停装置300に送信する。マスタプロセッサID記憶部32は、切り替え装置100から送信されたマスタプロセッサIDを記憶する。バス権限送信部31は、マスタプロセッサからバス権限の要求があった場合、マスタプロセッサにバス権限を送信する。
図2は、本実施形態に係るマルチプロセッサシステムを有する電子機器1の構成を示す図である。この例で、電子機器1は、情報を表示する表示体を有する情報表示装置、例えば電子ペーパである。「電子ペーパ」とは、コレステリック液晶・EPD(Electrophoretic Display)・エレクトロクロミックディスプレイなど、記憶性表示体を有する装置を
いう。「記憶性」とは、電力を与えなくても表示を維持できる特性をいう。
この例で、電子機器1は3つのプロセッサ、すなわちCPU201・CPU202・CPU203を有する。CPU201−203は、共通のプロセッサコアを有する。別の例において、CPU201−203は、共通のプロセッサコアを有しなくても、共通の命令セットおよびレジスタ構成を有していてもよい。このマルチプロセッサシステムにおいては、CPU201−203のうち単一のCPUすなわちマスタプロセッサのみが処理を行う。CPU201−203は、共通のオペレーティングシステムOSおよび共通のアプリケーションプログラムAPを実行可能である。共通のオペレーティングシステムを実行可能であるということは、共通のカーネルメモリにアクセスできるということである。
CPU201−203にはそれぞれ、割り込み制御回路701・割り込み制御回路702・割り込み制御回路703が接続されている。割り込み制御回路701−703は、入出力装置501などの周辺機器からの割り込み要求をCPU201−203に出力する装置である。割り込み制御回路701−703は、CPU201−203とバス調停装置3
00との間に接続される。CPUと割り込み制御回路とにより、CPUモジュールが構成される。CPUモジュールは図2において破線で示される。以下「CPU」というときはCPUモジュールを指す。
バス調停装置300は、バス(この例ではCPUバス401および割り込みバス402)を制御する権限(以下「バス権限」という)をプロセッサに与える装置である。また、バス調停装置300は、バスブリッジとしても機能する。
CPUバス401は、CPU201−203とRAM502およびROM503との間でデータ・アドレス・命令などを示す信号を伝送するための経路である。割り込みバス402は、CPU201−203と入出力装置501との間で信号を伝送するための経路である。
入出力装置501は、電子機器1に対しデータを入力する装置(例えばボタン・キーボード・マウスなど)あるいは電子機器1からデータを出力する装置(例えばディスプレイ・プリンタ・スピーカなど)である。RAM502は、CPU201−203がプログラムを実行する際にワークエリアとして機能する記憶装置である。ROM503は、電子機器1の動作に必要なプログラムやデータを記憶した不揮発性の記憶装置である。
CPU201には周辺回路601が、CPU202には周辺回路602が、CPU203には表示体制御回路603が接続されている。すなわちこの例でCPU201−203はそれぞれ、制御する対象が異なっている。周辺回路601・周辺回路602は、それぞれある特定の機能を有する回路である。表示体制御回路603は、周辺回路の一種であり、特に、電子機器1の表示体を制御する回路である。
2.動作
図3は、マルチプロセッサシステムの動作の概要を示す図である。切り替え装置100は、タスクスケジュールに応じてCPU201−203に起動要求・休止要求・コンテキスト・マスタ権限を送信する。これに対しCPU201−203は、コンテキスト・切り替え要求・ステータスを送信する。「起動要求」は、CPUの起動を要求する信号である。「休止要求」は、CPUの休止すなわちCPUへの電力供給を休止することを要求する信号である。「マスタ権限」は、マスタプロセッサであることを示す信号である。「切り替え要求」は、マスタプロセッサの切り替えを要求する信号である。「ステータス」は、CPUが起動・アイドル・休止のどの状態にあるかを示す信号である。「起動」とはプロセッサに電力が供給され、命令を実行する状態をいう。「アイドル」とは、プロセッサに電力は供給されているものの命令を実行しない状態をいう。「休止」とはプロセッサに電力が供給されない状態をいう。また、切り替え装置100は、バス調停装置300に対しマスタプロセッサIDを送信する。「マスタプロセッサID」は、マスタプロセッサを特定する識別子である。バス調停装置300は、バス権限を必要とするプロセッサに対しバス権限を出力する。
本実施形態において、マルチプロセッサシステムは、単一のCPUすなわちマスタプロセッサのみが処理を行う「シングル動作モード」、およびマスタプロセッサ以外のプロセッサも含めた複数のCPUが並列処理を行う「並列処理モード」の2つの動作モードで動作することが可能である。
2−1.シングル動作モード
図4A−Cは、シングル動作モードの詳細を示す図である。ステップS101において、切り替え装置100はタスクスケジュールを取得する。この例でタスクスケジュールは、実行中のプログラムに基づいて、切り替え装置100が作成する。切り替え装置100はメモリ空間のアドレスとそのアドレスに対応するCPUの識別子を記録したテーブルを
記憶している。切り替え装置100は、メモリ空間の特定のアドレスがアクセスされるときは、そのアドレスに対応するCPUをマスタプロセッサとして特定する。マスタプロセッサとなるCPUがそれまでのマスタプロセッサと異なるときは、そのアドレスへのアクセスに先立ってマスタプロセッサの切り替えが行われるようなタスクスケジュールが作成される。ここでは、CPU201、CPU202、CPU203、CPU201の順でマスタプロセッサが切り替わるタスクスケジュールが取得された場合を例に説明する。
まず、切り替え装置100は、タスクスケジュールに従ってマスタプロセッサの識別子を内部メモリに記憶する。最初にマスタプロセッサになるのはCPU201である。切り替え装置100は、CPU201に対し起動要求を送信する(ステップS102)。起動要求を受信すると、CPU201は、起動処理を行う(ステップS103)。起動が完了すると、CPU201は、起動したことを示すステータス(以下「起動ステータス」という)を切り替え装置100に送信する(ステップS104)。起動ステータスを受信すると、切り替え装置100は、CPU201に対しマスタ権限を送信する(ステップS105)。さらに、切り替え装置100は、CPU201に対しコンテキストを送信する(ステップS106)。コンテキストがレジスタに記憶されたデータである場合、CPU201は受信したコンテキストを自身のレジスタにコピーする。コンテキストがカーネルメモリに記憶されたデータである場合、CPU201はカーネルメモリへのアクセス権を取得する。こうしてCPU201はマスタプロセッサとなる。
コンテキストの初期値、すなわち電子機器1を起動したときのコンテキストはあらかじめ決められており、切り替え装置100により生成される。別の例で、コンテキストの初期値は切り替え装置100以外の装置、例えばCPU201−203のいずれかにより生成されてもよい。
コンテキストを送信した後、切り替え装置100は、バス調停装置300に対しマスタプロセッサIDを送信する。バス調停装置300は、受信したマスタプロセッサIDを内部メモリに記憶する。これ以降、バス調停装置300は、マスタプロセッサからバス権限の要求があったときは、マスタプロセッサにバス権限を送信する。
コンテキストを取得すると、CPU201は、バス調停装置300に対しバス権限要求を送信する(ステップS107)。バス権限要求を受信するとバス調停装置300は、CPU201にバス権限を送信する(ステップS108)。バス権限を受信すると、CPU201は、割り込みの初期化処理を行う(ステップS109)。初期化が完了すると、CPU201は割り込み処理の監視を行う(ステップS110)。
切り替え装置100は、タスクスケジュールに従ってCPU201に対しタスク処理を要求する(ステップS111)。タスク処理の要求を受信すると、CPU201は、要求されたタスクを処理する(ステップS112)。要求されたタスクを処理すると、CPU201は、コンテキストを切り替え装置100に送信する(ステップS113)。コンテキストを送信すると、CPU201は、バス調停装置300に対しバスの開放を要求する(ステップS114)。この要求を受信すると、バス調停装置300はバスを開放する。
コンテキストを受信すると、切り替え装置100は受信したコンテキストを記憶する。また、コンテキストの受信を契機として、切り替え装置100は、内部メモリに記憶したマスタプロセッサIDを更新する。すなわち、コンテキストの受信はマスタプロセッサの切り替え要求として機能する。内部メモリは、現時点のマスタプロセッサIDと1つ前のマスタプロセッサIDとの2つの識別子を記憶する。この例において、切り替え装置100は、現時点のマスタプロセッサIDをCPU202の識別子とし、前のマスタプロセッサIDをCPU201の識別子とする。
記憶しているマスタプロセッサIDを更新すると、切り替え装置100は、CPU202に対し起動要求を送信する(ステップS115)。CPU202は、タスクスケジュールにより次にマスタプロセッサになることが示されるプロセッサである。起動要求を受信すると、CPU202は、起動処理を行う(ステップS116)。起動が完了すると、CPU202は、起動ステータスを切り替え装置100に送信する(ステップS117)。起動ステータスを受信すると、切り替え装置100は、それまでマスタプロセッサであったCPU201に対し休止要求を送信する(ステップS118)。休止要求を受信すると、CPU201は、休止処理を行う(ステップS119)。休止処理を行うと、CPU201は、切り替え装置100に休止ステータスを送信する(ステップS120)。休止ステータスを受信すると、切り替え装置100は、次のマスタプロセッサであるCPU202に対しマスタ権限を送信する(ステップS121)。さらに、切り替え装置100は、CPU202に対しコンテキストを送信する(ステップS122)。CPU202はCPU201と同様にコンテキストの処理を行う。こうしてCPU202はマスタプロセッサとなる。
コンテキストを取得すると、CPU202は、バス調停装置300に対しバス権限要求を送信する(ステップS123)。バス権限要求を受信するとバス調停装置300は、CPU202にバス権限を送信する(ステップS124)。バス権限を受信すると、CPU202は、割り込みの初期化処理を行う(ステップS125)。初期化が完了すると、CPU202は割り込み処理の監視を行う(ステップS126)。
切り替え装置100は、タスクスケジュールに従ってCPU202に対しタスク処理を要求する(ステップS127)。タスク処理の要求を受信すると、CPU202は、要求されたタスクを処理する(ステップS128)。要求されたタスクを処理すると、CPU202は、コンテキストを切り替え装置100に送信する(ステップS129)。コンテキストを送信すると、CPU202は、バス調停装置300に対しバスの開放を要求する(ステップS130)。この要求を受信すると、バス調停装置300はバスを開放する。
コンテキストを受信すると、切り替え装置100は受信したコンテキストを記憶する。また、切り替え装置100は、内部メモリに記憶したマスタプロセッサIDを更新する。記憶しているマスタプロセッサIDを更新すると、切り替え装置100は、CPU203に対し起動要求を送信する(ステップS131)。CPU203は、タスクスケジュールにより次にマスタプロセッサになることが示されるプロセッサである。起動要求を受信すると、CPU203は、起動処理を行う(ステップS132)。起動が完了すると、CPU203は、起動ステータスを切り替え装置100に送信する(ステップS133)。起動ステータスを受信すると、切り替え装置100は、それまでマスタプロセッサであったCPU202に対し休止要求を送信する(ステップS134)。休止要求を受信すると、CPU202は、休止処理を行う(ステップS135)。休止処理を行うと、CPU202は、切り替え装置100に休止ステータスを送信する(ステップS136)。休止ステータスを受信すると、切り替え装置100は、次のマスタプロセッサであるCPU203に対しマスタ権限を送信する(ステップS137)。さらに、切り替え装置100は、CPU203に対しコンテキストを送信する(ステップS138)。CPU203はCPU201と同様にコンテキストの処理を行う。こうしてCPU203はマスタプロセッサとなる。
コンテキストを取得すると、CPU203は、バス調停装置300に対しバス権限要求を送信する(ステップS139)。バス権限要求を受信するとバス調停装置300は、CPU203にバス権限を送信する(ステップS140)。バス権限を受信すると、CPU203は、割り込みの初期化処理を行う(ステップS141)。初期化が完了すると、C
PU203は割り込み処理の監視を行う(ステップS142)。
切り替え装置100は、タスクスケジュールに従ってCPU203に対しタスク処理を要求する(ステップS143)。タスク処理の要求を受信すると、CPU203は、要求されたタスクを処理する(ステップS144)。要求されたタスクを処理すると、CPU203は、コンテキストを切り替え装置100に送信する(ステップS145)。コンテキストを送信すると、CPU203は、バス調停装置300に対しバスの開放を要求する(ステップS146)。この要求を受信すると、バス調停装置300はバスを開放する。
コンテキストを受信すると、切り替え装置100は、CPU201に対し起動要求を送信する(ステップS147)。CPU201は、タスクスケジュールにより次にマスタプロセッサになることが示されるプロセッサである。起動要求を受信すると、CPU201は、起動処理を行う(ステップS148)。起動が完了すると、CPU201は、起動ステータスを切り替え装置100に送信する(ステップS149)。起動ステータスを受信すると、切り替え装置100は、それまでマスタプロセッサであったCPU203に対し休止要求を送信する(ステップS150)。休止要求を受信すると、CPU203は、休止処理を行う(ステップS151)。休止処理を行うと、CPU203は、切り替え装置100に休止ステータスを送信する(ステップS152)。休止ステータスを受信すると、切り替え装置100は、次のマスタプロセッサであるCPU201に対しマスタ権限を送信する(ステップS153)。さらに、切り替え装置100は、CPU201に対しコンテキストを送信する(ステップS154)。こうしてCPU201はマスタプロセッサとなる。
以上で説明したようにシングル動作モードによれば、タスクスケジュールに従ってコンテキストが前のマスタプロセッサから次のマスタプロセッサに引き継がれる。これによりシングルプロセッサシステムと同様にオペレーティングシステムやアプリケーションが動作する。また、マスタプロセッサが切り替えられると前のマスタプロセッサへの電力供給が停止される。これにより、この構成を有しない場合と比較して消費電力がより低減される。
2−2.並列動作モード
図5A−Bは、並列動作モードの詳細を示す図である。ステップS201において、切り替え装置100はタスクスケジュールを取得する。ここでは、CPU201をマスタプロセッサとし、CPU202およびCPU203がマスタプロセッサと並列処理を行うタスクスケジュールが取得された場合を例に説明する。
タスクスケジュールに従って、まず、切り替え装置100は、CPU201に対し起動要求を送信する(ステップS202)。起動要求を受信すると、CPU201は、起動処理を行う(ステップS203)。起動が完了すると、CPU201は、起動ステータスを切り替え装置100に送信する(ステップS204)。起動ステータスを受信すると、切り替え装置100は、CPU201に対しマスタ権限を送信する(ステップS205)。さらに、切り替え装置100は、CPU201に対しコンテキストを送信する(ステップS206)。こうしてCPU201はマスタプロセッサとなる。
コンテキストを取得すると、CPU201は、バス調停装置300に対しバス権限要求を送信する(ステップS207)。バス権限要求を受信するとバス調停装置300は、CPU201にバス権限を送信する(ステップS208)。バス権限を受信すると、CPU201は、割り込みの初期化処理を行う(ステップS209)。初期化が完了すると、CPU201は割り込み処理の監視を行う(ステップS210)。また、CPU201は、自分で処理可能なタスクを処理する(ステップS211)。タスクを処理すると、CPU
201は、バス調停装置300に対しバスの開放を要求する(ステップS212)。バス調停装置300は、要求に従ってバスを開放する。
切り替え装置100は、タスクスケジュールに従ってCPU202およびCPU203に起動要求を送信する(ステップS213およびS214)。起動要求を受信すると、CPU202およびCPU203は、起動処理を行う(ステップS215およびS216)。起動が完了すると、CPU202およびCPU203は、起動ステータスを切り替え装置100に送信する(ステップS217およびS218)。こうして、マスタプロセッサであるCPU201と、マスタプロセッサではないCPU202およびCPU203とが並列して起動される。
自分で処理できないタスクについては、CPU201は、他のプロセッサに処理を要求する。どのプロセッサにどのタスクを処理させるかの決定は、タスクスケジュールの作成と同様に行われる。あるいは、マスタプロセッサが切り替え装置100からタスクスケジュールを取得し、取得したタスクスケジュールに従ってどのプロセッサにどのタスクを処理させるかを決定してもよい。マスタプロセッサであるCPU201は、この決定に従って、CPU202およびCPU203にタスクを処理させることを切り替え装置100に要求する(ステップS219およびS220)。この要求を受信すると、切り替え装置100は、要求されたプロセッサすなわちCPU202およびCPU203に対し、タスクを処理するよう要求する(ステップS221およびS222)。
CPU202は、要求された処理にはバス権限が必要なので、バス調停装置300に対しバス権限を要求する(ステップS223)。要求を受信すると、バス調停装置300は、要求元であるCPU202にバス権限を送信する(ステップS224)。並列処理モードにおいて、バス調停装置300は、マスタプロセッサ以外のプロセッサにもバス権限を送信する。バス権限を得ると、CPU202は、要求された処理を行う(ステップS225)。処理を完了すると、CPU202は、バス調停装置300に対しバスの開放を要求する(ステップS226)。バス調停装置300は、要求に従ってバスを開放する。
CPU203は、要求された処理を行う(ステップS227)。
CPU202およびCPU203は、要求されたタスクを終了すると、その旨を切り替え装置100に通知する(ステップS228およびS229)。タスクが終了したことを通知すると、CPU202およびCPU203は、アイドル状態にあることを示すステータス(以下「アイドルステータス」という)を切り替え装置100に送信する(ステップS230およびS231)。アイドルステータスを受信すると、切り替え装置100は、CPU202およびCPU203に対し休止要求を送信する(ステップS232およびS233)。休止要求を受信すると、CPU202およびCPU203は休止処理を行う(ステップS234およびS235)。休止処理を行うと、CPU202およびCPU203は、切り替え装置100に休止ステータスを送信する(ステップS236およびS237)。
以上で説明したように並列処理モードによれば、マスタプロセッサを含む複数のプロセッサにより処理が行われる。したがって、消費電力は高いもののタスクをより高速に処理できる。また、シングル動作モードと並列処理モードとを切り替えることにより、消費電力を抑えたい場合や処理を高速にしたい場合など、ユーザの要求に応じた動作をすることができる。シングル動作モードと並列処理モードとの切り替えは、ユーザの指示により切り替えられる。あるいは、モード切り替えは、オペレーティングシステムやアプリケーションにより指示されてもよい。
3.他の実施形態
本発明は上述の実施形態に限定されるものではなく種々の変形実施が可能である。以下、変形例をいくつか説明する。以下において、実施形態と共通する要素については共通の参照符号を用いて説明する。また、以下の変形例のうち、2つ以上のものが組み合わせて用いられてもよい。
3−1.変形例1
上述の実施形態において、バス権限は各CPUが要求した。しかし、バス権限を要求する主体はCPUに限定されない。切り替え装置100がタスクスケジュールに従って、バス調停装置300に対してバス権限の切り替えを要求してもよい。この場合、要求を受信したバス調停装置300は、要求されたプロセッサに対してバス権限を送信する。
3−2.変形例2
タスクスケジュールは、マスタプロセッサとなるプロセッサの識別子とその切り替えタイミングを含む情報であってもよい。要は、マスタプロセッサを特定するのに必要な情報(タスク・メモリ空間のアドレス・プロセッサの識別子など)と、そのタイミングを含むものであればどのような情報であってもよい。また、タスクスケジュールは、あるCPUが複数のタスクを連続して処理する場合でも、タスク毎に形式的にマスタプロセッサを切り替えるものでもよい。
3−3.変形例3
上述の実施形態においては、コンテキストの送信がマスタプロセッサの切り替え要求としても機能していたが、コンテキストの送信とは別の信号がプロセッサの切り替え要求として機能してもよい。
3−4.変形例4
上述の実施形態においては、バス調停装置300はマスタプロセッサからバス権限が要求された場合にはバス権限を送信した。しかし、バス調停装置300は、マスタプロセッサからの要求がなくても、切り替え装置100からマスタプロセッサIDを受信した後でマスタプロセッサに対しバス権限を送信してもよい。
3−5.変形例5
マルチプロセッサシステムの動作について、前後関係が特に明記されていない2つの処理の順序は図4A−Cおよび図5A−Bに示したものに限定されない。例えば、マスタプロセッサがバスを開放する処理(S130など)と切り替え装置100が次のマスタプロセッサに起動要求を送信する処理(S131など)とについて、実施形態では前者が先で後者が後の順序で記載されているが、これらの処理間の前後関係についての記載は無い。すなわち、ステップS131の処理がS130の処理を契機をとして行われるといった記載は無い。このような場合、ステップS131の処理が先に、S130の処理が後に行われてもよい。
3−6.変形例6
上述の実施形態においてはコンテキストとは別にマスタ権限が送信された。しかし、コンテキストがマスタ権限としての機能を兼ね備えていてもよい。
3−7.変形例7
切り替え装置100からマスタプロセッサへのタスク処理の要求は、割り込み処理の初期化が完了した等、マスタプロセッサからの通知を契機として行われてもよい。
3−8.変形例8
タスクスケジュールは、切り替え装置100以外の他の要素が作成してもよい。例えば
、切り替え装置があるCPUにタスクスケジュールを作成するように命じ、CPUがそれに応じてタスクスケジュールを作成してもよい。あるいは、タスクスケジュールは、アプリケーションなどプログラム自体に記述されていてもよい。この場合、アプリケーションは内部データとしてタスクスケジュールを有している。切り替え装置100は、内部データからタスクスケジュールを取得する。
一実施形態に係るマルチプロセッサシステムの機能構成を示す図である。 マルチプロセッサシステムを有する電子機器1の構成を示す図である。 マルチプロセッサシステムの動作の概要を示す図である。 シングル動作モードの詳細を示す図である。 シングル動作モードの詳細を示す図である。 シングル動作モードの詳細を示す図である。 並列動作モードの詳細を示す図である。 並列動作モードの詳細を示す図である。
符号の説明
1…電子機器、11…マスタプロセッサ記憶部、12…スケジュール記憶部、13…コンテキスト取得部、14…コンテキスト送信部、15…マスタプロセッサ更新部、16…電力制御部、17…マスタプロセッサID送信部、20…プロセッサ、31…バス権限送信部、32…マスタプロセッサID記憶部、100…切り替え装置、201…CPU、202…CPU、203…CPU、300…バス調停装置、401…CPUバス、401…CPU、402…割り込みバス、501…入出力装置、502…RAM、503…ROM、601…周辺回路、602…周辺回路、603…表示体制御回路、701…割り込み制御回路、702…割り込み制御回路、703…割り込み制御回路

Claims (6)

  1. 各々がレジスタを有するかまたは共通のカーネルメモリにアクセス可能な複数のプロセッサのうち、処理を行うプロセッサをマスタプロセッサとして特定する識別子を記憶するマスタプロセッサ記憶手段と、
    前記マスタプロセッサを切り替えるタイミングを示すスケジュールを記憶するスケジュール記憶手段と、
    前記スケジュールにより示されるタイミングで、現時点のマスタプロセッサから前記レジスタに記憶されたデータまたは前記カーネルメモリに記憶されたデータを取得する取得手段と、
    前記取得手段が前記データを取得すると、前記マスタプロセッサ記憶手段に記憶される識別子を前記スケジュールに従って更新するマスタプロセッサ更新手段と、
    前記マスタプロセッサ記憶手段に記憶された識別子により次のマスタプロセッサとなることが示されるプロセッサに対し、前記取得手段により取得されたデータを送信する送信手段と、
    前記送信手段がデータを送信すると、更新前のマスタプロセッサへの電力供給を停止させる信号を出力する電力制御手段と
    を有するプロセッサ切り替え装置。
  2. 前記電力制御手段は、前記送信手段が前記次のマスタプロセッサに対し前記データを送る前に前記次のマスタプロセッサへの電力供給を開始させる信号を出力する
    ことを特徴とする請求項1に記載のプロセッサ切り替え装置。
  3. 前記送信手段は、前記次のマスタプロセッサが起動した後で前記データを送信する
    ことを特徴とする請求項2に記載のプロセッサ切り替え装置。
  4. 一方を前記複数のプロセッサ間で送受信される信号を伝送するバスに接続され、他方を前記複数のプロセッサの各々に接続されたバス調停装置に、前記マスタプロセッサ記憶手段に記憶された識別子を送信する識別子送信手段
    を有する請求項1に記載のプロセッサ切り替え装置。
  5. 前記複数のプロセッサと、
    請求項1−4のいずれかの項に記載のプロセッサ切り替え装置と、
    前記複数のプロセッサのうち1つのプロセッサにより制御され、情報を表示する表示体と
    を有する情報表示装置。
  6. 各々がレジスタを有するかまたは共通のカーネルメモリにアクセス可能な複数のプロセッサと、
    前記複数のプロセッサに接続されたプロセッサ切り替え装置と、
    一方を前記複数のプロセッサ間で送受信される信号を伝送するバスに接続され、他方を前記複数のプロセッサの各々に接続されたバス調停装置と
    を有し、
    前記プロセッサ切り替え装置は、
    前記複数のプロセッサのうち処理を行うプロセッサをマスタプロセッサとして特定する識別子を記憶するマスタプロセッサ記憶手段と、
    前記マスタプロセッサを切り替えるタイミングを示すスケジュールを記憶するスケジュール記憶手段と、
    前記スケジュールにより示されるタイミングで、現時点のマスタプロセッサから前記レジスタに記憶されたデータまたは前記カーネルメモリに記憶されたデータを取得する取得
    手段と、
    前記取得手段が前記データを取得すると、前記マスタプロセッサ記憶手段に記憶される識別子を前記スケジュールに従って更新するマスタプロセッサ更新手段と、
    前記マスタプロセッサ記憶手段に記憶された識別子により次のマスタプロセッサとなることが示されるプロセッサに対し、前記取得手段により取得されたデータを送信するデータ送信手段と、
    前記マスタプロセッサ記憶手段に記憶された識別子を前記バス調停装置に送信する識別子送信手段と、
    前記データ送信手段がデータを送信すると、更新前のマスタプロセッサへの電力供給を停止させる信号を出力する電力制御手段と
    を有し、
    前記バス調停装置は、
    前記プロセッサ切り替え装置から送信されたマスタプロセッサの識別子を記憶する識別子記憶手段と、
    前記マスタプロセッサからバス権限の要求があった場合、前記マスタプロセッサにバス権限を送信するバス権限送信手段と
    を有する
    ことを特徴とするマルチプロセッサシステム。
JP2007244903A 2007-09-21 2007-09-21 プロセッサ切り替え装置、情報表示装置およびマルチプロセッサシステム Withdrawn JP2009075910A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007244903A JP2009075910A (ja) 2007-09-21 2007-09-21 プロセッサ切り替え装置、情報表示装置およびマルチプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007244903A JP2009075910A (ja) 2007-09-21 2007-09-21 プロセッサ切り替え装置、情報表示装置およびマルチプロセッサシステム

Publications (1)

Publication Number Publication Date
JP2009075910A true JP2009075910A (ja) 2009-04-09

Family

ID=40610805

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007244903A Withdrawn JP2009075910A (ja) 2007-09-21 2007-09-21 プロセッサ切り替え装置、情報表示装置およびマルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JP2009075910A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011081481A (ja) * 2009-10-05 2011-04-21 Kyocera Mita Corp 情報処理装置および画像形成装置
JP2012137946A (ja) * 2010-12-27 2012-07-19 Renesas Electronics Corp 半導体装置
JP5445669B2 (ja) * 2010-03-24 2014-03-19 富士通株式会社 マルチコアシステムおよび起動方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011081481A (ja) * 2009-10-05 2011-04-21 Kyocera Mita Corp 情報処理装置および画像形成装置
JP5445669B2 (ja) * 2010-03-24 2014-03-19 富士通株式会社 マルチコアシステムおよび起動方法
US9218201B2 (en) 2010-03-24 2015-12-22 Fujitsu Limited Multicore system and activating method
JP2012137946A (ja) * 2010-12-27 2012-07-19 Renesas Electronics Corp 半導体装置

Similar Documents

Publication Publication Date Title
US7797563B1 (en) System and method for conserving power
TWI233545B (en) Mechanism for processor power state aware distribution of lowest priority interrupts
JP6155507B2 (ja) メモリ管理を有するコンピューティングプラットフォームインターフェース
JP5865931B2 (ja) プラットフォーム非依存型パワー管理
EP2476037B1 (en) Managing resources to facilitate altering the number of active processors
JP5661774B2 (ja) デバイスを無効にするための方法及び装置
US9104423B2 (en) Method and system for advance wakeup from low-power sleep states
US8233000B1 (en) System and method for switching between graphical processing units
TWI275945B (en) Optimization of SMI handling and initialization
US10671426B2 (en) Data processing
JP2005025726A (ja) コヒーレント多重処理システムにおける電力制御
US8255928B2 (en) Automated termination of selected software applications in response system events
TW201617862A (zh) 應用於操作模式有限狀態機的控制方法以及電腦可讀媒體
DE112017003080T5 (de) Prozessor mit gleichzeitigem kern und gewebeausgang aus einem zustand mit geringer energie
CN105818762A (zh) 用于汽车的智能中控系统及其启动方法
CN111225434B (zh) 一种应用程序响应方法、系统、存储介质及通信模块
JP2009075910A (ja) プロセッサ切り替え装置、情報表示装置およびマルチプロセッサシステム
JP2013190950A (ja) 制御装置、及び起動方法
JP5710424B2 (ja) 情報機器
JP6105842B2 (ja) ネットワーク機器、及びネットワーク機器の制御方法
US10884481B2 (en) Apparatus and method for improving power savings by accelerating device suspend and resume operations
US20120047358A1 (en) Method and system for accelerating booting process
EP3475783B1 (en) Systems, methods and devices for standby power entry without latency tolerance information
WO2022022185A1 (zh) 内核重启方法
JP2010097427A (ja) 処理装置、処理方法及びコンピュータプログラム

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20101207