JP6209042B2 - データ処理装置 - Google Patents

データ処理装置 Download PDF

Info

Publication number
JP6209042B2
JP6209042B2 JP2013204651A JP2013204651A JP6209042B2 JP 6209042 B2 JP6209042 B2 JP 6209042B2 JP 2013204651 A JP2013204651 A JP 2013204651A JP 2013204651 A JP2013204651 A JP 2013204651A JP 6209042 B2 JP6209042 B2 JP 6209042B2
Authority
JP
Japan
Prior art keywords
task
time
hardware resource
execution
standby mode
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.)
Active
Application number
JP2013204651A
Other languages
English (en)
Other versions
JP2015069521A (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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2013204651A priority Critical patent/JP6209042B2/ja
Priority to CN201410502635.1A priority patent/CN104516780B/zh
Priority to US14/500,246 priority patent/US9921638B2/en
Publication of JP2015069521A publication Critical patent/JP2015069521A/ja
Application granted granted Critical
Publication of JP6209042B2 publication Critical patent/JP6209042B2/ja
Active 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
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/485Resource constraint
    • 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Power Sources (AREA)

Description

本発明は、データ処理装置に関し、特に、低消費電力が要求されるデータ処理装置に適用して有効な技術に関する。
携帯端末やサーバー等のデータ処理装置は、所望の機能を実現するためにマイクロコントローラやメモリ、センサ、電源IC等の複数の電子部品が相互に接続されることによって構成されている。このようなデータ処理システムにおいて、例えばマイクロコントローラは、システム全体の制御を行いつつ、センサや電源IC等からの割り込み要求に応じて割り込み処理を適宜実行する。例えば特許文献1には、情報用タスクの割り込みが発生しても、周期的な制御用タスクを優先的に実行するようにスケジューリングするマイクロコントローラが開示されている。
ところで、近年、データ処理システムの省電力化の要求が高まっている。データ処理システムの省電力化を実現するためには、データ処理システムを構成する個々の半導体集積回路の消費電力を抑えることが不可欠である。半導体集積回路の省電力化の技術として、近年、パワーゲーティングと呼ばれる手法が注目されている。パワーゲーティングは、半導体集積回路内の動作しない回路ブロックへの電源供給を遮断することで当該回路ブロックのリーク電流を抑え、半導体集積回路全体の消費電力を削減する手法である。例えば、非特許文献1には、携帯端末等に適用されるモバイル用SOC(System−on−a−chip)において、携帯端末の動作モードに応じて動作しない回路ブロック(IP等)への電源供給を遮断する技術が開示されている。また、非特許文献2には、命令セットレベルやキャッシュミス動作等を条件分岐として利用することで、CPU内部の演算器レベルで電源遮断を行う技術が開示されている。
特開2009−175971号公報
T. Hattori, et.al., "Hierarchical power distribution and power management scheme for a single chip mobile processor", Proc. of DAC, pp.292−295, 2006 D.Ikebuchi and et.al., "Geyser−1: A mips r3000 cpu core with fine grain runtime power gating," IEEE Asian Solid−State Circuits Conference November 16−18,2009,Taipei,Taiwan
本願発明者は、複数の電子部品から構成されるデータ処理システムにおいて、電子部品毎の電源遮断(パワーゲーティング)を行うことによりシステム全体の消費電力を削減することについて検討した。検討の結果、以下の問題があることが明らかとされた。
一般に、パワーゲーティングにおいて、電源供給状態から電源遮断状態への遷移時及び電源遮断状態から電源供給状態への遷移時に、エネルギー消費(オーバーヘッド)が生じることが知られている。電源遮断等のスタンバイモードに遷移することによるオーバーヘッドよりもスタンバイモードに遷移することによる消費電力の削減量が大きくなる臨界点となる時間を損益分岐時間(BET:Break−even time)と言い、スタンバイモードの期間が損益分岐時間BETよりも長い場合に、消費電力の削減効果が得られる。したがって、上述の非特許文献1に開示されたモバイル用SoCのように、損益分岐時間BETを考慮せずに、単に、動作していない電子部品の電源遮断を行うような手法ではアプリケーションに依存し、汎用的な使用方法では十分な電力削減効果が得られない場合も多く、電源供給と遮断の切り替え頻度が高い場合には、かえって消費電力の増加を招く虞がある。なお、非特許文献2の手法は、損益分岐時間BETを考慮してCPU内部の各演算器の電源遮断の時間粒度を変更するものではあるが、命令セットレベルやキャッシュミス動作等を条件分岐とした複雑な制御によってCPU内部の各演算器のパワーゲーティングを行うための技術であり、当該文献の技術内容を上記のデータ処理システムにそのまま適用することはできない。
このような課題を解決するための手段等を以下に説明するが、その他の課題と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される実施の形態のうち代表的なものの概要を簡単に説明すれば下記のとおりである。
すなわち、本データ処理装置は、少なくとも1つのスタンバイモードを有する複数のハードウェアリソースと、所定の前記ハードウェアリソースを用いて実現されるタスクの実行と前記ハードウェアリソースの動作状態の制御を行うための制御部と、前記制御部からの指示に応じて、各ハードウェアリソースに対する電源の供給を制御する電源部とを有する。前記制御部は、前記タスクを実行するタイミングを決定するための情報に基づいて前記タスクの実行予定時刻のスケジューリングを行うとともに、前記スケジューリングの結果に基づいて前記ハードウェアリソースが次の前記タスクの実行に利用されるまでの待機時間を算出する。前記制御部は、算出した前記待機時間と予め設定された当該ハードウェアリソースの前記スタンバイモードによる損益分岐時間とを比較することによって、当該ハードウェアリソースをスタンバイモードに遷移させるか否かを、前記ハードウェアリソース毎に決定する。
本願において開示される実施の形態のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
すなわち、本データ処理装置によれば、消費電力を削減することができる。
本願の一実施の形態に係るデータ処理装置を示す図である。 実施の形態1に係るデータ処理装置の構成を例示する図である。 各ハードウェアリソースの動作モードを例示する図である。 制御部1の内部構成を例示する図である。 実施の形態1に係るタスク管理情報の一例を示す図である。 実施の形態1に係るハードウェア情報の一例を示す図である。 実施の形態1に係るキューリストの一例を示す。 実施の形態1に係るタスクのスケジューリングと動作モードの決定の流れの一例を示す図である。 実施の形態1に係るデータ処理装置におけるキューリストの更新の様子を示す図である。 MCU3の動作モードを変更するときの制御部10とMUC3間の通信の流れを示す図である。 実施の形態1に係るデータ処理装置におけるタスクのスケジューリング結果とMCU3の動作モードの遷移状態の一例を示す図である。 実施の形態2に係るタスク管理情報の一例を示す図である。 実施の形態2に係るキューリストの一例を示す図である。 実施の形態2に係るタスクのスケジューリングと動作モードの決定の流れの一例を示す図である。 実施の形態2に係るデータ処理装置におけるキューリストの更新の様子を示す図である。 実施の形態2に係るデータ処理装置におけるタスクのスケジューリング結果とMCU3の動作モードの遷移状態の一例を示す図である。 実施の形態3に係るデータ処理装置におけるレギュレータ回路20_nの内部構成を例示する図である。 レギュレータ回路における差動増幅器DAMPの差動増幅段の回路構成を例示する図である。 実施の形態4に係るデータ処理装置を例示する図である。 実施の形態4に係るハードウェア情報を例示する図である。
1.実施の形態の概要
先ず、本願において開示される代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕(タスク管理情報に基づいて算出したハードウェアリソースの待機時間と損益分岐時間とを比較することにより、各ハードウェアリソースのスタンバイモードへの遷移を決定するデータ処理装置)
本願の代表的な実施の形態に係るデータ処理装置は、図1に示されるように、少なくとも1つのスタンバイモードを有する複数のハードウェアリソース(3、4_1、4_2)と、所定の前記ハードウェアリソースを用いて実現されるタスクの実行と前記ハードウェアリソースの動作状態の制御を行うための制御部(1)を有する。前記データ処理装置は更に、前記制御部からの指示に応じて、各ハードウェアリソースに対する電源(VIN_1〜VIN_n)の供給を制御する電源部(2)を有する。前記制御部は、前記タスクを実行するタイミングを決定するための情報(TMI、TMIA)に基づいて前記タスクの実行予定時刻のスケジューリングを行うとともに、前記スケジューリングの結果に基づいて前記ハードウェアリソースが次の前記タスクの実行に利用されるまでの待機時間(Tw)を算出する。更に、前記制御部は、算出した前記待機時間と予め設定された当該ハードウェアリソースの前記スタンバイモードによる損益分岐時間(Tbe1〜Tbe5)とを比較することによって、当該ハードウェアリソースをスタンバイモードに遷移させるか否かを、前記ハードウェアリソース毎に決定する。
これによれば、消費電力の削減効果が得られる場合に、スタンバイモードに移行するように夫々のハードウェアリソースが制御することができるので、従来のように、ハードウェアリソースが動作不要な状態になったことを条件としてスタンバイモードに移行させるような単純な制御手法に比べて、データ処理装置全体の消費電力を効果的に削減することができる。
〔2〕(タスク管理情報に基づくスケジューリング及び待機時間の算出)
項1のデータ処理装置において、前記タスクを実行するタイミングを決定するための情報は、前記タスクを実行する周期(Tc)と、前記タスクの実行時間(Ton)と、前記タスクの実行に用いられる前記ハードウェアリソースを指示するリソース情報(Rs)と、を含む。前記制御部は、前記タスクを実行する周期に基づいてタスクの実行予定時刻をスケジューリングする。前記制御部は更に、前記リソース情報で指示された所定のハードウェアリソースを使用する所定のタスクの実行完了時刻と前記所定のハードウェアリソースを使用し前記所定のタスクの次に実行されるタスクの実行予定時刻との差分に基づいて前記所定のハードウェアリソースの前記待機時間を算出する。前記実行完了時刻は、前記所定のハードウェアリソースを使用するタスクの実行開始時刻に前記タスクの実行時間を加算することで算出される。
これによれば、タスクの実行予定時刻をスケジューリングすることが容易となるとともに、ハードウェアリソース毎の待機時間を容易に算出することが可能となる。
〔3〕(待機時間とBETの比較結果に基づくスタンバイモードの選択)
項2のデータ処理装置は、前記複数のハードウェアリソースとして、電源の供給が遮断されない第1スタンバイモード(STB1、STB2)と電源の供給が遮断される第2スタンバイモード(STB3)とを有するデバイスを含む。前記デバイスの前記損益分岐時間として、前記第1スタンバイモードによる第1損益分岐時間(Tbe1,Tbe2)と前記第2スタンバイモードによる第2損益分岐時間(Tbe3)とを含む。前記第2損益分岐時間は、前記第1損益分岐時間よりも大きくされる。前記制御部は、前記デバイスをスタンバイモードに遷移させるとき、前記算出した前記デバイスの待機時間(Tw)が前記第1損益分岐時間より大きく前記第2損益分岐時間より小さい場合に、前記デバイスを前記第1スタンバイモードに遷移させる。一方、前記算出した前記デバイスの待機時間が前記第2損益分岐時間より大きい場合に、前記制御部は、前記デバイスを前記第2スタンバイモードに遷移させる。
これによれば、デバイスの待機時間に応じて最適なスタンバイモードを選択するから、当該デバイスの消費電力を効果的に削減することができ、データ処理システム全体の更なる省電力化に資する。
〔4〕(マイクロコントローラ)
項3のデータ処理装置において、前記デバイスは、マイクロコントローラである。
〔5〕(スケジューリングされたタスクを待機時間が長くなるようにリスケジュールする)
項2乃至4の何れかのデータ処理装置において、前記制御部は、前記スケジューリングされた所要のタスクの実行開始予定時刻と、その次に実行予定のタスクの実行開始予定時刻との時間間隔が短くなるように、前記所要のタスクの実行予定時刻を所定の時間範囲内で変更可能にされる。
これによれば、タスクとタスクの実行間隔が短くなるようにスケジューリング結果が見直されるから、ハードウェアリソースの待機時間をより長くすることができる。これにより、各ハードウェアリソースの状態遷移回数を減らすことで遷移に伴うエネルギーオーバーヘッドを削減し、さらにスタンバイ状態にしておくことができる期間が長くなるので、消費電力の更なる削減が期待できる。特に、電源を遮断するスタンバイモードと電源を遮断しないスタンバイモードを有するデバイス(マイコン等)を含むデータ処理装置の場合、待機時間が長くなることで電源が遮断されるスタンバイモードに遷移する確率が高くなるので、更なる電力の削減が期待できる。
〔6〕(リスケジューリングの詳細)
項5のデータ処理装置において、前記タスクを実行するタイミングを決定するための情報は、前記タスクを実行すべき周期に対してずらすことが可能な時間を示す猶予時間(Tex)の情報を、更に含む。前記制御部は、スケジューリングされた前記所要のタスクの実行開始予定時刻を基点として前記猶予時間の範囲内に、前記その次に実行予定のタスクの実行がスケジューリングされている場合に、前記所要のタスクに連続して前記その次に実行予定のタスクが実行されるように、前記所要のタスクの実行予定時刻を変更する。
これによれば、周期的なタスクの実行を維持しつつ、ハードウェアリソースの待機時間を長くすることが可能となる。
〔7〕(温度毎の損益分岐時間BET)
項2乃至6の何れかのデータ処理装置において、前記スタンバイモードによる損益分岐時間が温度情報に対応して複数(HWI_TL、HWI_TM、HWI_TH)設定される。前記制御部は、入力された温度情報に基づいて何れか一つの前記損益分岐時間を選択し、選択した前記損益分岐時間を用いて、前記ハードウェアリソースをスタンバイモードに遷移させるか否かの決定を行う。
一般に、電源遮断による損益分岐時間は温度によって変化することが知られている。そこで、本データ処理装置のように温度に応じて損益分岐時間を変更することで、より正確に最適なスタンバイモードを選択することができ、温度によらず、データ処理装置の消費電力を効果的に削減することが可能となる。
〔8〕(LDOの回路電流)
項3乃至7の何れかのデータ処理装置において、前記電源部は、前記ハードウェアリソースに電源電圧を供給するためのレギュレータ回路(20_1〜20_n)を夫々のハードウェアリソースに対応させて複数有する。前記制御部は、前記ハードウェアリソースをスタンバイモードに遷移させるとき、当該ハードウェアリソースに対応する前記レギュレータ回路の回路電流(IBS)が小さくなるように制御する。
これによれば、データ処理装置全体の消費電力を更に削減することが可能となる。
〔9〕(スタンバイモード毎にLDOの回路電流を変化させる)
項8のデータ処理装置において、前記制御部は、前記デバイスを前記第2スタンバイモードに遷移させる場合に、前記デバイスに対応する前記レギュレータ回路の動作電流を遮断するように制御する。一方、前記制御部は、前記マイクロコントローラを前記第1スタンバイモードに遷移させる場合に、前記デバイスに対応する前記レギュレータ回路の動作電流が通常時よりも小さくなるように制御する。
これによれば、マイクロコントローラに電源を供給するレギュレータ回路に要求される応答性を担保しつつ、消費電力を効果的に抑えることができる。
〔10〕(タスクの実行間隔を変更する)
項4乃至9の何れかのデータ処理装置において、前記タスクとして、前記マイクロコントローラが外部から周期的にデータを受信する第1タスク(タスクA又はB)を含む。前記マイクロコントローラは、前記第1タスクの実行によって所要のタイミングで受信したデータとそれ以前のタイミングで受信したデータとの変化量を算出し、その変化量が所定の閾値を超えない場合に、前記第1タスクの実行周期が長くなるように、前記タスクを実行するタイミングを決定するための情報を更新する。
これによれば、前記第1タスクの実行間隔が長くなるので、第1タスクの実行に利用されるハードウェアリソース(マイクロコントローラ等)の待機時間をより長くすることが可能となり、更なる消費電力の削減が期待できる。
〔11〕(スケジューリングされたタスクを待機時間が長くなるようにリスケジュールするデータ処理システム)
本願の代表的な別の実施の形態に係るデータ処理装置(100)は、少なくとも1つのスタンバイモードを有する複数のハードウェアリソース(3、4_1、4_2)と、所定の前記ハードウェアリソースを用いて実現されるタスクの実行と前記ハードウェアリソースの動作状態の制御を行うための制御部(1)と、を有する。前記データ処理装置は更に、前記制御部からの指示に応じて、各ハードウェアリソースに対する電源の供給を制御する電源部(2)と、を有する。前記制御部は、前記タスクを実行するタイミングを決定するための情報(TMIA)に基づいて、前記タスクの実行予定時刻のスケジューリングを行うとともに、前記スケジューリングの結果に基づいて、所定の前記ハードウェアリソースに対する電源の供給を指示するとともに当該ハードウェアリソースに対して前記タスクの実行を指示する。前記制御部は、前記スケジューリングを行うとき、所要のタスクの実行開始予定時刻と、その次に実行予定のタスクの実行開始予定時刻との時間間隔が短くなるように、前記所要のタスクの実行予定時刻を所定の時間範囲内で変更可能にされる。
これによれば、タスクとタスクの実行間隔が短くなるようにスケジューリング結果を見直すことが可能となるから、ハードウェアリソースの待機時間をより長くすることができる。これにより、例えばハードウェアリソースの待機中に当該ハードウェアリソースをスタンバイモードに移行させるという制御を行うことにより、消費電力の更なる削減が期待できる。
〔12〕(リスケジューリングの詳細)
項11のデータ処理装置において、前記タスクを実行するタイミングを決定するための情報は、前記タスクを実行する周期(Tc)と、前記タスクの実行時間(Ton)と、前記タスクの実行に用いられる前記ハードウェアリソースを指示する情報(Rs)と、前記タスクを実行すべき周期に対してずらすことが可能な時間を示す猶予時間(Tex)とを、含む。前記制御部は、前記タスクを実行する周期に基づいてタスクの実行予定時刻をスケジューリングする。前記制御部は更に、前記スケジューリングされた所定のタスクの実行開始予定時刻を基点として、前記猶予時間の範囲内に別のタスクの実行がスケジューリングされている場合に、前記所定のタスクに連続して前記別のタスクが実行されるように、前記所定のタスクの実行予定時刻を変更する。
これによれば、タスクの実行予定時刻をスケジューリングすることが容易となるとともに、周期的なタスクの実行を維持しつつ、ハードウェアリソースの待機時間を長くするように、スケジューリング結果を見直すことが容易となる。
〔13〕(待機時間と損益分岐時間との比較結果に基づいて各ハードウェアリソースのスタンバイモードへの遷移を決定)
項11又は12のデータ処理装置において、前記制御部は、前記スケジューリングの結果に基づいて前記ハードウェアリソースが次の前記タスクの実行に利用されるまでの待機時間を算出する。前記制御部は更に、算出した前記待機時間と予め設定された当該ハードウェアリソースの前記スタンバイモードによる損益分岐時間とを比較することによって、当該ハードウェアリソースをスタンバイモードに遷移させるか否かを、前記ハードウェアリソース毎に決定する。
これによれば、消費電力の削減効果が得られる場合に、スタンバイモードに移行するように夫々のハードウェアリソースが制御することができるので、従来のように、ハードウェアリソースが動作不要な状態になったことを条件としてスタンバイモードに移行させるような単純な制御手法に比べて、データ処理装置全体の消費電力を効果的に削減することができる。
〔14〕(待機時間の算出)
項13のデータ処理装置において、前記制御部は、前記リソース情報で指示された所定のハードウェアリソースを使用する所定のタスクの実行完了時刻と前記所定のハードウェアリソースを使用し前記所定のタスクの次に実行されるタスクの実行予定時刻との差分に基づいて前記所定のハードウェアリソースの前記待機時間を算出する。前記実行完了時刻は、前記所定のハードウェアリソースを使用するタスクの実行開始時刻に前記タスクの実行時間を加算することで算出される。
これによれば、ハードウェアリソース毎の待機時間を容易に算出することが可能となる。
〔15〕(待機時間とBETの比較結果に基づくスタンバイモードの選択)
項14のデータ処理装置は、前記ハードウェアリソースとして、電源の供給が遮断されない第1スタンバイモード(STB1、STB2)と電源の供給が遮断される第2スタンバイモード(STB3)とを有するマイクロコントローラを含む。前記マイクロコントローラの前記損益分岐時間として、前記第1スタンバイモードによる第1損益分岐時間(Tbe1,Tbe2)と前記第2スタンバイモードによる第2損益分岐時間(Tbe3)とを含む。前記第2損益分岐時間は、前記第1損益分岐時間よりも大きくされる。前記制御部は、前記マイクロコントローラをスタンバイモードに遷移させるとき、前記算出した前記マイクロコントローラの待機時間(Tw)が前記第1損益分岐時間より大きく前記第2損益分岐時間より小さい場合に、前記マイクロコントローラを前記第1スタンバイモードに遷移させる。一方、前記算出した前記マイクロコントローラの待機時間が前記第2損益分岐時間より大きい場合に、前記制御部は、前記マイクロコントローラを前記第2スタンバイモードに遷移させる。
これによれば、マイクロコントローラの待機時間に応じて最適なスタンバイモードを選択するから、当該デバイスの消費電力を効果的に削減することができ、データ処理システム全体の更なる省電力化に資する。
〔16〕(温度毎の損益分岐時間BET)
項14又は15のデータ処理装置において、前記スタンバイモードによる損益分岐時間が温度情報に対応して複数(HWI_TL、HWI_TM、HWI_TH)設定される。前記制御部は、入力された前記温度情報に基づいて何れか一つの前記損益分岐時間を選択し、選択した前記損益分岐時間を用いて、前記ハードウェアリソースをスタンバイモードに遷移させるか否かの決定を行う。
これによれば、より正確に最適なスタンバイモードを選択することができ、温度によらず、データ処理装置の消費電力を効果的に削減することが可能となる。
〔17〕(LDOの回路電流)
項15又は16の何れかのデータ処理装置において、前記電源部は、前記ハードウェアリソースに電源電圧を供給するためのレギュレータ回路(20_1〜20_n)を夫々のハードウェアリソースに対応させて複数有する。前記制御部は、前記ハードウェアリソースをスタンバイモードに遷移させるとき、当該ハードウェアリソースに対応する前記レギュレータ回路の回路電流が小さくなるように制御する。
これによれば、データ処理装置全体の消費電力を更に削減することが可能となる。
〔18〕(スタンバイモード毎にLDOの回路電流を変化させる)
項15のデータ処理装置において、前記制御部は、前記マイクロコントローラを前記第1スタンバイモードに遷移させる場合に、前記マイクロコントローラに対応する前記レギュレータ回路の動作電流を遮断するように制御する。一方、前記制御部は、前記マイクロコントローラを前記第2スタンバイモードに遷移させる場合に、前記マイクロコントローラに対応する前記レギュレータ回路の動作電流が通常時よりも小さくなるように制御する。
これによれば、マイクロコントローラに電源を供給するレギュレータ回路に要求される応答性を担保しつつ、消費電力を効果的に抑えることができる。
〔19〕(タスクの実行間隔を変更)
項13乃至16の何れかのデータ処理装置は、前記タスクとして、前記マイクロコントローラが外部から周期的にデータを受信する第1タスク(タスクA又はB)を含む。前記マイクロコントローラは、前記第1タスクの実行によって所要のタイミングで受信したデータとそれ以前のタイミングで受信したデータとの変化量を算出し、その変化量が所定の閾値を超えない場合に、前記第1タスクの実行周期が長くなるように、前記タスクを実行するタイミングを決定するための情報を更新する。
これによれば、前記第1タスクの実行間隔が長くなるので、第1タスクの実行に利用されるハードウェアリソース(マイクロコントローラ等)の待機時間をより長くすることが可能となり、更なる消費電力の削減が期待できる。
2.実施の形態の詳細
実施の形態について更に詳述する。なお、発明を実施するための形態を説明するための全図において、同一の機能を有する要素には同一の符号を付して、その繰り返しの説明を省略する。
≪実施の形態1≫
図2は、実施の形態1に係るデータ処理装置の構成を例示する図である。
同図に示されるデータ処理装置100は、例えば、複数のハードウェアリソースを用いて各種のタスクを実行することにより、所望の機能を実現する。データ処理装置100は、例えば一つのセンサシステムを構成し、単数又は複数のセンサによって検出された情報に基づいて各種の演算を行うことにより、各種データの生成や各種の機器の制御を行う。データ処理装置100は、例えば電池又はエネルギーハーベスティング技術による電力供給に基づいて動作可能にされるセンサシステムであって、より省電力での動作が要求される。
具体的に、データ処理装置100は、複数のハードウェアリソースとしてのマイクロコントローラ(MCU)3及びセンサ部4_1、4_2と、電源部(PW_CNT)2と、制御部(CNT_UNT)1と、を含んで構成される。なお、図1には、代表的に上記3つのハードウェアリソースが例示されているが、これらの他に、例えば、外付けメモリ(RAM)や無線IC等のハードウェアリソースをデータ処理装置が備えても良い。また、データ処理装置100が備えるセンサ部の個数に特に制限はない。
センサ部4_1は、例えば、外部から入力された情報を電気信号に変換するセンサ装置(SNSR)40_1と、センサ装置40_1によって変換されたアナログ信号を増幅して出力する増幅器(AMP)41_1と、を含んで構成される。増幅器41_1によって増幅されたアナログ信号は、MCU3に供給される。同様に、センサ部4_2は、センサ装置40_2と増幅器41_2とを含んで構成される。特に制限されないが、例えば、センサ装置40_1は温度を計測し、センサ装置40_2は湿度を計測する。
MCU3は、センサ部40_1、40_2から供給されたアナログ信号をA/D変換器によってデジタル信号に変換し、MCU内部の演算処理部(CPU)が前記デジタル信号に基づいて各種の演算処理を行う。その演算処理の結果は、各種の情報データ及び機器を制御するための制御データとして、外部に出力可能にされる。例えば、MCU3がセンサ装置40_1、40_2の検出結果を温度データ及び湿度データとして無線IC(図示せず)に供給する。そして、無線ICがアンテナを介して無線通信を行うことにより、温度データ及び湿度データが外部のサーバー等のホストシステムに送信される。
電源部2は、制御部1からの指示に応じて、夫々のハードウェアリソースに対する電源供給を制御する。電源部2は、例えば電池又はエネルギーハーベスティング技術によって供給された外部電圧に基づいて、所望の電圧を生成するLDO(Low Drop Out)やスイッチングレギュレータ等の複数のレギュレータ回路を含んで構成される。例えば、電源部2は、各種のLDOやスイッチングレギュレータコントローラ等が公知のCMOS集積回路の製造技術によって1個の単結晶シリコンのような半導体基板に形成された電源ICと、キャパシタやインダクタ等の複数の電子部品とが接続された電子回路によって実現される。電源部2は、夫々のハードウェアリソースに対して、別個に、電源供給の制御が可能にされる。具体的には、電源部2は、夫々のハードウェアリソースに対応して設けられた複数のレギュレータ回路(LDO)20_1〜20_n(nは2以上の整数)を備え、夫々のレギュレータ回路が対応するハードウェアリソースに対する電源の供給や遮断を制御する。
ハードウェアリソースとしてのセンサ部4_1、4_2、及びMCU3は、動作モードとして、通常動作モードと、少なくとも1つのスタンバイモードとを有する。
図3は、各ハードウェアリソースの動作モードを例示する図である。同図の(a)に示されるように、センサ部4_1は、例えば、電源が供給される非スタンバイモード(通常動作モード)と、電源の供給が遮断されるスタンバイモードSTBの2つの動作モードを有する。また、同図の(b)に示されるように、センサ部4_2は、センサ部4_1と同様に、電源が供給される非スタンバイモード(通常動作モード)と、電源の供給が遮断されるスタンバイモードSTBの2つの動作モードを有する。MCU3は、通常動作モードと複数のスタンバイモードを有する。具体的には、図3の(c)に示されるように、MCU3は、非スタンバイモード(通常動作モード)と3つのスタンバイモードSTB1、STB2、及びSTB3を動作モードとして有する。なお、本実施の形態ではMCU3が3つのスタンバイモードを有する場合を例に説明するが、スタンバイモードの数に特に制限はない。スタンバイモードSTB1は、例えばMCU3のクロック周波数を通常動作モードよりも低くする動作モードであり、スタンバイモードSTB2は、例えばMCU3のクロック周波数と電源電圧を通常動作モードよりも低くする動作モードであり、スタンバイモードSTB3は、例えばMCU3の電源供給を遮断する動作モードである。省電力効果は、スタンバイモードSTB1よりもスタンバイモードSTB2の方が大きく、スタンバイモードSTB2よりもスタンバイモードSTB3の方が大きい。
夫々のハードウェアリソースが何れの動作モードで動作するかは、制御部1が各ハードウェアリソースの待機時間とスタンバイモードによる損益分岐時間BETを比較することによって決定される。例えば、図3の(a)に示されるように、センサ部4_1は、待機時間Twが損益分岐時間Tbe4以上である場合に、スタンバイモードに遷移するように制御される。同様にセンサ部4_2は、図3の(b)に示されるように、待機時間Twが損益分岐時間Tbe5以上である場合に、スタンバイモードに遷移するように制御される。更に、MCU3は、図3の(c)に示されるように、待機時間Twが損益分岐時間Tbe1よりも大きい場合にスタンバイモードに遷移するように制御される。この場合において、待機時間Twが損益分岐時間Tbe1より大きく損益分岐時間Tbe2より小さい場合には、MCU3はスタンバイモードSTB1に遷移するように制御され、待機時間Twが損益分岐時間Tbe2より大きく損益分岐時間Tbe3より小さい場合には、MCU3はスタンバイモードSTB2に遷移するように制御される。更に、待機時間Twが損益分岐時間Tbe3より大きい場合には、MCU3はスタンバイモードSTB3に遷移するように制御される。
次に、制御部1について詳細に説明する。
制御部1は、所定のハードウェアリソースを用いて実現されるタスクの実行とハードウェアリソースの動作状態の制御を行う。具体的には、制御部1は、タスクを実行するタイミングを決定するための情報に基づいて、タスクの実行予定時刻のスケジューリングを行う。制御部1は、そのスケジューリングの結果に従って、所定のハードウェアリソースに対する電源の供給を電源部2に指示するとともに当該ハードウェアリソースに対してタスクの実行を指示する。更に、制御部1は、スケジューリングの結果に基づいて、ハードウェアリソースが次のタスクの実行に利用されるまでの待機時間を算出し、算出した待機時間と予め設定された当該ハードウェアリソースのスタンバイモードによる損益分岐時間とを比較することによって、当該ハードウェアリソースをスタンバイモードに遷移させるか否かを、ハードウェアリソース毎に決定する。以下、制御部1による動作内容について具体的に説明する。なお、本実施の形態では、制御部1が電源部2の内部(電源ICの内部)に形成される場合を例に説明する。
図4は、制御部1の内部構成を例示する図である。同図に示されるように、制御部1は、演算制御部(ATC_CNT_UNT)10と、通信部(CMM_UNT)11と、タイマ部(TMR_CNTR)12と、記憶部(MRY_UNT)13〜15と、を含んで構成される。
通信部11は、外部装置と通信を行うための機能部であり、例えば、シリアル通信制御部(SRL_CMM)110と、割り込み通信部(INTC)111とを含む。シリアル通信制御部110は、外部装置とシリアル通信を行うための機能部である。例えば、制御部1は、シリアル通信制御部110を介してMCU3とシリアル通信を行う。割り込み通信部111は、演算制御部10からの割り込み要求に応じてMCU3に対する割り込み信号SINT_Oを生成するとともに、MCU3やその他のハードウェアリソースからの割り込み信号SINT_Iに応じて、演算制御部10に対して外部割り込み要求を発行する。
タイマ部12は、所定のクロック信号(図示せず)をカウントすることにより計時を行うタイマカウンタである。タイマ部12は、例えば演算制御部10によってカウント動作の開始が指示されたらクロック信号のカウント動作を開始する。そして、演算制御部10によって設定された指定値とカウント動作によるカウント値とが一致したら、その旨を演算制御部10に通知する。
演算制御部10は、タスクのスケジューリングやタスクを実行させるためのシーケンス制御、及び各ハードウェアリソースの動作モードの変更等に関する各種の演算処理や統括的な制御を行うための機能部である。演算制御部10は、例えば、専用のハードウェアロジックによって実現されても良いし、CPUやDSP等のプログラム処理装置がプログラムを実行することによって実現されても良く、特に制限されない。演算制御部10による具体的な制御内容については、後述する。
記憶部13〜15は、演算制御部10によるタスクのスケジューリングやシーケンス制御、及び各ハードウェアリソースの動作モードの変更等の制御のための各種の情報を格納する。記憶部13〜15は、例えば、データを記憶するための記憶領域を有するレジスタやメモリによって実現される。
記憶部13は、タスクを実行するタイミングを決定するための情報(以下、「タスク管理情報」と称する。)TMIを格納する。図5にタスク管理情報の一例を示す。同図に示されるように、タスク管理情報TMIは、タスクの実行周期Tc、タスクの実行時間Ton、タスク実行の繰り返し回数Rc、及び使用するハードウェアリソースの情報Rsを含む。夫々の情報は、データ処理装置100で実行可能なタスクの種類毎にまとめられる。タスクの実行周期Tcは、タスクを定期的に実行する周期を示す情報である。タスクの実行時間Tonは、タスクが実行されてから終了するまでに要する時間を示す情報である。タスク実行の繰り返し回数Rcは、周期的に実行するタスクを何回行うかを示す情報である。使用するハードウェアリソースの情報Rsは、そのタスクを実行するのに必要なハードウェアリソースを指示する情報である。本実施の形態では、MCU3をハードウェアリソース番号“0”で表し、センサ部4_1をハードウェアリソース番号“1”で表し、センサ部4_2をハードウェアリソース番号“2”で表す。ここで、例えば、タスクAを“センサ部4_1の検出結果をMCU3に取り込む処理”とし、タスクBを“センサ部4_2の検出結果をMCU3に取り込む処理”とする。この場合、図5のタスク管理情報TMIは、“タスクAはセンサ部4_1とMCU3とを用いて50ms毎に繰り返し実行される処理であって、その処理時間が1msとされる”ことを示し、“タスクBはセンサ部4_2とMCU3とを用いて55ms毎に繰り返し実行される処理であって、その処理時間が2msとされる”ことを示している。これらの情報は、例えばパワーオンリセット解除後の初期化時等において、MCU3とのシリアル通信を介して記憶部13に設定される。
記憶部14は、ハードウェアリソースの情報(以下、「ハードウェア情報」と称する。)HWIを格納する。図6にハードウェア情報の一例を示す。同図に示されるように、ハードウェア情報HWIは、各ハードウェアリソースのスタンバイモード毎の損益分岐時間の情報を含む。前述したように、電源遮断等のスタンバイモードに遷移することによるオーバーヘッドよりもスタンバイモードに遷移することによる消費電力の削減量が大きくなる臨界点の時間を損益分岐時間BETと称する。詳細は後述するが、本実施の形態によるデータ処理装置100では、ハードウェアリソースの待機時間が損益分岐時間BETよりも大きいと判断される場合に、ハードウェアリソースを所定のスタンバイモードに遷移させる制御を行う。
図6に示されるように、MCU3のハードウェア情報として、スタンバイモードSTB1の損益分岐時間Tbe1の情報、スタンバイモードSTB2の損益分岐時間Tbe2の情報、及びスタンバイモードSTB3の損益分岐時間Tbe3の情報が含まれる。また、センサ部4_1のハードウェア情報としてスタンバイモードSTBの損益分岐時間Tbe4の情報が、センサ部4_2のハードウェア情報としてスタンバイモードSTBの損益分岐時間Tbe5の情報が夫々含まれる。これらの情報は、例えばパワーオンリセット解除後の初期化時等において、MCU3とのシリアル通信を介して記憶部14に設定される。なお、同図に示される各損益分岐時間の値はあくまで一例であり、損益分岐時間として種々の値が設定可能である。
記憶部15は、タスクの実行予定及び実行状況を管理するための情報(以下、「キューリスト」と称する。)QUE_LSTが格納される。キューリストQUE_LSTは、タスクの種類毎に生成されたリストを含む。図7に、キューリストの一例を示す。例えば、同図に示されるように、キューリストQUE_LSTは、タスクAのリスト31_0とタスクBのリスト31_1を含む。夫々のリスト31_、31_には、タスクID(TASK ID)、タスクの実行状態(Status)、実行予定時刻(Scheduled time)、及び使用されるハードウェアリソース(Resource[2:0])等の情報が格納される。ここで、タスクIDは、同一種類のタスクの中で、実行すべき順番に応じて付与されるタスクの識別情報である。タスクの実行状態の情報は、タスクIDが付与されたタスクの状態を示すものである。タスクの実行状態の情報について、“Exe”はそのタスクが実行中であることを示し、“Ready”は、そのタスクが“Exe”状態の他のタスクの実行が完了したら続けて実行可能な状態であることを示し、“Wait”はそのタスクが待機中であることを示す。実行予定時刻の情報は、タスクIDが付与されたタスクが実行される予定時刻を示すものである。使用されるハードウェアリソースの情報は、タスクIDが付与されたタスクで必要となるハードウェアリソースを示すものである。特に制限されないが、使用されるハードウェアリソースの情報は、図7に示されるように、各桁が夫々のハードウェアリソースに対応しており、例えば、同図の右端の桁がMCU3を表し、真ん中の桁がセンサ部4_1を表し、左端の桁がセンサ部4_2を表す。桁の値が“1”の場合には、その桁に対応するハードウェアリソースがそのタスクの実行に利用されることを表し、桁の値が“0”の場合には、その桁に対応するハードウェアリソースがそのタスクの実行に利用されないことを示す。例えば、図7のリスト31_0は、タスクA_1、A_2の実行により、MCU3及びセンサ部4_1が使用され、センサ部4_2が使用されないことが示されている。同様に、図7のリスト31_1は、タスクB_1、B_2の実行により、MCU3及びセンサ部4_2が使用され、センサ部4_1が使用されないことが示されている。なお、図7に記された具体的な数値等は、あくまで一例である。
次に、演算制御部10による制御シーケンスについて、図8及び図9を用いて説明する。
図8は、実施の形態1に係るタスクのスケジューリングと動作モードの決定の流れの一例を示す図である。図9は、実施の形態1に係るデータ処理装置におけるキューリストの更新の様子を示す図である。例えば、実施の形態1に係るキューリストは、図8のフローに従って、図9の(a)、図9の(b)、図9の(c)、図9の(d)の順に更新される。
図8において、先ず、電源投入後のパワーオンリセット等の解除後にタスク管理情報TMI及びハードウェア情報HWIが記憶部13、14に初期設定されると、演算制御部10は、タスク管理情報TMIに基づいてキューリストを作成し、キューリストにおける全ての種類のタスクの先頭タスクの実行状態を“Ready”にする(S101)。なお、その他のタスクは、“Wait”状態にされる。ここでは、図9の(a)に示されるキューリストが作成されたとする。
次に、演算制御部10は、“Ready”状態のタスクのうち最も優先度の高いタスクを実行させ、当該タスクの実行状態を“Exe”にする(S102)。本実施の形態では、タスクの優先度は、例えば、タスクの実行周期が短い順に決定されるものとする。ここでは、図9の(a)のキューリストにおけるタスクA_1の実行状態が“Exe”にされ、図9の(b)のようにキューリストが更新されたとする。タスクの実行は、演算制御部10が、キューリストにおいて“使用するハードウェアリソース”の情報で指定されたハードウェアに対する電源の供給を電源部2に指示するとともに、当該ハードウェアリソースに対して起動トリガ(割り込み信号等)を発行することによって実現される。例えば、図9の(b)の場合、演算制御部10は、MCU3とセンサ部4_1に対する電源供給と動作開始の指示を行う。
次に、演算制御部10は、キューリストにおける“Exe”状態のタスクと同一種類のタスクの実行予定時刻を設定する(S103)。具体的には、演算制御部10は、タスク管理情報TMIにおけるタスクの実行周期Tcに基づいて、タスクの実行予定時刻を設定する。例えば、図9の(b)には、実行中のタスクA_1と同一種類のタスクA_2の実行予定時刻として“50ms”が設定された場合が示されている。
次に、演算制御部10は、キューリストにおいて“Ready”状態の他のタスクが存在するか否かを判定する(S104)。“Ready”状態の他のタスクが存在する場合には、演算制御部10は、“Ready”状態のタスクのうち最も優先度の高いタスクを選択し、選択したタスクの実行予定時刻を設定する(S105)。具体的には、演算制御部10は、その時に実行されているタスクの実行予定時刻からそのタスクの実行時間分だけずらした時刻を、選択したタスクの実行予定時刻とする。例えば、図9の(b)には、実行中のタスクA_1の実行開始時刻(0ms)からタスクA_1の実行時間(1ms)だけ経過した時刻“1ms”を“Ready”状態のタスクB_1の実行予定時刻として設定した場合が示されている。一方、ステップS104において、“Ready”状態の他のタスクが存在しない場合には、演算制御部10は、“Wait”状態のタスクのうち最も実行予定時刻の早いタスクを選択し、選択したタスクの実行予定時刻をタイマ部12に設定する(S106)。例えば、図9(c)のように、“Ready”状態の他のタスクがない場合には、“Wait”状態のタスクA_2、B_2のうち実行予定時刻の最も早いタスクA_2の実行予定時刻(50ms)をタイマ部12にセットとする。以上の処理により、タスクがキューリストにスケジューリングされる。
次に、演算制御部10は、スケジューリング結果に基づいて、各ハードウェアリソースの待機時間の算出を行う。先ず、演算制御部10は、現在実行中のタスク(“Exe”状態のタスク)で使用されているハードウェアリソースの何れか一つを選択し、選択されたハードウェアリソースを利用する次のタスクを探索する(S107)。具体的には、現在実行中のタスクと同一種類のタスクの中で最も実行予定時刻の早いタスク、又は現在実行中のタスクと異なる種類のタスクの中で最も実行予定時刻の早いタスクが選択される。次に、演算制御部10は、ハードウェアリソースの待機時間を算出する(S108)。具体的には、現在実行されているタスクの実行予定時刻に当該タスクの実行時間を加算することで、現在実行されているタスクの終了予定時刻を算出する。次に、算出した終了予定時刻と、ステップS107で選択されたタスクの実行予定時刻との差分を算出し、算出した差時間をステップS107で選択したハードウェアリソースの待機時間とする。演算制御部10は、ステップS108で算出した所定のハードウェアリソースの待機時間と、当該ハードウェアリソースの各スタンバイモードに係る損益分岐時間BETとを比較し、次に遷移させるべき動作モードを決定する(S109)。演算制御部10は、全てのハードウェアリソースの動作モードが決定するまで、上記S107〜S109の処理を繰り返す。
演算制御部10は、“Exe”状態のタスクの実行が終了したら、各ハードウェアリソースに対して、ステップS109で決定した動作モードに遷移させる(S110)。具体的には、所定のハードウェアリソースをスタンバイモードに遷移させる場合、演算制御部10は、当該ハードウェアに対する電源遮断や電源電圧の低下等を電源部2に指示するとともに、当該ハードウェアリソースに対して割り込み信号等を発行してスタンバイモードに移行することを通知する。その後、演算制御部10は、キューリストを参照し、他に“Ready”状態のタスクがあるか否かを判断する(S111)。他に“Ready”状態のタスクがある場合には、ステップS102に戻り、上記の処理を繰り返し実行する(S102〜S110)。他に“Ready”状態のタスクがない場合には、演算処理部10は、起動時刻をタイマ部12にセットし、待機状態に入る(S112)。例えば、図9の(d)のように、全てのタスクが“Wait”状態となったら、次のタスクの実行予定時刻(例えば、タスクA_2の実行予定時刻50ms)になるまで、演算処理部10は待機状態となる。その後、ステップS112で設定した起動時刻になったら、演算処理部10はタイマ部12からの通知に応じて待機状態から復帰し、ステップS102から処理を再開する。
ここで、上記ステップS107〜S109による各ハードウェアリソースの待機時間の算出と動作モードの決定に係る処理について、図9の(b)、(c)を用いて具体的に説明する。
図9の(b)のスケジューリング結果における各ハードウェアリソースの動作モードの決定手順は以下である。図9の(b)に示されるように、実行中のタスクA_1で使用されているハードウェアリソースは、センサ部4_1とMCU3である。センサ部4_1は、タスクA_2でのみ使用が予定されていることから、演算処理部10は、ステップS107において、センサ部4_1の使用を予定している次のタスクとして“タスクA_2”を選択する。一方、MCU3は、タスクA_2とタスクB_1で使用が予定されており、タスクA_2よりもタスクB_1の方が実行予定時刻が早いことから、演算処理部10は、ステップS107において、MCU3の使用を予定している次のタスクとして“タスクB_1”を選択する。次に、演算制御部10は、ステップS108において、センサ部4_1とMCU3の待機時間を夫々算出する。センサ部4_1の待機時間を算出する場合、演算制御部10が、現在実行中のタスクA_1の実行予定時刻(0ms)とタスクA_1の実行時間(1ms)とを加算することで、タスクA_1の終了予定時刻(1ms)を算出する。そして、演算制御部10は、算出したタスクA_1の終了予定時刻(1ms)と、ステップS107で選択したタスクA_2の実行予定時刻(50ms)との差(49ms)を算出し、その差をセンサ部4_1の待機時間(49ms)とする。また、MCU3の待機時間を算出する場合、演算制御部10は、先ほど算出したタスクA_1の終了予定時刻(1ms)と、ステップS107で選択したタスクB_1の実行予定時刻(1ms)との差(0ms)を算出し、その差をセンサ部4_1の待機時間(0ms)とする。次に、演算制御部10は、ステップS108において、算出した待機時間と損益分岐時間とを比較する。この場合、センサ部4_1の待機時間(49ms)が損益分岐時間Tbe4(10ms)より大きいので、演算制御部10は、タスクA_1の終了後にセンサ部4_1をスタンバイモードに遷移させることを決定する。一方、MCU3の待機時間(0ms)であり、MCU3はタスクA_1の後に連続してタスクB_1で使用されるため、演算制御部10は、MCU3をスタンバイモードに遷移させず、通常動作モードでの動作を継続させることを決定する。
図9の(c)のスケジューリング結果における各ハードウェアリソースの動作モードの決定手順は以下である。図9の(c)に示されるように、実行中のタスクB_1で使用されているハードウェアリソースは、センサ部4_2とMCU3である。センサ部4_2は、タスクB_2でのみ使用が予定されていることから、演算処理部10は、ステップS107において、センサ部4_2の使用を予定している次のタスクとして“タスクB_2”を選択する。一方、MCU3は、タスクA_2とタスクB_2で使用が予定されており、タスクB_2よりもタスクA_2の方が実行予定時刻が早いことから、演算処理部10は、ステップS107において、MCU3の使用を予定している次のタスクとして“タスクA_2”を選択する。次に、演算制御部10は、ステップS108において、センサ部4_2とMCU3の待機時間を夫々算出する。センサ部4_2の待機時間を算出する場合、演算制御部10が、現在実行中のタスクB_1の実行予定時刻(1ms)とタスクB_1の実行時間(2ms)とを加算することで、タスクB_1の終了予定時刻(3ms)を算出する。そして、演算制御部10は、算出したタスクB_1の終了予定時刻(3ms)と、ステップS107で選択したタスクB_2の実行予定時刻(56ms)との差(53ms)を算出し、その差をセンサ部4_2の待機時間(53ms)とする。また、MCU3の待機時間を算出する場合、演算制御部10は、先ほど算出したタスクB_1の終了予定時刻(3ms)と、ステップS107で選択したタスクA_2の実行予定時刻(50ms)との差(47ms)を算出し、その差をMCU3の待機時間(47ms)とする。次に、演算制御部10は、算出した待機時間と損益分岐時間とを比較する。この場合、センサ部4_2の待機時間(53ms)が損益分岐時間Tbe5(10ms)より大きいので、演算制御部10は、タスクB_1の終了後にセンサ部4_2をスタンバイモードに遷移させることを決定する。一方、MCU3の待機時間(47ms)が損益分岐時間Tbe3(29ms)より大きいので、演算制御部10は、タスクB_1の終了後にMCU3をスタンバイモードSTB3(電源遮断)に遷移させることを決定する。
以上の手順で各ハードウェアリソースの待機時間が算出され、各ハードウェアリソースの動作モードが決定される。
次に、制御部10とMUC3との間の通信について説明する。
MCU3は、演算制御部10の内部に設けられたタスク/モードレジスタ(TASK/MODE_REG)16を参照することにより、次に実行すべきタスクの種類や次に遷移すべき動作モード等を把握する。タスク/モードレジスタ16を利用した制御部10とMUC3との間の通信手順について、図10を用いて具体的に説明する。
図10は、MCU3の動作モードを変更するときの制御部10とMCU3間の通信の流れを示す図である。なお、同図に記されたステップ番号は、前述した図8のフロー図のステップ番号に対応する。
先ず、ステップS101において、演算制御部10は、キューリストにおける全ての先頭タスクの実行状態を“Ready”にした後、実行させるタスクを示す値をタスク/モードレジスタ16に設定する。ここでは、タスクA_1が実行されるものとし、タスク/モードレジスタ16にはタスクA_1を示す値が設定される。
演算制御部10は、ステップS102において、実行させるタスクで使用されるMCU3及びセンサ部4_1に対する電源供給開始を電源部2に指示するとともに、MCU3に対して割り込み信号SINT_Oを発行してタスクの実行を指示する。MCU3は、電源部2からの電源供給と割り込み信号SINT_Oに応じて待機状態から復帰すると、先ず、タスク/モードレジスタ16に設定された情報を読み出す。そして、MCU3は、タスク/モードレジスタ16で指示されたタスクA_1を実行する。この間、演算制御部10は、上述したステップS103〜S110の処理を行うことで、タスクのスケジューリングと各ハードウェアリソースの待機時間に基づく動作モードの決定を行う。ここでは、MCU3の次に遷移すべき動作モードとしてスタンバイモードSTB2が選択されたとする。
タスクの実行が完了すると、MCU3が演算制御部10に対して割り込み信号SINT_Iを発行する。割り込み信号SINT_Iを受けた演算制御部10は、タスク/モードレジスタ16にスタンバイモードSTB2を指示する値を設定する。そして、演算制御部10は、MCU3に対して割り込み信号SINT_Oを発行することでMCU3の動作モードが変更されることを通知する。割り込み信号SINT_Oを受けたMCU3は、シリアル通信により、タスク/モードレジスタ16の値を読み出す。そして、MCU3はスタンバイモードSTB2に遷移する前に、必要に応じて、各種のレジスタに設定されたデータ等を不揮発性のメモリ等に退避させる等の準備処理を行う。MCU3は、上記準備処理が完了したら、演算制御部10に対して割り込み信号SINC_Iを発行する。割り込み信号SINC_Iを受けた演算制御部10は、ステップS110において、電源部2に対し、MCUの電源供給状態を変化させることを指示する。これにより、MCU3は、スタンバイモードSTB2で動作する。
図11に、実施の形態1に係るデータ処理装置におけるタスクのスケジューリング結果とMCU3の動作モードの遷移状態の一例を示す。前述したように、タスクAの実行周期Tcは50ms、実行時間Tonは1msであり、タスクBの実行周期Tcは55ms、実行時間Tonは1msである。また、前述したように、MCU3はタスクAとタスクBの双方で使用される。なお、同図において、“1”はスタンバイモードSTB1を表し、“2”はスタンバイモードSTB2を表し、“3”はスタンバイモードSTB3を表し、斜線部は通常動作モード(非スタンバイモード)を表す。
同図に示されるように、タスクB_1の実行が完了してからタスクA_2が実行されるまでの期間におけるMCU3の待機時間は“47ms”であり、MCU3のスタンバイモードSTB3の損益分岐時間Tbe3(29ms)よりも大きい。そのため、当該期間において、MCU3はスタンバイモードSTB3に遷移し、電源供給が遮断される。また、タスクA_2の実行が完了してからタスクB_2が実行されるまで期間におけるMCU3の待機時間は“5ms”であり、MCU3のスタンバイモードSTB1の損益分岐時間Tbe1(2ms)より大きいが、スタンバイモードSTB2の損益分岐時間Tbe2(11ms)よりも小さい。そのため、当該期間において、MCU3は、スタンバイモードSTB1に遷移する。このように、MCU3の待機時間に応じて最適なスタンバイモードが動的に選択される。
以上、実施の形態1に係るデータ処理装置によれば、十分な消費電力の削減効果が得られるように、夫々のハードウェアリソースの待機時間とスタンバイモードによる損益分岐時間BETとを比較することで、ハードウェアリソース毎に最適なスタンバイモードを決定するから、データ処理装置の消費電力を削減することができる。特に、複数のスタンバイモードを有するデバイス(マイクロコントローラ等)を含むデータ処理装置の消費電力を効果的に削減する手法として、特に有効である。また、本データ処理装置によれば、従来のように、ハードウェアリソースが動作不要な状態になったことを条件としてスタンバイモードに移行させるような単純な制御手法に比べて、データ処理装置全体の消費電力を効果的に削減することができる。また、タスク管理情報TMIを用いることで、タスクのスケジューリングが容易となるとともに、ハードウェアリソースの待機時間を容易に算出することが可能となる。
≪実施の形態2≫
実施の形態2に係るデータ処理装置は、実施の形態1に係るデータ処理装置の機能に加え、ハードウェアリソースの待機時間が長くなるように、一旦スケジューリングされたタスクの実行予定時刻を変更(リスケジュール)する機能を備える。
実施の形態2に係るデータ処理装置は、実施の形態1に係るデータ処理装置10と主なハードウェア構成は同様であり、記憶部13に格納されるタスク管理情報及び記憶部15に格納されるキューリストのデータ構造が相異する。
図12は、実施の形態2に係るタスク管理情報の一例を示す図である。同図に示されるタスク管理情報TMIAは、実施の形態1に係るタスク管理情報TMIに加えて、猶予時間Texの情報を更に含む。猶予時間Texとは、タスクを実行すべき周期に対してずらすことが可能な時間を示す情報である。例えば、図12に示されるように、タスクAの実行周期Tcが50ms、猶予時間TexがTc/4(12.5ms)である場合、時刻0msにおいて実行されたタスクA_1の次に実行されるタスクA_2の実行予定時刻を、“50ms+12.5ms”の範囲内に設定することができる。
図13は、実施の形態2に係るキューリストの一例を示す図である。同図に示されるキューリストQUE_LSTAは、実施の形態1に係るキューリストQUE_LSTと同様に、タスクの種類毎にリスト32_0、32_1が作成される。キューリストQUE_LSTAは、夫々のリスト32_0、32_1には、実施の形態1に係るリスト31_0、31_1の情報に加えて、“変更後の実行予定時刻(Rescheduled time)”を示す情報が含まれる。スケジューリングされた実行予定時刻(Scheduled time)が変更された場合に、変更後の実行予定時刻の情報がキューリストに書き込まれる。
図14は、実施の形態2に係るタスクのスケジューリングと動作モードの決定の流れの一例を示す図である。図15は、実施の形態2に係るデータ処理装置におけるキューリストの更新の様子を示す図である。例えば、実施の形態2に係るキューリストは、図14のフローに従って、図15の(a)、図15の(b)、図15の(c)、図15の(d)の順に更新される。
図14に示されるフロー図は、ステップS106の処理の代わりにステップS201〜S203の処理を含む点で図8のフロー図と相異する。なお、図8のフロー図と同一の処理ステップについては、同一の符号を付して、その詳細な説明を省略する。
先ず、電源投入後のパワーオンリセット等の解除後にタスク管理情報TMIA及びハードウェア情報HWIが記憶部13、14に初期設定されると、演算制御部10は、タスク管理情報TMIAに基づいてキューリストを作成し、キューリストにおける全ての種類のタスクの先頭タスクの実行状態を“Ready”にする(S101)。なお、その他のタスクは、“Wait”状態にされる。ここでは、図15の(a)に示されるキューリストが作成されたとする。
次に、演算制御部10は、“Ready”状態のタスクのうち最も優先度の高いタスクを実行させるとともに当該タスクの実行状態を“Exe”にする(S102)。そして、演算制御部10は、キューリストにおける“Exe”状態のタスクと同一種類のタスクの実行予定時刻を設定する(S103)。ここでは、図15の(a)のキューリストにおけるタスクA_1の実行状態が“Exe”にされ、図15の(b)のように、実行中のタスクA_1と同一種類のタスクA_2の実行予定時刻として“50ms”が設定されたとする。
次に、演算制御部10は、キューリストにおいて“Ready”状態の他のタスクが存在するか否かを判定する(S104)。“Ready”状態の他のタスクが存在する場合には、演算制御部10は、“Ready”状態のタスクのうち最も優先度の高いタスクを選択し、選択したタスクの実行予定時刻を設定する(S105)。例えば、図15の(b)には、実行中のタスクA_1の実行開始時刻(0ms)からタスクA_1の実行時間(1ms)だけ経過した時刻“1ms”を“Ready”状態のタスクB_1の実行予定時刻として設定した場合が示されている。その後の処理も、前述の図8のフロー図と同様の手順で進められる(S107〜S112)。
一方、ステップS104において、“Ready”状態の他のタスクが存在しない場合、演算制御部10は、“Wait”状態のタスクのうち最も実行予定時刻の早いタスクを選択する(S201)。そして、演算制御部10は、ステップS201で選択したタスクの実行開始予定時刻を基点とした猶予時間Texの範囲内に、実行が予定されている別のタスクがあるか否かを判別する(S202)。猶予時間Texの範囲内に実行予定の別のタスクがスケジューリングされている場合には、ステップS201で選択した“Wait”状態のタスクと前記別のタスクとの時間間隔が短くなるように、ステップS201で選択した“Wait”状態のタスクの実行予定時刻を変更する(S203)。なお、“Wait”状態のタスクが複数ある場合には、ステップS202、S203を繰り返し実行し、できる限りまとめてタスクを実行できるよう再調整する。一方、猶予時間Texの範囲内に実行が予定されている別のタスクが存在しない場合、又はステップS202で実行予定時刻の変更が完了した場合には、ステップS107に移行し、実施の形態1と同様の処理手順で各ハードウェアリソースの動作モードが決定される(S107〜S112)。
ここで、上記ステップS201〜S203によるタスクの実行予定時刻の変更に係る処理について、図15の(c)を用いて具体的に説明する。
図15の(c)のスケジューリング結果におけるタスクの実行予定時刻の変更の手順は以下である。図15の(c)に示されるように、“Wait”状態のタスクは、タスクA_2、タスクB_2、及びタスクA_3であり、夫々の実行開始予定時刻は、“50ms”、“56ms”、及び“未定”である。ステップS201において、演算処理部10は、“Wait”状態のタスクA_2、A_3、B_2のうち最も実行予定時刻の早い“タスクA_2”を選択する。次に、演算処理部10は、ステップ202において、選択されたタスクA_2の実行開始予定時刻から猶予時間Texの範囲内に、実行が予定されている別のタスクがあるか否かを判断する。具体的には、演算処理部10は、選択されたタスクA_2の実行予定時刻(50ms)にタスクAの猶予時間Tex(Tc/4=12.5ms)を加算した時刻(62.5ms)までに、別のタスクがあるか否かを判断する。図15の(c)の場合、時刻62.5msまでの間にタスクB_2(実行予定時刻56ms)の実行が予定されているため、演算制御部10は、猶予時間内に別のタスクがあると判断する。次に、演算処理部10は、タスクA_2とタスクB_2との時間間隔が短くなるようにタスクA_2の実行予定時刻を変更する。具体的には、タスクA_2とタスクB_2が連続して実行されるようにタスクA_2の実行予定時刻を変更する。例えば、図15の(c)に示されるように、タスクB_2の実行予定時刻が“56ms”であり、タスクA_2の実行時間が“1ms”であることから、タスクA_2とタスクB_2が連続実行されるように、タスクA_2の実行予定時刻を“50ms”から“55ms”に変更する。これにより、実行中のタスクB_1の終了予定時刻からタスクA_2の実行予定時刻までの時間間隔が長くなる。
図16に、実施の形態2に係るタスクのスケジューリング結果とMCU3の動作モードの遷移状態の一例を示す。前述したように、タスクAの実行周期Tcは50ms、実行時間Tonは1ms、猶予時間TexはTc/4(=12.5ms)であり、タスクBの実行周期Tcは55ms、実行時間Tonは1ms、猶予時間TexはTc/2(=27.5ms)である。また、前述したように、MCU3はタスクAとタスクBの双方で使用される。なお、同図において、“1”はスタンバイモードSTB1を表し、“2”はスタンバイモードSTB2を表し、“3”はスタンバイモードSTB3を表し、斜線部は通常動作モード(非スタンバイモード)を表す。
図16に示されるように、前述した制御部1によるスケジューリングの変更により、タスクB_1の実行中にタスクA_2の実行予定時刻が“50ms”から“55ms”に変更される。これにより、タスクB_1が完了してからタスクA_2が実行されるまでのMCU3の待機時間が、“47ms”(図11参照)から52msに増加する。すなわち、MCU3の電源が遮断される期間(スタンバイモードSTB3で動作する期間)が長くなる。同様に、タスクA_3の実行予定時刻が変更されることにより、タスクB_2が完了してからタスクA_3が実行されるまでのMCU3の待機時間が“42ms”(図11参照)から“52ms”に増加し、MCU3の電源が遮断される期間が長くなる。更に、タスクA_5以降では、同様の原理でタスクB_5の実行予定時刻が変更されることにより、タスクA_5が完了してからタスクB_5が実行されるまでの待機時間が“20ms”(図11参照)から“47ms”に増加し、MCU3の電源が遮断される期間が長くなる。
このように、実施の形態2に係るデータ処理装置によれば、タスクとタスクの実行間隔が短くなるようにスケジューリング結果が見直されるから、ハードウェアリソースの待機時間をより長くすることができる。これにより、各ハードウェアリソースをスタンバイ状態にしておくことができる期間が長くなるので、データ処理装置の消費電力を更に削減することができる。特に、本実施の形態のように、電源を遮断するスタンバイモードと電源を遮断しないスタンバイモードを有するデバイス(マイコン等)を含むデータ処理装置の場合、待機時間が長くなることで電源が遮断されるスタンバイモードに遷移する確率が高くなるので、更なる電力の削減が期待できる。
≪実施の形態3≫
実施の形態3に係るデータ処理装置は、実施の形態1に係るデータ処理装置の機能に加え、スタンバイモードに応じて電源部2のレギュレータ回路の回路電流を変更する機能を備える。
図17は、実施の形態3に係るデータ処理装置におけるレギュレータ回路20_nの内部構成を例示する図である。同図に示されるように、各ハードウェアリソースに電源を供給するレギュレータ回路20_nは、差動増幅器DAMPと、出力ドライバとしてのMOSトランジスタPDとを含んで構成される。差動増幅器DAMPが出力電圧VIN_nが一定になるようにMOSトランジスタPDのゲート電圧を制御することで、安定した電源電圧がハードウェアリソースに供給される。
図18は、レギュレータ回路における差動増幅器DAMPの差動増幅段の回路構成を例示する図である。同図に示されるように、実施の形態3に係るデータ処理装置では、差動増幅器DAMPの差動増幅段のバイアス電流(例えばテイル電流)IBSが、電源供給先のハードウェアリソースの動作モードに応じて可変にされる。例えば、MCU3に電源電圧を供給するレギュレータ回路20_nの場合、MCU3がスタンバイモードで動作する場合には、バイアス電流IBSが通常動作モード時よりも小さくされる。例えば、MCU3が第1、第2スタンバイモードSTB1、STB2(電源供給あり)に遷移する場合には、バイアス電流IBSを通常動作モード時よりも小さくする。スタンバイモードSTB1、STB2では、通常動作モード時よりも高い電流のソース能力が要求されないことから、差動増幅器DAMPのバイアス電流を減らしてレギュレータ回路の応答性を下げたとしても、十分に対応することができる。一方、MCU3がスタンバイモードSTB3(電源遮断)に遷移する場合には、バイアス電流IBSを“0(ゼロ)”にして、レギュレータ回路20_nの差動増幅器DAMPの回路電流を遮断する。なお、センサ部4_1、4_2に電源を供給するレギュレータ回路20_1、20_2についても同様に、センサ部4_1の動作モードに応じてバイアス電流IBSが変更される。
以上のように、ハードウェアリソースの動作モードに応じて電源部2のレギュレータ回路の回路電流を変化させることにより、レギュレータ回路に要求される応答性を担保しつつ、データ処理装置の消費電流を更に削減することが可能となる。
≪実施の形態4≫
実施の形態4に係るデータ処理装置は、実施の形態1に係るデータ処理装置の機能に加え、温度に応じて損益分岐時間BETを変更する機能を備える。具体的には、制御部1がハードウェア情報HWIを複数有し、外部から入力された温度情報に基づいて何れかのハードウェア情報を選択し、選択したハードウェア情報の損益分岐時間を用いて各ハードウェアリソースの動作モードを決定する。
図19に、実施の形態4に係るデータ処理装置を例示する。同図に示されるデータ処理装置は、MCU3の内部に温度センサを有する。制御部1は、温度センサによって検出された温度情報を入力する。なお、本実施の形態では温度センサをMCU3の内部に設けた場合を例示しているが、データ処理装置100の内部であれば、温度センサの設置場所は特に限定されない。
図20は、実施の形態4に係るハードウェア情報を例示する図である。同図に示されるように、制御部1の記憶部14には、複数のハードウェア情報HWI_TM、HWI_TH、HWI_TLが格納される。夫々のハードウェア情報は温度に対応して設けられる。例えば、温度範囲が−40度から0度に対応するハードウェア情報HWI_TL、温度範囲が0度から40度に対応するハードウェア情報HWI_TM、温度範囲が40度から80度に対応するハードウェア情報HWI_TH等のように、温度範囲に対応したハードウェア情報が記憶部14に格納される。例えば、制御部1は、温度センサ5による温度情報を定期的に受信し、当該温度情報に基づいて、記憶部14に格納されたハードウェア情報の何れかを選択する。例えば、温度センサ5によるセンス結果が“25度”であった場合、制御部1は温度範囲が0度から40度に対応するハードウェア情報HWI_TMの損益分岐時間の情報を利用して、前述した待機時間Twとの比較を行い、各ハードウェアリソースの動作モードを決定する。なお、その他の制御内容については、実施の形態1と同様である。
前述したように、一般に、スタンバイモードによる損益分岐時間BETは温度によって変化することが知られている。そこで、実施の形態4に係るデータ処理装置のように温度に応じて損益分岐時間を変更することで、より正確に最適なスタンバイモードを選択することができ、温度によらず、データ処理装置の消費電力を効果的に削減することが可能となる。
≪実施の形態5≫
実施の形態5に係るデータ処理装置は、実施の形態1に係るデータ処理装置の機能に加えて、タスクの実行結果に基づいてタスクの実行周期を変更する機能を備える。
例えば、“センサ部4_1の検出結果をMCU3に取り込む処理”である“タスクA”を、50ms毎に、データ処理装置100が実行する場合を考える。この場合、MCU3は、50ms毎にセンサ部4_1の検出結果を受信する。MCU3は、タスクA_nで受信したセンサ部4_1の検出結果と、タスクA_nより以前に実行されたタスク(例えば、直前のタスクA_n−1)によるセンサ部4_1の検出結果とを比較し、センサ部4_1の検出結果がどの程度変化したかを計算する。センサ部4_1の検出結果の変化量が所定の閾値を超えない場合には、MCU3は、タスクAの実行周期が長くなるように、タスクAの実行周期Tcの値を更新する。具体的には、MCU3は、制御部1の記憶部13にアクセスし、そこに格納されたタスク管理情報TMIにおけるタスクAの実行周期Tcを初期値の“50ms”よりも大きい値(例えば“60ms”)に変更する。
これによれば、定期的なタスクの実行によって得られる結果(データ)があまり変化しない場合には、タスクの実行周期が長くなるようにタスクの実行スケジュールが見直されるので、そのタスクで使用されるハードウェアリソース(上記の例の場合、MCU3及びセンサ部4_1)の待機時間を長くすることができる。
以上のように、実施の形態5に係るデータ処理装置によれば、タスクの実行周期を見直すことで、ハードウェアリソースの待機時間を長くすることができるので、更なる電力の削減が期待できる。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、実施の形態3乃至5のデータ処理装置の構成及び機能を、実施の形態1に係るデータ処理装置に適用する場合を例示したが、上記の機能及び構成を実施の形態2に係るデータ処理装置に適用することも可能である。
データ処理装置100がセンサシステムである場合を例示したが、これに限られず、例えばバッテリ駆動される携帯端末等のその他のシステムにも適用することができる。
また、前述したように、制御部1の設置場所は電源ICの内部に限られないが、制御部1は他のハードウェアリソースがスタンバイ状態である場合であっても起動している必要があることから、システムの仕様上、電源の遮断が行われる機会の少ない電源ICやリアルタイムクロック(RTC)IC等の内部に制御部1を形成することが好ましいが、MCU3の内部に設けることも、制御部1だけで単独のICとして形成することも可能である。
また、複数のスタンバイモード(STB1、STB2、STB3)を有するデバイスとして、MCU3を例示したが、これに限られず、複数のスタンバイモードを有するデバイスあれば、DSPやメモリモジュール、アナログIC等であっても良い。
また、電源部2におけるレギュレータ回路20_1〜20_nがLDOである場合を例示したが、ハードウェアリソースに供給すべき電圧値の変更やハードウェアリソースに対する電源電圧の遮断等の制御ができる構成であれば、LDOに限られず、スイッチングレギュレータやチャージポンプ電源等の別の電源回路であっても良い。
100 データ処理装置
1 制御部
2 電源部
20_1〜20_n レギュレータ回路
VIN_1〜VIN_n 各ハードウェアリソースに供給される電源電圧
3 マイクロコントローラ(MCU)
4_1、4_2 センサ部
40_1、40_2 センサ装置
41_1、41_2 増幅器
5 温度センサ
10 演算制御部
11 通信部
12 タイマ部
13〜15 記憶部
16 タスク/モードレジスタ
TMI、TMIA タスク管理情報
HWI、HWI_TL、HWI_TM、HWI_TH ハードウェア情報
QUE_LST、QUE_LSTA キューリスト
リスト31_0、31_1、32_0、32_1
DAMP 差動増幅器
PD MOSトランジスタ
IBS 差動増幅器のバイアス電流

Claims (17)

  1. 少なくとも1つのスタンバイモードを有する複数のハードウェアリソースと、
    所定の前記ハードウェアリソースを用いて実現されるタスクの実行と前記ハードウェアリソースの動作状態の制御を行うための制御部と、
    前記制御部からの指示に応じて、各ハードウェアリソースに対する電源の供給を制御する電源部と、を有し、
    前記制御部は、前記タスクを実行するタイミングを決定するための情報に基づいて前記タスクの実行予定時刻のスケジューリングを行うとともに、前記スケジューリングの結果に基づいて前記ハードウェアリソースが次の前記タスクの実行に利用されるまでの待機時間を算出し、算出した前記待機時間と予め設定された当該ハードウェアリソースの前記スタンバイモードによる損益分岐時間とを比較することによって、当該ハードウェアリソースをスタンバイモードに遷移させるか否かを、前記ハードウェアリソース毎に決定し、
    前記タスクを実行するタイミングを決定するための情報は、前記タスクを実行する周期を示す情報と、前記タスクの実行時間を示す情報と、前記タスクの実行に用いられる前記ハードウェアリソースを指示する情報であるリソース情報と、を含み、
    前記制御部は、前記タスクを実行する周期に基づいてタスクの実行予定時刻をスケジューリングするとともに、前記リソース情報で指示された所定のハードウェアリソースを使用する所定のタスクの実行完了時刻と前記所定のハードウェアリソースを使用し前記所定のタスクの次に実行されるタスクの実行予定時刻との差分に基づいて前記所定のハードウェアリソースの前記待機時間を算出し、
    前記実行完了時刻は、前記所定のハードウェアリソースを使用するタスクの実行開始時刻に前記タスクの実行時間を加算することで算出され、
    前記複数のハードウェアリソースとして、電源の供給が遮断されない第1スタンバイモードと電源の供給が遮断される第2スタンバイモードとを有するデバイスを含み、
    前記デバイスの前記損益分岐時間として、前記第1スタンバイモードによる第1損益分岐時間と前記第2スタンバイモードによる第2損益分岐時間とを含み、前記第2損益分岐時間は、前記第1損益分岐時間よりも大きくされ、
    前記制御部は、前記デバイスをスタンバイモードに遷移させるとき、前記算出した前記デバイスの待機時間が前記第1損益分岐時間より大きく前記第2損益分岐時間より小さい場合に、前記デバイスを前記第1スタンバイモードに遷移させ、前記算出した前記デバイスの待機時間が前記第2損益分岐時間より大きい場合に、前記デバイスを前記第2スタンバイモードに遷移させる、データ処理装置。
  2. 請求項1において、
    前記デバイスは、マイクロコントローラである、データ処理装置。
  3. 請求項1において、
    前記制御部は、前記スケジューリングされた所要のタスクの実行開始予定時刻と、その次に実行予定のタスクの実行開始予定時刻との時間間隔が短くなるように、前記所要のタスクの実行予定時刻を所定の時間範囲内で変更可能にされる、データ処理装置。
  4. 請求項3において、
    前記タスクを実行するタイミングを決定するための情報は、前記タスクを実行すべき周期に対してずらすことが可能な時間を示す猶予時間の情報を、更に含み、
    前記制御部は、スケジューリングされた前記所要のタスクの実行開始予定時刻を基点として前記猶予時間の範囲内に前記その次に実行予定のタスクの実行がスケジューリングされている場合に、前記所要のタスクに連続して前記その次に実行予定のタスクが実行されるように、前記所要のタスクの実行予定時刻を変更する、データ処理装置。
  5. 請求項1において、
    前記スタンバイモードによる損益分岐時間が温度情報に対応して複数設定され、
    前記制御部は、入力された温度情報に基づいて何れか一つの前記損益分岐時間を選択し、選択した前記損益分岐時間を用いて、前記ハードウェアリソースをスタンバイモードに遷移させるか否かの決定を行う、データ処理装置。
  6. 請求項1において、
    前記電源部は、前記ハードウェアリソースに電源電圧を供給するためのレギュレータ回路を夫々のハードウェアリソースに対応させて複数有し、
    前記制御部は、前記ハードウェアリソースをスタンバイモードに遷移させるとき、当該ハードウェアリソースに対応する前記レギュレータ回路の回路電流が小さくなるように制御する、データ処理装置。
  7. 請求項6において、
    前記制御部は、前記デバイスを前記第2スタンバイモードに遷移させる場合に、前記デバイスに対応する前記レギュレータ回路の動作電流を遮断するように制御し、前記デバイスを前記第1スタンバイモードに遷移させる場合に、前記デバイスに対応する前記レギュレータ回路の動作電流が通常時よりも小さくなるように制御する、データ処理装置。
  8. 請求項2において、
    前記タスクとして、前記マイクロコントローラが外部から周期的にデータを受信する第1タスクを含み、
    前記マイクロコントローラは、前記第1タスクの実行によって所要のタイミングで受信したデータとそれ以前のタイミングで受信したデータとの変化量を算出し、その変化量が所定の閾値を超えない場合に、前記第1タスクの実行周期が長くなるように、前記タスクを実行するタイミングを決定するための情報を更新する、データ処理装置。
  9. 少なくとも1つのスタンバイモードを有する複数のハードウェアリソースと、
    所定の前記ハードウェアリソースを用いて実現されるタスクの実行と前記ハードウェアリソースの動作状態の制御を行うための制御部と、
    前記制御部からの指示に応じて、各ハードウェアリソースに対する電源の供給を制御する電源部と、を有し、
    前記制御部は、前記タスクを実行するタイミングを決定するための情報に基づいて前記タスクの実行予定時刻のスケジューリングを行うとともに、前記スケジューリングの結果に基づいて、所定の前記ハードウェアリソースに対する電源の供給と当該ハードウェアリソースに対する前記タスクの実行を指示し、
    前記制御部は、前記タスクを実行するタイミングを決定するための情報に基づいて前記タスクの実行予定時刻のスケジューリングを行うとともに、前記スケジューリングの結果に基づいて前記ハードウェアリソースが次の前記タスクの実行に利用されるまでの待機時間を算出し、算出した前記待機時間と予め設定された当該ハードウェアリソースの前記スタンバイモードによる損益分岐時間とを比較することによって、当該ハードウェアリソースを通常動作よりも消費電力が低いスタンバイモードに遷移させるか否かを、前記ハードウェアリソース毎に決定し、
    前記制御部は、前記スケジューリングされた、所要のタスクの実行開始予定時刻と、その次に実行予定のタスクの実行開始予定時刻との時間間隔が短くなるように、前記所要のタスクの実行予定時刻を所定の時間範囲内で変更可能にされる、データ処理装置。
  10. 請求項9において、
    前記タスクを実行するタイミングを決定するための情報は、前記タスクを実行する周期と、前記タスクの実行時間と、前記タスクの実行に用いられる前記ハードウェアリソースを指示するリソース情報と、前記タスクを実行すべき周期に対してずらすことが可能な時間を示す猶予時間とを、含み、
    前記制御部は、前記タスクを実行する周期に基づいてタスクの実行予定時刻をスケジューリングするとともに、前記スケジューリングされた所定のタスクの実行開始予定時刻を基点として、前記猶予時間の範囲内に別のタスクの実行がスケジューリングされている場合に、前記所定のタスクに連続して前記別のタスクが実行されるように、前記所定のタスクの実行予定時刻を変更する、データ処理装置。
  11. 請求項10において、
    前記制御部は、前記スケジューリングの結果に基づいて前記ハードウェアリソースが次の前記タスクの実行に利用されるまでの待機時間を算出するとともに、算出した前記待機時間と予め設定された当該ハードウェアリソースの前記スタンバイモードによる損益分岐時間とを比較することによって、当該ハードウェアリソースをスタンバイモードに遷移させるか否かを、前記ハードウェアリソース毎に決定する、データ処理装置。
  12. 請求項11において、
    前記制御部は、前記リソース情報で指示された所定のハードウェアリソースを使用する所定のタスクの実行完了時刻と前記所定のハードウェアリソースを使用し前記所定のタスクの次に実行されるタスクの実行予定時刻との差分に基づいて前記所定のハードウェアリソースの前記待機時間を算出し、
    前記実行完了時刻は、前記所定のハードウェアリソースを使用するタスクの実行開始時刻に前記タスクの実行時間を加算することで算出される、データ処理装置。
  13. 請求項11において、
    前記ハードウェアリソースとして、電源の供給が遮断されない第1スタンバイモードと電源の供給が遮断される第2スタンバイモードとを有するマイクロコントローラを含み、
    前記マイクロコントローラの前記損益分岐時間として、前記第1スタンバイモードによる第1損益分岐時間と前記第2スタンバイモードによる第2損益分岐時間とを含み、前記第2損益分岐時間は、前記第1損益分岐時間よりも大きくされ、
    前記制御部は、前記マイクロコントローラをスタンバイモードに遷移させるとき、前記算出した前記マイクロコントローラの待機時間が前記第1損益分岐時間より大きく前記第2損益分岐時間より小さい場合に、前記マイクロコントローラを前記第1スタンバイモードに遷移させ、前記算出した前記マイクロコントローラの待機時間が前記第2損益分岐時間より大きい場合に、前記マイクロコントローラを前記第2スタンバイモードに遷移させる、データ処理装置。
  14. 請求項11において、
    前記スタンバイモードによる損益分岐時間が温度情報に対応して複数設定され、
    前記制御部は、入力された前記温度情報に基づいて何れか一つの前記損益分岐時間を選択し、選択した前記損益分岐時間を用いて、前記ハードウェアリソースをスタンバイモードに遷移させるか否かの決定を行う、データ処理装置。
  15. 請求項13において、
    前記電源部は、前記ハードウェアリソースに電源電圧を供給するためのレギュレータ回路を夫々のハードウェアリソースに対応させて複数有し、
    前記制御部は、前記ハードウェアリソースをスタンバイモードに遷移させるとき、当該ハードウェアリソースに対応する前記レギュレータ回路の回路電流が小さくなるように制御する、データ処理装置。
  16. 請求項15において、
    前記制御部は、前記マイクロコントローラを前記第1スタンバイモードに遷移させる場合に、前記マイクロコントローラに対応する前記レギュレータ回路の動作電流を遮断するように制御し、前記マイクロコントローラを前記第2スタンバイモードに遷移させる場合に、前記マイクロコントローラに対応する前記レギュレータ回路の動作電流が通常時よりも小さくなるように制御する、データ処理装置。
  17. 請求項11において、
    前記ハードウェアリソースとして、マイクロコントローラを含み、
    前記タスクとして、前記マイクロコントローラが外部から周期的にデータを受信する第1タスクを含み、前記マイクロコントローラは、前記第1タスクの実行によって所要のタイミングで受信したデータとそれ以前のタイミングで受信したデータとの変化量を算出し、その変化量が所定の閾値を超えない場合に、前記第1タスクの実行周期が長くなるように、前記タスクを実行するタイミングを決定するための情報を更新する、データ処理装置。
JP2013204651A 2013-09-30 2013-09-30 データ処理装置 Active JP6209042B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013204651A JP6209042B2 (ja) 2013-09-30 2013-09-30 データ処理装置
CN201410502635.1A CN104516780B (zh) 2013-09-30 2014-09-26 数据处理装置
US14/500,246 US9921638B2 (en) 2013-09-30 2014-09-29 Data processing system with selective engagement of standby mode based on comparison with a break-even time

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013204651A JP6209042B2 (ja) 2013-09-30 2013-09-30 データ処理装置

Publications (2)

Publication Number Publication Date
JP2015069521A JP2015069521A (ja) 2015-04-13
JP6209042B2 true JP6209042B2 (ja) 2017-10-04

Family

ID=52741363

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013204651A Active JP6209042B2 (ja) 2013-09-30 2013-09-30 データ処理装置

Country Status (3)

Country Link
US (1) US9921638B2 (ja)
JP (1) JP6209042B2 (ja)
CN (1) CN104516780B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160077575A1 (en) * 2014-09-17 2016-03-17 Advanced Micro Devices, Inc. Interface to expose interrupt times to hardware
US20170161114A1 (en) * 2015-12-08 2017-06-08 Advanced Micro Devices, Inc. Method and apparatus for time-based scheduling of tasks
US10095305B2 (en) * 2016-06-18 2018-10-09 Qualcomm Incorporated Wake lock aware system wide job scheduling for energy efficiency on mobile devices
CN106353587B (zh) * 2016-10-21 2020-06-09 成都前锋电子仪器有限责任公司 一种功率传感器数据处理方法及系统
KR102564969B1 (ko) * 2018-11-05 2023-08-09 에스케이하이닉스 주식회사 파워 게이팅 시스템 및 이를 포함하는 전자 시스템

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002099432A (ja) * 2000-09-22 2002-04-05 Sony Corp 演算処理システム及び演算処理制御方法、タスク管理システム及びタスク管理方法、並びに記憶媒体
US6816977B2 (en) * 2001-12-03 2004-11-09 Hewlett-Packard Development Company, L.P. Power reduction in computing devices using micro-sleep intervals
US8181051B2 (en) * 2006-02-09 2012-05-15 Freescale Semiconductor, Inc. Electronic apparatus and method of conserving energy
GB2445167A (en) * 2006-12-29 2008-07-02 Advanced Risc Mach Ltd Managing performance of a processor
US7917784B2 (en) * 2007-01-07 2011-03-29 Apple Inc. Methods and systems for power management in a data processing system
JP5053109B2 (ja) 2008-01-23 2012-10-17 株式会社日立製作所 制御装置
US8468377B2 (en) * 2008-10-22 2013-06-18 Microsoft Corporation Conserving power using predictive modelling and signaling
US8495403B2 (en) * 2008-12-31 2013-07-23 Intel Corporation Platform and processor power management
US8650571B2 (en) * 2009-03-30 2014-02-11 Hewlett-Packard Development Company, L.P. Scheduling data analysis operations in a computer system
US8190939B2 (en) * 2009-06-26 2012-05-29 Microsoft Corporation Reducing power consumption of computing devices by forecasting computing performance needs
JP5441626B2 (ja) 2009-11-06 2014-03-12 日立オートモティブシステムズ株式会社 車載用マルチアプリ実行装置
US8635469B2 (en) * 2009-12-22 2014-01-21 Intel Corporation Method and apparatus for I/O devices assisted platform power management
JP2013012003A (ja) * 2011-06-29 2013-01-17 Renesas Electronics Corp データ処理装置及びデータ処理システム
US20130036428A1 (en) * 2011-08-02 2013-02-07 Yu-Hsiang Lei Event triggering method during sleep mode and related mobile devices
CN103218032B (zh) * 2011-11-29 2017-07-14 英特尔公司 利用相对能量损益平衡时间的功率管理
TWI493332B (zh) * 2011-11-29 2015-07-21 Intel Corp 用於電力管理的方法與設備及其平台與電腦可讀取媒體
US9507403B2 (en) * 2011-12-27 2016-11-29 Intel Corporation Power management using reward-based sleep state selection
US20150067357A1 (en) * 2013-08-30 2015-03-05 Advanced Micro Devices, Inc. Prediction for power gating
US20150355942A1 (en) * 2014-06-04 2015-12-10 Texas Instruments Incorporated Energy-efficient real-time task scheduler

Also Published As

Publication number Publication date
JP2015069521A (ja) 2015-04-13
CN104516780A (zh) 2015-04-15
US20150095672A1 (en) 2015-04-02
CN104516780B (zh) 2019-03-08
US9921638B2 (en) 2018-03-20

Similar Documents

Publication Publication Date Title
JP6209042B2 (ja) データ処理装置
Irani et al. Algorithmic problems in power management
EP2529282B1 (en) Method and apparatus for power control
US8183712B2 (en) Method and system for organizing and optimizing electricity consumption
US8112642B2 (en) Method and system for controlling power in a chip through a power-performance monitor and control unit
CN101379453B (zh) 使用动态工作负载特征来控制cpu频率和电压调节的方法和装置
US20180349186A1 (en) Scheduler for AMP Architecture with Closed Loop Performance Controller Using Static and Dynamic Thread Grouping
EP2695063B1 (en) Method and system for dynamically controlling power to multiple cores in a multicore processor of a portable computing device
US10296077B2 (en) Configuring power domains of a microcontroller system
JP2008276331A (ja) マルチプロセッサの制御装置及び方法
TW201426279A (zh) 微處理器、操作微處理器的方法以及電腦程式產品
US9047088B2 (en) Multiprocessor system and method of controlling power
US8578384B2 (en) Method and apparatus for activating system components
CN104049952A (zh) 直接和嵌套依赖指令的调度器中重置推测源就绪的方法
Simonović et al. Power management implementation in FreeRTOS on LM3S3748
US20210208803A1 (en) Systems and Methods of Power Management
US20130086402A1 (en) DFVS-Enabled Multiprocessor
US20230385100A1 (en) Computer system using energy barrier instructions
Docherty et al. Game theoretic power management techniques for real-time scheduling

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161027

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161212

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20170330

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170425

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170720

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20170728

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170908

R150 Certificate of patent or registration of utility model

Ref document number: 6209042

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150