JP6774160B2 - 情報処理装置、並びに、データ転送装置の制御方法 - Google Patents

情報処理装置、並びに、データ転送装置の制御方法 Download PDF

Info

Publication number
JP6774160B2
JP6774160B2 JP2014160802A JP2014160802A JP6774160B2 JP 6774160 B2 JP6774160 B2 JP 6774160B2 JP 2014160802 A JP2014160802 A JP 2014160802A JP 2014160802 A JP2014160802 A JP 2014160802A JP 6774160 B2 JP6774160 B2 JP 6774160B2
Authority
JP
Japan
Prior art keywords
power saving
timer value
signal
module
saving 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
JP2014160802A
Other languages
English (en)
Other versions
JP2015130147A5 (ja
JP2015130147A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2014160802A priority Critical patent/JP6774160B2/ja
Priority to US14/553,852 priority patent/US9678562B2/en
Priority to CN201410727879.XA priority patent/CN104699642B/zh
Publication of JP2015130147A publication Critical patent/JP2015130147A/ja
Publication of JP2015130147A5 publication Critical patent/JP2015130147A5/ja
Application granted granted Critical
Publication of JP6774160B2 publication Critical patent/JP6774160B2/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/325Power saving in peripheral device
    • G06F1/3253Power saving in bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • 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

Description

本発明は、情報処理装置におけるデータ転送装置の省電力化に関する。
半導体集積回路の集積度の向上や処理能力の向上は消費電力の増大を招き、消費電力の削減対策が必須となった。
近年の半導体集積回路は、データ転送要求を生成するマスタモジュール、データ転送要求に応答するスレーブモジュール、および、データ転送を担うバスシステムなどで構成される。マスタモジュールには、中央演算装置(CPU)や動的メモリアクセスコントローラ(DMAC)などが含まれる。スレーブモジュールには、メモリコントローラやスタティックランダムアクセスメモリ(SRAM)モジュールなどが含まれる。また、バスシステムは、インターコネクト、ファブリック、オンチップネットワークとも呼ばれる。マスタモジュールにおいては、電源電圧や周波数を動的に制御するdynamic voltage and frequency scaling (DVFS)と呼ばれる技術や電源やクロックを遮断する技術によって省電力化が図られている。
一方、様々なマスタモジュールとスレーブモジュールが接続されるバスシステムは、各マスタモジュールからのデータ転送に備えて電源やクロックが常時供給状態になっている場合が多く、さらなる低消費電力化が難しい。消費電力を低減するために、クロック周波数の切り替えやクロックや電源のオンオフ制御を行う場合、バスシステム上のデータ転送を特定の手続に沿って完了させないと、転送データのロスやフリーズを招く。転送データのロスやフリーズを避ける方法は、ソフトウェア手続による方法と、ハードウェア機構による方法に大別される。
ソフトウェア手続による方法は、典型的に、バスシステムに接続されたすべてのマスタモジュールについてデータ転送要求が発行されないことを確認した後、バスシステムのクロックや電源を制御する。また、ハードウェア機構による方法として、バス調停回路を利用する方法が提案されている(例えば、特許文献1)。
近年の大規模な半導体集積回路においては、マスタモジュールの数が100を超え、外部割込やイベントで駆動されるマスタモジュールも多い。そのためソフトウェア手続による方法では、すべてのマスタモジュールがデータ転送要求を発行しないことの保証が困難である。
また、CPUがバスシステムのクロックや電源の制御を行う際、CPUの命令フェッチやキャッシュモジュールが投機的にプログラムデータを読み込むため、バスシステム上でデータ転送が発生しないことを保証するには特別な手続が必要である。その結果、省電力化のためにバスシステムのクロックや電源を制御することができるとしても、その機会は極めて限定的なものになる。
また、特許文献1に記載されたハードウェア構成による方法は、クロック制御要求信号のアサートに応答してバス使用権を調停するアービタが、現在実行中の処理が終了すると、バス使用権の割当を停止してクロック制御確認信号をアサートする。しかし、近年、ピアツーピアのデータ転送インタフェイスを用いるバスシステムが主流であり、バスシステム内部にアービタが存在する。そのためアービタを用いる方法は、バスシステム自身の電源を遮断することができない。
特許第4733877号公報
本発明は、転送データのロスやフリーズを回避するための特別な処理を必要とせずに、データ転送装置の省電力化を可能にすることを目的とする。
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
本発明にかかる情報処理装置は、複数のマスタモジュールと少なくとも一つのスレーブモジュールとの間のデータ転送を行う複数のバスモジュールを有するデータ転送手段と、前記複数のバスモジュールそれぞれとの省電力モードへの移行の可否を示す通信及び機器状態に応じて調整された所定の時間が経過したか否かに基づき、各バスモジュールの省電力モードへの移行を制御する電力制御手段とを有し、前記電力制御手段は、前記複数のバスモジュールそれぞれに対応し、対応するバスモジュールとの間で電力制御信号により前記通信を行う複数の制御手段を有する
本発明によれば、転送データのロスやフリーズを回避するための特別な処理を必要とせずに、データ転送装置の省電力化を可能にすることができる。
情報処理装置の構成例を示すブロック図。 情報処理装置の構成例を示すブロック図。 バスシステムと電力制御モジュールの構成例を示すブロック図。 バスシステムと電力制御モジュールの構成例を示すブロック図。 データ転送を説明する図。 バスモジュールとデータ転送検出モジュールの構成例を示すブロック図。 省電力モード移行が許可される場合の電力制御モジュールとバスモジュールの動作を説明する図。 省電力モード移行が許可されない場合の電力制御モジュールとバスモジュールの動作を説明する図。 省電力モード移行後に新規データ転送が発生した場合の電力制御モジュールとバスモジュールの動作を説明する図。 制御モジュールの処理を説明するフローチャート。 タイマ値最適化モジュールの動作を含む制御モジュールの処理を説明するフローチャート。 電力制御信号とインターバルタイマのカウント値の関係を説明する図。 タイマ値最適化モジュールの内部構成例を示すブロック図。 最適タイマ値判定モジュールの構成例を示すブロック図。 省電力効果の測定方法を説明する図。 省電力効果の測定方法を説明する図。 設定レジスタ内に存在する七つの32ビットレジスタを示す図。 最適タイマ値の自動調整シーケンス例を示す図。 タイマ値に対して測定された省電力効果の一例、および、細分化した機器状態における最適タイマ値の決定方法を説明する図。 情報処理装置における電源投入後の各機器状態を説明する図。 TYP_1とTYP_2の最適タイマ値の決定方法の違いを説明する図。 ディジタルカメラ製品における機器状態とタイマ値調整モード選択信号の関係例、および、機器状態とタイマ値更新トリガ信号の関係例を示す図。 最適タイマ値の再探索を説明する図。 属性生成回路の動作、および、複数のリファレンス値を有する場合の制御モジュールの処理を説明するフローチャート。 電力制御モジュールの他の構成例、および、電力制御信号とインターバルタイマのカウント値countの関係を説明する図。
以下、本発明にかかる実施例の情報処理装置および情報処理方法を図面を参照して詳細に説明する。なお、実施例は特許請求の範囲にかかる本発明を限定するものではなく、また、実施例において説明する構成の組み合わせのすべてが本発明の解決手段に必須とは限らない。
[装置の構成]
図1Aのブロック図により情報処理装置200の構成例を示す。情報処理装置200は、コンピュータ装置であり、データ転送を司るバスシステム30を有する。バスシステム30には、プロセッサとして複数のCPU10と11、ディジタル信号プロセッサ(DSP)12、および、グラフィカルプロセッサ(GPU)13などが接続される。
さらに、バスシステム30には、データ転送コントローラとして複数のDMAC14と15、および、メモリコントローラ(MEMC)20などが接続される。バスシステム30には、図示しない周辺機器を接続するための例えばPCIエクスプレスコントローラ(PCIe)21およびUSBコントローラ22などが接続される。バスシステム30には、メモリとしてリードオンリメモリ(ROM)23およびスタティックランダムアクセスメモリ(SRAM)24などが接続される。バスシステム30には、電力制御モジュール25が接続される。
MEMC20は、情報処理装置200の外部のダイナミックランダムアクセスメモリ(DRAM)600に接続されている。CPU10は、DRAM600をワークメモリとして、ROM23に格納されたプログラムを実行する。図1Aに示す情報処理装置200の構成は、システムオンチップとよばれる半導体装置に代表的な構成であり、データ転送を司るバスシステム30は、インターコネクト、ファブリック、オンチップネットワークまたはネットワークオンチップと呼ばれる。
なお、CPU10と11、DSP12、GPU13、DMAC14と15は、データ転送要求を発行するモジュール群であり、以下では「マスタモジュール」300と総称する場合がある。一方、MEMC20、PCIe21、USB22、ROM23、SRAM24、電力制御モジュール25は、データ転送要求を受信した後に応答するモジュール群であり、以下では「スレーブモジュール」400と総称する場合がある。なお、データ転送要求の発行と応答の両方の機能を有するモジュールも存在するが、図1Aには示さない。
図1Bのブロック図により情報処理装置201の構成例を示す。情報処理装置201は、バスシステム230と割込制御部218を中心とするディジタルカメラシステム用のシステムオンチップ(SoC)とよばれる半導体装置に代表される構成を有する。なお、SoC内部には各モジュールに供給されるクロック信号を生成するクロックジェネレータやリセット信号を生成するリセットジェネレータなどが存在するが、図1Bにおいては、それらを省略する。
情報処理装置201は、データ転送を司るバスシステム230を有す。バスシステム230は、インターコネクト、ファブリック、オンチップネットワークまたはネットワークオンチップと呼ばれる。バスシステム230には、データ転送要求を発行するマスタモジュール300として、情報処理装置201全般の処理を行うCPU210が存在する。
さらに、バスシステム230には、マスタモジュール300として、動画処理部211、映像入力部212、映像出力部214、メモリカードコントローラ221、USBコントローラ222が存在する。動画処理部211は、撮影された静止画や動画を圧縮加工する。映像入力部212は、外部のCMOSセンサ605からディジタルデータに変換された映像データを入力し、映像データをMEMC220を介して外部のDRAM600へ転送する。
映像出力部214は、DRAM600に格納された映像データをMEMC220を介して外部の表示デバイス604に転送する。メモリカードコントローラ221は、撮影された静止画や動画を外部のメモリカード601に転送するためのモジュールである。USBコントローラ222は、撮影された静止画や動画をUSBなどのシリアルバスを介して外部のUSBデバイス602にへ転送するためのモジュールである。
また、バスシステム230には、データ転送要求を受信した後に応答するスレーブモジュール400として、操作ボタン制御部217、割込制御部218、MEMC220、ROMコントローラ223、電力制御モジュール225が存在する。操作ボタン制御部217は、ディジタルカメラ本体にあるボタンの操作を検出し、ボタン操作検出割込信号216を出力する。電力制御モジュール225は、バスシステム230の省電力制御を担い、省電力効果減少割込信号213を出力する。
割込制御部218は、操作ボタン制御部217のボタン操作検出割込信号216、映像入力部212のビデオ垂直同期割込信号215、または、電力制御モジュール225の省電力効果減少割込信号213を受信し、割込信号219をCPU210に出力する。また、MEMC220は、外部のDRAM600との間でデータの転送を行う。ROMコントローラ223は、プログラムコードが格納された外部のROM603からデータを読み出す。なお、ROM603は、EEPROMなどの記録媒体である。
なお、図1Aと同様に、データ転送要求の発行と応答の両方の機能を有するモジュールも存在するが、図1Bには示さない。また、図1Aと図1Bにおいて同じ名称の構成は同じ機能を果たす。例えば、図1Aと図1Bにおいて、CPU10と210、バスシステム30と230、電力制御モジュール25と225などは同じ機能を果たす。以下では、同じ機能を果たす構成について、何れか一方の符号を用いて説明を行う。
[バスシステムと電力制御モジュール]
図2A、図2Bのブロック図によりバスシステム30と電力制御モジュール25の構成例を示す。バスシステム30に接続されるマスタモジュール300とスレーブモジュール400の増加に伴い、バスシステム30は、近年、複数のデータ転送を司るデータ転送装置(以下、バスモジュール)100によって構成される。このような構成は、物理的なタイミング収束性の観点からである。また、各バスモジュール100は、データ転送検出モジュール101を有する。
図3によりデータ転送を説明する。データ転送要求信号とデータ転送受信準備信号の二線ハンドシェイクプロトコルによって、データが転送される。データを送信するモジュール(以下、送信モジュール)はデータ転送要求信号と転送データの信号線を駆動し、データを受信するモジュール(以下、受信モジュール)はデータ転送受信準備信号を駆動する。そして、データ転送要求信号とデータ転送受信準備信号がともにアクティブの際にデータ転送が成立する。なお、データ転送要求信号とデータ転送受信準備信号はHレベルでアクティブ(ハイアクティブ)である。
各バスモジュール100は、詳細は後述するが、一つの電力制御インタフェイス(以下、電力制御I/F)と、複数のデータ転送インタフェイス(以下、データ転送I/F)を有する。バスモジュール100は、データ転送I/Fを介してマスタモジュール300、スレーブモジュール400、他のバスモジュール100に接続され、電力制御I/Fを介して電力制御モジュール25に接続される。また、図2Bに示すように、CPU10からの指示を受けて電力制御モジュール25に設定値に関する情報を通知する設定レジスタ800が存在する。具体的にどのような情報を電力制御モジュール25に提供するか、また、電力制御モジュール25の内部の構成については後述する。
詳細は後述するが、各バスモジュール100と電力制御モジュール25の間では、電力制御I/Fを介して省電力モード移行要求信号、省電力モード応答信号および省電力モード許可信号の三つの電力制御信号の通信が行われる。ただし、省電力モード許可信号は、各バスモジュール100からデータ転送検出モジュール101を介して電力制御モジュール25に送信される。
電力制御モジュール25は、省電力モードへの移行を要求する省電力モード移行要求信号を出力し、バスモジュール100は省電力モード応答信号を出力する。省電力モードへの移行の可否を示す省電力モード許可信号は、バスモジュール100の出力信号とデータ転送検出モジュール101の検出結果の論理和信号である。なお、電力制御信号はLレベルでアクティブ(ローアクティブ)とする。
省電力モードにおいて、バスモジュール100の電源やクロックは停止または変更された状態にある。一方、データ転送検出モジュール101は、バスモジュール100の一部として機能するが、その電源はバスモジュール100から独立していて、バスモジュール100が省電力モードか否かに関わらず、省電力モード許可信号の状態を設定可能である。
図4のブロック図によりバスモジュール100とデータ転送検出モジュール101の構成例を示す。バスモジュール100は、転送データを受信する複数のスレーブデータ転送制御I/F501、転送データを後段に送信する複数のマスタデータ転送制御I/F506、および、電力制御I/F500を有する。なお、スレーブデータ転送制御I/F501によって受信されたデータは、ファーストインファーストアウトメモリ(FIFO)502に格納される場合がある。
アドレスデコード回路503は、スレーブデータ転送制御I/F501またはFIFO502から出力されたデータの転送先を解析し、データ転送要求を転送先に対応する調停回路504に送信する。調停回路504は、データ転送要求の一つを選択する調停を行い、調停結果を選択回路505とマスタデータ転送制御I/F506に出力する。
選択回路505は、調停結果に基づき転送データを選択し、選択した転送データをマスタデータ転送制御I/F506に出力する。マスタデータ転送制御I/F506は、調停結果と選択された転送データを受信し、後段のバスモジュール100またはスレーブモジュール400との間でデータの送受信を行う。
一方、電力制御I/F500は、電力制御モジュール25から省電力モード移行要求信号を受信すると、省電力モードへの移行を示すために、非アクティブのデータ転送受信準備信号を各スレーブデータ転送制御I/F501に出力する。スレーブデータ転送制御I/F501は、データ転送受信準備信号を前段の送信モジュール(マスタモジュール300またはバスモジュール100)に出力して、新たに転送データを受信しない状態(以下、非受信状態)に移行する。
次に、電力制御I/F500は、バスモジュール100内の処理状態を検出し、処理中を検出すると、省電力モード応答信号をHレベル(非アクティブ)に維持する。電力制御I/F500は、例えば、FIFO502の空状態に関する情報や、転送データのアウトスタンディング数(スレーブモジュール400のレスポンス状況管理)に関する情報などを用いて、バスモジュール100内の処理状態を判定する。
図4には一部の転送データしか示さないが、実際の転送データにはアドレスデータ、ライトデータ、リードデータおよびレスポンスデータが含まれ、別々の回路を介して転送される。アドレスデータとライトデータに関して、マスタモジュール300またはバスモジュール100がデータ転送要求信号の駆動モジュールである。一方、リードデータとレスポンスデータに関して、スレーブモジュール400またはバスモジュール100がデータ転送要求信号の駆動モジュールである。
データ転送検出モジュール101のORゲート102は、各スレーブデータ転送制御I/F501が受信するデータ転送要求信号を論理和した論理和信号103を出力する。ORゲート104は、論理和信号103と、バスモジュール100が電源遮断された場合にLレベルになる信号105を入力し、論理和信号103と信号105の論理和を省電力モード許可信号として出力する。
属性生成回路106は、すべてのスレーブデータ転送制御I/F501が受信するデータ転送要求信号と、当該データ転送要求信号の駆動モジュールを示すマスタIDを入力し、転送要求データ属性信号を出力する。
●省電力モード移行が許可される場合
図5により省電力モード移行が許可される場合の電力制御モジュール25とバスモジュール100の動作を説明する。電力制御モジュール25は、省電力モード移行のトリガを受信すると、省電力モード移行要求信号をアクティブにする(時刻T2)。
バスモジュール100は、省電力モード移行要求信号のアクティブを検出すると(T3)、データ転送受信準備信号を非アクティブにし(T4)、非受信状態に移行して処理状態を検出する。バスモジュール100は、非処理中(転送データなし)を検出すると(T5)、信号105をLレベルにして省電力モード応答信号をアクティブにすることで(T5)、省電力モード応答信号をアクティブにする(T6)。
図5の例では、データ転送要求信号が非アクティブであるから論理和信号103はLレベルになり、新規の転送データが存在しないことが示される。その結果、論理和信号103と信号105がともにLレベルであり、ORゲート104が出力する省電力モード許可信号は、時刻T5においてLレベル(アクティブ)になる。
電力制御モジュール25は、省電力モード応答信号のアクティブを検出すると(T7)、省電力モード許可信号を判定する。そして、省電力モード許可信号のアクティブを検出すると(T7)、バスモジュール100が省電力モードへの移行を許可したと判定して、バスモジュール100のクロックや電源を変更または遮断する(T8からT10)。
次に、電力制御モジュール25は、通常動作モード移行のトリガを受信すると、バスモジュール100のクロックや電源を供給後、省電力モード移行要求信号を非アクティブにする(T11)。
バスモジュール100は、省電力モード移行要求信号の非アクティブを検出すると(T12)、信号105をHレベルにして省電力モード許可信号を非アクティブにする(T14)。そして、省電力モード応答信号を非アクティブにし(T15)、その後、データ転送受信準備信号をアクティブにし(T16)、非受信状態を解除して新たに転送データを受信する状態になる。
●省電力モード移行が許可されない場合
図6により省電力モード移行が許可されない場合の電力制御モジュール25とバスモジュール100の動作を説明する。電力制御モジュール25は、省電力モード移行のトリガを受信すると、省電力モード移行要求信号をアクティブにする(時刻T2)。
バスモジュール100は、省電力モード移行要求信号のアクティブを検出すると(T3)、データ転送受信準備信号を非アクティブにして(T4)、非受信状態に移行して処理状態を検出する。バスモジュール100は、処理中(転送データあり)を検出すると(T5)、信号105をHレベルに維持して省電力許可信号のアクティブを維持し(T5)、省電力モード応答信号をアクティブにする(T6)。
図6の例では、データ転送要求信号がアクティブであり、論理和信号103がHレベルであり、新規の転送データが存在することが示される。この例では、論理和信号103と信号105がともにHレベルであり、ORゲート104が出力する省電力モード許可信号は、時刻T5においてHレベル(非アクティブ)になる。その後、バスモジュール100の転送データの処理が完了(非処理中)して信号105がLレベルになっても、データ転送要求信号がアクティブであり、論理和信号103のHレベルが維持される限り、省電力モード許可信号は非アクティブである。
電力制御モジュール25は、省電力モード応答信号のアクティブを検出すると(T7)、省電力モード許可信号を判定する。そして、省電力モード許可信号の非アクティブを検出すると(T7)、バスモジュール100が省電力モードへの移行を許可しないと判定して、省電力モード移行要求信号を非アクティブにして(T11)、省電力モード移行要求を解除する。
バスモジュール100は、省電力モード移行要求信号の非アクティブを検出すると(T12)、省電力モード応答信号を非アクティブにする(T15)。そして、データ転送受信準備信号をアクティブにし(T16)、非受信状態を解除して転送データの処理を継続する。
●省電力モード移行後に新規の転送データが発生した場合
図7により省電力モード移行後に新規データ転送が発生した場合の電力制御モジュール25とバスモジュール100の動作を説明する(時刻T2)。電力制御モジュール25は、省電力モード移行のトリガを受信すると、省電力モード移行要求信号をアクティブにする(T2)。
バスモジュール100は、省電力モード移行要求信号のアクティブを検出すると(T3)、データ転送受信準備信号を非アクティブにし(T4)、非受信状態に移行して処理状態を検出する。バスモジュール100は、非処理中(転送データなし)を検出すると(T5)、信号105をLレベルにして省電力モード許可信号を非アクティブとすることで(T5)、省電力モード応答信号をアクティブにする(T6)。
図7の例では、時刻T5において、データ転送要求信号が非アクティブであるから論理和信号103はLレベルになり、新規の転送データが存在しないことが示される。その結果、論理和信号103と信号105がともにLレベルであり、ORゲート104が出力する省電力モード許可信号は、時刻T5においてアクティブになる。
電力制御モジュール25は、省電力モード応答信号のアクティブを検出すると(T7)、省電力モード許可信号を判定する。そして、省電力モード許可信号のアクティブを検出すると(T7)、バスモジュール100が省電力モードへの移行を許可したと判定して、バスモジュール100のクロックや電源を変更または遮断する(T8からT10)。
図7の例では、時刻T9において、新規の転送データが発生しデータ転送要求信号の状態が変化してアクティブになる。バスモジュール100は省電力モードにあるため、時刻T9において信号105はLレベルに維持されるが、データ転送検出モジュール101のORゲート102が出力する論理和信号103は、時刻T9においてHレベルになる。その結果、ORゲート104が出力する省電力モード許可信号は、時刻T9において非アクティブになる。
電力制御モジュール25は、受信中の省電力モード許可信号の非アクティブを検出すると(T10)、バスモジュール100の省電力モードの解除が必要と判定する。そして、バスモジュール100のクロックや電源を供給後、省電力モード移行要求信号を非アクティブにする(T11)。
バスモジュール100は、省電力モード移行要求信号の非アクティブを検出すると(T12)、省電力モード応答信号を非アクティブにする(T15)。そして、データ転送受信準備信号をアクティブにし(T16)、非受信状態を解除して新規の転送データの受信を開始する。
図5から図7に示す電力制御モジュール25とバスモジュール100の動作により、複数のバスモジュール100を有するバスシステム30における転送データのロスやフリーズを回避して、省電力モードと通常動作モードの移行が実現される。
●電力制御モジュール
図2Aに示すように、電力制御モジュール25は、各バスモジュール100に対応する電力制御I/Fを有する。各電力制御I/Fは、省電力モードの移行と復帰を制御する制御モジュール250、インターバルタイマ251、時間設定値最適化のためのタイマ値最適化モジュール252を有し、対応するバスモジュール100の状態を管理する。
各制御モジュール250は、インターバルタイマ251に接続する簡易な専用回路、または、プログラマブルロジックデバイス(PLD)などによって実現される。あるいは、電力制御モジュール25のCPUが電力制御モジュール25のROMなどに格納されたプログラムを実行することによって実現されてもよい。
図8Aのフローチャートにより制御モジュール250の処理を説明する。電力制御モジュール25が動作を開始すると、制御モジュール250は、バスモジュール100に電源とクロックを供給してバスモジュール100を通常動作モードにする(S11)。その際、省電力モード移行要求信号は非アクティブである。
次に、制御モジュール250は、省電力モード移行のトリガを受信したか否かを判定し(S12)、未受信の場合は処理をステップS11に戻して、バスモジュール100の通常動作モードを維持する。なお、省電力モード移行のトリガは、CPU10や11によるレジスタアクセスや割込み、外部イベントなどである。
省電力モード移行のトリガを受信すると、制御モジュール250は、インターバルタイマ251のカウント値countを判定する(S13)。カウント値count>0の場合、制御モジュール250は、インターバルタイマ251のカウント値countをデクリメントして(S14)、処理をステップS13に戻す。
インターバルタイマ251のカウント値count=0になると、制御モジュール250は、省電力モード移行要求信号をアクティブにして(S15)、バスモジュール100が省電力モードへの移行を許可するか否かを判定する。つまり、省電力モード応答信号の判定(S16)と省電力モード許可信号の判定(S17)を行う。
省電力モード応答信号がアクティブになり(S16)、省電力モード許可信号がアクティブになった(S17)場合、制御モジュール250は、バスモジュール100が省電力モードへの移行を許可したと判定する。そして、バスモジュール100の電源やクロックを制御する(S18)。なお、省電力モードから通常動作モードへの復帰時間や応答性能を考慮して、電源の遮断、クロックの遮断、クロック速度の変更などが行われる。その後、制御モジュール250は、処理をステップS19に進めて、バスモジュール100の通常動作モードへの復帰トリガを待つ状態になる。
バスモジュール100を省電力モードへ移行させた後、制御モジュール250は、通常動作モードへの復帰トリガを受信したか否かを判定する(S19)。復帰トリガには幾つかの種類が存在し、CPU10や11によるレジスタアクセスや割込み、外部イベントなどである。また、新規の転送データが発生した場合、バスモジュール100が省電力モードにあるため、データ転送検出モジュール101によって省電力モード許可信号が非アクティブになるが、これも復帰トリガの一つである。復帰トリガを受信すると、制御モジュール250は、処理をステップS20に進める。
一方、省電力モード応答信号がアクティブになったが(S16)、省電力モード許可信号が非アクティブ(S17)の場合、制御モジュール250は、バスモジュール100が省電力モードへの移行を許可しないと判定して、処理をステップS20に進める。バスモジュール100に処理中の転送データ転送が存在したり、新規の転送データが存在する場合、バスモジュール100は、転送データのロスやフリーズを避けるために、省電力モードへの移行を許可しない。
復帰トリガを受信した場合、または、省電力モードへの移行が不可能な場合、制御モジュール250は、省電力モード移行要求を解除し、バスモジュール100に電源やクロックが供給されていない場合は電源やクロックの供給を再開する(S20)。つまり。なお、電源遮断から復帰させる場合は、電源が安定した後にバスモジュール100のリセット処理が行われる。その後、制御モジュール250は、省電力モード移行要求信号を非アクティブにし、省電力モード応答信号が非アクティブになったことを確認した後、処理をステップS21に進める。
次に、制御モジュール250は、再び省電力モード移行要求を発行するか否かを判定し(S21)、省電力モード移行要求を発行しない場合は処理をステップS12に戻す。また、省電力モード移行要求を発行する場合は、インターバルタイマ2001のカウント値countに所定のリファレンス値を設定し(S22)、処理をステップS13に戻す。
制御モジュール250による上記処理により、CPU10などのマスタモジュール300による電力制御に関わる手続を軽減することが可能になる。
●タイマ値最適化モジュール
タイマ値最適化モジュール252は、予め決められたルールに基づいてタイマ値を動的に変更し、最適なタイマ値に調整するモジュールである。図8Bのフローチャートによりタイマ値最適化モジュール252の動作を含む制御モジュール250の処理を説明する。なお、図8Bにおいて、図8Aと同様の処理には同一符号を付し、その詳細説明を省略する。
電力制御モジュール25が動作を開始すると、制御モジュール250は、バスモジュール100に電源とクロックを供給してバスモジュール100を通常動作モードにする(S11)。その際、省電力モード移行要求信号は非アクティブである。
次に、制御モジュール250は、省電力モード移行要求を発行するか否かを判定し(S31)、省電力モード移行要求を発行しない場合は処理をステップS11に戻して、バスモジュール100の通常動作モードを維持する。省電力モード移行要求を発行するか否かの判定は、CPU10によるレジスタアクセスや割り込み、外部イベントなどの外部トリガに基づいて判定される場合と、制御モジュール250が自身の内部的な状態に基づいて自律的に判定する場合がある。
制御モジュール250は、省電力モード移行要求を発行する場合、インターバルタイマ251のカウント値countにタイマ値最適化モジュール252から通知される所定のリファレンス値(時間設定値)を設定する(S32)。そして、制御モジュール250は、インターバルタイマ251のカウント値countの判定(S14)から省電力モード移行要求の解除(S20)を実行するが、それらの処理は図8Aの場合と同じであり、詳細説明を省略する。なお、図8Bの処理においては、図8Aの処理と異なり、省電力モード移行要求の解除(S20)の後、処理はステップS11に戻る。
タイマ値最適化モジュール252を含む制御モジュール250による上記処理により、CPU10などのマスタモジュール300による電力制御に関わる手続を軽減することが可能になる。
●インターバルタイマのカウント値
図9により電力制御信号とインターバルタイマ251のカウント値countの関係を説明する。
省電力モード移行要求信号がアクティブになった後、省電力モード応答信号がアクティブになるが省電力モード許可信号がアクティブにならない状況は、上述したように、バスモジュール100が省電力モードへの移行を許可しない場合である。この場合、電力制御モジュール25は、省電力モード移行要求信号が非アクティブにし、インターバルタイマ251に設定した時間が経過した後、再び省電力モード移行要求信号をアクティブにする。つまり、電力制御モジュール25は、CPU10や11の介在なしにインターバルタイマ251に設定した間隔で省電力モード移行要求を行う。
バスモジュール100は、データのロスやフリーズを避けるためのモード移行期間において、省電力モードへの移行が可能か否かを判定し、移行が可能であればその旨を電力制御モジュール25に通知する。電力制御モジュール25は、省電力モードへの移行が可能な状況においてのみ、電源やクロックを制御することができ、バスモジュール100の省電力化を行うことができる。
電力制御モジュール25は、複数のバスモジュール100に対応して複数のインターバルタイマ251を有する。各インターバルタイマ251の値は、制御対象のバスモジュール100の転送性能要求に従い事前に設定される。転送帯域要求が低いなどデータ転送能力が低いバスモジュール100に対応するインターバルタイマ251には低めの値を設定し、省電力モードへの移行の機会を増やす。
一方、転送帯域要求が高いバスモジュール100に対応するインターバルタイマ251には高めの値を設定し、省電力モード移行期間による実効性能の低下の機会を減らす。同様に、インターバルタイマ251の値は、転送帯域の要求だけでなく、転送レイテンシの要求を考慮して設定することも考えられる。つまり、各バスモジュール100の使用条件を考慮して、転送の実効性能と電力消費の最適なバランスを得ることが可能になる。
上記のようにインターバルタイマ251への入力値を適切にするために、電力制御モジュール25内部に配置したタイマ値最適化モジュール252によりインターバルタイマ251のタイマ設定値を動的に変更する。そして、判定指標としての省電力効果の高いタイマ設定値を探索する。
例えば、後述する例においては、ディジタルカメラシステム用の情報処理装置201が動画撮影などの処理を行っている間に、各インターバルタイマ251に設定すべきタイマ設定値が、タイマ値最適化モジュール252により自動的に調整される。こうすることで、ディジタルカメラシステム用の情報処理装置201の動画撮影モードや操作待ち状態などの各機器状態に応じて、省電力効果が高い最適なタイマ値を自動的に調整することができる。
[タイマ値最適化モジュール]
タイマ値最適化モジュール252は、インターバルタイマ251のタイマ設定値を動的に変更し、省電力効果が高いタイマ設定値を探索、判定する。探索完了後、その判定結果として最も省電力効果が高い最適なタイマ設定値をインターバルタイマ251に入力するためのモジュールである。
図10のブロック図によりタイマ値最適化モジュール252の内部構成例を示す。タイマ値最適化モジュール252は、タイマ値調整モジュール255、最適タイマ値判定モジュール256、最適タイマ値格納モジュール257、タイマ値切替モジュール258を有する。
これらモジュールの入出力信号として、タイマ値調整モード選択信号253、タイマ値更新トリガ信号254、タイマ値調整用パラメータ270、最適タイマ値省電力効果測定信号2563が存在する。また、調整用タイマ値259、更新用最適タイマ値260、格納済み最適タイマ値261、固定タイマ値設定信号269、省電力効果減少割込信号213、バス使用状態信号262、クロックオンオフ信号263が存在する。
以下、タイマ値最適化モジュール252の詳細を説明する。CPU10は、タイマ値調整を行うか否かをタイマ値調整モード選択信号253により選択し、タイマ値調整モジュール255、最適タイマ値判定モジュール256、タイマ値切替モジュール258に通知する。タイマ値調整モード選択信号253は、値が‘1’の場合にタイマ値調整モードを示し、値が‘0’の場合に調整後タイマ値使用モードを示す。
タイマ値調整モードの場合はタイマ値調整モジュール255が出力する調整用タイマ値259が選択され、調整後タイマ値使用モードの場合は最適タイマ値格納モジュール257が出力する格納済み最適タイマ値261が選択される。そして、選択されたタイマ値が、タイマ値切替モジュール258を介してタイマ設定値として外部のインターバルタイマ251へ送られる。
タイマ値更新トリガ信号254は、CPU10により制御され、調整用タイマ値の更新タイミングをタイマ値調整モジュール255および最適タイマ値判定モジュール256に通知する。本実施例ではタイマ値更新トリガ信号254の出力を1サイクルのパルス信号とし、1で調整用タイマ値の更新タイミングを示す。
調整用タイマ値259は、タイマ値調整モジュール255の出力信号であり、その動作は後述するタイマ値調整モジュール255の動作説明において行う。更新用最適タイマ値260は、最適タイマ値判定モジュール256の出力信号であり、その動作は後述する最適タイマ値判定モジュール256の動作説明において行う。格納済み最適タイマ値261は、最適タイマ値格納モジュール257の出力信号であり、その動作は後述する最適タイマ値格納モジュール257の動作説明において行う。
バス使用状態信号262は、制御モジュール250とバスモジュール100間で使用される電力制御信号(省電力モード移行要求信号、省電力モード応答信号、省電力モード許可信号)などを含む信号である。また、バスモジュール100のハンドシェイク制御信号(データ転送要求信号、データ転送受信準備信号)などを含む信号であり、その詳細動作は図5、図6、図7において説明される。
クロックオンオフ信号263は、制御モジュール250がバスモジュール100のクロックの供給・停止を制御するための信号である。クロックジェネレータ(不図示)から生成されるクロック信号をこのクロックオンオフ信号263によりマスクするようなクロックゲーティング回路(不図示)を介してバスモジュール100のクロックポートに供給されることになる。
タイマ値調整モジュール255は、タイマ値調整モード選択信号253によって指示されるタイマ値調整モードにおいて、タイマ値更新トリガ信号254がアクティブの際に調整用タイマ値を自動的に更新し、インターバルタイマ251へ出力する。その際のタイマ値の更新方法は、入力されるタイマ値調整用パラメータ(時間設定値の調整用パラメータ)270に従う。
本実施例では、タイマ値調整用パラメータ270として開始タイマ値、ステップ値(初期設定値)、タイマ更新数(更新回数)の三つのパラメータを使用する。インターバルタイマ251へ出力される調整用タイマ値は、タイマ値更新トリガ信号254の入力ごとに更新される。更新ルールは以下のようになる。
if (一回目のタイマ値更新トリガの入力)
調整用タイマ値 = 開始タイマ値;
if (二回目のタイマ値更新トリガの入力)
調整用タイマ値 = 開始タイマ値 + ステップ値×1;
if (三回目のタイマ値更新トリガの入力)
調整用タイマ値 = 開始タイマ値 + ステップ値×2;


if (N回目のタイマ値更新トリガの入力)
調整用タイマ値 = 開始タイマ値 + ステップ値×(N-1);
ただし、上記の調整用タイマ値の調整方法は一例であり、さらにインテリジェントに調整用タイマ値の最適値を探索する方法を採ることも考えられる。また、調整用タイマ値の具体的な使用例は後述する。
上記では、タイマ値調整用パラメータ270を外部から入力し、タイマ値調整モジュール255がこのパラメータに応じて調整用タイマ値を更新する例を説明した。しかし、別の手段として、タイマ値更新トリガ254とともに外部モジュールから調整用タイマ値そのものが入力されるケースも考えられる。
タイマ値調整モジュール255の出力である調整用タイマ値259は、タイマ値調整モード選択信号253によりタイマ値調整モードが選択されると、インターバルタイマ251のタイマ設定値として使用される。それと同時に、調整用タイマ値259は、最適タイマ値判定モジュール256に通知される。
最適タイマ値判定モジュール256は、タイマ値調整モード選択信号253が示すタイマ値調整モードにおいて、タイマ値調整モジュール255が出力する調整用タイマ値ごとに、バスモジュール100の省電力効果を測定する。そして、タイマ値調整モードが終了した時点で、測定された省電力効果のうち、最も省電力効果の高い調整用タイマ値を判定し、その値を最適タイマ値格納モジュール257に格納する。バスモジュール100の省電力効果の測定は、バス使用状態信号262およびクロックオンオフ信号263の状態から、最適タイマ値判定モジュール256が行う。
最適タイマ値格納モジュール257は、最も高い省電力効果が得られる最適タイマ値を格納し、タイマ値調整モード選択信号253が示す調整後タイマ値使用モードにおいて、格納された最適タイマ値をインターバルタイマ251に通知するモジュールである。
最適タイマ値格納モジュール257は、タイマ値調整モード選択信号253により調整後タイマ値使用モードになった際に、最適タイマ値判定モジュールの出力結果を基に、格納している最適タイマ値を更新する。
タイマ値切替モジュール258は、タイマ値調整モード選択信号253の出力に基づきタイマ値調整を実行する場合(信号値‘1’)は、タイマ値調整モジュール255の出力である調整用タイマ値259を選択する。また、タイマ値調整を実行しない場合(信号値‘0’)は、最適タイマ値格納モジュール257の出力である格納済み最適タイマ値261を選択し、インターバルタイマ251に出力する。
また、タイマ値調整を行わない場合で、予め決められたタイマ設定値をインターバルタイマ251へ出力したい場合、固定タイマ値設定信号269を用いて最適タイマ値格納モジュール257内の最適タイマ値を書き換えることが可能である。固定タイマ値設定信号269は、固定タイマ設定値(不図示)と固定タイマ設定値の書込制御信号(不図示)によって構成される。固定タイマ設定値の書込制御信号がアクティブの場合、固定タイマ設定値が有効データとして扱われる。
また、図10に示す最適タイマ値省電力効果測定信号2563、および、省電力効果減少割込信号213の詳細については後述する。
●最適タイマ値判定モジュール
最適タイマ値判定モジュール256は、下式により、バスモジュール100の省電力効果の判定を行う。
省電力効果 = 省電力モード期間の総期間 - 省電力モード移行期間の総期間 …(1)
省電力モード期間はバスモジュール100のクロックが停止している期間であり、省電力モード移行期間はバスモジュール100に対し省電力モード移行要求が発行されているが、バスモジュール100のクロックが停止していない期間である。従って、式(1)の計算結果が大きいと省電力効果が高いということになる。また、式(1)の計算結果は負値をとることもあり得る。また、式(1)に示す省電力効果の計算式は一例であり、その他の計算方法も考えられる。
省電力モード移行は、以下の三種類が存在する。一つ目は、通常動作モードから省電力モードへのモード移行(図7のケースのうち最初のモード移行に相当)である。二つ目は、省電力モードから通常動作モードへのモード移行(図7のケースのうち二番目のモード移行に相当)である。三つ目は、通常動作モード間の移行(図6のケースに相当)である。また、上記の「省電力モード移行期間」はそれぞれのモード移行期間の総和を意味する。
図11のブロック図により最適タイマ値判定モジュール256の構成例を示す。最適タイマ値判定モジュール256は、省電力モード期間測定モジュール2560、省電力モード移行期間測定モジュール2561、省電力効果測定・最適タイマ値判定モジュール2562を有する。以下、これらモジュールの動作の詳細を説明する。
省電力モード期間測定モジュール2560は、カウンタ(省電力モード期間カウンタ)で構成されている。そして、タイマ値調整モード選択信号253によって通知されるタイマ値調整モードの期間中、省電力モード期間の総和を測定し、測定結果を「省電力モード期間の総期間」として省電力効果測定・最適タイマ値判定モジュール2562に通知する。
省電力モード移行期間測定モジュール2561は、カウンタ(省電力モード移行期間カウンタ)で構成されている。そして、タイマ値調整モード選択信号253によって通知されるタイマ値調整モードの期間中、省電力モード移行期間の総和を測定し、測定結果を「省電力モード移行期間の総期間」として省電力効果測定・最適タイマ値判定モジュール2562に通知する。
省電力効果測定・最適タイマ値判定モジュール2562は、タイマ値調整モード選択信号253によって通知されるタイマ値調整モードの終了後、次の動作を行う。省電力モード期間測定モジュール2560から通知されたカウント値(省電力モード期間の総期間)から省電力モード移行期間測定モジュール2561から通知されたカウンタ値(省電力モード移行期間の総期間)を減算する。そして、計算結果の値をタイマ値更新トリガ254に同期してラッチし、省電力効果を示す省電力効果判定信号として扱う。なお、図11には省電力効果判定信号を示さないが、後述する図12に波形として記載する。
省電力効果測定・最適タイマ値判定モジュール2562は、タイマ値調整モード選択信号253がアクティブとなっていた期間中の調整用タイマ値259ごとの省電力効果判定信号の値を比較する。そして、比較の結果、省電力効果判定信号の値が最も高くなる調整用タイマ値259を省電力効果が最も高い最適なタイマ値として最適タイマ値格納モジュール257に格納する。
省電力効果測定・最適タイマ値判定モジュール2562は、タイマ値調整モード期間中の調整用タイマ値259と省電力効果判定信号を記憶し、省電力効果が最大の調整用タイマ値259をモジュール外部へ出力する。しかし、そのための回路構成方法を限定するものではない。
例えば、タイマ値調整モード期間中の調整用タイマ値259とその省電力効果判定信号を記憶し、当モードが終了した際に、省電力効果が最も高い調整用タイマ値259をセレクタで出力するような構成が考えられる。ただし、この構成は、調整用タイマ値259が多ければ多いほど、それを記憶するために回路規模が増大すると考えられる。
別の構成として、直近の省電力効果判定信号の値が最も大きい調整用タイマ値259と省電力効果判定信号だけを一時的に記憶する構成が考えられる。この場合、タイマ値更新トリガ信号254が入力される度に、次の動作を行う。最新の調整用タイマ値259の省電力効果判定信号と、記憶されている直近までで最も値が大きい省電力効果判定信号の大小を比較する。そして、最新の省電力効果判定信号の値が大きい場合は、記憶する調整用タイマ値259と省電力効果判定信号を、最新の調整用タイマ値259と省電力効果判定信号に更新する。
●最適タイマ値省電力効果測定信号と省電力効果減少割込信号
最適タイマ値省電力効果測定は、タイマ値調整モード選択信号253が非アクティブ(調整後タイマ値使用モード)の場合に使用される機能である。最適タイマ値省電力効果測定信号2563が‘1’の場合、省電力モード期間測定モジュール2560、省電力モード移行期間測定モジュール2561、省電力効果測定・最適タイマ値判定モジュール2562が動作し、省電力効果の測定が行われる。これにより、タイマ値調整モード選択信号253が非アクティブの場合も、タイマ値更新トリガ信号254の入力ごとに省電力効果が計算される。ただし、このとき使用されるタイマ設定値は、既に決まっている最適タイマ値であり、最適タイマ値におけるタイマ値更新トリガ信号254の入力ごとの省電力効果が計算されることになる。
省電力効果測定・最適タイマ値判定モジュール2562は、タイマ値調整モード時の最適タイマ値における省電力効果の値を記憶する。そして、調整後タイマ値使用モードに移行した後、継続して測定される最適タイマ値における省電力効果の値(測定値)と、記憶する省電力効果の値(記憶値)を比較して、記憶値に対して測定値が半減した場合に省電力効果減少割込信号213をアサートする。なお、省電力効果減少割込信号213のアサートは省電力効果が半減した場合に限らず、予め閾値を設定し、測定値が記憶値の閾値未満(例えば70%未満)になると省電力効果減少割込信号213のアサートするようにしてもよい。また、省電力効果減少割込信号213を使用例については後述する。
●省電力効果の測定方法
図12A、図12Bにより省電力効果の測定方法を説明する。タイマ値調整モード選択信号253がアサートされている(信号レベルH)期間、インターバルタイマ251は、定期的に省電力モード移行要求信号をアサート(信号レベルL)する。そして、省電力モードに入っている時間(省電力モード期間)と、モード移行の際に無駄にクロックが供給されている時間(省電力モード移行期間)をカウントする。その後、両者のカウンタの演算結果から省電力効果を算出する。図12A、図12Bは上記のシーケンスを示している。
CPU10は、タイマ値調整を開始するため、タイマ値調整モード選択信号253をアクティブ(信号レベルL)にする(時刻T0)。タイマ値調整モード選択信号253はレベル信号であり、時刻T0からCPU10がタイマ値調整モードの完了を指示するまでの期間(不図示)、常にアクティブに固定される。この期間、タイマ値切替モジュール258は、タイマ値調整モジュール255からの調整用タイマ値をインターバルタイマ251に選択的に出力する。
また、CPU10は、タイマ値更新トリガ信号254をアクティブにすると同時に、これに同期した調整用タイマ値259をタイマ値調整モジュール255に設定することで、調整用タイマ値259の更新を通知する。図12A、図12Bの例では、最初のタイマ調整時の調整用タイマ値259は「2」、二回目のタイマ調整時の調整用タイマ値259は「4」を仮定している。このとき、インターバルタイマ251には調整用タイマ値259がロードされ、以後「0」になるまで毎サイクルカウントダウンされることになる。
CPU10は、タイマ最適化モジュール252に通知するため、タイマ値更新トリガ信号254をアクティブにする(T1)。タイマ値更新トリガ信号254がアクティブになると、省電力モード期間測定モジュール2560の出力である省電力モード期間カウンタの値は0にリセットされる(T2)。同時に、省電力モード移行期間測定モジュール2561の出力である省電力モード移行期間カウンタの値は0にリセットされる(T2)。
調整用タイマ値259がロードされたインターバルタイマ251は、カウントダウンを開始し、カウント値が1になると、省電力モード移行要求信号をアクティブにする(T4)。バスモジュール100は、省電力モード移行要求信号のアクティブを検出すると(T5)、データ転送受信準備信号を非アクティブにし(T6)、非受信状態に移行して処理状態を検出する。
バスモジュール100は、非処理中(転送データなし)を検出すると(T6)、信号105をLレベルにして省電力モード許可信号をアクティブにすることで(T7)、省電力モード応答信号をアクティブにする(T8)。
図12A、図12Bの例では、データ転送要求信号が非アクティブであるから論理和信号103はLレベルになり、新規の転送データが存在しないことが示される。その結果、論理和信号103と信号105がともにLレベルであり、ORゲート104が出力する省電力モード許可信号は、時刻T7においてLレベル(アクティブ)になる。
電力制御モジュール25は、省電力モード応答信号のアクティブを検出すると(T9)、省電力モード許可信号を判定する。そして、省電力モード許可信号のアクティブを検出すると(T9)、バスモジュール100が省電力モードへの移行を許可したと判定して、クロックオンオフ信号263を非アクティブにして、クロック供給の停止を指示する(T9)。その後、クロックオンオフ信号263は85サイクルの期間(T9-T92)にわたり非アクティブとなり、その結果、85サイクルの期間(T10-T93)に亘りクロックが停止する。
バスモジュールクロックは、クロックオンオフ信号263によりクロックの供給が制御される。クロックオンオフ信号263は、アクティブのときクロックが供給状態(オン)になり、非アクティブの時にクロックの供給が停止状態(オフ)になる信号である。バスモジュールクロックは、クロックゲーティング回路(不図示)により、クロックオンオフ信号263の変化の1サイクル後のタイミングでクロックのオンオフを制御するように構成されている。
省電力モード期間カウンタは、省電力モードに入ってクロックが停止している期間(クロックオンオフ信号263がLレベル)に、1サイクルにつき+1ずつインクリメントされ、それ以外は保持される。
省電力モード移行期間カウンタは、通常動作モードから省電力モードへのモード移行期間、1サイクルにつき+1ずつインクリメントされる。なお、当該モード移行期間は、省電力モード移行要求信号がアクティブになった時間から、省電力モード応答信号が非アクティブからアクティブに変化する時間までである。また、当該モード移行期間を除く期間、および、当該モード移行期間中においてもクロックオンオフ信号263が非アクティブの期間、省電力モード移行期間カウンタのカウント値は保持される。
次に、時刻T92において、新規の転送データが発生し、データ転送要求信号の状態が変化してアクティブになる。これを受けて、時刻T93においてクロックオンオフ信号263がアクティブになり、時刻T94からクロックの供給が再開される。
バスモジュール100は、省電力モードにあるため、時刻T92において信号105はLレベルに維持されるが、データ転送検出モジュール101のORゲート102が出力する論理和信号103は時刻T92においてHレベルになる。その結果、ORゲート104が出力する省電力モード許可信号は、時刻T92において非アクティブになる。
電力制御モジュール25は、受信中の省電力モード許可信号の非アクティブを検出すると(T93)、バスモジュール100の省電力モードの解除が必要と判定する。そして、バスモジュール100のクロックや電源の供給再開後、省電力モード移行要求信号を非アクティブにする(T95)。
バスモジュール100は、省電力モード移行要求信号の非アクティブを検出すると(T96)、省電力モード応答信号を非アクティブにする(T99)。その後、データ転送受信準備信号をアクティブにし(T100)、非受信状態を解除して新たに転送データを受信する状態になる。
一回目の省電力モード移行要求が発行され、データ転送受信準備信号が一旦非アクティブになってから再度アクティブになった時点(T100)において、省電力モード期間カウンタの値は「84」であり、省電力モード移行期間カウンタの値は「11」である。
省電力モード移行要求信号を再びアクティブにし(T102)、転送受信準備信号が非アクティブになる(T104)。その結果、時刻T107において、省電力モード応答信号と省電力モード許可信号の双方がアクティブになる。ところが、時刻T107の時点では、データ転送要求信号がアクティブのため、電力制御モジュール25は省電力状態への移行はできないと判断する。そして、クロックオンオフ信号263を非アクティブのままにして、省電力モード移行要求信号を非アクティブとする(T111)。その結果、時刻T115において省電力モード応答信号が非アクティブになり、時刻T116においてデータ転送受信準備信号がアクティブになる。
このとき、時刻T102からT115までの二回目の省電力モード移行要求の期間において、クロックオンオフ信号263が非アクティブのままのため、省電力モード期間カウンタの値は「85」に保持される。一方、省電力モード移行期間カウンタは、時刻T103からT115までの期間、常に1サイクルにつき+1ずつインクリメントされて、時刻T115におけるカウント値は「25」になる。これは、二回目の省電力モード移行要求に対して省電力効果がなく、移行に関する処理サイクルのオーバヘッドが生じただけであることを意味する。
次に、CPU10が再度タイマ値更新トリガ信号254をアクティブにすると同時に、これに同期した調整用タイマ値259が設定される。このようにすることで、電力制御モジュール25は、新たな調整用タイマ値259をインターバルタイマ251に供給することで、省電力モード移行要求の発行を開始する。
次に、CPU10が再度タイマ値更新トリガ信号254をアクティブにすると同時に、これに同期した調整用タイマ値259が設定される(T117)。同時に、省電力効果測定・最適タイマ値判定モジュール2562は、一回目のタイマ値調整の省電力効果を省電力モード期間カウンタと省電力モード移行期間カウンタから計算する。そして、計算値を省電力効果一時格納レジスタ(不図示)に省電力効果判定信号として格納する(T118)。同時に、その時の調整用タイマ値259を時間設定値一時格納用の調整用タイマ値一時格納レジスタ(不図示)に格納する。これらの一時格納レジスタは、省電力効果測定・最適タイマ値判定モジュール2562の内部レジスタである。省電力効果測定・最適タイマ値判定モジュール2562は、タイマ更新数分の内部レジスタを有し、省電力効果と対応する調整用タイマ値259を保持することができる。
式(1)に示したように、省電力モード期間カウンタ値から省電力モード移行期間カウンタ値を減算した結果が省電力効果であり、上記の例では85-25=60が省電力効果判定信号の値になる。なお、省電力効果判定信号の値は、正の整数だけでなく、負の整数をとることも可能である。負の場合、省電力モードへの移行に要した時間の方がクロック停止して電力を抑えることができた時間よりも長く、省電力効果に乏しいことを意味する。
また、図12A、図12Bには示さないが、CPU10は、タイマ値調整を完了する際に、タイマ値調整モード選択信号253を非アクティブにする。その後、省電力効果測定・最適タイマ値判定モジュール2562は、各調整用タイマ値に対する省電力効果一時格納レジスタの値の大小比較(省電力効果比較)を行う。そして、省電力効果一時格納レジスタに格納された省電力効果判定信号の最大値に対応する調整用タイマ値一時格納レジスタに格納された調整用タイマ値259を選択する。そして、選択した調整用タイマ値259を省電力効果が最も高い最適なタイマ値として最適タイマ値格納モジュール257に格納する。
タイマ値調整が終了して最適タイマ値が決まった後、タイマ値切替モジュール258は、タイマ値調整モード選択信号253が非アクティブのサイクルにおいて、格納済みの最適タイマ値261をインターバルタイマ251に選択的に出力する。
[設定レジスタ]
図2Bに示す設定レジスタ800は、CPU10が内部のレジスタ群へアクセスするためのインタフェイスを有する。CPU10は、設定レジスタ800を介して、タイマ値最適化モジュール252への指示を行う。なお、設定レジスタ800がタイマ値最適化モジュール252の内部に存在するような構成も考えられる。
図13により設定レジスタ800内に存在する七つの32ビットレジスタを示す。各レジスタにはCPU10から特定可能なアドレスが割り当てられ(不図示)、CPU10によるレジスタへのリードライトが可能な構成になっている。
第一のレジスタには、各1ビットのタイマ値調整モード選択フィールドと最適タイマ値省電力効果測定フィールドが存在する。第二のレジスタには、1ビットのタイマ値更新トリガフィールドが存在する。第三から第五のレジスタには、それぞれ、16ビットのタイマ値調整用パラメータフィールド(開始タイマ値、ステップ値、タイマ更新数)が存在する。第六のレジスタには16ビットの固定タイマ値設定フィールドが存在し、第七のレジスタには16ビットの調整済み最適タイマ値参照フィールドが存在する。
タイマ値調整モードフィールドは、リードライト可能なレジスタであり、タイマ値調整モード選択信号253に直結されたレジスタフィールドである。最適タイマ値省電力効果測定フィールドはリードライト可能なレジスタであり、最適タイマ値省電力効果測定信号2563に直結されたレジスタフィールドである。
タイマ値更新トリガフィールドは‘1’のライトだけができるレジスタフィールドであり、‘1’のライトにより、タイマ値最適化モジュール252に供給される1パルスのタイマ値更新トリガ信号254を発生させることができる。‘1’をライトすると、タイマ値更新トリガフィールドは自動的に‘0’にクリアされ、次のライトアクセス待ち状態になる。
16ビットのタイマ値調整用パラメータフィールド(開始タイマ値、ステップ値、タイマ更新数)は、リードライト可能なレジスタフィールドである。タイマ値調整用パラメータフィールドは、タイマ値最適化モジュール252に供給されるタイマ値調整用パラメータ信号270に直結されたレジスタフィールドである。
16ビットの固定タイマ値設定フィールドは、タイマ値調整を使用しない場合にインターバルタイマ251に固定値を入力するためのレジスタフィールドである。固定タイマ値設定フィールドがライトアクセスされると、固定タイマ値設定信号269の一部である固定タイマ設定値の書込制御信号(不図示)がアクティブになる。同時に、固定タイマ値設定フィールドの値が固定タイマ値設定信号269の一部である固定タイマ設定値(不図示)として出力される。これにより、タイマ最適化モジュール252内の最適タイマ値格納モジュール257の最適タイマ値を書き換えることが可能である。
16ビットの調整済み最適タイマ値参照フィールドは、タイマ値調整が完了したタイミングで更新され、格納済み最適タイマ値261が格納されるレジスタフィールドである。調整済み最適タイマ値参照フィールドは、CPU10によってリードが可能なリードオンリレジスタである。
[最適タイマ値の決定と使用]
以下、ディジタルカメラシステム用の情報処理装置201における動画撮影を例に、図12A、図12Bを参照して説明した最適タイマ値の自動調整シーケンスを説明する。図14により最適タイマ値の自動調整シーケンスを示す。図14の横軸は情報処理装置201の制御シーケンスの単位を示し、縦軸は時間軸と各制御シーケンスの処理内容を示す。
図14は、情報処理装置201において、動画撮影の初期の10フレームの処理中に動的にタイマ値を調整し最適タイマ値を決定して、後続の11フレーム以降の処理に最適タイマ値を使用するシーケンス例を示す。また、タイマ値最適化モジュール252に入力されるタイマ値調整モード選択信号253、タイマ値調整用パラメータ270、タイマ値更新トリガ信号254が情報処理装置201においてどのように制御されるかを説明する。
フレーム1の調整用タイマ値を50、フレーム10まで、フレームが更新されるごとに調整用タイマ値を10ずつ更新する設定が、CPU10によって、設定レジスタ800に予め行われているものと仮定する。つまり、図13に示すタイマ値調整用パラメータの開始タイマ値フィールドに「50」、ステップ値フィールドに「10」、タイマ値更新数フィールドに「10」が設定されていると仮定する。
シーケンス4000は、CPU10におけるOS等のソフトウェアによって実行されるシステムの基本的な動作である。シーケンス4001は、動画処理部211における動画撮影に必要な処理である。シーケンス4002は、タイマ値最適化モジュール252における最適タイマ値調整であり、調整中および調整後インターバルタイマ251に入力されるタイマ値4003を併記する。シーケンス4004は、システム内で発生したイベントを検出して、CPU10に通知する割込処理である。
ユーザがカメラ機器本体の動画撮影ボタンを押す(ON)動画撮影要求が検出されると、CPU10に対して割り込みが発生する(S101)。当該割り込みを受けたCPU10は、動画処理部211に動画撮影の開始を指示する(S61)。同時に、CPU10は、設定レジスタ800のタイマ値調整モード選択フィールドに‘1’を設定してタイマ値調整モード選択信号253をアクティブにし、タイマ値最適化モジュール252に最適タイマ値調整の開始を指示する(S62)。
次に、映像入力部212を介してビデオ垂直同期信号(VSYNC)が検出されると、CPU10に対して割り込みが発生する(S102)。当該割り込みを受けたCPU10は、動画処理部211に、フレーム1に関する1フレーム処理の開始を指示する(S63)。同時に、CPU10は、設定レジスタ800のタイマ値更新トリガフィールドに‘1’を設定して、電力制御モジュール25にタイマ値更新を指示する(S64)。当該指示を受けたタイマ値最適化モジュール252のタイマ値調整モジュール255は、予め設定されているタイマ値調整用パラメータに従いインターバルタイマ251に調整用タイマ値を出力する(S67)。最初の更新トリガの場合、タイマ値調整用パラメータの開始タイマ値フィールドに設定された「50」がインターバルタイマ251に出力される。
動画処理部211がフレーム1を処理している(S65)間、電力制御モジュール25は、動画処理に対してバックグラウンドで省電力効果測定を行う(S66)。省電力効果測定の具体的な手法は前述したとおりである。
この1フレーム処理期間中に、図9に示すようなインターバルタイマへのタイマ値のロード→カウントダウン→ロード→カウントダウン→…が繰り返され、省電力モード移行要求がバスモジュールに対して発行されることになる。この期間中、タイマ値調整に使用される調整用タイマ値は常に一定の値「50」である(S67)。
次に、映像入力部212を介して2フレーム目のVSYNCが検出されると、CPU10に対して割り込みが発生する(S103)。当該割り込みを受けたCPU10は、動画処理部211に、フレーム2に関する1フレーム処理の開始を指示する(S68)。なお、フレーム2に関する1フレーム処理の開始指示がフレーム1に関する処理終了指示を兼ねる。
CPU10は、設定レジスタ800のタイマ値更新トリガフィールドに再び‘1’を設定することで、タイマ値最適化モジュール252に二回目のタイマ値更新指示を行う(S69)。当該指示を受けたタイマ値最適化モジュール252のタイマ値調整モジュール255は、予め設定されているタイマ値調整用パラメータに従いインターバルタイマ251に調整用タイマ値を出力する(S72)。二回目の更新トリガの場合、タイマ値調整用パラメータの開始タイマ値フィールドで設定された「50」にステップ値フィールドに設定された「10」を加えた「60」がインターバルタイマ251に出力される)。以降の動作は1フレーム目と同様である。
調整用タイマ値は、タイマ値調整用パラメータ270により、初期値50、1フレームごとに10ずつ加算に設定されている。従って、フレームの処理が繰り返されて最後の調整となるフレーム10において調整用タイマ値は「140」になる。
フレーム10の処理完了後、CPU10は、VSYNCによる割り込みを受けると(S107)、フレーム11に関する1フレーム処理の開始を指示する(S85)。CPU10は、更新トリガとしてのVSYNCの発生回数を監視し、予め決めた10フレーム分のタイマ値調整が完了したとして、タイマ値調整モード選択フィールドに‘0’を設定する。これにより、タイマ値調整モード選択信号253が非アクティブになり、最適タイマ値調整の終了指示が行われる(S86)。
最適タイマ値調整の終了指示により、タイマ値最適化モジュール252は、フレーム1からフレーム10までの間で最も省電力効果が高い調整用タイマ値が(後続フレーム11において)選択される。図14は、フレーム6において使用された調整用タイマ値「100」が選択された例を示している。
ユーザがカメラ機器本体の動画撮影ボタンを再び押す(OFF)動画撮影終了要求が検出されると、CPU10に対して割り込みが発生する(S109)。当該割り込みを受けたCPU10は、動画処理部211に動画撮影の終了を指示する(S110)。
以上が動画撮影処理の開始から終了までのフレーム処理とタイマ値調整フローである。上記では、VSYNCによる割り込みを受けたCPU10が更新トリガを発生する例を説明したが、CPU10の介在なしに、ハードウェアによて更新トリガを発生させる構成も考えられる。
●最適タイマ値の決定
図15(a)によりタイマ値に対して測定された省電力効果の一例を示す。つまり、図15(a)は、図14に示すタイマ値調整フローにおけるフレーム1からフレーム10の最適タイマ値探索の結果として得られる省電力効果を示す。
図15(a)は、フレーム番号ごとに、当該フレームの処理時に使用された調整用タイマ値、省電力モード期間(省電力モードカウンタ値)、省電力モード移行期間(省電力モード移行期間カウンタ値)、省電力効果(省電力効果判定信号値)を示す。図15(a)の例にによると、最大の省電力効果の値はフレーム6において得られた「600」であり、その際のタイマ値が「100」である。図15(a)の例によれば、フレーム11以降、最適タイマ値として「100」が採用される。
[情報処理装置201の機器状態]
上記では動画撮影を例に最適タイマ値を決定するフローを説明した。しかし、ディジタルカメラは動画撮影だけでなく、電源投入直後から様々な機器状態を有し、状態ごとに最適タイマ値が異なると考えられる。
図16により情報処理装置201における電源投入後の各機器状態を説明する。ディジタルカメラの機器状態として、初期化、操作待ち、LCDオフ、動画撮影、静止画撮影、動画再生、静止画再生の合計七つの状態を定義する。
電源が投入されると、カメラ本体の初期化処理が実施される(S200)。初期化処理が完了すると、操作待ち状態(S201)に移行し、ユーザによるカメラ本体のボタン操作待ち状態に入る。ユーザのボタン操作が所定時間ない場合は液晶ディスプレイ(LCD)の電源を落とすLCDオフ状態に入る(S206)。ボタン操作があると、LCDオフ状態(S206)からは操作待ち状態(S201)に復帰する。
ボタン操作によって、操作待ち状態(S201)から動画撮影、静止画撮影、動画再生、静止画再生の何れかの状態(動作モード)に移行する。これら四つの動作モードは、動画撮影処理(S202)、静止画撮影処理(S203)、動画再生処理(S204)、静止画再生処理(S205)である。それぞれ動画撮影ボタン、静止画撮影ボタン、動画再生ボタン、静止画再生ボタンが押されたことの検出により操作待ち状態(S201)から遷移する。これら動作モードの処理が終了すると操作待ち状態(S201)に戻る。
●機器状態ごとの最適タイマ値の決定
動画撮影状態と動画再生状態は、動画サイズの設定によりフルハイビジョン(FHD)、ハイビジョン(HD)、スタンダード(SD)に分類される。静止画撮影状態と静止画再生状態は、静止画サイズの設定によりラージ(L)、ミドル(M)、スモール(S)に分類され、かつ、連続撮影が有効か無効かにより分類される。動画サイズ、静止画サイズ、連続撮影の有効・無効は、カメラの撮影モードの設定ボタンにより予め設定されているものとする。
図15(b)により上記のように細分化した合計18の機器状態における最適タイマ値の決定方法を説明する。なお、上記の細分化は、データサイズが異なる処理ごとに最適なタイマ値が異なると考えられるためである。
本実施例においては、二種類の最適タイマ値の決定方法(TYP_1とTYP_2)を用意し、機器状態によってどちらの決定方法を採用するかが定義される。TYP_1は一段階で最適タイマ値を決定する方法であり、TYP_2は二段階で最適タイマ値を決定する方法である。一段目の決定は製品出荷前に行われる最適タイマ値の調整であり、二段目の決定は製品出荷後に行われる最適タイマ値の調整である。
図17によりTYP_1とTYP_2の最適タイマ値の決定方法の違いを説明する。最適タイマ値決定方法がTYP_1を採る機器状態について、CPU10は、製品出荷前のタイマ値調整用パラメータを設定する(S301)。タイマ値調整用パラメータには、図15(b)に示す製品出荷前のタイマ値調整用パラメータが使用され、機器状態に応じて調整用パラメータは異なる。
設定された調整用パラメータに基づき最適タイマ値が調査される(S302)。このときのタイマ値更新トリガに使用するイベントやタイマ値調整モードに使用するイベントは各機器状態によって異なり、詳細は後述する。
タイマ値調整の終了後、CPU10は、調整済み最適タイマ値参照フィールド(図13参照)をリードして、決定された最適タイマ値(T0)を取得し、当該機器状態に対応する最適タイマ値としてROM603に記録する(S303)。
製品出荷後、機器状態が遷移すると(S304)、CPU10によってROM603からリードされた機器状態に対応する最適タイマ値T0が、固定タイマ値設定フィールドを介してタイマ最適化部252に設定される(S305)。なお、最適タイマ値決定方法がTYP_1を採る機器状態においては、図12A、図12Bの動画撮影処理において説明したようなタイマ値更新トリガによりタイマ値が更新されることはなく、当該機器状態にある限り、最適タイマ値T0が使用される。
TYP_1に分類される「操作待ち状態」を例として具体的な説明を行う。製品出荷前、操作待ち状態にある際に最適タイマ値調整が行われるが、製品出荷後とは処理内容が異なるため、製品出荷前のテストモードとして処理フローがプログラミングされているものとする。
機器状態が操作待ち状態に入ると、CPU10は、設定レジスタ800を介してタイマ値調整モード選択信号253をアクティブにする。タイマ値調整用パラメータは、図15(b)によれば(開始タイマ値、ステップ値、タイマ更新数)=(1, 1, 1000)であり、1000回分のタイマ値更新に使用するタイマ値更新トリガは一定時間ごとに発生する周期タイマ割込とする。
周期タイマ割込に1ミリ秒(1ms)が設定されていると仮定すると、1msごとに調整用タイマ値が1から1000まで更新されることになり、調整期間は1ms×1000=1sである。仮に1sではなく10sの調整期間を必要とする場合は、10s以内に操作待ち状態からLCDオフ状態に遷移するようにプログラミングされている場合が考えられる。最適タイマ値の調整に要する時間の方が長い場合、テストモードにおいては、LCDオフ状態に自動遷移しないような処理が必要となる場合が考えられる。
操作待ち状態は、製品出荷前も製品出荷後もその状態はほぼ一定であると仮定して、以下の処理を行う。CPU10は、製品出荷前に決定された最適タイマ値を設定レジスタ800の調整済み最適タイマ値参照レジスタフィールドを調整後にリードすることで、この機器状態における最適タイマ値を得ることができる。そして、取得された最適タイマ値はROM603に記録され、製品出荷後に使用される。図15(b)は、操作待ち状態における最適タイマ値が「10」に決定された例を示す。製品出荷後、操作待ち状態に遷移すると、設定レジスタ800の固定タイマ値設定フィールドに「10」をライトすることで、製品出荷後の最適タイマ値として使用されることになる。
次に、TYP_2の最適タイマ値の決定方法を説明する。最適タイマ値決定方法がTYP_2を採る機器状態は、二段階の最適タイマ値の決定を行う。一段目は製品出荷前にタイマ値の調整範囲を決定し、二段目は製品出荷後に調整範囲内で調整用タイマ値を動的に更新し、最適タイマ値を決定する。
CPU10は機器状態に応じた製品出荷前のタイマ値調整用パラメータを設定し(S310)、タイマ値が最小となる条件(サンプル)において最適タイマ値が調査される(S311)。タイマ値調整の終了後、CPU10は、調整済み最適タイマ値参照フィールドをリードして、決定された最適タイマ値(Tmin)を取得し、当該機器状態に対応する最適タイマ値の下限としてDRAM600またはROM603に記録する(S312)。
次に、CPU10は、再び、当該機器状態に応じた製品出荷前のタイマ値調整用パラメータを設定し(S313)、タイマ値が最大となる条件(サンプル)において最適タイマ値が調査される(S314)。タイマ値調整の終了後、CPU10は、調整済み最適タイマ値参照フィールドをリードして、決定された最適タイマ値(Tmax)を取得し、当該機器状態に対応する最適タイマ値の上限としてDRAM600またはROM603に記録する(S315)。
最適タイマ値の下限値(Tmin)と上限値(Tmax)が確定後、CPU10は、製品出荷後のタイマ値調整用パラメータを決定しROM603へ記録する(S316)。製品出荷後のタイマ更新数をNとした場合、タイマ値調整用パラメータは以下のように算出される。
開始タイマ値 = Tmin;
ステップ値 = (Tmax - Tmin)/N;
タイマ更新数 = N; …(2)
なお、タイマ更新数Nは例えば10であるが、製品出荷後の設定により、タイマ更新数Nを可変にすることも考えられる。また、機器状態に応じて値を変えることも考えられる。
製品出荷後、機器状態が遷移すると(S317)、CPU10によってROM603からリードされた機器状態に対応するタイマ値調整用パラメータが設定される(S318)。そして、タイマ値調整モード信号253とタイマ値更新トリガ信号254に応じて、最適タイマ値の調整と決定が行われる(S319)。なお、ステップS318とS319の処理は、図14に示す1フレーム目から10フレーム目の処理と11フレーム目以降の処理に相当する。つまり、ステップS318とS319の処理は、例えば、動画撮影ボタンが押されて動画撮影が開始される度に繰り返される。
TYP_2に分類される「動画撮影状態(SD)」を例として具体的な説明を行う。動画撮影において「タイマ値が最小となるサンプル」は、データ圧縮率が高いサンプル画像を意味する。この場合、動画撮影状態(SD)の中でもバスシステムの使用帯域が最も低くなることが想定される。従って、製品出荷前に、データ圧縮率が高いサンプル画像を入力して、最適なタイマ値を調査する。
逆に、動画撮影において「タイマ値が最大となるサンプル」は、データ圧縮率が低いサンプル画像を意味する。この場合、動画撮影状態(SD)の中でもバスシステムの使用帯域が最も高くなることが想定される。従って、製品出荷前に、データ圧縮率が低いサンプル画像を入力して、最適なタイマ値を調査する。
動画撮影状態(SD)の製品出荷前のタイマ値調整用パラメータは、図15(b)によれば(開始タイマ値、ステップ値、タイマ更新数)=(1, 1, 1000)である。更新トリガはVSYNC割込により生成されるため、VSYNCの間隔33msに対して33ms×1000=33sで最適タイマ値が求められる。図15(b)は、製品出荷後の動画撮影状態(SD)のタイマ値調整用パラメータが(開始タイマ値、ステップ値、タイマ更新数)=(50, 10, 10)に決定された例を示す。
●機器状態とタイマ値調整モード選択信号、タイマ値更新トリガ信号
図18によりディジタルカメラ製品における機器状態とタイマ値調整モード選択信号253の関係例、および、機器状態とタイマ値更新トリガ信号254の関係例を示す。
動画撮影の場合、前述したように、タイマ値調整モード選択信号253は、動画撮影ボタンのオンの検出でアクティブにされ、予め決められたフレーム数(例えば、製品出荷前は1000フレーム、製品出荷後は10フレーム)の経過で非アクティブにされる。製品出荷前は比較的細く最適タイマ値を求め、製品出荷後はなるべく短時間に最適タイマ値を求めるために、フレーム数が異なる。
また、動画撮影の場合、タイマ値更新トリガ信号254の発生にはVSYNC割込を利用する。これは、動画撮影の場合、フレーム間の誤差が比較的少ないことを仮定している。場合によっては、タイマ値更新トリガ信号254の発生は、1フレーム単位ではなく、複数フレーム単位も考えられる。
静止画撮影の場合、製品出荷前は、1000枚撮影する期間(一枚目の静止画撮影ボタンのオンの検出から1000枚目の静止画撮影ボタンのオンの検出後の静止画撮影完了まで)にタイマ値調整モード選択信号253をアクティブにする。連続撮影が有効な場合、製品出荷後は、五枚撮影する期間のみタイマ値調整モード選択信号253をアクティブにする。また、タイマ値更新トリガ信号254は、静止画撮影ボタンがオンになるイベント(ユーザの命令によるイベント)により発生される。
機器の初期化処理、操作待ち状態、LCDオフ状態の場合、タイマ値調整モード選択信号253は、該当する機器状態への状態遷移時にアクティブにされるが、所定の更新トリガが入力されると非アクティブにされる。また、タイマ値更新トリガ信号254は、動画撮影や静止画撮影のようなイベントで発生されるわけでなく、周期的に発生させる。
上記はディジタルカメラとしての一例であり、他の電子機器のおいても、当該電子機器に応じたアプリケーションごとのイベントによって、タイマ値調整モード選択信号253とタイマ値更新トリガ信号254は制御される。
●最適タイマ値の再探索
最適タイマ値の自動調整シーケンス(図14)の説明において、動画撮影を例に、10フレーム目までに最適タイマ値を求め、11フレーム以降、最適タイマ値を使用し続ける例を示した。ただし、この方法によれば、11フレーム以降、撮影対象の被写体に大きな変動があると省電力効果が低下する可能性がある。以下では、このような問題を解消するために、動画撮影において一度決定した最適タイマ値を再度調整する例を説明する。
図19により最適タイマ値の再探索を説明する。最適タイマ値の再探索は、最適タイマ値省電力効果測定信号2563と省電力効果減少割込信号213を使用して実現される。図19の横軸は時間経過を示し、縦軸は機器状態、フレーム番号、各種信号の状態を示す。
動画撮影処理(SD)において、動画撮影が開始される(T1)と、初期10フレームでタイマ値調整が行われ(T1-T2)、後続フレームで調整後の最適タイマ値「100」が使用される(T2-T3)。時刻T2でタイマ値調整が終了すると同時に、最適タイマ値省電力効果測定信号2563がアクティブになり、最適タイマ値「100」におけるフレームごとの省電力効果が継続して測定される。最適タイマ値省電力効果測定信号2563は、CPU10が設定レジスタ800の最適タイマ値省電力効果測定フィールドに‘1’をライトすることでアクティブになる。図19の例では、11フレーム目に省電力効果「570」、12フレーム目に省電力効果「550」が測定される。
図19の例では、タイマ値調整期間(T1-T2)における最適タイマ値「100」に対する省電力効果の値ETadjは「600」である。省電力効果測定・最適タイマ値判定モジュール2562は、タイマ値調整期間の省電力効果の値ETadjと、タイマ値調整期間終了後(T2-T3)のフレームごとの省電力効果の値ETを、タイマ値更新トリガ信号254の発生タイミングで比較する。比較の結果、下式が成立する場合、省電力効果測定・最適タイマ値判定モジュール2562は、省電力効果減少割込信号213をアサートする(T3)。
if (ET≦ETadj/2)
省電力効果減少割込信号213をアサート; …(3)
つまり、省電力効果減少割り込みの発生は、タイマ値調整期間(T1-T2)において決定した最適タイマ値によってフレーム処理を進めるに従い、省電力効果が減少したことを意味する。省電力効果減少割り込みを受信したCPU10は、再度タイマ値調整を実施する(T3-T4)。最適タイマ値の再探索におけるタイマ値の調整方法は最初のタイマ値調整(T1-T2)と同じ手順で実施される。
図19の例において、一回目のタイマ値調整と二回目のタイマ値調整のタイマ値調整用パラメータは同じ値で実施される。その結果、二回目のタイマ値調整(T3-T4)期間の最適タイマ値は「70」となり、二回目のタイマ値調整後(T4-T5)は最適タイマ値「70」を使用される。また、同時に、最適タイマ値「70」におけるフレームごとの省電力効果測定を継続され、再び式(3)が成立すると省電力効果減少割り込みが発生する。なお、一回目と二回目のタイマ値調整におけるタイマ値調整用パラメータは、同じ値に限らず、異なる値を設定しても構わない。
上記では、動画撮影の動作モードを例に説明したが、アプリケーションや動作モードは限定されない。また、省電力効果の判定に、省電力モード期間と省電力モード移行期間をカウントして、その差分を用いる例を示したが、この判定方法は一例に過ぎず、例えば、省電力モード移行許可の総回数と省電力モード移行不許可の総回数の差分を用いてもよい。その場合、省電力モード移行成功回数測定部を用意して省電力モード移行許可の総回数をカウントし、省電力モード移行失敗回数測定部を用意して省電力モード移行不許可の総回数をカウントする。
また、上記では、動画撮影を例に、各フレーム処理におけるインターバルタイマ251へのタイマ値入力に関し、タイマ値調整段階と調整後最適タイマ値採用段階に分けて制御する例を説明した。タイマ値調整段階では撮影している動画に最適なタイマ値は不明なため、予め決められたルールに基づきフレーム間でタイマ値を動的に変更し、調整タイマ値ごとの省電力効果を定量的に測定する。タイマ値調整段階の終了後、最も省電力効果が高かったタイマ値を最適タイマ値採用段階で使用する。これにより、最適タイマ値採用段階のバスモジュール100の非動作期間を適切に検出することができ、クロック停止期間を長くすることができ、その結果、省電力への寄与が期待される。
[電力制御モジュールの他の構成]
以下、電力制御モジュール25の他の構成例を説明する。マスタモジュール300は、DMAC14、15などの周期的に多量のデータ転送を行うモジュール、および、キャッシュを内蔵するCPU10、11などの非周期的にキャッシュラインの入れ替えのための短いデータ転送を行うモジュールである。このような特性が異なるマスタモジュール300が混在して、バスシステム30に接続される。従って、バスシステム30には、特性が異なる転送データが混在する。
●属性生成回路
図4に示す属性生成回路106は、すべてのスレーブデータ転送制御I/F501が受信するデータ転送要求信号と、マスタIDを入力し、転送要求データ属性信号を生成する。属性生成回路106は、内部にCPUのID、DMACのIDを予め保持しており、入力したマスタIDから、データ転送要求信号を駆動したマスタモジュール300がCPUかDMACか識別可能である。データ転送要求信号がアクティブな全マスタがCPUであれば、転送要求データ属性信号をアクティブにする。データ転送要求信号がアクティブな全マスタがDMACであれば、転送要求データ属性信号をインアクティブにする。CPUとDMACが混在する場合、転送要求データ属性信号をインアクティブにする。
図20(a)のフローチャートにより属性生成回路106の動作を説明する。属性生成回路106は、データ転送要求信号が一つ以上アクティブの場合に動作を開始し、転送要求データ属性信号をインアクティブに初期化する(S401)。そして、データ転送要求信号[0]がアクティブか否かを判定する(S402)。データ転送要求信号[0]がアクティブと判定した場合は、対応するマスタID信号[0]がCPUのマスタIDと一致するか否かを判定する(S403)。マスタID信号[0]がCPUのマスタIDに一致すると判定した場合は、転送要求データ属性信号をアクティブにし(S404)、次のデータ転送要求信号[1]の判定処理(S402)を行う。
ステップS402でデータ転送要求信号[0]がアクティブではないと判定した場合、属性生成回路106は、ステップS403、S404をスキップして、次のデータ転送要求信号[1]の判定処理(S402)を行う。また、ステップS403でマスタID信号[0]がCPUのマスタIDと一致しない判定した場合、属性生成回路106は、転送要求データ属性信号をインアクティブにして(S405)、処理を終了する。
別の構成として、属性生成回路106がプロセッサが使用するプログラム領域のアドレス情報を備え、マスタID信号に代わりアドレス信号を入力する方法がある。データ転送要求がアクティブなアドレス信号がプログラム領域のアドレスか否かを判定し、アドレス信号がプログラム領域のアドレスの場合は転送要求データ属性信号をアクティブにする。
また、別の構成として、転送データに周期、非周期を示す属性信号を含め、データ転送要求信号を駆動するマスタモジュール300が転送データに応じて周期、非周期を切り替える。属性生成回路106は、マスタID信号に代わり属性信号を入力して、転送要求データ属性信号を制御する。
●電力制御モジュール
図21(a)のブロック図により電力制御モジュール25の他の構成例を示す。電力制御モジュール25は、各バスモジュール100に対応する電力制御I/Fを有する。各電力制御I/Fは、省電力モードの移行と復帰を制御する制御モジュール250とインターバルタイマ251、インターバルタイマ251に設定する複数のリファレンス値252を有し、対応するバスモジュール100の状態を管理する。複数のリファレンス値252は異なる値であり、リファレンス値2はリファレンス値1に比較して充分に低い値とする。なお、各制御モジュール250は、電力制御モジュール25のCPUが電力制御モジュール25のROMなどに格納されたプログラムを実行することにより実現される。
図20(b)のフローチャートにより複数のリファレンス値252を有する場合の制御モジュール250の処理を説明する。なお、図20(b)において、図8Aと同様の処理(S11-S20)の記載を省略する。
ステップS20の処理の後、制御モジュール250は、再び省電力モード移行要求を発行するか否かを判定し(S21)、省電力モード移行要求を発行しない場合は処理をステップS12に戻す。また、省電力モード移行要求を発行する場合は、転送要求データ属性信号がアクティブか否かを判定する(S41)。転送要求データ属性信号がアクティブではない場合、制御モジュール250は、インターバルタイマ251のカウント値countにリファレンス値1を設定する(S42)。また、転送要求データ属性信号がアクティブな場合、制御モジュール250は、インターバルタイマ251のカウント値countにリファレンス値2を設定し(S43)、処理をステップS13に戻す。
制御モジュール250による上記の処理により、CPU10、11などのマスタモジュール300による電力制御に関わる手続を軽減することが可能になる。さらに、バスモジュール100を省電力モードへ移行させた後、復帰トリガを受信するとき、復帰のトリガとなったデータ転送要求の転送要求データ属性に応じて、次に省電力モード移行要求信号をアクティブにするまでの期間を制御することが可能である。転送要求データ属性がアクティブのとき、つまり非周期的に発生するキャッシュラインの入れ替えのための短い転送要求データの場合は低い値であるリファレンス値2が選択される。また、転送要求データ属性がインアクティブの場合は高い値であるリファレンス値1が選択される。
また、別の方法として、転送要求データ属性がアクティブの場合は低い値のリファレンス値2を設定するステップS43に遷移せずに、固定のサイクル後、省電力モード移行要求信号をアクティブにするステップS15に遷移してもよい。
●インターバルタイマのカウント値
図21(b)により電力制御信号とインターバルタイマ251のカウント値countの関係を説明する。
省電力モード移行要求信号がアクティブになった後、省電力モード応答信号がアクティブになるが省電力モード許可信号がアクティブにならない状況は、上述したように、バスモジュール100が省電力モードへの移行を許可しない場合である。この場合、電力制御モジュール25は、省電力モード移行要求信号が非アクティブにし、インターバルタイマ251に設定した時間が経過した後、再び省電力モード移行要求信号をアクティブにする。つまり、電力制御モジュール25は、CPU10や11の介在なしにインターバルタイマ251に設定した間隔で省電力モード移行要求を行う。
バスモジュール100は、データのロスやフリーズを避けるためのモード移行期間において、省電力モードへの移行が可能か否かを判定し、移行が可能であればその旨を電力制御モジュール25に通知する。電力制御モジュール25は、省電力モードへの移行が可能な状況においてのみ、電源やクロックを制御することができ、バスモジュール100の省電力化を行うことができる。
電力制御モジュール25は、複数のバスモジュール100に対応して複数のインターバルタイマ251を有する。各インターバルタイマ251の値は、転送要求データの特性に応じて切り替える。転送要求データがDMACの転送データのように周期的に転送する多量のデータの場合、電力制御モジュール25は、インターバルタイマ251に高い値のカウント値count1を設定して、省電力モード移行期間による実効性能の低下の機会を減らす。
また、CPUの転送データのように非周期的なキャッシュラインの入れ替えのための短いデータ転送の場合、電力制御モジュール25は、インターバルタイマ251に低い値のカウント値count2を設定して、速やかに省電力モードへ移行するよう制御する。つまり、転送要求データの特性を考慮して、転送の実効性能と電力消費の最適なバランスを得ることが可能になる。
以上の説明は、当業者が本発明を理解することができるように、本発明の原理、適用例を簡単に説明したものである。上記の説明に様々な変更が施した実施例が、特定の用途に適す場合があり得るが、それらは本発明の範囲に含まれる。例えば、図8A、図8B、図9においては、インターバルタイマ251がダウンカウンタの例を説明したが、インターバルタイマ251としてアップカウンタを利用することもできる。
このように、転送データのロスやフリーズを回避するためにマスタモジュール300に対する特別な処理を必要としない、電力制御が可能なバスシステム30を提供することができる。また、特別な専用回路を用いることなく、比較的簡単な仕組みで定期的に省電力モードに移行させることができるバスモジュール100を提供することができる。従って、電源遮断によるリーク電力の削減機会や、クロック遮断によるクロックツリーでのダイナミック電力の削減機会を増加させることができる。
[その他の実施例]
本発明は、上述の実施形態の一以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける一以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、一以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
30 … バスシステム、300 … マスタモジュール、400 … スレーブモジュール、100 … バスモジュール100、25 … 電力制御モジュール、250 … 制御モジュール

