以下、例示する実施の形態にかかる制御装置、情報処理装置、コントローラ、その制御方法およびプログラムを、図面を用いて詳細に説明する。
(実施の形態1)
図1は、実施の形態1にかかる情報処理装置の概略構成例を示すブロック図である。図1に示すように、情報処理装置100は、SoC101、メインメモリ102、EPD(Electronic Paper Display)103、PMIC(Power Management IC)などの電源制御装置104および105を備える。
EPD103は、メモリ性がある表示装置である。ただし、メモリ性がある表示装置としては、EPDに限らず、種々の表示装置が用いられてもよい。EPD103における電子ペーパの方式は、電気泳動方式、電子粉流体方式、コレステリック液晶方式など、様々な方式で実施されることが可能である。
メインメモリ102は、MRAM(Magnetoresistive Random Access Memory)などの不揮発メモリである。メインメモリ102上には、EPD103に表示する書換用データが保存されている。書換用データは、主に表示対象画像などのデータである。ただし、これに限らず、EPD103の書き換えに必要なWaveformなどが含まれてもよい。
SoC101は、CPU106、メモリコントローラ110、内部メモリ107、EPDコントローラ108およびアクセラレータ111を備える。CPU106は、EPD103への書換用データの入力をスケジュールするEPD制御装置(スケジューラ)を実行する。EPDコントローラは、書換処理を並列に実行できる機能を有していてもよい。書換処理の並列な実行では、同時あるいは非常に近いタイミングで複数の書換処理が開始できてもよいし、ある書換処理の実行中に別の書換処理を開始できてもよい。アクセラレータ111は、たとえば書換用データを準備するための前処理などに使用される。この処理には、EPD向けにカラーデータからグレースケールデータへの変換処理、白黒反転処理、適切なWaveform選択処理、データ回転処理などが含まれる。さらに、Waveform選択のための周辺等の温度取得処理、レンダリング処理、あるいは、フレームバッファへのデータの書き込みなどが含まれてもよいが、これらに限定されるものではない。これらCPU106、メモリコントローラ110、内部メモリ107、EPDコントローラ108およびアクセラレータ111は、たとえばバス109を介して相互に接続されている。
メインメモリ(第1メモリ)102の消費電力は、内部メモリ107(第2メモリ)の消費電力よりも高い。消費電力とは、平均電力であってもよいし、同じデータを処理する際に必要な電力などであってもよい。ここでいうデータの処理とは、データの読み出し処理や書き込み処理などのことである。また、メインメモリ102のサイズは、内部メモリ107のサイズより大きい。一般的にメモリのサイズが大きい方が消費電力が高い。
2つの電源制御装置のうち、電源制御装置104は、メインメモリ102とSoC101とに給電しており、電源制御装置105は、EPD103に給電している。これらの電源制御装置104および105は、CPU106が出力する制御信号を用いて制御可能である。なお、この構成に限られず、1つの電源制御装置がメインメモリ102とSoC101とEPD103とに給電する構成などであってもよい。これは、後述する実施の形態についても同様である。
内部メモリ107は、小容量・省電力のオンチップメモリである。したがって、内部メモリ107に対するメモリアクセスにかかる消費電力やアクセス時間などのコストは小さい。消費電力が低い内部メモリ107は、たとえば2つのバッファ#0および#1を備える。ただし、バッファは2つに限られず、1つであってもよいし、2つ以上であってもよい。
図2は、実施の形態1にかかるEPD制御装置(スケジューラ)201の概略構成例を示すブロック図である。EPD制御装置(スケジューラ)201は、CPU106上で動作するオペレーティングシステム(以降、OSという)のデバイスドライバなどであってよい。
図2に示すように、EPD制御装置(スケジューラ)201は、スケジュール部206、電源制御部202、データサイズ調整部203、データコピー部204および書換処理指示部205から構成される。スケジュール部206は、情報処理装置100上で動作するアプリケーションやミドルウェアやOSなどからEPD103の画面全体を1回書き換えるように指示されると、電源制御部202、データサイズ調整部203、データコピー部204および書換処理指示部205を連携動作させることで、メインメモリ102上にある書換用データを複数に分割し、分割した書換用データを順々に内部メモリ107の2枚のバッファ#0および#1へ交互にコピーし、EPDコントローラ108に対してバッファ#0または#1からEPD103への書換処理を行うようにスケジューリングする。EPD103の書換中は、バッファ#0および#1を備える内部メモリ107の電源をオンにしておく必要がある。ただし、内部メモリへのコピーや内部メモリからの読み出しの消費電力やアクセス時間などのコストは小さく抑えられる。一方で、この期間中は、不揮発メモリを利用しているメインメモリ102の電源をオフにすることができる。そのため、メインメモリ102から直接EPD103へ書き換えを行うよりもトータルの消費電力を削減することが可能になる。
図3は、実施の形態1にかかるEPD制御装置(スケジューラ)201によってスケジュールされた動作タイミングの一例を示すタイミングチャートである。図3は、書換用データを4分割した場合の例である。したがって、図3に示す例では、コピー処理が4回実行され、書換処理が4回実行される。
図3に示すように、あるコピー処理と次のコピー処理の間の期間は、メインメモリ102に対するメモリアクセスが無くなるアイドル状態の期間となる。そこで、メインメモリ102の電源をオフにしても未処理の分割データが消えない不揮発メモリを用いることで、アイドル状態の期間中、メインメモリ102の電源をオフにすることができる。このように、消費電力が低いメモリにコピーしてそこから書換処理させることで、たとえば消費電力が高いメモリから直接書換処理をさせるよりも消費電力を低減することが可能となる。また、図3に示すように、コピー処理と書換処理とを並列に実行することで、コピー処理による遅延を隠蔽することも可能である。
次に、EPD103の書換処理中にメインメモリ102の電源をオフにするEPD制御装置(スケジューラ)201の処理フローの具体例を図4および図5に示す。ただし、図4および図5に示す処理フローは、図3のような動作タイミングを実現する一例であって、これらに限定されるものではない。これは、後述する実施の形態についても同様である。
図4に示す処理フローは、たとえば、アプリケーションやミドルウェアやOSが、EPD制御装置(スケジューラ)201のスケジュール部206に、メインメモリ102上の書換用データをもとにEPD103を1回書き換えるようにリクエストすることで開始される。
図4に示す処理フローでは、まず、メインメモリ102の電源がオンになっていない場合、以降のコピー処理に備えるため、電源制御部202が、電源制御装置104を利用してメインメモリ102の電源をオンにする(ステップS301)。
つぎに、データサイズ調整部203が、メインメモリ102上の書換用データを複数の分割データに分割する(ステップS302)。書換用データは、EPD103に表示する画像などのデータであってよい。
つぎに、データコピー部204が、複数の分割データのうちの先頭の分割データを内部メモリ107上のバッファ#0にコピーするコピー処理を実行する(ステップS303)。その後、データコピー部204は、バッファ#0へのコピー処理が完了するまで待機する(ステップS304)。
バッファ#0へのコピー処理が完了すると、つぎに、メインメモリ102の電源がオンになっていない場合、電源制御部202が、メインメモリ102の電源をオンにする(ステップS305)。
つづいて、コピー処理が完了していない次の分割データがまだ存在する場合、データコピー部204が、この分割データをバッファ#1にコピーする(ステップS306)。また、書換処理指示部205が、次の分割データのバッファ#1へのコピー完了を待たずに、コピー処理が終わっているバッファ#0からEPD103への書換処理をEPDコントローラ108に指示し(ステップS307)、その後、書換処理の完了を待機する(ステップS308)。
バッファ#0からEPD103への書換処理が完了すると、つぎに、スケジュール部206が、バッファを切り替える(ステップS309)。つまり、これ以降、バッファ#0と呼んでいたバッファはバッファ#1になり、バッファ#1と呼んでいたバッファはバッファ#0となる。
その後、スケジュール部206が、全ての分割データを書換処理し終えたか否か確認し(ステップS310)、処理が完了していた場合(ステップS310;YES)、本動作を終了する。一方、書換処理が完了していない場合(ステップS310;NO)、スケジュール部206は、ステップS304へリターンし、次の分割データに対する処理を実行する。
また、図5に示すように、EPD103への書換処理の最中にバッファへのコピー処理が終わると、電源制御部202にこのコピー処理の終了が通知される。これに対し、電源制御部202は、図4に示す動作とは独立して、電源制御装置104を使ってメインメモリ102の電源をオフにする(ステップS321)。これにより、書換処理中にメインメモリ102の電源をオフにすることができる。
なお、図3〜図5では、EPD103の画面全体を1回書き換えるように指示された際に、例えば内部メモリ107(あるいはバッファ)に書換用データが収まらなかった場合にデータを分割するケースについて説明したが、EPD103の画面の一部だけを書き換える部分書換処理の場合も、同様の処理によって実現可能である。
また、内部メモリ107(あるいはバッファ)に収まるサイズの書換用データで部分書換処理の指示が1回来るシンプルな場合には、データサイズ調整部203による分割処理を実行する必要が無い。その場合、図3の最初のコピー処理(1)と最初の書換処理(1)とがこの順番に一度行われるだけで、その書換処理中にメインメモリ102の電源をオフにすればよい。これは以降の実施形態についても同様である。
また、図3の動作タイミング例では、EPD103の画面全体を1回書き換える指示を分割して実行する場合を例に挙げているが、例えば、EPD103の画面上の異なる4カ所に対して4回の独立した小さい部分書換が連続であるいは短い間隔で指示された場合でも、本実施形態による動作タイミングは上記で説明したものと同様の処理フローで実現可能である。つまり、4つに分割して4回書換処理をするか、4つに予め分割されたものを書換処理(分割処理の必要がない)するかの違いであるため同様の処理フローで当然実現可能である。なお、小さい部分書換とは、書換用データのサイズが各バッファに収まるようなものである。
さらに、小さい独立した書換処理の指示が複数連続あるいは非常に短い間隔で来た場合において、EPDコントローラ108が同時に複数の部分書換を並列に実行できる機能を有する場合、図6に示すような動作タイミングにスケジューリングすることができる。図6に示すように、書換処理が並列実行できるため、書換処理Aと書換処理Bがオーバーラップしている。図6では、画面上の異なる4カ所に対して独立した書換処理の指示が短い間隔で来た場合で、かつ、2並列で部分書換処理が可能な場合の例を示している。図6では、最初の2つの書換用データがコピー(1)とコピー(2)で内部メモリのバッファ#0と#1にコピーされ、そこから書換処理(1)と書換処理(2)が並列に行われる。書換処理(1)が完了すると内部メモリ107のバッファ#0が空くのでコピー(3)が行われ、そこから書換処理(3)が行われる。その後、書換処理(2)が完了すると、バッファ#1が空くのでコピー(4)が行われ、そこから書換処理(4)が並列に行われる。このような場合においても、コピー処理がなされていないアイドル状態の期間、メインメモリ102の電源をオフにすることが可能になるので、これまでに説明したものと同様の処理フローで省電力化が実現できる。コピー処理の遅延を書換処理で隠蔽することもこれまでの例同様に可能である。
つぎに、図7に、図6のような小さい独立した書換処理の指示のなかに、バッファに入りきらない書換処理が混じっている場合を示す。図7では、1つ目に小さい書換処理の指示が来て、2つ目に1つのバッファに入りきらない書換処理の指示が来て、3つ目に再び小さい書換処理の指示が来ている。前提としては、図6と同様に、2並列の書換処理が可能で、バッファは#0と#1があるとする。2つ目の書換処理に必要な書換用データは、片方のバッファには入らないが、バッファ2つ分には収まる大きさであるとした場合、分割処理を行うことで対応することができる。つまり、まず、コピー(1)を内部メモリ107のバッファ#0へ行い、そこから書換処理(1)を行う。つぎに、2つ目の書換処理の書換用データを2分割し、まずは空いているバッファ#1へ分割した書換用データの前半部分のコピー(2a)を行い、そこから書換処理(2a)を並列実行する。書換処理(1)が終了すると、バッファ#0が空くので、分割した書換用データの後半部分のコピー(2b)を行い、そこから書換処理(2b)を行う。このようにすることで、バッファに入りきらない大きさの書換処理があっても対応することができる。図7のコピー処理とコピー処理の間のアイドル状態の期間は、メインメモリ102の電源をオフにすることが可能になり、これまでに説明したものと同様の処理フローで省電力化が実現できる。また、書換用データが非常に小さいケース(つまり内部メモリの容量に余裕がある場合)には、バッファ数をEPDコントローラ108が可能な並列実行数より多くすることで、必要なコピーだけを先に済ませておいてもよい。
つぎに、図8に示すのは、図6と同様に、EPD103の画面上の異なる4カ所に対して独立した書換処理が4回実行される場合である。図8では、まず1回の書換処理が指示され、僅かに遅れて2回目と3回目の書換処理が同じタイミングで指示され、4回の書き換え処理はまた僅かに遅れて指示される。図8のEPDコントローラ108が4つの書換処理を並列実行できるコントローラであれば、書換処理A〜Dをオーバーラップして実行することができる。4つの書換処理を並列実行するため、内部メモリ107上のバッファは例えばバッファ#0〜#3までの4つ用意されている。図8では、コピー(1)が内部メモリ107のバッファ#0へ行われ、そこから書換処理(1)が行われる。コピー(2)とコピー(3)はバッファ#1と#2に対して行われ、そこから書換処理(2)と書換処理(3)が同時に開始されて、書換処理(1)と並列に実行される。コピー(4)は、内部メモリ107のバッファ#3に対して行われ、そこから書換処理(4)がこれまでの書換処理と並列に行われる。図8に示しているように、コピー処理とコピー処理の間のアイドル状態の期間は、メインメモリ102の電源をオフにすることが可能になり、これまでに説明したものと同様の処理フローで省電力化が実現できる。また、書換用データが非常に小さいケース(つまり内部メモリの容量に余裕がある場合)には、バッファ数をEPDコントローラ108が可能な並列実行数より多くすることで(この例の場合は5つ以上)、コピーだけをできるところから先に済ませておいてもよい。
このような、書換処理の並列実行でのスケジューリング方法については、これ以降の実施形態についても同様に適用できる。なお、図には明示していないが、コピー処理の前には前処理等が必要なので、その間はメモリの電源をオンにする必要がある。
また、これら複数の部分書換処理は、それぞれで大きさが異なっていてもよい。図9に示すように、大きい部分書換処理が入っている場合は、その大きい書換処理はメインメモリ102から直接実行し、少し遅れて指示される他の小さい書換処理は内部メモリへコピーしてそこから実行することで、書換領域が大きい書換処理が終了した時点でメインメモリ102の電源をオフにすることが可能となる。その結果、消費電力を削減できる。図9では、書換処理(1)の最中はメインメモリ102から書換処理(1)をしているので、その間メインメモリの電源はオフにできない。一方、その後に指示あるいはスケジューリングされるコピー(2)は、内部メモリ107へ行われてそこから書換処理(2)を行うため、書換処理(1)がはやく終わった場合には、書換処理(2)が書換処理中でもメインメモリ102の電源をオフにすることが可能になる。
また、EPDの書換モードやWaveformが異なっていてもよい。これらについてもすべて以降の実施形態について同様である。
また、Waveformは、表示する画像などのデータと一緒に毎回内部メモリ107へコピーされてもよいし、分割したデータの先頭のデータをコピーする際に一緒にコピーされてもよい。もしくは、Waveformは、一連の書換処理の開始時やシステムの起動時などに、予め内部メモリ107へコピーされてもよい。あるいは、Waveformをメインメモリ102上に残しておき、EPDコントローラ108がメインメモリ102からWaveformを読み出すという方法でもよい。
さらに、Waveformは、全体がコピーされてもよいし、表示するデータの特性に合わせて必要な部分だけコピーされてもよい。さらにまた、Waveformのコピー先は、内部メモリ107のバッファ#0または#1でもよいし、内部メモリ107内に予め用意しておいたWaveform用の領域であってもよい。これは、後述する実施の形態についても同様である。
また、実施の形態1では、EPDコントローラ108がSoC101に内蔵された構成を例示したが、これに限らず、EPDコントローラ108がSoC101に対して外付けされた構成であってもよい。
実施の形態1によれば、書換用データを保持している消費電力が高いメモリに対する時間を要するメモリアクセスを消費電力が低いメモリアクセスへ置き換えることで、電子ペーパのようなメモリ性のある表示装置の比較的長い書き換え中に消費電力が高いメモリへのメモリアクセスのないアイドル状態の期間を作り出すことが可能になる。それにより、アイドル状態の期間中に、MRAMなどの不揮発メモリの電源をオフにすることができるため、表示装置の省電力化が可能となる。
(実施の形態2)
つぎに、実施の形態2にかかる制御装置(スケジューラ)、情報処理装置、コントローラ、その制御方法およびプログラムを、図面を用いて詳細に説明する。
実施の形態1では、情報処理装置100内のメインメモリ102にMRAMなどのような不揮発メモリを用いたが、実施の形態2では、DRAMなどの揮発性のメモリを用いる。ただし、情報処理装置100とEPD制御装置(スケジューラ)201との基本的な構成は、図1および図2に示す構成と同様であるため、ここではそれを引用して、重複する説明を省略する。
メインメモリ102にDRAMなどの揮発性のメモリを用いた場合、メインメモリ102への電力供給を停止すると、メインメモリ102内のデータが消えてしまう。そこで、実施の形態2では、コピー処理の間のメモリアクセスが無くなるアイドル状態の期間中に、消費電力を減らすために、メモリが備えるセルフリフレッシュモードなどの、データを保持しつつ消費電力を抑えることが可能な省電力モードを実行する。
図10は、実施の形態2にかかるEPD制御装置(スケジューラ)201によってスケジュールされた動作タイミングの一例を示すタイミングチャートである。なお、図10に示す基本的な動作タイミングは、図3に示した動作タイミングと同様であってよい。ただし、図10と図3とでは、コピー処理の間のアイドル状態の期間中にDRAMなどのメインメモリ102を省電力モードに設定する点が相違する。
次に、EPD103の書換処理中にメインメモリ102を省電力モードに設定するEPD制御装置(スケジューラ)201の処理フローの具体例を図11および図12に示す。なお、図11において、図4と同様の動作については、そのステップを引用することで、重複する説明を省略する。
図11に示すように、たとえば、アプリケーションやミドルウェアやOSが、EPD制御装置(スケジューラ)201のスケジュール部206に、メインメモリ102上の書換用データをもとにEPD103を1回書き換えるようにリクエストすると、まず、メインメモリ102の動作モードが通常モードに設定されていない場合、以降のコピー処理に備えるため、電源制御部202が、メモリコントローラ110でメインメモリ102の動作モードを通常モードに設定する(ステップS501)。つぎに、図4のステップS302〜S304と同様の動作を実行して、先頭の分割データをバッファ#0へコピーする。なお、通常モードとは、メインメモリ102がメモリアクセスに対して通常に動作する動作モードであってよい。この通常モードは、省電力モードよりも消費電力が大きい。
バッファ#0へのコピー処理が完了すると、つぎに、メインメモリ102の動作モードが通常モードに設定されていない場合、電源制御部202が、メモリコントローラ110を設定してメインメモリ102の動作モードを通常モードに設定する(ステップS502)。つぎに、図4のステップS306〜S309と同様の動作を実行することで、次の分割データに対する書換処理の完了後、スケジュール部206がバッファを切り替える。
その後、スケジュール部206が、全ての分割データを書換処理し終えたか否か確認し(ステップS503)、処理が完了していた場合(ステップS503;YES)、本動作を終了する。一方、書換処理が完了していない場合(ステップS503;NO)、スケジュール部206は、ステップS304へリターンし、次の分割データに対する処理を実行する。
また、図12に示すように、EPD103への書換処理の最中にバッファへのコピー処理が終わると、電源制御部202にこのコピー処理の終了が通知される。これに対し、電源制御部202は、図11に示す動作とは独立して、メモリコントローラ110を設定しメインメモリ102の動作モードを省電力モードに設定する(ステップS511)。これにより、書換処理中にメインメモリ102の消費電力を削減することができる。
なお、図10〜図12では、EPD103の画面全体を書き換える場合を例示したが、画面の一部だけ書き換える部分書換処理の場合も同様の処理によって実現可能である。
また、実施の形態1と同様に、小さい書換用データで部分書換処理の場合などは、分割処理をせず、図10の最初のコピー処理(1)と最初の書換処理(1)とを順番に行い、その際の内部メモリ107からの書換処理中にメインメモリ102を省電力モードにすればよい。
なお、実施の形態1と同様に、画面上の異なる箇所へ独立した部分書換処理の指示がされた場合も、並列部分書換処理を利用した実施例の形態1と同様の方法で省電力化可能である。
また、実施の形態2では、EPDコントローラ108がSoC101に内蔵された構成を例示したが、これに限らず、EPDコントローラ108がSoC101に対して外付けされた構成であってもよい。
(実施の形態3)
つぎに、実施の形態3にかかる制御装置(スケジューラ)、情報処理装置、コントローラ、その制御方法およびプログラムを、図面を用いて詳細に説明する。
実施の形態3では、EPD制御装置(スケジューラ)201は、分割データのバッファ#0または#1へのコピー処理中以外の期間、バス109の動作周波数を落とすことで省電力化を行う。なお、実施の形態3では、実施の形態1の構成をベースとした場合を例示する。この場合、メインメモリ102の電源をオフすることによる省電力化の効果に加え、バス109の動作周波数を落とすことによる省電力化の効果を得ることができる。なお、ベースとする実施の形態は、実施の形態1に限られず、実施の形態2や、後述する他の実施の形態であってもよい。
実施の形態3における情報処理装置とEPD制御装置(スケジューラ)との基本的な構成は、図1および図2に示した情報処理装置100およびEPD制御装置(スケジューラ)201と同様であるため、ここではそれを引用して、重複する説明を省略する。
図13は、実施の形態3にかかるEPD制御装置(スケジューラ)201によってスケジュールされた動作タイミングの一例を示すタイミングチャートである。なお、図13に示す基本的な動作タイミングは、図3に示した動作タイミングと同様であってよい。ただし、図13と図3とでは、コピー処理の間のアイドル状態の期間中にメインメモリ102の電源オフに加え、バス109の動作周波数を落とす点が相違する。
次に、EPD103の書換処理中にメインメモリ102の電源をオフにするEPD制御装置(スケジューラ)201の処理フローの具体例を図14および図15に示す。なお、図14において、図4と同様の動作については、そのステップを引用することで、重複する説明を省略する。
図14に示すように、たとえば、アプリケーションやミドルウェアやOSが、EPD制御装置(スケジューラ)201のスケジュール部206に、メインメモリ102上の書換用データをもとにEPD103を1回書き換えるようにリクエストすると、まず、図4のステップS301およびS302と同様の動作を実行して、メインメモリ102の電源をオンするとともに、メインメモリ102上の書換用データを複数の分割データに分割する。
つぎに、バス109の動作周波数が通常の動作周波数に設定されていない場合、電源制御部202が、バス109の動作周波数を通常の動作周波数に設定する(ステップS701)。その後、図4のステップS303〜S305と同様の動作を実行して、先頭の分割データをバッファ#0へコピーするとともに、メインメモリ102の電源がオフの場合はオンする。つぎに、バス109の動作周波数が通常の動作周波数に設定されていない場合、電源制御部202が、バス109の動作周波数を通常の動作周波数に設定する(ステップS702)。つぎに、図4のステップS306〜S309と同様の動作を実行することで、次の分割データに対する書換処理の完了後、スケジュール部206がバッファを切り替える。
その後、スケジュール部206が、全ての分割データを書換処理し終えたか否か確認し(ステップS703)、処理が完了していた場合(ステップS703;YES)、本動作を終了する。一方、書換処理が完了していない場合(ステップS703;NO)、スケジュール部206は、ステップS304へリターンし、次の分割データに対する処理を実行する。
また、図15に示すように、EPD103への書換処理の最中にバッファへのコピー処理が終わると、電源制御部202にこのコピー処理の終了が通知される。これに対し、電源制御部202は、図14に示す動作とは独立して、電源制御装置104を使ってメインメモリ102を電源オフにする(ステップS321)とともに、バス109の動作周波数を通常の動作周波数よりも低い動作周波数に設定する(ステップS711)。これにより、書換処理中に、メインメモリ102の消費電力を削減するとともに、バス109の動作周波数を落とすことができるため、さらなる省電力化が可能になる。
なお、メインメモリ102としてDRAMなどの揮発性のメモリを用いた場合、メインメモリ102の電源を落とす代わりに、セルフリフレッシュモードなどのメモリのデータを保持しつつ省電力化が可能な省電力モードを利用すればよい。
また、図13〜図15では、EPD103の画面全体を書き換える場合を例示したが、これまでの実施の形態でも説明してきたように、部分書換の場合や、内部メモリに書換用データが収まりデータ分割の必要のない無い場合や、画面上の異なる箇所へ独立した部分書換処理でEPDコントローラの並列部分書換を利用する場合も、同様の処理によって実現可能である。
また、実施の形態3では、EPDコントローラ108がSoC101に内蔵された構成を例示したが、これに限らず、EPDコントローラ108がSoC101に対して外付けされた構成であってもよい。
(実施の形態4)
つぎに、実施の形態4にかかる制御装置(スケジューラ)、情報処理装置、コントローラ、その制御方法およびプログラムを、図面を用いて詳細に説明する。
実施の形態4では、EPD制御装置(スケジューラ)は、現在の表示対象であるデータ(以降、現在の書換用データという)のコピー処理を行っている間に、その次に表示することが決まっているあるいはその可能性が高い書換用データ(以降、次回の書換用データという)を準備するための前処理を並行して実行する。これによれば、次回の書換用データの前処理による遅延をコピー処理で隠蔽することができる。前処理とは前述した通り、例えば、カラーデータをグレースケールや白黒のデータに変換する処理や、EPDの書き換えに適切なWaveformを自動選択する処理などである。
実施の形態4にかかる情報処理装置の基本的な構成は、図1に示した情報処理装置100と同様であってよい。一方、実施の形態4にかかるEPD制御装置(スケジューラ)は、図16に示すような構成を備える。図16は、実施の形態4にかかるEPD制御装置(スケジューラ)901の概略構成例を示すブロック図である。EPD制御装置(スケジューラ)901は、EPD制御装置(スケジューラ)201と同様、CPU106上で動作するOSのデバイスドライバなどであってよい。
図16に示すように、EPD制御装置(スケジューラ)901は、スケジュール部907、電源制御部902、データサイズ調整部903、データコピー部904、書換処理指示部905および前処理指示部906を備える。電源制御部902、データサイズ調整部903、データコピー部904および書換処理指示部905は、図2に示す電源制御部202、データサイズ調整部203、データコピー部204および書換処理指示部205と同様であってよい。
前処理指示部906は、次回の書換用データに対する前処理を実行するようにアクセラレータ111(図1参照)に指示する。スケジュール部907は、情報処理装置100上で動作するアプリケーションやミドルウェアやOSなどからEPD103の画面全体を1回書き換えるように指示されると、電源制御部902、データサイズ調整部903、データコピー部904、書換処理指示部905および前処理指示部906を連携動作させることで、メインメモリ102上にある現在の書換用データを複数に分割し、分割した書換用データを順々に内部メモリ107の2枚のバッファ#0および#1へ交互にコピーし、EPDコントローラ108に対してバッファ#0または#1からEPD103への書換処理を行うとともに、メインメモリ102上にある次回の書換用データに対する前処理を行うようにスケジューリングする。
図17は、実施の形態4にかかるEPD制御装置(スケジューラ)901によってスケジュールされた動作タイミングの一例を示すタイミングチャートである。図17に示すように、次回の書換用データに対する前処理をコピー処理の実行期間中に並行して実行してもよい。これにより、次回の書換用データに対する前処理を隠蔽することができる。なお、図17に示す基本的な動作タイミングは、図3に示した動作タイミングと同様であってよい。また、図17に示すように、コピー処理の間のアイドル状態の期間中にメインメモリ102の電源オフに加え、バス109の動作周波数を落としてもよい。
次に、EPD103の書換処理中にメインメモリ102の電源をオフにしつつ、次回の書換用データの前処理をも隠蔽するEPD制御装置(スケジューラ)901の処理フローの具体例を図18および図19に示す。なお、図18において、図4と同様の動作については、そのステップを引用することで、重複する説明を省略する。
図18に示すように、たとえば、アプリケーションやミドルウェアやOSが、EPD制御装置901のスケジュール部907に、メインメモリ102上の書換用データをもとにEPD103を1回書き換えるようにリクエストすると、まず、図4のステップS301およびS302と同様の動作を実行して、メインメモリ102の電源をオンするとともに、メインメモリ102上の今回の書換用データを複数の分割データに分割する。
つぎに、データサイズ調整部903が、メインメモリ102上の次回の書換用データのもとになるデータを今回の書換用データの分割数と同じ数の分割データに分割する(ステップS1001)。なお、書換用データのもとになるデータとは、前処理を実行する前のデータであって、例えばアプリケーションやミドルウェアなどからフレームバッファに書き込まれたデータなどである。したがって、前処理後のデータは、書換用データとなる。
つぎに、図4のステップS303と同様の動作によって、データコピー部904が、複数の分割データの先頭の分割データを内部メモリ107上のバッファ#0にコピーした後、内部メモリ107上のバッファ#0へのコピー処理および次回の書換用データのもとになるデータに対する前処理が実行されている場合はその完了を待機する(ステップS1002)。実行すべき前処理がなければ、当然その完了を待たなくてよい。
コピー処理および前処理が完了すると、つぎに、図4のステップS305およびS306と同様の動作によって、メインメモリ102の電源がオンになっていなければ電源制御部902がメインメモリ102の電源をオンにし、また、コピー処理が完了していない次の分割データがまだ存在する場合、データコピー部904が、この分割データをバッファ#1にコピーする。
つぎに、前処理指示部906が、実行する必要がある前処理が存在する場合、その前処理の実行をアクセラレータ111に指示する(ステップS1004)。実行する必要がある前処理(必要な前処理)とは、分割データのN番目(Nは自然数)のコピーを開始した場合は、ステップS1001で分割した次回の書換用データのもととなるデータのN番目までのデータに対する前処理である。なお、ステップS1004の動作は、ステップS306の動作より先に実行されてもよい。
つぎに、図4のステップS307〜S309と同様の動作を実行することで、次の分割データに対する書換処理の完了後、スケジュール部907がバッファを切り替える。
その後、スケジュール部907が、全ての分割データを書換処理し終えたか否か確認し(ステップS1005)、処理が完了していた場合(ステップS1005;YES)、本動作を終了する。一方、書換処理が完了していない場合(ステップS1005;NO)、スケジュール部907は、ステップS1002へリターンし、次の分割データに対する処理を実行する。
また、図19に示すように、EPD103への書換処理の最中にバッファ#0または#1へのコピー処理および次回の書換用データのもととなるデータに対する前処理が終わると、電源制御部902にこのコピー処理および前処理の終了が通知される。これに対し、電源制御部902は、図18に示す動作とは独立して、電源制御装置104を使ってメインメモリ102の電源をオフにする(ステップS1011)。これにより、書換処理中にメインメモリ102の消費電力を削減することができる。
なお、メインメモリ102としてDRAMなどの揮発性のメモリを用いた場合、メインメモリ102の電源を落とす代わりに、セルフリフレッシュモードなどのメモリのデータを保持しつつ省電力化が可能な省電力モードを利用すればよい。
また、前処理は、次回の書き換えに必要なWaveformの内部メモリ107へのコピーであってもよい。さらに、前処理は、次回の書換用データを準備するための処理でなくてもよい。たとえば描画関連処理以外の処理で、情報処理装置100でこの先行う必要がある処理あるいは行う確率が高い処理が存在する場合、その処理を上述した前処理の代わりにコピー処理と並行して実行してもよい。その場合、コピー処理に重ねる処理は、処理量の比較的大きい処理を分割した処理であってもよいし、処理量の比較的小さい処理を集めた処理であってもよい。
また、図17〜図19では、EPD103の画面全体を書き換える場合を例示したが、これまでの実施の形態でも説明してきたように、部分書換の場合や、内部メモリに書換用データが収まりデータ分割の必要のない場合や、画面上の異なる箇所へ独立した部分書換処理でEPDコントローラの並列部分書換を利用する場合も、同様の処理によって実現可能である。
また、実施の形態4では、EPDコントローラ108がSoC101に内蔵された構成を例示したが、これに限らず、EPDコントローラ108がSoC101に対して外付けされた構成であってもよい。
(実施の形態5)
つぎに、実施の形態5にかかる制御装置(スケジューラ)、情報処理装置、コントローラ、その制御方法およびプログラムを、図面を用いて詳細に説明する。
実施の形態5では、EPD制御装置(スケジューラ)は、実施の形態4と同様に、コピー処理を行っている間に前処理を並行して実行する。ただし、実施の形態4では、現在の書換用データに対するコピー処理に次回の書換用データに対する前処理を重ねたが、実施の形態5では、現在の書換用データに対するコピー処理に現在の書換用データに対する前処理を重ねる。これによれば、書換用データの前処理による遅延をコピー処理で隠蔽することができる。
実施の形態5にかかる情報処理装置の基本的な構成は、図1に示した情報処理装置100と同様であってよい。また、実施の形態5にかかるEPD制御装置(スケジューラ)の基本的な構成は、図16に示したEPD制御装置(スケジューラ)901と同様であってよい。
図20は、実施の形態5にかかるEPD制御装置(スケジューラ)901によってスケジュールされた動作タイミングの一例を示すタイミングチャートである。図20に示すように、現在の書換用データに対する前処理の少なくとも一部を同書換用データに対するコピー処理の実行期間中に並行して実行してもよい。これにより、書換用データに対する前処理の少なくとも一部をコピー処理で隠蔽することができる。たとえば、図20に示す例では、複数に分割された書換用データのもととなるデータのうち2番目以降のデータがコピー処理に重ねられている。そのため、分割されたデータのうち2番目以降のデータに対する前処理が隠匿されている。なお、図20に示す基本的な動作タイミングは、図3に示した動作タイミングと同様であってよい。また、図20に示すように、コピー処理の間のアイドル状態の期間中にメインメモリ102の電源オフに加え、バス109の動作周波数を落としてもよい。
次に、EPD103の書換処理中にメインメモリ102の電源をオフにしつつ、現在の書換用データの前処理の少なくとも一部をコピー処理で隠蔽するEPD制御装置(スケジューラ)901の処理フローの具体例を図21および図22に示す。なお、図21において、図4と同様の動作については、そのステップを引用することで、重複する説明を省略する。
図18に示すように、たとえば、アプリケーションやミドルウェアやOSが、EPD制御装置(スケジューラ)901のスケジュール部907に、メインメモリ102上の書換用データをもとにEPD103を1回書き換えるようにリクエストすると、まず、図4のステップS301と同様の動作を実行して、メインメモリ102の電源がオンされる。
つぎに、データサイズ調整部903が、メインメモリ102上の現在の書換用データのもとになるデータを複数の分割データに分割する(ステップS1201)。つづいて、前処理指示部906が、実行する必要がある前処理が存在する場合、その前処理の実行をアクセラレータ111に指示する(ステップS1202)。
つぎに、図4のステップS303と同様の動作によって、データコピー部904が、複数の分割データの先頭の分割データを内部メモリ107上のバッファ#0にコピーした後、内部メモリ107上のバッファ#0へのコピー処理および現在の書換用データのもとになるデータに対する前処理の完了を待機する(ステップS1203)。なお、実行すべきコピー処理または前処理がなければ、当然その完了を待たなくてよい。
コピー処理および前処理が完了すると、つぎに、図4のステップS305およびS306と同様の動作によって、メインメモリ102の電源がオンになっていなければ電源制御部902がメインメモリ102の電源をオンにし、また、コピー処理が完了していない次の分割データがまだ存在する場合、データコピー部904が、この分割データをバッファ#1にコピーする。
つぎに、前処理指示部906が、実行する必要がある前処理が存在する場合、その前処理の実行をアクセラレータ111に指示する(ステップS1204)。ステップS1204の動作は、ステップS306の動作より先に実行されてもよい。
つぎに、図4のステップS307〜S309と同様の動作を実行することで、次の分割データに対する書換処理の完了後、スケジュール部907がバッファを切り替える。
その後、スケジュール部907が、全ての分割データを書換処理し終えたか否か確認し(ステップS1205)、処理が完了していた場合(ステップS1205;YES)、本動作を終了する。一方、書換処理が完了していない場合(ステップS1205;NO)、スケジュール部907は、ステップS1203へリターンし、次の分割データに対する処理を実行する。
また、図22に示すように、EPD103への書換処理の最中にバッファ#0または#1へのコピー処理および次回の書換用データのもととなるデータに対する前処理が終わると、電源制御部902にこのコピー処理および前処理の終了が通知される。これに対し、電源制御部902は、図21に示す動作とは独立して、電源制御装置104を使ってメインメモリ102を電源オフにする(ステップS1211)。これにより、書換処理中にメインメモリ102の消費電力を削減することができる。
なお、メインメモリ102としてDRAMなどの揮発性のメモリを用いた場合、メインメモリ102の電源を落とす代わりに、セルフリフレッシュモードなどのメモリのデータを保持しつつ省電力化が可能な省電力モードを利用すればよい。
また、図20〜図22では、EPD103の画面全体を書き換える場合を例示したが、これまでの実施の形態でも説明してきたように、部分書換の場合や、内部メモリに書換用データが収まりデータ分割の必要のない場合や、画面上の異なる箇所へ独立した部分書換処理でEPDコントローラの並列部分書換を利用する場合も、同様の処理によって実現可能である。
また、実施の形態5では、EPDコントローラ108がSoC101に内蔵された構成を例示したが、これに限らず、EPDコントローラ108がSoC101に対して外付けされた構成であってもよい。
(実施の形態6)
つぎに、実施の形態6にかかる制御装置(スケジューラ)、情報処理装置、コントローラ、その制御方法およびプログラムを、図面を用いて詳細に説明する。
上述した実施の形態では、内部メモリ107上のバッファが2つである場合を例示したが、実施の形態6では、内部メモリ107上のバッファが1つである場合を例示する。
実施の形態6における情報処理装置とEPD制御装置(スケジューラ)との基本的な構成は、図1および図2に示した情報処理装置100およびEPD制御装置(スケジューラ)201と同様であるため、ここではそれを引用して、重複する説明を省略する。
図23は、実施の形態6にかかるEPD制御装置(スケジューラ)201によってスケジュールされた動作タイミングの一例を示すタイミングチャートである。図23に示すように、内部メモリ107上のバッファが1つである場合、コピー処理と書換処理とが交互に実行される。その際、コピー処理の間のアイドル状態の期間中、すなわちEPD103に対する書換処理中に、メインメモリ102の電源がオフされる。このように、1つのバッファであっても、メインメモリ102での消費電力を低減することが可能である。なお、メインメモリ102の電源オフに加え、バス109の動作周波数を落としてもよい。
次に、1つのバッファを用いたEPD103の書換処理中にメインメモリ102を省電力モードに設定するEPD制御装置(スケジューラ)201の処理フローの具体例を図24に示す。
図24に示すように、たとえば、アプリケーションやミドルウェアやOSが、EPD制御装置(スケジューラ)201のスケジュール部206に、メインメモリ102上の書換用データをもとにEPD103を1回書き換えるようにリクエストすると、まず、データサイズ調整部203が、メインメモリ102上の書換用データを複数の分割データに分割する(ステップS1401)。
つぎに、電源制御部202が、メインメモリ102の電源がオンになっていない場合、以降のコピー処理に備えるため、電源制御装置104を利用してメインメモリ102の電源をオンにする(ステップS1402)。
つぎに、データコピー部204が、複数の分割データのうちコピー処理が完了していないもののなかから先頭の分割データを内部メモリ107にコピーするコピー処理を実行する(ステップS1403)。その後、データコピー部204は、内部メモリ107へのコピー処理が完了するまで待機する(ステップS1404)。
バッファ#0へのコピー処理が完了すると、つぎに、電源制御部202が、メインメモリ102の電源をオフにする(ステップS1405)。これにより、書換処理中にメインメモリ102の電源をオフにすることができる。
つぎに、書換処理指示部205が、内部メモリ107内の分割データをもとにEPDコントローラ108へ書換処理を指示し(ステップS1406)、その後、書換処理の完了を待機する(ステップS1407)。ステップ1405とステップS1406の順番は逆でもよい。
その後、スケジュール部206が、全ての分割データを書換処理し終えたか否か確認し(ステップS1408)、処理が完了していた場合(ステップS1408;YES)、本動作を終了する。一方、書換処理が完了していない場合(ステップS1408;NO)、スケジュール部206は、ステップS1402へリターンし、次の分割データに対する処理を実行する。
なお、メインメモリ102としてDRAMなどの揮発性のメモリを用いた場合、メインメモリ102の電源を落とす代わりに、セルフリフレッシュモードなどのメモリのデータを保持しつつ省電力化が可能な省電力モードを利用すればよい。
また、図23および図24では、EPD103の画面全体を書き換える場合を例示したが、画面の一部だけ書き換える場合も同様の処理によって実現可能である。また、内部メモリ107のバッファに、書換用データが収まりデータ分割の必要のない場合は、実施の形態1でも記載した場合と同様で、図23の最初のコピー処理(1)と書換処理(1)のみが必要で、書換処理中に電源オフにすればいい。
また、実施の形態6では、EPDコントローラ108がSoC101に内蔵された構成を例示したが、これに限らず、EPDコントローラ108がSoC101に対して外付けされた構成であってもよい。
(実施の形態7)
つぎに、実施の形態7にかかる制御装置(スケジューラ)、情報処理装置、コントローラ、その制御方法およびプログラムを、図面を用いて詳細に説明する。
実施の形態7では、EPD103の画面を部分的に複数個所書き換える場合を例示する。
実施の形態7における情報処理装置とEPD制御装置(スケジューラ)との基本的な構成は、図1および図2に示した情報処理装置100およびEPD制御装置(スケジューラ)201と同様であるため、ここではそれを引用して、重複する説明を省略する。
図25は、実施の形態7にかかるEPD制御装置(スケジューラ)201によってスケジュールされた動作タイミングの一例を示すタイミングチャートである。図25は、複数の書換用データをまとめて4つのデータグループを作成した場合の例を示す。なお、データグループとは、分割データと同様、データコピー部204が内部メモリ107へ一度にコピーするデータの単位である。ただし、これに限定されず、複数の書換用データをまとめて1つのデータグループを作成してもよい。データグループを作成する際、まとめ対象の書換用データの大きさによっては、1つの書換用データを1つのデータグループとしてもよい。また、各データグループのサイズは、たとえば内部メモリ107に2つのバッファを設ける場合には、この内部メモリ107の容量の半分に収まるようなサイズとしてもよい。
このようにデータグループにまとめて書換処理することで、書換処理の回数や書換処理に必要な前処理の回数を減らしたり、書換処理の並列実行をする場合にはその並列度を高めたりすることできる。
図25に示すように、1つ以上の書換用データをまとめることで作成された1つ以上のデータグループに対する基本的な動作タイミングは、たとえば図3に示した分割された書換用データに対する動作タイミングと同様であってよい。なお、図25では、データグループ(Gr1)に対するコピー処理の完了後、このデータグループ(Gr1)に含まれる書換処理(1)が実行される。また、書換処理(1)を実行中に、次のデータグループ(Gr2)に対するコピー処理が実行される。このような動作によっても、上述した実施の形態と同様に、コピー処理の間にメモリアクセスがなくなるアイドル状態の期間を作ることができるため、メインメモリ102の電源をオフにすることが可能となる。その結果、消費電力を低減することできる。また、図25に示すように、コピー処理と書換処理を重ねることで、コピー処理による遅延を隠蔽することも可能となる。なお、メインメモリ102の電源オフに加え、バス109の動作周波数を落としてもよい。
次に、1つ以上の書換用データをまとめることで作成された4つのデータグループに対してEPD103への書換処理を実行中にメインメモリ102を省電力モードに設定するEPD制御装置(スケジューラ)201の処理フローの具体例を図26および図27に示す。なお、図25において、図4と同様の動作については、そのステップを引用することで、重複する説明を省略する。
図26に示すように、たとえば、アプリケーションやミドルウェアやOSが、EPD制御装置(スケジューラ)201のスケジュール部206に、メインメモリ102上の複数の書換用データをもとにEPD103における複数の箇所を部分的に書き換えるようにリクエストすると、まず、図4のステップS301と同様の動作を実行して、以降のコピー処理に備えるため、電源制御部202が、電源制御装置104を利用してメインメモリ102の電源をオンにする。
つぎに、データサイズ調整部203が、メインメモリ102上の複数の書換用データをまとめて1つ以上(ここでは4つ)のデータグループを作成する(ステップS1601)。つぎに、データコピー部204が、複数のデータグループのうちの先頭のデータグループを内部メモリ107上のバッファ#0にコピーするコピー処理を実行する(ステップS1602)。その後、図4のステップS304およびS305と同様の動作を実行して、バッファ#0へのコピー処理の完了後にメインメモリ102の電源がオフになっていたらオンにする。
つづいて、コピー処理が完了していない次のデータグループがまだ存在する場合、データコピー部204が、このデータグループをバッファ#1にコピーする(ステップS1603)。つづいて、図4のステップS307〜S309の動作と同様の動作を実行して、バッファ#0に対するコピー処理の完了前に書換処理を実行するとともに、この書換処理の完了後にバッファを入れ換える。
その後、スケジュール部206が、全てのデータグループを書換処理し終えたか否か確認し(ステップS1604)、処理が完了していた場合(ステップS1604;YES)、本動作を終了する。一方、書換処理が完了していない場合(ステップS1604;NO)、スケジュール部206は、ステップS304へリターンし、次のデータグループに対する処理を実行する。
また、図27に示すように、EPD103への書換処理の最中にバッファへのコピー処理が終わると、電源制御部202にこのコピー処理の終了が通知される。これに対し、電源制御部202は、図26に示す動作とは独立して、電源制御装置104を使ってメインメモリ102の電源をオフにする(ステップS1611)。これにより、書換処理中にメインメモリ102の電源をオフにすることができる。
また、これまでの実施の形態のように、並列部分書換を利用する場合して書換処理を並列に行った場合のコピー処理中以外のアイドル状態の期間中にメインメモリ102の電源をオフにして省電力化する場合にも、適用可能であることは言うまでもない。
なお、メインメモリ102としてDRAMなどの揮発性のメモリを用いた場合、メインメモリ102の電源を落とす代わりに、セルフリフレッシュモードなどのメモリのデータを保持しつつ省電力化が可能な省電力モードを利用すればよい。
また、実施の形態7では、上述の実施の形態4または5と同様に、コピー処理に対して次回または現在の書換用データをまとめることで作成されたデータグループに対する前処理を重ねてもよい。さらに、実施の形態7では、EPDコントローラ108がSoC101に内蔵された構成を例示したが、これに限らず、EPDコントローラ108がSoC101に対して外付けされた構成であってもよい。
(実施の形態8)
つぎに、実施の形態8にかかる制御装置(スケジューラ)、情報処理装置、コントローラ、その制御方法およびプログラムを、図面を用いて詳細に説明する。
実施の形態8では、たとえば実施の形態1の情報処理装置100におけるバス109、EPDコントローラ108および内部メモリ107を、EPD関連電力ドメインとした場合を例示する。その場合、EPD103に対する書換処理中、SoC101内のEPD関連電力ドメインのみに給電するように構成することが可能となる。それにより、SoC101における他の部分への給電を停止することが可能となるため、消費電力のさらなる削減が可能となる。
図28は、実施の形態8にかかる情報処理装置の概略構成例を示すブロック図である。なお、図28において、図1と同様の構成については同一の符号を付し、その重複する説明を省略する。また、EPD制御装置(スケジューラ)201の基本的な構成は、図2に示す構成と同様であるため、ここではそれを引用して、重複する説明を省略する。
図28に示すように、実施の形態8にかかる情報処理装置1800は、図1に示す情報処理装置100と同様の構成を備える。ただし、情報処理装置1800では、バス109、EPDコントローラ108および内部メモリ107が1つのEPD関連電力ドメイン1811として管理されている。電源制御装置105は、EPD103に加え、EPD関連電力ドメイン1811へ電力を供給する。電源制御装置104は、メインメモリ102およびSoC101におけるEPD関連電力ドメイン1811以外の部分に対して電力を供給する。
図29は、実施の形態8にかかるEPD制御装置(スケジューラ)201によってスケジュールされた動作タイミングの一例を示すタイミングチャートである。なお、図29に示す基本的な動作タイミングは、図3に示した動作タイミングと同様であってよい。ただし、図29と図3とでは、コピー処理の間のアイドル状態の期間中にメインメモリ102の電源オフに加え、SoC101におけるEPD関連電力ドメイン1811以外の電源をオフにする点が相違する。なお、メインメモリ102およびSoC101におけるEPD関連電力ドメイン1811以外の電源オフに加え、バス109の動作周波数を落としてもよい。
次に、EPD103の書換処理中にメインメモリ102およびSoC101におけるEPD関連電力ドメイン1811以外の電源をオフにするEPD制御装置(スケジューラ)201の処理フローの具体例を図30および図31に示す。なお、図30において、図4と同様の動作については、そのステップを引用することで、重複する説明を省略する。
図30に示すように、たとえば、アプリケーションやミドルウェアやOSが、EPD制御装置(スケジューラ)201のスケジュール部206に、メインメモリ102上の書換用データをもとにEPD103を1回書き換えるようにリクエストすると、まず、メインメモリ102およびSoC101におけるEPD関連電力ドメイン1811以外の電源がオンされていない場合、以降のコピー処理に備えるため、電源制御部202が、電源制御装置104を利用してメインメモリ102およびSoC101におけるEPD関連電力ドメイン1811以外の電源をオンする(ステップS1901)。つぎに、図4のステップS302〜S304と同様の動作を実行して、先頭の分割データをバッファ#0へコピーする。
バッファ#0へのコピー処理が完了すると、つぎに、メインメモリ102およびSoC101におけるEPD関連電力ドメイン1811以外の電源がオンされていない場合、電源制御部202が、電源制御装置104を利用してメインメモリ102およびSoC101におけるEPD関連電力ドメイン1811以外の電源をオンする(ステップS1902)。つぎに、図4のステップS306〜S309と同様の動作を実行することで、次の分割データに対する書換処理の完了後、スケジュール部206がバッファを切り替える。
その後、スケジュール部206が、全ての分割データを書換処理し終えたか否か確認し(ステップS1903)、処理が完了していた場合(ステップS1903;YES)、本動作を終了する。一方、書換処理が完了していない場合(ステップS1903;NO)、スケジュール部206は、ステップS304へリターンし、次の分割データに対する処理を実行する。
また、図31に示すように、EPD103への書換処理の最中にバッファへのコピー処理が終わると、電源制御部202にこのコピー処理の終了が通知される。これに対し、電源制御部202は、図30に示す動作とは独立して、電源制御装置104を使ってメインメモリ102およびSoC101におけるEPD関連電力ドメイン1811以外の電力をオフする(ステップS1911)。これにより、書換処理中にメインメモリ102およびSoC101におけるEPD関連電力ドメイン1811以外の部分での消費電力をさらに削減することができる。
なお、メインメモリ102としてDRAMなどの揮発性のメモリを用いた場合、メインメモリ102の電源を落とす代わりに、セルフリフレッシュモードなどのメモリのデータを保持しつつ省電力化が可能な省電力モードを利用すればよい。また、実施の形態8では、2つのバッファを使用する場合を例示したが、実施の形態6と同様に、1つのバッファを使用した場合でも実施可能である。
また、図29〜図31では、EPD103の画面全体を書き換える場合を例示したが、画面の一部だけ書き換える場合も同様の処理によって実現可能である。また、この実施の形態で、これまでに説明した書換処理の並列処理をすることも当然可能である。さらに、EPD103の画面を部分的に複数個所書き換えるような場合でも、実施の形態7と同様に、複数の書換用データを適切なサイズにまとめて複数のデータグループを作成することで実施可能である。
また、実施の形態8では、上述の実施の形態4または5と同様に、コピー処理に対して次回または現在の書換用データをまとめることで作成されたデータグループに対する前処理を重ねてもよい。さらに、実施の形態8では、EPDコントローラ108がSoC101に内蔵された構成を例示したが、これに限らず、EPDコントローラ108がSoC101に対して外付けされた構成であってもよい。
(実施の形態9)
つぎに、実施の形態9にかかる制御装置(スケジューラ)、情報処理装置、コントローラ、その制御方法およびプログラムを、図面を用いて詳細に説明する。
実施の形態9では、たとえば実施の形態1の情報処理装置100におけるEPDコントローラ108がSoC101に対して外付けされた場合を例示する。
図32は、実施の形態9にかかる情報処理装置2100の概略構成例を示すブロック図である。なお、図32において、図1と同様の構成については同一の符号を付し、その重複する説明を省略する。また、EPD制御装置(スケジューラ)201の基本的な構成は、図2に示す構成と同様であるため、ここではそれを引用して、重複する説明を省略する。
図32に示すように、実施の形態9にかかる情報処理装置2100は、図1に示す情報処理装置100と同様の構成において、EPDコントローラ108がSoC101に対して外付けされたEPDコントローラ2103に置き換えられている。また、内部メモリ107は、EPDコントローラ2103内部に配置されている。この内部メモリ107は、EPDコントローラ2103専用の外付けメモリであってもよい。
電源制御装置105は、EPD103に加え、EPDコントローラ2103へ電力を供給する。電源制御装置104は、メインメモリ102およびSoC101に対して電力を供給する。
このような構成によれば、EPD103に対する書換処理中に、電源制御装置105からEPDコントローラ2103へ給電することが可能であるため、メインメモリ102に加えてSoC101全体の電源もオフにすることができる。ただし、電源制御装置105と各デバイス等との対応付けは、図32に示す構成に限られるものではない。
図33は、実施の形態9にかかるEPD制御装置(スケジューラ)201によってスケジュールされた動作タイミングの一例を示すタイミングチャートである。なお、図33に示す基本的な動作タイミングは、図3に示した動作タイミングと同様であってよい。ただし、図33と図3とでは、コピー処理の間のアイドル状態の期間中にメインメモリ102の電源オフに加え、SoC101の電源をオフにする点が相違する。
次に、EPD103の書換処理中にメインメモリ102およびSoC101の電源をオフにするEPD制御装置(スケジューラ)201の処理フローの具体例を図34および図35に示す。なお、図34において、図4と同様の動作については、そのステップを引用することで、重複する説明を省略する。
図34に示すように、たとえば、アプリケーションやミドルウェアやOSが、EPD制御装置(スケジューラ)201のスケジュール部206に、メインメモリ102上の書換用データをもとにEPD103を1回書き換えるようにリクエストすると、まず、メインメモリ102およびSoC101の電源がオンされていない場合、以降のコピー処理に備えるため、電源制御部202が、電源制御装置104を利用してメインメモリ102およびSoC101の電源をオンする(ステップS2201)。つぎに、図4のステップS302〜S304と同様の動作を実行して、先頭の分割データをバッファ#0へコピーする。
バッファ#0へのコピー処理が完了すると、つぎに、メインメモリ102およびSoC101の電源がオンされていない場合、電源制御部202が、電源制御装置104を利用してメインメモリ102およびSoC101の電源をオンする(ステップS2202)。つぎに、図4のステップS306〜S309と同様の動作を実行することで、次の分割データに対する書換処理の完了後、スケジュール部206がバッファを切り替える。
その後、スケジュール部206が、全ての分割データを書換処理し終えたか否か確認し(ステップS2203)、処理が完了していた場合(ステップS2203;YES)、本動作を終了する。一方、書換処理が完了していない場合(ステップS2203;NO)、スケジュール部206は、ステップS304へリターンし、次の分割データに対する処理を実行する。
また、図35に示すように、EPD103への書換処理の最中にバッファへのコピー処理が終わると、電源制御部202にこのコピー処理の終了が通知される。これに対し、電源制御部202は、図34に示す動作とは独立して、電源制御装置104を使ってメインメモリ102およびSoC101の電力をオフする(ステップS2211)。これにより、書換処理中にメインメモリ102およびSoC101での消費電力を削減することができる。
なお、メインメモリ102としてDRAMなどの揮発性のメモリを用いた場合、メインメモリ102の電源を落とす代わりに、セルフリフレッシュモードなどのメモリのデータを保持しつつ省電力化が可能な省電力モードを利用すればよい。また、実施の形態9では、2つのバッファを使用する場合を例示したが、実施の形態6と同様に、1つのバッファを使用した場合でも実施可能である。
また、図33〜図35では、EPD103の画面全体を書き換える場合を例示したが、画面の一部だけ書き換える場合も同様の処理によって実現可能である。さらに、EPD103の画面を部分的に複数個所書き換えるような場合でも、実施の形態7と同様に、複数の書換用データを適切なサイズにまとめて複数のデータグループを作成することで実施可能である。
また、実施の形態9では、上述の実施の形態4または5と同様に、コピー処理に対して次回または現在の書換用データをまとめることで作成されたデータグループに対する前処理を重ねてもよい。
(実施の形態10)
つぎに、実施の形態10にかかる制御装置(スケジューラ)、情報処理装置、コントローラ、その制御方法およびプログラムを、図面を用いて詳細に説明する。
実施の形態10では、上述した実施の形態9における情報処理装置2100と同様の構成に対し、EPD専用メモリが追加された場合を例示する。その場合、上述した実施の形態においてメインメモリ102上に置かれていた書換用データは、一旦、EPD専用メモリに置かれた後、書換処理に用いられてもよいし、直接、EPD専用メモリに置かれてもよい。
図36は、実施の形態10にかかる情報処理装置2400の概略構成例を示すブロック図である。なお、図36において、図32と同様の構成については同一の符号を付し、その重複する説明を省略する。また、EPD制御装置(スケジューラ)201の基本的な構成は、図2に示す構成と同様であるため、ここではそれを引用して、重複する説明を省略する。ただし、実施の形態10では、EPD制御装置(スケジューラ)201は、EPDコントローラ2103上で実行される処理である。
図36に示すように、実施の形態10にかかる情報処理装置2400は、図32に示す情報処理装置2100と同様の構成において、EPDコントローラ2103に対してEPD専用メモリ2412が外付けされた構成を有する。このEPD専用メモリ2412には、EPD103の書換処理を行う前に、メインメモリ102に置かれていた書換用データがデータ転送される。
EPD専用メモリ2412は、MRAMのような不揮発性のメモリである。ただし、これに限定されず、DRAMのような揮発性のメモリであってもよい。
電源制御装置105は、EPD103およびEPDコントローラ2103に加え、EPD専用メモリ2412へ電力を供給する。電源制御装置104は、メインメモリ102およびSoC101に対して電力を供給する。ただし、EPDコントローラ2103およびEPD専用メモリ2412への給電は、電源制御装置104が行ってもよい。
このような構成によれば、EPD103に対する書換処理中に、電源制御装置105からEPDコントローラ2103へ給電することが可能であるため、メインメモリ102に加えてSoC101全体の電源もオフにすることができる。また、EPD専用メモリ2412にMRAMのような不揮発性のメモリを用いた場合には、EPD専用メモリ2412の電源をオフにすることもできる。
図37は、実施の形態10にかかるEPD制御装置(スケジューラ)201によってスケジュールされた動作タイミングの一例を示すタイミングチャートである。なお、図37に示す基本的な動作タイミングは、図3に示した動作タイミングと同様であってよい。ただし、図37と図3とでは、コピー処理の間のアイドル状態の期間中にEPD専用メモリ2412の電源をオフにする点が相違する。なお、EPD専用メモリ2412の電源オフに加え、メインメモリ102およびSoC101の電源をオフにしてもよい。
次に、EPD103の書換処理中にEPD専用メモリ2412の電源をオフにするEPD制御装置(スケジューラ)201の処理フローの具体例を図38および図39に示す。なお、図38において、図4と同様の動作については、そのステップを引用することで、重複する説明を省略する。
図38に示す動作は、たとえば、アプリケーションやミドルウェアやOSが、EPD制御装置(スケジューラ)201のスケジュール部206に、メインメモリ102上の書換用データをもとにEPD103を1回書き換えるようにリクエストすると、書換用データがメインメモリ102からEPD専用メモリ2412へ転送された後に開始される。なお、EPD専用メモリ2412がMRAMなどの不揮発性のメモリである場合、EPD専用メモリ2412へ書換用データを事前に転送しておいて、EPD専用メモリ2412の電源をオフにしておいてもよい。
図38に示す動作では、まず、EPD専用メモリ2412の電源がオンされていない場合、以降のコピー処理に備えるため、電源制御部202が、電源制御装置105を利用してEPD専用メモリ2412の電源をオンにする(ステップS2501)。つぎに、図4のステップS302〜S304と同様の動作を実行して、先頭の分割データをバッファ#0へコピーする。ただし、分割データの格納元は、メインメモリ102ではなく、EPD専用メモリ2412である。これは、以降の動作でも同様である。
バッファ#0へのコピー処理が完了すると、つぎに、EPD専用メモリ2412の電源がオンされていない場合、電源制御部202が、電源制御装置105を利用してEPD専用メモリ2412の電源をオンする(ステップS2502)。つぎに、図4のステップS306〜S309と同様の動作を実行することで、次の分割データに対する書換処理の完了後、スケジュール部206がバッファを切り替える。
その後、スケジュール部206が、全ての分割データを書換処理し終えたか否か確認し(ステップS2503)、処理が完了していた場合(ステップS2503;YES)、本動作を終了する。一方、書換処理が完了していない場合(ステップS2503;NO)、スケジュール部206は、ステップS304へリターンし、次の分割データに対する処理を実行する。
また、図39に示すように、EPD103への書換処理の最中にバッファへのコピー処理が終わると、電源制御部202にこのコピー処理の終了が通知される。これに対し、電源制御部202は、図38に示す動作とは独立して、電源制御装置105を使ってEPD専用メモリ2412の電力をオフする(ステップS2511)。これにより、書換処理中にEPD専用メモリ2412での消費電力を削減することができる。
なお、メインメモリ102およびEPD専用メモリ2412としてDRAMなどの揮発性のメモリを用いた場合、メインメモリ102およびEPD専用メモリ2412の電源を落とす代わりに、それぞれが備えるセルフリフレッシュモードなどのメモリのデータを保持しつつ省電力化が可能な省電力モードを利用すればよい。また、実施の形態10では、2つのバッファを使用する場合を例示したが、実施の形態6と同様に、1つのバッファを使用した場合でも実施可能である。
また、図37〜図39では、EPD103の画面全体を書き換える場合を例示したが、画面の一部だけ書き換える場合も同様の処理によって実現可能である。さらに、EPD103の画面を部分的に複数個所書き換えるような場合でも、実施の形態7と同様に、複数の書換用データを適切なサイズにまとめて複数のデータグループを作成することで実施可能である。
また、実施の形態10では、上述の実施の形態4または5と同様に、コピー処理に対して次回または現在の書換用データをまとめることで作成されたデータグループに対する前処理を重ねてもよい。
(実施の形態11)
つぎに、実施の形態11にかかる制御装置(スケジューラ)、情報処理装置、コントローラ、その制御方法およびプログラムを、図面を用いて詳細に説明する。
上述した実施の形態では、情報処理装置が電子ペーパなどの表示装置である場合を例示したが、これらに限定されるものではない。たとえば上述した情報処理装置は、LAN(Local Area Network)やインターネットなどのネットワークを介した通信を実現するネットワーク装置などであってもよい。その場合、EPD103に対する書換処理は、ネットワークに対する送信処理および受信処理の少なくとも一方に置き換えることができる。
図40は、実施の形態11にかかる情報処理装置の概略構成例を示すブロック図である。なお、実施の形態11では、情報処理装置として無線LAN装置を適用した場合を例に挙げる。ただし、無線LAN装置の代わりに、有線LAN装置が適用されてもよい。また、図40において、図1と同様の構成については同一の符号を付し、その重複する説明を省略する。
図40に示すように、実施の形態11にかかる情報処理装置2700は、図1に示す情報処理装置100と同様の構成において、SoC101内のEPDコントローラ108が無線LANコントローラ2708に置き換えられ、アクセラレータ111が省略されたた構成を備える。無線LANコントローラ2708の接続先は、EPD103の代わりに、無線LANである。ただし、情報処理装置2700は、EPD103などの表示装置を備えてもよい。また、情報処理装置2700では、電源制御装置105が省略されている。メインメモリ102およびSoC101への給電は、電源制御装置104によって行われる。
また、図41は、実施の形態11にかかる無線LAN制御装置(スケジューラ)2801の概略構成例を示すブロック図である。無線LAN制御装置(スケジューラ)2801は、CPU106上で動作するOSのデバイスドライバなどであってよい。また、図41において、図2と同様の構成については同一の符号を付し、その重複する説明を省略する。
図41に示すように、無線LAN制御装置(スケジューラ)2801は、図2に示すEPD制御装置(スケジューラ)201と同様に、スケジュール部206、電源制御部202、データサイズ調整部203およびデータコピー部204を備える。また、無線LAN制御装置(スケジューラ)2801は、EPD制御装置(スケジューラ)201における書換処理指示部205に代えて、データ送受信部2805を備える。
スケジュール部206は、情報処理装置2700上で動作するアプリケーションやミドルウェアやOSなどから例えばデータの送信を指示されると、電源制御部202、データサイズ調整部203、データコピー部204およびデータ送受信部2805を連携動作させることで、メインメモリ102上にある送信用データを複数に分割し、分割した送信用データを順々に内部メモリ107の2枚のバッファ#0および#1へ交互にコピーし、無線LANコントローラ2708に対してバッファ#0または#1から送信用データの送信処理を行うようにスケジューリングする。送信処理中は、バッファ#0および#1を備える内部メモリ107の電源をオンにしておく必要がある。ただし、その際の消費電力やアクセス時間などのアクセスペナルティはメインメモリ102のそれに対して小さく抑えられる。一方で、この期間中は、不揮発メモリを利用しているメインメモリ102の電源をオフにすることができる。これらから、トータルの消費電力を削減することが可能になる。
この送信処理時の動作は、受信処理についても処理フローを逆にすることで同様に適用可能である。すなわち、受信処理を内部メモリ107の2つのバッファを利用して行い、バッファへのデータの受信後は順々にメインメモリ102上に受信データをコピーする。そのため、コピー処理中以外は、受信処理中であってもメインメモリ102の電源をオフにすることができる。そのため、トータルの消費電力を削減することが可能になる。
なお、実施の形態11では、内部メモリ107をSoC101内に配置したが、これに限られず、無線LANコントローラ2708内に配置してもよい。また、実施の形態11では、無線LANコントローラ2708をSoC101内に配置したが、これに限られず、外付けの無線LANコントローラを用いてもよい。
また、メインメモリ102としてDRAMなどの揮発性のメモリを用いた場合、メインメモリ102の電源を落とす代わりに、セルフリフレッシュモードなどのメモリのデータを保持しつつ省電力化が可能な省電力モードを利用すればよい。
(実施の形態12)
つぎに、実施の形態12にかかる制御装置(スケジューラ)、情報処理装置、コントローラ、その制御方法およびプログラムを、図面を用いて詳細に説明する。
上述した実施の形態にかかる情報処理装置は、GPU(Graphics Processing Unit)などのグラフィックアクセラレータであってもよい。
図42は、実施の形態12にかかる情報処理装置の概略構成例を示すブロック図である。なお、実施の形態12では、情報処理装置として、画像処理やGPGPU(General Purpose GPU)などの用途で利用されるGPUなどの重い演算処理をオフロードするためのアクセラレータを適用した場合を例に挙げる。ただし、これに限定されず、EPDなどの表示装置を備えた携帯型の情報端末であってもよいし、表示装置が無い、消費電力の削減が大きな課題になっているスーパーコンピュータのPE(Processing Element)などであってもよい。
図42に示すように、実施の形態12にかかる情報処理装置2900は、図1に示す情報処理装置100と同様の構成において、SoC101内のEPDコントローラ108がGPU2903に置き換えられ、アクセラレータ111が省略された構成を備える。また、情報処理装置2900では、電源制御装置105が省略されるとともに、内部メモリ107がGPU2903内部に配置されている。メインメモリ102およびSoC101への給電は、電源制御装置104によって行われる。図42ではアクセラレータを省略しているが、アクセラレータが別途あってもよい。
また、図43は、実施の形態12にかかるGPU制御装置(スケジューラ)3001の概略構成例を示すブロック図である。GPU制御装置(スケジューラ)3001は、CPU106上で動作するOSのデバイスドライバやアプリケーションプログラム、あるいはGPU2903上で動作するアプリケーションプログラムなどであってよい。図43において、図2と同様の構成については同一の符号を付し、その重複する説明を省略する。
図43に示すように、GPU制御装置(スケジューラ)3001は、図2に示すEPD制御装置(スケジューラ)201と同様に、スケジュール部206、電源制御部202、データサイズ調整部203およびデータコピー部204を備える。また、GPU制御装置(スケジューラ)3001は、EPD制御装置(スケジューラ)201における書換処理指示部205に代えて、演算指示部3005を備える。
スケジュール部206は、情報処理装置2900上で動作するアプリケーションやミドルウェアやOSなどから例えば情報処理装置2900上での演算処理のオフロードを指示されると、電源制御部202、データサイズ調整部203、データコピー部204および演算指示部3005を連携動作させることで、メインメモリ102上にある演算の入力データを複数に分割し、分割した入力データを順々に内部メモリ107の2枚のバッファ#0および#1へ交互にコピーし、GPU2903に対してバッファ#0または#1から入力データの演算処理を行うようにスケジューリングする。そのため、コピー処理中でなければ、演算処理中であっても不揮発メモリを利用しているメインメモリ102の電源をオフにすることができる。その結果、消費電力を削減することが可能になる。
さらに、GPGPUに対応したアプリケーションのなかには、メインメモリと内部メモリのデータ授受のオーバヘッド削減のために、メインメモリと内部メモリとの間のデータ転送を極端に少なくするか、あるいは、データ転送は最初と最後の1回で、演算は内部メモリ上のみで行うという工夫をすることで高速実行するものがある。そのようなアプリケーションではメモリアクセスをしている時間は少ない。そのため、メモリアクセス中以外はメインメモリ102の電源をオフにすることが可能になる効果は大きい。また、ハイパフォーマンスコンピューティングやクラウドの分野では、処理するデータ量が多いので、未処理の分割データがメインメモリ102の電源をオフにしても消えないのは大きな利点である。なお、この演算処理時の動作は、演算結果をメインメモリ102へ戻す際の処理に対しても同様に適用することができる。
なお、実施の形態12では、内部メモリ107をGPU2903内に配置したが、これに限られず、SoC101内であってGPU2903外に配置してもよい。また、実施の形態12では、GPU2903をSoC101内に配置したが、これに限られず、外付けのGPUを用いてもよい。
また、メインメモリ102としてDRAMなどの揮発性のメモリを用いた場合、メインメモリ102の電源を落とす代わりに、セルフリフレッシュモードなどのメモリのデータを保持しつつ省電力化が可能な省電力モードを利用すればよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。