JPH08272585A - データを処理するためのシステムおよび方法 - Google Patents

データを処理するためのシステムおよび方法

Info

Publication number
JPH08272585A
JPH08272585A JP7293092A JP29309295A JPH08272585A JP H08272585 A JPH08272585 A JP H08272585A JP 7293092 A JP7293092 A JP 7293092A JP 29309295 A JP29309295 A JP 29309295A JP H08272585 A JPH08272585 A JP H08272585A
Authority
JP
Japan
Prior art keywords
memory
command
commands
data
generating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP7293092A
Other languages
English (en)
Inventor
David C Baker
シー.ベイカー デビッド
Michael D Asal
ディー.アサル マイクル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mindspeed Technologies LLC
Original Assignee
Brooktree Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brooktree Corp filed Critical Brooktree Corp
Publication of JPH08272585A publication Critical patent/JPH08272585A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Input (AREA)
  • Digital Computer Display Output (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】 【課題】 コマンド処理の際に、ソフトウェアによって
生じる遅延を最小にすること。 【解決手段】 ディスプレイメモリにはチップ上のメモ
リ内に記憶できないコマンドのオーバーフロー分を受け
るための補助メモリ部分が設けられる。コマンドは各コ
マンドの後でソフトウェアからのポーリングを行うこと
なく、デバイスドライバソフトウェアからハードウェア
まで定常状態、好ましくはパケット状態で連続して通過
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、中央処理ユニット
からのコマンドに従ってデータを処理するためのシステ
ムおよび方法に関する。より詳細には、本発明はコマン
ド処理の際にソフトウェアによって生じる遅延を最小に
し、かかるコマンドに従ってデータが処理されるレート
を大きくするためのシステムおよび方法に関する。
【0002】
【従来技術】パソコンを含む環境内でグラフィック情報
を処理するため、現在使用されているアーキテクチャ
は、一般にソフトウェアの3つのレイヤーから成り、そ
のうちの最後のレイヤーは画像ラスター化ハードウェア
と通信を行う。これらソフトウェアの3つのレイヤーは
それぞれ(1)アプリケーションソフトウェア、(2)
グラフィックデバイスインターフェース(GDI)ソフ
トウェアおよび(3)デバイスドライバ(DD)ソフト
ウェアと表示できる。図1に、これらソフトウェアの3
つのレイヤーが略図で示されている。
【0003】アプリケーションソフトウェアは特定の作
業を達成するように書き込まれる。このアプリケーショ
ンソフトウェアの出力は画像とすることができる。例え
ばアプリケーションソフトウェアは三角形を画定するよ
うに3つの頂点を発生できる。CPUは同時に数個の異
なるアプリケーションを処理できる。例えば1つのアプ
リケーションが1つの三角形の頂点を出力でき、一方、
他のアプリケーションが四角形の頂点を出力し、いずれ
の頂点もビデオモニターの異なるディスプレイウィンド
ー内に同時にディスプレイすべきものである。これら異
なるディスプレイウィンドーはスクリーン上で分離して
もよいし、重ねてもよい。
【0004】アプリケーションソフトウェアはポリゴン
(多角形)のドローイング(描画)およびカラーフィリ
ングのようなオペレーションのためのグラフィックデバ
イスインターフェースソフトウェアに対し標準的な入力
信号を与えるように書き込まれる。このようなオペレー
ションはポリゴンフィルと称される。グラフィックデバ
イスインターフェース(GDI)ソフトウェアは上記の
三角形および四角形のような異なるソフトウェアアプリ
ケーションにより異なるウィンドー内に同時に発生され
た画像間の重なりを表示的に管理するものである。例え
ばグラフィックデバイスインターフェースソフトウェア
は三角形または四角形の一部が別のウィンドーによって
重なり合っている際に、かかる部分をクリップ(cli
p)できる。GDIソフトウェアはこのクリップされた
ポリゴンを次のレベルのソフトウェア、すなわちデバイ
スドライバに送る。
【0005】デバイスドライバソフトウェア(第3ソフ
トウェアレイヤー)は、クリップされたポリゴンに対し
て数種のオペレーションを実行する。例えば先のパラグ
ラフの例では、デバイスドライバソフトウェアは三角形
および四角形のクリップされた部分に対してオペレーシ
ョンを実行する。これらオペレーションには、各クリッ
プされたポリゴンを別々の簡略化されたブロックまたは
画像ラインに分解する工程が含まれる。これらブロック
または画像ラインはビデオモニターにディスプレイする
ための画像を記憶するランダムアクセスメモリ(RA
M)に書き込むべきものである。例えばデバイスドライ
バソフトウェアは各ポリゴンにおける各水平ラインの開
始点と終了点を表示し、更にラインのカラーも表示す
る。従って、デバイスドライバソフトウェアはかかるラ
インを定義するのに3つのワード(すなわちラインの開
始点、ラインの終了点、かかる開始点と終了点との間の
個々のカラー)を発生する。
【0006】ラスター(raster)化すべきポリゴ
ンは数個のピクセルの幅を有する垂直ラインであるとい
うことができる。デバイスドライバソフトウェアは、各
々が数個のピクセル長さとなっている数本の水平ライン
を描くことにより、これを考慮している。別の例では、
個々のカラーのラインをラスタースキャン内の水平ライ
ンに対して90度でない所定の角度に傾けることができ
る。これを行うには、各水平ラインを数個のピクセルよ
りも多くしなければならず、このピクセルの特定の数は
水平線に対する角度に応じて決まる。
【0007】
【発明が解決しようとする課題】上記から理解できるよ
うに、デバイスドライバソフトウェアは比較的複雑とな
り得る。更にソフトウェアの3つのレイヤーは各レイヤ
ーから次のレイヤーへのコマンドの通路内に密にリンク
されている。例えばアプリケーションソフトウェアは、
グラフィックユーザーインターフェースがクリップされ
たポリゴンコマンドの実行を完了することを待っていな
ければならず、グラフィックユーザーインターフェース
ソフトウェアはデバイスドライバソフトウェアがライン
フィルコマンドの実行を完了することを待っていなけれ
ばならない。デバイスドライバソフトウェアがそのコマ
ンドを完了すると、このソフトウェアは次のポリゴンの
ためのコマンドを発生するアプリケーションソフトウェ
アへ移る。
【0008】好ましくないことに、デバイスドライバソ
フトウェアと画像ラスター化ハードウェアとの間の通信
は3つのレイヤーのソフトウェア間の通信ほど効率的で
はない。このような不効率さは、一部はデバイスドライ
バソフトウェアがハードウェアと通信してデバイスドラ
イバソフトウェアによって指定された最終コマンドの実
行をハードウェアが完了しているかどうかを判断する方
法によって生じている。このような通信方法はポーリン
グと称されている。CPUのためのデバイスドライバソ
フトウェアからの最終コマンドの実行完了後、平均10
〜15のCPUクロックサイクルが必要である。CPU
のクロックサイクルが33MHzである場合、この時間
は約450nsとなり得る。この時間の間、他のグラフ
ィックソフトウェアコマンドはいずれも実行することは
できない。
【0009】現在使用されているシステムにおけるソフ
トウェアとハードウェアとの間には別の問題が存在して
いる。ローカルバス上のハードウェアとCPUメモリと
の間にはCPUからバスへのデータの転送を中断させる
ためのラインが存在している。このラインはCPUレデ
ィラインと称される。CPUレディライン上の電圧が低
レベルにされると、CPUはバス上のどのデバイスへも
コマンドを転送することができなくなる。現在使用され
ているシステムでは、バス上のデバイスが数マイクロ秒
のような所定の時間よりも長く、CPUレディラインに
対する電圧を下げることは認められていない。CPUレ
ディラインがこのような時間よりも長く低レベルとなっ
ていると、CPUがハードディスクデータ転送リクエス
トに正しいサービスを提供することができなくなってし
まうことが、1つの理由である。ハードウェアによる単
一デバイスドライバグラフィックコマンドを実行するに
は、数マイクロ秒よりも長い時間が必要となり得るの
で、CPUレディラインは、CPUメモリとハードウェ
アとの間のグラフィックコマンドのフローを高速仲裁す
るには適当でない。
【0010】ソフトウェアとハードウェアとの間の通信
は比較的遅いが、画像ラスター化ハードウェアにおける
コマンドの実行は比較的速い。例えばハードウェアがラ
ンダムアクセスディスプレイメモリと通信する際、ラン
ダムアクセスメモリに10個のピクセルのラインを記録
するには、最初のピクセルのためのアドレスのセットの
ために1ランダムDRAMサイクルと、各追加ピクセル
の記録のために単一の付加的ページモードサイクルが必
要となる。このランダムクロックサイクルはアドレス初
期化のための2クロックサイクルとピクセルデータ書き
込みのための1クロックサイクルを必要とし得る。ハー
ドウェアのクロックの周波数が25MHzである場合、
各クロックサイクルは40nsを必要とし得る。従っ
て、水平ライン内の10個のピクセルのランダムアクセ
スメモリに記憶するための総転送時間は、約80+10
×40=480nsとなる。
【0011】垂直ラインのためのラインフィルは、先の
パラグラフに記載された時間よりもかなり長い時間を必
要とする。かかる場合、ピクセルごとに120nsのラ
ンダムサイクル書き込み時間が必要となる。従って、垂
直ライン内の10個のピクセルを記憶するための総時間
は、約1200ns((80+40)×10=1200
ns)となり得る。従って、水平か垂直かにかかわら
ず、10個のピクセルを記録するための平均時間は約8
00nsよりも若干長くなる。
【0012】10個のピクセルの水平ラインまたは垂直
ラインを記録するためのハードウェアにおける約800
nsの平均時間と、約450nsのポーリング時間とを
比較すると、ポーリング時間は平均的ラインにおける1
0個のピクセルを記録するのに必要な総時間の半分より
もかなり長くなることが理解できよう。このような遅れ
により、システムのオペレーションが更に遅くなってい
る。
【0013】コンピュータグラフィック業界は、グラフ
ィック情報をハードウェア内で処理するスピードを改善
するのに毎年何百万ドルも費やしている。従って、ハー
ドウェアにおけるグラフィック処理の処理スピードはか
なり加速されており、コンピュータ業界もソフトウェア
におけるグラフィック情報を処理する時間を短くするこ
とを望んでいる。このことはこれまでの説明から理解で
きよう。コンピュータ業界はソフトウェアによりハード
ウェアのポーリングのための時間を皆無にできないにし
ても、これを短くしたいと特に考えている。この問題
は、何年も存在していることが判っていたが、だれもこ
の問題の解決案を提案できなかった。
【0014】
【課題を解決するための手段】本発明は、ハードウェア
がコマンドを完了したかどうかを判断するよう、各コマ
ンドの後でソフトウェアによりハードウェアのポーリン
グをするための条件を満足に解消するためのシステムを
提供するものである。更に本発明は、ハードウェアのポ
ーリングを必要とする前に連続して多数のコマンド(コ
マンドのパケット)を伝送できるシステムの集積回路チ
ップを提供するものである。このシステムはコマンドを
処理し、かかるコマンドに従ってディスプレイメモリへ
出力するよう、データ(例えばグラフィック)を処理す
るための限られた容量のチップに設けられたメモリから
成る。
【0015】本発明のシステムにおけるディスプレイメ
モリには、チップ上のメモリ内に記憶できないコマンド
のオーバーフロー分を受けるための補助メモリ部分が設
けられる。このような構造を提供することにより、コマ
ンドはかかる各コマンドの後でソフトウェアからのポー
リングを行うことなく、デバイスドライバソフトウェア
からハードウェアまで、定常状態、好ましくはパケット
状態で連続して通過する。
【0016】本発明の一実施例では、中央処理ユニット
(CPU)は集積回路チップ上に限られた容量の第1メ
モリ(例えばFIFO)にソフトウェアコマンドを導入
している。第2メモリ(オフチップ)の第1部分からの
データ(例えばグラフィック)は、かかるコマンドに従
って処理される。第2メモリの第2部分(例えばFIF
O)もCPUから第1メモリを通って正常に送られたコ
マンドを記憶する。
【0017】第1メモリがフル状態となると、これらコ
マンドはCPUから第2メモリ(このメモリの記憶容量
は第1メモリの記憶容量よりもかなり大きい)の第2部
分を通って、次に第1メモリを通って第1メモリを通過
できる。これらコマンドは第2メモリの第2部分が空状
態となるまでこのような補助通路を連続して流れること
ができる。チップ上の限られた容量の第3メモリは、通
常の動作ではCPUから第1メモリへことができるを送
り、第1メモリがフル状態となった際には、第2メモリ
の第2部分へ送ることができる。
【0018】CPUはレディラインがハイレベルの間、
他の周辺機器にコマンドを送ることもできる。レディラ
インが低レベルになると、このレディラインは第3メモ
リがフル状態の間、周辺機器へコマンドが送られるのを
防止する。しかしながらコマンドはレディラインをハイ
レベルとするように第3メモリから第1または第2メモ
リへ通過できる。
【0019】1つのカウンターが第1メモリおよび第3
メモリ、ならびに第2メモリの第2部分内のコマンド数
を表示するようになっており、ソフトウェアはカウンタ
ー内のコマンド数をソフトウェアで更新するようにカウ
ンターに時々問い合わせを行うようになっている。
【0020】
【発明の実施の形態】図1は、アプリケーションソフト
ウェアの3つのレイヤーおよびこのソフトウェアに関連
するグラフィックハードウェアの簡略ブロック図であ
る。ソフトウェアの3つのレイヤーは個々のブロック内
に(1)アプリケーション(Appl)ソフトウェア、
(2)グラフィックデバイスインターフェース(GD
I)ソフトウェアおよび(3)デバイスドライバ(D
D)ソフトウェアとして表示されている。一方、グラフ
ィックハードウェアはそれぞれ個々のブロックにおい
て、(1)グラフィックユーザーインターフェース(G
UI)またはグラフィックアクセレレータおよび(2)
ランダムアクセスメモリ(RAM)またはディスプレイ
メモリと表示されている。図1では、ソフトウェアとハ
ードウェアとは、水平ラインとこのラインの上に書き込
まれたソフトウェアなる単語とその上の上向き矢印と、
水平ラインの下方に書き込まれたハードウェアなる単語
とその下の下向き矢印によって区別されている。
【0021】ビデオモニター上に画像をディスプレイす
べき場合、アプリケーションソフトウェアは画像のアウ
トラインを定める頂点を発生する。例えば1つの三角形
をビデオモニターにディスプレイすべき場合、アプリケ
ーションソフトウェアはこの三角形の境界を定める3つ
の頂点を発生する。同様にして、アプリケーションソフ
トウェアは4つの頂点により四角形を定める。
【0022】単一ソフトウェアアプリケーションによ
り、1つ以上の画像ウィンドーを同時に発生することが
時々ある。別のケースでは、時間分割法によりCPU内
で1つ以上のソフトウェアアプリケーションを設けるこ
とができる。各アプリケーションはビデオディスプレイ
上の別個のウィンドー内にグラフィックデータを出力し
得る。例えばアプリケーションソフトウェアにより別の
ウィンドー内に三角形と四角形の各々を設けることがで
きる。当業界では、上記のようなアプリケーションソフ
トウェアは周知となっている。
【0023】図1におけるグラフィックデバイスインタ
ーフェースは、アプリケーションソフトウェアによって
与えられたポリゴンの頂点に働く。グラフィックデバイ
スインターフェースは画像に対し行うべきウィンドーの
重ね合わせに従ってポリゴンをクリップする。重ね合わ
されたウィンドーによりポリゴンがクリップされると、
グラフィックデバイスインターフェースはそのウィンド
ーと重なったポリゴン部分をカットする。従来技術では
上記のようなグラフィックデバイスインターフェースソ
フトウェアは周知である。
【0024】図1のデバイスドライバソフトウェアはグ
ラフィックデバイスインターフェースソフトウェアによ
って与えられたクリップされたポリゴンに働く。このデ
バイスドライバソフトウェアはクリップされたポリゴン
をライン(線分)または四角形に分解し、更にこの結果
生じたラインフィルコマンドまたは四角形フィルコマン
ドをグラフィックユーザーインターフェース(GUI)
ハードウェアへ伝送する。この段落に説明したようなデ
バイスドライバソフトウェアは周知である。
【0025】図1は、ブロック内にグラフィックユーザ
ーインターフェース(GUI)、更にグラフィックアク
セレレータとしても表示されたハードウェアも示してい
る。GUIインターフェースは従来技術では一般に知ら
れているが、本発明のシステムに固有のGUIハードウ
ェアは知られていない。図1に示されたGUIハードウ
ェアは本発明のシステムに独自の態様でデバイスドライ
バソフトウェアからのコマンドを処理する。
【0026】図1に示されたハードウェアはランダムア
クセスメモリ(RAM)すなわちディスプレイメモリも
含む。このランダムアクセスメモリすなわちディスプレ
イメモリは、従来技術では周知である。本発明にかかわ
るシステムにおけるランダムアクセスメモリすなわちデ
ィスプレイメモリは、従来技術のランダムアクセスメモ
リすなわちディスプレイメモリと同様に製造できると考
えられるが、このメモリの一部によって行われる使用
は、本発明のシステムに固有のものである。この意味に
おいて、本発明のランダムアクセスメモリすなわちディ
スプレイメモリは従来技術のランダムアクセスメモリま
たはディスプレイメモリとは異なるものである。
【0027】本発明のシステムはデバイスドライバソフ
トウェアがGUIハードウェアにコマンドを発生し、G
UIハードウェアがコマンドの処理を完了したかどうか
を判断するため、各コマンドの後でGUIハードウェア
をポーリングする必要がないという点で有利である。こ
のことは、デバイスドライバソフトウェアとGUIハー
ドウェアを指している矢印のあるGUIソフトウェアと
の間のラインで示されている。しかしながら、コマンド
のパケットを送った後にデバイスドライバソフトウェア
はディスプレイメモリのグラフィックコマンド記憶部分
で利用可能なスペースを決定するためにGUIハードウ
ェアをポーリングできる。このポーリングは頻繁には行
われないので、このことはデバイスドライバソフトウェ
アとデバイスドライバソフトウェアを指している矢印の
ついたGUIハードウェアとの間の破線によって示され
る。GUIハードウェアとディスプレイメモリとの間に
はGUIハードウェアとディスプレイメモリとが互いに
通信することを示すため、異なる方向に向いた矢印のつ
いたラインが配置されている。
【0028】図2は、各コマンドを実行した後にソフト
ウェアによるポーリングを行うことなく、ソフトウェア
からのコマンドに対するハードウェアのオペレーション
を行うための、本発明を構成するシステムの一実施例
(番号10で全体を示す)の簡略ブロック図である。こ
のシステム10は、ホストバス14を通して通信をする
中央処理ユニット(CPU)12を含む。ホストバス1
4のデータ部分はグラフィックコマンドワードを入れる
よう、32ビット幅であることが好ましいが、本発明の
範囲から逸脱しない範囲で32ビットよりも多いかまた
は少ない他の数のビットでもよい。ホストバス14はC
PU12更に先端が番号18で示されるグラフィックユ
ーザーインターフェースへの接続におけるローカルバス
と見なすこともできる。
【0029】ホストバス14には、CPUメインメモリ
16も接続されている。このCPUメインメモリ16は
ソフトウェアコマンドを記憶するためのダイナミックラ
ンダムアクセスメモリ(DRAM)を構成できる。ホス
トバス14には周辺バス制御装置20も結合できる。こ
の周辺バス制御装置20は次に番号22で示される周辺
インターフェースに接続できる。周辺インターフェース
22は次に周辺機器23へ結合される。かかる周辺機器
の一例としてプリンタがある。周辺バス制御装置20、
周辺インターフェース22および周辺機器23は従来技
術では周知である。
【0030】グラフィックユーザーインターフェース1
8には全体が番号24で示されたビデオランダムアクセ
スメモリ(VRAM)が接続されている。このメモリ2
4は少なくとも3つの異なる部分を含むことができる。
1つの部分はグラフィックデータをデジタル状に記憶す
るためのフレームバッファーメモリ26を構成できる。
別の部分は、ビデオ情報をデジタル状に記憶するための
ビデオ入力メモリ28を構成でき、第3部分はグラフィ
ックコマンドを記憶するためのGUI FIFOメモリ
30を構成できる。GUI FIFOメモリ30は、G
UIインターフェース18からのコマンドを受信し、所
定の遅延の後に受信した順序でメモリ30からコマンド
を送る。グラフィックおよびビデオのようなデジタルデ
ータと共に、デジタルメモリ24内にGUI FIFO
メモリ30が設けられていることは、この発明のユニー
クなことであると考えられる。
【0031】「グラフィックメモリおよびビデオメモリ
からの情報をディスプレイモニタ上にディスプレイする
ためのシステムおよび方法」を発明の名称とし、ジョナ
サン・I・サイアン、コンラッド・M・コンフェイおよ
びジェフリー・L・イーズレイにより1993年2月5
日に出願された米国特許出願第08/014,259号には、メモ
リ24のような一般メモリに記録されたグラフィックお
よびビデオ情報を処理するためのシステムおよび方法が
開示され、請求されている。この米国特許出願は、本願
出願人に譲渡されている。また、「マルチメディアグラ
フィックシステム」を発明の名称とし、デビッド・C・
ベイカーおよびジョナサン・I・サイアンにより199
4年3月16日に出願された米国特許出願第08/214,787
号にもメモリ24のような一般的メモリに記憶されたグ
ラフィックおよびビデオ情報を処理するためのシステム
および方法が開示され、請求されている。この米国特許
出願は、本願出願人に譲渡されている。本願の開示が不
十分とみなされる場合には、本願の開示を完全にするた
め、上記継続中の米国特許出願を参照されたい。
【0032】CPU12はシステム10を作動させるた
めのプログラムソフトウェアおよびデータを記憶する。
この結果生じたCPU12からのグラフィックコマンド
はホストバス14へ送られる。CPU12内の他のコマ
ンドは周辺バス制御装置20を通して周辺インターフェ
ース22へ送られる。この周辺インターフェース22は
CPUメインメモリ16からのコマンドに従ってかかる
データに演算を行う。このインターフェースは、例えば
ラインプリンタのような周辺機器23と通信するための
入出力(I/O)バッファを含むことができる。かかる
プリンタはCPU12からのコマンドに従ってフレーム
バッファメモリ26内のグラフィックデータのラスター
を出力するページをプリントできる。
【0033】CPU12からのコマンドおよびデータは
本発明でユニークと考えられるグラフィックユーザーイ
ンターフェース(GUI)18へ送られる。このグラフ
ィックユーザーインターフェース18はGUIコマンド
入力メモリ32およびGUIコマンド出力メモリ33を
含み、これらメモリはCPU12からのコマンドを常に
受け、かかるコマンドに従って(グラフィックを示す)
フレームバッファメモリ26からのデジタルデータを処
理する。メモリ32および33は一端でコマンドを受
け、所定の遅延の後、受信と同じ順序で他端からコマン
ドを送るシフトレジスタを構成する。従ってメモリ32
および33は、FIFOメモリを構成できる。
【0034】グラフィックユーザーインターフェース1
8内のメモリ32および33の各々は、容量が限られて
いる。通常の作動時には入力メモリ32はCPU12か
らホストバス14を通してコマンドを受け、これらコマ
ンドをメモリ33へ送る。次にこの出力メモリはこれら
コマンドをグラフィックユーザーインターフェース(G
UI)内の画像ラスター化回路へ送る。この回路はCP
U12からのグラフィックコマンドを処理し、かかる処
理の結果としてピクセルデータを出力する。かかるピク
セルデータは画像をデジタル的に表示できる。このデジ
タルデータはアナログデータに変換でき、次にこのアナ
ログデータはビデオモニタ上にディスプレイするための
画像のピクセル強度に変換できる。
【0035】グラフィックユーザーインターフェース1
8内の出力メモリ33は、容量が限られているので、フ
ル状態になることが時々ある。このメモリ33がフル状
態になると、グラフィックユーザーインターフェース1
8は入力メモリ32からのコマンドがビデオランダムア
クセスメモリ(VRAM)24内のGUI FIFOメ
モリ30を通過し、次に出力メモリ33を通過できるよ
うに作動する。従って、GUI FIFOメモリ30は
メモリ33のオーバーフローを生じさせるようなコマン
ドを受けるための補助メモリとして機能する。
【0036】GUI FIFOメモリ30がメモリ33
をオーバーフローし得るようなコマンドを受けると、こ
のメモリはGUI FIFOメモリ30内にコマンドが
なくなるまで、この容量で作動し続ける。このようなこ
とが起きると、コマンドは入力メモリ32から再び直接
に出力メモリ33へ送られ、次に、メモリ33からグラ
フィックユーザーインターフェース18内の画像ラスタ
ー化回路へ送られる。
【0037】上記のようなグラフィックユーザーインタ
ーフェース18内のメモリ32および33とディスプレ
イメモリ24内のGUI FIFOメモリ31との間を
相互に関連させることにより、図2に示したシステムは
次に詳細に説明する別の状況を除き、各コマンドの後の
グラフィックユーザーインターフェースのポーリングが
不要となっている。このポーリングは従来技術では、従
来のグラフィックユーザーインターフェースが各コマン
ドに従って各頂点におけるデータの処理を完了したかど
うかを判断するため、行われていた。かかるポーリング
を省略することにより、本発明のシステムはデータを処
理できるレートをかなり速くしている。各頂点のポーリ
ングには約480nsが必要であり、コマンドの実行に
は複数の頂点があるので、本発明のようにポーリングを
実質的になくしたことにより時間がかなり節約できる。
【0038】フレームバッファメモリ26内に記憶され
たグラフィック画像データは、一実施例ではフレームバ
ッファメモリからバス36を通り、ランダムアクセスメ
モリとデジタル値を対応するアナログ値へ変換するため
のデジタル- アナログコンバータを含むステージへ送ら
れる。これらステージは(ランダムアクセスメモリとデ
ジタル−アナログコンバータの最初のイニシャルをとっ
て)RAMDACステージと称されることが多い。この
RAMDACステージは当技術分野では周知である。か
かる実施例では、ビデオディスプレイのピクセルクロッ
クと同期してバス36を通過するようにパケット状に送
られる。
【0039】図3は図2に示されたブロックと同じブロ
ックを示すが、図2に示された関係とは相互の関係が異
なっている。図3に示されたブロックの構造は、全体が
番号40で示されており、取引上PCIバスと称され、
図3では番号42で表示されたバスと共に使用されるよ
うに設けられている。図3は将来のホストバスと考えら
れるPCIバス42を含むので、好ましい実施例と考え
られる。このようなアーキテクチャにした1つの理由
は、将来のアプリケーションでは32ビットを越えるワ
ードでローカルバス44を作動することが好ましいから
である。例えば、ローカルバス44はメインメモリのバ
ンド幅を広くするため、128ビットのワードで作動で
きる。
【0040】図3に示された実施例では、ステージは図
2のステージと同じ番号で表示されるが、これらステー
ジには添え字bがつけてある点が異なる。例えば、中央
処理ユニット(CPU)は12bと表示される。CPU
ローカルバス44にはCPU12b、CPUメインメモ
リ16bおよび周辺バス制御装置20bの入力が接続さ
れている。周辺バス制御装置20bの出力からの周辺バ
ス42、周辺I/Oインターフェース22bおよびグラ
フィックユーザインターフェース18の入力には接続が
されている。グラフィックユーザインターフェース18
bの出力およびビデオランダムアクセスメモリ(VRA
M)24bへの入力は、共通バス46を共用している。
ビデオランダムアクセスメモリ24bからのグラフィッ
クデータは図2に示された実施例におけるグラフィック
データに対して行われるのと同じようにライン36bを
通ってRAMDACと表示された機器へ送られる。
【0041】図3に示された閉められたシステムは図2
に示されたシステムとほぼ同じように作動するが、ロー
カルバス44とグラフィックユーザインターフェース1
8bとの間に周辺バス制御20bが配置されている点が
異なる。このようなほぼ共通する機能のために、図3の
システムは図2のシステムと同じように作動するが、各
グラフィックコマンドの後の図1のデバイスドライバソ
フトウェアによるグラフィックユーザインターフェース
18bのポーリング(まれなケースを除く)は行われな
い。
【0042】図4はラムバスと称される高速ランダムア
クセスメモリバスを備えたシステム内で作動するもので
ある。例えば1991年10月31日に公開された国際
特許出願PCT/US91/02590はかかるシステムを開示してい
る。図4に示されたシステムは図2および図3に示され
たシステムと同じブロックを有するが、図2および図3
に示された構造とは異なる。図4のこれらブロックは図
2および図3のブロックと同じ番号がつけてあるが、添
え字cがついている。
【0043】図4に示されたシステムは全体が番号50
で示されている。図4に示された実施例は、CPU12
cと高速周辺バス制御装置20cとの間にローカルバス
52が接続されており、高速バス54(RAMBUSと
表示)にはシステム50および高速周辺バス制御装置2
0c内の他のすべてのステージが接続されている。従っ
て、(CPU12cを除く)異なるステージ間の通信の
すべてはこの高速バス54を通して行われる。
【0044】通信のほぼすべては高速バス54を通して
行われるので、通信は図2および図3に示されたシステ
ムよりもより速いレートで行うことができる。更に、図
2cではRAMDACは単一ブロック56として示され
ており、(アナログピクセルデータを構成する)その出
力はライン36cを通ってビデオモニターに送られるよ
うに示されている。しかしながら、後に理解できるよう
に、図4に示された実施例は図2および図3に示された
実施例とほぼ同じ利点を有する。例えば図4に示された
実施例は次のコマンドに従ってデータを処理する前に、
ハードウェアが各コマンドに従ってデータ処理を完了し
たかどうかを判断するため、ハードウェアをポーリング
するデバイスドライバソフトウェア(稀な例外を除く)
を必要とすることなく、連続するコマンドに従ってグラ
フィックデータを処理する。
【0045】図2および図3に示された実施例は、ビデ
オランダムアクセスメモリ(VRAM)24を含む。こ
のビデオランダムアクセスメモリ24はかなり高速のシ
リアル出力クロック速度で作動し、フレームバッファメ
モリ内の異なる位置から取ったデジタルデータをシフト
するためのシリアル出力レジスタを含むので、所定の利
点を有する。しかしながら、本発明の範囲から逸脱する
ことなく他のタイプのメモリも使用できる。これらメモ
リとしては、図4に示されているような高速ダイナミッ
クランダムアクセスメモリ(DRAM)および同期式ダ
イナミックランダムアクセスメモリが含まれる。実際に
は、図7および図8に示され、後に詳細に説明するよう
な実施例は同期式DRAMを内蔵する。
【0046】図5および図6は、図2にも示されている
グラフィックユーザーインターフェースおよびビデオラ
ンダムアクセスメモリまたはディスプレイメモリ24を
より詳細ではあるがブロックとして略図で示している。
グラフィックユーザーインターフェース(GUI)18
は、図5および図6において四角形60となるように破
線で示された集積回路チップ上に配置することが好まし
く、ビデオランダムアクセスメモリ24は別の四角形と
なるように破線で示されており、チップ60とは離れて
いる。グラフィックユーザーインターフェース18とビ
デオランダムアクセスメモリ24との相互の関係は、図
5および図6の上部の水平ライン60により簡略化して
示されている。この相互の関係は、上向きの矢印に隣接
するライン62の上のオンチップなる表示によって示さ
れ、更に下向きの矢印に隣接するライン62の下のオフ
チップなる表示によっても示されている。
【0047】ホストバスは(図2にも示されている)ロ
ーカルバス14であり、このローカルバス14はチップ
60上のホストバスインターフェースおよびFIFO6
2に接続されている。このFIFO62は4ワードのよ
うな限られた容量を有することができる。このFIFO
は図2におけるGUIコマンド入力メモリ30に対応す
る。FIFO62内の各ワードのビット数はバス14の
データ幅(32)に対応できる。ホストバスからFIF
O62への入力データはチップ60に配置されたホスト
バスインターフェースFIFOコントローラ66から延
びるライン64上のクロック信号によってロードでき
る。この入力クロックの周波数は、例えば図2内のCP
U12の周波数に対応する25MHzとすることができ
る。
【0048】CPU12からホストバスインターフェー
スFIFOコントローラ66へのホストバスのアドレス
部分63上には、チップ60の作動を制御するアドレス
を発生できる。これらアドレスは24ビットとすること
ができ、このビット数はCPUにより各アドレスで発生
されるビット数である。コントローラ66からCPU1
2にはCPUレディライン65が接続され(この接続は
図5および図6には示されていない)、ホストバスFI
FO62がフル状態の時、CPUによりホストバスを通
して行われるコマンドの伝送を中止させる。
【0049】コントローラ66からのライン68上のク
ロック信号は、ホストバスFIFO62が新しいデータ
をシフトして出力するようにさせる。このクロック信号
の周波数は約50MHzのような適当な値とすることが
できる。ホストバスインターフェースおよびFIFO6
2は、チップ60上に配置されたアップ/ダウンカウン
タ70からバス69を通って送られるデータも受けるこ
とができる。このバス69上のデータはオフチップGU
I FIFOメモリ30、ホストバスおよびインターフ
ェースFIFO62およびオンチップGUIハードウェ
アFIFO98内で利用できる総記憶量を示す。このデ
ータはグラフィックコマンドの伝送を中止することを決
定するよう、デバイスドライバソフトウェアによって使
用できる。
【0050】ホストバスインターフェースおよびFIF
O62の出力は単極双投構造として略図で示されたスイ
ッチ72内の移動可能なアームへ送られる。実際には極
数はバスの幅(32幅)に対応している。このスイッチ
72はチップ60上に配置されたステージ74内に含ま
れるように示されており、バススイッチバイパスバスと
して表示されている。このバススイッチバイパスバス7
4にはスイッチ72に対応する単極双投スイッチ76も
含まれる。これらスイッチ72および76は、説明のた
め機械式スイッチとして示されているが、これらスイッ
チは集積回路チップ60上に配置されたトランジスタか
ら形成されるような多極電子スイッチを構成することが
好ましいと解される。
【0051】スイッチ72および76の上部固定接点
(上部接点)は接続ラインによって共通となっている。
スイッチ72および76の他の固定接点(下部接点)
は、ディスプレイメモリ24内のオフチップGUI F
IFOメモリ30(図2にも示されている)の入力端お
よび出力端にライン73および75を通してそれぞれ接
続されている。GUI FIFOメモリ30の入力には
バス73を通してコマンドが書き込まれ、GUI FI
FOメモリの出力からはバス75を通して読み出され
る。これらコマンドは適当な周波数、例えば約25MH
zでオフチップGUIFIFO30(図2にも示されて
いる)との間で送ることができる。この周波数はFIF
O62からコマンドをクロックアウトできる周波数より
も低い。しかしながら、本発明の範囲から逸脱すること
なくFIFO62の出力周波数以下の周波数でFIFO
30を通してコマンドを送ることができる。
【0052】図5にはスイッチ72および76の作動が
示されており、これらスイッチノ作動はチップ60上に
配置されたGUI FIFOコントローラ82(図6)
からライン81(バススイッチ制御装置と称される)を
通ってスイッチの可動アームへ送られる入力信号によっ
て制御される。コントローラ82はホストバスインター
フェースFIFOコントローラ66からのライン84上
の新しい出力と称される入力信号を受け、FIFOから
新しいデータリクエストライン86を通してコントロー
ラ66に新しいデータを出力することをリクエストす
る。
【0053】図5内のアップ/ダウンカウンタ70は、
図6内のGUI FIFOコントローラ82へいくつか
の接続点を有する。適当な周波数、例えば約50MHz
のクロック信号がコントローラ82からライン88を通
ってカウンタ70へ送られる。このクロック信号はU/
Dすなわちアップ/ダウン制御ライン70の論理レベル
に従ってアップ/ダウンカウンタ70が1カウントだけ
アップまたはダウンカウントさせる。カウンタ70の実
際のカウント数はバス92を通してコントローラ82に
モニターされている。カウンタ70はオフチップのGU
I FIFO30内のコマンド数を示す。同じカウント
数はオフチップのFIFO30内に残っている利用可能
な記憶スペースを判断するのにも使用できる。この情報
は図5内のライン60を通してホストバスインターフェ
ース62に与えられる。
【0054】GUI FIFOコントローラ82(図
6)とアップ/ダウンカウンタ96との間も同じような
接続がなされている。アップ/ダウンカウンタ96はチ
ップ60に配置されたGUIハードウェアFIFO98
内のコマンド数を表示する。GUI FIFOコントロ
ーラ82とアップ/ダウンカウンタ96との間の接続の
1つはライン100を通して行われ、このラインは50
MHzのような適当な周波数のクロック信号をコントロ
ーラ82からカウンタ96へ送るようになっている。こ
のクロック信号はU/Dすなわちアップ/ダウン制御ラ
イン102の論理レベルに従って、アップ/ダウンカウ
ンタに1カウントだけアップカウントまたはダウンカウ
ントさせる。これら接続のうちの第3接続は、バス10
4を通して行われ、オンチップGUIハードウェアFI
FO98に記憶されたコマンド数をコントローラ82に
表示する。
【0055】オンチップGUIハードウェアFIFO9
8は限られた数のコマンドを記憶する。例えば、このF
IFO98は8コマンドの容量を有することができる。
8はBLITコマンド内のワード数を構成するので、好
ましい数である。BLITは一般に図1のグラフィック
デバイスインターフェースソフトウェアによって発生さ
れる2つの重ねられた四角形のコーナーを定義する。F
IFO98はバス106を通してスイッチ76(図6)
の可動アーム上のコマンドを受ける。FIFO98はこ
れらコマンドをバス108を通し、チップ60上のオン
チップグラフィックエンジン110(図6)へ送る。こ
れらコマンドは適当な周波数、例えば約50MHzでバ
ス108を通過できる。
【0056】図6に示されたオンチップグラフィックエ
ンジン110はグラフィックコマンドをラスター化し、
ピクセルデータをバス112を通し、図2に示されたフ
レームバッファメモリ26へ与える。このピクセルデー
タはフレームバッファメモリ26へ書き込まれる。フレ
ームバッファメモリ26からのビデオ出力データは図2
にも示されているバス36へ送られる。この出力は適当
な周波数、例えば約66MHzでシリアルに与えること
ができる。66MHzもの高い周波数でワイドバスシリ
アル出力をするのに多数のVRAMチップを使用でき
る。
【0057】オンチップグラフィックエンジン110は
チップ60上に配置されたRAMコントローラ114に
対しライン118を通してアドレスも与えるようになっ
ている。このRAMコントローラ114はフレームバッ
ファ26内での読み出しおよび書き込み操作のためのア
ドレスを制御する信号をライン116上に発生する。こ
のRAMコントローラ114はGUI FIFOコント
ローラ82からバス119を通過する同様なアドレス制
御信号に対する仲裁も行う。
【0058】図2内のCPU12からのコマンドはホス
トバス14を通過してホストバスインターフェースおよ
びFIFO62に到着する。図5および図6に示された
システムが正常に作動している間、コマンドはコマンド
入力FIFO62およびスイッチ72および76(これ
らスイッチの可動アームが上部位置にある場合)、およ
びバス106を通ってコマンド出力FIFO98(図
6)に至る。これを通過するコマンドが一定時間遅延し
た後、出力FIFO98はこれらコマンドをバス108
を通してオンチップグラフィックエンジン110へ送
る。これらコマンドはフレームバッファ26へ出力する
よう、グラフィックデータをラスター化する際にグラフ
ィックエンジン110の作動を制御する。
【0059】この結果生じたピクセルデータはフレーム
バッファにビデオ画像を記憶するためのフレームバッフ
ァ26へ送られる。フレームバッファへのピクセルデー
タの書き込みはグラフィックエンジン110からメモリ
アドレスバス118を通してRAMコントローラ114
へ送られるアドレスによって制御される。このRAMコ
ントローラ114はグラフィックエンジン118からの
ピクセルデータをフレームバッファ26内の画像位置へ
書き込み仲裁をし、GUI FIFOコントローラ82
によって与えられたアドレスに従い、オフチップGUI
FIFOメモリ30内にコマンドFIFO情報を書き
込む。
【0060】カウンタ96は各時間においてFIFO9
8内のコマンド数を表示し、この表示をバス92に与え
る。GUIハードウェアFIFO98がフル状態となる
ことは時々ある。かかる状況下では、入力FIFO62
(図5)からの次のコマンドは出力FIFO98内に進
むことはできない。このような状況が生じると、GUI
FIFOコントローラ82(図6)はライン81を通
してスイッチ92および96(図5))へ信号を送り、
スイッチの可動アームが上部固定接点との係合状態から
下部の固定接点へ移動するようにトリガーする。これに
より、コマンドは入力FIFO62からスイッチ72を
通ってディスプレイメモリ24内のオフチップGUI
FIFOメモリ30へ送られる。これらコマンドは上記
のようにグラフィックデータ内のデータの処理を制御す
るものである。
【0061】オフチップGUI FIFOメモリ30の
記憶容量は、ユーザーの要求すなわちニーズに従って調
節自在にできる。例えばメモリ30は約512ワード〜
64000ワードの間の調節可能なレンジ内で多数のワ
ードを記憶できる。FIFO30に対するワード数を選
択するに当たり、ユーザーはエクイティ(equit
y)をバランスさせなければならない。ユーザーがFI
FO30に対する記憶容量を比較的小さくする場合、ユ
ーザーはグラフィックフレームバッファメモリ26およ
びビデオ入力メモリ28の記憶容量を最大にする。この
双方のメモリは図2に示された総VRAM記憶容量を共
用している。しかしながらユーザーはFIFO30がす
ぐにフル状態となる可能性を大きくしている。FIFO
62からの追加コマンドを記憶する場所はなくなるの
で、このことは好ましいことではない。他方、ユーザー
がFIFO30の記憶容量を増せば、FIFOはすぐに
はフル状態とはならないが、バッファメモリ26および
ビデオ入力メモリ28のために利用可能なスペースは少
なくなる。
【0062】チップ18にFIFO62および98を設
けたことにより、ある利点が得られている。FIFO6
2および98はチップ18上にあるので、オフチップG
UIFIFOメモリ30よりも高速レートで作動するた
め、このような結果となっている。このため、本発明に
おけるハードウェアおよびソフトウェアはチップ18上
のFIFO62および98内でできるだけ多くのコマン
ドを発生するように作動するようになっている。
【0063】入力FIFO62と出力FIFO98との
間のコマンドループ内にFIFO30を挿入すると、こ
のFIFOはコマンドを記憶するための補助メモリとし
て働く。このFIFO30はFIFO内に残っているコ
マンドがなくなるまで、補助記憶装置として働き、作動
し続ける。このとき、各時間におけるFIFO30内の
コマンド数を示すカウンター70内のカウント数は0カ
ウントを表示する。これにより、カウンター70からの
カウント表示を受けているGUI FIFOコントロー
ラ82がスイッチ72および76の可動アームを上部固
定接点に係合させる。FIFO62およびFIFO98
は(メモリ30を通過させることなく)CPUホストバ
ス14からのコマンドを直接グラフィックエンジン11
0へ送って処理を行うように再び作動する。
【0064】ソフトウェアはオフチップGUI FIF
O30およびオンチップFIFO62および98内の任
意の時間におけるコマンドの総数の実行予想値を維持す
る。オフチップGUI FIFO30およびオンチップ
GUI FIFO62および98が実質的にフル状態と
なるようなソフトウェアの予想値となった場合、ソフト
ウェアはFIFO62および98、およびメモリ130
内で残っている利用可能な記憶容量を決定するため、カ
ウンタ130(図3a(1))をポーリングする。カウ
ンタ130はオンチップFIFO62および98、およ
びオフチップGUI FIFOメモリ30内のコマンド
の総数を各時間に表示する。ソフトウェアは、オンチッ
プFIFO62に転送されるコマンドしか知っておら
ず、FIFO98から転送されるコマンドについては知
らないので、このようなポーリングが行われる。このよ
うな質問がされると(図5)、カウンタ130はオンチ
ップFIFO62および98およびオンチップGUI
FIFOメモリ30内のコマンド総数をFIFO記憶容
量バス69を通してホストバスインターフェース62へ
送る。次にホストバスインターフェース62はこの情報
をバス14を通して送り、ソフトウェア内の記憶容量カ
ウントをカウンタ130によって与えられている実際の
カウント数に更新する。
【0065】カウンタ130は図5および図6ではオン
チップおよびオフチップFIFOのためのアップ/ダウ
ンカウンタと表示されている。FIFO98から更にF
IFO62へ送られるコマンドを表示するために、アッ
プ−ダウンライン131が設けられている。これにより
バス69はFIFO62および98内、更にGUIFI
FOメモリ30内のコマンドの総数を各時間に表示す
る。カウンタ130に接続されたライン132にクロッ
ク信号が与えられる。
【0066】このタイプのソフトウェアからカウンタ1
30への問い合わせは比較的頻繁に行われないと解され
る。その1つの理由は、オフチップGUI FIFO3
0の容量が一般に約1Kワードと大きく選択されている
からである。また、ほぼフル状態となる頻度はオフチッ
プGUI FIFO30の容量が12コマンドから64
000コマンドへ増加するにつれて、しだいに減少する
とも理解される。
【0067】ホストバスインターフェースFIFO62
がフル状態となることは頻繁に生じ得る。このような状
態が生じると、ホストバスインターフェースFIFOコ
ントローラ66はCPUレディライン65上の電圧を低
くする。Dレディライン65上の電圧が低くなると、C
PUは周辺機器を作動するための、例えばディスクドラ
イブデータの送信を行うための、付加的コマンドを、図
2内のローカルバスをバス14を通して図2内メモリま
たは周辺機器23へ送ることが阻止される。
【0068】CPUレディライン65が数マイクロ秒の
ような長時間にわたって連続して低レベルの状態が続け
ば、ディスクドライブデータが失われることがある。こ
のような状態が生じないように、コマンドはCPU12
からホストバスインターフェースおよびFIFO62
(図5))へ送られる。このようなことはオフチップG
UI FIFO30がフル状態から1ワード以上のワー
ドが不足している時に限り生じる。オフチップGUI
FIFO30が入力FIFO62からのこのワードを取
り込むと、このFIFOはバス122を通してGUI
FIFOコントローラ82へコマンドを送る。これによ
りGUI FIFOコントローラ82は入力FIFO6
2内のコマンドを入力FIFO内の右側へ1ポジション
だけシフトし、この入力FIFOを新しいコマンドワー
ドを記憶するのに利用できるようにする。インターフェ
ースFIFOコントローラ66は、次にレディライン6
5上の電圧をハイレベルにする。CPU12はこのとき
図2内の周辺インターフェースを通してコマンドを送
り、メモリまたは周辺機器23を作動させることができ
る。
【0069】オフチップGUI FIFO30がフル状
態から1ワード不足しているとデバイスドライブソフト
ウェアが予想すると、CPUからのグラフィックコマン
ドの流れが中止される。次にFIFO30内で利用でき
る記憶容量がアップ/ダウンカウンタ70からライン6
9を介しデバイスドライブソフトウェアによってポーリ
ングされる。オフチップGUI FIFO30内に残っ
ている利用可能なカウント数がソフトウェア内で更新さ
れ、GUI FIFO30内で利用できる予想された記
憶容量は1よりも多くなるまで、CPU12からはグラ
フィックコマンドが送られない。グラフィックコマンド
が中止されている間、CPUレディライン65上の電圧
はハイレベルとなっているので、ローカルバスおよび周
辺バスを通して他のコマンドは送信できる。
【0070】図7および図8は図5および図6に示し、
これまで述べた実施例と同様な実施例を示す。しかしな
がら図7および図8に示された実施例はディスプレイメ
モリ24bとして同期式ダイナミックランダムアクセス
メモリ(DRAM)を使用している。メモリは単一同期
パラレルポートを有しているがGUI FIFO30お
よびフレームバッファメモリ26の内外への信号フロー
は、解説のため4本の分離したライン上に略図として示
されている。このため、ディスプレイメモリ24内のフ
レームバッファ26から読み出されたピクセルは、バス
130を通して集積回路チップ60へ送られる。次に集
積回路チップ60はバス132を通してRAMDACス
テージまたはPACDACステージへピクセルデータを
送る。このピクセルデータは適当な周波数、例えば50
MHzでバス130および132を通過できる。
【0071】図9および10は、図4のグラフィックユ
ーザーインターフェース(GUI)18cを更に詳細に
示すが、グラフィックユーザーインターフェース18と
ディスプレイメモリ24cの関係は更に詳細には示して
いない。この理由は、グラフィックユーザーインターフ
ェース18cおよびディスプレイメモリ24cの双方は
図4内の高速周辺バス54と通信するからである。この
高速周辺バス54は図9および図10にも示されてい
る。
【0072】先の実施例と同じように、グラフィックユ
ーザーインターフェース18cは集積回路チップに設け
られており、このチップには図9および図10では番号
60cがつけられている。更にチップは図5および図
6、および図7および図8に示されるステージのすべて
を含む。これらステージは図5および図6に示された対
応するステージと同じ番号がつけられているが、これら
番号の後に添え字cがついている。
【0073】チップには高速メモリバス補助制御装置兼
インターフェース140も設けられている。この補助制
御装置兼インターフェース140は入力スイッチ72か
らの高速バス54にグラフィックコマンドを書き込み、
バス54からグラフィックコマンドを読み出し、バス5
4からこれより接続されている出力スイッチ76内に読
み出す。グラフィックエンジン110cはライン112
cを通して補助制御装置兼インターフェース140にピ
クセルデータを書き込み、インターフェース140は次
にこのピクセルデータをバス54へ送る。グラフィック
エンジン110cからのピクセルアドレスはライン11
8cを通して補助制御装置兼インターフェース140に
書き込まれ、インターフェース140は次にこのピクセ
ルアドレスをバス54へ送る。GUI FIFOコント
ローラ82cはグラフィックコマンドの書き込み/読み
出しアドレスをライン116cを通して補助制御装置兼
インターフェース140へ与え、コマンドワードをバス
54に与える。これらコマンドは補助制御装置兼インタ
ーフェース140からバス142を通してホストバスイ
ンターフェースおよびFIFO62cへ転送される。バ
ス144を通して補助制御装置兼インターフェース14
0とホストバスインターフェースFIFOコントローラ
との間でステータスおよび制御情報が送られる。
【0074】先に述べたように、図5および図6は、か
かるシステムの作動をより理解できるように、ディスプ
レイメモリ24への接続を略図で示している。
【0075】図11および図12は、図5および図6と
実質的に同じであるが、スイッチ72および76とオフ
チップGUI FIFO70との間にそれぞれ延びてい
るバス112および116、ならびにバス73および7
5は、32ビットのデータワードを与えるバス150、
制御バス152および10ビットのアドレスバス154
と置換されている点が異なる。これらバス150、15
2および154はディスプレイメモリバスインターフェ
ース156とディスプレイメモリ24との間の通信を行
うものである。バスインターフェース156はスイッチ
72からバス158を通過するコマンド書き込み情報お
よびオフチップRAMコントローラ114からバス16
0を通る書き込み/読み出しアドレス制御情報を受け、
バス161を通してスイッチ76へコマンド読み出し情
報を与える。ピクセル書き込みデータはオンチップグラ
フィックエンジン110からバス162を通して供給さ
れる。
【0076】図13および図14は、図7および図8と
実質的に同じであるが、これら図は、図11および図1
2に対する上記のような置換が行われている点で異な
る。しかしながら、図11および図12に示された実施
例における個々の参照数字は、図11および図12と同
じであるが、添え字(b)が参照番号の後についている
点が異なる。例えば図14における表示150bは、図
11における参照番号150に対応している。
【0077】上記システムおよび方法は重要な所定の利
点を有する。これらはソフトウェアからハードウェアへ
のコマンドの転送、およびハードウェアがかかるコマン
ドを処理したかどうかを判断するよう、ソフトウェアに
よるハードウェアの頻繁でないポーリングをしながら、
ハードウェア内でかかるコマンドを処理することを可能
にしている。後に理解できるように、このことにより本
発明にかかわるシステムおよび方法がCPUからのコマ
ンドを処理できるレートが大幅に増加している。
【0078】本発明にかかわるシステムおよび方法は、
集積回路チップに容量の限られたFIFO62および9
8を設け、更にチップの外のディスプレイメモリ内にメ
モリリザーバ30を設けている点でも有利である。かか
る構造とすることにより、コマンドは通常はCPUから
チップ上の容量の限られたFIFO62および98に高
レートで通過し、処理できるようになっている。限られ
た容量のFIFO62および98がフル状態となると、
これらコマンドはFIFO62を通してFIFOメモリ
130へ送られ、メモリ130から他のFIFO98へ
送られ、処理される。本発明にかかわるシステムおよび
方法は、FIFOおよびメモリリザーバが実質的にフル
状態となった時に、CPUが他の機器、例えば周辺機器
と通信可能とする電圧をレディラインが発生するように
作動するという点で更に有利である。
【0079】特定の実施例を参照して本発明について説
明し、開示したが、本発明にかかわる要旨は当業者には
明らかであり、他の多数の実施例で使用できる。従っ
て、本発明は特許請求の範囲のみによって限定されるも
のである。
【図面の簡単な説明】
【図1】本発明にかかわるシステム内のソフトウェアお
よびハードウェアの全体の構造を示す。
【図2】中央処理ユニット(CPU)からグラフィック
ユーザーインターフェースおよびディスプレイメモリを
含むハードウェアへコマンドを与え、かかるコマンドに
従ってディスプレイメモリ内のデータ(例えばグラフィ
ックデータ)を処理するためのローカルバスを使用する
本発明の一実施例を構成するシステムの簡略ブロック図
である。
【図3】中央処理ユニット(CPU)からグラフィック
ユーザーインターフェースおよびディスプレイメモリを
含むハードウェアへコマンドを与え、かかるコマンドに
従ってディスプレイメモリ内のデータ(例えばグラフィ
ックデータ)を処理するための周辺バスを使用する本発
明の別の実施例を構成するシステムの簡略ブロック図で
ある。
【図4】中央処理ユニット(CPU)からグラフィック
ユーザーインターフェースおよび高速ランダムアクセス
共用メインメモリを含むハードウェアへコマンドを与
え、かかるコマンドに従ってメインメモリ内のデータ
(例えばグラフィックデータ)を処理するための、ハー
ドウェアのすべてに共通な高速バスを使用する本発明の
第3実施例を構成するシステムの簡略ブロック図であ
る。
【図5】ディスプレイメモリがビデオランダムアクセス
メモリ(VRAM)であるときの、図2に示されたシス
テムのうちのグラフィックユーザーインターフェースお
よびディスプレイメモリを含む、一部をブロックで示し
た、多少詳細なシステム略図である。
【図6】ディスプレイメモリがビデオランダムアクセス
メモリ(VRAM)であるときの、図2に示されたシス
テムのうちのグラフィックユーザーインターフェースお
よびディスプレイメモリを含む、一部をブロックで示し
た、多少詳細なシステム略図である。
【図7】ディスプレイメモリが同期式ダイナミックラン
ダムアクセスメモリ(DRAM)であるときの、図2に
示されたシステムのうちのグラフィックユーザーインタ
ーフェースおよびディスプレイメモリを含む、一部をブ
ロックで示した、多少詳細なシステム略図である。
【図8】ディスプレイメモリが同期式ダイナミックラン
ダムアクセスメモリ(DRAM)であるときの、図2に
示されたシステムのうちのグラフィックユーザーインタ
ーフェースおよびディスプレイメモリを含む、一部をブ
ロックで示した、多少詳細なシステム略図である。
【図9】ディスプレイメモリが高速ランダム共用メイン
メモリであるときの、図2に示されたシステムのうちの
グラフィックユーザーインターフェースおよびディスプ
レイメモリを含む、一部をブロックで示した、多少詳細
なシステム略図である。
【図10】ディスプレイメモリが高速ランダム共用メイ
ンメモリであるときの、図2aに示されたシステムのう
ちのグラフィックユーザーインターフェースおよびディ
スプレイメモリを含む、一部をブロックで示した、多少
詳細なシステム略図である。
【図11】グラフィックユーザーインターフェースとデ
ィスプレイメモリとの間でのコマンド、アドレスおよび
データの通過を、図5よりも実際的に示した、図5に類
似する、多少詳細なシステム図である。
【図12】グラフィックユーザーインターフェースとデ
ィスプレイメモリとの間でのコマンド、アドレスおよび
データの通過を、図6よりも実際的に示した、図6に類
似する、多少詳細なシステム図である。
【図13】グラフィックユーザーインターフェースとデ
ィスプレイメモリとの間でのコマンド、アドレスおよび
データの通過を、図7よりも実際的に示した、図7に類
似する、多少詳細なシステム図である。
【図14】グラフィックユーザーインターフェースとデ
ィスプレイメモリとの間でのコマンド、アドレスおよび
データの通過を、図8よりも実際的に示した、図8に類
似する、多少詳細なシステム図である。
【符号の説明】
12 中央処理ユニット 17 CPUメインメモリ 18 グラフィックユーザーインターフェース 24 ビデオランダムアクセスメモリ

