(57)【要約】  小面積化を図りつつ低消費電力で表示装置の表示データを効率良くメモリから読み出し、表示装置コントローラへ表示データを送ることができる半導体集積回路装置を提供することにある。  表示装置の表示用データが格納されているメモリに接続され、前記表示用データを前記メモリより読み出して前記表示装置へ転送する半導体集積回路装置であって、前記表示用データを保持する表示データバッファと、前記表示用データを、前記メモリのページサイズ単位でプリフェッチして前記表示データバッファに保持させるとともに、１つのページのプリフェッチが終了した時点で該ページをクローズし、前記メモリを省電力モードに移行させるメモリコントローラと、前記表示データバッファに保持されている表示用データを前記表示装置に転送する表示装置コントローラと、を含む。
2008111396.tif 000002
【特許請求の範囲】
【請求項１】
表示装置の表示用データが格納されているメモリに接続され、前記表示用データを前記メモリより読み出して前記表示装置へ転送する半導体集積回路装置であって、  前記表示用データを保持する表示データバッファと、  前記表示用データを、前記メモリのページサイズ単位でプリフェッチして前記表示データバッファに保持させるとともに、ページのプリフェッチが終了した時点で該ページをクローズし、前記メモリを省電力モードに移行させるメモリコントローラと、  前記表示データバッファに保持されている表示用データを前記表示装置に転送する表示装置コントローラと、を含むことを特徴とする半導体集積回路装置。
【請求項２】
請求項１記載の半導体集積回路装置において、  表示装置コントローラと表示データバッファのデータ転送を接続する専用バスを含むことを特徴とする半導体集積回路装置。
【請求項３】
請求項１または請求項２記載の半導体集積回路装置において、  表示データバッファとして、メモリのページサイズの表示用データを保持可能な容量のものが２つ設けられ、  メモリコントローラは、１つの表示データバッファから表示装置コントローラへ表示データが転送されているときに、他の表示データバッファにメモリから表示データのプリフェッチを行うことを特徴とする半導体集積回路装置。
【請求項４】
請求項１または請求項２記載の半導体集積回路装置において、  表示データバッファとして、メモリのページサイズの表示用データを保持可能な容量のものが以下の個数が設けられ、（２＋（表示装置の水平ラインデータサイズ）／（メモリのページサイズ）＋１）  メモリコントローラは、１つの表示データバッファから表示装置コントローラへ表示データが転送されているときに、他の表示データバッファにメモリから表示データのプリフェッチを行うことを特徴とする半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、半導体集積回路装置、特に、機器に組み込まれる用途に適する半導体集積回路装置に関する。
【技術背景】
【０００２】  通常、ＬＣＤ（Liquid  Crystal  Display）もしくはＣＲＴ（Cathode  Ray  Tube）などの表示装置の表示データは、主記憶装置もしくは表示データ専用の記憶装置として用いられるＤＲＡＭに格納されている。ＬＣＤコントローラは表示データ必要なときに、ＤＲＡＭもしくはＤＲＡＭコントローラにリクエストを送り、ＤＲＡＭから表示データを読み出し、該表示データによりＬＣＤに画像および文字を表示する。
【０００３】  しかし、低い消費電力で画像を表示させる必要があるとき、ＬＣＤコントローラのリクエストに応じてＤＲＡＭから表示データを読み出すというシステムは、消費電力の観点から無駄が多い。なぜならば、ＬＣＤコントローラのリクエストに応じてＤＲＡＭの該当ページをオープンし、必要な表示データを読み出してから該ページをクローズ（プリチャージ）する、という動作が頻繁に行われるからである。ここでページとは、ロウアクティベーションにより活性化されるＤＲＡＭのデータ単位サイズを指す。
【０００４】  一方、ＤＲＡＭのページのオープン、クローズを行う回数を減らし、消費電力を削減するため、クローズを行わず、ページを開いたままにするという手法も考えられる。たとえば特許文献１（特開平１０−１０５３６７号公報）に開示される技術によれば、現在アクセスしているＤＲＡＭのバンクのページをオープンにした状態でアクセスの制御を行っている。
【０００５】  さらに、特許文献１に開示される技術では、フレームデータが画像メモリの一つのページに収まるように設定され、隣接する一対の矩形領域のそれぞれのフレームデータを任意のバンクにそれぞれ対応させる。そして将来アクセスするであろう任意のバンクのページを前もってオープンしておくことで、アクセスするバンクが切り替わっても連続にアクセス可能としている。
【０００６】  上記のように特許文献１においては、任意にアクセスされるバンクの並列性を用いることで、データ転送の高速化を図っている。しかしながら、各バンクのページをオープンにしたままであるため、ＤＲＡＭを常にアクティブにしておく必要があり、ＤＲＡＭを別のモードに切り替える、例えばセルフリフレッシュのような省電力モードに切り替えることができず、依然として消費電力は大きかった。
【０００７】  上記の課題を克服するために、ＬＣＤコントローラと同じ半導体集積回路装置に実装され、ＤＲＡＭ以外のＳＲＡＭやフリップフロップにより構成されたバッファに、ＬＣＤの表示データをすべて格納するという方法が考えられる。こうすることで、ＤＲＡＭに一切アクセスする必要はなくなる。ゆえにＤＲＡＭを省電力モード移行させることができ、消費電力を削減できる。
【０００８】  だが、昨今のＬＣＤの表示サイズは大きくなってきており、表示データをすべてバッファに格納するのは現実的ではなくなってきている。たとえば、１８ビット色数ＶＧＡサイズのＬＣＤの場合、表示データのサイズは１メガバイトを超える。このデータをすべて格納するバッファを、ＬＣＤコントローラと同じ半導体集積回路装置に実装した場合、該回路の面積は大きくなり、半導体集積回路装置の製造コストの面で不利になる。よって今後、ＬＣＤの表示サイズが大きくなると、ＤＲＡＭから表示データを読み出す必要があり、再び電力の問題が発生する。
【０００９】  また、表示させる画像がＬＣＤの表示サイズより小さく、該画像をＬＣＤに拡大表示させる場合、ＬＣＤの同一水平ラインの表示データを複数回読み出す必要がある。ゆえに、同じ水平ラインデータを何度もＤＲＡＭから読み出さねばならず、これも消費電力を増加させる。【特許文献１】特開平１０−１０５３６７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】  本発明は、以上で述べた問題を鑑みて提案されたものであり、小面積化を図りつつ低消費電力で表示装置の表示データを効率良くメモリから読み出し、表示装置コントローラへ表示データを送ることができる半導体集積回路装置を提供することにある。
【課題を解決するための手段】
【００１１】  本発明の半導体集積回路装置は、表示装置の表示用データが格納されているメモリに接続され、前記表示用データを前記メモリより読み出して前記表示装置へ転送する半導体集積回路装置であって、  前記表示用データを保持する表示データバッファと、  前記表示用データを、前記メモリのページサイズ単位でプリフェッチして前記表示データバッファに保持させるとともに、ページのプリフェッチが終了した時点で該ページをクローズし、前記メモリを省電力モードに移行させるメモリコントローラと、  前記表示データバッファに保持されている表示用データを前記表示装置に転送する表示装置コントローラと、を含むことを特徴とする。【００１２】  この場合、表示装置コントローラと表示データバッファのデータ転送を接続する専用バス、を含むこととしてもよい。【００１３】  また、表示データバッファとして、メモリのページサイズの表示用データを保持可能な容量のものが２つ設けられ、  メモリコントローラは、１つの表示データバッファから表示装置コントローラへ表示データが転送されているときに、他の表示データバッファにメモリから表示データのプリフェッチを行うこととしてもよい。【００１４】  また、表示データバッファとして、メモリのページサイズの表示用データを保持可能な容量のものが以下の個数が設けられ、（２＋（表示装置の水平ラインデータサイズ）／（メモリのページサイズ）＋１）  メモリコントローラは、１つの表示データバッファから表示装置コントローラへ表示データが転送されているときに、他の表示データバッファにメモリから表示データのプリフェッチを行うこととしてもよい。【００１５】  本発明によれば、低消費電力で表示装置の表示データをメモリから読み出し、表示装置コントローラへ表示データを転送できる。【００１６】  その第１の理由は、表示装置の表示データのプリフェッチをメモリのページサイズ単位で行うことで、任意のメモリのページに対するオープン、クローズのコマンド発行をそれぞれ最小１回に抑えることができ、無駄な信号のやり取りを抑えられ、メモリのページ操作も減り、さらにプリフェッチ後にメモリを省電力モードに移行させることにより、メモリの消費電力を削減することができるからである。【００１７】  その第２の理由は、表示データバッファから表示装置コントローラへ表示データを転送するときに、半導体集積回路装置内のメインで使うバスを用いず、専用のバスを用いることで、たとえば省電力モードで半導体集積回路装置が動作しているとき、メインで用いるバスのクロックを止めるもしくは電源供給を止めることで、消費電力を削減できるからである。【００１８】  その第３の理由は、表示装置への表示データの転送を行いつつ、メモリから表示データをプリフェッチでき、かつ、表示データバッファのサイズをメモリのページサイズ単位という小さいバッファで実現するため、半導体集積回路装置内の表示データバッファの占有面積が小さくなり、リーク電流などを抑えることができるからである。【００１９】  その第４の理由は、画像の拡大表示などにおける、表示装置の同一水平ラインデータの複数回読み出しが必要な場合において、表示データバッファから表示装置コント��ーラへの再転送に必要な表示データの上書きを防ぎ、同一水平ラインデータのメモリからの再読み出しを防止することで、無駄なメモリ操作を減らし、消費電力を抑えることができるからである。【００２０】  本発明によれば、プリフェッチする表示装置の表示データ量は、メモリのページサイズ単位と規定している。ページサイズ単位とは、１ページでもよいし、複数ページでもよい。いずれにせよ、表示データ量をメモリのページサイズ単位にすることで、メモリの任意のページに対するオープン、クローズのコマンド発行がそれぞれ最小１回にすることができるためである。これにより、メモリの該ページのオープン、クローズを最小限に抑えることができ、消費電力を抑えることができる。【００２１】  また、本発明によればプリフェッチ終了後はメモリを省電力モードに移行させるとしている。これは、プリフェッチ終了後は表示装置コントローラへのデータの転送は表示データバッファから行うため、次のプリフェッチまでメモリを読み出すことはなくなるためである。メモリを省電力モードに移行させることで、メモリの消費電力を削減できる。
【図面の簡単な説明】
【００２２】
【図１】本発明の第１の実施の形態を示す図である。
【図２】本発明の第１の実施の形態の詳細を示す図である。
【図３】本発明の第１の実施の形態のプリフェッチの手法のフローチャートである。
【図４】本発明の第２の実施の形態を示す図である。
【図５】本発明の第２の実施の形態の詳細を示す図である。
【図６】本発明の第２の実施の形態のプリフェッチの手法のフローチャートである。
【図７】本発明の第２の実施の形態のプリフェッチの手法のフローチャートである。
【図８】本発明の第３の実施の形態を示す図である。
【図９】本発明の第３の実施の形態の詳細を示す図である。
【図１０】本発明の第３の実施の形態のプリフェッチの手法のフローチャートである。
【図１１】本発明の第４の実施の形態を示す図である。
【図１２】本発明の第４の実施の形態のプリフェッチの手法のフローチャートである。
【図１３】本発明の第４の実施の形態における表示データバッファの状態（表示データバッファ２枚時）を示す図である。
【図１４】本発明の第４の実施の形態における表示データバッファの状態（表示データバッファ２枚時）を示す図である。
【図１５】本発明の第４の実施の形態における表示データバッファの状態（表示データバッファ３枚時）を示す図である。
【符号の説明】
【００２３】  １０１    メモリコントローラ  １０２    表示データバッファ  １０３    ＬＣＤコントローラ  １０４    ＣＰＵ  １０５    ＤＳＰ  １０６    カメラインタフェース  １０７    メインバス  １１０３    プリフェッチコントローラ  １１０４    ＤＭＡコントローラ  １１０５    リクエストコントローラ
【発明を実施するための最良の形態】
【００２４】  次に、本発明の実施形態について、図面を参照して詳細に説明する。【００２５】  図１は本発明による一実施形態の構成を示すブロック図である。【００２６】  本実施形態の半導体集積回路装置１０８は、ＬＣＤコントローラ（ＬＣＤＣ）１０３と、表示データバッファ（Ｂｕｆｆｅｒ）１０２を有するメモリコントローラ１０１を含む。図示していないが、ＬＣＤコントローラ１０３は、半導体集積回路装置外のＬＣＤに接続され、表示データをＬＣＤへ転送する。そのほか、半導体集積回路装置１０８は、ＣＰＵ１０４やＤＳＰ１０５、カメラインターフェース（ＣＡＭＥＲＡ  Ｉ／Ｆ）１０６も有する。ＣＰＵ１０４、ＤＳＰ１０５、カメラインターフェース１０６などは、半導体集積回路装置の用途や必要用件などにより、削除されることがあり、また、これら以外の新たなモジュールが追加されることもある。【００２７】  メモリコントローラ１０１、ＬＣＤコントローラ１０３、ＣＰＵ１０４、ＤＳＰ１０５、カメラインターフェース１０６はメインバス１０７で接続されている。また、ＤＲＡＭ１００とメモリコントローラ１０１を介してメインバス１０７に接続されている。【００２８】  ＤＲＡＭ１００は表示データを格納する大規模に構成された記憶装置であり、表示データバッファ１０２はＳＲＡＭやフリップフロップを用いて構成された小規模な記憶装置である。【００２９】  メモリコントローラ１０１はＤＲＡＭ１００や表示データバッファ１０２間でのデータ伝送を制御するものであり、ＬＣＤ表示データのプリフェッチでは、ＬＣＤコントローラ１０３から表示データの読み出しリクエストを受ける前に、ＬＣＤ表示データをＤＲＡＭ１００からプリフェッチしておき、表示データバッファ１０２に格納しておく。ＬＣＤコントローラ１０３から表示データの読み出しリクエストが送られてきたら、メモリコントローラ１０１は表示データバッファ１０２から表示データを読み出してＬＣＤコントローラ１０３に送る。【００３０】  ここでのプリフェッチとは、一般的なデータの先読みに相当する。具体的には、ＤＲＡＭ１００の連続アドレス領域に格納してあるＬＣＤ表示データを、ＬＣＤコントローラ１０３がメモリコントローラ１０１に読み出しリクエストを要求するよりも前に、メモリコントローラ１０１がＬＣＤ表示データをＤＲＡＭ１００から読み出し、表示データバッファに格納しておくことを示す。このとき、ＬＣＤ表示データを読み出すアドレスは、連続アドレス領域でなくともよい。たとえばＤＲＡＭ１００のページ単位の一定間隔のアドレス領域に格納されるとしてもよい。または一般的な仮想アドレス空間、物理アドレス空間変換のようなアドレスマップテーブル参照によって読み出すアドレス領域を確認してＬＣＤ表示データを読み出すこととしてもよい。【００３１】  昨今ではＤＲＡＭの動作速度は速くなったため、ＬＣＤへの表示データ供給時間よりも、ＤＲＡＭ１００からの表示データ読み出し時間のほうが短い。これにより、ＬＣＤコントローラの要求に合わせて表示データをＤＲＡＭから読み出すよりも、必要な表示データをＤＲＡＭ１００からプリフェッチしておき、プリフェッチ終了後にＤＲＡＭをセルフリフレッシュのような省電力モードに移行させるほうが消費電力の観点から有利である。【００３２】  図２は図１中のメモリコントローラ１０１の構成を詳細に示す図である。【００３３】  メモリコントローラ１０１は、図１に示した表示データバッファ１０２の他に、プリフェッチコントローラ１１０３、ＤＲＡＭコントローラ１１０４、リクエストコントローラ１１０５から構成され、ＤＲＡＭ１００およびメインバス１０７と接続する。【００３４】  プリフェッチコントローラ１１０３は、プリフェッチの開始、終了、プリフェッチのＤＲＡＭ読み出しリクエストの生成を行う。プリフェッチのＤＲＡＭ読み出しリクエストは、プリフェッチコントローラ１１０３からリクエストコントローラ１１０５へ発行される。【００３５】  リクエストコントローラ１１０５では、プリフェッチコントローラ１１０３やメインバス１１０６から来るリクエストを調停し、ＤＲＡＭコントローラ１１０４へリクエストを発行する。【００３６】  また、メインバス１０７を介してＬＣＤコントローラ１０３から表示データの読み出しリクエストを受け付けた場合には、表示データバッファ１０２から表示データを読み出し、メインバス１０７へ表示データを送る。ＤＲＡＭコントローラ１１０４は、リクエストコントローラ１１０５から受け付けたＤＲＡＭ１００へのリクエストに基づいて、ＤＲＡＭ１００に対してコマンドを発行する。【００３７】  図３は、ＬＣＤの表示データのプリフェッチ動作を示すフローチャートである。図３では、ＬＣＤの１面を表示し終えるまでの動作を表している。【００３８】  図３におけるステップＳ３０１は、プリフェッチ開始直後の動作である。プリフェッチ開始直後は、表示データバッファ１０２には表示データは存在しないので、最初に表示データのプリフェッチを行う必要がある。プリフェッチは、ＤＲＡＭ１００の任意のバンクから１ページ分のＬＣＤ表示データを読み出し、このデータを表示データバッファ１０２に保持する。【００３９】  プリフェッチの開始のタイミングは、ソフトウェアでメモリコントローラ１０１内のプリフェッチコントローラ１１０３に割り込みなどを用いて通達してもよい。また、ＣＰＵ１０４やＤＳＰ１０５、カメラインターフェース１０６などのモジュールがメモリコントローラ１０１に対してリクエストをまったく送らなくなったことをハードウェアで検知し、その時点でプリフェッチコントローラ１１０３にプリフェッチ開始の信号を送るという手法も考えられる。【００４０】  この最初のプリフェッチの間、プリフェッチコントローラ１１０３はリクエストコントローラ１１０５へ、ＤＲＡＭ１１０７からのＬＣＤ表示データの読み出しを抑制するための信号を送信し、プリフェッチによる表示データバッファ１０２のデータの充填を待たせる必要がある。もしくは、プリフェッチと並行して、ＬＣＤコントローラ１０３からのリクエストを、通常のＤＲＡＭ読み出しリクエストとして扱い、ＤＲＡＭ１１０７から表示データを読み出し、ＬＣＤコントローラ１０３へ送るという方法もありうる。【００４１】  上記の方法のいずれにおいても、ＤＲＡＭ１１０７に格納されている１ページ分の表示データのプリフェッチ終了後から、ＬＣＤコントローラ１０３からの���示データの読み出しリクエストに対して、表示データバッファ１０２からＬＣＤデータをＬＣＤコントローラ１０３へ送信する。このほか、プリフェッチが完了するまで、ＬＣＤコントローラ１０３に表示データの読み出しリクエストの発行を抑制させるための信号を、プリフェッチコントローラ１１０３から送るという方法も考えられる。【００４２】  ステップＳ３０１の後、メモリコントローラ１０１はＬＣＤコントローラ１０３から送られてくる表示データの読み出しリクエストに応じて、表示データを表示データバッファ１０２から読み出し、該表示データの送信を開始する（ステップＳ３０２）。なお、後述のステップＳ３０３、Ｓ３０４、Ｓ３０５では、図示はしていないが、ＬＣＤコントローラ１０３から表示データの読み出しリクエストがメモリコントローラ１０１に送られてきた場合、メモリコントローラ１０１はプリフェッチと平行してＬＣＤコントローラ１０３への表示データの転送を行う。【００４３】  ステップＳ３０３では、ＬＣＤコントローラ１０３から最後のＬＣＤ表示データの読み出しリクエストを受け付けたかを判定している。もしメモリコントローラ１０１が最後のＬＣＤ表示データの読み出しリクエストを受け付けた場合は、これ以上はＬＣＤの表示データをプリフェッチする必要はないので、プリフェッチは終了する。【００４４】  上記の読み出しリクエストの判定はプリフェッチコントローラ１１０３が行う。判定方法は前もってプリフェッチコントローラ１１０３にセットされた終了アドレスと、ＬＣＤコントローラ１０３から送られてきた表示データの読み出しリクエストのアドレスを比較することで実現する。プリフェッチコントローラ１１０３への終了アドレスのセットは、ソフトウェアにより設定可能なレジスタを設け、ソフトウェアにより設定することで実現することができる。または、プリフェッチコントローラ１１０３内で終了アドレスを固定とすることで実現することもできる。【００４５】  ステップＳ３０３において、ＬＣＤコントローラ１０３から最後のＬＣＤ表示データの読み出しリクエストを受け付けていないと判定した場合に行われるステップＳ３０４では、表示データバッファ１０２に格納されているＬＣＤ表示データの、次のページのＬＣＤ表示データのプリフェッチを開始するか否かを判定している。【００４６】  ステップＳ３０４における判定を行うのは、プリフェッチコントローラ１１０３である。プリフェッチコントローラ１１０３は、ＬＣＤコントローラ１０３に転送するＬＣＤ表示データのメモリアドレスが、ＤＲＡＭ１００のページの先頭アドレスとなった場合、ＤＲＡＭ１００の次のページに格納されているＬＣＤ表示データをＤＲＡＭ１００からプリフェッチし始める（ステップＳ３０５）。【００４７】  このプリフェッチの開始の手法は、ＬＣＤコントローラ１０３に転送するＬＣＤ表示データのメモリアドレスがＤＲＡＭ１００のページの先頭アドレスとなったら、ではなく、ＤＲＡＭ１００のページに格納されているＬＣＤ表示データに初めてアクセスしたら、でも良い。さらには、ＤＲＡＭ１００のページの中ごろ、など任意の場所でもよい。望ましくは、ＬＣＤコントローラ１０３へ表示データの転送が開始す���前までに、該ページのプリフェッチが完了する時間を確保できるように、プリフェッチ開始のタイミングを設定するのがよい。【００４８】  ＬＣＤ表示データのＤＲＡＭ１００からのプリフェッチが完了したら、ＤＲＡＭ１００をセルフリフレッシュモードにする（ステップＳ３０６）。これにより、ＤＲＡＭ１００の消費電力を低く抑えることができる。【００４９】  セルフリフレッシュモードへ移行させる手段としては、プリフェッチコントローラ１１０３がＤＲＡＭコントローラ１１０４へセルフリフレッシュモードへの遷移依頼信号を送信し、それを受けたＤＲＡＭコントローラ１１０４がセルフリフレッシュコマンドをＤＲＡＭ１１０７へ発行するという方法で実現することができる。または、リクエストコントローラ１１０５が、プリフェッチコントローラから１１０３からのプリフェッチの表示データ読み出しリクエストがなくなった時点でＤＲＡＭコントローラ１１０４へセルフリフレッシュモードへの遷移を依頼する信号を送信するという方法も考えられる。【００５０】  もし、任意のマスタモジュール（たとえばＣＰＵ１０４など）からメモリリクエストがメモリコントローラ１０１に送られてきた場合、ＤＲＡＭ１００をセルフリフレッシュモードから復帰させる必要がある。本実施形態では、ＤＲＡＭ１００、メモリコントローラ１０１、ＬＣＤコントローラ１０３、メインバス１０７以外のモジュールが稼動しておらず、クロックないし電源の供給が行われていない状態のときに、特に有用である。このような動作は、たとえば携帯電話の待ち受け状態があげられる。【００５１】  図４は本発明の第２の実施の形態にかかる半導体集積回路装置の構成を示すブロック図である。【００５２】  半導体集積回路装置４０９はＬＣＤコントローラ４０３と表示データバッファ４０２を有するメモリコントローラ４０１を含む。図示していないが、ＬＣＤコントローラ４０３は、半導体集積回路装置外のＬＣＤに接続され、表示データをＬＣＤへ転送する。そのほか、半導体集積回路装置４０９は、ＣＰＵ４０４、ＤＳＰ４０５、カメラインターフェース４０６も備える。【００５３】  ＣＰＵ４０４、ＤＳＰ４０５、カメラインターフェース４０６などは、半導体集積回路装置４０９の用途や必須用件などにより、削除されてもよく、また、新たなモジュールの追加されることもありえる。【００５４】  メモリコントローラ４０１、ＬＣＤコントローラ４０３、ＣＰＵ４０４、ＤＳＰ４０５、カメラインターフェース４０６はメインバス４０７で接続されている。また、メモリコントローラ４０１とＬＣＤコントローラ４０３は専用データバス４０８でも接続されている。【００５５】  図５は、図４中のメモリコントローラ４０１の構成を詳細に示す図である。【００５６】  メモリコントローラ４０１は、図４に示した表示データバッファ４０２の他に、プリフェッチコントローラ２４０３、ＤＲＡＭコントローラ２４０４、リクエストコントローラ２４０５から構成され、ＤＲＡＭ４００およびメインバス４０７と接続する。【００５７】  表示データバッファ４０２、プリフェッチコントローラ２４０３、ＤＲＡＭコントローラ２４０４、リクエストコントローラ２４０５の構成は図２に示した��示データバッファ１０２、プリフェッチコントローラ１１０３、ＤＲＡＭコントローラ１１０４、リクエストコントローラ１１０５と同様であり、プリフェッチコントローラ２４０３が専用データバス４０８でＬＣＤコントローラ４０３と接続され、表示データバッファ２４０２とプリフェッチコントローラ２４０３がデータラインで接続されている点が、図２に示した構成と異なっている。【００５８】  図６および図７は、本発明の第２の実施形態を用いて行われる、ＬＣＤ表示データのプリフェッチの異なる手法を示すフローチャートである。【００５９】  図６におけるステップＳ５０１、Ｓ５０３〜Ｓ５０５は、図３に示したステップＳ３０１、Ｓ３０３〜Ｓ３０５と同様であり、図７におけるステップＳ６０１、Ｓ６０３〜Ｓ６０６は、図３に示したステップＳ３０１、Ｓ３０３〜Ｓ３０６と同様である。【００６０】  図６におけるステップＳ５０２および図７におけるステップＳ６０２は、いずれも、ＬＣＤコントローラ４０３、メモリコントローラ４０１の間でのＬＣＤの表示データのリクエストおよびデータは、専用データバス４０８を用いるものであり、この点が図３に示したプリフェッチ手法と異なる。【００６１】  専用データバス４０８を用いた表示データのやり取りは、たとえば携帯電話の待ち受け状態のような、ＬＣＤやＬＣＤコントローラ４０３、ＤＲＡＭ４００やメモリコントローラ４０１以外の主要なモジュールが稼動していない状態のときに有用である。【００６２】  待ち受け状態時には図４のＣＰＵ４０４、ＤＳＰ４０５、カメラインターフェース４０６に対するクロックないし電源の供給を止めると同時にメインバス４０７へのクロックないし電源供給も止めることで、消費電力の削減を図ることができる。【００６３】  専用データバス４０８が無い場合、メインバス４０７のクロックないし電源の供給は止められない。メインバス４０７は、専用データバス４０８と比べ、多くのモジュールに接続されているため、面積は専用データバス４０８よりも大きくなる。このため、待ち受け状態時には、メインバス４０７ではなく、専用データバス４０８を用いてＬＣＤ表示データのやり取りを行うほうが、消費電力の点で有利となる。また、専用データバス４０８のクロック速度は、ＬＣＤ表示データの供給が間に合う程度でよく、これは通常、メインバス４０７よりも速度は遅くなる。このため、クロック速度の観点からも消費電力は専用バス４０８を用いるほうが有利である。【００６４】  図８は、本発明の第３の実施形態にかかる半導体集積回路装置７１０の構成を示すブロック図である。【００６５】  半導体集積回路装置７１０は、ＬＣＤコントローラ７０４とメモリコントローラ７０１を含む。メモリコントローラ７０１は表示データバッファとして用いるＳＲＡＭ７０２および７０３を有するもので、ＳＲＡＭ７０２および７０３のそれぞれはＤＲＡＭのページサイズ単位のデータ容量を持つ。表示データバッファの面積の観点から、望ましくは、表示データバッファに用いるＳＲＡＭ７０２および７０３は、シングルポートＳＲＡＭが良い。もちろん、本バッファをフリップフロップなどで実現してもよい。さらには、書き込み、読み出しポートに特別な制限が無いの���あれば、同容量の１枚のバッファを用いてもかまわない。【００６６】  図８には示していないが、ＬＣＤコントローラ７０４は、半導体集積回路装置７１０外のＬＣＤに接続され、表示データをＬＣＤへ転送する。そのほか、半導体集積回路装置７１０はＣＰＵ７０５やＤＳＰ７０６、カメラインターフェース７０７も有する。ＣＰＵ７０５、ＤＳＰ７０６、カメラインターフェース７０７などは、半導体集積回路装置７１０の用途や必要用件などにより、削除されることや、もしくは新たなモジュールが追加されることもある。【００６７】  メモリコントローラ７０１、ＬＣＤコントローラ７０４、ＣＰＵ７０５、ＤＳＰ７０６、カメラインタフェース７０７はメインバス７０８で接続されている。また、メモリコントローラ７０１とＬＣＤコントローラ７０４は専用データバス７０９でも接続されている。この専用データバス７０９はなくても良く、その場合はＬＣＤコントローラ７０４とメモリコントローラ７０１の間でのリクエストとデータのやり取りは必ずメインバス７０８を介して行う。【００６８】  ＬＣＤ表示データのプリフェッチでは、メモリコントローラ７０１は、ＬＣＤコントローラ７０４から表示データの読み出しリクエストを受ける前に、ＬＣＤ表示データをＤＲＡＭ７００からプリフェッチしておき、ＳＲＡＭ７０２もしくは７０３に格納しておく。ＬＣＤコントローラ７０４から表示データの読み出しリクエストが送られてきたら、メモリコントローラ７０１はＳＲＡＭ７０２もしくは７０３から表示データを読み出し、ＬＣＤコントローラ７０４に送る。このとき、読み出しリクエスト、表示データのやり取りは、専用データバス７０９で行う。もし該半導体集積回路装置７１０が専用データバス７０９を持たない場合、メインバス７０８を用いて読み出しリクエスト、表示データのやり取りを行う。【００６９】  図９は、図８中のメモリコントローラ７０１の構成を詳細に示す図である。【００７０】  メモリコントローラ７０１は、図８に示したＳＲＡＭ７０２，７０３の他に、プリフェッチコントローラ３４０４、ＤＲＡＭコントローラ３４０５、リクエストコントローラ３４０６から構成され、ＤＲＡＭ７００およびメインバス７０８と接続する。また、プリフェッチコントローラ３４０４は専用データバス４０８を介してＬＣＤコントローラ４０３と接続されている。【００７１】  上記のように構成されるメモリコントローラ７０１は、表示データバッファが２つのＳＲＡＭ７０２，７０３とされている以外は、図５に示したメモリコントローラ４０１の構成と一致する。プリフェッチ時に表示データを格納する表示データバッファの選択は、プリフェッチコントローラ３４０４が行い、リクエストコントローラ３４０６にその情報を送る。【００７２】  図１０は本発明の第３の実施形態の、ＬＣＤの表示データのプリフェッチの動作を示すフローチャートである。図１０では、ＬＣＤの１面を表示し終えるまでの動作を表している。【００７３】  図１０のステップＳ８０１は、半導体集積回路装置７１０のプリフェッチ開始直後の動作である。プリフェッチ開始直後は、ＳＲＡＭ７０２ないし７０３には表示データは存在しないので、最初に表示データのプリフェッチを行う必要がある。このとき、プリフェッチを行うＳＲＡＭはＳＲＡＭ７０２、７０３のどちらでも良いが、説明のため、ここでは最初はＳＲＡＭ７０２にプリフェッチを行うこととする。【００７４】  ステップＳ８０１の後、メモリコントローラ７０１はＬＣＤコントローラ７０４から送られてくる表示データの読み出しリクエストを受け付けると、これに応じて、表示データバッファ７０２からのＬＣＤ表示データの送信を開始する（ステップＳ８０２）。なお、後述のステップＳ８０３〜Ｓ８０６では、図示はしていないが、ＬＣＤコントローラ７０４から表示データの読み出しリクエストがメモリコントローラ７０１に送られてきた場合、メモリコントローラ７０１はプリフェッチと平行して表示データのＬＣＤコントローラ７０４への転送を行う。【００７５】  ステップＳ８０３では、ＬＣＤコントローラ７０４に最後の表示データの読み出しリクエストを受け付けたかを判定している。もしメモリコントローラ７０１が最後の表示データの読み出しリクエストを受け付けた場合は、これ以上はＬＣＤの表示データをプリフェッチする必要はないので、終了する。【００７６】  ステップＳ８０４では、ＳＲＡＭ７０２、ＳＲＡＭ７０３のいずれかに格納されているデータの次のＤＲＡＭページの表示データのプリフェッチを開始するか否かを判定している。もしＬＣＤコントローラ７０４に転送する表示データのメモリアドレスが、ＤＲＡＭページの先頭となった場合、ＤＲＡＭ７００の該当ページの次のページに格納されているＬＣＤ表示データをＤＲＡＭ７００からプリフェッチし始める（ステップＳ８０５）。【００７７】  上記のプリフェッチの開始の手法は、ＤＲＡＭ７００のページの先頭となったら、ではなく、ＤＲＡＭ７００のページの表示データに初めてアクセスしたら、でも良い。プリフェッチが完了したならば、ＤＲＡＭ７００をセルフリフレッシュモードにし、消費電力を下げる（ステップＳ８０６）。もしステップＳ８０４の条件が偽ならば、メモリコントローラ７０１はそのまま、ＬＣＤコントローラ７０４から来る表示データの読み出しリクエストに応じ、表示データの転送を実行する。【００７８】  ステップＳ８０６までを、具体的に以下に説明する。【００７９】  ステップＳ８０１により、ＳＲＡＭ７０２にＬＣＤ表示データが格納されているとする。ステップＳ８０２により、ＬＣＤへのＬＣＤ表示データへの転送を開始する。ステップＳ８０３で、表示データの終了チェックを行うが、これは偽、つまり、ここでは現在ＬＣＤコントローラ７０４に送る表示データは最後の表示データでないこととする。【００８０】  ここで、ＳＲＡＭ７０２に格納されているＬＣＤ表示データの読み出しをはじめて行うため、ステップＳ８０４の条件が真となる。すると、ステップＳ８０５として、ＳＲＡＭ７０２に格納されている表示データに対応するＤＲＡＭ７００のページの、次のページをオープンし、ＳＲＡＭ７０３へのＬＣＤ表示データのプリフェッチを開始する。この間も並行して、メモリコントローラ７０１は、ＬＣＤコントローラ７０４から表示データの読み出しリクエストが来たら、表示データバッファ７０２の表示データをＬＣＤコントローラ７０４に送信する。【００８１】  この後、もし読み出しデータバッファ７０３に対するＤＲＡＭのページサイズ単位分の表示データのプリフェッチが完了したら、該ＤＲＡＭページをクローズし、ステップＳ８０６にて、ＤＲＡＭをセルフリフレッシュモードにする。これ以降、ＬＣＤコントローラ７０４への表示データの転送が繰り返される（ステップＳ８０３〜Ｓ８０４）。【００８２】  ＬＣＤ表示データの読み出しが、ＳＲＡＭ７０２からＳＲＡＭ７０３のデータにさしかかったとする。この場合、初めてＳＲＡＭ７０３に格納されているＤＲＡＭページサイズ単位の表示データに対して、アクセスを行うので、ステップＳ８０４の条件が真になる。このため、Ｓ８０５に従い、読み出しバッファ７０２に対して、読み出しデータバッファ７０３に格納されているＤＲＡＭページの読み出しデータの、次のＤＲＡＭページの読み出しデータをプリフェッチする。プリフェッチ完了後はＤＲＡＭ７００をセルフリフレッシュモードにする。上記一連の作業を、ステップＳ８０３の条件が真になるまで実行する。【００８３】  図１１は、本発明の第４の実施形態にかかる半導体集積回路装置９１１の構成を示すブロック図である。【００８４】  半導体集積回路装置９１１はＬＣＤコントローラ９０５とメモリコントローラ９０１を含む。メモリコントローラ９０１は表示データバッファとしてのＳＲＡＭ９０２、９０３、９０４を有する。図示していないが、ＬＣＤコントローラ９０５は、半導体集積回路装置９１１外のＬＣＤに接続され、ＬＣＤ表示データをＬＣＤへ転送する。そのほか、半導体集積回路装置９１１は、ＣＰＵ９０６、ＤＳＰ９０７、カメラインターフェース９０８も有する。ＣＰＵ９０６、ＤＳＰ９０７、カメラインターフェース９０８などは、半導体集積回路装置の用途や必須用件などにより、削除されたり、もしくは新たなモジュールが追加される。【００８５】  メモリコントローラ９０１、ＬＣＤコントローラ９０５、ＣＰＵ９０６、ＤＳＰ９０７、カメラインターフェース９０８はメインバス９０９で接続されている。また、メモリコントローラ９０１とＬＣＤコントローラ９０５は専用データバス９１０でも接続されている。【００８６】  ＬＣＤ表示データのプリフェッチでは、メモリコントローラ９０１は、ＬＣＤコントローラ９０５から表示データの読み出しリクエストを受ける前に、表示データをＤＲＡＭ９００からプリフェッチしておき、ＳＲＡＭ９０２、９０３、９０４のいずれかに格納しておく。ＬＣＤコントローラ９０５から表示データの読み出しリクエストが送られてきたら、メモリコントローラ９０１は表示データバッファ４０２から表示データを読み出し、ＬＣＤコントローラ９０５に送る。【００８７】  本発明の第４の実施形態では、ＤＲＡＭ９００の複数ページがまたがって格納されている、ＬＣＤの同一水平ライン表示データの複数回読み出し時に発生しうる、表示データ上書きによる再プリフェッチを防止することができる。表示データバッファを、（水平ライン表示データがまたぐＤＲＡＭページ数＋１）枚、もしくはそれと同等のデータ容量を持つバッファを用意することで、再プリフェッチを防止することができる。【００８８】  図１２は本発明の第４の実施形態の、ＬＣＤの表示データのプリフェッチ動作を示すフローチャートである。図１２では、ＬＣＤの１面を表示し終えるまでの動作を表している。図１２中の、ステップＳ１００１〜１００４、Ｓ１００６は図１０に示したステップＳ８０１〜Ｓ８０４、Ｓ８０６と同様であり、ステップＳ１００５におけるプリフェッチの手法が異なっている。【００８９】  図１３ないし図１５は本実施形態におけるＤＲＡＭ９００から各ＳＲＡＭへのデータ転送を説明するための図であり、以下に、本実施形態のプリフェッチ動作について図１２とともに図１３ないし図１５を参照して具体的に説明する。【００９０】  ＬＣＤの画面表示サイズを、ＶＧＡ（縦６４０ライン、横４８０ライン）で、表示色は１８ビット色（約２６万色）であるとする。いま、ＱＶＧＡ（縦３２０ライン、横２４０ライン）サイズの画像をＶＧＡサイズに拡大表示しようとする。ＱＶＧＡ画像をＶＧＡに拡大表示するため、ＱＶＧＡの１本の水平ラインデータをＬＣＤに対して２度、転送する必要がある。表示画像の表示色も１８ビット色だとすると、ＱＶＧＡの１本の水平ラインデータサイズは５４０Ｂｙｔｅとなる。【００９１】  また、ＤＲＡＭの１ページのデータサイズは、１ＫＢｙｔｅとする。つまり、プリフェッチは１ＫＢｙｔｅ単位で行う。これにあわせて、ＳＲＡＭ９０２、９０３、９０４の各データ容量サイズも１ＫＢｙｔｅとする。【００９２】  上記の条件を元に、図１２に示したステップを実行していく。そして今、ＳＲＡＭ９０３、９０２内のデータの状態が図１３（ａ），（ｂ）に示す状況になったとする。ＳＲＡＭ９０２にはＤＲＡＭ９００のページＡの表示データが、ＳＲＡＭ９０３にはＤＲＡＭ９００のページＢの表示データがある。また、まだ、ＳＲＡＭのいずれにもプリフェッチされていないＬＣＤ表示データとして、ＤＲＡＭのページＣが存在するとする。【００９３】  ＬＣＤ表示データのアドレス順序としては、ページＡの次のページがページＢ、ページＢの次のページがページＣとする。また、図１３（ａ），（ｂ）の斜線部分が、今回、ＬＣＤコントローラ９０５に送信するべき水平ライン表示データであるとする。つまり、該水平ライン表示データはページＡとページＢをまたがるデータであり、該水平ライン表示データを２度、ＬＣＤコントローラ９０５へ送ろうとしている。【００９４】  まず、１度目の水平ライン表示データの転送をＬＣＤコントローラ９０５へ行う。このとき、水平ライン表示データはＤＲＡＭ９００のページＡとページＢにまたがっているため、ページＢの読み出しを開始したと同時にＤＲＡＭのページＣにある表示データのプリフェッチが開始される（図１２のステップＳ１００４の条件が真であり、その後ステップＳ１００５が実行される）。【００９５】  ここでもし、図８に示したようにＳＲＡＭが２つしかない場合、ＤＲＡＭのページＣの表示データは、図１４（ａ），（ｂ）に示すように表示データバッファ９０２にプリフェッチされる。すると、この水平ライン表示データの２度目の読み出しのとき、すでに表示データバッファ９０２の該表示データはページＣの表示データによって上書きされているため、表示データバッファ９０２には存在しない。よって、再度、ＤＲＡＭ９００からペ���ジＡの表示データを読み出す必要がある。このような動作は、ＤＲＡＭ９００をセルフリフレッシュモードから復帰させ、ページＡをオープンし、再度同じデータを読み出した後にクローズする必要があり、消費電力の増大を招く。【００９６】  本実施形態では、表示データバッファとしてのＳＲＡＭを３個構成としているために、上記のような問題は生じないものとなっている。本実施形態のように表示データバッファとしてのＳＲＡＭが３個ある場合、図１５（ａ）〜（ｃ）に示すように、表示データバッファ９０４にＤＲＡＭのページＣの表示データをプリフェッチすることができるため、表示データバッファ９０２に格納されているページＡの表示データを上書きすることはない。これにより、ＤＲＡＭ９００からの表示データの再読み出しを防止することができ、消費電力の増大を抑えることができる。【００９７】  上記のＳＲＡＭの個数は以下により決定されている。（２＋（ＬＣＤ水平ラインデータサイズ）／（ＤＲＡＭページサイズ）＋１）枚  ここで、定数２は複数構成としての最低個数、定数１は予備としての最低個数、（ＬＣＤ水平ラインデータサイズ）／（ＤＲＡＭページサイズ）は、変動要素であり、該変動要素に応じて表示データバッファの個数が増加される。本実施形態の場合には、（ＬＣＤ水平ラインデータサイズ）／（ＤＲＡＭページサイズ）の値が一未満であるために切り捨てとされ、３個構成とされた。【００９８】  たとえばＤＲＡＭページサイズが１ＫＢｙｔｅに対して、水平ラインデータサイズが１０８０ＫＢｙｔｅだった場合は、（２＋（ＬＣＤ水平ラインデータサイズ）／（ＤＲＡＭページサイズ）＋１）枚、つまり４枚の表示データバッファ、もしくはそれと同容量のデータサイズのバッファを用いることで、ＬＣＤの表示データの上書きを防止できる。【００９９】  なお、上述した各実施形態では、表示データを格納している記憶装置をＤＲＡＭとしているが、これ以外の記憶装置も考えられる。該記憶装置から表示データを、該記憶装置で規定されているページもしくはブロック単位でプリフェッチを行い、プリフェッチ終了後に該記憶装置を省電力モードに移行させることで、消費電力を抑えることができる。ＤＲＡＭ以外の記憶装置では、たとえばＮＡＮＤフラッシュがあげられる。ＮＡＮＤフラッシュの場合、ページ単位のプリフェッチ終了後にチャージポンプの動作を停止させることで消費電力を抑えることができる。【０１００】    以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。【０１０１】  この出願は２００７年３月１５日に出願された日本出願特願２００７−０６６５９０号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2008111396.tif 000003
【図２】
2008111396.tif 000004
【図３】
2008111396.tif 000005
【図４】
2008111396.tif 000006
【図５】
2008111396.tif 000007
【図６】
2008111396.tif 000008
【図７】
2008111396.tif 000009
【図８】
2008111396.tif 000010
【図９】
2008111396.tif 000011
【図１０】
2008111396.tif 000012
【図１１】
2008111396.tif 000013
【図１２】
2008111396.tif 000014
【図１３】
2008111396.tif 000015
【図１４】
2008111396.tif 000016
【図１５】
2008111396.tif 000017
【国際調査報告】
2008111396.tif 000018
2008111396.tif 000019