JP2006164036A - 複数cpuクロック制御システム、その制御方法及びそのプログラム - Google Patents

複数cpuクロック制御システム、その制御方法及びそのプログラム Download PDF

Info

Publication number
JP2006164036A
JP2006164036A JP2004356814A JP2004356814A JP2006164036A JP 2006164036 A JP2006164036 A JP 2006164036A JP 2004356814 A JP2004356814 A JP 2004356814A JP 2004356814 A JP2004356814 A JP 2004356814A JP 2006164036 A JP2006164036 A JP 2006164036A
Authority
JP
Japan
Prior art keywords
clock
main cpu
sub
cpu
signal
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.)
Granted
Application number
JP2004356814A
Other languages
English (en)
Other versions
JP4355648B2 (ja
Inventor
Noriyuki Osumi
宣幸 大角
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.)
NEC Platforms Ltd
Original Assignee
NEC Infrontia 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 NEC Infrontia Corp filed Critical NEC Infrontia Corp
Priority to JP2004356814A priority Critical patent/JP4355648B2/ja
Publication of JP2006164036A publication Critical patent/JP2006164036A/ja
Application granted granted Critical
Publication of JP4355648B2 publication Critical patent/JP4355648B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Power Sources (AREA)

Abstract

【課題】必要最低限のクロックの供給にて省電力モードを行なう複数CPUクロック制御システム、その制御方法及びそのプログラムを提供する。
【解決手段】メインCPU1は、メインクロック発振器2の起動及び停止を制御し、複数のサブCPU5a、5bを制御する。複数のサブCPUは、それぞれのクロック制御スイッチ6a、6bを制御する。メインクロック発振器は、メインCPUと複数のサブCPUに共通の高速クロックを供給する。サブクロック発振器10は、メインCPUと複数のサブCPUに共通の低速クロックを常時供給する。それぞれの複数のクロック制御スイッチは、メインクロック発振器から供給される高速クロックのそれぞれの複数のサブCPUへの供給のオン、オフを制御する。
【選択図】図1

Description