Claims (15)

  1. 複数のマスタモジュールと少なくとも一つのスレーブモジュールとの間のデータ転送を行う複数のバスモジュールを有するデータ転送手段と、
    前記複数のバスモジュールそれぞれとの省電力モードへの移行の可否を示す通信及び機器状態に応じて調整された所定の時間が経過したか否かに基づき、各バスモジュールの省電力モードへの移行を制御する電力制御手段と、
    を有し、
    前記電力制御手段は、前記複数のバスモジュールそれぞれに対応し、対応するバスモジュールとの間で電力制御信号により前記通信を行う複数の制御手段を有する情報処理装置。
  2. 前記制御手段は、対応するバスモジュールに送信する電力制御信号に含まれる省電力モードへの移行を要求する要求信号をアクティブにした後、当該バスモジュールから受信した電力制御信号に含まれる省電力モードへの移行の可否を示す許可信号の状態を判定して、当該バスモジュールが前記省電力モードへの移行が可能か否かを判定する請求項1に記載された情報処理装置。
  3. 前記制御手段は、前記省電力モードへの移行が可能と判定した場合、対応するバスモジュールを前記省電力モードに移行させるために、当該バスモジュールに供給する電源またはクロックを制御する請求項2に記載された情報処理装置。
  4. 前記制御手段は、前記省電力モードへの移行が不可能と判定した場合、対応するバスモジュールに送信する前記要求信号を非アクティブにし、前記所定の時間が経過した後、再び、対応するバスモジュールに送信する前記要求信号をアクティブにする請求項2または請求項3に記載された情報処理装置。
  5. 前記所定の時間は、各バスモジュールのデータ転送能力に応じて設定される請求項4に記載された情報処理装置。
  6. 前記電力制御信号には、前記制御手段が、対応するバスモジュールに送信する省電力モードへの移行を要求する要求信号、並びに、対応するバスモジュールから受信する応答信号および省電力モードへの移行の可否を示す許可信号が含まれる請求項1から請求項4の何れか一項に記載された情報処理装置。
  7. 前記複数のバスモジュールはそれぞれ、データ転送要求信号とデータ転送受信準備信号を用いる二線ハンドシェイクによって前記データ転送を行い、
    各バスモジュールは、対応する制御手段から受信する前記要求信号がアクティブになると、前記データ転送受信準備信号を非アクティブにして転送データの非受信状態に移行し、処理中のデータ転送があるか否かの判定を行う請求項6に記載された情報処理装置。
  8. 各バスモジュールは、前記判定の後、対応する制御手段に送信する前記応答信号をアクティブにする請求項7に記載された情報処理装置。
  9. 対応するバスモジュールから独立した電源を備え、該対応するバスモジュールが省電力モードであるか否かに関わらず前記許可信号の状態を設定可能であるデータ転送検出モジュールを更に備え、
    各制御手段は、対応するバスモジュールから受信中の前記許可信号が非アクティブに変化した場合に転送データの属性を受信し、前記転送データの属性に応じて、前記省電力モードを解除した後、再び、前記要求信号をアクティブにするまでの時間を制御する請求項6に記載された情報処理装置。
  10. 前記転送データの属性は周期的または非周期的に発生するデータであることを示す請求項9に記載された情報処理装置。
  11. 前記転送データの属性がキャッシュラインの入れ替えデータであると判定した場合の前記要求信号をアクティブにするまでの時間は、前記転送データの属性がキャッシュラインの入れ替えデータではないと判定した場合の前記要求信号をアクティブにするまでの時間よりも長い請求項9に記載された情報処理装置。
  12. 前記転送データの属性はデータ転送要求信号の駆動モジュールを識別するマスタIDである請求項9に記載された情報処理装置。
  13. 前記転送データの属性はレジスタのアドレスである請求項9に記載された情報処理装置。
  14. 複数のマスタモジュールと少なくとも一つのスレーブモジュールとの間のデータ転送を行う複数のバスモジュールを有するデータ転送装置の制御方法であって、
    電力制御手段が、前記複数のバスモジュールそれぞれとの省電力モードへの移行の可否を示す通信及び機器状態に応じて調整された所定の時間が経過したか否かに基づき、各バスモジュールの省電力モードへの移行を制御し、
    前記電力制御手段は、前記複数のバスモジュールそれぞれに対応する複数の制御手段を有し、各制御手段は、対応するバスモジュールとの間で電力制御信号により前記通信を行う制御方法。
  15. コンピュータを請求項1から請求項13の何れか一項に記載された情報処理装置の電力制御手段として機能させるためのプログラム。
