(57)【要約】【課題】バスマスタの処理マージンを無駄にすることなく省電力モードを長くすること。【解決手段】共有メモリ単位で転送コマンドを制御する複数のコマンド制御部と、複数の共有メモリの省電力モードを制御する省電力モード制御部を備え、前記コマンド制御部は共有メモリへの転送要求を調停するアービターと、前記アービターで調停された転送のコマンドを一時格納するコマンドキューと、により共有メモリへの転送コマンドを制御し、前記省電力モード制御部は、バスマスタより複数の共有メモリに対して複数の転送要求が発行された際に、複数の転送間で転送制約が付加されている場合は、転送制約が付加された複数の転送が終了する時間を算出し、転送終了が遅い側の転送終了時間を超えない範囲で、転送終了が早い側の転送終了時間を遅らせるように共有メモリの省電力モードを制御することを特徴とする。【選択図】図１
2020035263.tif 000002
【特許請求の範囲】
【請求項１】
複数のバスマスタから複数の共有メモリに対する転送を制御するメモリコントローラであって、
共有メモリ単位で転送コマンドを制御する複数のコマンド制御部と、
複数の共有メモリの省電力モードを制御する省電力モード制御部を備え、
前記コマンド制御部は共有メモリへの転送要求を調停するアービターと、前記アービターで調停された転送のコマンドを一時格納するコマンドキューと、により共有メモリへの転送コマンドを制御し、
前記省電力モード制御部は、前記バスマスタより複数の共有メモリに対して複数の転送要求が発行された際に、複数の転送間で転送制約が付加されている場合は、転送制約が付加された複数の転送が終了する時間を算出し、転送終了が遅い側の転送終了時間を超えない範囲で、転送終了が早い側の転送終了時間を遅らせるように共有メモリの省電力モードを制御することを特徴とするメモリコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリコントローラに関する。
【背景技術】
【０００２】
従来、ＳＤＲＡＭ等の揮発性メモリとＬＳＩを組み合わせてシステムを構築することで、ＬＳＩ内部のメモリ容量（回路規模）の削減が行われている。このようなシステムでは、共有メモリへの転送が競合した場合に調停するためのメモリコントローラが用いられている。しかし近年、半導体微細化技術の進歩に伴い、一つのＬＳＩに実装可能な回路規模が急増している。
【０００３】
このため、デジタルスチルカメラやビデオカメラなどの撮像装置においても、システム制御用のＣＰＵ、センサからの入力画像に対して色変換やリサイズ処理等を行う現像処理部、記録媒体に効率良く記録するためのデータ圧縮手段等が一つのＬＳＩに実装され、複数のバスマスタで共有メモリを使用するケースが増えている。この結果、共有メモリの調停においてバスマスタ間の優先度だけで制御することが難しくなっている。
【０００４】
また、微細化技術の進歩によりＬＳＩ内部で動作するクロック周波数も高速化しており、回路規模の増加とクロック周波数の高速化により消費電力が増加しており、消費電力の削減が求められている。そこで、バスシステムや外付けメモリの消費電力を抑えるための省電力モードを備える撮像装置が提案されている。しかし、省電力モードのＯＮ／ＯＦＦ切り替えには所定のシーケンスを実行する時間が必要となり、省電力モードの切り替え中はメモリに対する転送ができない。このため、省電力モードの切り替えが頻繁に発生するとメモリの転送帯域をロスし、電力削減効果も低くなる。
【０００５】
そこで、特許文献１には、省電力モード中にバスマスタからの転送要求が発生した場合は、バスマスタのレイテンシ要求を超えない範囲で省電力モードからの復帰を所定時間遅らせることで省電力モードの期間を長くする方法が提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１６−８１３５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
撮像装置では、１枚の画像単位で処理を実行するバスマスタと、１枚の画像内の１水平ライン単位で処理を実行するバスマスタが存在している。各バスマスタの１回あたりのレイテンシ要求は、処理単位あたりの処理マージンを転送要求回数で割った値で求められる。ここで、１枚の画像処理期間のなかで、複数のバスマスタが非同期に共有メモリに転送を実施するため、共有メモリの混雑度には疎密が発生する。このため、１枚の画像単位で処理するバスマスタはシステム全体が疎な期間でマージンを貯めておき、システム全体が密な期間は貯め込んだマージンを吐き出すことで全体のバランスを調整している。
【０００８】
しかし、特許文献１の方法では１回の転送要求単位でレイテンシ要求を超えない範囲で
省電力モードからの復帰を遅らせているため、マージンの調整が難しくなる。また、所定時間を経過し、待たせていた転送要求を実行した時点で次の転送が発生しない場合は再度省電力モードに切り替えることになる。この場合は、電力削減効果は得られないが、バスマスタの処理マージンはロスすることとなる。
【０００９】
本発明は、バスマスタの処理マージンを無駄にすることなく省電力モードを長くすることによる電力削減効果を得ることを目的とする。
【課題を解決するための手段】
【００１０】
上記の目的を達成するために、本発明に係るメモリコントローラは、
複数のバスマスタから複数の共有メモリに対する転送を制御するメモリコントローラであって、共有メモリ単位で転送コマンドを制御する複数のコマンド制御部と、複数の共有メモリの省電力モードを制御する省電力モード制御部を備え、前記コマンド制御部は共有メモリへの転送要求を調停するアービターと、前記アービターで調停された転送のコマンドを一時格納するコマンドキューと、により共有メモリへの転送コマンドを制御し、前記省電力モード制御部は、前記バスマスタより複数の共有メモリに対して複数の転送要求が発行された際に、複数の転送間で転送制約が付加されている場合は、転送制約が付加された複数の転送が終了する時間を算出し、転送終了が遅い側の転送終了時間を超えない範囲で、転送終了が早い側の転送終了時間を遅らせるように共有メモリの省電力モードを制御することを特徴とする。
【発明の効果】
【００１１】
本発明に係るメモリコントローラによれば、複数の共有メモリ間の転送状況に応じて省電力モードを制御することでバスマスタの処理マージンを無駄にすることなく省電力モードを長くすることによる電力削減効果が得られる。
【図面の簡単な説明】
【００１２】
【図１】撮像装置の構成図である。
【図２】省電力モード制御のフローチャートである。
【図３】省電力モード制御のタイミングチャートである。
【図４】従来の省電力モード制御のタイミングチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態について、図面を参照しながら説明する。
【００１４】
［実施形態１］
図１は、本発明の撮像装置における実施形態の構成を示す図である。以下、図１について説明する。
【００１５】
図１において、画像処理を行うＬＳＩ１００、被写体像を光電変換する撮像センサ１２０、処理後の画像を表示する表示部１３０、処理後の静止画や動画を記録する記録媒体１４０、プログラムの格納や画像処理手段で生成される中間画像等の一時記録を行うＳＤＲＡＭ１５０ａ、ＳＤＲＡＭ１５０ｂで構成される。ＣＰＵ１０１は、ＳＤＲＡＭ１５０ａよりプログラムを読み出し、タイミング制御手段１０２に対して撮影モードに応じた周期設定を行う。
【００１６】
タイミング制御手段１０２は、設定された周期に応じて、センサ制御手段１０３、表示制御手段１０４に対して水平垂直の同期信号を出力する。センサ制御手段１０３は入力された同期信号に合わせて、撮像センサ１２０の出力を制御する。撮像処理手段１０５は、撮像センサ１２０から出力された画像データに対して欠陥画素補正、シェーディング補正などを行う。処理された画像データはメモリバス１０６、メモリコントローラ１１０を経由してＳＤＲＡＭ１５０ｂに記録される。
【００１７】
現像処理部１０７は、メモリバス１０６、メモリコントローラ１１０を経由してＳＤＲＡＭ１５０ｂに記録されている撮像処理後の画像データを読み出し、画素補間やフィルタ処理、縮小といったリサイズ処理や色変換処理、例えば圧縮画像データに保存するのに最適なフォーマットであるＹＣｂＣｒ形式のフォーマットに変換する処理などの現像処理を行い、処理後の画像をメモリバス１０６、メモリコントローラ１１０経由でＳＤＲＡＭ１５０ａとＳＤＲＡＭ１５０ｂに記録する。
【００１８】
ここで、現像後の画像は輝度信号であるＹと色差信号であるＣｂＣｒを分けて輝度信号をＳＤＲＡＭ１５０ａ、色差信号をＳＤＲＡＭ１５０ｂに記録する。認識処理部１０８は、メモリバス１０６、メモリコントローラ１１０を経由してＳＤＲＡＭ１５０ａより輝度信号を読み出し、予め設定されている人物の顔情報と比較して特定の人物が含まれているかを判定する。
【００１９】
表示制御手段１０４は、同期信号に合わせてメモリバス１０６、メモリコントローラ１１０を経由しＳＤＲＡＭ１５０ａ、ＳＤＲＡＭ１５０ｂより現像処理後の画像データを読み出し、表示部１３０に出力する。符号化部１０９は、メモリバス１０６、メモリコントローラ１１０を経由し、ＳＤＲＡＭ１５０ａ、ＳＤＲＡＭ１５０ｂより現像処理後の画像を読み出し、Ｈ．２６４等の圧縮・符号化処理を行い、記録媒体１４０に記録する。次にメモリコントローラ１１０内部の構成について説明する。
【００２０】
メモリコントローラ１１０はＳＤＲＡＭ１５０ａとＳＤＲＡＭ１５０ｂに対するコマンドを制御するコマンド制御手段１１１ａ、１１１ｂとＳＤＲＡＭ１５０ａとＳＤＲＡＭ１５０ｂの省電力モードを制御する省電力モード制御部１１２で構成される。コマンド制御部１１１ａ、１１１ｂはバスマスタからの転送要求を調停する調停部１１３ａ、１１３ｂと調停後の転送コマンドを一時的に格納するコマンドキュー１１４ａ、１１４ｂで構成される。
【００２１】
省電力モード制御部１１２は、コマンドキュー１１４ａ、１１４ｂのコマンド格納状況とＳＤＲＡＭ１５０ａ、１５０ｂの省電力モードの状況応じて、省電力モードの切り替えを制御する。省電力モード制御部１１２は図示しないタイマーを備え、タイマーで省電力モードの切り替えタイミングを遅らせる制御を行う。
【００２２】
図２は、省電力モード制御部１１２の制御フローチャートである。図２用いて本実施形態の省電力モード制御について説明する。なお、省電力モード制御手段１１２は各ＳＤＲＡＭ単位で省電力モードを制御しており、各コマンドキューに新しいコマンドが入力されるか、各ＳＤＲＡＭで実行中のコマンドが終了し、新しいコマンドが発行可能となるタイミングか、省電力モード制御部内の各ＳＤＲＡＭ単位で用意しているタイマーにセットされた時間が経過すると、各ＳＤＲＡＭ単位でフローチャートの処理を開始する。
【００２３】
フローチャートの処理が開始されると、タイマーにセットした時間が経過したかを判定し（ＳＴＥＰ２０１）、時間が経過している場合は、省電力モードをＯＮからＯＦＦに切り替える（ＳＴＥＰ２０２）。時間が経過していない場合は、コマンド発行が可能となった側の省電力モードがＯＮになっているかを判定する（ＳＴＥＰ２０３）。省電力モードがＯＮの場合は、複数の転送要求間の転送制約が付加されているかを判定（ＳＴＥＰ２０４）し、付加されていない場合は省電力モードをＯＮからＯＦＦに切り替える（ＳＴＥＰ２０２）。
【００２４】
転送制約が付加されている場合は、新しいコマンドが入力された側の転送が終了するまでの時間と、他方の転送が終了するまでの時間を算出（ＳＴＥＰ２０５）し、新しいコマンドの転送の終了時間が他方の転送の終了時間より大きいかを判定する（ＳＴＥＰ２０６）。新しいコマンドの転送終了時間が他方の転送時間より大きい場合は、省電力モードをＯＦＦに切り替える（ＳＴＥＰ２０２）。新しいコマンドの転送終了時間が他方の転送時間より小さい場合は差分時間をセットし、タイマーを起動して（ＳＴＥＰ２０７）処理を終了する。
【００２５】
ＳＴＥＰ２０３において、省電力モードがＯＦＦの場合は、コマンドキュー内にコマンドが格納されているかを判定（ＳＴＥＰ２０８）し、コマンドが格納されている場合はそのまま処理を終了する。コマンドが格納されていない場合は、省電力モードをＯＦＦからＯＮに切り替えて（ＳＴＥＰ２０９）処理を終了する。
【００２６】
図４は、従来の省電力制御のタイミングチャートである。図４において、説明を簡素化するためにバスマスタからの転送要求を２つのバスマスタに限定しており、調停部における転送要求の競合が発生しないものとしている。図４（１）時間軸は処理時間の指標であり、Ｔ０〜Ｔ１の処理は処理時間：１、Ｔ２〜Ｔ４の処理は処理時間：２となる。図４（２）は現像処理部１０７の転送要求のタイミングを示しており、輝度信号用の転送要求と色差信号用の転送要求を並行して発行する。図４（３）は認識処理部１０８の転送要求のタイミングを示している。また、図４（２）、（３）において、信号の立ち上がりで転送要求開始、立下りで転送要求が受け付けられたことを示している。また、転送要求仕様として、アドレス情報（ａ：ＳＤＲＡＭ１５０ａ、ｂ：ＳＤＲＡＭ１５０ｂ）を付加している。
【００２７】
図４において、（４）〜（７）はＳＤＲＡＭ１５０ａに関する動作タイミングを示し、（８）〜（１１）はＳＤＲＡＭ１５０ｂに関する動作タイミングを示している。図４（４）、（８）はコマンドキュー１１２ａ、１１２ｂに格納されているコマンドの種類と数を示している。図４（５）、（９）は省電力モードをＯＦＦからＯＮに切り替えるタイミングを遅らせるためのタイマーのカウントを示しており、カウントが‘１’から‘０’に変化するタイミングで省電力モードの切り替えを開始する。
【００２８】
図４（６）、（１０）はＳＤＲＡＭ１５０ａ、１５０ｂに対する省電力モードの状態を示しており、ＯＦＦの期間のみＳＤＲＡＭに対して転送が行われる。図４（７）、（１１）はＳＤＲＡＭ１５０ａ、１５０ｂの動作状況を示しており、ＳＤＲＡＭが省電力状態になっている期間をスタンバイ、省電力状態から転送が開始できる状態への移行期間を↑印、転送状態からスタンバイ状態への移行期間を↓印、各バスマスタに対する転送処理中をバスマスタ名で示している。ここで、バスマスタに対する転送時間はすべてのバスマスタで処理時間：４、各移行期間は処理時間：１としている。
【００２９】
また、移行期間はＳＤＲＡＭへの転送ができない期間であるが、ＳＤＲＡＭはスタンバイ状態となっていないため電力削減効果は得られない。このため、移行回数が多いほど転送帯域をロスすることになる。
【００３０】
次に時間軸を元に処理の流れを説明する。図４において、Ｔ０ではＳＤＲＡＭ１５０ａはスタンバイ状態であり、コマンドキュー１１２ａも空の状態である。また、ＳＤＲＡＭ１５０ｂは符号化部１０９の転送が開始され、コマンドキュー１１２ｂには、撮像処理部１０５の転送が格納されている。Ｔ１では現像処理部１０７からＳＤＲＡＭ１５０ａに対する輝度信号の転送要求とＳＤＲＡＭ１５０ｂに対する色差信号の転送要求が発行される。
【００３１】
Ｔ２では、コマンドキュー１１２ａ、１１２ｂに空きがあるため、調停手段１１３ａ、１１３ｂで現像処理部１０７の転送要求が受け付けられコマンドキュー１１４ａ、１１４ｂに格納される。ここで、ＳＤＲＡＭ１５０ａはスタンバイ状態のため、ＳＤＲＡＭに転送するためには省電力モードをＯＮからＯＦＦに切り替える必要がある。しかし、省電力モードが細切れになることを防止するために予め設定されている時間を待つためにタイマーａをセットする。ここでは待ち時間を処理時間：２とし、カウンタには‘２’がセットされる。
【００３２】
Ｔ３では、タイマーａのカウントがデクリメントされて‘１’となる。Ｔ４では、タイマーａが‘１’から‘０’になり待ち時間が経過したためＳＤＲＡＭ１５０ａの省電力モードの切り替えを開始する。また、ＳＤＲＡＭ１５０ｂの符号化部１０９の転送が終了し、コマンドキュー内の１１４ｂより撮像処理部１０５に対する転送コマンドが読みだされＳＤＲＡＭ１５０ｂに対する転送が開始される。
【００３３】
Ｔ５では、ＳＤＲＡＭ１５０ａに対する転送が可能となるため、コマンドキュー１１４ａより現像処理部１０７の転送が開始される。Ｔ８では、ＳＤＲＡＭ１５０ｂの撮像処理部１０５に対する転送が終了し、コマンドキュー内の１１４ｂより現像処理部１０７の転送が開始される。Ｔ９では、ＳＤＲＡＭ１５０ａの現像処理部１０７に対する転送が終了する。ここで、コマンドキュー１１４ａは空のためＳＤＲＡＭ１５０ａの電力を削減するため省電力モードをＯＦＦからＯＮへの切り替えを開始する。
【００３４】
Ｔ１０では、認識処理部１０８からＳＤＲＡＭ１５０ａに対する転送要求が発行される。また、ＳＤＲＡＭ１５０ａの省電力モードの移行が完了し、スタンバイ状態となる。Ｔ１１では、コマンドキュー１１４ａに空きがあるため、調停手段１１３ａで認識処理部１０８の転送要求が受け付けられコマンドキュー１１４ａに格納される。ここで、ＳＤＲＡＭ１５０ａはスタンバイ状態のため、Ｔ２と同様にタイマーａに‘２’がセットされる。
【００３５】
Ｔ１２では、タイマーａのカウントがデクリメントされて‘１’となる。また、ＳＤＲＡＭ１５０ｂの現像処理部１０７に対する転送が終了する。ここで、コマンドキュー１１４ｂは空のためＳＤＲＡＭ１５０ｂの電力を削減するため省電力モードをＯＦＦからＯＮへ切り替える。
【００３６】
Ｔ１３では、タイマーａが‘１’から‘０’になり待ち時間が経過したためＳＤＲＡＭ１５０ａの省電力モードの切り替えを開始する。また、ＳＤＲＡＭ１５０ｂの省電力モードの移行が完了し、スタンバイ状態となる。
【００３７】
Ｔ１４では、ＳＤＲＡＭ１５０ａに対する転送が可能となるため、コマンドキュー１１４ａより認識処理部１０８の転送が開始される。
Ｔ１８では、ＳＤＲＡＭ１５０ａの認識処理部１０８に対する転送が終了する。ここで、コマンドキュー１１４ａは空のためＳＤＲＡＭ１５０ａの電力を削減するため省電力モードをＯＦＦからＯＮへの切り替えを開始する。Ｔ１９では、ＳＤＲＡＭ１５０ａの省電力モードの移行が完了し、スタンバイ状態となる。
【００３８】
図４では、転送要求を受け付けた時点でＳＤＲＡＭが省電力状態の場合に所定時間待たせる制御をしている。しかし、複数のＳＤＲＡＭの状態を参照していないため、転送要求単位で設定されたレイテンシの範囲内で次の転送要求が発生しない場合は省電力モードの切り替えが発生する。
【００３９】
図３は、複数の転送要求間の転送要求仕様を使用する場合のタイミングを示している。図３（１）〜（１１）は従来の省電力制御タイミングを示す図４（１）〜（１１）と同一の構成要素については説明を省略する。
【００４０】
図３（２）、（３）において、信号の立ち上がりで転送要求開始、立下りで転送要求が受け付けられたことを示している。また、転送要求仕様として、アドレス情報（ａ：ＳＤＲＡＭ１５０ａ、ｂ：ＳＤＲＡＭ１５０ｂ）と複数の転送要求間で転送条件が設定されていることを示すフラグとして●印を付加している。図３（４）、（８）はコマンドキュー１１２ａ、１１２ｂに格納されているコマンドの種類と数を示している。また、複数の転送要求間で転送条件が設定されていることを示すフラグとして●印を付加している。
【００４１】
図２の省電力モード制御のフローチャートと図３より本実施形態の省電力モード制御の動作について説明する。Ｔ０ではＳＤＲＡＭ１５０ａはスタンバイ状態であり、コマンドキュー１１２ａも空の状態である。また、ＳＤＲＡＭ１５０ｂは符号化部１０９の転送が開始され、コマンドキュー１１２ｂには、撮像処理部１０５の転送が格納されている。
【００４２】
Ｔ１では現像処理部１０７からＳＤＲＡＭ１５０ａに対する輝度信号の転送要求とＳＤＲＡＭ１５０ｂに対する色差信号の転送要求が発行される。ここで、現像処理では画素単位で輝度信号と色差信号を同期して処理するため一方の転送が終了しても他方の転送が終了しないと次の処理を開始できない。このため、早く転送が終了する側の転送は遅い側の転送が終了するまでの範囲であれば転送実行のタイミングが遅れてもロスは発生しない。そこで、ＳＤＲＡＭ１５０ａに対する輝度信号の転送要求とＳＤＲＡＭ１５０ｂに対する色差信号の転送要求に対して、転送終了が遅い側の転送終了時間に遅れない範囲で早い側の転送を遅らせる制御をするためのフラグを付加する。
【００４３】
Ｔ２では、コマンドキュー１１２ａ、１１２ｂに空きがあるため、調停手段１１３ａ、１１３ｂで現像処理部１０７の転送要求が受け付けられコマンドキュー１１４ａ、１１４ｂに格納される。ここで、コマンドキュー１１４ａに新しいコマンドが格納されたため、ＳＤＲＡＭ１５０ａに対する省電力モードの制御方法が判定される。ＳＤＲＡＭ１５０ａは省電力モードがＯＮであり、複数の転送間の転送制約が付加されているため、図２のフローチャートで、ＳＴＥＰ２０１→２０３→２０４となる。
【００４４】
ここで、ＳＤＲＡＭ１５０ａにとって自身となるコマンドキュー１１４ａ内の現像処理部の転送が終了するまでの時間と、他方となるコマンドキュー１１４ｂ内の現像処理部の転送が終了するまでの時間を算出する。ここでは、自身の転送はＳＤＲＡＭ１５０ａの省電力モード切り替え時間：１と現像処理部の転送時間：４の合計値で‘５’となる。これに対して、他方の転送は転送中の符号化部の転送の残り時間：２と、コマンドキュー内で次に転送される撮像処理部の転送時間：４と現像処理部の転送時間：４の合計値で‘１０’となる。
【００４５】
このため、ＳＴＥＰ２０６→２０７となり、タイマーａに差分時間の‘５’がセットされる。また、コマンドキュー１１４ｂにも新しいコマンドが格納されたため、ＳＤＲＡＭ１５０ｂに対する省電力モードの制御方法が判定される。ＳＤＲＡＭ１５０ｂは省電力モードがＯＦＦであり、ＳＤＲＡＭ１５０ｂは転送中のため、ＳＴＥＰ２０１→２０３→２０８となり、省電力モードの制御を行わない。
【００４６】
Ｔ３では、タイマーａのカウントがデクリメントされて‘４’となる。Ｔ４では、タイマーａのカウントがデクリメントされて‘３’となる。また、ＳＤＲＡＭ１５０ｂの符号化部１０９の転送が終了し、コマンドキュー内の１１４ｂより撮像処理部１０５に対する転送コマンドが読みだされＳＤＲＡＭ１５０ｂに対する転送が開始される。また、ＳＤＲＡＭ１５０ｂの転送が終了するためＳＤＲＡＭ１５０ｂに対する省電力モードの制御方法が判定される。ＳＤＲＡＭ１５０ｂは省電力モードがＯＦＦであり、ＳＤＲＡＭ１５０ｂは転送中のため、ＳＴＥＰ２０１→２０３→２０８となり、省電力モードの制御を行わない。
【００４７】
Ｔ５では、タイマーａのカウントがデクリメントされて‘２’となる。Ｔ６では、タイマーａのカウントがデクリメントされて‘１’となる。Ｔ７では、タイマーａのカウントがデクリメントされて‘０’となる。ここでは、ＳＤＲＡＭ１５０ａ側のタイマーａにセットした時間が経過するため、ＳＤＲＡＭ１５０ａに対する省電力モードの制御方法が判定される。ここでは、タイマーａにセットした時間が経過したためＳＴＥＰ２０１→２０２となり、省電力モードをＯＦＦからＯＮに切り替えを開始する。
【００４８】
Ｔ８では、ＳＤＲＡＭ１５０ａに対する転送が可能となるため、コマンドキュー１１４ａより現像処理部１０７の転送が開始される。ここで、ＳＤＲＡＭ１５０ａの転送が終了するためＳＤＲＡＭ１５０ａに対する省電力モードの制御方法が判定される。ＳＤＲＡＭ１５０ａは転送中のため、ＳＴＥＰ２０１→２０３→２０８となり、省電力モードの制御を行わない。また、ＳＤＲＡＭ１５０ｂの撮像処理部１０５の転送が終了し、コマンドキュー内の１１４ｂより現像処理部１０７に対する転送コマンドが読みだされＳＤＲＡＭ１５０ｂに対する転送が開始される。また、ＳＤＲＡＭ１５０ｂの転送が終了するためＳＤＲＡＭ１５０ｂに対する省電力モードの制御方法が判定される。ＳＤＲＡＭ１５０ｂは省電力モードがＯＦＦであり、ＳＤＲＡＭ１５０ｂは転送中のため、ＳＴＥＰ２０１→２０３→２０８となり、省電力モードの制御を行わない。
【００４９】
Ｔ１０では、認識処理部１０８からＳＤＲＡＭ１５０ａに対する転送要求が発行される。Ｔ１１では、コマンドキュー１１４ａに空きがあるため、調停手段１１３ａで認識処理部１０８の転送要求が受け付けられコマンドキュー１１４ａに格納される。ここで、コマンドキュー１１４ａに新しいコマンドが格納されたため、ＳＤＲＡＭ１５０ａに対する省電力モードの制御方法が判定される。ＳＤＲＡＭ１５０ａは省電力モードがＯＦＦであり、ＳＤＲＡＭ１５０ａは転送中のため、ＳＴＥＰ２０１→２０３→２０８となり、省電力モードの制御を行わない。
【００５０】
Ｔ１２では、ＳＤＲＡＭ１５０ａの現像処理部１０７の転送が終了し、コマンドキュー内の１１４ａより認識処理部１０８に対する転送コマンドが読みだされＳＤＲＡＭ１５０ａに対する転送が開始される。また、ＳＤＲＡＭ１５０ａの転送が終了するためＳＤＲＡＭ１５０ａに対する省電力モードの制御方法が判定される。ＳＤＲＡＭ１５０ａは省電力モードがＯＦＦであり、ＳＤＲＡＭ１５０ａは転送中のため、ＳＴＥＰ２０１→２０３→２０８となり、省電力モードの制御を行わない。
【００５１】
また、ＳＤＲＡＭ１５０ｂの転送が終了するためＳＤＲＡＭ１５０ｂに対する省電力モードの制御方法が判定される。ＳＤＲＡＭ１５０ｂは省電力モードがＯＦＦであり、ＳＤＲＡＭ１５０ｂは転送中でないため、ＳＴＥＰ２０１→２０３→２０８→２０９となり、省電力モードをＯＦＦからＯＮに切り替える。
【００５２】
Ｔ１３では、タイマーａが‘１’から‘０’になり待ち時間が経過したためＳＤＲＡＭ１５０ａの省電力モードの切り替えを開始する。また、ＳＤＲＡＭ１５０ｂの省電力モードの移行が完了し、スタンバイ状態となる。
【００５３】
Ｔ１６では、ＳＤＲＡＭ１５０ａの認識処理部１０８の転送が終了する。ここで、ＳＤＲＡＭ１５０ａの転送が終了するためＳＤＲＡＭ１５０ａに対する省電力モードの制御方法が判定される。ＳＤＲＡＭ１５０ａは省電力モードがＯＦＦであり、ＳＤＲＡＭ１５０ａは転送中でないため、ＳＴＥＰ２０１→２０３→２０８→２０９となり、省電力モードをＯＦＦからＯＮに切り替える。Ｔ１７では、ＳＤＲＡＭ１５０ａの省電力モードの移行が完了し、スタンバイ状態となる。
【００５４】
図３では、現像処理部から２つのＳＤＲＡＭに並行して発行する２つの転送要求に対し、互いの転送終了時間を比較し、遅い側の転送終了時間を超えない範囲で省電力モードからの復帰を遅らせるように制御される。この結果、省電力モードからの復帰を固定時間遅らせる場合と比較して、現像処理部からの転送要求に対する転送の終了時間が遅れることなく省電力モードの切り替え回数を減らすことができる。
【００５５】
以上に説明したように、本実施形態の省電力モード制御では、複数の共有メモリに対して複数の転送を並行に行い、複数の転送間で転送制約がある場合に、複数の共有メモリのコマンドキューの状況に応じて複数の転送間の転送制約に収まる範囲で省電力モードの制御タイミングを遅らせることで、バスマスタにロスが発生することなく省電力モードの切り替え回数を減らすことができる。
【００５６】
この結果、共有メモリが省電力状態となる期間が長くなり電力削減効果を高めることができる。
【符号の説明】
【００５７】
１０１  ＣＰＵ、１２０  撮像センサ、１３０  表示部
【図１】
2020035263.tif 000003
【図２】
2020035263.tif 000004
【図３】
2020035263.tif 000005
【図４】
2020035263.tif 000006