【発明の詳細な説明】
行アドレス・ストローブ・サイクルを必要としないでフレーム・バッファ動作 を行う方法と装置
発明の背景
発明の分野
本発明は、コンピュータ・システムに関するもので、特に、出力表示装置にお
ける表示のためのデータを記憶するフレーム・バッファにおける高速の動作モー
ドを提供する方法と装置に関するものである。
従来技術の歴史
デスクトップ・コンピュータの動作速度の増加に伴う重要な問題の1つは、情
報が出力表示装置へ伝送される速度を増加させる方法を見い出す点にあった。現
在利用可能なデータ表示の種々の形式の多くは、膨大な量のデータの伝送を必要
とする。例えば、コンピュータ出力表示装置・モニタが、1024×780個の
画素(すなわち画素)がスクリーン上に表示され、各画素を定義するため32ビッ
トが使われるようなカラー・モードで動作する場合、合計2千5百万ビット以上
の情報が、表示される各フレーム毎にスクリーンへ伝送されなければならない。
典型的には毎秒60個のフレームが表示されるため、毎秒15億ビットが伝送さ
れなければならない。これは、非常に大きな処理能力を必要とし、一般的に、コ
ンピュータの動作全体を遅くする。
データを表示装置へ伝送する速度をあげるため、種々の加速回路が考案されて
きた。これらの加速回路は、一般に、表示装置にデータを伝送するために必要な
機能の多くを実行する必要性をコンピュータの中央処理装置から解放するように
適合される。本質的にはこれらの加速回路は、中央処理装置が通常実行するよう
に要求される種々の動作を肩代わりする。例えば、スクリーン上のある位置から
別の位置へデータをブロック移動するには、スクリーン上のデータの各行を読み
取り新しい行の新しい位置へ書き込むことを必要とする。表示装置のウィンドウ
領域内に情報を収納するには、各ウィンドウ部分にあるデータは、そのウィンド
ウ部分の範囲内に収まり、表示装置の他の部分に重ね書きされないようにクリッ
プされる必要がある。多くのその他の機能は、ウィンドウ内のイメージが表示装
置上で移動される時、または、何らか処理される時、種々のベクトルの生成を必
要とする。これらの動作のすべてが中央処理装置によって実行される場合、中央
処理装置にとって利用可能な時間の相当な部分が浪費される。このような反復的
機能は、グラフィック加速回路によって実行され、中央処理装置の負荷を緩和す
ることができる。一度に大量の画素を扱う動作がグラフィック加速回路によって
機械化されれば、表示速度の最大限の加速が達成される可能性がある点は一般に
認識されている。これは、グラフィック・データの表示にかかわる動作を当然加
速する。
グラフィック加速回路の設計者によって発見された問題は、出力表示装置への
最終的表示のためにグラフィック加速回路の出力がロードされるフレーム・バッ
ファ回路によって、グラフィック加速回路によって達成される大幅な速度向上が
減殺されてしまうという点である。典型的なフレーム・バッファは、表示される
データのフレームを記憶できる十分な量のダイナミックRAM(DRAM)を備
える。しかしながら、フレーム・バッファの構築形態が原因で、フレーム・バッ
ファとの間のデータ伝送速度は非常に遅い。フレーム・バッファにおけるアクセ
ス速度増加のため種々の改良が図られてきた。例えば、ある情報がフレーム・バ
ッファから取り出されると同時に他の情報がそのフレーム・バッファにロードさ
れることを可能にするように、ダイナミックRAM(DRAM)に代わって、2
ポート型ビデオRAM(VRAM)が使用された。
書込み速度を上げるため、4ビット・カラー・モードを処理するある種のフレ
ーム・バッファに関して、ブロック・モードが考案された。このブロック・モー
ドでは、データ・バス上に伝送されるデータは、画素値ではなく、画素が書き込
まれるべきか否かを表す制御信号である。画素位置がデータ・バス上の制御信号
によって書込み可能に(イネーブル)される場合、その画素位置に書き込まれる
カラー値をカラー・レジスタが記憶する。書込み可能にされない画素位置には、
何も書き込まれない。このブロック動作モードは、データ・バスの導線の数と同
数の画素位置へ、カラー・レジスタに記憶されている単一のカラー(すなわち単
色)を同時に書き込むことを可能にする。
カラー値レジスタを備えるこのブロック動作モードを使用することは、速度の
不足が顕著である多くの条件の下でのフレーム・バッファへの4ビット・カラー
の書込みをスピードアップする。あいにく、この動作モードは数多くの制限を持
つ。第1に、このモードは、4ビット・カラー画素を使用するシステムでのみ使
われ、最近のカラー・システムでの使用に適合していなかった。更に重要な点で
あるが、表示装置のウィンドウでデータを処理する典型的な動作では、2色の取
り扱いを必要とする。例えば、テキストがスクリーンに書かれる時、各文字のカ
ラーとその文字を囲む背景のカラーは、表示装置上のイメージを記述するためフ
レーム・バッファに記憶される画素を変えることによって処理される。両方のカ
ラーが書き込まれなければ、テキストの輪郭線は表示されない。表示装置用デー
タを提供するソフトウェアとそのデータの処理を加速する種々のグラフィック・
レンダリング・デバイスの両者は、2色を同時に処理する能力を備え、通常それ
を実行する。しかし、デスクトップ・コンピュータのために使用されるフレーム
・バッファは、数多くの画素が同時にアドレスされるブロック・モードにおいて
1度に1色以上カラーを変化させる能力を備えることができない。このように、
最近のグラフィック・レンダリング・デバイスはデータの処理をスピードアップ
するとはいえ、ブロック動作モードでデータを表示する場合、1度に1色しか受
容できないフレーム・バッファではその表示速度は遅い。別のカラーが一群の画
素のために使われる度毎に、新しいカラーが使われる前に、カラー・レジスタが
時間を要する動作で古いカラー値から新しいカラー値に更新されなければならな
いので、この問題は特に厳しい。背景カラーが、先ず、表示装置の最初の行に関
して、1動作でカラー値レジスタに格納されなければならない。次に、そのカラ
ーの画素が、フレーム・バッファの種々の画素位置に書き込まれなければならな
い。次に、カラーがレジスタで前景カラーに変更され、前景カラーの画素が、2
回目の動作で書き込まれる。画素の次の行がフレーム・バッファに書き込まれる
時、全体の動作が再び繰り返されなければならない。フレーム・バッファの各行
毎に同じ動作を繰り返さなければならない。
最近、先進的カラー・モードに対して使用できる1回のブロック・モード書込
み動作で2色を同時に書き込むことができるような構成が考案された。この構成
は、フレーム・バッファ上で複数のカラー値レジスタを使用して複数のカラー値
を記憶する。この構成は、ウィンドウの書込みの間、カラー値レジスタを再ロー
ドする必要性をなくし、複数のカラー・モードの利用を可能にし、そして書込み
を劇的に加速することができる。この構成は、プリーム(Priem)氏他による米国
特許出願第 号「Apparatus For Providing Fast Multi-Color Storage In A
Frame Buffer(フレーム・バッファにおける高速多色記憶を提供する装置)」に
記載されている。
従来技術のフレーム・バッファを使用して実行される最も遅い動作の1つは、
データのスクロールである。スクロール動作では、データの行(複数)が出力表
示装置上で上下に移動される。出力表示装置に表示される画素を記述するデータ
が、フレーム・バッファに記憶されているため、スクロール動作は、表示装置の
1行を記述するフレーム・バッファ中の画素データが、中央処理装置によってフ
レーム・バッファから読み取られ、次に、フレーム・バッファ中の別の位置へ書
き込まれることを必要とする。典型的なパーソナル・コンピュータでは、32ビ
ットのデータ(すなわち32ビット・カラーの場合1個の画素、または8ビット
・カラーなら4個の画素)が、典型的には120ナノ秒を要する1回の動作で、
フレーム・バッファから読み取られる。次いで、フレーム・バッファの適切な位
置へそのデータを書き戻す(やはり120ナノ秒を要する)1回のアクセスが続
く。このような読み書きのパターンが、行全体が読み書きされるまで続けられる
。典型的なスクリーンの各行には、1024個の画素があるので、32ビット・
カラーの画素の1行を表示装置上でスクロールするためには、1024×240
ナノ秒が必要である。または、8ビット・カラーの画素の場合、上記の4分の1
の時間を要する。テキストの各行は、スクリーン上の約12行の画素からなるの
で、テキスト1行をスクロールする時間は非常に長い。
上記の特許出願に記載されているフレーム・バッファは、データの高速スクロ
ールを提供する新しい回路を含むように修正することは可能である。そのような
スクロールは、従来技術のフレーム・バッファにおけるスクロールに比較して約
85倍速い。そのような構成は、プリーム(Priem)氏他による米国特許出願第号
「Method and Apparatus For Increasing The Rate Of Scrolling In A Frame B
uffer Designed For Windowing Operations(ウインドウ動作のため設計された
フレーム・バッファにおいてスクロール速度を速める方法と装置)」に記載され
ている。
上記の2つの特許出願に記載の新しいフレーム・バッファとともに、データの
大きいブロックをフレーム・バッファへ書き込み、それによって、フレーム・バ
ッファへの書込みを大幅に加速する方法と装置が考案された。その装置と関連す
る方法の詳細は、プリーム(Priem)氏他による米国特許出願第 号「Multiple
Block Mode Operations In A Frame Buffer System Designed For Windowing Op
erations(ウインドウ動作のため設計されたフレーム・バッファ・システムにお
ける複数ブロック動作モード)」に記載されている。
上記のような種々の改善をもってしても、フレーム・バッファはまだ十分な速
度に欠けている。すべてのフレーム・バッファが直面してきた問題の1つは、行
アドレス・ストローブ(RAS)サイクルと列アドレス・ストローブ(CAS)
サイクルが、フレーム・バッファによって実行されるほとんどすべての動作の必
要な付随物であるという点である。フレーム・バッファがその画素データを記憶
するランダム・アクセス・メモリ中のメモリ・セルが、画素データを読み書きす
るためアクセスされる時、行アドレス・ストローブ・サイクルと列アドレス・ス
トローブ・サイクルが、そのアクセスのため当然使われる。しかし、典型的なフ
レーム・バッファでは、フレーム・バッファ・レジスタがアクセスされる時、画
素データが表示装置のすべての行へ伝送される時、およびその他の多くの動作に
関して、そのようなRASとCASサイクルがまた必要とされる。これらの動作
の大部分は、フレーム・バッファ・アレイにおける特定の行または列を選択する
ことはほとんどまたは全く行わないにもかかわらず、行アドレス・ストローブ・
サイクルと列アドレス・ストローブ・サイクルがなお必要とされる。現在の技術
水準では、典型的な行アドレス・ストローブ・サイクルは、実行に120ナノ秒
を要し、一方、典型的な列アドレス・ストローブ・サイクルは、実行に20ナノ
秒を要する。これらのストローブ・サイクル、特に行アドレス・ストローブ・サ
イクルの必要性が、上記のような行または列アドレスの選択に関係のない機能に
関するアクセス時間を長くしている。
発明の概要
従って、従来技術のフレーム・バッファで表示が実行される速度に対して少な
くとも1桁のファクタでデータ表示を加速することのできるフレーム・バッファ
の新しい設計を提供することが、本発明の目的の1つである。
本発明の別の目的の1つは、フレーム・バッファの非アレイ部分のアクセスが
一般的に行アドレス・ストローブ・サイクルを必要としないフレーム・バッファ
の新しい設計を提供することである。
更に本発明の別の特定の目的は、フレーム・バッファのアレイ部分のある種の
アクセスにおいて一定の行アドレス・ストローブ・サイクルと列アドレス・スト
ローブ・サイクルが除去されるフレーム・バッファの新しい設計を提供すること
である。
本発明のこれらおよびその他の目的は、新しい行アドレスを必要としないフレ
ーム・バッファ動作はRASサイクルなしに遂行できるように設計されるフレー
ム・バッファにおいて実現される。アドレスのロードやその他同様の機能に関す
るRASサイクルの排除は、メモリ・アレイ・アドレスを必要としない機能とメ
モリ・アレイ・アドレスを必要とする機能の両方に関して、フレーム・バッファ
の動作を大幅に加速する。
本発明のこれらおよびその他の目的は、以下の詳細な記述と図面の参照によっ
て十分に理解されるであろう。いくつかの図面上に現れる同じエレメントには同
一の符号が付けられている。
図面の簡単な説明
図1は、本発明を含むことのできるコンピュータ・システムを示すブロック図
である。
図2は、従来技術に従って設計されるフレーム・バッファを示すブロック図で
ある。
図3は、図2の従来技術のフレーム・バッファの動作を示すタイミング図であ
る。
図4は、本発明に従う配置を示すブロック図である。
図5は、従来技術のフレーム・バッファと従来技術の技法を使用して実行され
る動作を示すタイミング図である。
図6は、図5に示されるものと同様の動作であるが本発明に従うフレーム・バ
ッファを使用して実行される場合の動作を示すタイミング図である。
図7は、従来技術のフレーム・バッファと従来技術の技法を使用して実行され
る別の動作を示すタイミング図である。
図8は、図7に示されるものと同様の動作であるが本発明に従うフレーム・バ
ッファを使用して実行される場合の動作を示すタイミング図である。
図9は、従来技術のフレーム・バッファと従来技術の技法を使用して実行され
る動作を示すタイミング図である。
図10は、図9に示されるものと同様の動作であるが本発明に従うフレーム・
バッファを使用して実行される場合の動作を示すタイミング図である。
図11は、従来技術のフレーム・バッファと従来技術の技法を使用して実行さ
れる動作を示すタイミング図である。
図12は、図11に示されるものと同様の動作であるが本発明に従うフレーム
・バッファを使用して実行される場合の動作を示すタイミング図である。
図13は、本発明に従うフレーム・バッファを使用して実行される別の動作を
示すタイミング図である。
図14は、本発明の方法の詳細を一般的に示す流れ図である。
表記法と命名法
以下の詳細な記述のある部分では、コンピュータ・メモリのデータ・ビットに
関する動作を記号を用いて表している。これらの記述と表現は、データ処理分野
の当業者がその仕事の要旨を他の当業者へ最も効果的に伝達するために使われる
手段である。動作は、物理的な数量の物理的な操作を必要とするものである。必
ずではないが通常、これら数量は、記憶され、伝送され、結合され、比較され、
そしてさもなければ処理されることのできる電気または磁性信号の形式をとる。
これらの信号を、ビット、値、エレメント、記号、文字、期間、数またはその他
のものとして呼称することは、主として共通の使用のため時には便利であること
が知られている。これらおよび同様の用語のすべては、適切な物理量に関連づけ
られるべきものであり、これらの量に適用される便宜的ラベルにすぎないという
点は留意される必要がある。
更に、実行される動作は、人間の操作員によって実行されるメンタルな操作と
一般に関連付けられる加算や比較などの用語でしばしば呼称される。本発明を構
成する下記の動作のいずれにおいても、人間の操作員のそのような能力は、大部
分の場合必要でない。すなわち、動作は、機械動作である。本発明の動作を実行
するために役立つ機械には、多目的デジタル・コンピュータまたは他の同様の装
置が含まれる。すべての場合に、コンピュータを操作する際の操作方法とコンピ
ュータ自体の計算方法との間の相違に留意する必要がある。本発明は、電気的ま
たはその他の(例えば機械的、化学的な)物理的信号を処理して他の必要な物理
的信号を生成する場合にコンピュータを操作するための方法および装置に関する
ものである。
発明の詳細な説明
図1には、コンピュータ・システム10が示されている。システム10は、そ
の動作のためコンピュータ10に与えられる種々の命令を実行する中央処理装置
11を含む。中央処理装置11は、システム10の種々のコンポーネントに情報
を搬送するために配置されるバス12に接続される。バス12にメイン・メモリ
13がまた接続されている。典型的メイン・メモリ13は、システム10に電力
が供給されている間中央処理装置によって使用される情報を記憶するように、従
来技術の周知の形態で構成されるダイナミックRAM(DRAM)で構成される
。システム10に電力が供給されていない場合でもメモリ条件を保持できるよう
に、従来技術の周知の形態で構成される(例えば電気的プログラム式読取専用(
EP読出し専用メモリ)デバイスのような)種々のメモリ・デバイスを含む読出
し専用メモリ14が、また、バス12に接続される。典型的な読出し専用メモリ
14は、中央処理装置11によって使われる基本入出力処理やスタートアップ処
理などのような種々の基本機能を記憶する。
長期メモリ16などの種々の周辺コンポーネントがまたバス12に接続される
。(典型的には電子機械ハードディスク・デバイスである)長期メモリ16は、
当
業者に周知のものである。フレーム・バッファ17が、また、バス12に接続さ
れる。フレーム・バッファ17には、モニタ18のような出力デバイスへ伝送さ
れるべきデータが書き込まれる。本発明の説明の目的のため、フレーム・バッフ
ァ17は、情報の記憶に必要な種々のメモリ・プレーン(面)に加えて、出力表
示装置に対する情報のスキャンを制御するための回路など当業者に周知の種々の
回路を含むものとみなす。更に、フレーム・バッファ17は、フレーム・バッフ
ァ17に供給されるグラフィック・データを高速で表現するために使用されるグ
ラフィック加速回路15のような回路を経由してバス12に接続されている。
図2は、従来技術に従って構築されるフレーム・バッファ17を示している。
このようなフレーム・バッファ17は、典型的には、出力表示装置上の画素を定
義する情報を記憶するように設計されたダイナミックRAM(DRAM)メモリ
・アレィを含む。フレーム・バッファ17として使用されるRAMがそのノーマ
ル動作モードでアクセスされる時、データは、データ・バス12の導線を経由し
てフレーム・バッファ17との間で読み書きされる。フレーム・バッファ17が
書き込まれる時、バスのデータ導線のすべてが、2進形式でデータを伝送する。
32ビット・バスを持つ典型的コンピュータ・システムでは、32ビットの情報
が、バス上に書き込まれ、フレーム・バッファ・メモリへの32個の入力ピンに
出現する。このデータは、特定のカラー動作モードで1個の画素を定義するため
に必要なビット数に基づいて1個または複数の画素を定義する。例えば、動作モ
ードが8ビット・カラーであるとすれば、表示される画素の各々は、8ビットの
データを必要とし、データ・バス導線上の32ビットのデータは、4個の画素を
各個別アクセス毎に定義する能力を持つ。4個の画素を1回のアクセスで書き込
むのは、表示装置に書かれるべき画素データでフレーム・バッファを埋める相対
的に速度の遅い方法である。しかし、これは、表示装置へ画素データを書き込む
ノーマル・モードである。このモードは、画素毎に表示を変えるプロセスや、2
色以上を使用するグラフィック・イメージ表示を行うプロセスで使用される。
しかし、非常に多数の画素を処理し、それら画素が個別に変更される必要のな
い表示を実行する多くの動作がある。そのような動作には、例えば、表示装置全
体または1つのウインドウのクリア、ファイルのウインドウへの書込みなどのよ
うな動作が含まれる。各画素がデータ導線上で個別に記述される時フレーム・バ
ッファの埋め込み速度が非常に遅いため、データ導線の各々が画素カラー値を表
す4ビットへのアクセスを制御する(ブロック・モードと呼ばれる)動作モード
を可能にする回路を備えた従来技術のフレーム・バッファがある。このモードで
は、1つのカラー値を表すデータをメモリの複数の個別画素位置に同時に書き込
むことができる。このブロック・モードでは、データ導線上でアレーに書き込ま
れる情報は、特定の画素位置を表すメモリ位置への書込みを可能にし、その他の
画素位置を無視するために使われる制御情報である。
図2は、従来技術のフレーム・バッファ17、複数のデータ入力導線23およ
びカラー・レジスタ19を示している。アレイ20のデータ位置に画素データと
して記憶されるべき4ビット・カラー値が、カラー・レジスタ19に書き込まれ
る。データ導線23上でフレーム・バッファ17へ伝送されるデータは、書き込
まれるべき画素(複数)と書き込まれるべき画素(複数)の位置を標示する。例
えば、あるデータ導線23が値0を搬送するとすれば、その画素位置は書き込ま
れない。もしもあるデータ導線23が値1を搬送するとすれば、4ビット・カラ
ー値がカラー・レジスタ19から画素位置に書き込まれる。このようにして、カ
ラー・レジスタ19に記憶されたカラー値を使用して、数多くの個々の画素のう
ちの選択された複数の画素を1度に書き込むことができる。同じカラーを使用す
る大きい領域の操作を実行することが要求される場合に、これは非常に役に立つ
操作である。例えば、32ビット・データ・バスを用いて、1度に32個の画素
にアクセスして表示装置のウィンドウ全体に背景カラーを書くことができ、これ
によってウインドウを迅速にクリアできる。このモードは、また、ウィンドウ内
で画素データをクリップすることをも可能にする。これは、当該ウインドウ内に
1色を書き込む画素位置を使用可能とし一方そのウィンドウの外側の画素位置を
使用禁止にする制御信号によって達成される。
この従来技術のブロック動作モードが有する問題の1つは、このモードが旧式
の4ビット・カラー・モードの動作でしか使用できないことである。さらに困難
な問題は、従来技術のフレーム・バッファは、1つ以上の画素をある1色で同時
に書き込むことができるにもかかわらず、1時点で1色しか取り扱うことができ
ない点である。一方、フレーム・バッファ17に画素情報を供給するグラフィッ
ク加速回路とソフトウェアは、1度に2色を処理する。従って、カラー・レジス
タを使用しまたデータ導線23上に送信される制御信号をイネーブルして複数の
4ビット両素を書き込むことのできるこのブロック・モードを用いて、スクリー
ン全体を迅速にクリアすることはできるが、先進的動作を使用すればシステム動
作を遅くする。例えば、ブロック・モードを使用して何がしかの情報をフレーム
・バッファに書き込む時、第1の背景カラーがカラー・レジスタに置かれなけれ
ばならず、次に、背景カラーを書き込むことによって、特定のウィンドウの第1
行全体がクリアされなければならない。次に、前景カラーが、カラー・レジスタ
に置かれ、前景画素が、その行に書かれる。次に、背景カラーが再びカラー・レ
ジスタに置かれ、特定のウィンドウの第2の行の全体がクリアされる。背景カラ
ーが、カラー・レジスタで前景カラーと再び置き換えられ、前景画素が第2の行
に書かれる。ウィンドウの行すべてが表示に必要な2色で書き込まれるまでこの
動作が継続する。
図3は、図2の従来技術のフレーム・バッファの動作の間に供給される種々の
制御信号を示すタイミング図である。従来技術のフレーム・バッファでは、フレ
ーム・バッファの各アクセスは、120ナノ秒の行アドレス・ストローブ(RA
S)サイクルと20ナノ秒の列アドレス・ストローブ(CAS)サイクルを必要
とする。これは、フレーム・バッファへアクセスしてカラー・レジスタにロード
する場合も、フレーム・バッファのメモリ位置へアクセスする場合も、真実であ
る。RASサイクルの降下区間で、DSF制御信号を含む数多くの制御信号、デ
ータ伝送信号、書込み付勢(イネーブル)信号、および(図において一般的に制
御信号と示されている)同様の信号が、ラッチされ、フレーム・バッファが動作
する特定のモードを示すため使用される。行アドレス・ストローブが一旦供給さ
れたならば、単一のCASサイクルがその行アドレス・ストローブ信号に上重ね
されるので、合計120ナノ秒がいかなる特定の動作についても必要となる。C
AS信号の降下区間で、読み取りイネーブル信号、データ伝送信号、および同様
の制御信号が、ラッチされ、動作モードを示すため使用される。メモリ位置がア
クセスされる時、行アドレスが、RASサイクルの降下区間で供給され、CAS
サイクルの降下区間で、列アドレスが供給され、データが読み書きされる。この
同じ一連の動作が、アレイのメモリ位置へのアクセス以外の動作に関しても使わ
れるので、カラー・レジスタへ背景カラーをロードするため最初の120ナノ秒
を、背景カラーを書き込むのにさらに120ナノ秒を、カラー・レジスタへ前景
カラーを再ロードするためまたさらに120ナノ秒を、前景カラーを書き込むの
にさらにまた120ナノ秒を、それぞれ必要とする。
各行毎にカラー・レジスタへ2回再ロードするために必要な時間と各行の32
個のビット位置の各々に2度書き込む必要性が、動作を著しく遅くする。例えば
、表示されているデータを変更するためあるウィンドウのある領域に書き込みを
行うことが要求される場合、カラー・レジスタの値を当該領域の背景カラーへ変
更することが先ず必要で、次に背景を書き込み、次に再びカラー・レジスタの値
を変更し、最後に前景カラーを書き込む。このはうに、ブロック・モードで32
ビットの情報を書き込むためには、ノーマル・モードで4個の個別の画素を書き
込む場合に必要な時間とほぼ同じ時間を必要とする。これは、フレーム・バッフ
ァへのノーマル・モードの書込みより約8倍の速さではあるが、明らかなように
、カラー・レジスタがロードされる度毎にRAS/CASサイクルを進める必要
がなければ、この動作を大幅に加速することができる。
フレーム・バッファによって使われる他のレジスタがロードされる時、同様の
問題が、従来技術のフレーム・バッファで起こる。例えば、フレーム・バッファ
は、動作の間アクセスされるべきフレーム・バッファのプレーンを指定する情報
を記憶するためレジスタをしばしば利用する。そのような情報によって、複数の
アレイ・プレーンを有する1つのハードウエア配置を、白黒動作、8ビット・カ
ラー動作、16ビット・カラー動作、あるいは32ビット・カラー動作に向くよ
うに構成することを可能にする。これらの特定のカラー動作モードの各々に対し
て、アクセスされるべきプレーンは、そのようなレジスタに記憶され、情報は各
行のアクセスに対して利用される。このプレーン・マスク・レジスタのロードに
は、信号が制御信号としてだけ使われ、列も行もこれらのサイクルの間選択され
ないにもかかわらず、正しい動作モードを決定するため行アドレス・ストローブ
と列アドレス・ストローブの両サイクルを必要とする。カラー・レジスタのロー
ドの場合と同様に、行アドレス・ストローブと列アドレス・ストローブ・サイク
ルの必要性が、動作完了に必要な時間を著しく増加させる。
その他多数の動作が、また、行も列もこれらのサイクルの間選択されないにも
かかわらず、行アドレス・ストローブと列アドレス・ストローブのサイクルを必
要とする。従来技術のフレーム・バッファの構築に関連する1つの問題は、異な
る動作が間に入ると、制御信号を提供する装置が、行アドレスの維持を取りやめ
る点である。例えば、フレーム・バッファの最初の画素にアクセスするため行と
列アドレスが供給される場合、同じ行でもう1つの画素を書き込むための次のア
クセスには、列アクセスだけが必要である。しかし、書き込まれるカラーが変わ
るかまたは他のなにがしかの動作が間に入ると、制御信号をラッチして、当該そ
の他の動作を実行するため、行と列アドレス・ストローブ・サイクルが必要とさ
れる。次に、もう一つの画素が同じ行に書き込まれる時、アクセスの行が最初の
アクセスの行と同じであるにもかかわらず、行と列のアドレスが必要である。こ
れは、実行される特定の動作が異なる動作に変えられる度毎に、新しい動作を制
御する制御信号とともに行アドレス・ストローブ・サイクルと列アドレス・スト
ローブ・サイクルを使用することが必要なためである。行と列アドレス・ストロ
ーブの信号を送出することは、行アドレス値に影響を及ぼすかもしれないし、ま
た、影響を及ぼさないかもしれないが、アドレスは不確定なままにされるため行
アドレスはもはや有効とみなされることができない。そのため、行アドレスは更
新されねばならず、従って、行アドレス・ストローブと列アドレス・ストローブ
・サイクルが必要とされる。
本発明は、フレーム・バッファ内で諸動作を制御する従来技術の方法を置き換
えるものである。本発明においては、行アドレス・ストローブ・サイクルは、行
アクセス動作に対してのみ使用され、その他の制御機能に対して使用されない。
フレーム・バッファのその他の動作が行アドレス・ストローブ・サイクルによっ
て制御されることを要求されないようにする十分なピンが提供される。すなわち
、本発明の好ましい実施例において、4つの個別的DSF信号に対して4つのピ
ンが提供される。行アドレスが変えられる時行アクセスのためにだけ行アドレス
・ストローブ・サイクルが使われるので、行アドレス・ストローブ・サイクルの
間
に指定された行は、新しい行が選択されるまで有効とされる。その他の制御機能
が発生しても、それらの機能が別の行に関連するものでない限り、行アドレスを
さらに指定することは、同じ行の範囲内の動作に関しては必要でない。
行アクセス動作のためにだけ行アドレス・ストローブ・サイクルを使用するこ
とによって、動作が同じ行にとどまる限り、非常に大幅な速度向上を達成するこ
とができる。更に、従来技術のフレーム・バッファと対照的にいくつかの動作に
おいて、列アドレス・ストローブ・サイクルを必要とせずに、行アドレス・スト
ローブ・サイクルの間に、データがフレーム・バッファに実際に書き込まれるこ
ともあり得る点に注意する必要がある。従来技術のフレーム・バッファは、列ア
ドレス・ストローブ・サイクルの間にだけデータが入れられることを常に必要と
した。列アドレス・ストローブ・サイクルは非常に短かく、行アドレス・ストロ
ーブ・サイクルは非常に長いので、データ・エントリの開始は、行アドレス・ス
トローブ・サイクルが始まり、かつ、列アドレス・ストローブ・サイクルが開始
できる状態になるまで遅らせなければならないことを上記の点は意味した。この
新しいプロセスは、データ・エントリについてさえ必要な期間を短縮する。しか
し、最も顕著な点として、同じ行の中でのすべての動作に対してはただ1回の行
アドレス・ストローブ・サイクルしか必要とされないので、非常に長い複数の行
アドレス・ストローブ・サイクルが取り除かれる。
図4を参照すると、本発明に従って設計されたフレーム・バッファ50の詳細
なブロック図が示されている。図4は、フレーム・バッファ50の種々のコンポ
ーネントが搭載されている基板を示している。フレーム・バッファ50には、ダ
イナミックRAM(DRAM)アレイ52を形成するように配置される電界効果
トランジスタ(FET)のようなデバイスを含む複数のメモリ・セル53が含ま
れる。アレイ52を構成するセル53の配置は、当業者に周知の原理に従って開
発される。その配置は、ある特定の動作モードで出力表示装置上に表示されるべ
き画素の数を記述するために十分な数のアドレス可能なメモリ・セル53をアレ
イ52に設ける。アレイ52は、32個のプレーン(面)を含み(最初のプレー
ンだけが図4では詳細に示されている)、各面には、各行1024個のメモリ・
セルを持つ256行が含まれる場合がある。そのような配置は、カラー出力表示
端末装置上に512×512のモードで32ビット・カラーを表示するのに十分
なカラー・データ記憶装置を実現する。
アレイ52に加えて、フレーム・バッファ50には、中央処理装置のようなコ
ントローラによって供給されるアドレスをデコードし、アレイ52の各プレーン
における個々のメモリ・セルを選択し、出力表示装置上に表示されることになる
種々の画素を定義するための行デコード54および列デコード56が含まれる。
アレイ52において利用されるべきデータを提供するように適合されるデータ・
バスの一部であるデータ導線58が、また、フレーム・バッファ50に接続して
いる。数は特定のコンピュータ・システムによって変り得るが、典型的には、3
2本のデータ導線58が提供される。32という数は、最も正確なカラー動作モ
ードで表示装置システムによって使用可能な最大のビット数を持つ単一画素のカ
ラーを示すために伝送されるビットの数と一致する。
データがノーマル動作モードでデータ・バスの導線58上でフレーム・バッフ
ァ50に書き込まれる時、32ビットのグループのそれぞれは、出力表示装置上
で1つまたは複数の画素位置で表示されるべき1つまたは複数のカラー値を定義
する。出力表示装置が8ビット・カラー・モードでデータを表示する時、データ
導線58によって搬送される32ビットは、ノーマル書込みモードにおいて表示
装置上4つの画素位置を定義することができる。一方、表示装置が32ビット・
カラー・モードでデータを表示する時、データ導線58の32ビットは、表示装
置上単一の画素位置を定義する情報を搬送する。図から理解されるように、バス
のデータ導線58の1つは、入力データ・バッファDinを経由してアレイの各
プレーンにおける8つのマルチプレクサ62のすべてに接続されていて、そのた
め、導線58によって搬送されるデータ・ビットは、アレイ52のプレーンの適
切なメモリ・セルに記憶されることができる。マルチプレクサ62の各々は、選
択された動作モードに応じて、各プレーンのアレイ52へ伝送されるべきデータ
のソース(出所)を選択する。従って、ノーマル・モードの場合、データ・ビッ
トは、アレイの当該プレーンに関するデータ導線58から直接選択される。ビッ
トは、選択された特定の列へ伝送され、その列と選択される行に書き込まれる。
アレイの32個のプレーンの各々に1ビットが書き込まれるので、32ビットは
、
カラー動作モードに応じて、1つの32ビット画素として、または2つの16ビ
ット画素として、または4つの8ビット画素として(各プレーンへ1ビットずつ
)バス導線58から書き込まれる。
図4で示される実施例は、8ビット・カラー・モードを利用するシステムで使
われるように特に適合されている。当システムは、具体的には、特定の書込み入
力データを選択するためフレーム・バッファ50の各プレーンにおいて8つの個
別マルチプレクサ62を利用する。これら8つのマルチプレクサ62の各々は、
8つの3状態(tri-state)書込みドライバ73の1つに接続する出力を有する。
ドライバ73のそれぞれは、アレイの特定のプレーンの8番目ごとの列に接続し
た導線66上のトランスミッション・ゲート71のような書込みイネーブル・ス
イッチを通して出力信号を供給する。
図4で示される通り、フレーム・バッファが動作すべき特定の動作モードを指
定するためモード制御回路68が用意されている。モード選択を実行するため、
書込みイネーブル信号および出力イネーブル信号とともに、4つの制御信号DS
F0−DSF3が供給される。これらの信号の組合せによって、従来技術におけ
る当業者に周知の方法で、特定の出力モード制御信号が生成される。
従来技術で実施されるように、ノーマル・モード書込み動作では、特定のアド
レスがアドレス・バス上に伝送され、特定の行と列が選択される。行アドレスは
、行アドレス・ストローブ信号の降下区間においてイネーブル(使用可能に)さ
れる行デコード54へラッチ51から供給される。行の選択によって、選択され
たプレーンの各々においてアレイの特定行のメモリ・セル53のすべてに電力が
供給される。一旦電力がアレイの該当する行に供給されると、その行の各メモリ
・セルの値は、アレイの各列について検出増幅器63によって検出される。検出
増幅器63がオンにされ、各検出増幅器63は、検出した値を選択された行のメ
モリ・デバイス53へ送り、そのメモリ・デバイスを更新する。
CAS信号の降下区間で、ラッチ57がイネーブル(使用可能に)され、列ア
ドレスが、列デコード56によってデコード(復号)され、書き込まれるべき各
プレーンの該当する列を選択する適切なスイッチ67に振り当てられる。図示さ
れているフレーム・バッファ50では、列アドレスは、10ビットである。10
ビットのうち高位7ビットCA3−9は、8個の隣接列グループを選択するため
に使用される。マルチプレクサ62の各々におけるノーマル書込みモード制御信
号によって、そのプレーンに連係した単一の導線58上に供給されるデータ信号
が、8個のマルチプレクサ62の各々によってデータ入力バッファから伝送され
ることとなる。ラッチ57からの列アドレス信号の下位3ビットCA0−2は、
増幅器73の特定の1つを選択して、列デコードによって選択された8列のうち
の1つにデータ・ビットを伝送する。従って、マルチプレクサ62によって生成
される信号の1つは、増幅器73の1つによって増幅され、アレイの当該プレー
ンのアドレスされたメモリ・セル53に伝送される。アレイ52の各プレーンに
連係する導線58の各々が、選択された行と列におけるメモリ・セルに対する個
々のビットを搬送するので、1つまたは複数の画素値が、アレイの各プレーンに
おける適切な列と行位置へ伝送される。
同様の方法で、特定の画素値がノーマル動作モードで読み込まれる場合、行と
列のアドレスは、デコード54および56へ伝送される。行アドレスは、RAS
信号の降下区間で選択され、アレイ52の各選択されたプレーンにおける行全体
のメモリ・セルが更新される。CAS信号の降下区間で、列アドレスの高位7ビ
ットCA3−9は、列デコード56の適切なスイッチ67に振り当てられ、読み
取られるべくアドレスされた8つの隣接する列が各プレーンにおいて選択される
。選択されたプレーン各々のこれら8つの列のそれぞれにおけるメモリ・セル5
3の条件は、出力検出増幅器の第2のセット75によって選択される。複数列の
中の特定の列の出力は、各プレーンのマルチプレクサ79によって選択される。
マルチプレクサ79は、ノーマル・モード読込み信号と列アドレスの低位3ビッ
トCA0−2の値によって制御される。これによって、特定メモリ・セル53の
条件が、アレイ52の当該プレーンに関連するデータ・バスの導線58の特定の
1つに伝送される。
フレーム・バッファ50には、また、複数の記憶位置に同時に書込みが行われ
るブロック動作モード(以下に記述される)で利用できるカラー値を記憶するた
めに活用されるカラー値レジスタC0とC1の対が含まれる。アレイの各プレー
ンは、1ビットのカラー値を記憶する1ビット・レジスタC0と1ビット・レジ
スタC1を含む。各プレーンが各レジスタのための1ビットを含むので、各レジ
スタは合計32ビットを含む。従って、全8ビット・カラー値は、8個のプレー
ンに存在するレジスタC0とC1に記憶され、全16ビット・カラー値は、16
個のプレーンに存在するレジスタC0とC1に記憶され、全32ビット・カラー
値は、フレーム・バッファ50の32個のプレーンのレジスタC0とC1に記憶
される。図示されているような32ビット・カラー・レジスタを用いれば、特定
の8ビット・カラー値に対するカラー・パターンは、各カラー・レジスタにおい
て4回繰り返される(同様に、16ビット・カラー値は2回繰り返される)。カ
ラー・レジスタC0とC1は、選択的にアドレス指定されるので、データ・バス
の導線58上で供給されるデータをそれらレジスタにロードすることができる。
すなわち、各セル・プレーンに提供されるスイッチによって、ロード制御信号に
応答してデータ・バスの導線58からのデータをレジスタC0とC1にロードす
ることが可能となる。カラー・ブロック・レジスタの詳細は、上述の米国特許出
願の「Apparatus For Providing Fast Multi-Color Storage In A Frame Buffer
(フレーム・バッファにおける高速多色記憶を提供する装置)」に記載されてい
る。
しかし、本発明の理解を助けるため、ここで、カラー・レジスタの使用につい
て簡単な説明を行う。マルチプレクサ62は、書込みのため、導線58によって
搬送されるデータ値のみならず、カラー・レジスタC0とC1に記憶された値を
も選択する。選択は、特定のカラー動作モードや、中央処理装置またはグラフィ
ック加速回路によって与えられる制御信号が標示する値に依存する。
ブロック動作モードが制御信号によって標示される場合、データ導線58は、
画素データを搬送するというよりはむしろ、レジスタC0とC1に保持されてい
るカラー値が書き込まれるアレイ52の画素位置を示すイネーブル信号を搬送す
る。これらのカラー値は、ロード・カラー・レジスタ制御信号に応答して、フレ
ーム・バッファ50の各アレイ・プレーンのデータ導線58からロードされる。
2つのカラー・レジスタC0とC1が、本発明の好ましい実施例で提供されるの
で、合計4つのカラー動作モードが可能である。これらのモードは、カラー0モ
ード、カラー1モード、カラー0&1モードおよびカラー1&0モードと呼称さ
れる。理解されるように、前景と背景カラーが書き込まれる時、表示する各行へ
の書込みを行うためにカラー値レジスタへロードする必要がないので、これらの
動作モードのいずれでも大幅な時間が節約される。
カラー0の動作モードでは、1という制御信号値が特定のデータ導線58上に
伝送されると、カラー値レジスタC0の値が、その導線58に関してアドレスさ
れた画素を定義する記憶位置に書き込まれる。カラー値レジスタC0の値は、ま
た、制御値1がデータ導線58上で伝送されるアドレスにおいてすべての他の記
憶位置へ伝送される。一方、制御値0がデータ導線58上で伝送される画素位置
にはカラー値は書き込まれない。このようにして、32個の異なる画素位置は、
単一の同時伝送で作用を受ける。すなわち、値1を受け取るそれらの位置はカラ
ー値レジスタC0の値の受け取りを可能にされ、一方、値0を受け取る位置は、
変更されない。
カラー値レジスタC0が、該レジスタC0で提供される32ビット申で4回繰
り返される8ビット・パターンでロードされ、また、カラー値レジスタC1が、
該レジスタC1で提供される32ビット中で4回繰り返される別の8ビット・パ
ターンでロードされたと仮定すると、行および列アドレス・デコード54と56
を経由してアドレス・バス上のアドレスによって、1行と8列が上述の方法で選
択される。カラー・モード0が選択されると仮定すれば、各プレーン上の8個の
マルチプレクサ62のすべてが、アレイに関するカラー・データのソース(供給
元)としてレジスタC0を選択する。次いで、特定の書込みドライバ73が、デ
ータ・バスの導線58上に現れるイネーブル信号に従って使用可能にされる。
導線58上に現れるデータは、画素マスク・レジスタ55に送られる。画素マ
スク・レジスタは、ドライバ73のすべてを制御して、特定の画素へのデータの
伝送を制御するために使われる。例えば、8ビット・カラーを取り扱い、最初の
8列が列アドレスによって選択されたと仮定すると、最初の画素を定義するビッ
トは、選択された行の最初の列でその列の最初の8つのプレーンにある。画素マ
スク・レジスタ55の最初の画素P1は、適切なドライバ73を制御して、カラ
ー値レジスタC0からアレイにおけるこれらビットの位置へカラーを伝送する。
従って、選択される1行と8列について、合計32個の8ビット・カラー画素が
、
カラー値レジスタC0に記憶されている値で同時に書き込まれることができる。
カラー1モードは、カラー0モードと同様であるが、値1が特定のデータ導線
58上に伝送される場合、カラー値レジスタC1の値が、その導線58について
アドレスされた画素を定義する記憶位置へ書き込まれる点が相違する。一方、制
御値ゼロを受け取るデータ導線によって制御される画素位置にはカラー値は何も
書かれない。
理解されるように、カラー0とカラー1モードは、従来技術のフレーム・バッ
ファで使われる4ビット・ブロック・モードと同様の速い動作モードであり、非
常に迅速にスクリーンをクリアまたはウィンドウ領域への単色を提供するために
使用されることができる。例えば、各画素が8ビットで1024×780画素の
表示装置のためのフレーム・バッファ30は、個々の画素がフレーム・バッファ
50に1つずつ書き込まれるより約32倍速くクリアされる。2つのカラー値レ
ジスタC0とC1はウィンドウのどの部分をも処理する前にロード可能であるし
、常に使用可能であるので、一連の(例えば、32個の)画素は、カラー値レジ
スタへの再ロードをせずに2回のアクセスで書き込まれることができる。
しかし、クリッピングが不必要な表示の部分でカラー・モード0&1と1&0
を使用して、より速い書込みを行うことが可能である。上記引用の特許出願で記
述されているように、表示装置に書込みを行うことに含まれる動作の大部分は、
2色を利用する。クリッピングが必要でない場合、モード0&1と1&0の使用
は、2色を同時にフレーム・バッファに書き込むことを可能にする。これらのモ
ードにおいてデータ導線58上の値ゼロは、ある1つのカラー値が、1つのカラ
ー値レジスタから制御された画素に書き込まれるべきことを示し、一方、データ
導線58上の値1は、ある1つのカラー値が、別のカラー値レジスタから制御さ
れた画素に書き込まれるべきことを示す。
これは、各プレーンについてデータ導線58上で伝送され画素マーク・レジス
タ55に記憶される値をカラー・モード制御信号と結合して、マルチプレクサ6
2によってカラー値が伝送される元となる特定のカラー・レジスタを選択するこ
とによって、実行される。例えば、カラー・モード0&1または1&0の場合、
画素マスク・レジスタ55のビット位置にあるゼロに応じて、マルチプレクサ6
2はあるカラー値レジスタに記憶されたカラー値を選択し、一方、画素マスク・
レジスタ55のビット位置にある1に応じて、マルチプレクサ62は別のカラー
値レジスタに記憶されたカラー値を選択する。次に、モード0&1または1&0
を示すカラー・モード制御信号が、選択されたすべての画素がアレイに書き込ま
れるように制御する。これによって、前景と背景を表す2つの別々の色を、クリ
ッピングを必要としないウィンドウの部分に同時に書き込むことを可能にする。
2つのカラー値レジスタを備えることによって、複数のカラー・モードに加え
て、フレーム・バッファへデータを書き込む数多くの新しい方法を実施すること
が可能となる。例えば、8、16および32ビットの画素が、上述のように、デ
ータ・バスの導線と同じ数の一群の画素表示位置に書き込まれることができる。
加えて、クリッピングが必要な場合1色でまたはクリッピングが不要な場合2色
で行全体の画素に書込みを行うことができるブロック・モードが提供される。こ
れらのモードは、ブロック256、ブロック512およびブロック1024モー
ドとして呼称され、上記引用の米国特許出願の「Multiple Block Mode Operatio
ns in A Frame Buffer System Designed For Windowing Operations(ウインド
ウ動作のため設計されたフレーム・バッファ・システムにおける複数ブロック動
作モード)」に記載されている。
上記引用の発明は、フレーム・バッファへの書込みのための複数の異なるモー
ドを提供する。書込みモードの各々において、データ導線上のあらゆるビットは
、フレーム・バッファにおける異なる数のビットに作用する。提供される最初の
モードは、上述のノーマル・モードであって、各データ導線はフレーム・バッフ
ァに記憶される単一ビットに作用する。このモードは、1度に1個の画素を表示
装置に書くことを必要とする動作のため使用される。このモードは、いかなるカ
ラーでもある1つの画素位置に書き込むことを可能にする。このモードは、もち
ろん、各画素書込み毎に120ナノ秒を必要とする従来技術のフレーム・バッフ
ァによって使用される速度の遅い従来のノーマル・モードである。
2番目の動作モードは、ブロック8モードと呼ばれ、各データ導線38上に伝
送される値が、フレーム・バッファに記憶される8ビットに作用するイネーブル
信号として使用される。このモードは、8ビット・カラーを利用するプログラム
での書込み動作のため使われる。これは、データ導線がある限り多数の8ビット
画素が同時に書き込まれることを可能にする。例えば、本実施例のシステムでは
、32個の画素が1回のアクセスで書き込まれる。2つのカラー・レジスタを利
用すれば、どのような4色動作モードも、このモードで可能である。一定の複数
の画素が、カラー値レジスタの1つからのあるカラー値(または他のレジスタか
らの別のカラー値)を用いて書込みされ、その他の画素は、カラー0とカラー1
のモードを使用して無視される。更に、データ導線によって作用を受ける画素の
すべてに、カラー0&1とカラー1&0モードを使用して2つのカラー値レジス
タに保持される2つの別々のカラーを同時に書込むことができる。
ブロック16モードとして参照される3番目の動作モードでは、各データ導線
は、フレーム・バッファに記憶される16ビットに作用を及ぼす。このモードで
は、図4における各プレーン上の個別のマルチプレクサ62の数は、8から少な
くとも16または32に増加される。同様に、列アドレスによって同時に選択さ
れる可能性のある列の数は、同時に16個の列の選択を可能にするように増やさ
れる。これらの変更を行い、合計32個の16ビット画素の各々がカラー・レジ
スタから書き込まれることを可能にする信号を提供することによって、ブロック
8モードと同様の形態で、16ビット・カラーを活用するプログラムでの動作に
使用されるブロック16モードが提供される。これは、データ導線がある限り多
数の16ビット画素を同時に書き込むことを可能にする。本実施例のシステムに
おいては32個の16ビット画素を1回のアクセスで書き込むことができる。図
示されている2つのカラー値レジスタを活用して、どのような4色動作モードも
このモードで可能である。
ブロック32モードと呼ばれる4番目の動作モードでは、各データ導線は、フ
レーム・バッファに記憶される32ビットに作用を及ぼす。このモードでは、図
4の各プレーン上の個別のマルチプレクサ62の数は、8から少くとも32に増
加され、列アドレスによって同時に選択される可能性のある列の数は、同時に3
2個の列の選択を可能にするように増やされ、制御信号はこれらの変化に適応す
るように修正される。このモードはまた8ブロック・モードと同様であって、3
2ビット・カラーを利用するプログラムの動作のため使われる。
当業者に理解されることであろうが、ブロック8、16および32の動作モー
ドは、データ導線の数に等しいグループ単位で、1色または2色のどちらかで(
ノーマル動作モードの約32倍の速さで)フレーム・バッファへの高速画素書込
みを可能にするように考案されている。従って、カラー0&1と1&0モードを
もつこれらの異なるブロック書込みモードによって、単一のRAS信号と行の3
2個の画素毎にCAS信号を必要とする一連の32個画素アクセスで、1024
個の画素の1行を書き込むことが可能となる。
フレーム・バッファの動作速度を増やす3つの書込みモードが更に追加して提
案されている。それらのモードの最初は、ブロック256モードと呼ばれる。ブ
ロック256モードでは、各データ導線の値は、隣接する32個の8ビット画素
位置へ書き込まれるカラー値を決定する。これは、アレイの各プレーンで列の合
計の4分の1(256)を同時に選択する列アドレスによって達成される。これ
らの列の各々に接続した画素の各々が、特定のカラー・モードでデータ導線上に
搬送される値によって指定されるカラー値レジスタの1つのカラー値を受け取る
。ブロック256モードにおいては、合計32×32個の8ビット画素(102
4個の画素)が各書込みアクセスによって一度に作用される点が認められるであ
ろう。これは、最近のコンピュータ・カラー・モニタの1行の画素数の典型的な
ものである。従って、ブロック256モードにおいて8ビット画素の各1回のア
クセスが、1024画素行の1行にある画素のすべてを書くことができる。この
モードは、非常に速く全スクリーンをクリアするか、あるいはスクリーン上で3
2ビットのブロック単位で変化するパターンを書き込むために使われることがで
きる点が認められるであろう。ブロック256モードは、8ビット・カラーを使
用している時ウインドウをクリアし、ウインドウの境界へクリップするためブロ
ック8モードとともに用いられる場合特に役立つ。
第2の追加モードは、ブロック512モードと呼ばれる。ブロック512モー
ドでは各データ導線は、32個の隣接する16ビット画素位置に書き込まれるデ
ータの値に作用する。このモードでは、列アドレスは、各プレーンの列の半分を
同時に選択する。このモードは、上述の選択導線、マルチプレクサー42および
他のコンポーネントの数を16へ増加する必要がある。このモードは、ブロック
256モードが、表示装置のクリップされるウインドウ内の1行全体を高速で書
き込むためブロック8モードを利用した方法と同じように、ブロック16モード
を利用する。3番目の追加モードは、ブロック1024モードと呼ばれる。ブロ
ック1024モードでは、各プレーンのすべての列が列アドレスによって選択さ
れる。このモードは、上述の選択導線、マルチプレクサー42および他のコンポ
ーネントの数を32へ増加する必要がある。ブロック1024モードでは各デー
タ導線は、32個の隣接する32ビット画素位置に書き込まれるデータの値に作
用する。このモードは、ブロック256モードが、表示装置のクリップされるウ
インドウ内の1行全体を高速で書き込むためブロック8モードを利用した方法と
同じように、ブロック32モードを利用する。これらのモードの各々は、ブロッ
ク256モードと同様の方法で有効な機能を提供するが、16ビットおよび32
ビット画素を記述するデータを記憶するフレーム・バッファの構成の点だけが相
違する。
速い動作を提供するカラー値レジスタC0とC1およびブロック・モードに加
えて、図4のフレーム・バッファ50は、画素データを出力表示装置(図には示
されていない)にシフトする回路を含む。この出力回路は、アレイの各プレーン
においてデータを1度に8ビットずつシフトさせて出力シフト・レジスタ80へ
送信するために利用されるマルチプレクサ77を含む。次に、レジスタ80のデ
ータは、もう一つのマルチプレクサ82によって1度に1ビットずつシフトされ
、出力表示装置上での画素データの表示を制御する回路へ送信される。
フレーム・バッファで実行されるもっとも遅い動作の1つは、データのスクロ
ールである。スクロール動作においては、データの行が出力表示装置上で上下に
移動される。出力表示装置に表示される画素を記述するデータはフレーム・バッ
ファに記憶されているので、従来技術のフレーム・バッファでのスクロールは、
表示装置の行を記述するフレーム・バッファの画素データが中央処理装置によっ
てフレーム・バッファから読み取られ、フレーム・バッファの別の位置へ書き込
まれることを必要とした。典型的なパーソナル・コンピュータにおいては、32
ビットのデータ(32ビット・カラーの1個の画素または8ビットカラーの4個
の画素)が、典型的には120ナノ秒を要する1度の動作で同時にフレーム・バ
ッファから読み取られる。続いて、読み取ったデータをフレーム・バッファの適
当な位置へ書き戻す動作が行われ、これに再び120ナノ秒を要する。このよう
な読み書きパターンが、全部の行が読み書きされるまで続けられる。典型的なス
クリーンの1行は1024個の画素を持っているので、32ビット・カラーの場
合の1行をスクロールするためには、240ナノ秒×1024の時間が必要で、
8ビット・カラーの場合でその4分の1がかかる。平均的テキストの1行は、ス
クリーン上の約12画素行からなるので、テキスト1行のスクロールには、非常
に長い時間がかかる。
出力表示装置へ伝送される出力を提供することに加えて、フレーム・バッファ
50は、一連のラッチ0−3を含むこともできる。これらラッチは、行の相当の
部分(例えば行の4分の1)から読み取られるデータを受け入れることができる
もので、実質的にスクロール動作のための内部データ・バスを提供する。これら
のラッチによって、スクロール動作の速度は、従来技術のスクロール速度に比較
して約85倍速くなる。動作の核心は、一連の4連続アクセスのそれぞれ毎に、
32個の画素がラッチに置かれるという点である。これらの画素は、一連の4回
の追加アクセスでマルチプレクサ62を通してアレイの新しい位置へ書き込まれ
る。このスクロール動作と回路は、上記引用の米国特許出願の「Method and App
aratus For Increasing The Rate Of Scrolling In A Frame Buffer Designed F
or Windowing Operations(ウインドウ動作のため設計されたフレーム・バッフ
ァにおいてスクロール速度を速める方法と装置)」に詳細に記載されている。
上述の通り、上記のような諸改良をもってしても、なおいっそうの速度向上が
フレーム・バッファ動作について要求される。
図5は、従来技術のフレーム・バッファによって使われる単一のカラー値レジ
スタでカラー値をロードし、次いで、そのカラー値を持つ1つまたは複数の画素
をフレーム・バッファのアレイへ書き込むために必要な信号と典型的に必要とな
る時間を示すタイミング図である。図は、書かれるべき画素がアレイにおいて現
在アクセスされている行にあると仮定する。図から分かるように、RASサイク
ルの降下区間で、カラー値レジスタがロードされるべきことを示す制御信号が、
フレーム・バッファに供給される。同じ期間に、データ・バスのデータ導線上に
データの値は何も供給されないし、アドレス・バス上にアドレスは何も供給され
ない。RASサイクルの終了が近づくと、CASサイクルが始動される。CAS
サイクルの降下区間で、カラー値が、データ・バスのデータ導線上に供給され、
カラー値レジスタにロードされる。アドレス・バス上の値は、この時点では使わ
れない。これによって、従来技術の典型的コンポーネントを使用して、120ナ
ノ秒でカラー値レジスタへのロードが完了する。
一旦カラー値レジスタがロードされると、そのレジスタの値が、種々の画素ア
ドレスに書き込まれることができる。しかし、選択された行への書込み以外の(
カラー値レジスタへのロードという)動作が起きたため、行アドレスは、従来技
術のフレーム・バッファではもはや有効でない。従って、もう1つのRASサイ
クルが、適切な行のアドレスを供給するために要求され、このRASサイクルの
降下区間で、行アドレスが与えられる。ここではまた、データ導線上に何の値も
必要とされない。一旦適切な行がRASサイクルの間に選択されると、CASサ
イクルは、書込み動作のために列アドレスを供給し、かつ、上記書き込み動作の
ための画素選択制御データをデータ導線上に供給するように要求される。ロード
されたばかりのカラー値レジスタが使われていると仮定するので、データ導線は
、指定された列アドレスから始まるカラーを書き込むべき画素位置を示す値を搬
送する。このようにして、この書込み動作は、さらに120ナノ秒を必要とし、
カラー値を変え、画素位置に書き込む全体の動作は、240ナノ秒を必要とした
。
これは、図6で示される動作と対照的である。図5のように、書き込まれるべ
き画素は、現在アクセスされている列にあると仮定される。カラー値のカラー値
レジスタへのロードを制御するためにRAS信号は必要でないので、すでにアク
セスされている行アドレスが選択されたまま残るように、RAS信号は全動作の
間低い(low)ままである。CASサイクルが、データ導線上にカラー値を供給す
るために利用される。このCASサイクルは、遅延なしに始動され、20ナノ秒
を必要とする。CASサイクルの降下区間で伝送されカラー・ロード動作を示す
制御信号がアドレス・バスまたは別の制御線を利用できるが、アドレス・バスは
使用されない。このようにして、カラー値レジスタをロードするには、20ナノ
秒しかかからない。行アドレスが正しいままなので、書込みアクセスは直ちに次
に
続くことができる。これには、さらに20ナノ秒を要し、その間に、書込み動作
のための列アドレスがアドレス・バス上に供給され、イネーブルされた画素位置
を示す制御データが、データ・バスのデータ導線上にブロック書込みのために供
給される。このように、本発明を使用する全動作に関して必要な時間は、40ナ
ノ秒である。これは、従来技術のフレーム・バッファと技法を使用する動作を達
成するために必要な時間240ナノ秒と対照的である。
図7は、従来技術のフレーム・バッファにおける同様のタイプの動作を示すタ
イミン図である。この動作では、ある特定の動作でどのプレーンに書き込むべき
かを示すため、プレーン・マスク・レジスタがロードされる。従来技術のフレー
ム・バッファにおいては、データが書き込まれるRASサイクル毎に、適切なア
レイ・セットアップを示すため、(書き込むべきプレーンの)プレーン・マスク
値を供給することが必要である。最初のRASサイクルの降下区間で、アドレス
・バス上の行アドレスとともに、プレーン・マスク値がデータ導線上に供給され
る。次に、書き込まれるべき列の値とデータが、CASサイクルの降下区間で供
給される。これは、1つの画素(またはブロック・モードでは複数の画素)を書
き込む動作を含め、合計120ナノ秒を要する。
図8は、本発明の方法と本発明に従って設計されるフレーム・バッファを使用
して、プレーン・マスク・レジスタをロードするために必要な動作を示すタイミ
ング図である。プレーン・マスク・レジスタへのプレーン・マスク値のロードは
、行の値に影響を及ぼさないため、プレーン・マスク値のロードを制御するため
RAS信号は必要でなく、RAS信号は、同じ行の値が初期的にロードされた場
合のまま低レベルに維持され、行アドレスは、選択された時のままである。従っ
て、CASサイクルは、プレーン・マスクがロードされるべきことおよびプレー
ン・マスク・データがデータ導線上にあることを示す制御信号を供給するために
利用される。このCASサイクルは、遅延なしに始動され20ナノ秒を必要とす
る。プレーン・マスク・ロード動作を示す制御信号が、アドレス・バスまたは別
の制御線を利用することもあるが、アドレス・バスは利用されない。このように
、プレーン・マスク・レジスタをロードするには、20ナノ秒のみを要する。行
アドレスが正しいままなので、書込みアクセスを直ちに続けることができる。そ
のよ
うな後続の書込みアクセスは、20ナノ秒を要する別のCASサイクルを利用す
る。そのサイクルの間に、書込み動作に対する列アドレスがアドレス・バス上に
供給され、データ(またはイネーブルされた複数画素位置を示すブロック・デー
タ)が、データ・バスのデータ導線上にブロック書込みのため供給される。従っ
て、本発明を使用する動作全体に必要な時間は、40ナノ秒である。これは、従
来技術のフレーム・バッファと技法を使用する動作を実行するために必要な時間
120ナノ秒と対照されるべきである。従って、本発明を使用すれば、動作は約
3倍速い。
本発明のもう一つの利点は、プレーン・マスク値を、値が変わらない限り、各
RASサイクル毎に再ロードする必要がないことである。書込み動作の各RAS
サイクル毎にプレーン・マスク・レジスタをロードする必要のある従来技術と対
照的に、本発明は、プレーン・マスク値を変更されるまで保持する。このように
して、各行が書き込まれる毎にこの値をロードするために使われる時間のすべて
が、本発明によって取り除かれる。
図示された通り、RASサイクルが行アドレス動作だけに必要でそれにのみ作
用するようにフレーム・バッファを構成することによって、従来技術のレジスタ
・ロード動作で費消された非常に大きな動作時間が節約される。レジスタ・ロー
ドの時間の節約に加えて、この技法は、行アドレス付与を必要とする動作の時間
をも節約する。図9は、従来技術のフレーム・バッファが、従来技術のブロック
・モードを使用してどのように背景カラーのフラッシュ書込み動作とそれに続く
前景カラーの画素書込みを実行するかを示すタイミング図である。フラッシュ書
込み動作では、表示装置の1から4行の全体が、すべて単一カラーであれば、同
時に書き込みされる。先ず最初に、背景カラーを1つのカラー値レジスタにロー
ドする必要がある。これは、図5に示されているような第1のRASサイクルを
必要とする。そのサイクルで背景カラーが一つのカラー値レジスタに置かれる。
次いで、第2のRASサイクルの降下区間で、行アドレスがアドレス・バス上に
供給され、フラッシュ書込み動作が開始する。この間、データ・バスは未使用の
ままである。フラッシュ書込み動作モードを示すため、制御信号の組合せが使わ
れる。行全体が影響を受けても列の選択が必要ないので、フラッシュ書込み動作
では、カラー・レジスタに記憶されたカラー値を指定された行のすべての画素に
書き込むRASサイクルに関する最小限の120ナノ秒だけを必要とする。
背景カラーが1行または複数行の画素に書き込まれた後、当該カラー値レジス
タにおけるカラーを前景カラーに変更するため第3のRASサイクルが必要であ
る。最後に、(アドレス・バス上で)書込みの行を選択するため、4番目のRA
Sサイクルが必要となる。前景カラーの書込みに関する列は、CASサイクルの
降下区間でアドレス・バス上に供給される。イネーブルされた画素を示す制御デ
ータが、ブロック書込み動作を示す制御信号とともに、同じCASサイクルの間
に、データとして供給される。従って、従来技術のフレーム・バッファと技法を
使用して、32個の4ビット前景画素を書き込む動作は、4回の全面的RASサ
イクルを必要とし、合計480ナノ秒の時間を要する。フラッシュ書込み動作を
提供して、ノーマルの書込みモードを使用して前景画素を書き込めば、2度目の
カラー・レジスタへのロードが必要ないので、時間は若干短い。
図10は、従来技術のフラッシュ書込み動作と同様であるが、本発明に従って
構築されるフレーム・バッファを使用して前景書込み動作が続けられるブロック
動作を示すタイミング図である。カラー・レジスタは前景と背景カラーが通常通
り常にロードされるので、これらのレジスタにロードすることは、この動作のた
めには通常必要とされない。本発明を使用するRASサイクルは、背景カラーで
書き込まれるべき該当する行を示すことを要求される。行アドレスと制御信号は
、RASサイクルの降下区間でラッチされる。背景カラーの書込みは、第1のC
ASサイクルの降下区間で、カラー・レジスタの1つのカラー値を使用して、ブ
ロック1024書込み動作によって、行全体の画素に対して実行される。第2の
CASサイクルの降下区間において、前景カラーで書き込まれるべきアドレス、
イネーブルされた画素を示す制御データ、および前景カラーで32個の画素のブ
ロック書込みを示す制御モード信号が供給され、前景書込みが完了する。理解さ
れるように、行アドレスは変わらないし、本発明におけるブロック・モードはた
だ1行にのみ影響を及ぼすので、余分なRASサイクルは必要でない。かくして
、動作全体で140ナノ秒だけを必要とし、これは、従来技術のフレーム・バッ
ファによる同等の動作が480ナノ秒を要するのと対照的である。
図11は、従来技術のフレーム・バッファを使用して実行される数多くの読取
り伝送動作を示すタイミング図である。図から分かるように、フレーム・バッフ
ァから1行の画素データを読む場合、データを出力シフト・レジスタに伝送する
ためにRASとCASの両サイクルを提供することが必要である。図示されてい
る伝送サイクルは、第2の一般化されたRASサイクルが続き、更に、他の動作
続けるために必要なCASサイクルが続く。従って、動作全体のため合計240
ナノ秒を必要とする。
図12は、本発明のフレーム・バッファと技法を使用して実行される数多くの
読取り伝送動作を示すタイミング図である。図から分かるように、読み取られて
いるフレーム・バッファのアレイの行を示すためにRASサイクルが必要である
。次に、特定の256個の画素部分の列が表示装置へ伝送されることを示すため
、それぞれ20ナノ秒の4つの個別のCASサイクルが続く。前述したように、
フレーム・バッファは、合計256個の8ビット画素を出力シフト・レジスタ8
0へ1度に伝送するため動作は4回の漸増部分で行われる。従って、1行の読み
取り/伝送サイクルは、180ナノ秒のみを必要とし、これは、従来技術のフレ
ーム・バッファを使用する読み取り/伝送サイクルが240ナノ秒を必要とする
ことと対比できる。読取り/伝送サイクルの直前の動作が、アレイの同じ行を含
むようなもので起きていれば、RASサイクルの必要は全くなく、1024個の
画素からなる1行全体に対する読取り/伝送を完遂する全体の時間は80ナノ秒
に減少される点に注意する必要がある。
図13は、本発明においてスクロールで使われるレジスタ・ラッチ読取りを提
供する動作を示すタイミング図である。上述の他の動作と同様であるが、これら
の読み取り動作は、本発明を使用して非常に速く実行される。従来技術のフレー
ム・バッファでは本発明の構成によって提供される高速のスクロールを可能にす
るラッチを含まなかったので、これらの動作は、従来技術のフレーム・バッファ
では必要とされなかった。ラッチを読む動作が行アドレスの指定を必要としない
ので、RASサイクルは必要でない。その代わりに、CASサイクルだけが、特
定のレジスタのアドレスと伝送されるべきデータの両方を伝送するために使われ
る。理解されるように、これは、実行するCASサイクルのわずか20ナノ秒の
みを必要とする。
本発明が、上述の種々の動作のすべてに使用されるRASサイクルの数を徹底
的に減少させている点に特に注意する必要がある。これらの動作を実行するため
に必要な時間を減少させることに加えて、RAS動作はCASサイクル以上に長
く、その動作のため非常に大きな処理能力を必要とする点に注意する必要がある
。このため、本発明は、従来技術によって活用されたフレーム・バッファと技法
に比較して大幅に処理能力を節約する機構を提供する。
図14は、本発明の方法の詳細を一般的に示す流れ図であって、フレーム・バ
ッファのアレイの特定の行へのアクセスの変更に関係のないフレーム・バッファ
の種々の動作が、行アクセス・ストローブ信号の必要性なしに実行されるステッ
プが示されている。
本発明が好ましい実施例の観点から以上記述されたとはいえ、本発明の思想と
範囲を逸脱することなく当業者が種々の修正と変更を行なうことが可能である点
は認められるであろう。従って、本発明は以下の請求の範囲について評価される
べきである。
─────────────────────────────────────────────────────
フロントページの続き
(72)発明者 プリーム,カーティス
アメリカ合衆国 94536 カリフォルニア
州・フレモント・ケタリング テラス・
4052
(72)発明者 マラコウスキー,クリス
アメリカ合衆国 95051 カリフォルニア
州・サンタクララ・スラッシュ ウェイ・
3775
(72)発明者 チャン,シェーン・チン
アメリカ合衆国 95120 カリフォルニア
州・サンホゼ・ティンバー ビュー コー
ト・6525
(72)発明者 ホー,ハイ・デュイ
アメリカ合衆国 95035 カリフォルニア
州・ミルピタス・ダニエル コート・1320