Claims (105)

    【特許請求の範囲】
  1. 【請求項1】 コマンドを発生するための手段と、 第1および第2端部を有し、コマンド発生手段からの入
    力コマンドを第1端部で受け、受信した順と同じ順で第
    2端部からコマンドを送るよう構成された、第1シフト
    レジスタを提供するための第1手段と、 第1および第2端部を有し、第1手段からのコマンドを
    第1端部で受け、受信した順と同じ順で第2端部からコ
    マンドを送るよう構成された、第2シフトレジスタを提
    供するための第2手段と、 第1および第2端部を有し、第1手段からのコマンドを
    第1端部で受け、受信した順と同じ順で第2端部からコ
    マンドを送るよう構成された、第3シフトレジスタを提
    供するための第3手段と、 第1および第2作動関係を有し、第1関係では第1手段
    の第2端部から第2手段の第1端部へコマンドを送るよ
    うに作動し、第2関係では第1手段の第2端部から第3
    手段の第1端部へコマンドを送り、次に、第3手段の第
    2端部から第2手段の第1端部へ送るように作動するよ
    うになっている第4手段と、 第2手段における特定の作動状態が発生すると、第1作
    動関係から第2作動関係へと第4手段を変更するための
    第5手段と、 データを発生するための第6手段と、 第2手段の第2端部から送られたコマンドに従って第6
    手段からのデータを処理するための第7手段と共に使用
    するための装置。
  2. 【請求項2】 第3手段および第6手段はディスプレイ
    メモリの異なる部分に設けられている、請求項1記載の
    装置。
  3. 【請求項3】集積回路チップが設けられており、この集
    積回路チップ上に第1および第2手段が設けられ、集積
    回路チップの外にディスプレイメモリが配置されてい
    る、請求項2記載の装置。
  4. 【請求項4】 第4手段は第1作動関係から第2作動関
    係へ変化した後、第3手段において特定の作動関係が発
    生するまで第2作動関係のままであり、第3手段におい
    て特定の作動関係が発生すると、この第4手段は第1の
    作動関係に変化する、請求項2記載の装置。
  5. 【請求項5】 第1および第2端部を有し、コマンド発
    生手段からの入力コマンドを第1の特定のレートで第1
    端部において受け、受信した順と同じ順で第1の特定の
    レートと異なる第2の特定レートで第2端部からコマン
    ドを送るように構成された、第1シフトレジスタを提供
    するための第1手段と、 第1および第2端部を有し、第1端部において第2の特
    定レートで入力コマンドを受け、受信した順と同じ順で
    第2の特定レートで第2端部からコマンドを送るように
    構成された、第2シフトレジスタを提供するための第2
    手段と、 第1手段の第2端部からコマンドを受け、第1の特定レ
    ートと異なる第3の特定レートで第2手段の第1端部へ
    コマンドを送るための第3手段と、 第1および第2の関係で作動でき、第1関係では第2の
    特定のレートで第1の手段の第2端部から第2手段の第
    1端部へ直接コマンドを送るよう作動でき、第2関係で
    は第2の特定のレートで第1手段の第2端部から第3手
    段へコマンドを送り、次に第2の特定レートで第2手段
    の第1端部へコマンドを送るよう作動できる第4手段
    と、 データを発生するための第5手段と、 第2手段の第2端部を通過するコマンドに従って第5手
    段からのデータを処理するための第6手段と共に使用す
    るための装置。
  6. 【請求項6】 第3手段は第2手段の第1端部へコマン
    ドを送る前に第1手段の第2端部から第3手段へ送られ
    るコマンドを遅延するように作動できる、請求項5記載
    の装置。
  7. 【請求項7】 第3の特定レートで第1手段の第2端部
    から第3手段を通って第2手段の第1端部へコマンドが
    送られている間、第4手段は第2関係で作動可能であ
    る、請求項6記載の装置。
  8. 【請求項8】 第1の特定レートで第1手段の第2端部
    から第2手段の第1端部へ送られるコマンドによって第
    2手段が満たされるまで、第4手段は第1関係で作動で
    き、その後、第3の特定レートで第1手段の第2端部か
    ら第3手段を通って第2手段の第1端部へコマンドが送
    られている間、第4手段は第2関係で作動可能である、
    請求項5記載の装置。
  9. 【請求項9】 各時間において、第2手段内のコマンド
    数を表示するための第7手段と、 第2手段内のコマンドの特定カウント数に応じて第4手
    段を第1作動関係から第2作動関係へ変更するための手
    段とを備えた、請求項5記載の装置。
  10. 【請求項10】 第2手段における特定カウント数は第
    2手段がコマンドで満たされていることを表示し、その
    後、第3手段は第3手段にコマンドがなくなるまで第1
    手段を通過するコマンドを受ける、請求項9記載の装
    置。
  11. 【請求項11】 コマンドを発生するための手段と、 コマンド発生手段からのコマンドを受け、第1の特定の
    遅延の後に第1手段からコマンドを送るための第1手段
    と、 第1手段からのコマンドを受け、第2の特定の遅延の後
    に第2手段からコマンドを送るための第2手段と、 第1手段からのコマンドを受け、第3の特定の遅延の後
    に第3手段から第2手段へコマンドを送るための第3手
    段と、 第1、第2および第3手段に作動的に結合され、第1お
    よび第2作動関係を有し、第1作動関係では第1の特定
    の遅延の後に第1手段からのコマンドを第2手段へ送る
    よう作動し、第2の関係では第1の特定の遅延の後に第
    1手段から第3手段へコマンドを送り、その後、第3の
    特定の遅延の後に第3手段から第2手段へコマンドを送
    るよう作動する第4手段と、 第2手段が第1手段からのコマンドを受けることができ
    なくなるまで、第4手段を第1関係で作動させ、その
    後、第4手段を第2関係で作動させるための第5手段と
    を備えた装置。
  12. 【請求項12】 第4手段が第2関係で作動を開始した
    後、第3手段にコマンドがなくなるまで第5手段は第4
    手段を第2作動関係で作動させる、請求項11記載の装
    置。
  13. 【請求項13】 第1手段は第1の特定の容量を有し、
    第2手段は第1の特定容量よりも多い第2の特定の容量
    を有し、第3手段は第2の特定の容量よりも大きい第3
    の特定の容量を有し、 第4手段の作動が第1関係から第2関係に変化した後、
    第3手段にコマンドが存在する間、第4手段の作動を第
    1の関係に維持するための第6手段を備えた、請求項1
    1記載の装置。
  14. 【請求項14】 第1手段がコマンドで満たされると、
    コマンド発生手段からの更なるコマンドを第1手段が受
    けるのを阻止するように働き、第1手段が部分的に空の
    状態になるまで作動する第6手段を備えた、請求項11
    記載の装置。
  15. 【請求項15】 第5手段は、第4手段の作動が第2関
    係に変化した後、第3手段にコマンドがなくなるまで第
    4手段を第2の作動関係で作動させ、 第6手段は第1手段がコマンドで満たされるとコマンド
    発生手段からの更なるコマンドを第1手段が受けないよ
    うにし、 更に周辺機器を備え、 コマンド発生手段はレディ状態と非レディ状態を有し、
    レディ状態ではコマンドを周辺手段へ送るよう作動し、
    非レディ状態ではかかるコマンドの送りを阻止するよう
    働き、 第1手段がコマンドで満たされると非レディ状態でコマ
    ンド発生手段を作動させるための第7手段と、 第1手段が部分的に空となると、コマンド発生手段から
    第1手段へ更なるコマンドを導入し、コマンド発生手段
    を非レディ状態からレディ状態へ変更するための第8手
    段とを備えた、請求項13記載の装置。
  16. 【請求項16】 情報の処理を制御するための複数のコ
    マンドを発生する工程と、 出力端を有し、この出力端からコマンドを送るように作
    動する第1シフトレジスタ手段の入力端へ、受信した順
    と同じ順で第1の特定の遅延の後にコマンドを送る工程
    と、 第1シフトレジスタの出力端から、出力端を有し、かか
    る出力端からコマンドを送るように作動する第2シフト
    レジスタ手段の入力端へ、受信した順と同じ順で第2の
    特定の遅延の後にコマンドを送る工程と、 第1シフトレジスタ手段の出力端から、出力端を有し、
    かかる出力端からコマンドを送るように作動する第3シ
    フトレジスタ手段の入力端へ、第3の所定の遅延の後、
    受信した順と同じ順でコマンドを送り、上記第3シフト
    レジスタ手段の出力端から第2シフトレジスタ手段の入
    力端へコマンドを送る工程と、 通常は、第1のシフトレジスタ手段の出力端から第2の
    シフトレジスタ手段の入力端へコマンドを送る工程と、 第2シフトレジスタ手段が過負荷状態になると、第1シ
    フトレジスタ手段の出力端から第3シフトレジスタ手段
    の入力端へコマンドを送る工程と、 その後、第3シフトレジスタ手段にコマンドがなくなる
    まで第1シフトレジスタ手段の出力端から第3シフトレ
    ジスタの入力端へコマンドを送り続ける工程とを備えた
    情報処理方法。
  17. 【請求項17】 各時間において、第1、第2および第
    3シフトレジスタ手段が総体的に過負荷状態となる程度
    の予想値を発生する工程と、 予想値が過負荷状態が発生した値となった時、第1、第
    2および第3シフトレジスタが総体的に過負荷状態とな
    る実際の程度を更新する工程と、 第1、第2および第3シフトレジスタにおけるコマンド
    の過負荷状態が実際に相対的に生じた時、第1シフトレ
    ジスタ手段へのコマンドの転送を中断する工程とを備え
    た、請求項16記載の方法。
  18. 【請求項18】 集積回路チップ上に第1および第2シ
    フトレジスタ手段を設ける工程と、 集積回路チップとは別のディスプレイメモリ内に第3シ
    フトレジスタ手段を設ける工程とを備えた、請求項16
    記載の方法。
  19. 【請求項19】 第3シフトレジスタ手段は過負荷状態
    となる程度の予想値を各時間に発生する工程がソフトウ
    ェア内に設けられており、ソフトウェア内における予想
    値が過負荷状態が発生した値となった時に、第1、第2
    および第3シフトレジスタが総体的に過負荷状態となる
    実際の程度の更新をソフトウェアで行う、請求項16記
    載の方法。
  20. 【請求項20】 ディスプレイメモリ内でグラフィック
    データを発生する工程と、 第2シフトレジスタ手段の出力端からのコマンドに従っ
    てグラフィックデータを処理する工程とを備えた、請求
    項18記載の方法。
  21. 【請求項21】 第1シフトレジスタ手段は第1の特定
    のレートでコマンドが第1シフトレジスタ手段を通過す
    るようにし、 第2シフトレジスタ手段は第1の特定のレートでコマン
    ドが第2シフトレジスタ手段を通過するようにし、 第3シフトレジスタ手段は第1の特定のレートと異なる
    第2の特定のレートでコマンドが第3シフトレジスタ手
    段を通過するようにする、請求項16記載の方法。
  22. 【請求項22】 各時間において第2シフトレジスタ手
    段内のコマンド数を表示するように、第2シフトレジス
    タ手段に進入し、これを離れるコマンドをカウントし、 各時間において第3シフトレジスタ手段内のコマンド数
    を表示するように、第3シフトレジスタ手段に進入し、
    これを離れるコマンドをカウントし、 第2および第3シフトレジスタ手段内のコマンドのカウ
    ント数を使用して、第1フトレジスタから直接第2シフ
    トレジスタ手段へ送られるコマンドの通過、または第1
    シフトレジスタ手段から第3シフトレジスタ手段を通
    り、第2シフトレジスタ手段へ送られるコマンドの通過
    を制御する、請求項16記載の方法。
  23. 【請求項23】 集積回路チップに第1および第2シフ
    トレジスタ手段を設ける工程と、 集積回路チップとは別のディスプレイメモリ内に第3シ
    フトレジスタ手段を設ける工程と、 ディスプレイメモリ内にグラフィックデータを設ける工
    程と、 第2シフトレジスタ手段の出力端からのコマンドに従っ
    てグラフィックデータを処理する工程とを備えた、請求
    項22記載の方法。
  24. 【請求項24】 コマンドを発生するように製造された
    手段と、 コマンド発生手段からのコマンドを受け、これらコマン
    ドを第1の特定のレートで第1手段を通過させる第1手
    段と、 第1手段からのコマンドを受け、これらコマンドを第1
    の特定のレートで第2手段を通過させるための第2手段
    と、 第1手段からのコマンドを受け、これらコマンドを第1
    の特定レートと異なる第2の特定レートで第3手段を通
    過させるための第3手段と、 第2手段内のコマンド数に応答し、第1手段から第2手
    段へのコマンドの通過を第1手段から第3手段を介する
    第2手段へのコマンドの通過に変更するための第4手段
    と、 その後、第3手段に特定の数のコマンドが存在するまで
    第1手段から第3手段を介する第2手段までのコマンド
    の通過を続けるための第5手段と共に使用するための装
    置。
  25. 【請求項25】 第5手段は第3手段にコマンドがなく
    なるまで第1手段から第3手段を介する第2手段までの
    コマンドの通過を続け、 第6手段はデータを記憶し、 第7手段は第2手段からのコマンドに従って第6手段か
    らのデータを処理する、請求項24記載の装置。
  26. 【請求項26】 第4手段は第1および第2関係におい
    て作動するスイッチ手段を含み、該スイッチ手段は第1
    関係においてコマンドを第1手段から第2手段へ通過さ
    せるよう作動し、第2関係ではコマンドを第1手段から
    第3手段を介し、第2手段へ通過させるように作動す
    る、請求項25記載の装置。
  27. 【請求項27】 第4手段は各時間において第2手段内
    のコマンド数を表示するよう、第2手段に作動的に結合
    されたカウンタ手段を含み、第4手段はカウンタ手段が
    第2手段内のコマンドの特定の数を表示すると、第1作
    動関係から第2作動関係へ変化する、請求項26記載の
    装置。
  28. 【請求項28】 カウンタ手段が第1カウンタ手段を構
    成し、 第5手段が第3手段内のコマンド数を表示するよう、第
    3手段に作動的に結合された第2カウンタ手段を含み、 第4手段が第1の作動関係から第2の作動関係に変化し
    た後、第3手段内のカウンタ数がゼロの値に達すると第
    2作動関係から第1作動関係へ変化する、請求項27記
    載の装置。
  29. 【請求項29】 複数のコマンドを発生する手段と、 集積回路チップと、 該チップ上に設けられ、コマンド発生手段からのコマン
    ドを受け、受信した順と同じ順で第1手段からコマンド
    を送るための第1メモリ手段と、 チップ上に設けられ、第1メモリ手段からのコマンドを
    受け、受信した順と同じ順で第2メモリ手段からのコマ
    ンドを送るための第2メモリ手段と、 チップの外に設けられており、第1メモリ手段からのコ
    マンドを受け、受信した順と同じ順で第2メモリ手段へ
    コマンドを送るための第3メモリ手段と、 コマンド発生手段から第3メモリ手段へデータを送るた
    めの第1手段と、 第1および第2作動状態を有し、第1状態では第1メモ
    リ手段から第2メモリ手段へコマンドを送るように作動
    し、第2状態では第1メモリ手段から第3メモリ手段を
    介し第2メモリ手段へコマンドを通過するように作動す
    る第2手段と、 第2メモリ手段からのコマンドに従って第3メモリ手段
    内のデータを処理するための第3手段とを備えた装置。
  30. 【請求項30】 第3メモリ手段の第1部分にコマンド
    を記憶し、 第3メモリ手段内の第2部分にデータを記憶する、請求
    項29記載の装置。
  31. 【請求項31】 第2および第3メモリ手段内のコマン
    ド数に応答自在であり、第2手段を第1の特定の時間
    で、第1状態で作動させ、第1の特定の時間とは異なる
    第2の特定の時間で第2手段を第2の状態で作動させる
    ための第4手段とを備えた、請求項29記載の装置。
  32. 【請求項32】 第2メモリ手段内のコマンドの第1の
    特定数に応答自在であり、第2手段の作動を第1状態か
    ら第2状態に変更するための第4手段と、 第3メモリ手段内のコマンドの第2の特定数に応答自在
    であり、第2手段の作動を第2状態から第1状態に変更
    するための第5手段とを備えた、請求項31記載の装
    置。
  33. 【請求項33】 第2メモリ手段はコマンドを記憶する
    ための特定の容量を有し、 メモリ手段のフル容量に対する第2メモリ手段内のコマ
    ンドの記憶に応答自在であり、第2手段を第1作動状態
    から第2作動状態へ変更し、その後、第3メモリ手段内
    にコマンドが存在しないことに応答し、第2手段を第2
    作動状態から第1作動状態へ変更するようになっている
    第4手段を備えた請求項30記載の装置。
  34. 【請求項34】 第2メモリ手段はコマンドを記憶する
    第1の特定の容量を有し、 第2メモリ手段はコマンドを記憶する第2の特定の容量
    を有し、 中央処理ユニットは第1手段とは別の機器へコマンドを
    送るように作動でき、 第2および第3メモリ手段のコマンドの記憶に応答自在
    であり、コマンド発生手段が他の機器にコマンドを送る
    ことを防止するための信号を発生するための第5手段
    と、 第5手段が他の機器へコマンドを送ることを阻止するよ
    う作動した後、第1メモリ手段へのコマンドの送りに応
    答自在であり、その後、中央処理ユニットから他の機器
    へコマンドを送るための第6手段とを備えた、請求項3
    3記載の装置。
  35. 【請求項35】 アプリケーションソフトウェアを設け
    る工程と、 アプリケーションソフトウェアに応答してグラフィック
    デバイスインターフェースソフトウェアを設ける工程
    と、 コマンドを発生するようグラフィックデバイスインター
    フェースソフトウェアに応答してデバイスドライバソフ
    トウェアを設ける工程と、 デバイスドライバソフトウェアからのコマンドを記憶す
    るための第1メモリを設ける工程と、 第1メモリ内にデータを設ける工程と、 第1メモリよりも記憶容量が少ないコマンドを記憶する
    ための第2メモリを設ける工程と、 第1メモリよりも記憶容量の少ないコマンドを記憶する
    ための第3メモリを設ける工程と、 デバイスドライバソフトウェアからのコマンドを第1メ
    モリに送るための工程と、 第1メモリへデータを送ってこの第1メモリに記憶する
    ための工程とを備え、 前記第1、第2および第3メモリの各々はかかるメモリ
    が受信した順と同じ順でメモリからコマンドを送るよう
    に製造されており、 更に第2メモリ内のコマンドを第3メモリへ送るための
    工程と、 第3メモリからのコマンドに従って第1メモリからのデ
    ータを処理するための工程と、 第1メモリにコマンドを記憶する程度を決定する工程
    と、 第3メモリ内に特定の数のコマンドが記憶されると第2
    メモリから第1メモリを通して第3メモリへコマンドを
    送る工程と、 第1メモリにコマンドを記憶する程度を決定する工程
    と、 第1メモリ内のコマンドの数が特定の数よりも少なくな
    るまで、第2メモリから第1メモリを通して第2メモリ
    へ続けてコマンドを送るための工程とを備えた情報処理
    方法。
  36. 【請求項36】 第1、第2および第3メモリ内のコマ
    ンドの総数の予想値をソフトウェア内に設ける工程と、 第1、第2および第3メモリのためにソフトウェア内に
    示されたコマンドの総数が、特定の値に達すると第1、
    第2および第3メモリ内のコマンドの総数をソフトウェ
    アで決定する工程と、 第1メモリ内のコマンド数のソフトウェア内の予想値
    を、ソフトウェア内の第1、第2および第3メモリ内の
    コマンドの総数に置き換える工程と、 第1メモリ内のコマンド数が特定の値に達すると、デバ
    イスドライバソフトウェアから第2メモリへのコマンド
    の導入を中断する工程とを備えた、請求項35記載の方
    法。
  37. 【請求項37】 第3メモリがコマンドでフル状態とな
    るまで、第2メモリから第3メモリへのコマンドの送り
    を続け、 その後、第3メモリが空になるまで、第2メモリから第
    1メモリを介する第3メモリへのコマンドの送りを続
    け、 第1メモリが空になると、第2メモリから第3メモリへ
    再びコマンドの送りを開始する、請求項36記載の方
    法。
  38. 【請求項38】 第1および第2作動状態を有するレデ
    ィ表示を行う工程と、 デバイスドライバソフトウェア
    から第2メモリへコマンドが送られる間、第1状態でレ
    ディ表示を行う工程と、 第1および第3メモリがフル状態となると、第2状態で
    レディ表示を行う工程と、 レディ表示が第1状態となるとデバイスドライバソフト
    ウェアから第1メモリを除く他のステージへコマンドを
    送る工程と、 レディ表示が第2状態となるとデバイスドライバソフト
    ウェアから他のステージへのコマンドの送りを中断する
    工程と、 デバイスドライバソフトウェアから第2メモリへコマン
    ドが送られると第2状態から第1状態へレディ表示を変
    更する工程とを備えた、請求項37記載の方法。
  39. 【請求項39】 コマンドおよびデータを発生するよう
    に製造された手段と、 発生手段からのコマンドを受信するための第1メモリ手
    段と、 発生手段からのデータを受信するための第2メモリ手段
    と、 第1メモリ手段内のコマンドおよび第2メモリ手段内の
    データに応答自在であり、かかるコマンドに従ってデー
    タを処理するための第3手段と、 第1メモリ手段が特定の数のコマンドを記憶すると、発
    生手段からのコマンドを第2メモリ手段へ送り、更に第
    2メモリ手段から第1メモリ手段へコマンドを送るため
    の第4手段と共に使用するための装置。
  40. 【請求項40】 第2メモリ手段のメモリ容量は第1メ
    モリ手段の容量よりも大きく、 第2メモリ手段のコマンド転送レートは第1メモリ手段
    のコマンド転送レートと異なる、請求項39記載の装
    置。
  41. 【請求項41】 発生手段から第2メモリ手段を介し第
    1メモリ手段へコマンドを転送した後、第2メモリ手段
    内のコマンド数が特定の数になると、発生手段から第1
    メモリ手段へコマンドを転送するための第5手段が設け
    られている、請求項39記載の装置。
  42. 【請求項42】 発生手段はコマンドを第1および第2
    メモリ手段を除く他のステージへも送り、 第1および第2メモリ手段が特定の数のコマンドを記憶
    すると、発生手段が他のステージへコマンドを送ること
    を中止させるための第5手段が設けられ、 第5手段の作動に従い、コマンドの他のステージへの転
    送を中断した後、発生手段がコマンドのうちの別の1つ
    を第1および第2メモリ手段のうちの個々の1つへ送る
    と、コマンドを他のステージへ送ることを可能にする第
    6手段が設けられている、請求項39記載の装置。
  43. 【請求項43】 ビデオおよびグラフィック情報並びに
    コマンドを転送するための手段と、 グラフィックおよびビデオ情報を記憶し、第1メモリ手
    段の内外へのビデオおよびグラフィック情報の転送を可
    能にするためのコマンドを記憶するための第1メモリ手
    段と、 転送手段から第1メモリ手段内へビデオおよびグラフィ
    ック情報を転送するための第1手段と、 転送手段からのコマンドを記憶するための第2メモリ手
    段と、 第1関係では第1の時間で転送手段から第2メモリ手段
    へコマンドを転送するように作動し、第2関係では転送
    手段から第1メモリ手段へ、次に第1メモリ手段から第
    2メモリ手段へコマンドを転送するよう作動する第2メ
    モリ手段と、 第1メモリ手段と第2メモリ手段内のコマンドの相対数
    に従って第1および第2関係において第2手段を選択的
    に作動させるための第3手段と、 第2メモリ手段からのコマンドに従って第1メモリ手段
    からのグラフィックデータを処理するための第4手段と
    を備えた装置。
  44. 【請求項44】 第4手段は第2メモリ手段からのコマ
    ンドに従って第1の特定の時間に第1メモリ手段からの
    グラフィックデータを選択的に転送し、第2メモリから
    のコマンドに従って第1の特定の時間と異なる第2の特
    定の時間に第1メモリからビデオデータを選択的に転送
    するための第5手段を含み、 第4手段は第1の特定の時間に第2メモリ手段から転送
    されたグラフィック情報を選択的に処理するよう作動で
    きる、請求項43記載の装置。
  45. 【請求項45】 第1メモリ手段は第1のレートで第2
    手段へコマンドを送るための特性を有し、 第2メモリ手段は第1レートと異なる第2レートでコマ
    ンドを送るための特性を有し、 第3手段は第2メモリがコマンドでフル状態となると、
    第2手段を第2関係で作動させ、その後、第1メモリ内
    にコマンドがなくなると、第2手段を第1関係で作動さ
    せるよう働く、請求項43記載の装置。
  46. 【請求項46】 転送手段は第1および第2メモリ手段
    と別のステージにコマンドを転送するよう作動し、 更に、第1および第2メモリ手段が特定の数のコマンド
    を記憶すると、転送手段から他のステージへのコマンド
    の転送を阻止するように働く第5手段と、 その後、コマンドが転送手段から第1および第2メモリ
    手段のうちの個々の1つに転送されると、転送手段から
    他のステージへのコマンドの転送を再開するための第6
    手段とを備えた、請求項43記載の装置。
  47. 【請求項47】 第1メモリのうちの個々の部分にコマ
    ンド、ビデオデータおよびグラフィックデータを記憶す
    るための第1メモリを設ける工程と、 コマンドを記憶するための第2メモリを設ける工程と、 ソフトウェアから第1メモリの個々の部分何にビデオデ
    ータおよびグラフィックデータを選択的に転送する工程
    と、 ソフトウェアから第1および第2メモリの個々の1つに
    漸次コマンドを選択的に転送する工程と、 ソフトウェアから第1および第2メモリのうちの個々の
    1つに選択的に転送されたコマンドに従って第1メモリ
    の個々の部分内のグラフィックデータを処理する工程と
    を備えた情報処理方法。
  48. 【請求項48】 通常はソフトウェアから第2メモリへ
    コマンドを転送する工程と、 第2メモリが特定の数のコマンドを受信し、記憶する
    と、ソフトウェアから第1メモリへのコマンドの転送を
    行う工程と、 第1メモリから第2メモリへコマンドを転送する工程と
    を備えた、請求項47記載の方法。
  49. 【請求項49】 ソフトウェアから第1メモリへのコマ
    ンドの転送を開始した後、第1メモリ内のコマンド数が
    特定の数になるまでかかるコマンドの転送を続ける工程
    とを備えた、請求項48記載の方法。
  50. 【請求項50】 第2メモリからの転送レートと異なる
    レートで第1メモリからコマンドを転送し、 第1メモリからのビデオデータを第1の特定の時間に処
    理し、第1メモリからのグラフィックデータを第1の特
    定の時間と異なる第2の特定の時間に処理し、第1メモ
    リからのグラフィックデータを第1および第2メモリの
    うちの個々の1つから選択的に転送されたコマンドに従
    って処理する、請求項47記載の方法。
  51. 【請求項51】 集積回路チップと、 コマンドおよびグラフィックおよびビデオ表示データを
    発生するための手段と、 集積回路チップに設けられ、発生手段からのコマンドを
    受信するための第1メモリと、 コマンド、グラフィック表示データおよびビデオ表示デ
    ータを第2メモリの異なる部分に記憶するための、チッ
    プ外に設けられた第2メモリと、 チップ上に配置され、第1および第2作動関係を有し、
    第1関係では発生手段から第1メモリにコマンドを転送
    するよう作動し、第2関係では発生手段から第2メモリ
    にコマンドを送るよう作動する第1手段と、 チップ上に配置され、第1および第2メモリ内のコマン
    ド数に応答自在であり、第1関係では第1の特定の時間
    に第1手段を作動させ、第2関係では第1の特定の時間
    とは異なる第2の特定の時間で第1手段を作動させるた
    めの第2手段と、 チップ上に配置され、発生手段から第2メモリへのコマ
    ンドの転送に応答自在であり、第2メモリから第1メモ
    リへコマンドを転送するための第3手段と、 第1メモリからのコマンドおよびグラフィックを表示す
    るデータに応答自在であり、かかるコマンドに従ってグ
    ラフィック表示データを処理するための第4手段とを備
    えた装置。
  52. 【請求項52】 第1および第2メモリの各々はかかる
    メモリの容量に応じた遅延の後に受信した順と同じ順で
    コマンドを送るように製造されており、第2メモリは第
    1メモリと異なるレートで作動できる、請求項51記載
    の装置。
  53. 【請求項53】 第2手段は第1メモリが第1の特定の
    数のコマンドを記憶すると、第1手段を第1の作動関係
    から第2の作動関係へ変更するように作動でき、第2メ
    モリが第2の特定の数のコマンドを記憶すると、第1手
    段を第2の作動関係から第1の作動関係へ変更するよう
    作動する、請求項52記載の装置。
  54. 【請求項54】 第2メモリは第1メモリよりも記憶容
    量が多く、 更に各時間における第1および第2メモリ内のそれぞれ
    のコマンドのカウント数を表示するためのチップ上に設
    けられた手段を含む、請求項51記載の装置。
  55. 【請求項55】 第2メモリは第1メモリよりも記憶容
    量が多く、 更に各時間における第1および第2メモリ内のそれぞれ
    のコマンドのカウント数を表示するためのチップ上に設
    けられた手段と、 第1メモリ内のカウント数が第1の特定の数に達し、第
    2メモリ内のカウント数が第1および第2の特定の数と
    異なる数に達すると、発生手段から第1および第2メモ
    リのうちの個々の1つへのコマンドの転送を中断するた
    めの手段とを備えた、請求項53記載の装置。
  56. 【請求項56】 コマンドおよびデータを発生するため
    の第1手段と、 集積回路チップと、 発生手段からのコマンドを受信し、記憶するよう、集積
    回路チップに設けられた第1メモリと、 発生手段からのコマンドを受信し、記憶するよう、集積
    回路チップの外に設けられた第2メモリと、 集積回路チップ上に配置され、第1および第2作動関係
    を有し、第1関係では発生手段から第1メモリへコマン
    ドを転送するよう作動し、第2関係では発生手段から第
    2メモリへコマンドを転送するよう作動する第2手段
    と、 集積回路チップ上に配置され、第2関係では第1手段の
    作動に応答自在であり、第2メモリから第1メモリへコ
    マンドを転送するための第3手段と、 集積回路チップ上に配置され、第1関係では第1時間
    に、更に第2関係では第1時間と異なる第2時間に第1
    手段を作動させる第4手段を備え、第1時間は第1メモ
    リ内のコマンド数に依存し、第2時間は第2メモリ内の
    コマンド数に依存し、 更に、第1手段からのコマンドに従って第1メモリ内の
    データを処理するための第5手段とを備えた装置。
  57. 【請求項57】 第2メモリには第1メモリよりも多い
    容量が与えられており、第1および第2メモリには第1
    および第2端部が設けられ、これらメモリは第1端部で
    コマンドを受信し、第1端部で受信した順と同じ順でこ
    れらメモリを通してコマンドを第2端部へ送り、第2端
    部においてこれらメモリからコマンドを転送するように
    なっている、請求項56記載の装置。
  58. 【請求項58】 第1および第2メモリがコマンドで満
    たされた状態になると、第1メモリ内の特定の数のコマ
    ンドが第2メモリに転送されるまで発生手段から第1お
    よび第2メモリへのコマンドの転送を阻止するための第
    6手段がチップに設けられている、請求項56記載の装
    置。
  59. 【請求項59】 第2メモリには第1メモリよりも多い
    容量が与えられており、第1および第2メモリには第1
    および第2端部が設けられ、これらメモリは第1端部で
    コマンドを受信し、第1端部で受信した順と同じ順でコ
    マンドがこれらメモリを通過し、第2端部においてこれ
    らメモリからコマンドを転送するようになっており、 第1および第2関係で作動するための第7手段がチップ
    に設けられており、この第7手段は、第1関係におい
    て、発生手段から第1および第2メモリを除く他のステ
    ージへのコマンドの転送を防止するように作動し、 第1および第2メモリがコマンドでフル状態になると、
    第7手段を第1関係で作動させ、第2メモリが第2メモ
    リ内の少なくとも特定の数のコマンドを第1メモリに転
    送すると、第7手段を第2の関係で作動させるよう、第
    8手段がチップに設けられている、請求項58記載の装
    置。
  60. 【請求項60】 コマンドおよびデータを発生するため
    の手段と、 集積回路チップと、 集積回路チップ上に配置され、限られた記憶容量を有
    し、コマンドを記憶するための第1メモリと、 集積回路チップの外に配置され、第1メモリの限られた
    記憶容量のほかに第2部分に補助的記憶容量を与え、こ
    れに転送されたデータを記憶するための第2部分を有す
    る第2メモリと、 主に第1メモリにコマンドを送り、第1メモリがフル状
    態となった時に、第2に第2メモリの第2部分にコマン
    ドを送るための第1手段と、 発生手段から第1メモリの第1部分に転送されたコマン
    ドの第1メモリに送るための第2手段と、 第1メモリ内のコマンドに従って第1メモリの第2部分
    内のデータを処理するための第3手段とを備えた装置。
  61. 【請求項61】 第1メモリの第1部分における補助記
    憶容量は第1メモリの限られた記憶容量よりも多く、コ
    マンドは第1メモリで受信された順と同じ順で第1メモ
    リから転送され、コマンドは第2メモリによって受信さ
    れた順と同じ順で第2メモリの第1部分へ転送される、
    請求項60記載の装置。
  62. 【請求項62】 第1および第2メモリがフル状態とな
    ると、発生手段から第1および第2メモリを除く他のス
    テージへのコマンドの転送を阻止するための第4手段
    と、 その後、コマンドが発生手段から第1および第2メモリ
    のうちの個々の1つんに送られると発生手段から他のス
    テージへコマンドを転送するための第5手段とを備え
    た、請求項60記載の装置。
  63. 【請求項63】 第2メモリの第1部分における補助記
    憶容量をバイパスし、更に発生手段から第2メモリの第
    1部分へコマンドが転送された後に、第2メモリの第1
    部分にコマンドがなくなると、コマンドを第1メモリへ
    送るための第4手段を含む、請求項60記載の装置。
  64. 【請求項64】 コマンドおよびグラフィックデータを
    発生するための手段と、 発生手段からのコマンドを受信するための第1メモリ
    と、 第1メモリの第1部分にコマンドをホールドし、第2メ
    モリの第2部分にグラフィックデータをホールドするた
    めの第2メモリと、 第2メモリの第1部分との間でコマンドを転送し、第2
    メモリの第2部分との間でデータを転送するためのグラ
    フィックユーザーインターフェース手段と、 第1メモリおよびグラフィックユーザーインターフェー
    ス手段へコマンドおよびデータを転送するためのローカ
    ルバスと、 第1メモリ内のコマンドに従って第2メモリ内のグラフ
    ィックデータを処理するための手段とを備えた装置。
  65. 【請求項65】 発生手段からのコマンドに従って作動
    可能な周辺機器と、 ローカルバス上のコマンドおよびグラフィックデータを
    受信し、コマンドおよびグラフィックデータを周辺機器
    へ送り、かかるコマンドおよびグラフィックデータに従
    って周辺機器を作動させるための周辺バス制御手段とを
    備えた、請求項64記載の装置。
  66. 【請求項66】 第2メモリの第1部分におけるコマン
    ドを第1メモリへ転送し、かかるコマンドに従って第2
    メモリの第2部分内のデータを処理するための手段を備
    えた、請求項64記載の装置。
  67. 【請求項67】 第1作動関係で発生手段から第1メモ
    リへコマンドを転送し、第2作動関係で発生手段から第
    2メモリの第1部分へコマンドを転送する制御手段と、 通常は第1関係で制御手段を作動させ、メモリがフル状
    態となると制御手段を第2関係で作動させ、その後、第
    2メモリの第1部分が空状態となると、制御手段を第1
    関係で作動させるための手段とを備えた、請求項66記
    載の装置。
  68. 【請求項68】 グラフィックユーザーインターフェー
    ス手段、第1メモリおよび処理手段が配置された集積回
    路チップと、 この集積回路チップに配置され、特定の記憶容量を有す
    る第3メモリと、 第3メモリから第1メモリへコマンドを転送するための
    手段とを含み、 第2メモリはチップの外に設けられており、 更に、通常は第3メモリから第1メモリへコマンドを転
    送し、第1メモリ内のコマンドに従ってグラフィックデ
    ータを処理し、更に第3メモリから第1メモリへコマン
    ドが転送される間、補助記憶手段として第2メモリの第
    1部分を作動させるための手段とを備えた、請求項64
    記載の装置。
  69. 【請求項69】 第2メモリの第1部分は第3メモリの
    特定の記憶容量よりも多い記憶容量を有し、 発生手段からローカルバスを通し第3メモリへ、次に第
    3メモリから第1メモリへコマンドを送り、第1メモリ
    がコマンドでフル状態になると、第3メモリから第2メ
    モリの第1部分へ、次に第3メモリへコマンドを送るた
    めの手段が含まれた、請求項64記載の装置。
  70. 【請求項70】 コマンドおよびグラフィックデータに
    従って作動可能な周辺機器と、 ローカルバス上のコマンドおよびグラフィックデータを
    受信し、これらコマンドおよびグラフィックデータを周
    辺機器へ送り、かかるコマンドおよびグラフィックデー
    タに従って周辺機器を作動させるための周辺バス制御手
    段を備えた、請求項69記載の装置。
  71. 【請求項71】 コマンドおよびグラフィックデータを
    発生するための手段と、 発生手段からのグラフィックデータを記憶するための第
    1メモリと、 発生手段からのコマンドおよび第1メモリからのグラフ
    ィックデータを受信するための周辺バス制御装置と、 発生手段からのコマンドおよび第1メモリからのグラフ
    ィックデータを周辺バス制御装置へ送るためのローカル
    バスと、 第1メモリの第1部分にコマンドをホールドし、第2メ
    モリの第2部分にグラフィックデータをホールドするた
    めの第2メモリと、 第2メモリの第1部分との間でコマンドを転送し、第2
    メモリの第2部分との間でグラフィックデータを転送す
    るためのグラフィックユーザーインターフェース手段
    と、 周辺バス制御手段内のコマンドおよびデータをグラフィ
    ックユーザーインターフェース手段へ転送するための周
    辺バスと、 第1メモリ内および第2メモリの第1部分内のコマンド
    に従って、第2メモリの第2部分内のグラフィックデー
    タを処理するための手段とを備えた装置。
  72. 【請求項72】 グラフィックユーザーインターフェー
    ス手段が配置された集積回路チップと、 この集積回路チップ上に配置された第3メモリとを備
    え、 第1メモリは特定の容量を有し、 第3メモリから第1メモリへコマンドを転送し、第2メ
    モリ内のコマンドに従ってグラフィックデータを処理
    し、第1メモリおよび第3メモリ内の容量のほかに第2
    メモリの第1部分に補助容量を与えるための手段を備え
    た、請求項71記載の装置。
  73. 【請求項73】 第2メモリの第1部分は第1メモリの
    特定の容量よりも多い容量を有し、 通常は発生手段からローカルおよび周辺バスを通して第
    3メモリにコマンドを送り、第1メモリの特定の記憶容
    量がコマンドでフル状態となると発生手段からローカル
    および周辺バスを通して第3メモリへコマンドを送り、
    次に第1メモリの第1部分、次に第1メモリへコマンド
    を送るための手段が設けられている、請求項72記載の
    装置。
  74. 【請求項74】 発生手段からローカルおよび周辺バス
    を通した第3メモリへのコマンドの通過を再開し、次に
    発生手段からローカルおよび周辺バスを通した第3メモ
    リへのコマンドの通過が開始した後は第1メモリへ通過
    させ、次に第2メモリの第1部分へ送り、第2メモリ内
    の第1部分内のコマンドが空になった後は第1メモリへ
    コマンドを送るための手段を含む、請求項73記載の装
    置。
  75. 【請求項75】 周辺バス上のコマンドに従って作動可
    能な、周辺機器と共に使用するための、請求項74記載
    の装置であって、 第1および第2作動状態を有するレディラインと、レデ
    ィラインが第2状態の時に周辺バスから周辺機器へのコ
    マンドの通過を阻止し、レディラインが第1状態の時に
    周辺バス上のコマンドを周辺機器へ送るための手段と、 第2メモリの第1部分がコマンドでフル状態になると、
    レディラインを第2作動状態にするための手段と、 第3メモリに更にコマンドが送られた時、およびレディ
    ラインが第2状態で作動した後は、レディラインを第2
    状態で作動させるための手段を含む装置。
  76. 【請求項76】 コマンドおよびグラフィックデータを
    発生するための手段と、 発生手段からのコマンドおよびグラフィックデータを受
    信するためのローカルバスと、 ローカルバスに接続され、ローカルバスからのコマンド
    およびグラフィックデータの通過を制御するための周辺
    バス制御手段と、 周辺バス制御手段に接続され、コマンドを受信するため
    の周辺バスと、 周辺バスに接続され、グラフィックデータを記憶するた
    めの第1部分および発生手段からのコマンドを記憶する
    ための第2部分を含む共用メモリを備え、この共用メモ
    リはデータおよびコマンドをこのメモリとの間で転送す
    るための周辺バスに接続されており、 周辺バスと共用メモリの第2部分との間でコマンドを転
    送し、周辺バスと共用メモリの第1部分との間でグラフ
    ィックデータを転送するためのグラフィックユーザーイ
    ンターフェース手段と、 共用メモリの第2部分からのコマンドに従って共用メモ
    リの第1部分からのグラフィックデータを処理するため
    の手段とを備えた装置。
  77. 【請求項77】 グラフィックユーザーインターフェー
    ス手段および共用メモリに接続され、グラフィックユー
    ザーインターフェース手段と共用メモリとの間でグラフ
    ィックデータおよびコマンドを転送するための別のバス
    を備え、 処理手段はグラフィックユーザーインターフェース手段
    に含まれる、請求項76記載の装置。
  78. 【請求項78】 グラフィックユーザーインターフェー
    ス手段に含まれ、第2メモリを提供するための手段と、 発生手段から第2メモリへコマンドを送るための手段
    と、 第2メモリがフル状態になった時、第2メモリに対する
    補助メモリとして共用メモリの第2部分を使用する手段
    とを備えた、請求項77記載の装置。
  79. 【請求項79】 第2メモリを提供するよう、グラフィ
    ックユーザーインターフェース手段に設けられた手段
    と、 第1および第2作動関係を有し、第1関係では発生手段
    から第2メモリへコマンドを送り、第2メモリからのか
    かるコマンドに従ってグラフィックデータを処理するよ
    う作動し、更に第2関係では発生手段から共用メモリの
    第2部分、次に第2メモリへコマンドを送り、第2メモ
    リからのコマンドに従ってグラフィックデータを処理す
    るよう作動する制御手段と、 第1関係および第2関係の個々において、制御手段を制
    御しながら作動させるための手段とを備えた、請求項7
    6記載の装置。
  80. 【請求項80】 第2メモリがフル状態となると、制御
    手段の作動を第1関係から第2関係へ変更するための手
    段と、 共用メモリの第2部分が空になると、制御手段の作動を
    第2関係から第1関係へ変更するための手段とを備え
    た、請求項79記載の装置。
  81. 【請求項81】 集積回路チップを含み、 グラフィックユーザーインターフェース手段および第2
    メモリはこの集積回路チップ上に配置されており、共用
    メモリおよび周辺バス制御手段はチップの外に配置され
    ている、請求項78記載の装置。
  82. 【請求項82】 グラフィックユーザーインターフェー
    ス手段および共用メモリに接続され、グラフィックユー
    ザーインターフェース手段と共用メモリとの間でグラフ
    ィックデータおよびコマンドを転送するための追加バス
    と、 集積回路チップとを備え、 グラフィックユーザーインターフェース手段および第2
    メモリはこの集積回路チップ上に配置されており、共用
    メモリおよび周辺バス制御手段はチップの外に配置され
    ている、請求項79記載の装置。
  83. 【請求項83】 コマンドおよびグラフィックデータを
    発生するための手段と、 発生手段からのコマンドおよびグラフィックデータを受
    信するための第1バスと、 発生手段に作動的に結合されており、第1バスからのコ
    マンドおよびグラフィックデータを制御しながら通過さ
    せるための周辺制御手段と、 周辺バス制御手段に接続され、周辺制御手段からのコマ
    ンドおよびグラフィックデータを受信するための周辺バ
    スと、 周辺バスに接続され、周辺バスと共用メモリの第1部分
    との間でコマンドを転送するための第1部分を含み、周
    辺バスと共用メモリの第2部分との間でグラフィックデ
    ータを転送するための第2部分を含む共用メモリと、 周辺バスに接続され、周辺バスと共用メモリの第1部分
    との間でコマンドを制御しながら転送し、更に周辺バス
    と共用メモリの第2部分との間でグラフィックデータを
    制御しながら転送するためのグラフィックユーザーイン
    ターフェース手段と、 周辺バスに接続され、共用メモリの第1部分から周辺バ
    スに転送されたコマンドに従って共用メモリの第2部分
    から周辺バスへ転送されたグラフィックデータを処理す
    るための手段とを備えた装置。
  84. 【請求項84】 グラフィックユーザーインターフェー
    ス手段は第2メモリを含み、 更に、発生手段から第2メモリへコマンドを送り、かか
    るコマンドに従って共用メモリの第2部分内のグラフィ
    ックデータを処理するための手段とを備えた、請求項8
    3記載の装置。
  85. 【請求項85】 共用メモリの第1部分へコマンドを送
    り、次に第2メモリがフル状態となると第2メモリへコ
    マンドを送るための手段を含む、請求項84記載の装
    置。
  86. 【請求項86】 グラフィックユーザーインターフェー
    ス手段は周辺バスに接続されており、 更に集積回路チップが設けられ、 グラフィックユーザーインターフェース手段および処理
    手段はチップに配置されており、 共用メモリおよび周辺バス制御手段はチップの外に配置
    されている、請求項83記載の装置。
  87. 【請求項87】 グラフィックユーザーインターフェー
    ス内に含まれ、第1および第2の作動状態を有し、第1
    状態では第2メモリにコマンドを送り、第2メモリから
    のコマンドに従ってグラフィックデータを処理するよう
    作動し、第2状態では共用メモリの第2部分、次に第2
    メモリにコマンドを送って第2メモリからのコマンドに
    従いグラフィックデータを処理するよう作動する制御手
    段と、通常は第1状態で上記制御手段を作動させ、第2
    メモリがコマンドでフル状態となった時、上記制御手段
    を第2上記に作動させるための手段を備えた、請求項8
    5記載の装置。
  88. 【請求項88】 共用メモリの第2部分は第2メモリよ
    りも多い容量を有し、 共用メモリの第2部分が空とな
    ると制御手段の作動を第2状態から第1状態へ変更する
    ための手段を備え、 グラフィックユーザーインターフェース手段は周辺バス
    に接続されており、 集積回路チップを含み、 グラフィックユーザーインターフェース手段、第2メモ
    リおよび処理手段は集積回路チップ上に配置されてお
    り、共用メモリおよび周辺バス制御手段はチップの外に
    配置されている、請求項87記載の装置。
  89. 【請求項89】 グラフィックユーザーインターフェー
    ス手段が配置された集積回路チップと、 集積回路チップ上に配置され、特定の記憶容量を有し、
    周辺バスからのコマンドを受けるようグラフィックユー
    ザーインターフェース手段に作動的に結合された第2メ
    モリと、 周辺バスから第2メモリにコマンドを転送し、かかるコ
    マンドに従ってグラフィックデータを処理し、第2メモ
    リの記憶容量のほかの補助記憶容量が得られるように共
    用メモリの第1部分を作動させる手段とを備えた、請求
    項83記載の装置。
  90. 【請求項90】 コマンドを発生するための第1手段
    と、 集積回路チップと、 グラフィックデータを記憶するためのチップの外に配置
    された第2手段と、 集積回路チップに配置され、第1および第2端部を有
    し、特定の遅延を行うシフトレジスタを構成し、第1手
    段からのコマンドを受信し、これらコマンドが第3手段
    を通過するようにし、特定の遅延の後に第2端部からコ
    マンドを送るための第3手段と、 集積回路チップに配置され、第3手段からのコマンドに
    従って第2手段からのグラフィックデータを処理するた
    めの第4手段とを備えた装置。
  91. 【請求項91】 第2手段は第1部分にグラフィックデ
    ータを記憶し、この第1部分と異なる第2部分にビデオ
    データも記憶するようになっており、 更に、第3手段からのコマンドに従って特定の時間でグ
    ラフィックデータを処理し、第1の特定時間と異なる第
    2の特定時間でビデオデータを処理するための第5手段
    とを備えた、請求項90記載の装置。
  92. 【請求項92】 第1手段および第2手段に接続された
    ホストバスと、 第2手段および第3手段に接続されており、第2手段と
    第3手段との間でコマンドおよびグラフィックデータを
    転送するための第2バスとを備えた、請求項90記載の
    装置。
  93. 【請求項93】 第1手段および第2手段に接続された
    ホストバスと、 第2手段および第3手段に接続され、第2手段と第3手
    段との間でコマンドおよびグラフィックデータを転送す
    るための第2バスと、 ホストバスに接続され、ホストバス上のコマンドに従っ
    て制御を行うための周辺バス制御手段と、 周辺バス制御手段に制御手段され、周辺バス制御手段か
    らの制御信号に従って作動するための周辺機器とを備
    え、 第3手段は第4手段内に含まれる、請求項91記載の装
    置。
  94. 【請求項94】 第3手段は第4手段に含まれ、 発生手段に接続されたローカルバスと、 ローカルバス上のコマンドに従って制御信号を発生する
    ための周辺バス制御手段と、 周辺バス制御手段および第4手段に接続されたホストバ
    スと、 第4手段および第2手段に接続され、第3手段からのコ
    マンドに従ってグラフィックデータを処理するための付
    加的バスとを備えた、請求項90記載の装置。
  95. 【請求項95】 周辺バス制御手段に接続され、周辺バ
    ス制御手段からの制御信号に従って作動するための周辺
    機器を含み、 第3手段は第4手段に含まれる、請求項94記載の装
    置。
  96. 【請求項96】 第2手段は第1部分にグラフィックデ
    ータを記憶し、この第1部分と異なる第2部分にビデオ
    データも記憶するようになっており、 更に、第3手段からのコマンドに従って特定の時間でグ
    ラフィックデータを処理し、第1の特定時間と異なる第
    2の特定時間でビデオデータを処理するための第5手段
    とを備えた、請求項90記載の装置。
  97. 【請求項97】 発生手段からのコマンドを制御するた
    めの周辺バス制御手段と、 周辺バス制御手段、第2手段、第3手段および第4手段
    に接続され、周辺バス制御手段から第3手段へコマンド
    を送り、第3手段からのコマンドに従って第2手段から
    のグラフィックデータを処理するためのホストバスとを
    備えた、請求項90記載の装置。
  98. 【請求項98】 ホストバスに接続され、周辺バス制御
    手段からのコマンドに従って作動するための周辺機器を
    含み、第3手段は第4手段に含まれる、請求項97記載
    の装置。
  99. 【請求項99】 グラフィックデータは第2手段の第1
    部分に記憶されており、 更に、第2手段の第1部分と異なる第2手段の第2部分
    に発生手段からのコマンドを記憶し、第3手段がフル状
    態となった時に第3手段に対する補助記憶容量として使
    用するための手段とを含む、請求項90記載の装置。
  100. 【請求項100】 第2手段の第2部分のコマンドが空
    になった時、第2手段の第2部分の追加容量として使用
    することを中止するための手段を含む、請求項99記載
    の装置。
  101. 【請求項101】 グラフィックデータは第2手段の第
    1部分に記憶されており、 更に、第2手段の第1部分と異なる第2手段の第2部分
    に発生手段からのコマンドを記憶し、第3手段がフル状
    態となった時に第3手段に対する補助記憶容量として使
    用するための手段とを含む、請求項94記載の装置。
  102. 【請求項102】 第2手段の第2部分のコマンドが空
    になった時、第2手段の第2部分の追加容量として使用
    することを中止するための手段を含む、請求項101記
    載の装置。
  103. 【請求項103】 グラフィックデータは第2手段の第
    1部分に記憶されており、 更に、第2手段の第1部分と異なる第2手段の第2部分
    に発生手段からのコマンドを記憶し、第3手段がフル状
    態となった時に第3手段に対する補助記憶容量として使
    用するための手段とを含む、請求項97記載の装置。
  104. 【請求項104】 第2手段の第2部分のコマンドが空
    になった時、第2手段の第2部分の追加容量として使用
    することを中止するための手段を含む、請求項103記
    載の装置。
  105. 【請求項105】 グラフィックデータは第2手段の第
    1部分に記憶されており、 更に、第2手段の第1部分と異なる第2手段の第2部分
    に発生手段からのコマンドを記憶し、第3手段がフル状
    態となった時に第3手段に対する補助記憶容量として使
    用するための手段と、 第2手段の第2部分のコマンドが空になった時、第2手
    段の第2部分の追加容量として使用することを中止する
    ための手段を含む、請求項93記載の装置。
