【発明の詳細な説明】
オフスクリーン領域を有するフレームバッファのリフレッシュを制御する
回路および方法
発明の技術分野
本発明は、一般にディスプレイサブシステムおよびディスプレイコントローラ
に関し、特に、フレームバッファリフレッシュを制御するための回路および方法
に関する。
発明の背景
ビデオ/グラフィックス表示能力を有する典型的な処理システムは、中央処理
ユニット(CPU)、CPUバスを介してCPUに結合されたディスプレイコントローラ
、同じくCPUバスに結合されたシステムメモリ、ローカルバスを介してディスプ
レイコントローラに結合されたフレームバッファ、周辺回路(例えばクロックド
ライバおよび信号変換器)、ディスプレイドライバ回路、およびディスプレイユ
ニットを有している。
CPUは一般に、システム全体の制御を行い、ユーザコマンドおよびシステムメ
モリから取り出した(retrieved)プログラム命令に応じて、ディスプレイユニッ
ト上に表示されるグラフィックスイメージの内容を制御する。ディスプレイコン
トローラは例えばビデオグラフィックスアレイ(VGA)コントローラであっても
よく、一般にCPUとディスプレイドライバ回路とをインターフェースし、データ
更新およびディスプレイリフレッシュ動作中においてフレームバッファとのグラ
フィックスおよび/またはビデオデータ(video data)の交換を制御し、フレーム
バッファメモリ動作を制御し、また、色拡張(color expansion)などの追加的な
処理を当該グラフィックスまたはビデオデータに対して行う。ディスプレイドラ
イバ回路は、ディスプレイコントローラから受け取ったデジタルデータを、ディ
スプレイユニットがグラフィックス/ビデオ表示イメージを生成するために必要
とするアナログレベルに変換する。
フレームバッファは典型的には、オンスクリーンメモリ領域、オフスクリーン
領域、ならびにカーソルおよび様々なアイコンを規定するデータを保持する領域
を有する。オンスクリーン領域は、ディスプレイフレーム全体中の各画素の色/
階調を規定する、表示データのワードを格納する。ディスプレイリフレッシュ中
において、ディスプレイスクリーン上の対応する画素がラスタスキャン中にリフ
レッシュされる際に、ワード単位でこの「画素データ」がディスプレイコントロ
ーラによってオンスクリーンメモリ領域から取り出される。オフスクリーンメモ
リは、ディスプレイコントローラ動作に必要とされるその他のタイプのデータを
格納する。例えば、オフスクリーンメモリは、BIOS動作のためのスクラッチパッ
ドとして機能し得る。カーソル領域は、典型的にはカーソル形状およびサイズを
規定する画素データを格納する。カーソルは典型的には、ユーザによって決定さ
れた通りに、オンスクリーンメモリデータから生成されたイメージの一部に重ね
られる。カーソルが全く表示されないこともしばしばある。アイコンも同様であ
り、周期的に引き出されてオンスクリーンメモリからの画素データによって規定
されるイメージの「上に」表示される。
ほとんどのフレームバッファはダイナミックランダムアクセスメモリ装置(DR
AM)から構成されている。当該分野において周知のように、DRAM装置のメモリセ
ル内のデータは、周期的にリフレッシュされないと劣化したり完全に失われたり
する。従来のDRAMにおいては、セルのリフレッシュは読み出し動作またはリフレ
ッシュ動作中に起こる(リフレッシュ動作は本質的には、装置からのデータの出
力をともなわない読み出し動作である)。読み出しまたはリフレッシュは行単位
で行われ、ある行のワードラインをアクティブにすることによるビットライン上
の電圧変化を感知する。従来のセンスアンプは、論理「1」を格納しているセル
の劣化した正電圧に結合していることによるビットライン上の電圧のわずかな変
化を測定するために十分な感度を有する。センスアンプは次に、対応するビット
ライン上の電圧揺動(voltage swing)に応じて、完全な論理「1」または完全な
論理「ゼロ」にラッチする。このラッチングにより、ビットラインおよび対応す
るセルの補助容量(storage capacitor)が元来の値に引き戻される結果、データ
がリフレッシュされる。
現在のディスプレイシステムにおいて、ディスプレイコントローラ内の、フレ
ームバッファDRAMのリフレッシュを制御するリフレッシュロジックは、典型的に
は以下のように動作する。現在の表示ラインのためのデータがオンスクリーンメ
モリから取り出される間、リフレッシュロジックはアイドル状態になる。現在の
ラインの終わりに達したとき、リフレッシュロジックは、先を見て次のラインが
アイコンまたはカーソルデータを含むかどうかを決定する。カーソルまたはアイ
コンデータが見つかれば、リフレッシュロジックはアイコン/カーソルデータの
読み出しを開始する。リフレッシュロジックは次にアイドル状態に戻り、次の表
示ラインのための画素データがオンスクリーンメモリからラスタ(raster)される
。次に、アイコン/カーソルデータが、ディスプレイコントローラの終末処理(b
ackend)においてこのデータに適宜重ねられる。次に来る(upcoming)ライン上に
カーソルまたはアイコンデータが表示されない場合は、DRAMのためのリフレッシ
ュサイクルが開始される。リフレッシュサイクルにおいて、DRAM内の一群の行(
典型的には、オンスクリーン領域を含む任意のメモリ領域からの3行から5行)
がリフレッシュされる。リフレッシュロジックは、新しいリフレッシュサイクル
が必要になる度、DRAM全体(全領域)を、グループ単位で順次サイクルしていく
。
現在利用可能なリフレッシュスキームの欠点は、オンスクリーンメモリ内の表
示データが2回リフレッシュされる(ディスプレイスクリーンのリフレッシュの
ための読み出し中に1回と、オンスクリーンメモリを通じてのDRAMリフレッシュ
シーケンスサイクル中に1回)ことである。各リフレッシュサイクルはDRAMへの
他のアクセス(CPUによるグラフィックスデータ更新のためのアクセスすること
やブロックデータ移動のためのアクセス)を妨げるため、オンスクリーンメモリ
内のデータの2重のリフレッシュは、メモリバンド幅(memory bandwidth)に大き
く影響している。
従って、ディスプレイ制御サブシステム中において、フレームバッファのより
効率的なリフレッシュを可能にする回路、システムおよび方法が必要である。特
に、そのような回路、システムおよび方法は、フレームバッファの各異なるデー
タ領域内の表示データをリフレッシュするために必要な時間を、最小にしなけれ
ばならない。
発明の要旨
本発明の原理により、ディスプレイ制御サブシステムにおけるメモリサイクル
が最適化される。特に、DRAMフレームバッファをリフレッシュするために必要な
サイクルの数を最小にすることにより、そのフレームバッファに追加的なアクセ
スを行ってデータ更新およびブロック移動などの他の重要な動作を行うことがで
きる。一般に、本発明によれば、フレームバッファのオンスクリーンメモリ領域
は、ディスプレイスクリーンのリフレッシュのためにそこからデータを取り出す
ことによってのみリフレッシュされる。真のリフレッシュサイクルはずっと小さ
いアイコン領域、カーソル領域およびオフスクリーンデータ格納領域にのみ必要
であり、そしてリフレッシュ時刻に達した時にのみ行われる。
本発明の第1の実施態様において、フレームバッファに格納されたデータをリ
フレッシュするための方法が提供される。フレームバッファの第1の領域内に格
納されたデータは、そのようなデータを表示生成用に取り出す際に、自動的にリ
フレッシュされる。フレームバッファの第2の領域内に格納されたデータは、以
下のようにリフレッシュされる。すなわち、次に来る表示ラインの生成において
フレームバッファの第2の領域内のデータが必要であるかどうかを決定する。続
いて、次に来る表示ラインの生成のために第2の領域からのデータが必要である
とき、第2の領域からの選択されたデータを読み出す。表示ラインの生成のため
に第2の領域からのデータが必要でなく、かつ第2の領域のリフレッシュ時刻に
達したとき、第2の領域の少なくとも一部に対してリフレッシュを開始する。
本発明の原理の第2の実施態様において、フレームバッファリフレッシュのた
めの別の方法が提供される。フレームバッファのオンスクリーン領域は、複数の
表示ラインの生成のためにそこから画素データを取り出すことによってリフレッ
シュされる。第1の表示ラインに対応する画素データのオンスクリーン領域から
の取り出しと、第2の表示ラインに対応する画素データのオンスクリーン領域か
らの取り出しとの間の期間に、フレームバッファの第2の領域を選択的にリフレ
ッシュする。第2の領域をリフレッシュする工程(step)は以下の小工程(substep
)を有する。すなわち、第2の表示ラインの生成中において第2の領域からのデ
ータが必要か否かを決定する。続いて、第2の表示ラインの表示のために第2の
領域からのデータが必要であるとき、第2の領域から選択されたデータを読み出
す。第2の表示ラインの表示のために第2の領域からのデータが必要でなく、か
つ第2の領域のリフレッシュが必要なとき、第2の領域の少なくとも一部をリフ
レッシュする。最後に、第2のラインの表示のために第2のデータからのデータ
が必要でなく、かつ第2の領域がリフレッシュを必要としないとき、オンスクリ
ーンメモリ領域および第2のメモリ領域のうち選択されたいずれかに対してアク
セスを許可する。
本発明の更なる実施態様において、接続された(associated)フレームバッファ
のオンスクリーン領域からのデータを表示生成のために取り出すときにおいて、
リフレッシュ制御回路をアイドリングするための回路を含む、リフレッシュ制御
回路が提供される。また、フレームバッファの第2の領域内に格納されたデータ
をリフレッシュするための回路が設けられる。このリフレッシュ用回路は、選択
された表示ラインの生成においてフレームバッファの第2の領域内のデータが必
要か否かを決定するように動作可能である。さらにリフレッシュ用回路は、その
選択された表示ラインの生成のために第2の領域からのデータが必要であるとき
、第2の領域からの選択されたデータの読み出しを開始するように動作可能であ
る。さらに、リフレッシュ用回路は、選択された表示ラインの生成のために第2
の領域からのデータが必要でなく、かつ第2の領域のリフレッシュ時刻に達した
とき、第2の領域の少なくとも一部のリフレッシュを開始するように動作可能で
ある。
本発明のさらなる実施態様において、オンスクリーンメモリ領域および第2の
メモリ領域を有するフレームバッファを含むディスプレイ制御システムが提供さ
れる。複数の表示ラインの生成のためにオンスクリーンメモリ領域からの画素デ
ータを取り出すためのディスプレイコントローラが設けられる。システムはまた
、第1の表示ラインに対応する画素データのオンスクリーン領域からの取り出し
と第2の表示ラインに対応する画素データのオンスクリーン領域からの取り出し
との間の期間に、フレームバッファの第2の領域をリフレッシュするためのリフ
レッシュステートマシン(refresh state machine)を追加的に含む。ステートマ
シンは、第2の表示ラインの表示生成のために第2の領域からのデータが必要で
あ
るか否かを決定するように動作可能である。第2の表示ラインの表示のために第
2の領域からのデータが必要であるとき、リフレッシュステートマシンは、第2
の領域からの選択されたデータのリフレッシュをディスプレイコントローラによ
って開始する。第2の表示ラインの表示のために第2の領域からのデータが必要
でなく、かつ第2の領域のリフレッシュが必要なとき、リフレッシュステートマ
シンは、第2の領域の少なくとも一部のリフレッシュを開始する。最後に、第2
のラインの表示のために第2の領域からのデータが必要でなく、かつ第2の領域
がリフレッシュを必要としないとき、リフレッシュステートマシンは、オンスク
リーンメモリ領域および第2のメモリ領域のうち選択されたいずれかに対してア
クセスを許可する。
本発明の原理により、ディスプレイ制御サブシステム中において、フレームバ
ッファのより効率的なリフレッシュを可能にする回路、システムおよび方法が実
現される。特に、本発明の原理により、そのような回路、システムおよび方法は
、フレームバッファの各異なるデータ領域内の表示データをリフレッシュするた
めに必要な時間が最適化される。リフレッシュサイクルの数を最小にしてリフレ
ッシュ時間を最適化することにより、フレームバッファに対する他のアクセス(
表示データ更新など)に本来使用可能なサイクルの数を最大化することができる
。結果として、より高性能なデータ処理システムを構成することができる。
以下の本発明の詳細な説明がよりよく理解されるように、上記説明では本発明
の特徴および技術的利点を広範に概説した。以下に、本発明の請求項の主題を形
成する本発明の追加的な特徴および利点を説明する。開示された概念および特定
の実施態様は、改変あるいは本発明の同じ目的を実現するための他の構造を設計
するための基礎として容易に用い得ることが、当業者には理解されるであろう。
また、そのような均等な構造は、付属の請求項に記載した本発明の趣旨および範
囲から逸脱しないことが、当業者には理解されるであろう。
図面の簡単な説明
本発明およびその利点をより完全に理解するために、付属の図面を参照して以
下に説明する。図面において、
図1は、本発明の原理の実施態様としての、ディスプレイ制御サブシステムの
高レベル機能ブロック図であり、
図2は、本発明の原理によるリフレッシュ制御ステートマシン動作を説明する
フローチャートである。図2のステートマシンは、図1のディスプレイコントロ
ーラの一例において適用可能である。
発明の詳細な説明
図1は、処理システム100のグラフィックスおよび/またはビデオデータの
表示を制御する部分を示す、高レベル機能ブロック図である。システム100は
、中央処理ユニット101、CPUバス102、ディスプレイコントローラ103
、フレームバッファ104、デジタル−アナログ変換器(DAC)105、および
ディスプレイ装置106を有している。本発明の原理によれば、ディスプレイコ
ントローラ103およびフレームバッファ104ならびにDAC105はともに、
単一の集積回路チップ107上に作成される。
CPU(「マスター」)101は、システム100の動作全体を制御し、ユーザ
コマンド下においてディスプレイユニット106上に表示すべきグラフィックス
データの内容を決定し、様々なデータ処理機能を行う。CPU101は例えば、市
販パーソナルコンピュータに用いられる汎用マイクロプロセッサであってもよい
。CPU101は、CPUバス102を介してシステム100の残りの部分と連絡する
。CPUバス102は例えば、ローカルバス、ISAバス、またはPCIバスであっても
よい。DAC105は、コントローラ103からデジタルデータを受け取ることに
より、ディスプレイ106を駆動するために必要なアナログデータを出力する。
システム100の特定の実施形態に依存して、DAC105は、カラーパレット、Y
UV−RGBフォーマット変換回路、および/またはx-ズームあるいはy-ズーム回路
ならびに他のオプションをさらに含んでいてもよい。
ディスプレイ106は例えば、CRTユニットまたは液晶ディスプレイ、エレク
トロルミネセンスディスプレイ(ELD)、プラズマディスプレイ(PLD)であって
もよく、あるいはその他のディスプレイ装置により、ディスプレイスクリーン上
にイメージを複数の画素として表示する。さらに、ディスプレイ106は、デジ
タルマイクロミラー装置またはシリコンカーバイド状装置(silicon carbide lik
e device)などの最新の装置(デジタルデータを直接受け付ける)であってもよ
い。また、別の実施態様において、「ディスプレイ」106は、レーザプリンタ
または同様な書類閲覧/印刷機器などの、別のタイプの出力装置であってもよい
ことにも留意されたい。
図示の実施態様において、コントローラ103はディスプレイコントローラ(
VGAコントローラなど)であり、なかでも、フレームバッファ104とのグラフ
ィックスおよび/またはビデオデータの交換を制御し、メモリリフレッシュを制
御し、色拡張などの処理機能を行う。ディスプレイコントローラは、ディスプレ
イの特定のアプリケーションにおいての「マスター」であることにより、CPU1
01を演算タスクから開放する。また、ディスプレイコントローラのアーキテク
チャは、グラフィックスおよびビデオ機能を、汎用マイクロプロセッサの場合よ
りもはるかに優れて最適化する。コントローラ103はまた、カラーパレット、
カーソル生成ハードウェア、および/またはビデオ−グラフィックス変換回路な
ど他のオプションを有していてもよい。
本発明の原理により、改良されたリフレッシュロジックステートマシンがディ
スプレイコントローラ103中において提供される。好ましくはこのステートマ
シンは、従来のディスプレイコントローラに見られるメモリシーケンサの一部と
して提供される、別の実施態様において他の場所に位置していてもよい。好適な
実施態様におけるステートマシンのディスプレイリフレッシュ動作を、図2のフ
ローチャートに示す。
ステップ201において、ディスプレイコントローラ103が各表示フレーム
の各表示ラインのスクリーンリフレッシュ用の画素データの取り出す間、リフレ
ッシュステートマシンはアイドル状態に入る。この周期的なデータ取り出しは、
典型的には毎秒72フレームの頻度で起こる。このように、フレームバッファ1
04のオンスクリーン領域中のあるDRAMセルにおけるリフレッシュ期間(すなわ
ち、ディスプレイリフレッシュ間だけの読み出しによって行われる、あるセルの
自動リフレッシュ間の期間)は、13.8ミリ秒である。従来のDRAM装置のセルにお
いて、13.8ミリ秒は、特定のリフレッシュ動作の介入がなくてもデータが失われ
たり実質的に劣化したりしないために十分短い期間である。最低許容スクリーン
リフレッシュ速度である60Hzにおいて、リフレッシュ期間は16ミリ秒に増えるが
、これでも十分に小さい。
現在の表示ラインの終わりに達したとき、制御信号EOL(エンド・オブ・ライ
ン)がアクティブになる。EOL信号は、コントローラ103内の従来のCRT制御回
路において生成される。次に、ステップ202において、次の表示ライン上にカ
ーソルまたはアイコン情報が現れるか否かを決定する。この決定は、従来のディ
スプレイコントローラ103内部に典型的に見られる内部生成信号(スクリーン
上にカーソルまたはアイコンか現れるか否かを示し、そのようなカーソル/アイ
コンがどこに現れるべきかを規定する情報を含む)の状態を監視することによっ
て、行うことができる。
カーソル/アイコンデータが次の表示ライン上に現れるならば、ステップ20
3において、必要な画素データを、フレームバッファ104内の対応するアイコ
ンまたはカーソル領域から読み出す。次に、カーソル/アイコンデータは、読み
出しセル内において次回にステップ201が実行されたときに取り出されるオン
スクリーン画素データと重ね合わせられるための待ち状態(queue)に入る。ステ
ップ203が完了すると、ステートマシンはステップ201におけるアイドル状
態に戻り、オンスクリーンメモリ中の次の表示ラインからの画素データが取り出
され、その少なくとも一部の上に、ステップ203で取り出されたカーソルまた
はアイコンデータがコントローラ103の終末処理において重ね合わせられる。
ステップ202において次のラインで表示されるカーソルまたはアイコン情報
が無いと判断された場合、処理はステップ204へと続く。ステップ204にお
いて、フレームバッファ104のアイコン領域、カーソル領域、およびオフスク
リーン領域のリフレッシュの時刻に達したか否かを決定する。このステップは例
えば、コントローラ103内の従来のリフレッシュタイマを監視することによっ
て達成することができる。リフレッシュタイマは例えば、各新しい表示フレーム
の開始を示す各垂直同期(VSYNC)信号によってリセットされてもよい。リフレ
ッシュ時刻が来れば、フレームバッファ中のアイコン領域、カーソル領域および
オフスクリーン領域のみを含む限られた領域(部分)のためのリフレッシュサイ
クルが開始される。アイコンメモリ領域、カーソルメモリ領域およびオフスクリ
ーンメモリ領域のサイズ(典型的には合計16 kbyte)および/または、あるディ
スプレイスキャンラインの終わりと次のディスプレイスキャンラインとの間の時
間に依存して、アイコンメモリ領域、カーソルメモリ領域およびオフスクリーン
メモリ領域の全てを一度にリフレッシュしてもよい。または、ある表示ラインの
終わりにおいてDRAM3〜5行分をリフレッシュし、次の表示ラインの終わりにお
いてさらに3〜5行をリフレッシュしというふうに、限られた領域のリフレッシ
ュが完了するまで続けてもよい。全てのアプリケーションまたはインスタンスが
オフスクリーンメモリの使用を必要とするわけではないことに注意されたい。オ
フスクリーンメモリが使用されていなければ、オフスクリーンメモリに割り付け
られた領域のリフレッシュは中止されてもよい(forego)。何らかのオフスクリー
ンメモリ領域のリフレッシュが起こるべきか否かを制御するために、レジスタ制
御ビットをセットしてもよい。
ステップ204において、アイコン領域、カーソル領域およびオフスクリーン
領域のためのリフレッシュ時刻に達していなければ、ステートマシンはステップ
206に移行する。ステップ206において、EOL信号が非アクティブになり処
理がステップ201に戻るまで、フレームバッファ104への他のアクセスが許
可される。例えば、このステップの間にCPU101は、データ更新を行うため、
オンスクリーンメモリ領域、オフスクリーンメモリ領域、またはカーソル/アイ
コンメモリ領域のいずれかにアクセスを行ってもよい。さらにこの期間の間、CP
U101およびまたはディスプレイコントローラ103内のBLITエンジンの制御
下において、ビット−ブロック転送(BLIT)などのメモリ動作を行ってもよい。
リフレッシュサイクル(動作)を控えることにより、ステップ206を行うた
めにかなりのサイクル数を表示フレーム毎につき提供することができ、有利であ
る。これは、本発明にもとづくフレームバッファリフレッシュの効率的制御の直
接の結果である。上述のように、オンスクリーンメモリ(DRAMメモリ空間の大部
分を占め、典型的には1メガバイトほどになる)のリフレッシュは、表示スキャ
ンラインリフレッシュ中の読み出しによって行われる。真のリフレッシュサイク
ルは、ずっと小さいアイコン領域およびカーソル領域(および用いられていれば
オフスクリーン領域)に対してのみ必要であり、また、これらの領域の読み出し
が十分な頻度で行われなかった場合(すなわちリフレッシュ時刻に達したとき)
にのみ必要である。さらに、リフレッシュ動作を行わなければならない場合でも
、フレームバッファ104のDRAM装置のリフレッシュ要求によっては、これらの
リフレッシュ動作は各表示フレームにつき数ラインの終わりに必要になるだけで
ある。各表示フレームは典型的には数百ラインからなるため、あるラインのスキ
ャンの終わりと次のラインのスキャンの始まりとの間には、数百のエンド・オブ
・ライン期間が存在する。これらの各期間の間、従来技術においてはフレームバ
ッファDRAMのフルリフレッシュに用いられていたサイクルを、本発明においては
その他の動作に用いることかできる。
本発明およびその利点を詳細に説明したが、付属の請求項に記載した本発明の
趣旨および範囲から逸脱することなく、様々な変更、置換および改変を行うこと
が可能であることが理解されるべきである。DETAILED DESCRIPTION OF THE INVENTION
Control refresh of frame buffer with off-screen area
Circuits and methods
TECHNICAL FIELD OF THE INVENTION
The present invention generally relates to display subsystems and display controllers.
And method for controlling frame buffer refresh
About.
Background of the Invention
A typical processing system with video / graphics display capabilities is central processing
Unit (CPU), display controller coupled to CPU via CPU bus
System memory, also coupled to the CPU bus,
Frame buffer coupled to the ray controller, peripheral circuits (eg, clocked
Driver and signal converter), a display driver circuit, and a display unit.
Has a knit.
The CPU generally controls the entire system, including user commands and system memory.
The display unit responds to program instructions retrieved from the memory.
Controls the content of the graphics image displayed on the screen. Display con
The controller can be a video graphics array (VGA) controller
Often, the interface between the CPU and the display driver circuit is
During update and display refresh operations,
Control the exchange of fixed and / or video data
Controls buffer memory operation and also includes additional features such as color expansion.
The processing is performed on the graphics or video data. Display dora
The inverter circuit converts the digital data received from the display controller into a digital signal.
Required for spray unit to generate graphics / video display images
To an analog level.
Frame buffers are typically on-screen memory areas, off-screen
Areas, and areas that hold data defining cursors and various icons
Having. The on-screen area is the color / color of each pixel in the entire display frame.
A word of display data, which defines the gradation, is stored. Display refreshing
The corresponding pixel on the display screen
When refreshing, this "pixel data" is displayed on the display control in word units.
Fetched from the on-screen memory area by the controller. Off-screen memo
Provides other types of data needed for display controller operation.
Store. For example, off-screen memory can be used as a scratch patch for BIOS operations.
Can function as a key. The cursor area typically defines the cursor shape and size.
The specified pixel data is stored. Cursors are typically determined by the user.
As part of the image generated from the on-screen memory data
Can be Often the cursor is not displayed at all. Same for icons
And is periodically extracted and defined by pixel data from the on-screen memory.
Displayed "on top" of the image being rendered.
Most frame buffers use dynamic random access memory (DR)
AM). As is well known in the art, the memory
If the data in the file is not refreshed periodically, it can degrade or be completely lost.
I do. In a conventional DRAM, a cell refresh is performed by a read operation or a refresh operation.
(A refresh operation is essentially a data output from the device.
This is a read operation without force). Read or refresh by row
On the bit line by activating the word line of a row
Senses the voltage change of Conventional sense amplifiers use cells storing logic "1".
Voltage change on the bit line due to coupling to the degraded positive voltage
It has sufficient sensitivity to measure the activation. The sense amplifier then goes to the corresponding bit
Depending on the voltage swing on the line, a complete logic "1" or a complete
Latch to logic "zero". This latching allows bit lines and corresponding
As a result, the storage capacitor of the cell
Is refreshed.
In current display systems, the frame in the display controller
The refresh logic that controls the refresh of the frame buffer DRAM is typically
Works as follows. The data for the current display line is
While being fetched from the memory, the refresh logic is idle. Current
When the end of the line is reached, the refresh logic looks ahead and the next line
Determines whether to include icon or cursor data. Cursor or eye
If the control data is found, the refresh logic will
Start reading. The refresh logic then returns to the idle state and the next table
Pixel data for the indicated line is rasterized from on-screen memory
. Next, the icon / cursor data is displayed in the terminal controller's final processing (b
ackend) is superimposed on this data as appropriate. On the next (upcoming) line
If no cursor or icon data is displayed, refresh for DRAM.
The cycle starts. In a refresh cycle, a group of rows (
Typically, 3 to 5 lines from any memory area including on-screen area)
Is refreshed. Refresh logic is the new refresh cycle
Cycles through the entire DRAM (all areas) in groups each time it becomes necessary
.
The disadvantage of currently available refresh schemes is that the on-screen memory
The display data is refreshed twice (refresh the display screen
Once during readout and DRAM refresh through on-screen memory
Once during a sequence cycle). Each refresh cycle is
Other access (access for updating graphics data by CPU)
And on-screen memory to prevent access for block data movement)
The double refresh of the data in the memory bandwidth increases the memory bandwidth.
Has been affected.
Therefore, in the display control subsystem, the
There is a need for circuits, systems and methods that allow for efficient refresh. Special
In addition, such circuits, systems and methods can be used to implement each different data in the frame buffer.
The time required to refresh the display data in the data area must be minimized.
Must.
Summary of the Invention
In accordance with the principles of the present invention, a memory cycle in a display control subsystem
Is optimized. In particular, it is necessary to refresh the DRAM frame buffer.
Minimizing the number of cycles allows additional access to the frame buffer.
Other important operations, such as data updates and block moves.
Wear. Generally, according to the present invention, the on-screen memory area of the frame buffer
Retrieves data from it for display screen refresh
Refreshed only by True refresh cycle is much smaller
Required only for icon area, cursor area and off-screen data storage area
And only when the refresh time has been reached.
In the first embodiment of the present invention, the data stored in the frame buffer is
A method for freshening is provided. No frame in the first area of the frame buffer
The stored data is automatically retrieved when such data is retrieved for display generation.
Fresh. The data stored in the second area of the frame buffer is as follows.
Refreshed as below. In other words, in the generation of the next display line,
Determine if data in the second area of the frame buffer is needed. Continued
And data from the second area is needed to generate the next display line
At this time, the selected data from the second area is read. For generating display lines
Does not need data from the second area, and the refresh time of the second area
When it has reached, refreshing is started for at least a part of the second area.
In a second embodiment of the present principles, only a frame buffer refresh is performed.
Another method is provided. The on-screen area of the frame buffer
Refreshing by extracting pixel data therefrom for the generation of display lines
Is executed. From the on-screen area of the pixel data corresponding to the first display line
And whether the pixel data corresponding to the second display line is in the on-screen area
In the period between these retrievals, the second area of the frame buffer is selectively refreshed.
Rush. The step of refreshing the second area (step) includes the following substeps (substep).
). That is, during the generation of the second display line, the data from the second area is output.
Determine if data is needed. Subsequently, a second display line is displayed for displaying a second display line.
When data from the area is needed, read the selected data from the second area
You. If data from the second area is not required for displaying the second display line,
When the second area needs to be refreshed, at least a part of the second area is refreshed.
To resh. Finally, the data from the second data for the display of the second line
Is not needed and the second area does not require refresh,
Access to the selected one of the open memory area and the second memory area.
Allow access.
In a further embodiment of the present invention, an associated frame buffer
When retrieving data from the on-screen area of the display for display generation,
Refresh control, including circuitry for idling the refresh control circuit
A circuit is provided. Also, data stored in the second area of the frame buffer
Is provided. This refresh circuit is selected
The data in the second area of the frame buffer is required to generate the displayed display line.
It is operable to determine whether it is necessary. In addition, the refresh circuit
When data from the second area is needed to generate the selected display line
Operable to start reading selected data from the second area.
You. Further, the refreshing circuit may be configured to generate a second display line for the selected display line.
No data from the area is required, and the refresh time of the second area has been reached
And operable to initiate a refresh of at least a portion of the second region.
is there.
In a further embodiment of the present invention, the on-screen memory area and the second
A display control system including a frame buffer having a memory area is provided.
It is. Pixel data from the on-screen memory area to generate multiple display lines
A display controller for taking out data is provided. The system also
Extracting pixel data corresponding to the first display line from the on-screen area
And extracting pixel data corresponding to the second display line from the on-screen area
A refresh for refreshing the second area of the frame buffer during the period between
It additionally includes a refresh state machine. Statema
Shin needs data from the second area to generate the display of the second display line.
Ah
Operable to determine For the display of the second display line,
When data from the second area is needed, the refresh state machine
The display controller refreshes the selected data from the area
Start. Data from the second area is required for the display of the second display line
And if the second area needs to be refreshed,
The thin starts refreshing at least a part of the second area. Finally, the second
Data from the second area is not required for the display of the line
When a device does not require a refresh, the refresh state machine
Select one of the lean memory area and the second memory area.
Allow access.
In accordance with the principles of the present invention, the frame control
Circuits, systems and methods that enable more efficient refresh of
Will be revealed. In particular, in accordance with the principles of the present invention, such circuits, systems and methods are
Refresh the display data in each different data area of the frame buffer.
The time needed to optimize is optimized. Refresh cycles by minimizing the number of refresh cycles
By optimizing the cache time, other accesses to the frame buffer (
To maximize the number of cycles originally available for display data updates, etc.)
. As a result, a higher performance data processing system can be configured.
In order that the detailed description of the invention that follows may be better understood,
The features and technical advantages of have been extensively reviewed. The following forms the subject of the claims of the present invention.
The additional features and advantages of the present invention will be described. Disclosed concepts and identification
Embodiments may be modified or designed with other structures to achieve the same purpose of the present invention.
It will be appreciated by those skilled in the art that it can be easily used as a basis for
Also, such equivalent constructions are within the spirit and scope of the invention as set forth in the appended claims.
Those skilled in the art will appreciate that they do not deviate from the box.
BRIEF DESCRIPTION OF THE FIGURES
For a more complete understanding of the present invention and its advantages, refer to the accompanying drawings.
This is described below. In the drawing,
FIG. 1 shows a display control subsystem as an embodiment of the principles of the present invention.
It is a high level functional block diagram,
FIG. 2 illustrates a refresh control state machine operation according to the principles of the present invention.
It is a flowchart. The state machine of FIG. 2 corresponds to the display controller of FIG.
This is applicable in an example of a ruler.
Detailed description of the invention
FIG. 1 illustrates the processing of graphics and / or video data of a processing system 100.
FIG. 3 is a high-level functional block diagram showing a part that controls display. The system 100
, Central processing unit 101, CPU bus 102, display controller 103
, A frame buffer 104, a digital-to-analog converter (DAC) 105, and
The display device 106 is provided. According to the principles of the present invention, the display core
Controller 103, frame buffer 104 and DAC 105
Created on a single integrated circuit chip 107.
CPU (“master”) 101 controls the overall operation of system 100 and
Graphics to display on display unit 106 under command
Determines data content and performs various data processing functions. The CPU 101 is, for example, a city
A general-purpose microprocessor used in a sales personal computer may be used.
. CPU 101 communicates with the rest of system 100 via CPU bus 102
. For example, the CPU bus 102 may be a local bus, an ISA bus, or a PCI bus.
Good. The DAC 105 receives digital data from the controller 103.
Thus, analog data necessary for driving the display 106 is output.
Depending on the particular embodiment of system 100, DAC 105 may include a color palette, Y
UV-RGB format conversion circuit and / or x-zoom or y-zoom circuit
As well as other options.
The display 106 is, for example, a CRT unit, a liquid crystal display,
Troll luminescence display (ELD), plasma display (PLD)
Or on other display devices, on the display screen
The image is displayed as a plurality of pixels. In addition, the display 106
Micromirror device or silicon carbide lik
e device) (which accepts digital data directly).
No. In another embodiment, the “display” 106 is a laser printer.
Or another type of output device, such as a similar document viewing / printing device.
Note also that
In the illustrated embodiment, the controller 103 is a display controller (
VGA controller, etc.), among which graphs with the frame buffer 104
Controls the exchange of graphics and / or video data and controls memory refresh.
Control and perform processing functions such as color expansion. The display controller is
By being a “master” for a particular application, the CPU 1
01 is released from the calculation task. Also, the architecture of the display controller
Chas provides graphics and video functions better than general-purpose microprocessors.
Optimize much better. The controller 103 also has a color palette,
Cursor generation hardware and / or video-graphics conversion circuitry
Any other options may be provided.
In accordance with the principles of the present invention, an improved refresh logic state machine has been implemented.
Provided in the spray controller 103. Preferably this statema
Thin is part of the memory sequencer found in traditional display controllers.
It may be located elsewhere in another embodiment provided as an alternative. Suitable
The display refresh operation of the state machine in the embodiment is shown in FIG.
Shown in the chart.
In step 201, the display controller 103 determines that each display frame
While taking out the pixel data for screen refresh of each display line of
The state machine enters the idle state. This periodic data retrieval
It typically occurs at a frequency of 72 frames per second. Thus, frame buffer 1
04 refresh period in a certain DRAM cell in the on-screen area (i.e.,
That is, a certain cell is read out only during display refresh.
The period between automatic refreshes) is 13.8 milliseconds. Conventional DRAM device cells
13.8 milliseconds means that data is lost without the intervention of a particular refresh operation.
This period is short enough not to cause deterioration or substantial deterioration. Minimum acceptable screen
At a refresh rate of 60 Hz, the refresh period increases to 16 ms.
, This is still small enough.
When the end of the current display line is reached, the control signal EOL (End of Line
Becomes active. The EOL signal is output from the conventional CRT control circuit in the controller 103.
Generated on the road. Next, in step 202, the cursor is moved to the next display line.
Determines whether cursor or icon information appears. This decision is based on traditional
An internally generated signal (screen typically seen inside the spray controller 103)
Indicate whether a cursor or icon appears on top, such cursor / eye
(Including information that specifies where the computer should appear)
And can do it.
If the cursor / icon data appears on the next display line, step 20
At 3, the necessary pixel data is stored in the corresponding icon in the frame buffer 104.
From the cursor or cursor area. Next, the cursor / icon data is read
ON that is taken out the next time step 201 is executed in the delivery cell
Enter a queue to be superimposed with the screen pixel data. Stay
When step 203 is completed, the state machine enters the idle state in step 201.
To retrieve the pixel data from the next display line in the on-screen memory.
And at least part of the cursor or the cursor fetched in step 203
The icon data is superimposed in the final processing of the controller 103.
Cursor or icon information displayed on the next line in step 202
If it is determined that there is no, the processing continues to step 204. Step 204
The icon area, the cursor area, and the off-screen area of the frame buffer 104.
It is determined whether the refresh time of the lean area has been reached. This step is an example
For example, by monitoring a conventional refresh timer in the controller 103,
Can be achieved. The refresh timer is, for example, for each new display frame
May be reset by each vertical synchronization (VSYNC) signal indicating the start of the operation. Reflation
When the flash time arrives, the icon area, cursor area, and
Refresh size for limited area (portion) including only off-screen area
The crew starts. Icon memory area, cursor memory area and off-screen
The size of the on-chip memory area (typically 16 kbytes total) and / or
Time between the end of the spray scanline and the next display scanline
Depends on the icon memory area, cursor memory area and off-screen
All of the memory area may be refreshed at once. Or, of a certain display line
At the end, refresh 3-5 rows of DRAM and at the end of the next display line
And refreshing 3-5 rows, so refreshing of limited area
It may be continued until the menu is completed. All applications or instances
Note that this does not require the use of off-screen memory. Oh
Allocated to off-screen memory if not used
The refresh of the allocated area may be stopped (forego). Some off-screen
Register control to control whether a refresh of the
The control bit may be set.
In step 204, the icon area, the cursor area, and the off-screen
If the refresh time for the region has not been reached, the state machine steps
Move to 206. In step 206, the EOL signal becomes inactive and
Until the process returns to step 201, another access to the frame buffer 104 is permitted.
Allowed. For example, during this step, the CPU 101 updates the data.
On-screen memory area, off-screen memory area, or cursor / eye
Access may be made to any of the memory areas. During this period, CP
Control of BLIT engine in U101 and / or display controller 103
Below, memory operations such as bit-block transfer (BLIT) may be performed.
By omitting the refresh cycle (operation), step 206 is performed.
A significant number of cycles per display frame can be provided for
You. This is directly related to the efficient control of the frame buffer refresh according to the present invention.
It is the result of contact. As described above, on-screen memory (most of DRAM memory space)
Refresh, which typically takes up about one megabyte).
This is performed by reading during online refresh. A true refresh cycle
Files have much smaller icon and cursor areas (and, if used,
Off-screen areas) and read out of these areas
Is not performed frequently enough (ie when the refresh time is reached)
Only needed for. Furthermore, even when a refresh operation must be performed
Depending on the refresh request of the DRAM device of the frame buffer 104,
A refresh operation is only required at the end of a few lines for each display frame.
is there. Each display frame typically consists of hundreds of lines, so a certain line may be skipped.
Between the end of the scan and the beginning of the next line scan, there are hundreds of end-of-
-A line period exists. During each of these periods, the prior art frame frame
In the present invention, the cycle used for the full refresh of the
It can be used for other operations.
Having described in detail the invention and its advantages, the invention described in the appended claims
Make various changes, substitutions and alterations without departing from the spirit and scope of the invention.
It should be understood that is possible.