本発明は、複数CPUクロック制御システム、その制御方法及びそのプログラムに関する。
従来の技術としては、消費電力を低減することが可能なマルチプロセッサシステムがある(特許文献1参照。)。
図5は、その従来の技術のマルチプロセッサシステムの全体構成を示すものであり、プロセッサ数が4の場合である。それぞれ独立したプロセッサエレメント(PE)13〜16と、プロセッサエレメント13〜16が演算終了後に出力する演算終了信号を伝送する演算終了信号線21〜24と、各プロセッサエレメント13〜16からの演算終了信号を入力した後に、各プロセッサエレメント13〜16に演算開始信号線30を介して演算開始信号を出力する同期制御手段(SYNCctl)40と、演算開始信号線30とから構成される。
図6は、その各プロセッサエレメント13〜16の構成を示すものである。演算を行なうプロセッサ(CPU)41と、周波数Fのクロック信号を生成し出力するクロック生成手段(CLK)42と、クロック信号の出力または停止をプロセッサへ行なうクロック制御手段(CLKctl)43とから構成される。
この従来の技術のマルチプロセッサシステムは、複数のプロセッサエレメント13〜16が、同期制御手段40によって演算終了の同期と演算開始を制御されている。各プロセッサエレメント13〜16において、同期制御手段40からの演算開始信号30によってクロック供給を開始し、プロセッサ41での演算が行われ、プロセッサ41の演算終了後に同期制御手段40へ出力する演算終了信号によってクロック供給を停止するクロック制御手段43をもつ。
また、従来の技術としては、消費電力のセーブ効率を良くした消費電力セービング回路及びその制御方法がある(特許文献2参照。)。
図7は、その従来の技術の無線装置に用いられる消費電力セービング回路の構成ブロック図である。パワーセーブモードを有するCPU31と、パワーセーブモード時間のカウントを行なうタイマカウンタ32と、CPU31に供給する高周波のクロックを発生する高周波水晶発振回路33と、高周波水晶発振回路33から発生する高周波クロックを順次分周して低周波クロックに落とす多段分周回路34と、パワーセービング回路全体をコントロールするイベント制御回路35と、パワーセーブモード中のタイマカウンタ32専用の低周波クロックを発生する低周波水晶発振回路36と、タイマカウンタ32へのクロックを選択するクロック選択スイッチ(SEL)37と、高周波水晶発振回路33の出力を制御する出力制御回路38と、高周波水晶発振回路33の電源スイッチ39と、低周波水晶発振回路36の電源スイッチ50とから構成される。
上述の従来の技術の消費電力セービング回路の制御方法は、CPU31からパワーセーブモード開始命令を受け取ったイベント制御回路35が全体を制御して、パワーセーブモードへ移行した時は、タイマカウンタ32とクロックを供給する低周波水晶発振回路36だけを動作させ、通常モード時にCPU31に高周波クロックを供給していた高周波水晶発振回路33と、順次分周して低周波クロックをタイマカウンタ32に供給していた多段分周回路34とを停止する。
特開平7−146846号公報 特開平7−20964号公報
上述の特許文献1に記載のマルチプロセッサシステムは、プロセッサエレメント13〜16が同期待ち状態で演算実効していない時にはクロック供給を停止するので、電力消費を抑えることができるが、各プロセッサエレメント13〜16毎にクロック生成手段42が必要であり、部品点数は多くそれぞれのクロック生成手段42で消費する電力は多くなってしまう。
上述の特許文献2に記載の消費電力セービング回路の制御方法は、パワーセーブモードへ移行した時は、高周波水晶発振回路33と多段分周回路34とを停止することができ、パワーセーブモード中の消費電力を大幅に低減できるが、無線装置に用いられる消費電力セービング回路であり、そのまま複数のCPUを使用するシステムに用いても、高周波水晶発振回路33や低周波水晶発振回路36はそれぞれのCPU毎に必要となり、部品点数は多くそれぞれの高周波水晶発振回路33や低周波水晶発振回路36で消費する電力は多くなってしまう。
上述の従来の技術の問題点に鑑み、本発明の目的は、必要最低限のクロックの供給にて省電力モードを行なう複数CPUクロック制御システム、その制御方法及びそのプログラムを提供することにある。
本発明は複数のCPUを使用するシステムにおいて、各CPUの源クロックとなる高速クロックを共通化すると共に、それぞれの源クロックを制御し、必要最低限のクロックの供給にて省電力モードを行なうことを特徴とする複数CPUクロック制御システムである。
本発明の複数CPUクロック制御システムは、
第1のクロックと、第1のクロックよりも低速の第2のクロックと、第1のクロックおよび第2のクロックからクロック信号の供給を受けるメインCPUと、第1のクロックおよび第2のクロックからクロック信号の供給を受ける複数設けられたサブCPUと、第1のクロックと複数のサブCPUとの間にそれぞれ設けられて、第1のクロックから各サブCPUへのクロック信号の供給をオン、オフする複数のスイッチとを備え、メインCPUにスリープイベントが発生した時は、メインCPUは、複数のサブCPUそれぞれへスリープ要求信号を出力し、複数のサブCPUは、それぞれメインCPUから出力されるスリープ要求信号を入力すると、スリープ状態に移行できる条件になければ拒否通知信号をメインCPUへ出力し、スリープ状態に移行できる条件にあればスリープ受付通知信号をメインCPUへ出力してスイッチをオフにし第1のクロックからのクロック信号の供給を停止し、メインCPUは、複数のサブCPUそれぞれから出力されるスリープ受付通知信号を入力し、複数のサブCPU全てからスリープ受付通知信号が入力された後に、第1のクロックからのクロック信号の供給を停止し、メインCPUに復帰要因が発生した時は、メインCPUは、第1のクロックからのクロック信号を供給し、複数のサブCPUそれぞれへ復帰要求信号を出力し、複数のサブCPUは、それぞれメインCPUから出力される復帰要求信号を入力すると、スイッチをオンにし第1のクロックからのクロック信号の供給をし、復帰完了通知信号をメインCPUへ出力する。
本発明の複数CPUクロック制御システムは、
第1のクロックと、第1のクロックよりも低速の第2のクロックと、第1のクロックおよび第2のクロックからクロック信号の供給を受けるメインCPUと、第1のクロックおよび第2のクロックからクロック信号の供給を受ける複数設けられたサブCPUと、第1のクロックと複数のサブCPUとの間にそれぞれ設けられて、第1のクロックから各サブCPUへのクロック信号の供給をオン、オフする複数のスイッチとを備え、サブCPUにスリープイベントが発生した時は、サブCPUは、メインCPUへスリープ要求信号を出力し、メインCPUは、サブCPUから出力されるスリープ要求信号を入力し、スリープ状態に移行できる条件になければ拒否通知信号をサブCPUへ出力し、スリープ状態に移行できる条件にあればスリープ受付通知信号をサブCPUへ出力し、サブCPUは、メインCPUから出力されるスリープ受付通知信号を入力すると、スイッチをオフにし第1のクロックからのクロック信号の供給を停止し、メインCPUにスリープイベントが発生した時は、メインCPUは、複数のサブCPUのうち、第1のクロックからのクロック信号の供給を停止しているサブCPUを除き、それぞれへスリープ要求信号を出力し、複数のサブCPUは、それぞれメインCPUから出力されるスリープ要求信号を入力すると、スリープ状態に移行できる条件になければ拒否通知信号をメインCPUへ出力し、スリープ状態に移行できる条件にあればスリープ受付通知信号をメインCPUへ出力してスイッチをオフにし第1のクロックからのクロック信号の供給を停止し、メインCPUは、複数のサブCPUそれぞれから出力されるスリープ受付通知信号を入力し、複数のサブCPU全てからスリープ受付通知信号が入力された後に、第1のクロックからのクロック信号の供給を停止し、サブCPUに復帰要因が発生した時は、サブCPUは、メインCPUへ復帰要求信号を出力し、メインCPUは、サブCPUから出力される復帰要求信号を入力すると、第1のクロックからのクロック信号を供給し、複数のサブCPUそれぞれへ復帰要求信号を出力し、複数のサブCPUは、それぞれメインCPUから出力される復帰要求信号を入力すると、スイッチをオンにし第1のクロックからのクロック信号の供給をし、復帰完了通知信号をメインCPUへ出力する。
また、メインCPUおよび複数のサブCPUが第1のクロックからのクロック信号の供給を受けている時は、メインCPUは、第2のクロックからのクロック信号の供給を停止してもよい。
また、第1のクロックは、メインクロック発振器が発生し、第2のクロックはサブクロック発振器が発生してもよい。
本発明の複数CPUクロック制御システムの制御方法は、
第1のクロックと、第1のクロックよりも低速の第2のクロックと、第1のクロックおよび第2のクロックからクロック信号の供給を受けるメインCPUと、第1のクロックおよび第2のクロックからクロック信号の供給を受ける複数設けられたサブCPUと、第1のクロックと複数のサブCPUとの間にそれぞれ設けられて、第1のクロックから各サブCPUへのクロック信号の供給をオン、オフする複数のスイッチとを備える複数CPUクロック制御システムの制御方法であって、メインCPUにスリープイベントが発生した時は、メインCPUは、複数のサブCPUそれぞれへスリープ要求信号を出力し、複数のサブCPUは、それぞれメインCPUから出力されるスリープ要求信号を入力すると、スリープ状態に移行できる条件になければ拒否通知信号をメインCPUへ出力し、スリープ状態に移行できる条件にあればスリープ受付通知信号をメインCPUへ出力してスイッチをオフにし第1のクロックからのクロック信号の供給を停止し、メインCPUは、複数のサブCPUそれぞれから出力されるスリープ受付通知信号を入力し、複数のサブCPU全てからスリープ受付通知信号が入力された後に、第1のクロックからのクロック信号の供給を停止し、メインCPUに復帰要因が発生した時は、メインCPUは、第1のクロックからのクロック信号を供給し、複数のサブCPUそれぞれへ復帰要求信号を出力し、複数のサブCPUは、それぞれメインCPUから出力される復帰要求信号を入力すると、スイッチをオンにし第1のクロックからのクロック信号の供給をし、復帰完了通知信号をメインCPUへ出力する。
本発明の複数CPUクロック制御システムの制御方法は、
第1のクロックと、第1のクロックよりも低速の第2のクロックと、第1のクロックおよび第2のクロックからクロック信号の供給を受けるメインCPUと、第1のクロックおよび第2のクロックからクロック信号の供給を受ける複数設けられたサブCPUと、第1のクロックと複数のサブCPUとの間にそれぞれ設けられて、第1のクロックから各サブCPUへのクロック信号の供給をオン、オフする複数のスイッチとを備える複数CPUクロック制御システムの制御方法であって、サブCPUにスリープイベントが発生した時は、サブCPUは、メインCPUへスリープ要求信号を出力し、メインCPUは、サブCPUから出力されるスリープ要求信号を入力し、スリープ状態に移行できる条件になければ拒否通知信号をサブCPUへ出力し、スリープ状態に移行できる条件にあればスリープ受付通知信号をサブCPUへ出力し、サブCPUは、メインCPUから出力されるスリープ受付通知信号を入力すると、スイッチをオフにし第1のクロックからのクロック信号の供給を停止し、メインCPUにスリープイベントが発生した時は、メインCPUは、複数のサブCPUのうち、第1のクロックからのクロック信号の供給を停止しているサブCPUを除き、それぞれへスリープ要求信号を出力し、複数のサブCPUは、それぞれメインCPUから出力されるスリープ要求信号を入力すると、スリープ状態に移行できる条件になければ拒否通知信号をメインCPUへ出力し、スリープ状態に移行できる条件にあればスリープ受付通知信号をメインCPUへ出力してスイッチをオフにし第1のクロックからのクロック信号の供給を停止し、メインCPUは、複数のサブCPUそれぞれから出力されるスリープ受付通知信号を入力し、複数のサブCPU全てからスリープ受付通知信号が入力された後に、第1のクロックからのクロック信号の供給を停止し、サブCPUに復帰要因が発生した時は、サブCPUは、メインCPUへ復帰要求信号を出力する手段を有し、メインCPUは、サブCPUから出力される復帰要求信号を入力すると、第1のクロックからのクロック信号を供給し、複数のサブCPUそれぞれへ復帰要求信号を出力し、複数のサブCPUは、それぞれメインCPUから出力される復帰要求信号を入力すると、スイッチをオンにし第1のクロックからのクロック信号の供給をし、復帰完了通知信号をメインCPUへ出力する。
また、メインCPUおよび複数のサブCPUが第1のクロックからのクロック信号の供給を受けている時は、メインCPUは、第2のクロックからのクロック信号の供給を停止してもよい。
また、第1のクロックは、メインクロック発振器が発生し、第2のクロックはサブクロック発振器が発生してもよい。
本発明のプログラムは、
メインCPU又は複数のサブCPUに上述の複数CPUクロック制御システムの制御方法を実行させる。
本発明は以下の効果を有する。
第1に、第1のクロックをメインCPU及び複数のサブCPUで共通化することにより、部品点数を低減し、第1のクロックで消費する電力を低減するという効果を有する。
第2に、それぞれのサブCPUへの第1のクロックの動作、停止を制御することにより、必要の無いサブCPUで消費する電力を軽減するという効果を有する。
上記第1と第2の効果を併せることにより、複数CPUを併せ持つシステムに対し、低消費電力のシステムとすることを可能とするという効果を有する。
(発明の第1の実施の形態)
図1を参照すると本発明の第1の実施の形態として複数CPUクロック制御システムが示されている。本発明の第1の実施の形態の複数CPUクロック制御システムは、メインクロック発振器(高速クロック)2で発生する第1のクロック(高速クロック)と、第1のクロックよりも低速のサブクロック発振器(低速クロック)10で発生する第2のクロック(低速クロック)と、第1のクロックおよび第2のクロックからクロック信号の供給を受けるメインCPU1と、第1のクロックおよび第2のクロックからクロック信号の供給を受ける複数設けられたサブCPU(1)5aおよびサブCPU(2)5bと、第1のクロックと複数のサブCPU(1)5aおよびサブCPU(2)5bとの間にそれぞれ設けられて、第1のクロックから各サブCPU(1)5aおよびサブCPU(2)5bへのクロック信号の供給をオン、オフする複数のクロック制御スイッチ6a、6bとを備えている。
図1では、主にCPUの源クロックとなる高速クロックに関連する制御回路を示しており、以下に示されるブロックにおいて構成される。
(1)メインCPU1:
複数のCPUの中で唯一のメインCPU1である。唯一の源クロックである高速クロックの動作、停止の制御が可能であり、サブCPU(1)5aのコントロールをする。
(2)メインクロック発振器(高速クロック)2:
メインCPU1、サブCPU(1)5aの共通の源クロックとなる高速クロックを発生する発振器である。
メインクロック発振器(高速クロック)2はメインCPU1によりコントロールされ、発振のオン(ON),オフ(OFF)が制御される。
(3)クロックスイッチ信号3:
メインCPU1の出力信号である。メインクロック発振器(高速クロック)2へ接続され、発振のオン(ON),オフ(OFF)を制御可能とするスイッチ信号である。
(4)メインCPU用クロック4:
メインクロック発振器(高速クロック)2の出力であり、メインCPU1の源クロックとなる高速クロックである。
(5)サブCPU(1)5a:
複数あるサブCPUの一つであり、メインCPU1との連携動作を行ない、クロック制御スイッチ6aの制御を行なう。
(6)クロック制御スイッチ6a:
メインクロック発振器(高速クロック)2から供給されるメインCPU用クロック4のサブCPU(1)5aへの供給ON,OFFを制御可能とするスイッチである。例えばアナログスイッチであり、またはデジタルによるゲート回路で構成される。
(7)サブCPU用クロック7a:
サブCPU(1)5aの源クロックとなる。クロック制御スイッチ6aがONとなっている場合はメインCPU用クロック4とサブCPU用クロック7aは同等の高速クロックとなる。
(8)クロックスイッチ信号8a:
サブCPU(1)5aが自身のサブCPU用クロック7aのON、OFFを制御するスイッチ信号である。
(9)CPU間制御信号9a:
メインCPU1とサブCPU(1)5aの間の制御信号である。お互いのステータス情報などのメッセージの送受信に使用される。
(10)サブクロック発振器(低速クロック)10:
消費電力に影響を与えない低速クロックの発振器であり常時発振している。
(11)全CPU用サブクロック11:
スリープ動作時に使用する低速クロックであり、各CPUのスリープ動作時に使用される。
図1ではサブCPU(2)5b、クロック制御スイッチ6b、サブCPU用クロック7b、クロックスイッチ信号8b、CPU間制御信号9bが記されている。
サブCPU(2)5bはサブCPU(1)5aと並列に接続され、機能、及び接続方法はサブCPU(1)5aと同等である。クロック制御スイッチ6b、サブCPU用クロック7b、クロックスイッチ信号8b、CPU間制御信号9bの機能、及び接続方法はクロック制御スイッチ6a、サブCPU用クロック7a、クロックスイッチ信号8a、CPU間制御信号9aと同等である。複数のサブCPUを接続可能とするが、接続されるサブCPUの数量に関しては、ここでは規定しない。
次に、本発明の第1の実施の形態の動作の説明をする。
図2、図3では本発明の実施の形態の低消費電力モードへの移行シーケンス、及び通常動作モード(高消費電力モード)への復帰に関するシーケンスが示されている。
メインCPU1はメインクロック発振器(高速クロック)2の制御を行なうため、全てのサブCPU5a、5bがスリープした状態にある時のみスリープすることが可能となる。
図2は、メインCPU1側からのイベント発生による「スリープ動作」、「wake−up(復帰)動作」のシーケンスが示されている。
全てのCPUが通常状態(高消費電力モード)にある場合に、メインCPU1側にスリープイベントが発生したとする。メインCPU1は、サブCPU5a、5bへ「スリープ要求」信号を出力する。サブCPU5a、5bはメインCPU1からの「スリープ要求」に対し、移行できる条件になければ「拒否通知」を返すことが可能であり、メインCPU1はこれに従わなければならない。また、全てのサブCPU5a、5bが「スリープ要求」に対し、「スリープ受付通知」を返した時点で、メインCPU1はスリープ動作に移行することが可能となり、この時全てのサブCPU5a、5bとメインCPU1がスリープ状態となり、全CPU用サブクロック(低速クロック)11による低速動作を行なっている。即ち、全てのCPUがスリープ状態(全低消費電力モード)となる。
メインCPU1に「wake−up(復帰)要因」が発生した時は、メインCPU1は、メインクロック発振器(高速クロック)2を起動しメインCPU用クロック(高速クロック)4を供給する。メインCPU1は、サブCPU5a、5bへ「wake−up(復帰)要求」信号を出力する。サブCPU5a、5bは、メインCPU1から出力される「wake−up(復帰)要求」信号を入力すると、クロック制御スイッチ6a、6bをオンにしサブCPU用クロック(高速クロック)7a、7bの供給をし、「wake−up(復帰)完了通知」信号をメインCPU1へ出力する。こうして再び全てのCPUが通常状態(高消費電力モード)になる。
図3では主にサブCPU5a、5b側からのイベント発生による「スリープ動作」、及び「wake−up(復帰)動作」のシーケンスが示されている。
全てのCPUが通常状態(高消費電力モード)にある場合に、サブCPU5a側にスリープイベントが発生したとする。サブCPU5aは、メインCPU1へ「スリープ要求」信号を出力する。サブCPU5aからの「スリープ要求」に対し、メインCPU1は「拒否通知」を発行することが可能であり、サブCPU5aは「スリープ受付通知」を返されたときのみスリープ動作へ移行可能となる。この場合の特徴としては、メインCPU1がメインCPU用クロック(高速クロック)4の供給を受けて動作しているのに対し、サブCPU5aは全CPU用サブクロック(低速クロック)11による低速動作を行なっている点が挙げられる。この状態(半低消費電力モード)においては、必要の無いサブCPUは低速動作となり、必要最低限の消費電力の発生に抑止することを可能としている。
サブCPU5aのみがスリープ状態(半消費電力モード)にある場合に、メインCPU1側にスリープイベントが発生したとする。メインCPU1は、サブCPU5bへ「スリープ要求」信号を出力する。サブCPU5bはメインCPU1からの「スリープ要求」に対し、移行できる条件になければ「拒否通知」を返すことが可能であり、メインCPU1はこれに従わなければならない。また、サブCPU5bが「スリープ要求」に対し、「スリープ受付通知」を返した時点で、全てのサブCPU5a、5bがスリープ状態となるため、メインCPU1はスリープ動作に移行することが可能となり、この時全てのサブCPU5a、5bとメインCPU1がスリープ状態となり、全CPU用サブクロック(低速クロック)11による低速動作を行なっている。即ち、全てのCPUがスリープ状態(全低消費電力モード)となる。
サブCPU5a、5bに「wake−up(復帰)要因」が発生した時は、サブCPU5a、5bは、メインCPU1へ「wake−up(復帰)要求」信号を出力する。メインCPU1は、メインクロック発振器(高速クロック)2を起動しメインCPU用クロック(高速クロック)4を供給する。メインCPU1は、サブCPU5a、5bへ「wake−up(復帰)要求」信号を出力する。サブCPU5a、5bは、メインCPU1から出力される「wake−up(復帰)要求」信号を入力すると、クロック制御スイッチ6a、6bをオンにしサブCPU用クロック(高速クロック)7a、7bの供給をし、「wake−up(復帰)完了通知」信号をメインCPU1へ出力する。こうして再び全てのCPUが通常状態(高消費電力モード)になる。
以上説明したように、メインクロック発振器(高速クロック)2をメインCPU1及び複数のサブCPU5a、5bで共通化することにより、部品点数を低減し、メインクロック発振器(高速クロック)2で消費する電力を低減することができる。
また、それぞれのサブCPU5a、5bへの高速クロックの動作、停止を制御することにより、必要の無いサブCPUで消費する電力を軽減することができる。
従って、複数CPUを併せ持つシステムに対し、低消費電力のシステムとすることを可能とする。
また、本発明のプログラムにより、メインCPU又は複数のサブCPUに上述の複数CPUクロック制御システムの制御方法を実行させることができる。
(発明の第2の実施の形態)
図4を参照すると本発明の第2の実施の形態として複数CPUで構成されるマルチプロセッサシステムが示されている。図4の本発明の第2の実施の形態は、サブクロックスイッチ信号12が、メインCPU1とサブクロック発振器(低速クロック)10とを接続している以外は、図1の本発明の第1の実施の形態と同様である。
本発明の第1の実施の形態ではサブクロック発振器(低速クロック)10は常時発振しており、メインCPU1はサブクロック発振器(低速クロック)10を制御せず、全CPU用サブクロック(低速クロック)の制御は行なっていない。しかし、本発明の第2の実施の形態では、メインCPU1はサブクロック発振器(低速クロック)10を制御し、全CPU用サブクロック(低速クロック)11の制御を行なう。サブクロックスイッチ信号12は、メインCPU1の出力信号であり、サブクロック発振器(低速クロック)10へ接続され、発振のオン(ON),オフ(OFF)を制御可能とするスイッチ信号である。
メインCPU1は、メインクロック発振器(高速クロック)2が起動し、かつ、クロック制御スイッチ6a、6bがオンの時、サブクロック発振器(低速クロック)10を停止し全CPU用サブクロック(低速クロック)11の供給を停止する。なお、サブCPU5a、5bによるクロック制御スイッチ6a、6bの制御は、CPU間制御信号9a、9bによりメインCPU1へ伝達される。
本発明の第2の実施の形態の動作は、上述のメインCPU1によるサブクロック発振器(低速クロック)10の制御以外は、本発明の第1の実施の形態の動作と同様である。
本発明の第2の実施の形態により、メインCPU1は、メインクロック発振器(高速クロック)2が起動し、かつ、クロック制御スイッチ6a、6bがオンの時、サブクロック発振器(低速クロック)10を停止し全CPU用サブクロック(低速クロック)11の供給を停止することが可能となり、これによる更なる低消費電力設計が可能である。
また、本発明のプログラムにより、メインCPU又は複数のサブCPUに上述の複数CPUクロック制御システムの制御方法を実行させることができる。
以上のように、本発明にかかる複数CPUクロック制御システムは、2つのCPUを実装したPCカード端末の開発において、部品点数の削減、及び低消費電力設計のシステムとして有用である。
本発明の第1の実施の形態の複数CPUクロック制御システムの構成を示す図である。 本発明の第1の実施の形態のメインCPU側からのイベント発生による「スリープ動作」、「wake−up(復帰)動作」のシーケンスを示す図である。 本発明の第1の実施の形態の主にサブCPU側からのイベント発生による「スリープ動作」、「wake−up(復帰)動作」のシーケンスを示す図である。 本発明の第2の実施の形態の複数CPUクロック制御システムの構成を示す図である。 従来の技術のマルチプロセッサシステムの全体構成を示す図である。 従来の技術の各プロセッサエレメントの構成を示す図である。 従来の技術の無線装置に用いられる消費電力セービング回路の構成ブロック図である。
符号の説明
1 メインCPU
2 メインクロック発振器(高速クロック)
3、8a、8b クロックスイッチ信号
4 メインCPU用クロック
5a サブCPU(1)
5b サブCPU(2)
6a、6b クロック制御スイッチ
7a、7b サブCPU用クロック
9a、9b CPU間制御信号
10 サブクロック発振器(低速クロック)
11 全CPU用サブクロック
12 サブクロックスイッチ信号
13〜16 プロセッサエレメント
21〜24 演算終了信号線
30 演算開始信号線
31 CPU
32 タイマカウンタ
33 高周波水晶発振回路
34 多段分周回路
35 イベント制御回路
36 低周波水晶発振回路
37 クロック選択スイッチ(SEL)
38 出力制御回路
39、50 電源スイッチ
40 同期制御手段
41 プロセッサ
42 クロック生成手段
43 クロック制御手段
51 データバス