JP7293092A 1994-11-10 1995-11-10 データを処理するためのシステムおよび方法 Pending JPH08272585A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US337939 1994-11-10
US08/337,939 US5715437A (en) 1994-11-10 1994-11-10 System for, and method of, processing in hardware commands received from software without polling of the hardware by the software

Publications (1)

Publication Number Publication Date
JPH08272585A true JPH08272585A (ja) 1996-10-18

Family

ID=23322681

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7293092A Pending JPH08272585A (ja) 1994-11-10 1995-11-10 データを処理するためのシステムおよび方法

Country Status (5)

Country Link
US (1) US5715437A (ja)
EP (1) EP0712073B1 (ja)
JP (1) JPH08272585A (ja)
CA (1) CA2162618A1 (ja)
DE (1) DE69522900T2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6008823A (en) * 1995-08-01 1999-12-28 Rhoden; Desi Method and apparatus for enhancing access to a shared memory
US5940610A (en) * 1995-10-05 1999-08-17 Brooktree Corporation Using prioritized interrupt callback routines to process different types of multimedia information
US6057862A (en) * 1997-07-01 2000-05-02 Memtrax Llc Computer system having a common display memory and main memory
US6118462A (en) * 1997-07-01 2000-09-12 Memtrax Llc Computer system controller having internal memory and external memory control
US6064721A (en) * 1997-10-22 2000-05-16 Telecommunications Techniques Corporation Modular test instrument
US6891803B1 (en) 1998-12-18 2005-05-10 Sunrise Telecom, Inc. Telecommunications transmission test set
US20020170039A1 (en) * 2001-02-22 2002-11-14 Kovacevic Branko D. System for operating system and platform independent digital stream handling and method thereof
US7320037B1 (en) 2002-05-10 2008-01-15 Altera Corporation Method and apparatus for packet segmentation, enqueuing and queue servicing for multiple network processor architecture
US7339943B1 (en) * 2002-05-10 2008-03-04 Altera Corporation Apparatus and method for queuing flow management between input, intermediate and output queues
US7606248B1 (en) 2002-05-10 2009-10-20 Altera Corporation Method and apparatus for using multiple network processors to achieve higher performance networking applications
US7336669B1 (en) 2002-05-20 2008-02-26 Altera Corporation Mechanism for distributing statistics across multiple elements
US7593334B1 (en) 2002-05-20 2009-09-22 Altera Corporation Method of policing network traffic
US7103695B2 (en) * 2003-11-06 2006-09-05 Dell Products L.P. System and method for scaling a bus based on a location of a device on the bus
US20080133308A1 (en) * 2006-11-27 2008-06-05 Harris James E Leakage location methods

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4606068A (en) * 1984-08-13 1986-08-12 Recognition Equipment Incorporated Video compressor for video format unit
US4755937A (en) * 1986-02-14 1988-07-05 Prime Computer, Inc. Method and apparatus for high bandwidth shared memory
US5129036A (en) * 1990-03-30 1992-07-07 Computer Concepts Corporation Broadcast digital sound processing system
IL96808A (en) 1990-04-18 1996-03-31 Rambus Inc Introductory / Origin Circuit Agreed Using High-Performance Brokerage
US5262861A (en) * 1990-06-29 1993-11-16 Sony Electronics Inc. Computer controllable video synchronization and frame pulse signal generator
US5274779A (en) * 1990-07-26 1993-12-28 Sun Microsystems, Inc. Digital computer interface for simulating and transferring CD-I data including buffers and a control unit for receiving and synchronizing audio signals and subcodes
US5276798A (en) * 1990-09-14 1994-01-04 Hughes Aircraft Company Multifunction high performance graphics rendering processor
US5327156A (en) * 1990-11-09 1994-07-05 Fuji Photo Film Co., Ltd. Apparatus for processing signals representative of a computer graphics image and a real image including storing processed signals back into internal memory
US5272520A (en) * 1991-04-08 1993-12-21 Nec Corporation CIF converter with reduced multipliers
US5192999A (en) * 1991-04-25 1993-03-09 Compuadd Corporation Multipurpose computerized television
US5283819A (en) * 1991-04-25 1994-02-01 Compuadd Corporation Computing and multimedia entertainment system
WO1993004462A1 (en) 1991-08-21 1993-03-04 Digital Equipment Corporation Computer graphics system
US5321806A (en) * 1991-08-21 1994-06-14 Digital Equipment Corporation Method and apparatus for transmitting graphics command in a computer graphics system
US5333299A (en) * 1991-12-31 1994-07-26 International Business Machines Corporation Synchronization techniques for multimedia data streams
US5299309A (en) * 1992-01-02 1994-03-29 Industrial Technology Research Institute Fast graphics control system capable of simultaneously storing and executing graphics commands
US5313586A (en) * 1992-03-06 1994-05-17 Intel Corporation Co-processor de-coupling bus structure
US5369729A (en) * 1992-03-09 1994-11-29 Microsoft Corporation Conversionless digital sound production
US5297231A (en) * 1992-03-31 1994-03-22 Compaq Computer Corporation Digital signal processor interface for computer system
US5377018A (en) * 1992-06-22 1994-12-27 Media Vision Video compression and decompression using block selection and subdivision
US5367301A (en) * 1992-11-10 1994-11-22 Cd Rom, Inc. Method and system for decoding digital audio files
US5333135A (en) * 1993-02-01 1994-07-26 North American Philips Corporation Identification of a data stream transmitted as a sequence of packets
US5473573A (en) * 1994-05-09 1995-12-05 Cirrus Logic, Inc. Single chip controller-memory device and a memory architecture and methods suitable for implementing the same

