JP2009301500A - タスク処理システム及びタスク処理方法 - Google Patents
タスク処理システム及びタスク処理方法 Download PDFInfo
- Publication number
- JP2009301500A JP2009301500A JP2008158277A JP2008158277A JP2009301500A JP 2009301500 A JP2009301500 A JP 2009301500A JP 2008158277 A JP2008158277 A JP 2008158277A JP 2008158277 A JP2008158277 A JP 2008158277A JP 2009301500 A JP2009301500 A JP 2009301500A
- Authority
- JP
- Japan
- Prior art keywords
- task
- processor
- time interval
- sub
- clock
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 238000000034 method Methods 0.000 claims description 6
- 230000001413 cellular effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
Abstract
【課題】消費電力を低減でき、且つ、周波数切り替えを頻繁に行うシステムにおいても、オーバーヘッドや処理負荷の増大を防ぐことができるタスク処理システム及びタスク処理方法を提供する。
【解決手段】メインプロセッサ1は、所定長さに区切られた複数の時間区間夫々においてサブプロセッサ2が実行するタスクを決定するとともに、n番目(nは、n≧1を満たす整数)の時間区間の終了までに、n+1番目の時間区間においてサブプロセッサ2が実行するタスクの必要サイクル数情報に基づいて、当該タスクをn+1番目の時間区間内に実行するために必要なクロック周波数を決定し、クロック生成/制御回路7は、n番目の時間区間においてメインプロセッサ1が決定したクロック周波数に応じたクロック信号16を、n+1番目の時間区間においてサブプロセッサ2に供給するように構成した。
【選択図】図1
【解決手段】メインプロセッサ1は、所定長さに区切られた複数の時間区間夫々においてサブプロセッサ2が実行するタスクを決定するとともに、n番目(nは、n≧1を満たす整数)の時間区間の終了までに、n+1番目の時間区間においてサブプロセッサ2が実行するタスクの必要サイクル数情報に基づいて、当該タスクをn+1番目の時間区間内に実行するために必要なクロック周波数を決定し、クロック生成/制御回路7は、n番目の時間区間においてメインプロセッサ1が決定したクロック周波数に応じたクロック信号16を、n+1番目の時間区間においてサブプロセッサ2に供給するように構成した。
【選択図】図1
Description
本発明は、タスク処理システム及びタスク処理方法に関し、特に、メインプロセッサと当該メインプロセッサにより制御されるサブプロセッサを有するタスク処理システム及びタスク処理方法に関する。
携帯電話などの電子機器に搭載されるタスク処理システムには、メインプロセッサと、当該メインプロセッサにより制御されるサブプロセッサと、当該サブプロセッサにクロック信号を供給するクロック供給回路とを有するものがある。メインプロセッサは、所定長さに区切られた複数の時間区間夫々においてサブプロセッサが実行するタスクを指定している。
従来、設計段階において、想定され得る最大の処理を同時に実行するために必要な動作周波数を予め決定し、クロック供給回路は、この予め決定された動作周波数に基づくクロック信号をサブプロセッサに供給していた。つまり、クロック供給回路は、想定され得る最大の処理負荷がかかった場合においても、システムの動作が正常に行われるように十分に動作マージンを確保したクロック信号をサブプロセッサに供給していた。このため、ある時間区間において実際の処理負荷が小さい場合でも必要以上に高い周波数のクロック信号をサブプロセッサに供給することになり、電力を無駄に消費していた。
そこで、特許文献1では、直前の時間区間における処理量に基づいて動作周波数を動的に決定している。これにより、十分に動作マージンが確保された動作周波数に基づくクロック信号の供給を防止することを図っている。
特開平10−078828号公報
しかしながら、特許文献1に記載の技術では、直前の時間区間における処理量に基づいて動作周波数を決定しているため、次の時間区間における処理量の増加や減少に柔軟に対応できない。
また、特許文献1に記載の技術では、割り込みが発生した場合に、割り込み種別毎に分周比を決定する。そのため、携帯電話(TDMA方式)システムのように、短い周期(数十〜数百(μsec))で頻繁に割り込みが発生するシステムでは、周波数切り替えを頻繁に行うこととなる。これにより、オーバーヘッドや処理負荷の増大が問題となる。
また、特許文献1に記載の技術では、割り込みが発生した場合に、割り込み種別毎に分周比を決定する。そのため、携帯電話(TDMA方式)システムのように、短い周期(数十〜数百(μsec))で頻繁に割り込みが発生するシステムでは、周波数切り替えを頻繁に行うこととなる。これにより、オーバーヘッドや処理負荷の増大が問題となる。
本発明の第1の態様にかかるタスク処理システムは、メインプロセッサと、前記メインプロセッサにより制御されるサブプロセッサと、前記サブプロセッサにクロック信号を供給するクロック制御部と、を備える。また、前記メインプロセッサは、所定長さに区切られた複数の時間区間夫々において前記サブプロセッサが実行するタスクを決定するとともに、n番目(nは、n≧1を満たす整数)の前記時間区間の終了までに、前記n+1番目の時間区間において前記サブプロセッサが実行するタスクの必要サイクル数情報に基づいて、当該タスクを前記n+1番目の時間区間内に実行するために必要な動作周波数を決定する。そして、前記クロック制御部は、前記n番目の時間区間において前記メインプロセッサが決定した動作周波数に応じたクロック信号を、前記n+1番目の時間区間において前記サブプロセッサに供給する。
また、本発明の第2の態様にかかるタスク処理方法は、メインプロセッサと、前記メインプロセッサにより制御されるサブプロセッサと、前記サブプロセッサにクロック信号を供給するクロック制御部と、を備えるタスク処理システムにおけるタスク処理方法である。また、前記メインプロセッサは、所定長さに区切られた複数の時間区間夫々において前記サブプロセッサが実行するタスクを決定するとともに、n番目(nは、n≧1を満たす整数)の前記時間区間の終了までに、前記n+1番目の時間区間において前記サブプロセッサが実行するタスクの必要サイクル数情報に基づいて、当該タスクを前記n+1番目の時間区間内に実行するために必要な動作周波数を決定する。そして、前記クロック制御部は、前記n番目の時間区間において前記メインプロセッサが決定した動作周波数に応じたクロック信号を、前記n+1番目の時間区間において前記サブプロセッサに供給する。
本発明の第1の態様及び第2の態様においては、メインプロセッサにより、n番目の時間区間の終了までに、サブプロセッサがタスクをn+1番目の時間区間内に実行するために必要な動作周波数が決定される。そして、クロック制御部は、n番目の時間区間においてメインプロセッサが決定した動作周波数に応じたクロック信号を、n+1番目の時間区間においてサブプロセッサに供給する。すなわち、各時間区間において実行するタスクの処理量に応じて、動作周波数が動的に決定される。そのため、次の時間区間における処理量の増加や減少に柔軟に対応できる。また、十分に動作マージンが確保された動作周波数に基づくクロック信号の供給をより確実に防止することができる。これにより、消費電力の低減を図ることができる。
また、割り込み種別毎に分周比を決定するわけではないため、周波数切り替えを頻繁に行うシステムにおいても、オーバーヘッドや処理負荷の増大を防ぐことができる。
本発明により、消費電力を低減でき、且つ、周波数切り替えを頻繁に行うシステムにおいても、オーバーヘッドや処理負荷の増大を防ぐことができる。
以下に、本発明を適用可能な実施の形態を説明する。なお、本発明は、以下の実施の形態に限定されるものではない。
図1に、本発明の実施の形態にかかるタスク処理システム100の一例を示す。タスク処理システム100は、例えば、携帯電話等の電子機器に搭載される。
タスク処理システム100は、図1に示すように、メインプロセッサ1、サブプロセッサ2、共有メモリ(タスク記憶部)3、タイミング制御回路(TCU:Timing Control Unit)4、第1の割り込み制御回路5、第2の割り込み制御回路6、クロック生成/制御回路(クロック制御部)7、第1のメモリ(タスクリスト記憶部)8、第2のメモリ9等を有している。
図1に、本発明の実施の形態にかかるタスク処理システム100の一例を示す。タスク処理システム100は、例えば、携帯電話等の電子機器に搭載される。
タスク処理システム100は、図1に示すように、メインプロセッサ1、サブプロセッサ2、共有メモリ(タスク記憶部)3、タイミング制御回路(TCU:Timing Control Unit)4、第1の割り込み制御回路5、第2の割り込み制御回路6、クロック生成/制御回路(クロック制御部)7、第1のメモリ(タスクリスト記憶部)8、第2のメモリ9等を有している。
メインプロセッサ1は、メインプロセッサバス10を介して、共有メモリ3、タイミング制御回路4、クロック生成/制御回路7、第1のメモリ8と接続されている。
メインプロセッサ1は、タイミング制御回路4を制御する。そして、メインプロセッサ1は、タイミング制御回路4に、フレーム割込み信号(TCU割込み信号12、割込み信号13)、イベント設定割込み信号、タスク割込み信号(TCU割込み信号14、割込み信号15)、クロック切替信号17を生成させる。
また、メインプロセッサ1は、サブプロセッサ2を制御する。
具体的には、メインプロセッサ1は、所定長さに区切られた複数の時間区間夫々においてサブプロセッサ1が実行するタスクを決定し、当該タスクのタスク情報を共有メモリ3に格納する。
また、メインプロセッサ1は、n番目(nは、n≧1を満たす整数)の時間区間の終了までに、n+1番目の時間区間においてサブプロセッサ2が実行するタスクの必要サイクル数に基づいて、サブプロセッサ2が当該タスクをn+1番目の時間区間において実行するために必要なクロック周波数(動作周波数)を決定する。なお、必要サイクル数は、第1のメモリ8に格納されている。メインプロセッサ1は、必要サイクル数を第1のメモリ8を参照して取得する。また、必要サイクル数は、タスクの処理量などに基づいて予め設定されている。
また、メインプロセッサ1は、決定したクロック周波数の情報を、クロック生成/制御回路7に入力する。これにより、メインプロセッサ1は、クロック切替に必要な設定を行う。
メインプロセッサ1は、タイミング制御回路4を制御する。そして、メインプロセッサ1は、タイミング制御回路4に、フレーム割込み信号(TCU割込み信号12、割込み信号13)、イベント設定割込み信号、タスク割込み信号(TCU割込み信号14、割込み信号15)、クロック切替信号17を生成させる。
また、メインプロセッサ1は、サブプロセッサ2を制御する。
具体的には、メインプロセッサ1は、所定長さに区切られた複数の時間区間夫々においてサブプロセッサ1が実行するタスクを決定し、当該タスクのタスク情報を共有メモリ3に格納する。
また、メインプロセッサ1は、n番目(nは、n≧1を満たす整数)の時間区間の終了までに、n+1番目の時間区間においてサブプロセッサ2が実行するタスクの必要サイクル数に基づいて、サブプロセッサ2が当該タスクをn+1番目の時間区間において実行するために必要なクロック周波数(動作周波数)を決定する。なお、必要サイクル数は、第1のメモリ8に格納されている。メインプロセッサ1は、必要サイクル数を第1のメモリ8を参照して取得する。また、必要サイクル数は、タスクの処理量などに基づいて予め設定されている。
また、メインプロセッサ1は、決定したクロック周波数の情報を、クロック生成/制御回路7に入力する。これにより、メインプロセッサ1は、クロック切替に必要な設定を行う。
サブプロセッサ2は、サブプロセッサバス11を介して、共有メモリ3、タイミング制御回路4、クロック生成/制御回路7、第2のメモリ9と接続されている。
タイミング制御回路4からタスク割込み信号が、第2の割り込み制御回路6を介してサブプロセッサ2に入力される。また、クロック生成/制御回路7からクロック信号16が入力される。
そして、サブプロセッサ2は、タスク割込み信号が入力されると、共有メモリ3に格納されているタスク情報を用いて、クロック信号16に同期して、タスクを処理する。
タイミング制御回路4からタスク割込み信号が、第2の割り込み制御回路6を介してサブプロセッサ2に入力される。また、クロック生成/制御回路7からクロック信号16が入力される。
そして、サブプロセッサ2は、タスク割込み信号が入力されると、共有メモリ3に格納されているタスク情報を用いて、クロック信号16に同期して、タスクを処理する。
共有メモリ3は、サブプロセッサ2が実行するタスクのタスク情報を格納している。
タイミング制御回路4は、フレーム割込み信号を生成し、第1の割り込み制御回路5を介して、メインプロセッサ1に入力する。具体的には、タイミング制御回路4は、TCU割込み信号12を第1の割り込み制御回路5に入力する。そして、TCU割込み信号12が入力されると、第1の割り込み制御回路5は、割込み信号13をメインプロセッサ1に入力する。これにより、フレーム割込み信号がメインプロセッサ1に入力される。
また、タイミング制御回路4は、イベント設定割込み信号を生成し、第1の割り込み制御回路5を介して、メインプロセッサ1に入力する。具体的には、タイミング制御回路4は、TCU割込み信号12を第1の割り込み制御回路5に入力する。そして、TCU割込み信号12が入力されると、第1の割り込み制御回路5は、割込み信号13をメインプロセッサ1に入力する。これにより、イベント設定割込み信号がメインプロセッサ1に入力される。
また、タイミング制御回路4は、タスク割込み信号を生成し、第2の割り込み制御回路6を介して、サブプロセッサ2に入力する。具体的には、タイミング制御回路4は、TCU割込み信号14を第2の割り込み制御回路6に入力する。そして、TCU割込み信号14が入力されると、第1の割り込み制御回路6は、割込み信号15をサブプロセッサ2に入力する。これにより、タスク割込み信号がサブプロセッサ2に入力される。
また、タイミング制御回路4は、クロック切替信号17を生成し、クロック生成/制御回路7に入力する。
なお、フレーム割込み信号、イベント設定割込み信号、タスク割込み信号、クロック切替信号17の発生タイミングは、メインプロセッサ1により設定される。
なお、フレーム割込み信号、イベント設定割込み信号、タスク割込み信号、クロック切替信号17の発生タイミングは、メインプロセッサ1により設定される。
第1の割り込み制御回路5は、TCU割込み信号12が入力された場合に、割込み信号13をメインプロセッサ1に入力する。
第2の割り込み制御回路6は、TCU割込み信号14が入力された場合に、割込み信号15をサブプロセッサ2に入力する。
クロック生成/制御回路7は、外部から入力される基準クロックを参照して、クロック信号16の生成及び制御を行う。
また、クロック生成/制御回路7は、メインプロセッサ1から入力されたクロック周波数に応じたクロック信号16をサブプロセッサ2に入力する。
また、クロック生成/制御回路7は、メインプロセッサ1から入力されたクロック周波数に応じたクロック信号16をサブプロセッサ2に入力する。
第1のメモリ8は、メインプロセッサ1が各種処理を実行するために必要な、データ、プログラムなどを格納している。具体的には、第1のメモリ8は、タスクリスト情報80を格納している。タスクリスト情報80のデータ構造を図2に示す。タスクリスト情報80は、サブプロセッサ2に実行されるタスクの種類と、当該タスクの必要サイクル数とが対応付けられて記憶されている。
第2のメモリ9は、サブプロセッサ2がタスクを実行するために必要な、データ、プログラムなどを格納している。
次に、本実施形態にかかるタスク処理システム100におけるタスク処理方法について、図3に示すタイミングチャートを参照しながら説明する。
図3に示すように、フレーム割込み信号の発生から次のフレーム割込み信号の発生までが1つの時間区間となっている。また、時間区間のうち最後の部分は、クロック切替期間となっている。そして、時間区間のうち、クロック切替期間より前の部分は、フレーム期間(図3におけるF(0)、F(1)、F(2))となっている。当該フレーム期間において、サブプロセッサ2によりタスク処理が行われる。
図3に示すように、フレーム割込み信号の発生から次のフレーム割込み信号の発生までが1つの時間区間となっている。また、時間区間のうち最後の部分は、クロック切替期間となっている。そして、時間区間のうち、クロック切替期間より前の部分は、フレーム期間(図3におけるF(0)、F(1)、F(2))となっている。当該フレーム期間において、サブプロセッサ2によりタスク処理が行われる。
フレーム割込み信号が発生して、1番目の時間区間(時間区間(1))が始まると、メインプロセッサ1は、2番目の時間区間(時間区間(2))においてサブプロセッサ2が実行するタスクを決定する(タスク決定期間(1))。
次に、イベント設定割込み信号が発生すると、メインプロセッサ1は、タスク決定期間(1)において決定したタスクのタスク情報を共有メモリ3に格納する(設定期間(1))。
また、設定期間(1)において、メインプロセッサ1は、タイミング制御回路14が時間区間(2)においてどのタイミングでどの信号を発生するかを設定する。さらに、設定期間(1)において、メインプロセッサ1は、時間区間(2)においてサブプロセッサ2が実行するタスクの必要サイクル数に基づいて、サブプロセッサ2が当該タスクを時間区間(2)内に実行するために必要なクロック周波数を決定し、決定したクロック周波数の情報を、クロック生成/制御回路7に入力する。これにより、メインプロセッサ1は、クロック切替に必要な設定を行う。
また、設定期間(1)において、メインプロセッサ1は、タイミング制御回路14が時間区間(2)においてどのタイミングでどの信号を発生するかを設定する。さらに、設定期間(1)において、メインプロセッサ1は、時間区間(2)においてサブプロセッサ2が実行するタスクの必要サイクル数に基づいて、サブプロセッサ2が当該タスクを時間区間(2)内に実行するために必要なクロック周波数を決定し、決定したクロック周波数の情報を、クロック生成/制御回路7に入力する。これにより、メインプロセッサ1は、クロック切替に必要な設定を行う。
設定期間(1)が終了し、クロック切替信号17が発生すると、クロック切替期間(1)となり、設定期間(1)においてメインプロセッサ1により設定されたクロック周波数に基づくクロック信号16がサブプロセッサ2に供給されるように、クロック生成/制御回路7においてクロック切替が行われる。
クロック切替期間(1)が終了し、フレーム割込み信号が発生すると、時間区間(2)となる。そして、クロック生成/制御回路7は、クロック切替期間(1)において切り替えられたクロック周波数に基づくクロック信号16をサブプロセッサ2に供給する。また、タスク割込み信号が発生する度に、サブプロセッサ2が、クロック生成/制御回路7から供給されるクロック信号16に同期して、共有メモリ3に格納されたタスク情報に基づき、タスクを実行する。
図3では、時間区間(1)のクロック周波数よりも時間区間(2)のクロック周波数が遅くなった場合を示している。図3に示すように、時間区間(1)の終了までに、時間区間(2)においてサブプロセッサ2が実行するタスクの必要サイクル数に基づくクロック周波数が決定される。そして、時間区間(2)において、当該クロック周波数に基づくクロック信号16がサブプロセッサ2に供給される。即ち、各時間区間において実行するタスクの処理量などに応じて、クロック周波数が動的に決定される。そのため、十分に動作マージンが確保されたクロック周波数に基づくクロック信号16の供給をより確実に防止することができる。これにより、消費電力の低減を図ることができる。
次に、本実施形態にかかるタスク処理システム100におけるタスク処理方法について、図4に示すフローチャートを参照しながら説明する。
まず、メインプロセッサ1にフレーム割込み信号が入力されると(ステップS1)、メインプロセッサ1は、次の時間区間でサブプロセッサ2が実行するタスクを決定し、共有メモリ3に当該タスクのタスク情報を格納する(ステップS2)。
まず、メインプロセッサ1にフレーム割込み信号が入力されると(ステップS1)、メインプロセッサ1は、次の時間区間でサブプロセッサ2が実行するタスクを決定し、共有メモリ3に当該タスクのタスク情報を格納する(ステップS2)。
次に、メインプロセッサ1にイベント設定割込み信号が入力されると(ステップS3)、メインプロセッサ1は、ステップS2において決定したタスクのタスク情報を共有メモリ3に格納する(ステップS4)。
また、ステップS4において、メインプロセッサ1は、タイミング制御回路14が次の時間区間においてどのタイミングでどの信号を発生するかを設定する。
さらに、ステップS4において、メインプロセッサ1は、次の時間区間においてサブプロセッサ2が実行するタスクの必要サイクル数に基づいて、サブプロセッサ2が当該タスクを次の時間区間内に実行するために必要なクロック周波数を決定し、決定したクロック周波数の情報を、クロック生成/制御回路7に入力する。これにより、メインプロセッサ1は、クロック切替に必要な設定を行う。
また、ステップS4において、メインプロセッサ1は、タイミング制御回路14が次の時間区間においてどのタイミングでどの信号を発生するかを設定する。
さらに、ステップS4において、メインプロセッサ1は、次の時間区間においてサブプロセッサ2が実行するタスクの必要サイクル数に基づいて、サブプロセッサ2が当該タスクを次の時間区間内に実行するために必要なクロック周波数を決定し、決定したクロック周波数の情報を、クロック生成/制御回路7に入力する。これにより、メインプロセッサ1は、クロック切替に必要な設定を行う。
次に、クロック生成/制御回路7にクロック切替信号17が入力されると(ステップS5)、クロック生成/制御回路7は、クロック切替を行う(ステップS6)。
次に、クロック生成/制御回路7は、ステップS4で決定されたクロック周波数に基づくクロック信号16をサブプロセッサ2に供給する(ステップS7)。
次に、サブプロセッサ2にタスク割込み信号が入力されると(ステップS8)、サブプロセッサ2は、共有メモリ3に格納されたタスク情報を参照し、クロック生成/制御回路7から入力されるクロック信号16に同期してタスクを実行する(ステップS9)。
以上に説明した本実施形態にかかるタスク処理システム100及びタスク処理方法によれば、メインプロセッサ1により、n番目の時間区間の終了までに、サブプロセッサ2がタスクをn+1番目の時間区間内に実行するために必要なクロック周波数が決定される。そして、クロック生成/制御回路7は、n番目の時間区間においてメインプロセッサ1が決定したクロック周波数に応じたクロック信号16を、n+1番目の時間区間においてサブプロセッサ2に供給する。すなわち、各時間区間において実行するタスクの処理量に応じて、クロック周波数が動的に決定される。そのため、次の時間区間における処理量の増加や減少に柔軟に対応できる。また、十分に動作マージンが確保されたクロック周波数に基づくクロック信号の供給をより確実に防止することができる。これにより、消費電力の低減を図ることができる。
また、割り込み種別毎に分周比を決定するわけではないため、周波数切り替えを頻繁に行うシステムにおいても、オーバーヘッドや処理負荷の増大を防ぐことができる。
また、クロック切替期間において、メインプロセッサ1により設定されたクロック周波数に基づくクロック信号16がサブプロセッサ2に供給されるように、クロック生成/制御回路7においてクロック切替が行われる。クロック切替期間では、サブプロセッサ2によるタスク処理が行われないため、タスクの処理量に関係なく、クロック生成/制御回路7のクロック切替を次の時間区間に移る前に確実に行うことができる。
また、タイミング制御回路4により発生されたクロック切替信号をトリガとしてクロック切替期間が開始し、クロック生成/制御回路7のクロック切替が行われる。そのため、クロック生成/制御回路7のクロック切替をより正確なタイミングで行うことができる。
また、タイミング制御回路4により発生されたクロック切替信号をトリガとしてクロック切替期間が開始し、クロック生成/制御回路7のクロック切替が行われる。そのため、クロック生成/制御回路7のクロック切替をより正確なタイミングで行うことができる。
なお、n番目の時間区間においてメインプロセッサ1がn+1番目の時間区間にサブプロセッサ2が実行するタスクを決定するタイミングや、n+1番目の時間区間にクロック生成/制御回路7が供給するクロック信号16のクロック周波数を決定するタイミングは、上記実施例に限られるものではなく、n番目の時間区間の終わりまでであればいつでもよい。
1 メインプロセッサ
2 サブプロセッサ
3 共有メモリ(タスク記憶部)
7 クロック生成/制御回路(クロック制御部)
8 第1のメモリ(タスクリスト記憶部)
100 タスク処理システム
2 サブプロセッサ
3 共有メモリ(タスク記憶部)
7 クロック生成/制御回路(クロック制御部)
8 第1のメモリ(タスクリスト記憶部)
100 タスク処理システム
Claims (10)
- メインプロセッサと、
前記メインプロセッサにより制御されるサブプロセッサと、
前記サブプロセッサにクロック信号を供給するクロック制御部と、を備え、
前記メインプロセッサは、所定長さに区切られた複数の時間区間夫々において前記サブプロセッサが実行するタスクを決定するとともに、n番目(nは、n≧1を満たす整数)の時間区間の終了までに、n+1番目の時間区間において前記サブプロセッサが実行するタスクの必要サイクル数情報に基づいて、当該タスクを前記n+1番目の時間区間内に実行させるために必要な動作周波数を決定し、
前記クロック制御部は、前記n番目の時間区間において前記メインプロセッサが決定した動作周波数に応じたクロック信号を、前記n+1番目の時間区間において前記サブプロセッサに供給するタスク処理システム。 - 前記メインプロセッサは、前記n番目の時間区間の終了までに、前記n+1番目の時間区間において前記サブプロセッサが前記タスクを実行するために必要な前記動作周波数を前記クロック制御部に入力することにより、クロック切替に必要な設定を行う請求項1に記載のタスク処理システム。
- 前記時間区間は、サブプロセッサがタスクを実行するフレーム期間と、前記フレーム期間に後続するクロック切替期間と、から成り、
前記クロック制御部は、前記メインプロセッサが決定した動作周波数に応じたクロック信号を前記n+1番目の時間区間において前記サブプロセッサに供給するように、前記n番目の時間区間の前記クロック切替期間内にクロック切替を行う請求項1又は2に記載のタスク処理システム。 - 前記タスクの種類と前記必要サイクル数とを対応付けて記憶するタスクリスト記憶部を備える請求項1乃至3の何れか一項に記載のタスク処理システム。
- 前記複数の時間区間毎に、前記タスクを記憶するタスク記憶部を備え、
前記メインプロセッサは、前記複数の時間区間の一に前記サブプロセッサが実行するタスクを決定した後、前記タスクを前記タスク記憶部に格納する請求項1乃至4の何れか一項に記載のタスク処理システム。 - メインプロセッサと、
前記メインプロセッサにより制御されるサブプロセッサと、
前記サブプロセッサにクロック信号を供給するクロック制御部と、を備えるタスク処理システムにおけるタスク処理方法であって、
前記メインプロセッサは、所定長さに区切られた複数の時間区間夫々において前記サブプロセッサが実行するタスクを決定するとともに、n番目(nは、n≧1を満たす整数)の前記時間区間の終了までに、前記n+1番目の時間区間において前記サブプロセッサが実行するタスクの必要サイクル数情報に基づいて、当該タスクを前記n+1番目の時間区間内に実行させるために必要な動作周波数を決定し、
前記クロック制御部は、前記n番目の時間区間において前記メインプロセッサが決定した動作周波数に応じたクロック信号を、前記n+1番目の時間区間において前記サブプロセッサに供給するタスク処理方法。 - 前記メインプロセッサは、前記n番目の時間区間の終了までに、前記n+1番目の時間区間において前記サブプロセッサが前記タスクを実行するために必要な前記動作周波数を前記クロック制御部に入力することにより、クロック切替に必要な設定を行う請求項6に記載のタスク処理方法。
- 前記時間区間は、サブプロセッサがタスクを実行するフレーム期間と、前記フレーム期間に後続するクロック切替期間と、から成り、
前記クロック制御部は、前記メインプロセッサが決定した動作周波数に応じたクロック信号を前記n+1番目の時間区間において前記サブプロセッサに供給するように、前記n番目の時間区間の前記クロック切替期間内にクロック切替を行う請求項6又は7に記載のタスク処理方法。 - 前記タスクの種類と前記必要サイクル数とを対応付けて記憶するタスクリスト記憶部を備える請求項6乃至8の何れか一項に記載のタスク処理システム。
- 前記複数の時間区間毎に、前記タスクを記憶するタスク記憶部を備え、
前記メインプロセッサは、前記複数の時間区間の一に前記サブプロセッサが実行するタスクを決定した後、前記タスクを前記タスク記憶部に格納する請求項6乃至9の何れか一項に記載のタスク処理方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008158277A JP2009301500A (ja) | 2008-06-17 | 2008-06-17 | タスク処理システム及びタスク処理方法 |
US12/457,291 US20090313629A1 (en) | 2008-06-17 | 2009-06-05 | Task processing system and task processing method |
GB0910435A GB2460950A (en) | 2008-06-17 | 2009-06-17 | Setting the clock frequency of a processor based on the amount of work the processor has to do in a time segment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008158277A JP2009301500A (ja) | 2008-06-17 | 2008-06-17 | タスク処理システム及びタスク処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009301500A true JP2009301500A (ja) | 2009-12-24 |
Family
ID=40940959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008158277A Pending JP2009301500A (ja) | 2008-06-17 | 2008-06-17 | タスク処理システム及びタスク処理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20090313629A1 (ja) |
JP (1) | JP2009301500A (ja) |
GB (1) | GB2460950A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012003606A (ja) * | 2010-06-18 | 2012-01-05 | Ricoh Co Ltd | 通信装置 |
JP2017512408A (ja) * | 2014-02-20 | 2017-05-18 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | データ交換に関する低電力低潜時プロトコル |
CN108804208A (zh) * | 2017-04-27 | 2018-11-13 | 北京小米移动软件有限公司 | 终端运行方法、装置及终端 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8843682B2 (en) * | 2010-05-18 | 2014-09-23 | Lsi Corporation | Hybrid address mutex mechanism for memory accesses in a network processor |
US8560876B2 (en) * | 2010-07-06 | 2013-10-15 | Sap Ag | Clock acceleration of CPU core based on scanned result of task for parallel execution controlling key word |
US9940905B2 (en) * | 2015-02-03 | 2018-04-10 | Qualcomm Incorporated | Clock rate adjustment for processing unit |
US20160364817A1 (en) * | 2015-06-12 | 2016-12-15 | Glenn Barber | System, Method, and Apparatus for Utilizing Multi-Processing to Optimize Calculations of Licensable Properties |
KR20210132862A (ko) * | 2020-04-28 | 2021-11-05 | 삼성전자주식회사 | 클록 제어 방법 및 이를 위한 전자 장치 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7448025B2 (en) * | 2000-12-29 | 2008-11-04 | Intel Corporation | Qualification of event detection by thread ID and thread privilege level |
US7089557B2 (en) * | 2001-04-10 | 2006-08-08 | Rusty Shawn Lee | Data processing system and method for high-efficiency multitasking |
US6622253B2 (en) * | 2001-08-02 | 2003-09-16 | Scientific-Atlanta, Inc. | Controlling processor clock rate based on thread priority |
EP1351117A1 (en) * | 2002-04-03 | 2003-10-08 | Hewlett-Packard Company | Data processing system and method |
US7634668B2 (en) * | 2002-08-22 | 2009-12-15 | Nvidia Corporation | Method and apparatus for adaptive power consumption |
GB2402504A (en) * | 2002-11-12 | 2004-12-08 | Advanced Risc Mach Ltd | Processor performance calculation |
JP3920818B2 (ja) * | 2003-07-22 | 2007-05-30 | 株式会社東芝 | スケジューリング方法および情報処理システム |
JP4025260B2 (ja) * | 2003-08-14 | 2007-12-19 | 株式会社東芝 | スケジューリング方法および情報処理システム |
GB2410344B (en) * | 2004-01-26 | 2006-03-15 | Toshiba Res Europ Ltd | Dynamic voltage controller |
JP3862715B2 (ja) * | 2004-06-01 | 2006-12-27 | 株式会社ソニー・コンピュータエンタテインメント | タスク管理方法、タスク管理装置、半導体集積回路、電子装置、およびタスク管理システム |
JP2007141020A (ja) * | 2005-11-21 | 2007-06-07 | Seiko Epson Corp | データ処理装置及び電子機器 |
US7836316B2 (en) * | 2006-03-28 | 2010-11-16 | Intel Corporation | Conserving power in processing systems |
-
2008
- 2008-06-17 JP JP2008158277A patent/JP2009301500A/ja active Pending
-
2009
- 2009-06-05 US US12/457,291 patent/US20090313629A1/en not_active Abandoned
- 2009-06-17 GB GB0910435A patent/GB2460950A/en not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012003606A (ja) * | 2010-06-18 | 2012-01-05 | Ricoh Co Ltd | 通信装置 |
JP2017512408A (ja) * | 2014-02-20 | 2017-05-18 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | データ交換に関する低電力低潜時プロトコル |
CN108804208A (zh) * | 2017-04-27 | 2018-11-13 | 北京小米移动软件有限公司 | 终端运行方法、装置及终端 |
Also Published As
Publication number | Publication date |
---|---|
GB2460950A (en) | 2009-12-23 |
US20090313629A1 (en) | 2009-12-17 |
GB0910435D0 (en) | 2009-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009301500A (ja) | タスク処理システム及びタスク処理方法 | |
EP3451122B1 (en) | Power management in an integrated circuit | |
US7398409B2 (en) | Semiconductor integrated circuit and its power-saving control method and program | |
EP3413162B1 (en) | Control system and control method for ddr system | |
JP2006178854A (ja) | 電子回路 | |
US10649934B2 (en) | Image processing apparatus, notification monitoring program, and notification monitoring method | |
JP2007065756A (ja) | クロック制御回路、クロック制御方法、半導体集積回路装置、及び電子機器 | |
JP6148129B2 (ja) | 情報処理装置、ファームウェア更新方法およびファームウェア更新プログラム | |
US20110090003A1 (en) | Control Module for Controlling Electro-phoretic Display Integrated Circuit and Method thereof | |
JP2010134637A (ja) | 半導体集積回路 | |
US9442761B2 (en) | Sequence controller | |
US8384463B2 (en) | Clock supply circuit and control method thereof | |
JP2016173750A (ja) | 電子制御装置 | |
US20100180279A1 (en) | Field control device and field control method | |
JP2013109551A (ja) | 電源制御装置及び電源制御方法 | |
JP2002006944A (ja) | 制御機能付き表示器 | |
EP4400940A1 (en) | System and method for reducing power consumption in computing systems | |
US8677164B2 (en) | Microcomputer and control method thereof | |
US20240241563A1 (en) | System and method for reducing power consumption in computing systems | |
CN102171626A (zh) | 用于在微处理器中节省能量的方法和装置 | |
CN107621974B (zh) | 中断请求分配装置和对此的运行方法 | |
EP2302484A2 (en) | Semiconductor integrated device and control method thereof | |
JP2009199421A (ja) | 割込み制御装置 | |
JP2024009711A (ja) | 管理システム、生産システム及び管理方法 | |
US9076374B2 (en) | Display device and driving method applicable thereto |