Claims (9)

  1. 第1のクロックと、
    前記第1のクロックよりも低速の第2のクロックと、
    前記第1のクロックおよび前記第2のクロックからクロック信号の供給を受けるメインCPUと、
    前記第1のクロックおよび前記第2のクロックからクロック信号の供給を受ける複数設けられたサブCPUと、
    前記第1のクロックと前記複数のサブCPUとの間にそれぞれ設けられて、前記第1のクロックから各前記サブCPUへのクロック信号の供給をオン、オフする複数のスイッチとを備え、
    前記メインCPUにスリープイベントが発生した時は、
    前記メインCPUは、前記複数のサブCPUそれぞれへスリープ要求信号を出力し、
    前記複数のサブCPUは、それぞれ前記メインCPUから出力される前記スリープ要求信号を入力すると、スリープ状態に移行できる条件になければ拒否通知信号を前記メインCPUへ出力し、スリープ状態に移行できる条件にあればスリープ受付通知信号を前記メインCPUへ出力して前記スイッチをオフにし前記第1のクロックからのクロック信号の供給を停止し、
    前記メインCPUは、前記複数のサブCPUそれぞれから出力されるスリープ受付通知信号を入力し、前記複数のサブCPU全てから前記スリープ受付通知信号が入力された後に、前記第1のクロックからのクロック信号の供給を停止し、
    前記メインCPUに復帰要因が発生した時は、
    前記メインCPUは、前記第1のクロックからのクロック信号を供給し、前記複数のサブCPUそれぞれへ復帰要求信号を出力し、
    前記複数のサブCPUは、それぞれ前記メインCPUから出力される前記復帰要求信号を入力すると、前記スイッチをオンにし前記第1のクロックからのクロック信号の供給をし、復帰完了通知信号を前記メインCPUへ出力する、複数CPUクロック制御システム。
  2. 第1のクロックと、
    前記第1のクロックよりも低速の第2のクロックと、
    前記第1のクロックおよび前記第2のクロックからクロック信号の供給を受けるメインCPUと、
    前記第1のクロックおよび前記第2のクロックからクロック信号の供給を受ける複数設けられたサブCPUと、
    前記第1のクロックと前記複数のサブCPUとの間にそれぞれ設けられて、前記第1のクロックから各前記サブCPUへのクロック信号の供給をオン、オフする複数のスイッチとを備え、
    前記サブCPUにスリープイベントが発生した時は、
    前記サブCPUは、前記メインCPUへスリープ要求信号を出力し、
    前記メインCPUは、前記サブCPUから出力される前記スリープ要求信号を入力し、スリープ状態に移行できる条件になければ拒否通知信号を前記サブCPUへ出力し、スリープ状態に移行できる条件にあればスリープ受付通知信号を前記サブCPUへ出力し、
    前記サブCPUは、前記メインCPUから出力される前記スリープ受付通知信号を入力すると、前記スイッチをオフにし前記第1のクロックからのクロック信号の供給を停止し、
    前記メインCPUにスリープイベントが発生した時は、
    前記メインCPUは、前記複数のサブCPUのうち、前記第1のクロックからのクロック信号の供給を停止している前記サブCPUを除き、それぞれへスリープ要求信号を出力し、
    前記複数のサブCPUは、それぞれ前記メインCPUから出力される前記スリープ要求信号を入力すると、スリープ状態に移行できる条件になければ拒否通知信号を前記メインCPUへ出力し、スリープ状態に移行できる条件にあればスリープ受付通知信号を前記メインCPUへ出力して前記スイッチをオフにし前記第1のクロックからのクロック信号の供給を停止し、
    前記メインCPUは、前記複数のサブCPUそれぞれから出力されるスリープ受付通知信号を入力し、前記複数のサブCPU全てから前記スリープ受付通知信号が入力された後に、前記第1のクロックからのクロック信号の供給を停止し、
    前記サブCPUに復帰要因が発生した時は、
    前記サブCPUは、前記メインCPUへ復帰要求信号を出力し、
    前記メインCPUは、前記サブCPUから出力される前記復帰要求信号を入力すると、前記第1のクロックからのクロック信号を供給し、前記複数のサブCPUそれぞれへ復帰要求信号を出力し、
    前記複数のサブCPUは、それぞれ前記メインCPUから出力される前記復帰要求信号を入力すると、前記スイッチをオンにし前記第1のクロックからのクロック信号の供給をし、復帰完了通知信号を前記メインCPUへ出力する、複数CPUクロック制御システム。
  3. 前記メインCPUおよび前記複数のサブCPUが前記第1のクロックからのクロック信号の供給を受けている時は、前記メインCPUは、前記第2のクロックからのクロック信号の供給を停止する、請求項1または請求項2に記載の複数CPUクロック制御システム。
  4. 前記第1のクロックは、メインクロック発振器が発生し、前記第2のクロックはサブクロック発振器が発生する、請求項1から請求項3のいずれか1項に記載の複数CPUクロック制御システム。
  5. 第1のクロックと、
    前記第1のクロックよりも低速の第2のクロックと、
    前記第1のクロックおよび前記第2のクロックからクロック信号の供給を受けるメインCPUと、
    前記第1のクロックおよび前記第2のクロックからクロック信号の供給を受ける複数設けられたサブCPUと、
    前記第1のクロックと前記複数のサブCPUとの間にそれぞれ設けられて、前記第1のクロックから各前記サブCPUへのクロック信号の供給をオン、オフする複数のスイッチとを備える複数CPUクロック制御システムの制御方法であって、
    前記メインCPUにスリープイベントが発生した時は、
    前記メインCPUは、前記複数のサブCPUそれぞれへスリープ要求信号を出力し、
    前記複数のサブCPUは、それぞれ前記メインCPUから出力される前記スリープ要求信号を入力すると、スリープ状態に移行できる条件になければ拒否通知信号を前記メインCPUへ出力し、スリープ状態に移行できる条件にあればスリープ受付通知信号を前記メインCPUへ出力して前記スイッチをオフにし前記第1のクロックからのクロック信号の供給を停止し、
    前記メインCPUは、前記複数のサブCPUそれぞれから出力されるスリープ受付通知信号を入力し、前記複数のサブCPU全てから前記スリープ受付通知信号が入力された後に、前記第1のクロックからのクロック信号の供給を停止し、
    前記メインCPUに復帰要因が発生した時は、
    前記メインCPUは、前記第1のクロックからのクロック信号を供給し、前記複数のサブCPUそれぞれへ復帰要求信号を出力し、
    前記複数のサブCPUは、それぞれ前記メインCPUから出力される前記復帰要求信号を入力すると、前記スイッチをオンにし前記第1のクロックからのクロック信号の供給をし、復帰完了通知信号を前記メインCPUへ出力する、複数CPUクロック制御システムの制御方法。
  6. 第1のクロックと、
    前記第1のクロックよりも低速の第2のクロックと、
    前記第1のクロックおよび前記第2のクロックからクロック信号の供給を受けるメインCPUと、
    前記第1のクロックおよび前記第2のクロックからクロック信号の供給を受ける複数設けられたサブCPUと、
    前記第1のクロックと前記複数のサブCPUとの間にそれぞれ設けられて、前記第1のクロックから各前記サブCPUへのクロック信号の供給をオン、オフする複数のスイッチとを備える複数CPUクロック制御システムの制御方法であって、
    前記サブCPUにスリープイベントが発生した時は、
    前記サブCPUは、前記メインCPUへスリープ要求信号を出力し、
    前記メインCPUは、前記サブCPUから出力される前記スリープ要求信号を入力し、スリープ状態に移行できる条件になければ拒否通知信号を前記サブCPUへ出力し、スリープ状態に移行できる条件にあればスリープ受付通知信号を前記サブCPUへ出力し、
    前記サブCPUは、前記メインCPUから出力される前記スリープ受付通知信号を入力すると、前記スイッチをオフにし前記第1のクロックからのクロック信号の供給を停止し、
    前記メインCPUにスリープイベントが発生した時は、
    前記メインCPUは、前記複数のサブCPUのうち、前記第1のクロックからのクロック信号の供給を停止している前記サブCPUを除き、それぞれへスリープ要求信号を出力し、
    前記複数のサブCPUは、それぞれ前記メインCPUから出力される前記スリープ要求信号を入力すると、スリープ状態に移行できる条件になければ拒否通知信号を前記メインCPUへ出力し、スリープ状態に移行できる条件にあればスリープ受付通知信号を前記メインCPUへ出力して前記スイッチをオフにし前記第1のクロックからのクロック信号の供給を停止し、
    前記メインCPUは、前記複数のサブCPUそれぞれから出力されるスリープ受付通知信号を入力し、前記複数のサブCPU全てから前記スリープ受付通知信号が入力された後に、前記第1のクロックからのクロック信号の供給を停止し、
    前記サブCPUに復帰要因が発生した時は、
    前記サブCPUは、前記メインCPUへ復帰要求信号を出力する手段を有し、
    前記メインCPUは、前記サブCPUから出力される前記復帰要求信号を入力すると、前記第1のクロックからのクロック信号を供給し、前記複数のサブCPUそれぞれへ復帰要求信号を出力し、
    前記複数のサブCPUは、それぞれ前記メインCPUから出力される前記復帰要求信号を入力すると、前記スイッチをオンにし前記第1のクロックからのクロック信号の供給をし、復帰完了通知信号を前記メインCPUへ出力する、複数CPUクロック制御システムの制御方法。
  7. 前記メインCPUおよび前記複数のサブCPUが前記第1のクロックからのクロック信号の供給を受けている時は、前記メインCPUは、前記第2のクロックからのクロック信号の供給を停止する、請求項5または請求項6に記載の複数CPUクロック制御システムの制御方法。
  8. 前記第1のクロックは、メインクロック発振器が発生し、前記第2のクロックはサブクロック発振器が発生する、請求項5から請求項7のいずれか1項に記載の複数CPUクロック制御システムの制御方法。
  9. 前記メインCPU又は前記複数のサブCPUに請求項5から請求項8のいずれか1項に記載の複数CPUクロック制御システムの制御方法を実行させるためのプログラム。