JP2014160802A 2013-12-06 2014-08-06 情報処理装置、並びに、データ転送装置の制御方法 Active JP6774160B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014160802A JP6774160B2 (ja) 2013-12-06 2014-08-06 情報処理装置、並びに、データ転送装置の制御方法
US14/553,852 US9678562B2 (en) 2013-12-06 2014-11-25 Information processing apparatus, data transfer apparatus, and control method for data transfer apparatus
CN201410727879.XA CN104699642B (zh) 2013-12-06 2014-12-04 信息处理装置、数据传送装置及数据传送装置的控制方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013253609 2013-12-06
JP2013253609 2013-12-06
JP2014160802A JP6774160B2 (ja) 2013-12-06 2014-08-06 情報処理装置、並びに、データ転送装置の制御方法

Publications (3)

Publication Number Publication Date
JP2015130147A JP2015130147A (ja) 2015-07-16
JP2015130147A5 JP2015130147A5 (ja) 2017-09-07
JP6774160B2 true JP6774160B2 (ja) 2020-10-21

Family

ID=53271125

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014160802A Active JP6774160B2 (ja) 2013-12-06 2014-08-06 情報処理装置、並びに、データ転送装置の制御方法

Country Status (3)

Country Link
US (1) US9678562B2 (ja)
JP (1) JP6774160B2 (ja)
CN (1) CN104699642B (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104204975B (zh) * 2012-03-26 2016-10-12 三菱电机株式会社 定序程序调试辅助装置
KR102151178B1 (ko) * 2014-05-19 2020-09-02 삼성전자 주식회사 직렬 통신 장치 및 그 방법
JP6425492B2 (ja) * 2014-10-17 2018-11-21 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
US9690364B2 (en) * 2015-09-04 2017-06-27 Qualcomm Incorporated Systems and methods for dynamically adjusting memory state transition timers
US9781679B2 (en) * 2015-11-27 2017-10-03 Samsung Electronics Co., Ltd. Electronic systems and method of operating electronic systems
CN106126841B (zh) * 2016-06-30 2019-08-23 福州瑞芯微电子股份有限公司 一种基于硬件变频的方法和装置
JP6977439B2 (ja) * 2017-09-20 2021-12-08 ブラザー工業株式会社 電子機器
JP6991812B2 (ja) * 2017-09-26 2022-01-13 キヤノン株式会社 接続された外部装置と通信可能であって省電力状態に移行が可能なコントローラを備える情報処理装置及びその制御方法
US11144457B2 (en) * 2018-02-22 2021-10-12 Netspeed Systems, Inc. Enhanced page locality in network-on-chip (NoC) architectures
AU2018452006B2 (en) 2018-12-03 2022-12-01 Hewlett-Packard Development Company, L.P. Logic circuitry
CN110674063B (zh) * 2019-09-16 2021-03-23 上海天数智芯半导体有限公司 一种用于芯片内实现fabric的架构和方法
US20230400333A1 (en) * 2022-06-10 2023-12-14 Badger Meter, Inc. System and Method for Identifying the Effect of Changes in a Utility Monitoring System

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5504907A (en) * 1991-02-14 1996-04-02 Dell Usa, L.P. Power management system with adaptive control parameters for portable computer
JPH08335357A (ja) * 1995-06-08 1996-12-17 Fujitsu Ltd 記憶装置
US6711691B1 (en) * 1999-05-13 2004-03-23 Apple Computer, Inc. Power management for computer systems
US6631434B1 (en) * 1999-11-15 2003-10-07 Hewlett-Packard Development Company, L.P. Dynamic early indication system for a computer
JP4733877B2 (ja) * 2001-08-15 2011-07-27 富士通セミコンダクター株式会社 半導体装置
US20030135676A1 (en) * 2002-01-17 2003-07-17 Koninklijke Philips Electronics N.V. Low-power bus interface
US7155618B2 (en) * 2002-03-08 2006-12-26 Freescale Semiconductor, Inc. Low power system and method for a data processing system
JP3654284B2 (ja) * 2002-10-03 2005-06-02 日本電気株式会社 無線端末装置及びそれを用いた無線通信システム
US7398403B2 (en) * 2004-07-01 2008-07-08 Matsushita Electric Industrial Co., Ltd. Multiprocessor control apparatus, control method thereof, and integrated circuit
JP4455540B2 (ja) 2006-06-15 2010-04-21 キヤノン株式会社 バスシステム及び調停方法
JP5023660B2 (ja) * 2006-10-31 2012-09-12 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置、および画像形成装置の制御方法
JP4921283B2 (ja) * 2007-08-20 2012-04-25 株式会社日立製作所 半導体装置
JP2009122922A (ja) * 2007-11-14 2009-06-04 Panasonic Corp データ処理装置
JP2010072897A (ja) * 2008-09-18 2010-04-02 Nec Electronics Corp クロック供給装置
JP5627603B2 (ja) * 2009-01-12 2014-11-19 ラムバス・インコーポレーテッド クロック転送低電力シグナリングシステム
US8448001B1 (en) * 2009-03-02 2013-05-21 Marvell International Ltd. System having a first device and second device in which the main power management module is configured to selectively supply a power and clock signal to change the power state of each device independently of the other device
JP5725695B2 (ja) * 2009-03-16 2015-05-27 キヤノン株式会社 データ記憶装置、及びデータ記憶装置の制御方法
US9286257B2 (en) * 2011-01-28 2016-03-15 Qualcomm Incorporated Bus clock frequency scaling for a bus interconnect and related devices, systems, and methods
KR101842245B1 (ko) * 2011-07-25 2018-03-26 삼성전자주식회사 시스템 온 칩 버스 장치 및 그에 따른 루트 클럭 게이팅 방법
JP5775398B2 (ja) * 2011-08-25 2015-09-09 ルネサスエレクトロニクス株式会社 半導体集積回路装置
US20130117593A1 (en) * 2011-11-07 2013-05-09 Qualcomm Incorporated Low Latency Clock Gating Scheme for Power Reduction in Bus Interconnects
JP2013106166A (ja) * 2011-11-14 2013-05-30 Sony Corp クロックゲーティング回路およびバスシステム
CN104054037B (zh) * 2011-12-16 2016-10-12 日立麦克赛尔株式会社 接收设备以及电力供给方法
JP5146590B2 (ja) * 2011-12-20 2013-02-20 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置およびその制御方法
US9378132B2 (en) * 2012-03-22 2016-06-28 Hgst Technologies Santa Ana, Inc. System and method for scanning flash memories

Also Published As

Publication number Publication date
US20150160716A1 (en) 2015-06-11
CN104699642A (zh) 2015-06-10
JP2015130147A (ja) 2015-07-16
US9678562B2 (en) 2017-06-13
CN104699642B (zh) 2018-04-24

Similar Documents

Publication Publication Date Title
JP6774160B2 (ja) 情報処理装置、並びに、データ転送装置の制御方法
EP3872604B1 (en) Hardware automatic performance state transitions in system on processor sleep and wake events
US9110671B2 (en) Idle phase exit prediction
TWI468926B (zh) 處理器電力管理及方法
EP1286248B1 (en) Semiconductor device with hardware mechanism for proper clock control
US8127153B2 (en) Memory power profiling
TWI544323B (zh) 用於增加感測器控制器之能源效率的設備、電腦可讀媒體、方法和系統
US8806232B2 (en) Systems and method for hardware dynamic cache power management via bridge and power manager
TW201428760A (zh) 記憶體控制器之調校、電力閘控與動態頻率改變
US8892922B2 (en) Voltage detection
JP2013025792A (ja) フレキシブルフラッシュコマンド
JP2013025794A (ja) フラッシュインタフェースの有効利用
US20190012283A1 (en) Dma controller with trigger sequence generator
JP2011095967A (ja) バス共有システム
JP6425492B2 (ja) 情報処理装置、情報処理方法およびプログラム
US20060179172A1 (en) Method and system for reducing power consumption of a direct memory access controller
JP2012181573A (ja) マイクロコンピュータ
JP2001034530A (ja) マイクロコンピュータおよびメモリアクセス制御方法
JP6128833B2 (ja) 処理装置
US9619386B2 (en) Synchronization variable monitoring device, processor, and semiconductor apparatus
JP2014038502A (ja) 情報処理装置、情報処理方法、およびプログラム
US10552166B1 (en) Data unit synchronization between chained pipelines
JP4416575B2 (ja) メモリ制御方法及びメモリ制御装置
JP2013196112A (ja) メモリシステムとその省電力制御方法
TW202411816A (zh) 微控制器系統及使用該微控制器系統處理資料的方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170728

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170728

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180803

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181002

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190408

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190708

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20190708

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20190716

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20190719

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20190927

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20191004

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20200403

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20200626

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20200720

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20200904

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20200904

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201002

R151 Written notification of patent or utility model registration

Ref document number: 6774160

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151