Also Published As

Publication number Publication date
US5715437A (en) 1998-02-03
EP0712073A3 (en) 1998-09-23
EP0712073A2 (en) 1996-05-15
EP0712073B1 (en) 2001-09-26
DE69522900T2 (de) 2002-03-28
CA2162618A1 (en) 1996-05-11
DE69522900D1 (de) 2001-10-31

Similar Documents

Publication Publication Date Title
US5371849A (en) Dual hardware channels and hardware context switching in a graphics rendering processor
US5838334A (en) Memory and graphics controller which performs pointer-based display list video refresh operations
US5299309A (en) Fast graphics control system capable of simultaneously storing and executing graphics commands
US6124868A (en) Method and apparatus for multiple co-processor utilization of a ring buffer
EP0279226B1 (en) High resolution display adapter
US5329615A (en) Concurrent general purpose and DMA processing in a graphics rendering processor
JPH08272585A (ja) データを処理するためのシステムおよび方法
KR19980025110A (ko) 데이타 프로세서 및 그래픽 프로세서
JPH0827707B2 (ja) Fifoバッファの制御装置及び制御方法並びにデータ転送を制御する装置
EP1092192A1 (en) Double buffered graphics and video accelerator having a write blocking memory interface and method of doing the same
JPH11317069A (ja) Fifo記憶装置
WO1993010518A2 (en) Video/graphics memory system
US5396597A (en) System for transferring data between processors via dual buffers within system memory with first and second processors accessing system memory directly and indirectly
US5625778A (en) Method and apparatus for presenting an access request from a computer system bus to a system resource with reduced latency
US5678037A (en) Hardware graphics accelerator system and method therefor
KR100255259B1 (ko) 처리 회로소자를 메모리와 접속시키기 위한 회로소자, 시스템 및 방법
US5530458A (en) Image memory control device
US5471672A (en) Method for implementing a high speed computer graphics bus
US5787289A (en) Display adapter supporting priority based functions
US6078336A (en) Graphics memory system that utilizes look-ahead paging for reducing paging overhead
US5812150A (en) Device synchronization on a graphics accelerator
EP0422300B1 (en) Display system with graphics cursor
EP0332417B1 (en) Image data handling
JP3683657B2 (ja) グラフィックス表示装置およびグラフィックスプロセッサ
US5781182A (en) Line buffer apparatus with an extendible command