JP2004356814A 2004-12-09 2004-12-09 複数cpuクロック制御システム、その制御方法及びそのプログラム Expired - Fee Related JP4355648B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004356814A JP4355648B2 (ja) 2004-12-09 2004-12-09 複数cpuクロック制御システム、その制御方法及びそのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004356814A JP4355648B2 (ja) 2004-12-09 2004-12-09 複数cpuクロック制御システム、その制御方法及びそのプログラム

Publications (2)

Publication Number Publication Date
JP2006164036A true JP2006164036A (ja) 2006-06-22
JP4355648B2 JP4355648B2 (ja) 2009-11-04

Family

ID=36665968

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004356814A Expired - Fee Related JP4355648B2 (ja) 2004-12-09 2004-12-09 複数cpuクロック制御システム、その制御方法及びそのプログラム

Country Status (1)

Country Link
JP (1) JP4355648B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009123215A (ja) * 2007-11-15 2009-06-04 Intel Corp マルチダイマイクロプロセッサにおける周波数及び性能を最適化する方法、装置、及びシステム
US8046615B2 (en) 2007-10-19 2011-10-25 Denso Corporation Microcomputer system with reduced power consumption

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2482147B1 (de) * 2011-01-31 2013-10-16 Siemens Aktiengesellschaft Verfahren zur Anpassung der Taktfrequenz eines Mikroprozessors einer industriellen Automatisierungskomponente, und Automatisierungskomponente mit einem Mikroprozessor mit veränderlicher Taktfrequenz

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8046615B2 (en) 2007-10-19 2011-10-25 Denso Corporation Microcomputer system with reduced power consumption
JP2009123215A (ja) * 2007-11-15 2009-06-04 Intel Corp マルチダイマイクロプロセッサにおける周波数及び性能を最適化する方法、装置、及びシステム
JP4702722B2 (ja) * 2007-11-15 2011-06-15 インテル・コーポレーション マルチダイマイクロプロセッサにおける周波数及び性能を最適化する方法、装置、及びシステム

