(57)【特許請求の範囲】
【請求項１】
システムのユーザからの入力を受け取る入力装置（22;26）と、
前記入力装置とインタフェースをとり、表示データを含む出力を生成する処理機能を実行することによって前記入力に応答する中央処理装置（CPU）（28）と、
前記CPUとインタフェースして前記CPUが使用するコマンド及びデータを記憶するメモリ素子（38）と、
前記CPUからの前記出力応答を受け取り、知覚できる出力応答を行なう出力装置（24）と、
前記出力装置は、前記表示データに対応してユーザに可視画像を提供する表示装置（14;24）を含んでおり、
前記プロセッサ、前記CPU及び前記出力装置とインタフェースをとるグラフィックスジェネレータ（GG）［ビットブロック転送エンジン（bit−BLT）］を含み、前記可視画像の部分を実現する追加の表示データを提供するビデオ表示コントローラ（VDC）（36）と、
前記VDCを介して前記CPUとインタフェースをとり、一時的に格納するために前記追加の表示データを含む前記表示データを受け取るダイナミックランダムアクセスメモリ（DRAM）（38）であって、前記DRAMは、前記CPU及び前記GGともインタフェースをとり、前記処理機能及び前記追加データの供給において使用されるコマンド及びデータを一時的に格納しており、
前記VDC（36）は、前記表示装置に今にも表示される前記追加の表示データを含む表示データを受け取り一時的に格納する前記DRAMとインタフェースをとる表示先入れ先出し（FIFO）メモリ（56）を含んでおり、前記表示FIFOは一定の容量を有していて前記DRAMからのデータの受け取りは断続的にしか行わないが、前記表示装置への前記データの供給は継続的に行うものであって、前記表示FIFOは前記表示FIFOのデータレベルがFIFOLOポインタより低くなっているか或いはポインタ（68）より低くなっているかによってDRAMへの優先度の低いアクセス要求（FIFOLO）又はDRAMへの優先度の高いアクセス要求（FIFOHI）を出し、前記CPU及び前記GGはそれぞれ個々に前記DRAMへのアクセス要求を出しており、後者の要求はbit−BLTであり、
前記VDCは、多段式優先順位になった前記DRAMへのアクセス優先順位に従って前記CPU、前記GG及び前記表示FIFOの間のDRAMへのアクセスを調停するシーケンサ・コントローラユニット（SEQC）（86）を含んでおり、前記多段式優先順位は、さらに優先度に基づいて各段の中で要求にランクを付け下段と前記下段より上の段とがあり、下段の要求は既存のDRAMアクセスがあればそれを中断することはできないが、前記下段より上の段の要求はその段の自分よりランクの低い要求又は下段の要求かのいずれかによって前記SEQCが認めたDRAMアクセスがあれば既存のアクセスを中断することができることを特徴とするシステム。
【請求項２】
請求項１に記載のシステムにおいて、前記SEQC（86）は、３段になった前記DRAMアクセス優先順位に従って、前記DRAM（38）へのアクセスを調停しており、上段の要求は、中断或いは下段の要求によって認められた既存のDRAMアクセスを中断することはできるが、上段の要求によって認められた既存のDRAMアクセスへの割り込みは許可されないものであり、中断の要求は、上段の要求に基づくアクセスに割り込むことは許可されないものであって、またDRAMアクセスへの割り込みが許可されるのはその段の自分よりランクの低い中断の要求か又は下段の要求に応じて認められたアクセスに対してだけであり、下段の要求は、他のDRAMアクセスへの割り込みは一切認められないものであって、またDRAMアクセスの個々のキューに入れられることを特徴とするシステム。
【請求項３】
請求項２に記載のシステムにおいて、前記上段には同等の要求を複数含むランクがあることを特徴とするシステム。
【請求項４】
請求項３に記載のシステムにおいて、前記VDCはそれぞれが個々の表示装置に表示データを供給する複数の表示FIFOを含んでおり、前記上段の前記同等の要求は前記複数の表示FIFOの特定の一個に、それぞれ一致するFIFOHI要求であることを特徴とするシステム。
【請求項５】
請求項４に記載のシステムにおいて、前記下段にも同等の要求を複数含むランクがあることを特徴とするシステム。
【請求項６】
請求項５に記載のシステムにおいて、前記下段の前記同等の要求は前記複数の表示FIFOの特定の一個に、それぞれ一致するFIFOLO要求であることを特徴とするシステム。
【請求項７】
請求項１に記載のシステムにおいて、マウスイメージジェネレータ（80）を一つ以上と、DRAMリフレッシュクロック（70）と、前記表示装置用のフレームリフレッシュハーフフレームバッファ（72）とをさらに含み、前記マウスイメージジェネレータ、前記DRAMリフレッシュクロック及び前記フレームフレッシュハーフフレームバッファは、前記DRAMへのアクセスを求めてそれぞれ個別に要求（最初の２つはマウス（MOUSE）、リフレッシュDRAM（REFRESHDRAM））を出すものであり、前記フレームリフレッシュハーフフレームバッファは、優先度の高いFRAMEHI要求及び優先度の低いFRAMELO要求を出すものであることを特徴とするシステム。
【請求項８】
請求項７に記載のシステムにおいて、前記多段式優先順位は、前記下段内における優先順位列に前記下段にFIFOLO、FRAMELO、そしてbit−BLTの要求を含むことを特徴とするシステム。
【請求項９】
請求項７に記載のシステムにおいて、前記多段式優先順位は、前記下段より上の前記段における優先順位列に、前記下段より上の前記段にマウス（MOUSE）、FIFOHI、FRAMEHI、リフレッシュDRAM（REFRESHDRAM）、そしてCPUの要求を含むことを特徴とするシステム。
【請求項１０】
請求項１に記載のシステムにおいて、前記VDC（36）の前記SEQC（86）は、前記多段式優先順位に従って、前記CPU（28）、前記GG、及び前記表示FIFO（56）の間の前記DRAMアクセスを調停する優先論理ユニットと、前記表示装置の可変の動作モード及び前記DRAMから前記表示FIFOにデータが書き込まれるであろう速度に基づいて、前記表示FIFOのFIFOLO及びFIFOHIの両ポインタを可変配置する手段と、前記DRAMから前記表示FIFOに書き込まれるデータレベルがＮ番目のレベルになる度にカウントし、それに応じて「Ｎ番目カウント」信号を供給する手段とを有しており、「Ｎ」は選択された整数倍のデータレベルを表しており、前記表示FIFOの状態表示手段を含んでおり、前記状態表示手段は前記表示FIFOに状態を問い合わせ、前記表示FIFOのデータレベルがそれぞれのポインタより上ならば、前記「Ｎ番目カウント」信号によって保留中のFIFOLO及びFIFOHI要求をクリアすることを特徴とするシステム。
【請求項１１】
請求項10に記載のシステムにおいて、前記VDCは、前記DRAMから前記表示FIFOにデータを書き込む際に使用されるアドレスを生成するアドレスジェネレータを含み、前記DRAMから前記表示FIFOに書き込まれるデータレベルがＮ番目のレベルになる毎にカウントする前記手段は、前記生成されたアドレスをモニタするレベルカウンタを備え、前記表示FIFOにデータを書き込む際に用いるために生成されるアドレスがＮ番目のレベルになると、前記「Ｎ番目カウント」信号を出すものとなっていることを特徴とするシステム。
【請求項１２】
中央処理装置（CPU）（28）と、ダイナミックランダムアクセスメモリ（DRAM）（38）と、前記DRAMからのデータに応じて可視画像を実現する表示装置（14;24）と、前記DRAMから前記表示装置へのデータの経路を決定する表示先入れ先出し方式（FIFO）メモリ（56）と、前記表示FIFOのデータレベルによって優先度の低い（FIFOLO）表示データと優先度の高い（FIFOHI）表示データを受け取るために、前記表示FIFOの前記DRAMへのアクセスを要求する手段と、システムの他の装置の前記DRAMへのアクセスを要求する手段とを有するシステムであって、各段の中で要求の優先順位を決める多段式優先論理に従って、前記DRAMへのアクセス要求を調停するDRAMコントローラ・シーケンサ（SEQC）（86）を含んでおり、前記システムは、前記表示装置の可変動作モード及び前記DRAMから前記表示装置にデータが書き込まれるであろう速度に基づいて、前記表示FIFOのFIFOLO及びFIFOHIの可変ポインタを共に設定する手段と、前記DRAMから前記表示FIFOに書き込まれるデータレベルがＮ番目のレベルになる度にカウントし、それに応じて「Ｎ番目カウント」信号を出す手段とをさらに有し、「Ｎ」は選択された整数倍のデータレベルを表しており、前記表示FIFOの状態表示手段を含んでおり、前記状態表示手段は前記表示装置の状態を問い合わせ、前記表示FIFOのデータレベルがそれぞれのポインタより上ならば、前記「Ｎ番目カウント」信号によって保留中のFIFOLO及びFIFOHI要求をクリアすることを特徴とするシステム。
【請求項１３】
請求項12に記載のシステムにおいて、ユーザ入力を受け取りそれに応じて前記DRAMへのアクセスを求めるマウス（MOUSE）要求を出すマウスイメージジェネレータと、前記DRAMへのアクセスを求めるリフレッシュDRAM（REFRESH DRAM）要求を出すDRAMリフレッシュクロックと、優先度の高いFRAMEHIリフレッシュ要求及び優先度の低いFRAMELOリフレッシュ要求を出す前記表示装置用のフレームリフレッシュハーフフレームバッファと、前記DRAMへのアクセスを求める要求（bit−BLT）を出すと共に前記プロセッサ及び前記出力装置とインタフェースをとり前記可視画像の部分を実現する追加の表示データを供給するグラフィックスジェネレータ（GG）とをさらに含むことを特徴とするシステム。
【請求項１４】
請求項13に記載のシステムにおいて、前記多段式優先順位は、前記下段内における優先順位列に前記下段にFIFOLO、FRAMELO、そしてbit−BLTの要求を含むことを特徴とするシステム。
【請求項１５】
請求項14に記載のシステムにおいて、前記多段式優先順位は、前記下段より上の前記段における優先順位列に前記下段より上の前記段にマウス（MOUSE）、FIFOHI、FRAMEHI、リフレッシュDRAM（REFRESHDRAM）、そしてCPUの要求を含むことを特徴とするシステム。
【請求項１６】
中央処理装置（CPU）と、ダイナミックランダムアクセスメモリ（DRAM）と、前記DRAMからのデータに対応する可視画像を実現する表示装置と、前記DRAMから前記表示装置への経路を決定する表示先入れ先出し方式メモリ（FIFO）と、前記表示FIFOのデータレベルによって優先度の低い（FIFOLO）表示データ及び優先度の高い（FIFOHI）表示データを受け取るために表示FIFOの前記DRAMへのアクセスを要求する手段と、システムの他の装置の前記DRAMへのアクセスを要求する手段と、各段の中で要求の優先順位を決める多段式優先論理に従って前記DRAMへのアクセス要求を調停するDRAMコントローラ・シーケンサ（SEQC）とを含んでおり、それにより、高い優先度の段のDRAMへのアクセスは、前記SEQCによってアクセスが認められた低い優先度の段のDRAMへのアクセスを中断することができるが、低い優先度の段のDRAMへのアクセスは、前記SEQCによってアクセスが認められた高い優先度の段のDRAMへのアクセスを中断することができないものであることを特徴とするシステムを動作させる方法。
【発明の詳細な説明】
技術分野
本願発明は、一般的には例えば陰極線管（CRT）又は液晶ディスプレイ（LCD）など少なくとも一つの表示装置を有するコンピュータシステムに関する。表示装置によってコンピュータシステムのユーザはテキストやグラフィックスといったコンピュータデータの表示を見ることができる。より具体的には、本願発明はグラフィックスジェネレータを有するコンピュータシステムの分野に入り、そうしたコンピュータシステムのビデオ表示コントローラ（VDC）である。バスインタフェースを介して、VDCはプロセッサで生成された或いはコンピュータシステムの他の機構（CD−ROMなど）からCPUによって検索されたテキスト又はグラフィックスなど画像情報を受け取り、CRTかLCDのどちらか一方或いは両方の表示装置を駆動する信号を供給する。
さらに具体的には、本願発明はダイナミックランダムアクセスメモリ（DRAM）のシーケンサ・コントローラ（SEQC）を有するVDCの分野に入る。CRTやLCDに表示される画像情報は先入れ先出し式（FIFO）のビデオメモリに転送されるためにDRAMに格納される。FIFO、CPUだけでなく、ビットブロック転送エンジン（bit−BLT）（即ち、グラフィックスジェネレータ）などコンピュータシステムの他の装置もDRAMへのアクセスを要求する。SEQCはコンピュータシステムの様々な装置からのDRAMアクセスを求める要求を調停し、アクセスを求める要求に優先順位を付けて表示FIFOが表示データを拒否されることのないようにすると共にコンピュータシステムの他の装置が最も効率よくDRAMにアクセスできるようにする。
関連出願の引照
本願の内容は次の各米国特許出願に開示されている内容に関連している。米国出願番号08/486,796、発明の名称「Computer System with Double Simultaneous Display Showing Differing Display Images」、出願番号08/485,876、発明の名称「DRAMアクセスを求める要求の発行並びに取り消しを行なうメカニズムを備える表示FIFOモジュール」、出願番号08/487,120、発明の名称「Computer System with Dual−Panel LCD Color Display」、そして出願番号08/487,121、発明の名称「Computer System with Video Display Controller having Power Saving Modes」で、これらの出願日は全て1997年６月７日である。
背景技術
伝統的なバス調停回路は1984年６月５日付けでラルフL.アドコック（Ralph L.Adcock）に付与された米国特許番号4,453,214（これ以降、'214特許と称する）によってよく知られている。'214特許では、バスアービトレータ・メモリマネージャ（BAMM）がコンピュータシステムの競合するオペレーティングユニット間の優先順位を決定する。BAMMは優先順位に基づいてメモリへのアクセス要求をソートし、最優先のアクセス権を有する装置に対して他の装置よりも先に許可する。一旦或る装置にメモリへのアクセスが許可されたら、'214特許のBAMMは別の装置から優先度の高いアクセス要求を受け取ってもこのアクセスへの割り込みは許可されない。メモリアクセスした装置がこのアクセスを終えると、「サインオフ」信号を出し、それによってBAMMはアクセスを求めている優先度の最も高い装置に対してメモリアクセスを許可する。
‘214特許で開示されたタイプのBAMMを用いると、表示情報がFIFOからほとんど或いは完全に空になる時点でコンピュータシステムの表示FIFOはDRAMへのアクセスを拒否されることが考えられる。従って、コンピュータシステムのディスプレイの動作の継続性が中断されることになる。このような表示の中断はコンピュータシステムのユーザにとって不安材料になると共に紛らわしいことであろう。
グラフィックスコントローラ・DRAMコントローラを有する別の伝統的なグラフィックスシステムは1991年２月５日にジャン・ミッシェル  カレミン（Jean−Michel Callemyn）に付与された米国特許番号4,991,112（これ以降、'112特許と称する）によってよく知られている。'112特許では、DRAMコントローラはリフレッシュ要求及びDRAMへのアクセスを求める要求をバーストで受け取り、それらの要求間の調製を行なう。準備段階の読み取りの後表示の段階では、表示FIFOに最優先権が与えられる。バーストでのDRAMの読み取りはFIFOが一杯になると中断されることがある。この場合、考えられる準備段階の読み取りが優先される。準備段階の読み取り要求がない場合には、CPUからの要求が尊重されCPUのDRAMアクセス要求が実行される。しかし、FIFOがアクセスを要求すると直ちにCPUのアクセスは中断され、中断されたバーストでのFIFOのための読み取りが再開される。行変えの段階で、DRAMへのアクセスの異なる優先順位が設定される。即ち、DRAMリフレッシュが最優先され、続いて表示FIFOを満たすことがその次になる。優先順位の３番目はグラフィックスプロセッサからの要求で、その次がCPUからの要求である。しかしながら、上記の割り込みを除くと、'112特許ではこのアクセスが一旦許可されたらDRAMへのアクセスを中断することはできないように思われる。さらに、'112特許で可能な割り込みはFIFOがフルだからFIFOのデータが新しいデータで上書きされるのを防ぐのに必要な固有の割り込みである。
バス調停スキームを有するまた別の伝統的なDRAMリフレッシュコントローラは1994年９月６日付けでツォヤオ  チャン（Tzoyao Chan）及びミルトン  チェン（Milton Cheung）に付与された米国特許番号5,345,577（これ以降、'577特許）によってよく知られている。'577特許は、キャッシュコントローラにバーストモード並びに隠れリフレッシュモードがある。メモリアクセスを許可することによって一定の要求数を受け取るまでリフレッシュ要求はカウントされるが実行はされない。一方、隠れリフレッシュが実行される時にはリフレッシュが行われる間ホールド信号はCPUに送られない。リフレッシュが完了するまで、ローカルメモリのアクセスは許可されるがリモートメモリのアクセスは許可されない。従って、隠れリフレッシュ期間CPUはメモリアクセスを拒否されるけれども、いずれにしてもCPUは直ちにメモリにアクセスする必要はないので隠れリフレッシュによってCPUの動作が干渉されることにはならない。一旦許可されたメモリアクセスの割り込みはこの特許の特徴のようには思われない。
一般的に考えて、上に概して述べたVDCのようなグラフィックスコントローラにおいて、システムの幾つかの装置間でDRAMインタフェース（アクセス）の調停を行なうことがコントローラの最も重要な部分である。DRAMへのアクセスによってbit−BLTエンジン、表示FIFO、ローカルバス（つまりCPU）といった装置がいつ、どのようにDRAMにアクセスできるかが決まる。CPU及びbit−BLTエンジンからのアクセス要求は互いにとって排他的で、同時に発生することはない。普通、或る装置のDRAMアクセスが中止され別の装置のアクセスが許可される時には必ずDRAMの新しいページがアクセスされなければならない。即ち、DRAMは記憶場所の２次元配列と考えることができる。このメモリは、行ポインタ及び列ポインタを有する記憶場所（或いはメモリセル）の行と列を利用する。メモリアクセスがメモリの一行にだけ行われ、その行のアドレスロケーションとの間でデータの書き込み又は読み取りが行われるのに伴い列ポインタが行に沿ってのみ移動する限り、メモリへの１ページだけのアクセスが実行されるのでページブレークは不要である。しかしながら、メモリの別の行（即ち、別のページ）がアクセスされなければならない場合、記憶場所の次の行をアクセスするのに備えてプリチャージ・シーケンスが実行されなければならない。このプリチャージ・シーケンスは時間がかかるので、そうしたメモリアクセスの時間間隔中にメモリとの間で書き込み又は読み取りが行われるデータ量の点から言えばメモリの複数ページアクセスは単一ページアクセスと比べてはるかに効率が悪い。
従って、ランダムアクセスには数多くのページブレークが伴うから、DRAMへのランダムアクセスよりページモードアクセスの方が時間活用の点ではるかに効率がいい。DRAMがページモードを維持していない場合に、DRAMの別のページにアクセスできるようにするにはメモリセルとの間で行われるデータの書き込み又は読み取りに必要な時間間隔とは別にさらに一回以上の準備段階のプリチャージサイクルを実行しなければならない。bit−BLTに対してDRAMへのアクセスが許可されると、これらのアクセスは普通複数ページのアクセスでかなりの時間を消費することになるが、このアクセス要求は直ちにDRAMアクセスの許可を必要とする要求ではない。一方、CPU（ローカルバス）のDRAMアクセスは普通単一ページのアクセスで、bit−BLTアクセスに比べて所要時間がかなり短く、要求の結果直ちにアクセスが実行されなければならない要求ではない。しかしながら、CPUがDRAMアクセスを待たされると、システムのスループットが低下するので、コンピュータシステムのWINMARKS（業界基準性能のベンチマーク）も低下する。
さらに、グラフィックスコントローラの表示FIFOはDRAMアクセスも要求するが、一定速度で底の方から水（データ）が流れ出るが補給は上からたまにしか行われない貯水タンクを想像すればいいだろう。表示FIFOは表示装置（例えば、CRTやLCD）に送られる画像情報を格納する。データが表示FIFOから流れ出る速度は表示装置のモードによって異なる。表示装置が画素毎に４ビットを要するグレースケールモードで動作していれば、表示FIFOから高速では流れ出ない。一方、ユーザが表示装置をカラーモードで動作されていれば、表示装置は画素毎に８ビット、16ビット或いはもしかして16ビット以上の情報を必要とするかもしれない。そうした場合には表示FIFOからそれ相当に高速で流れ出る。
データ補給時、表示FIFOは流れ出る速度よりはるかに速い速度で補給される。しかしながら、補給は、DRAMアクセスを必要とする他のアクティビティを許可できるように断続的に行われ中断されることがある。さらに、FIFOの補給時、完全なダブルワードからなるデータがDRAMから入力されなければならないことを理解していなければならない。特定の時点で表示FIFOの上部に入力中の最後の完全なダブルワードからなるデータを全て受け入れるだけの余地がない場合、既存データの中に上書きされて消されてしまうものがでてくる。伝統的に、表示FIFOの上部に表示装置に送られるために待機中の既存のデータを上書きすることなく少なくとも１個のダブルワードからなる新しいデータを入れる場所ができるとすぐに表示FIFOはDRAMコントローラに対してFIFOLO要求（優先度の低いDRAMアクセス要求）を出す。
従って、FIFOLO要求によって複数のDRAMへのアクセスが表示FIFOに許可されることがある。FIFOが一杯になるまでこの許可はクリアされない。FIFOLO要求によって表示FIFOが十分に補給されない場合には、表示FIFOが表示装置にその最後のダブルワードからなるデータを書き込み始めるとすぐにDRAMアクセスを求めるFIFOHI要求が出される。このFIFOHI要求に対してアクセスが直ちに許可される。ここでも、FIFOが完全に一杯になるまでFIFOHI要求はクリアされない。従って、伝統的なDRAMコントローラは、FIFOHI要求が出された後でFIFOLOとFIFOHIを同時にクリアする。ここでも、伝統的にはDRAMアクセスを求めるこれらの要求はFIFOが新しいデータで完全に一杯になるまでクリアされない。
図１のライン１は、表示FIFOとbit−BLTエンジンの間で交互に行なわれるVDCのDRAMアクセスの理想のシーケンスを表すタイミング図である。この図のライン２は、表示FIFOとCPUによるDRAMへのアクセスの理想のシーケンスを表す。これらの理想のタイミング図から、bit−BLTとCPUのいずれもDRAMアクセスを求めて待機する必要はなく、DRAMにはアイドル時間がなく、さらには複数ページのアクセスが実行できるようにbit−BLTに対するアクセス許可の時間が長いことが分かる。伝統的なコンピュータシステムのグラフィックスコントローラはDRAMアクセスをそのように理想的な形では管理できない。
さらに、実際のコンピュータシステムのグラフィックスコントローラ（つまりVDC）において、DRAMへのアクセス要求の順序付け並びに実際に許可されたDRAMアクセスは理想の形にはなっていない。従って、仮説の図２（先行技術としている）に示すのは実際の伝統的なコンピュータシステムのグラフィックスコントローラにおいてこうであろうと考えるタイミング図である。図２において、このグラフの３本のタイムラインのうちの一番目はDRAMアクセスを求めるCPUからの要求を表す。その次の２本は表示FIFOからのアクセス要求を表し、最初は優先度の低い要求（FIFOLO）で、これは既存のデータを上書きすることなく少なくとも１個のダブルワードからなる新しい情報をFIFOに書き込める程度に表示FIFOから表示情報がなくなっていることを示す。２番目は優先度の高い要求（FIFOHI）で、表示FIFOは最後のダブルワードからなる情報を使用しているので表示装置（例えば、CRTやLCD）がユーザに提供する情報を使い尽くしてしまう恐れがあることを示す。これらのFIFOLO及びFIFOHIの要求は表示FIFOにDRAMアクセスが認められFIFOがデータで一杯になるまでクリア（即ち、取り消し或いは中止）されない。この伝統的なグラフィックスコントローラにおいては、コンピュータシステムのCPUや他の装置に対して既に許可されているアクセスを中断してでも、表示FIFOの要求に対してDRAMアクセスが最優先で許可される。
図２において、期間１で、CPUにDRAMアクセスが許可されサインオフされる。期間２で、DRAMはアイドルである。期間３の始まりでは表示FIFOは空で表示グラフィックスの処理が開始されるの、FIFOLO及びFIFOHI要求が同時に出される。FIFOHI要求が許可されるが、これらの要求（FIFOLO及びFIFOHI）は表示FIFOがデータが完全に一杯になるまでクリアされない。その結果、期間４の始まりではCPUからのDRAMアクセス要求はFIFOHIの要求がクリアされるまで許可されない。期間４はCPUの待機時間である。期間４の終わりでFIFOLO及びFIFOHIが共にクリアされ、期間５の始まりでCPUに対してやっとDRAMアクセスが許可される。期間９で、表示FIFOからDRAMアクセスを求めてFIFOLO要求が出される。FIFOLO要求によって表示FIFOに供給されたデータでは十分でない（例えば、bit−BLTエンジンなど別の装置がDRAMアクセスを実行している最中かもしれないのでFIFOLO要求は十分には許可されない）ので、表示FIFOは期間10の始まりにFIFOHI要求を出す。このFIFOHI要求は期間10に直ちに認められる。しかしながら、CPUに対してDRAMアクセスが拒否される期間（期間10）がさらに生じる。期間10の終わりにFIFOLO及びFIFOHIの要求が共に同時にクリアされるので、CPUに対してDRAMアクセスが許可される。
さらに、図２から、伝統的な調停スキームではDRAMがアイドルになることがあり（期間２、６、８）、またCPUか表示FIFOかのどちらかがDRAMへのアクセスを求めて待機させられることになる（期間４、９、10）ことが分かる。一旦FIFOHI要求が出されると、表示FIFOが十分にデータを受け取り表示装置がすぐにデータ切れになる危険性はなくなっていても、CPUにDRAMアクセスが認められるようになる前にCPUは表示FIFOが完全に一杯になるまで待たなければならない。この伝統的なグラフィックスコントローラはDRAMのページモードを維持できないし、コンピュータシステムのスループットレートを低下させる。
従って、グラフィックスコントローラのDRAMへのアクセスを調停するもっと効率的且つ有効な方法の必要性が前から認識されてきている。
発明の開示
伝統的な技術の欠点に鑑み、本願発明の目的は一つ以上のこうした欠点が起きないようにするグラフィックスコントローラを有するコンピュータシステムを提供することである。
本願発明のもう一つの目的は、テキストやグラフィックスなど画像情報を受け取り表示装置を駆動する信号を供するビデオ表示コントローラ（VDC）を有するそうしたコンピュータシステムを提供することである。
より具体的には、本願発明は、CPU、先入れ先出し式（FIFO）のビデオメモリ、bit−BLTエンジン、コンピュータシステムの他の装置の間のVDCのダイナミックランダムアクセスメモリ（DRAM）へのアクセスを調停するシーケンサ・コントローラ（SEQC）を有するVDCの実現を目的としている。
従って、本願発明はVDCのDRAMへのアクセスを求める要求間で２段になった優先順位付けを実現するシーケンサ・コントローラ（SEQC）を有するグラフィックスコントローラ（即ち。ビデオ表示コントローラ）を備えたコンピュータシステムを実現する。上段の各要求は自分より優先度の低いDRAMアクセスに対しては割り込みを実行できるが、下段の要求はそうした割り込みを実行することはできない。中断されたアクセス及びDRAMへのアクセスを求めて待機中の要求は２段になった優先システムの優先順位に従ってキューに入れられる。その結果、コンピュータシステムの他の装置によるDRAMアクセス割り込みを許可したり拒否したりすることと共に、DRAMへのアクセスを求めるコンピュータシステムの様々な装置からの要求に割り当てられた優先順位とロジックによってもっと有効にDRAMアクセスができるようになる。或る動作状況においては、比較的に時間のかかる複数ページアクセスを要求するDRAMへのアクセスをこのように実現し、また別の状況においては、アクセスがもっと短時間になり必ずDRAMに対する優先要求がタイムリーに実現されるようになる。即ち、例えば優先度の高い表示FIFOからのアクセス要求及びマウスイメージを描く要求は常に直ちにDRAMへのアクセスが認められる。表示アクセス要求及びマウスイメージ要求は決して同時に発生することはない。
別の態様で、本願発明は、コンピュータシステムのユーザからの入力を受け取る入力装置及び、その入力装置とインタフェースをとり表示データを含む出力を生む処理機能を実行することによって出力に対応する中央処理装置（CPU）、CPUとインタフェースしてCPUが用いるコマンドやデータを記憶するメモリ素子、CPUから出力応答を受け取り知覚できる出力応答を行なう出力装置、プロセッサ及び出力装置とインタフェースをとり可視画像部分を実現する追加の表示データを供給するグラフィックスジェネレータ（GG）を含むビデオ表示コントローラ（VDC）、VDCを介してCPUとインタフェースをとり一時的に格納するための追加の表示データを含む表示データを受け取るダイナミックランダムアクセスメモリ（DRAM）、さらにDRAMへのアクセスを求める多段になった優先順位に基づいてCPU、GG、表示FIFOの３者間のDRAMアクセスを調停するシーケンサ・コントローラ装置（SEQC）を具備するコンピュータシステムを提供する。このコンピュータシステムにおいて、上述の出力装置は表示データに基づきユーザに可視画像を提供する表示装置を含み、DRAMはCPU及びGGともインタフェースし処理機能及び追加データの供給の際に用いられるデータを一時的に格納する。さらに、VDCは表示装置にすぐ表示されるべき追加の表示データを含む表示データを受け取り一時保留するためにDRAMとインタフェースした表示先入れ先出し方式（FIFO）メモリを含む。この表示FIFOは一定の容量を有し絶えずデータを表示装置に供給するがDRAMからのデータの受け取りは断続的にしか行われない。表示FIFOは表示FIFO内のデータレベルがFIFOLOポインタ以下か或いはFIFOHIポインタ以下かによってそれぞれ優先度の低いDRAMへのアクセス要求（FIFOLO）か或いは優先度の高いDRAMアクセス要求かを出す。CPU及びGGもそれぞれDRAMアクセスを求める要求を出す。さらに、上述の多段構造の優先順位付けは優先順位に従ってさらに各段の中で要求毎にランクを付け、下段とそれより上の段とがある。下段の要求に対しては既存のDRAMアクセスがあれば割り込みは認められない。下段より上の段の要求に対しては、その段でもランクのもっと低い要求か又は下段の要求かのどちらかに応じてSEQCが許可したDRAMアクセスが既に存在していても割り込みが認められる。
本願発明の更なる目的や利点は、添付の図面と共に以下に述べる本願の具体的な好適な実施例の詳細な説明を読むと明らかであろう。図面の類似の参照番号は同じ特徴、つまり構造上或いは機能上類似した特徴を示す。
【図面の簡単な説明】
図１は、ビットブロック転送（bit−BLT）エンジン及び中央処理装置（CPU）のダイナミックランダムアクセスメモリへの理想のアクセスを表した図である。
図２は、伝統的なグラフィックスコントローラを用いる先行技術のコンピュータシステムにおいて考えられる仮説のタイミング図である。
図３は、第１の画像を表示するLCD表示装置を有するノートブック型コンピュータ及び異なる第２の画像を表示するコンピュータシステム10で表示装置として使用するテレビを含むコンピュータシステムを図解したものである。
図４は、図１に示したコンピュータシステムの機能ブロックの概略図である。
図５は、先の図面に示したコンピュータシステムのビデオ表示コントローラ（VDC）の機能ブロックの概略図である。
図６は、先の図面に示したコンピュータシステムの先入れ先出し方式の表示メモリを表した図である。
図７は、本願によるコンピュータシステムのシーセンサ・コントローラ（SEQC）の機能ブロックの概略図である。
図８は、本願によるコンピュータシステムのDRAMへのアクセスを許可するために実施される２段式で優先順に並んだ調停スキームを表にしたものである。
図９は、DRAMへのアクセスを調停する際に本願のSEQCによって実施される２つの同時走行フローチャートである。
図10は、本願によるコンピュータシステムの別の実施例のDRAMへのアクセスを許可するために実施される３段式で優先順に並んだ調停スキームを表にしたものである。
図11及び12は、本願によるコンピュータシステムのSEQCによって実行されるDRAMへのアクセスの調停結果を示すタイミング図である。
発明を実施するための最良の形態
図３において、コンピュータシステム10はノートブックコンピュータ10及びケーブル16を介してノートブックコンピュータとインタフェースしたもう一つの表示装置14を含んでいる。そのもう一つの表示装置14は伝統的なテレビとして描かれている。当業者なら、テレビはNTSCフォーマットの信号を受け入れインタレースの画像を表示することが分かるだろう。代わって、コンピュータシステム10はRGB信号を用い非インタレースの画像を実現する伝統的なCRTモニタとインタフェースをとるようになっていてもいい。ノートブックコンピュータにはキーボード18、フロッピーディスクドライブ20、トラックボール22など様々な入力装置が備わっている。当業者なら、トラックボールは本質的に固定式マウス入力装置であることが分かるだろう。コンピュータシステム10はハードディスクドライブ、CD−ROM、シリアル入出力（I/O）ポートなど更なる入力装置を含んでいてもいい。これらの装置の幾つかは液晶表示装置24とは別にさらにコンピュータシステム10の出力装置としての機能を果たすことができる。以下に説明するように、表示装置24はデュアルパネル型であるとする。ノートブックコンピュータは多重タスクのオペレーションを実行するために用いられている。例えば、ノートブックコンピュータ12を用いて財政分析、LCD24に表示されるデータ、CRT14に表示されるグラフの作成を実行することができる。
図４はコンピュータシステム10の概略ブロック図で、入力装置は全て代表的ブロック26に包摂される。入力システムはマイクロプロセッサ28とインタフェースをとり、マイクロプロセッサはメモリ機能30ともインタフェースしている。メモリ機能30はフロッピーディスクドライブ20を含み、さらにハードディスクドライブ、CD−ROM、その他の装置を含んでいてもいい。データバス32はマイクロプロセッサ28とインタフェースし、LCD及びCRT画像表示装置14及び24などの出力装置とのインタフェースを可能にする。コンピュータシステム10の他の出力装置は代表的ブロック34に包摂される。画像表示装置14及び24とインタフェースし易くするために、コンピュータシステム10はバス32とインタフェースしLCD24及びCRT14の駆動信号を供給するビデオ表示コントローラ（VDC）36を含む。VDCは図４にブロック38で表されたダイナミックランダムアクセスメモリ（DRAM）とインタフェースをとる。また、VDCはコンピュータシステム10の電源管理機能40ともインタフェースしている。専用クロック42がVDC36に基準クロックレートを供給する。
次に図５を見ると、VDC36は専用クロック42からのクロック信号を基準にした内部クロック44を含み、VDCのビデオ部46にクロック信号を供給することが分かる。内部クロック44から供給されるクロック信号には画素クロック（Pclk）とメモリクロック（Mclk）とがある。どちらを使用するかについては後で説明する。ビデオ部46をバス32とインタフェースさせ、それによってマイクロプロセッサとインタフェースさせるため、ビデオ部46はプログラマブルホストインタフェース48を含む。ホストインタフェース48はプログラマブルで、VDC36を数多くの伝統的なバス構成とインタフェースがとれる構成にすることができる。例えば、ホストインタフェース48はVL−Busを用いて、さらにPCIインタフェースバスを用いて伝統的なIntel486DXローカルバスとインタフェースがとれるように構成することができる。ホストインタフェース48はバス32をVDC36のVGAのコア部分50とインタフェースさせる。以下に説明するが、このVGAコア50はシーケンサ、陰極線管コントローラ（CRTC）、グラフィックスコントローラ、属性コントローラ、伝統的VGA回路を含む。
VGAコア50がテキサス、グラフィックスやCRTやLCDに表示される他のビジュアルキャラクタ（例えば、カーソルやアイコンなど）を生成すると共に制御できるように、VGAコアはハードウェアカーソル生成器52、bit−BLTエンジン54、表示FIFO56とインタフェースしている。さらに別に２個の表示FIFO56'及び56"もVGAコア50とインタフェースしている。単一の表示装置（LCD又はCRTのどちらか）だけをサポートするVDC36の別の実施例は表示FIFOを１個だけ備える。これについては以下に説明する。２個の表示装置（LCD1個とCRT1個）をサポートするまた別の実施例は表示FIFO56'と56"の２個の表示FIFOを有する。当然、この実施例はLCD又はCRTタイプの表示装置１個だけでもサポートする。以下に説明する通り、表示FIFO56と追加の表示FIFO56'、56"を含む実施例を使用して図３において説明した標準型テレビを第２の表示装置として用いるコンピュータシステムのデュアル表示動作をサポートしている。
インタレースの画像を実現する表示装置を用いて非インタレースの画像を表示すると、普通フリッカをたくさん含んだ画像になる。しかしながら、コンピュータシステム50（VDC36）は２個の表示FIFO56'、56"をさらに具備しているので、それを用いて非インタレースの画像を一行置きに格納し、その一行置きの画像をテレビに順次供給してフリッカのないインタレース画像として表示する。従って、本書でこれ以降に表示FIFO56と称する際には表示FIFO56'、56"も含まれる。以下にさらに説明するが、表示FIFOを１個だけしか有しない本願発明の別の実施例ではDRAM38へのアクセスを許可するかどうかを判断する際簡約された決定スキームを実施する。
ハードウェアカーソル生成器52はマイクロプロセッサ28で走行するソフトウェアプログラムで実現されるカーソルの一定の予め選択された移動速度を検出することによって選択的にカーソルを大きくし（例えば、通常の２倍の大きさ）、それによって表示装置の画面を移動するカーソルが視覚的に追い易くなる。従って、コンピュータシステム10のユーザがマウスやキーボードを用いてプログラムのカーソルを移動させる場合、移動速度が予め選択されたしきい値に達したら、カーソルが２倍かそれ以上になる。先に説明した通り、bit−BLTエンジンによって、グラフィックスや他のビジュアルキャラクタをCRT及びLCDの画面14、24に供給するために生成されるビットのブロック転送ができるようになる。
より具体的には、bit−BLTエンジンは、読み取り、書き込み、こうしたキャラクタを表すビットのブロック転送、ソリッドフィル、宛先反転、パターンフィルを実行する。bit−BLTはモノクロ画像の書き込みを加速するテキスト展開の他、全てのデータの位置合わせを実行すると共にブロック転送されたキャラクタの境界でのマスキングを実行する。先に説明したように、表示FIFOはダブルワードの大きさの単位又はレベルの整数倍で情報ビットを格納し、表示装置14及び24の画素へのこれらのビットの書き込みを待つ。表示FIFO56は８ステージのFIFOで、CRT14及びLCD24に送る表示情報を32ビットのダブルワードで８個格納するのが好ましい。
ハードウェアカーソル生成器52、bit−BLT54、表示FIFO56はDRAMコントローラ58ともインタフェースしている。このDRAMコントローラ58は、以下に説明するように、上に一般的な言葉で説明したDRAMコントローラ・シーケンサの機能を果たし、VDC36の他の部分を含みコンピュータシステム10の様々な機能ユニットからのDRAMアクセス要求を調停すると共に実行する。図５から分かるように、DRAMコントローラ50はDRAM38とインタフェースをとっている。図を簡略化するために、図５ではDRAM38を単一の機能ブロックとして描いている。しかしながら、当業者ならこのDRAMは１個以上のDRAMチップで構成されていることが分かるだろう。表示FIFO56はパレットコントローラ60及び液晶表示装置（LCD）インタフェースコントローラ62と（VGAコントローラ50及びDRAMコントローラ58を介して）インタフェースをとっている。パレットコントローラは標準の256X18VGAパレットを実現し、一方LCDインタフェースコントローラはモノクロモードオペレーションで64シェードのグレーのフレーム変調及びディザリングをそしてカラーモードオペレーションで4Kカラーを全256K色のディザリングで実行する。
図４に示した構造を漏れなく説明するために、VDC36にはパワーダウンコントローラ64が具備されていることを記しておく。このパワーダウンコントローラはパワーダウンレジスタ65と相互接続するようになっており、パワーダウンレジスタ自体VDC36内部に汎用インターコネクションがある。図５にレジスタ65から出る複数の矢印でパワーダウンレジスタ65のこの汎用インターコネクションを示している。パワーダウンレジスタ65のこれらのインターコネクションはVDC36に広がり、様々な動作モード及び対応する様々なパワーダウンモードで動作するようにVDCを構成することができる。また、パワーダウンモードコントローラ64は、コンピュータシステム10のユーザがパラメータを設定して制御することによりLCDバックライト「オフ」やLCD表示装置「オフ」など省電力を促進するためにLCD24とのインタフェースがとられている。
図６に、表示FIFO56を簡略図で示す。この表示FIFO56は32ビットのダブルワード８個、つまり８レベルの容量を有することが好ましい。これらのレベルを図６の左側に数字の１から８で示した。本願発明の精神並びに範囲から逸脱することなく他のメモリ容量を表示FIFOに採用することができる。表示装置14及び24のアクティブ期間に、先に説明したようにこの表示FIFOの底からデータがモードによる速度で継続的に表示装置に対して排出される。
表示FIFOには（コンピュータシステム10の他のパラメータ同様）DRAM38及びVDCのメモリクロックのスピードによる速度で断続的に上からデータが補給される。この表示FIFOの補給は不連続で、以下にさらに説明するようにDRAM38が使用可能か否かによって発生する。図６に示した図の右側に２個の可動ポインタがある。これらのポインタの一方（ポインタ66）はFIFOのデータレベルがこのポインタより低くなったらDRAMから追加データを求めるFIFOLO要求が出されたことを示す。このポインタ66は許容位置が４から７である。もう一方のポインタ68はDRAM38から追加データを求めてFIFOHI要求が出されたことを示す。ポインタ68は許容位置が０から７である。どちらの場合も、FIFOLO又はFIFOHIの要求の発行はFIFO56がダブルワードレベルのデータを少なくとも１個は追加できることを示す。
FIFO56の沿ったポインタ68の位置は表示装置14及び24の動作モード（FIFO56からデータが流れ出る速度を示す）及びこのFIFOにデータを補給する速度（VDCの画素クロック及びメモリクロックの間隔、DRAM38のスピード、さらにVDCの他のインターコネクト間隔及びデータ転送間隔によって決まる）によって決まるので、FIFOがデータ切れにならないようにするためFIFO56のデータレベルが早くてレベル７、遅くてレベルゼロになるとFIFOHI要求が出される。上述のごとく、FIFOHIが出されると、他のDRAMアクセスは中断される。従って、表示FIFOからゆっくりデータが排出されコンピュータシステムがFIFOに高速で補給を行なえば、ポインタ68をゼロに設定しても表示装置がデータ切れになることはない。
ポインタ66の位置はコンピュータシステム10の表示動作モード及び類似のパラメータによって決まる。最低数のFIFOLO要求が出されると早期にFIFO56が満たされると共に最優先のDRAMアクセス権を有するコンピュータシステムの他の装置に対して許可するように、このポインタは４から７の範囲で設定される。FIFOLO要求（ポインタ68）の設定ポイントはFIFOHI要求の場合ほど決定的ではなく、分かるように、このFIFOLOの要求のポインタのレベルはDRAMコントローラ58によって実施される下段の優先順序付けスキームにフィットする。しかしながら、FIFOLO要求は、FIFOHI要求が出されない程度、つまりFIFOHI要求間の間隔が最大限になるのに十分な程度のDRAMアクセスを得ようとするFIFOのレベルで出される。
分かるように、アドレスステートマシンは継続的にFIFO56に入れられた新しいデータレベル（ダブルワード）をカウントし、選択された数のデータレベルがFIFOに入れられる度にFIFOLO又はFIFOHIの要求を取り消すか否かの決定がなされる。この時点以外にはFIFO56からのデータ要求はクリアされない。FIFOLO又はFIFOHI要求をクリアするのに表示FIFOは必ずしも完全に一杯になっていなくてもいい。
図７は、DRAMコントローラ58及びDRAMとコンピュータシステム10の様々な装置との相互接続の機能ブロック図である。ブロック内の数字70は考えられるDRAMリフレッシュサイクルを求める要求を示し、この要求はVDC38内のクロックの定期的に繰り返す時間間隔（図５に「DRclk」と示す）に基づいて出される。従って、この要求の受け取りは確実である。この要求の他の要求との時間の順序付けは不確定である。同様に、ブロック内の数字72は考えられるLCDコントローラ62のハーフフレームバッファ（図５に数字62'で示す）からのDRAMアクセス要求を表す。このハーフフレームバッファはLCD24のパネルに書き込まれる画素値を受け取りDRAM38に一時格納する。画素値のリフレッシュが必要になると、パネルの一つが対応する表示FIFOからLCDコントローラ62を介して新しい情報を受け取る。他のパネルはハーフフレームバッファ62'によって既にDRAMに一時格納された前の画素値を繰り返し受け取る。
LCD24のパネルは表示FIFOとハーフフレームバッファ62'から交互に新しい画像データを受け取り、２枚のパネルのもう一方が新しい画像データを受け取っている間ハーフフレームバッファは表示装置24の特定のパネルをリフレッシュする際使用するためDRAM38に新しし画素値を一時格納する。このハーフフレームバッファは限られた量の内部メモリしかもっていない。従って、DRAM38へのメモリアクセス期間、ハーフフレームバッファ62'は表示装置24上の幾つかの画素をリフレッシュできる程度の画素値を受け取る。ハーフフレームバッファは、LCD24の画素をリフレッシュする際に使用するためハーフフレームバッファの限定メモリ容量内に残っているデータの量いかんによってFRAMELO（優先度の低い）又はFRAMEHI（優先度の高い）のDRAMアクセス要求を出す。
ブロック28内の数字74はDRAM38へのアクセスを求めてCPU28によって出される可能性のある要求を表す。ブロック54内の数字76はDRAM38へのアクセスを求めてbit−BLTエンジン54によって出される可能性のある要求を表すのに対し、ブロック56内の数字78は表示装置14又は24に送るために一時保留される新しいデータを求める表示FIFO56によって出される可能性のある要求を表す。更に説明するが、FIFO要求はFIFO56、56'、56"それぞれからのFIFOLO又はFIFOHI要求を含んでいる可能性がある。一旦要求が出されると、FIFOLO及びFIFOHIの場合はその要求が満たされるか、さもなければクリアされるまで継続される（保留のまま残る）。
図７において、ブロック内の数字80はマウスイメージを描くためDRAM38へのアクセスを求めてマウスイメージ生成回路（既に説明している）から出される可能性のある要求を表す。ブロック内の数字82は、そうしたデータを求める要求に応じてDRAM38から表示FIFOにデータを読み込む際に用いるアドレスを生成することによって表示FIFO56（つまり、FIFO56、56'、56"）の処理を行なうアドレスジェネレータを表す。当業者なら複数の表示FIFO56、56'他を有する実施例はこれらの表示FIFOそれぞれに対してアドレスジェネレータ82を個々に有することが分かるだろう。DRAMアドレスマルチプレクサ84は生成されたアドレスをDRAM38に供給する。このアドレスマルチプレクサには生成アドレスにDRAM38でページブレークが必要な場合それを認識する機能があり、このメモリの異なるページがアクセスされるようにするためDRAM38で必要なプリチャージシーケンスを開始するのに用いられるSEQC86にページブレーク信号（数字88のついた矢印で示す）を送る。新しいデータがDRAM38に入力されたそのすぐ前のデータとは異なる行アドレスになっていることをページブレーク信号で知らせる。新しいデータが同じ行アドレスならば、ページブレーク信号は出されないので、そのすぐ前のデータと新しいデータがコンピュータ10の別々の装置から来ている場合でもプリチャージシーケンスで時間を無駄にすることがなくDRAMのページモードオペレージョンが維持される。即ち、DRAM38をアクセスする装置が変わっても必ずしもDRAM38にページブレークが発生するとは限らない。
図８及び10に示すように、SEQC86内部に、DRAM38へのアクセスを求める保留中の要求間の論理選択処理を実施する優先論理装置90がある。図８は単一の表示FIFO56を有するもっと単純な別のDRAMコントローラを表しており、これについて先ず検討する。図８を見ると、DRAM38へのアクセスを求める保留中の要求が２段（上段と下段）の片方に割り当てられる。上段の中で、保留中の要求は優先順（1uから5u）にランク付けされる。同様に、下段の中で、優先順（1lから3l）に保留中の要求にランクが付けられる。DRAM38へのアクセスを求めるランク付けされた保留中の要求からなるこの論理構造の中で、上段の要求はどれもDRAM38へのアクセスが既に存在していてもそれが自分よりランクの低い別の上段の要求に応じて許可されたアクセスであればそれを中断できるし、また下段の要求に応じて許可されたアクセスであれば全て中断することができる。従って、FIFOLO要求（ランク1l）に応じて表示FIFOがDRAMへのアクセスを実行している最中でSEQCがDRAMリフレッシュ要求（ランク4u）を受け取った場合には、表示FIFOのアクセスは中断されて、DRAMはリフレッシュされる。
しかしながら、このDRAMリフレッシュの期間中、CPUからDRAMアクセスを求める要求（ランク5u）を受け取っても、SEQCは上段でもよりランクの低い要求に対しては割り込みを認めないのでCPUはDRAMアクセスを待たなければならない。一方、DRAM38のリフレッシュ中FIFOHI要求（ランク2u）を受け取ったら、DRAMリフレッシュは中断され表示用の新しいデータを受け取るために表示FIFOのDRAMアクセスを許可することによってこの要求を認める。下段の要求の中では、既に存在しているDRAMアクセスに割り込むことは認められない。これらの下段要求は単に優先順にDRAMアクセスが許可され、上段の要求があれば中断される。即ち、bit−BLTの要求（ランク3l）に応じて認められたDRAM38へのアクセスは下段の他の要求があっても中断されないが、上段の要求があればいつでも中断される。
上記に続き、図９にレベルカウンタ92（図８）を使用してDRAMコントローラ58が実行する追加機能を示す。既に述べたように、表示FIFO56及びDRAMコントローラ58は共にVDC36内部にあり互いにインタフェースしている。レベルカウンタ92はDRAM32内のデータをアクセスするために生成されたアドレスを継続的にモニタし、アドレスは表示FIFO56にこのデータを書き込むのに使用される。Ｎ番目のデータレベルに達する度に（「Ｎ」は表示FIFO56に供給される選択された整数倍のデータレベルを表す）、レベルカウンタ92はSEQC86内にフラッグ又はレジスタをリセットする。図９に示すように、DRAMコントローラ58は２個の別々の問いの結果を同時且つ別途に検査する。一つの問いは、表示FIFO56内のデータレベルがFIFOLOポインタより低くなっているかどうかである。その答えが「いいえ」ならば、その質問を続ける。答えが「はい」ならば、FIFOLO要求が出される。表示FIFO56にＮ番目のレベルのデータが書き込まれる（先に説明したフラグ又はレジスタのリセットによって知らされる）度に、問いが繰り返され、答えが「いいえ」ならFIFOLO要求がクリアされる。従って、表示FIFOがデータで完全に一杯でなくてもFIFOLOをクリアできる。
同様に、もう一つの問いは表示FIFO56のデータレベルがFIFOHIポインタより低くなっているか否かである。答えが「いいえ」なら、その質問を継続する。この問いに対する答えが「はい」なら、FIFOHI要求が出される。既に述べたように、FIFOHI（図８でランク2u）は、DRAM38へのアクセスを求めるマウスの要求（ランク1u）以外の要求を全て中断する。従って、FIFOHI要求が発行されるとすぐにDRAM38のデータがアクセスされ、表示FIFO56に書き込まれる。Ｎ番目のレベルのデータが表示FIFO56に書き込まれる（先に説明したフラグ又はレジスタのリセットで知らされる）度に、問いが繰り返され、その答えが「いいえ」なら、FIFOHI要求がクリアされる。従って、表示FIFOが完全に一杯でなくても或いはFIFOLOポインタのレベルまで満たされていなくてもFIFOHIをクリアすることができる。表示FIFO56はＮレベルのデータを表示FIFOに書き込み終えた時点でFIFOHIポインタより上のレベルまで満たされていればいい。
「Ｎ」の値は４を選択するのが好ましい。Ｎのこの値は８レベルでレベルがそれぞれ32ビットの表示FIFOに都合がいい。VGAモードのオペレーションによっては、画素につき４ビットで、フレームバッファは32画素毎にLCD表示装置をリフレッシュするので、これらのモードでのオペレーションではフレームリフレッシュの順序付けと表示FIFOへのＮレベルのデータの書き込みとの間に有益な相関関係がある。当然ながら、表示FIFOは必ずしも８レベルの深さである必要はないし、またＮは４でなければならないわけでもない。表示FIFOからデータが出て行く速度やDRAMをアクセスする特定のシステムの他の装置の必要条件の他、表示FIFOの大きさ及びデータがアクセスされ表示FIFOに書き込まれるスピードの相互作用を考慮してＮは選ばれる。
図10に、２個以上の表示FIFO56、56'、56"を有する別のより複雑なDRAMコントローラ内の優先論理ユニット90によって実施される優先論理スキームを図で示す。図10において、DRAM38へのアクセスを求めて保留になっている要求は先ず３段（上段、中段、下段）のうちの一段に割り当てられる。上段の中で、保留中の要求に優先順にランクが付けられる（1uから3u）。後でさらに説明するが、この段には一つのランキングレベルで同等の要求が複数ある。中段内で、要求に1mから2mまでのランクが付けられる。同様に、下段において、保留中の要求に対して優先順に1lから3lのランクが付けられる。
DRAM38へのアクセスを求めて保留になっているランクを付けられた要求からなるこの論理構造の中で、上段の各要求はその段の要求のキューに入れられる。
DRAM38へのアクセスを求めるこれらの要求はそのキューに並んだ順序で認められる。上段の要求は、上段の別の要求に応じて認められたDRAM38へのアクセスが既に存在していればそれを中断することはできない。上段のこれら３個の要求1u〜3uは同等な要求が複数入ったランク（2u）を含む。即ち、上段のランク2uには複数のFIFOHIn要求がある。ここで、下付き文字「ｎ」は要求を出す複数のFIFO561-nのうちのどれかであることを示す。図５において、FIFO56、56'、56"にはそれぞれ数字で表した識別子１〜３があり、この識別子は図10のFIFOアクセス要求のソースを特定するために用いられる。一方、上段の要求は、中断又は下段の要求に応じて認められた既存のDRAMアクセスがあればそれを中断することができる。中段の要求は上段の要求を中断することはできない。中断できるのは自分よりランクの低い中段の要求に応じて認められたDRAMアクセスか又は下段の要求に応じて認められたアクセスのみである。下段の要求は他のDRAMアクセスを中断することはできないとで、許可を待ってそれぞれのキューに入れられる。下段の要求にも同等の要求を複数有するランク（1l）がある。即ち、下段のランク1lは複数のFIFOLOn要求を含む。ここで、下付き文字「ｎ」は先と同様に要求を出す複数のFIFO561-nの一つを示す。
図11及び12に本願によるコンピュータシステムのSEQCが実行するDRAMへのアクセスの２段式調停の結果を図解したタイミング図を（例としてのみ）示す。図10に示した３段式調停スキームでも同様に結果を得ることができる。先ず図11において、期間１でbit−BLTがDRAMアクセスを要求し、この要求が認められる。期間２の始まりで、表示FIFOがDRAMへのアクセスを要求する。FIFOLO及びFIFOHIが両方同時に出される事実から表示FIFOが表示データ切れになっていることを知る。期間２で、表示FIFOがbit−BLTの要求に取って代わり（図８の優先スキーム）、FIFOHI要求が取り消されることになる程度の表示データを受け取る（図９のフローチャートに従って行われるテスト）。期間３で、FIFOLOの要求（未だ保留中）は保留中のbit−BLTの要求より優先度が高いので、表示FIFOの処理が引き続き行われる。
期間４で、FIFOLOの要求が取り消され（FIFOが一杯ということではないが、FIFOのレベルがFIFOLOポインタより上にある）、bit−BLTの要求が認められる。期間５の始まりで、FIFOLO要求が出されるが、下段の要求は互いに中断し合うことはできない（図８）のでbit−BLTエンジンはDRAMへのアクセス権を保持する。期間６で、FIFOHIが出され、bit−BLTのアクセスが中断される。期間７はFIFOHIが取り消されたことを示すが、保留になっているbit−BLTの要求も下段の要求であり未だ保留中のFIFOLO要求を中断することはできないので、表示FIFOはDRAMへのアクセスを持続することを示す。期間８で、FIFOLOが取り消されると保留中のbit−BLTの要求が認めれる。
図12は同様の調停エピソードを示すが、今回SEQCはCPUと表示FIFOの間の調停を行なう。図12において、期間１はDRAMアクセスを求めるCPUの要求である。この要求は認められCPUがサインオフする。期間２で、FRAMはアイドルになるが、期間３で表示FIFOがDRAMへのアクセス要求を出す。再び、FIFOLO及びFIFOHIが両方同時に出される事実は表示FIFOが表示データ切れになっていることを示す。期間３で、表示FIFOはCPU要求に取って代わり（図８の優先スキーム参照）、FIFOHI要求が取り消されるようになる程度の表示データを受け取る（図９のフローチャートに従って行われるテスト参照）。
期間４で、上段の要求は下段の要求に対して認められたアクセスを中断できるので、CPUにDRAMへのアクセスが許可される。期間５で、CPUはDRAMアクセスをサインオフするので、FIFOLO要求が認められる。期間６は、CPUがDRAMへのアクセスを求めて要求を出すが、保留になっているのはFIFOLOだけなのでそのCPUの要求によって表示FIFOのアクセスが中断される。CPUがDRAMからサインオフする（期間７）と、DRAMへのアクセス権が表示FIFOに返される。期間８の始まりに、FIFOHI要求が出され認められるが、CPUは自分よりランクの上の上段要求を中断することはできないのでこの期間８には許可されないCPUからのDRAMアクセス要求の発行が含まれる。期間９は、CPUは保留中のFIFOLO要求に基づく表示FIFOの要求を中断できるので、FIFOHIがクリアされ、CPUに対しアクセスが許可されたことを示す。
当然のことながら、図面と共に上述の説明を検討した後では、当業者なら本書で説明した表示装置及び方法を有するコンピュータシステムの動作の原理、特徴並びに方法は表示装置を組み入れたインテリジェントデバイスや、ユーザディスプレイを組み入れたエンベデッドマイクロコントローラ、ディスプレイを含むインテリジェント入出力処理機構を含めるがそれに限定されない他のシステム及び装置に容易に適用できることが明白であろう。
本願発明を特に好適な実施例を挙げて図解し、説明すると共に定義してきたが、そうした言及によって発明を限定するものではなく、またそうした限定を暗に示しているわけでもない。当業者には可能であろうが、本願発明は相当の修正、変更ができるし、また形状並びに機能において同等のものが可能である。図解し説明した本願発明の好適な実施例は例にすぎず、それによって本願発明の範囲を網羅しているわけではない。従って、あらゆる点で同等のものを十分に認識して、本願発明は添付の特許請求の精神並びに範囲によってのみ限定されるものである。
【図３】
0003557619.tif 000002
【図１】
0003557619.tif 000003
【図２】
0003557619.tif 000004
【図１１】
0003557619.tif 000005
【図４】
0003557619.tif 000006
【図６】
0003557619.tif 000007
【図８】
0003557619.tif 000008
【図５】
0003557619.tif 000009
【図７】
0003557619.tif 000010
【図９】
0003557619.tif 000011
【図１０】
0003557619.tif 000012
【図１２】
0003557619.tif 000013