Also Published As

Publication number Publication date
JP4355648B2 (ja) 2009-11-04

Similar Documents

Publication Publication Date Title
EP1451666B1 (en) Glitch free clock selection switch
JP5317356B2 (ja) クロック制御信号生成回路、クロックセレクタ、及び情報処理装置
US7194644B2 (en) System and method for operating a microprocessor in a low power mode by providing a wakeup clock to the microprocessor
US10296065B2 (en) Clock management using full handshaking
JP2008135065A (ja) データ処理システム内の種々のクロック源間を切り替える装置およびその方法
JPH10161767A (ja) 小電力状態に出入するときにデータ処理システム内のクロックを自動的に順序付ける装置およびその方法
TWI747904B (zh) 系統晶片、時鐘閘控元件、時鐘多工器元件及分頻元件
US11340685B2 (en) Semiconductor device including clock management unit for outputting clock and acknowledgment signals to an intelectual property block
JPH0854955A (ja) クロック信号発生回路
JP2005050030A (ja) 半導体集積回路装置、クロック制御方法及びデータ転送制御方法
US9780644B1 (en) Methods and apparatus for always on domain finite state machine shutdown using a clock source from a power managed domain
JP3460736B2 (ja) クロック制御回路
JP4355648B2 (ja) 複数cpuクロック制御システム、その制御方法及びそのプログラム
US10055193B2 (en) Data transfer between clock domains
JP2008041106A (ja) 半導体集積回路装置、クロック制御方法及びデータ転送制御方法
JP2004185378A (ja) クロック同期式シリアル通信装置および半導体集積回路装置
US6823413B2 (en) Interrupt signal processing apparatus
US7171577B2 (en) Methods and apparatus for a system clock divider
JP6410538B2 (ja) 半導体集積回路、半導体集積回路を備えた装置、半導体集積回路におけるクロックの制御方法、並びにプログラム。
CN1332287C (zh) 电源管理的频率电压装置及频率电压控制的方法
JP2003323228A (ja) マイクロプロセッサおよびマイクロプロセッサの動作モード切替方法
JP2011079176A (ja) 画像処理装置用コントローラー
JP2003256068A (ja) クロック制御システム
JP2006048467A (ja) 半導体集積回路
CN117882029A (zh) 用于基于硬件表决的时钟控制的系统和方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070816

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4355648

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120807

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130807

Year of fee payment: 4

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees