JPH1069368A - Graphics controller circuit, and method for executing command on computer system and graphics controller chip - Google Patents

Graphics controller circuit, and method for executing command on computer system and graphics controller chip

Info

Publication number
JPH1069368A
JPH1069368A JP9163015A JP16301597A JPH1069368A JP H1069368 A JPH1069368 A JP H1069368A JP 9163015 A JP9163015 A JP 9163015A JP 16301597 A JP16301597 A JP 16301597A JP H1069368 A JPH1069368 A JP H1069368A
Authority
JP
Japan
Prior art keywords
command
register
instructions
host
instruction
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.)
Withdrawn
Application number
JP9163015A
Other languages
Japanese (ja)
Inventor
Scott Mills Carl
スコット ミルズ カール
Charles Anrew Owen Richard
チャールズ アンリュー オウェン リチャード
Emiru Bonneriiku Mark
エミル ボンネリーク マーク
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.)
Cirrus Logic Inc
Original Assignee
Cirrus Logic Inc
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
Priority claimed from US08/667,826 external-priority patent/US6563505B1/en
Application filed by Cirrus Logic Inc filed Critical Cirrus Logic Inc
Publication of JPH1069368A publication Critical patent/JPH1069368A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Image Input (AREA)
  • Digital Computer Display Output (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a graphics system which is improved in a performance by solving a bus bottleneck. SOLUTION: The graphics controller circuit is provided which minimizes an amount of data received from a host. This graphics controller circuit is equipped with a register file 350 including registers. The graphics controller receives a command addressed to a virtual register and generates instructions including an instruction for accessing one of the registers in the register file. The command uses the number of virtual registers like this and several instructions are generated in response to it, so that this graphics controller circuit minimizes the amount of data that the host sends through a system bus.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、広くはコンピュー
タグラフィックスシステムに関する。具体的には、本発
明は、グラフィックスコントローラチップにおいてコマ
ンドを実行する方法および装置に関する。
FIELD OF THE INVENTION The present invention relates generally to computer graphics systems. Specifically, the present invention relates to a method and apparatus for executing a command in a graphics controller chip.

【0002】[0002]

【従来の技術】グラフィックスコントローラは、ホスト
システムからコマンドおよび表示データを受け取り、そ
れらの表示データおよびコマンドから表示信号を発生す
ることによって、ビデオイメージをディスプレイシステ
ム上に表示するように設計される。図1は、そのような
グラフィックスコントローラ120と、ホスト110
と、ディスプレイユニット130とを有するコンピュー
タシステム100のブロック図である。
2. Description of the Related Art Graphics controllers are designed to display video images on a display system by receiving commands and display data from a host system and generating display signals from those display data and commands. FIG. 1 shows such a graphics controller 120 and a host 110.
FIG. 1 is a block diagram of a computer system 100 having a display unit 130 and a display unit 130.

【0003】グラフィックスコントローラ120は、ホ
スト110からシステムバス112を介してコマンドお
よび表示データを受け取り、ディスプレイバス123上
に表示信号を発生する過程でコマンドを実行することに
よって、表示データから構成されるビデオイメージをデ
ィスプレイユニット130上に表示することができる。
グラフィックスコントローラ120は、ホスト110か
ら受け取られたコマンドを実行する間に、さらなる表示
データを発生してもよい。表示データには、例えば、テ
キストデータや、RGBフォーマットによるグラフィッ
クス/ビデオデータなどが含まれている。
The graphics controller 120 receives commands and display data from the host 110 via the system bus 112, and executes the commands in the process of generating a display signal on the display bus 123, thereby forming the display data. The video image can be displayed on the display unit 130.
Graphics controller 120 may generate additional display data while executing commands received from host 110. The display data includes, for example, text data, graphics / video data in RGB format, and the like.

【0004】グラフィックスコントローラ120は、デ
ィスプレイバス123上に対応する表示信号を発生する
前に、ディスプレイメモリ140に表示データを格納し
てもよい。ディスプレイメモリ140に格納される表示
データの各要素は、ディスプレイユニット上の1画素に
対応していてもよい。以下の説明では、このようなデー
タ要素を「画素データム」と呼び、そのような画素の集
合体を、「画素データ」と呼ぶことにする。
[0004] The graphics controller 120 may store the display data in the display memory 140 before generating the corresponding display signal on the display bus 123. Each element of the display data stored in the display memory 140 may correspond to one pixel on the display unit. In the following description, such a data element will be referred to as a “pixel datum”, and an aggregate of such pixels will be referred to as “pixel data”.

【0005】ホスト110から受け取られたコマンド
は、例えば、移動ディスプレイブロック操作のような各
種操作を指定することができる。移動ディスプレイブロ
ック操作とは、グラフィックスコントローラ120に対
して、あるディスプレイブロック(以下、「ソースディ
スプレイブロック」と称する)を、ディスプレイメモリ
140のある領域からディスプレイメモリ140上の別
の領域(デスティネーションディスプレイブロック)へ
と移動することを指示する操作である。ある場合には、
ソースディスプレイブロックは、ホスト110内に位置
していてもよい。そのような場合、ホスト110は、ソ
ースディスプレイブロックの表示データをシステムバス
112を介して送ることもできる。これに応答して、グ
ラフィックスコントローラ120は、ソースディスプレ
イブロックの画素データを、ディスプレイメモリ140
内のデスティネーションディスプレイブロックに対応す
るメモリ位置へと移動させることができる。
[0005] Commands received from the host 110 can specify various operations, such as, for example, a mobile display block operation. The moving display block operation means that a certain display block (hereinafter, referred to as a “source display block”) is moved from the area of the display memory 140 to another area (the destination display) on the display memory 140 by the graphics controller 120. Block). In some cases,
The source display block may be located in the host 110. In such a case, the host 110 can send the display data of the source display block via the system bus 112. In response, graphics controller 120 stores the pixel data of the source display block in display memory 140.
Can be moved to a memory location corresponding to the destination display block.

【0006】ホスト110は、それぞれの操作をおこな
うために、いくつかのコマンドをグラフィックスコント
ローラ120に送ることができる。例えば、移動ディス
プレイブロック操作をおこなうために、ホスト110
は、ソースディスプレイブロックの開始位置のX/Y座
標を指定するコマンドを送り、ソースディスプレイブロ
ックのX範囲(つまり、ディスプレイブロックの、開始
アドレスに対するX軸方向の長さ)およびY範囲を指定
する別のコマンドを送った後、デスティネーションディ
スプレイブロックの開始アドレスのX/Y座標を指定す
るさらに別のコマンドを送ることができる。ホスト11
0は、最後に、ディスプレイメモリ140内のデスティ
ネーションディスプレイブロックに対応するメモリ位置
への表示データの移動開始を指定するさらに別のコマン
ドを送ることができる。
[0006] The host 110 can send several commands to the graphics controller 120 to perform each operation. For example, to perform a mobile display block operation, the host 110
Sends a command specifying the X / Y coordinates of the start position of the source display block, and specifies the X range of the source display block (ie, the length of the display block in the X-axis direction with respect to the start address) and the Y range. After sending this command, another command specifying the X / Y coordinates of the start address of the destination display block can be sent. Host 11
0 can finally send yet another command specifying the start of moving display data to the memory location in display memory 140 corresponding to the destination display block.

【0007】グラフィックス専用アプリケーション(通
常、「グラフィックスユーザインタフェース(GU
I)」と呼ばれる)の出現に伴って、コンピュータシス
テム100には、短い時間の間にいくつかのグラフィッ
クス操作をおこなうことが必要になることがある。例え
ば、コンピュータのユーザによるマウスのクリックが、
コンピュータシステム100に対し、いくつかのグラフ
ィックス操作の実行を求めることがある。それぞれの操
作には、いくつかのコマンドの実行が必要になるので、
ホスト110は、システムバス112を介して、これに
見合ったより多数のコマンドをグラフィックスコントロ
ーラ120に送ることがある。
A graphics-only application (usually a “graphics user interface (GU)
With the advent of I) "), computer system 100 may need to perform some graphics operations in a short amount of time. For example, a mouse click by a computer user
The computer system 100 may be required to perform some graphics operations. Each operation requires the execution of several commands,
The host 110 may send a correspondingly larger number of commands to the graphics controller 120 via the system bus 112.

【0008】[0008]

【発明が解決しようとする課題】従来の技術によるコン
ピュータシステム100に伴う問題としては、例えば、
システムバス112には、このように多数のコマンドお
よび表示データの転送をサポートできるだけの帯域幅が
ない場合があるので、コンピュータシステム100のパ
フォーマンスボトルネックになることがある点が挙げら
れる。このようなパフォーマンスボトルネックは、コン
ピュータシステム100のパフォーマンススループット
を下げる原因になる。
Problems associated with the prior art computer system 100 include, for example,
The system bus 112 may not have enough bandwidth to support the transfer of such a large number of commands and display data, which may be a performance bottleneck for the computer system 100. Such a performance bottleneck causes a decrease in the performance throughput of the computer system 100.

【0009】システムバス112におけるパフォーマン
スボトルネックは、ホスト110およびグラフィックス
コントローラ120が、システムバス112に比べてよ
り高速に、かつより広い帯域幅で動作するような場合に
は、一層深刻になる。例えば、ペンティアム(TM)プ
ロセッサを有するホスト110は、75MHzのクロッ
ク速度および64ビットの内部バスで動作し、グラフィ
ックスコントローラ120は、62.5MHzのクロッ
ク速度および64ビットの内部バスで動作することがあ
るのに対して、PCIバスなどのシステムバス112
は、33MHzのクロック速度および32ビット幅のバ
スで動作することがある。グラフィックス操作専用のG
UIアプリケーションでこのようなクロックレートおよ
びバス幅の違いが見られると、それは、システムバス1
12上でのデータスループットボトルネックになり、コ
ンピュータシステム100のパフォーマンスを下げる原
因になる。
The performance bottleneck in the system bus 112 is exacerbated when the host 110 and the graphics controller 120 operate faster and with wider bandwidth than the system bus 112. For example, a host 110 with a Pentium ™ processor may operate at a clock speed of 75 MHz and a 64-bit internal bus, and the graphics controller 120 may operate at a clock speed of 62.5 MHz and a 64-bit internal bus. In contrast, a system bus 112 such as a PCI bus
May operate on a 33 MHz clock speed and a 32 bit wide bus. G dedicated to graphics operations
When such a difference in clock rate and bus width is found in the UI application, it is caused by the system bus 1
12 causes a data throughput bottleneck, which causes the performance of the computer system 100 to decrease.

【0010】本発明は、上記課題を解決するためになさ
れたものであり、その目的とするところは、バスボトル
ネックを解消することによってパフォーマンスを向上し
たグラフィックスシステムを提供することにある。
SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems, and an object of the present invention is to provide a graphics system having improved performance by eliminating a bus bottleneck.

【0011】[0011]

【課題を解決するための手段】本発明によるバスおよび
ホストを有し、該ホストが該バスに結合されているコン
ピュータシステムに用いられるグラフィックスコントロ
ーラ回路は、該ホストからのコマンドを該バス上で受け
取り、該コマンドから複数のインストラクションを生成
する、ホストインタフェースと、該コマンドを実行する
ために、該複数のインストラクションを実行する実行回
路と、を備えており、そのことにより上記目的が達成さ
れる。
SUMMARY OF THE INVENTION A graphics controller circuit for use in a computer system having a bus and a host according to the present invention, wherein the host is coupled to the bus, transmits a command from the host on the bus. A host interface for receiving and generating a plurality of instructions from the command, and an execution circuit for executing the plurality of instructions to execute the command are provided, thereby achieving the above object.

【0012】ある実施形態では、複数のレジスタを含む
レジスタファイルをさらに備えているグラフィックスコ
ントローラ回路であって、もし前記コマンドが、該レジ
スタファイル内の第1のレジスタへとアクセスするのな
ら、前記ホストインタフェースが第1のインストラクシ
ョンセットを生成し、もし該コマンドが、第2のレジス
タへとアクセスするのなら、該ホストインタフェースが
第2のインストラクションセットを生成し、該第1のイ
ンストラクションセットに含まれるインストラクション
の個数が、該第2のインストラクションセットに含まれ
るインストラクションの個数とは異なり、かつ該第1の
インストラクションセットが、該第1のレジスタへとア
クセスすることを含んでいる。
In one embodiment, the graphics controller circuit further comprises a register file including a plurality of registers, wherein the command accesses the first register in the register file. The host interface generates a first instruction set, and if the command accesses a second register, the host interface generates a second instruction set and is included in the first instruction set. The number of instructions is different from the number of instructions included in the second instruction set, and the first instruction set includes accessing the first register.

【0013】ある実施形態では、前記第2のレジスタが
仮想レジスタを含んでおり、前記第2のインストラクシ
ョンセットが、前記第1のレジスタへとアクセスする少
なくとも1つのインストラクションを含んでいる。
In one embodiment, the second register includes a virtual register, and the second set of instructions includes at least one instruction for accessing the first register.

【0014】ある実施形態では、前記ホストインタフェ
ースが、前記システムバス上のデータを調べ、前記コマ
ンドが前記第1のレジスタにアドレシングされているの
か、あるいは前記第2のレジスタにアドレシングされて
いるのかを判定する、該システムバスに結合されたコマ
ンドエンコーダであって、もし該コマンドが該第1のレ
ジスタにアドレシングされているのなら、前記第1のイ
ンストラクションセットを生成し、もし該コマンドが該
第2のレジスタにアドレシングされているのなら、前記
第2のインストラクションセットを生成する、コマンド
エンコーダと、該コマンドエンコーダにより生成された
該インストラクションを格納し、該インストラクション
を前記実行ブロックに与える、FIFOキューと、を備
えている。
In one embodiment, the host interface examines data on the system bus and determines whether the command is addressed to the first register or to the second register. Determining a command encoder coupled to the system bus, wherein if the command is addressed to the first register, generating the first instruction set; A command encoder that generates the second instruction set, stores the instruction generated by the command encoder, and provides the instruction to the execution block, and a FIFO queue that generates the second instruction set. It has.

【0015】ある実施形態では、前記コマンドが、移動
ディスプレイブロック操作のための複数のコマンドの中
に含まれており、かつ前記ホストが、ホストデータと、
該移動ディスプレイブロック操作のための該複数のコマ
ンドと、を前記ホストバスを介して送る。
[0015] In one embodiment, the command is included in a plurality of commands for manipulating a moving display block, and the host comprises: host data;
The plurality of commands for operating the mobile display block via the host bus.

【0016】ある実施形態では、前記コマンドエンコー
ダが、前記ホストデータと、前記複数のコマンドに対応
するインストラクションのセットと、複数のエントリを
含む前記FIFOキューに格納し、該コマンドエンコー
ダが、該複数のエントリのそれぞれに格納されているデ
ータがホストデータムを含んでいるのか、あるいはイン
ストラクションを含んでいるのかを示すタグビットを発
生する。
In one embodiment, the command encoder stores the host data, a set of instructions corresponding to the plurality of commands, and the FIFO queue including a plurality of entries, and the command encoder stores the plurality of entries in the FIFO queue. A tag bit is generated that indicates whether the data stored in each of the entries contains a host datum or an instruction.

【0017】ある実施形態では、前記複数のエントリそ
れぞれの前記タグビットを調べ、もし該タグビットが、
該複数のエントリの対応する1つに含まれるデータがホ
ストデータを含むことを示しているのなら、該エントリ
に含まれるデータを前記実行ブロックへと送る、FIF
O出力制御回路をさらに備えている。
In one embodiment, the tag bit of each of the plurality of entries is examined, and if the tag bit is
Sending the data contained in the entry to the execution block if the data contained in the corresponding one of the plurality of entries includes host data;
An O output control circuit is further provided.

【0018】本発明によるコンピュータシステムは、コ
マンドのセットおよび画素データをバスを介して送るホ
ストと、ディスプレイユニットと、該ディスプレイユニ
ット上のディスプレイイメージに対応する画素データの
セットを格納するディスプレイメモリと、該画素データ
のセットを該ディスプレイメモリに供給するグラフィッ
クスコントローラ回路であって、該ホストから該バス上
で該コマンドのセットおよび該画素データを受け取るホ
ストインタフェースであって、該コマンドのセットのそ
れぞれから複数のインストラクションを生成する、ホス
トインタフェース、および該画素データを該ディスプレ
イメモリに格納するために該複数のインストラクション
を実行する実行回路を含む、グラフィックスコントロー
ラ回路と、を備えており、そのことにより上記目的が達
成される。
A computer system according to the present invention comprises: a host for sending a set of commands and pixel data via a bus; a display unit; a display memory for storing a set of pixel data corresponding to a display image on the display unit; A graphics controller circuit for supplying the set of pixel data to the display memory, a host interface receiving the set of commands and the pixel data on the bus from the host, wherein the host interface receives the set of pixels and the pixel data from each of the set of commands; A host interface for generating a plurality of instructions; and a graphics controller circuit including an execution circuit for executing the plurality of instructions to store the pixel data in the display memory. Cage, said object is achieved.

【0019】ある実施形態では、前記グラフィックスコ
ントローラ回路が、複数のレジスタを含むレジスタファ
イルをさらに備えている、コンピュータシステムであっ
て、もしコマンドが、該レジスタファイル内の第1のレ
ジスタへとアクセスするのなら、前記ホストインタフェ
ースが第1のインストラクションセットを生成し、もし
該コマンドが、第2のレジスタへとアクセスするのな
ら、該ホストインタフェースが第2のインストラクショ
ンセットを生成し、該第1のインストラクションセット
に含まれるインストラクションの個数が、該第2のイン
ストラクションセットに含まれるインストラクションの
個数とは異なり、該第1のインストラクションセット
が、該第1のレジスタへとアクセスすることを含んでい
る。
In one embodiment, the computer system wherein the graphics controller circuit further comprises a register file including a plurality of registers, wherein the command accesses a first register in the register file. The host interface generates a first instruction set, and if the command accesses a second register, the host interface generates a second instruction set; The number of instructions included in the instruction set is different from the number of instructions included in the second instruction set, and the first instruction set includes accessing the first register.

【0020】ある実施形態では、前記第2のレジスタが
仮想レジスタを含んでおり、前記第2のインストラクシ
ョンセットが、前記第1のレジスタへとアクセスする少
なくとも1つのインストラクションを含んでいる。
In one embodiment, the second register includes a virtual register, and the second set of instructions includes at least one instruction for accessing the first register.

【0021】ある実施形態では、前記ホストインタフェ
ースが、前記システムバス上のデータを調べ、前記コマ
ンドが前記第1のレジスタにアドレシングされているの
か、あるいは前記第2のレジスタにアドレシングされて
いるのかを判定する、該システムバスに結合されたコマ
ンドエンコーダであって、もし該コマンドが該第1のレ
ジスタにアドレシングされているのなら、前記第1のイ
ンストラクションセットを生成し、もし該コマンドが該
第2のレジスタにアドレシングされているのなら、前記
第2のインストラクションセットを生成する、コマンド
エンコーダと、該コマンドエンコーダにより生成された
該インストラクションを格納し、該インストラクション
を前記実行ブロックに与える、FIFOキューと、を備
えている。
In one embodiment, the host interface examines data on the system bus and determines whether the command is addressed to the first register or to the second register. Determining a command encoder coupled to the system bus, wherein if the command is addressed to the first register, generating the first instruction set; A command encoder that generates the second instruction set, stores the instruction generated by the command encoder, and provides the instruction to the execution block, and a FIFO queue that generates the second instruction set. It has.

【0022】ある実施形態では、前記コマンドのセット
が前記コマンドを含んでおり、該コマンドのセットが、
移動ディスプレイブロック操作をおこなうために設計さ
れる。
In one embodiment, the set of commands includes the command, and the set of commands is:
Designed to perform mobile display block operations.

【0023】ある実施形態では、前記コマンドエンコー
ダが、前記ホストデータおよび前記コマンドのセットに
対応するインストラクションのセットを、複数のエント
リを含む前記FIFOキューに格納し、該コマンドエン
コーダが、該複数のエントリのそれぞれに格納されてい
るデータが画素データムを含んでいるのか、あるいはイ
ンストラクションを含んでいるのかを示すタグビットを
発生する。
[0023] In one embodiment, the command encoder stores the host data and a set of instructions corresponding to the set of commands in the FIFO queue including a plurality of entries, and the command encoder stores the set of instructions in the plurality of entries. Generate a tag bit that indicates whether the data stored in each of these contains pixel datums or instructions.

【0024】ある実施形態では、前記複数のエントリそ
れぞれの前記タグビットを調べ、もし該タグビットが、
該複数のエントリの対応する1つに含まれるデータが画
素データムを含むことを示しているのなら、該エントリ
に含まれるデータを前記実行ブロックへと送る、FIF
O出力制御回路をさらに備えている。
In one embodiment, the tag bit of each of the plurality of entries is examined, and if the tag bit is
Sending the data contained in the entry to the execution block if the data contained in the corresponding one of the plurality of entries includes a pixel datum;
An O output control circuit is further provided.

【0025】本発明によるグラフィックスコントローラ
回路は、グラフィックス操作のためのパラメータを格納
する、メモリ位置としてアドレシング可能な、物理レジ
スタと、該物理レジスタへとアクセスする第1のコマン
ドと、仮想レジスタへとアクセスする第2のコマンド
と、を受け取り、該第1のコマンドに応答して第1のイ
ンストラクションセットを生成し、該第2のコマンドに
応答して第2のインストラクションセットを生成する、
エンコーダであって、該第1のインストラクションセッ
トおよび該第2のインストラクションセットがともに、
該物理レジスタへとアクセスするインストラクションを
含んでおり、該第2のインストラクションセットが該第
1のインストラクションセットを含んでいる、エンコー
ダと、該第1のインストラクションセットおよび該第2
のインストラクションセットを格納するFIFOと、該
物理レジスタおよび該FIFOに結合されたFIFO出
力制御回路であって、該物理レジスタへとアクセスする
該インストラクションに応答して、該物理レジスタへと
アクセスする制御信号を発生する、FIFO出力制御回
路と、を備えており、そのことにより上記目的が達成さ
れる。
A graphics controller circuit according to the present invention comprises: a physical register that stores parameters for a graphics operation, addressable as a memory location, a first command to access the physical register, and a virtual register. And generating a first instruction set in response to the first command and generating a second instruction set in response to the second command.
An encoder, wherein the first instruction set and the second instruction set are both
An encoder comprising instructions for accessing the physical register, wherein the second instruction set comprises the first instruction set; and an encoder comprising the first instruction set and the second instruction set.
And an FIFO output control circuit coupled to the physical register, the control signal accessing the physical register in response to the instruction accessing the physical register. And a FIFO output control circuit for generating the above, thereby achieving the above object.

【0026】本発明によるグラフィックスコントローラ
チップにおいてコマンドを実行する方法は、該コマンド
を受け取るステップと、該コマンドから複数のインスト
ラクションを生成するステップと、該複数のインストラ
クションをコマンドキューに格納するステップと、該コ
マンドキューにおける該複数のインストラクションを実
行するステップと、を含んでおり、そのことにより上記
目的が達成される。
A method for executing a command in a graphics controller chip according to the present invention includes the steps of receiving the command, generating a plurality of instructions from the command, storing the plurality of instructions in a command queue, Executing the plurality of instructions in the command queue, thereby achieving the above object.

【0027】ある実施形態では、前記コマンドが物理レ
ジスタへとアクセスするのか、仮想レジスタへとアクセ
スするのかを判定するために、該コマンドを調べるステ
ップをさらに含む方法であって、もし該コマンドが該物
理レジスタへとアクセスするのなら、複数のインストラ
クションを生成する前記ステップが、第1のインストラ
クションセットを生成し、もし該コマンドが該仮想レジ
スタへとアクセスするのなら、第2のインストラクショ
ンセットを生成する、ステップをさらに含んでおり、該
第1のインストラクションセットおよび該第2のインス
トラクションセットが、共に該物理レジスタへとアクセ
スするインストラクションを含んでおり、該第2のイン
ストラクションセットが、該第1のインストラクション
セットを含んでいる。
[0027] In one embodiment, the method further comprises examining the command to determine whether the command accesses a physical register or a virtual register, if the command accesses the physical register or the virtual register. If accessing a physical register, the step of generating a plurality of instructions generates a first set of instructions, and if the command accesses the virtual register, a second set of instructions. , The first instruction set and the second instruction set both include instructions for accessing the physical register, and wherein the second instruction set comprises the first instruction set. Include set .

【0028】以下に作用を説明する。The operation will be described below.

【0029】本発明のグラフィックスコントローラ回路
は、ホストからコマンドを受け取り、そのコマンドから
複数のインストラクションを発生することができるホス
トインタフェースを備えている。実行回路は、ホストか
ら受け取られたコマンドを実際に実行するために、複数
のインストラクションを実行する。
The graphics controller circuit of the present invention includes a host interface capable of receiving a command from a host and generating a plurality of instructions from the command. The execution circuit executes a plurality of instructions to actually execute the command received from the host.

【0030】このグラフィックスコントローラ回路は、
さらに、複数のレジスタから構成されるレジスタファイ
ルを備えていてもよい。ホストインタフェースは、もし
コマンドがレジスタファイルにおける第1のレジスタに
アクセスするのなら、第1セットのインストラクション
を生成し、もしコマンドが第2のレジスタにアクセスす
るのなら、第2セットのインストラクションを生成する
ことができる。第1セットのインストラクションは、第
1のレジスタへのアクセスを含んでいてもよい。本発明
による第2のレジスタは、仮想レジスタでありうる。第
2セットのインストラクションは、第1のレジスタへの
アクセスを命ずるインストラクションを含んでいてもよ
い。
This graphics controller circuit
Further, a register file including a plurality of registers may be provided. The host interface generates a first set of instructions if the command accesses a first register in the register file, and generates a second set of instructions if the command accesses a second register. be able to. The first set of instructions may include accessing a first register. The second register according to the invention can be a virtual register. The second set of instructions may include instructions that direct access to the first register.

【0031】仮想レジスタに宛てて発せられるこのよう
なコマンドを設け、かつ、レジスタファイルにおけるレ
ジスタへのアクセスを命ずるコマンドを含む多数のイン
ストラクションを生成することによって、本発明による
グラフィックスコントローラでは、あるレジスタへのア
クセスコマンドを、その他いくつかのコマンドと組み合
わせて、システムバス上の単一のコマンドとすることが
できる。システムバス上でいくつかのコマンドを組み合
わせて単一のコマンドにすることができるので、システ
ムバス上で転送されるデータの量を最小化することがで
きる。
By providing such commands issued to virtual registers and generating a large number of instructions, including commands that command access to registers in the register file, the graphics controller according to the present invention provides for certain registers in the graphics controller. Can be combined with several other commands into a single command on the system bus. Since several commands can be combined into a single command on the system bus, the amount of data transferred on the system bus can be minimized.

【0032】本発明によるホストインタフェースは、バ
ス上のデータを調べ、そのコマンドが第1のレジスタに
アドレシングされているのか、第2のレジスタにアドレ
シングされているのかを判定するコマンドエンコーダを
備えていてもよい。このコマンドエンコーダは、もしそ
のコマンドが第1のレジスタにアドレシングされている
のなら、第1セットのインストラクションを生成し、も
しそのコマンドが第2のレジスタにアドレシングされて
いるのなら、第2セットのインストラクションを生成す
ることができる。
The host interface according to the present invention includes a command encoder that examines data on the bus and determines whether the command is addressed to the first register or the second register. Is also good. The command encoder generates a first set of instructions if the command is addressed to a first register, and a second set of instructions if the command is addressed to a second register. Instructions can be generated.

【0033】ホストインタフェースは、また、コマンド
エンコーダにより生成されたインストラクションを格納
し、かつそれらのインストラクションを実行ブロックに
与える、FIFOキューを備えていてもよい。ホストイ
ンタフェースが、それぞれのコマンドから多数のインス
トラクションを生成するとき、グラフィックスコントロ
ーラ用のインストラクションパス、および、ホストに供
給されるデータ用のパスは、より狭いバス幅で動作する
ことができるので、シリコンスペースを節約することが
できる。このグラフィックスコントローラは、たとえシ
ステムバスよりも高速で動作するような場合でも、この
ようにより多数のインストラクションを実行することが
できる。
The host interface may also include a FIFO queue that stores instructions generated by the command encoder and provides those instructions to the execution block. When the host interface generates a large number of instructions from each command, the instruction path for the graphics controller and the path for data supplied to the host can operate with a narrower bus width, so that the Space can be saved. The graphics controller can thus execute more instructions, even if it operates faster than the system bus.

【0034】本発明では、移動ディスプレイブロック操
作をおこなうための複数のコマンドには、ホストに供給
されるデータが含まれていてもよい。ホストは、ホスト
データおよび移動ディスプレイブロック操作用の複数の
コマンドをホストバスを介して送ることができる。コマ
ンドエンコーダは、ホストデータと、複数のコマンドに
対応するインストラクションのセットとを、複数のエン
トリを含むFIFOキューに格納することができる。コ
マンドエンコーダは、それぞれのエントリに格納されて
いるデータがホストデータムを含んでいるのか、あるい
はインストラクションを含んでいるのかを示すタグビッ
トを発生することができる。
According to the present invention, a plurality of commands for performing a moving display block operation may include data supplied to the host. The host can send host data and multiple commands for manipulating the mobile display block via the host bus. The command encoder can store host data and a set of instructions corresponding to a plurality of commands in a FIFO queue including a plurality of entries. The command encoder can generate a tag bit that indicates whether the data stored in each entry includes a host datum or an instruction.

【0035】グラフィックスコントローラ回路内のFI
FO出力制御回路は、それぞれのエントリのタグビット
を調べ、もしそのタグビットが、対応するエントリに含
まれているデータがインストラクションを含むことを示
しているのなら、そのエントリに含まれているデータを
実行ブロックへと送り、もしそのタグビットが、対応す
るエントリに含まれているデータがホストデータを含む
ことを示しているのなら、そのエントリに含まれている
データを画素処理ブロックへと送る。
FI in the graphics controller circuit
The FO output control circuit examines the tag bit of each entry, and if the tag bit indicates that the data contained in the corresponding entry contains instructions, the data contained in that entry is included. To the execution block, and if the tag bit indicates that the data contained in the corresponding entry contains host data, send the data contained in that entry to the pixel processing block. .

【0036】[0036]

【発明の実施の形態】本願は、1995年6月23日に出願さ
れ、「バイトイネーブルFIFOアーキテクチャ」と題
された仮出願第60/000,490号により優先権を主張してい
る。
DETAILED DESCRIPTION OF THE INVENTION This application claims priority from Provisional Application No. 60 / 000,490, filed June 23, 1995, entitled "Byte Enable FIFO Architecture."

【0037】本発明によるグラフィックスコントローラ
120は、図4の(a)〜(d)に図示されているように、シ
ステムバス112を介して受け取られるコマンドの個数
を減らすことができるように設計されている。図4の
(a)に示されているように、グラフィックス操作をおこ
なうにあたって、従来の技術によるホスト110は、3
つのコマンドを送る。すなわち、レジスタAのセットを
命ずる第1のコマンド(410)、レジスタBのセット
を命ずる第2のコマンド(420)、ならびにAおよび
Bを用いて操作の実行開始を命ずる第3のコマンド(4
30)の3つである。
The graphics controller 120 according to the present invention is designed to reduce the number of commands received via the system bus 112 as shown in FIGS. 4A to 4D. ing. In FIG.
As shown in (a), when performing a graphics operation, the host 110 according to the prior art is
Send two commands. That is, a first command (410) for setting the register A, a second command (420) for setting the register B, and a third command (4
30).

【0038】本発明では、等価なグラフィックス操作を
おこなうにあたって、ホスト110はわずか2つのコマ
ンドを送るだけでよい。すなわち、レジスタAのセット
を命ずるコマンド(411)、および、レジスタBのセ
ットを命じ、かつAおよびBを用いた実行の開始を命ず
るコマンド(412)の2つである。よって、本発明に
よれば、従来の技術による2つのコマンドを1つのコマ
ンドに組み合わせることができる。図4の(b)〜(d)も図
4の(a)と同様に説明される。すなわち、いずれの図に
おいても、従来の技術では2つのコマンドが、1つのコ
マンドに組み合わされている。
In the present invention, the host 110 need only send two commands to perform an equivalent graphics operation. That is, a command (411) for instructing the setting of the register A and a command (412) for instructing the setting of the register B and instructing the start of execution using A and B. Therefore, according to the present invention, two commands according to the related art can be combined into one command. 4B to 4D are also described in the same manner as FIG. 4A. That is, in each of the figures, two commands are combined into one command in the related art.

【0039】例えば、従来の技術では、グラフィックス
コントローラ120は、移動ディスプレイブロック操作
を実行するために、ホスト110から4つのコマンドを
受け取ることがある。すなわち、第1のコマンドは、ソ
ースディスプレイブロックのアドレスを指定し、第2の
コマンドは、デスティネーションディスプレイブロック
のアドレスを指定し、第3のコマンドは、ソースディス
プレイブロックのX範囲およびY範囲を指定し、第4の
コマンドは、グラフィックスコントローラ120に対し
て、最初の3つのコマンドでセットされうるパラメータ
を用いた実行の開始するを指令することがある。第4の
コマンドに応答して、グラフィックスコントローラ12
0は、(第1および第3のコマンドにより指定された)
ソースディスプレイブロックの画素データを、(第2の
コマンドにより指定された)デスティネーションディス
プレイブロックに対応する、ディスプレイメモリ140
内のメモリ位置へと移動させることがある。
For example, in the prior art, graphics controller 120 may receive four commands from host 110 to perform a moving display block operation. That is, the first command specifies the address of the source display block, the second command specifies the address of the destination display block, and the third command specifies the X and Y ranges of the source display block. However, the fourth command may instruct the graphics controller 120 to start execution using parameters that can be set in the first three commands. In response to the fourth command, the graphics controller 12
0 (specified by the first and third commands)
The pixel data of the source display block is stored in the display memory 140 corresponding to the destination display block (specified by the second command).
May be moved to a memory location within

【0040】これに対し、本発明では、移動ディスプレ
イブロック操作をおこなうにあたって、グラフィックス
コントローラ120は、ホスト110から3つのコマン
ドを受け取るだけでよい。第1および第2のコマンド
は、従来の技術と同様に、ソースブロックおよびデステ
ィネーションブロックのアドレスを指定する。しかし、
第3のコマンドは、X範囲またはY範囲のいずれかまた
はその両者を指定するのみならず、本発明のグラフィッ
クスコントローラ120に、ソースディスプレイブロッ
クの画素データの移動を開始させる。本発明のグラフィ
ックスコントローラ120では、移動ディスプレイブロ
ック操作をおこなうために受け取るコマンドの個数が少
なくなるので、ホスト110がシステムバス112上で
送るデータの量も減らすことができる。加えて、仮想レ
ジスタ空間が用いられるので、このような仮想レジスタ
の空間には追加の物理レジスタが必要なくなり、シリコ
ンスペースをさらに節約することができる。
On the other hand, according to the present invention, the graphics controller 120 only needs to receive three commands from the host 110 when performing a moving display block operation. The first and second commands specify the addresses of a source block and a destination block, as in the prior art. But,
The third command not only specifies either the X range or the Y range or both, but also causes the graphics controller 120 of the present invention to start moving the pixel data of the source display block. In the graphics controller 120 of the present invention, since the number of commands received to perform the mobile display block operation is reduced, the amount of data that the host 110 sends on the system bus 112 can also be reduced. In addition, since virtual register space is used, no additional physical registers are needed in such virtual register space, further saving silicon space.

【0041】グラフィックスコントローラ120は、レ
ジスタにXおよびY範囲を格納させることによって、転
送されるデータの量のこのような削減を達成することが
できる。グラフィックスコントローラ120は、Xおよ
びY範囲をこれらのレジスタに格納することを命ずるあ
るタイプのコマンドを受け取り、仮想レジスタに宛てて
発せられた別のタイプのコマンドを受け取ることができ
る。仮想レジスタに宛てられたこのようなコマンドに応
答して、(図2に示されている)ホストインタフェース
210は、XおよびY範囲をレジスタに格納することを
命ずるインストラクションのみならず、その他のインス
トラクションを生成することもできる。上述した例で
は、仮想レジスタにアクセスすることを命ずるコマンド
に応答して、ホストインタフェース120は、Xおよび
Y範囲を対応するレジスタに格納することを命じ、ソー
スディスプレイブロックの画素データの移動開始を命ず
る多数のインストラクションを生成することができる。
よって、本発明では、仮想レジスタを用いることによっ
て、従来の技術による第3および第4のコマンドをシス
テムバス112上で1つのコマンドに組み合わせること
ができる。
Graphics controller 120 can achieve such a reduction in the amount of data transferred by having the registers store the X and Y ranges. Graphics controller 120 may receive one type of command directing that the X and Y ranges be stored in these registers and another type of command issued to a virtual register. In response to such a command destined for a virtual register, the host interface 210 (shown in FIG. 2) may not only store the X and Y ranges in the register, but also other instructions. It can also be generated. In the example described above, in response to a command instructing access to the virtual register, the host interface 120 instructs to store the X and Y ranges in the corresponding register, and instructs to start moving the pixel data of the source display block. Many instructions can be generated.
Therefore, in the present invention, the third and fourth commands according to the related art can be combined into one command on the system bus 112 by using the virtual register.

【0042】本発明では、従来の技術で用いられる多数
のコマンドを1つのコマンドに組み合わせることができ
るので、システムバス112上のデータの量を減らすこ
とができる。ここでは、本発明は移動ディスプレイブロ
ック操作に適用されるものとして説明されているが、そ
の他のタイプの操作をおこなうことも、本発明の範囲お
よび精神内であることは理解されたい。
According to the present invention, since a large number of commands used in the prior art can be combined into one command, the amount of data on the system bus 112 can be reduced. Although the invention is described herein as applying to a mobile display block operation, it should be understood that performing other types of operations is within the scope and spirit of the invention.

【0043】図2は、ホストインタフェース210と、
実行ブロック220と、画素処理ブロック230とを有
する本発明によるグラフィックスコントローラ120の
ブロック図である。ホストインタフェース210は、シ
ステムバス112を介してホスト110からコマンドお
よびホストデータを受け取り、それぞれのコマンドに対
応する多数のインストラクションを生成することができ
る。それぞれのコマンドに対応するこのように多数のイ
ンストラクションを生成することによって、グラフィッ
クスコントローラ120は、ホスト110からグラフィ
ックスコントローラ120に転送されるデータの量を減
らすことができる。ホストインタフェース210は、コ
マンドをあるクロックレート(すなわち、システムバス
112のクロックレート)で受け取り、別のレート(す
なわち、グラフィックスコントローラ120の内部クロ
ックレート)でインストラクションを生成することがで
きる。
FIG. 2 shows a host interface 210,
FIG. 4 is a block diagram of a graphics controller 120 according to the present invention having an execution block 220 and a pixel processing block 230. The host interface 210 can receive commands and host data from the host 110 via the system bus 112 and generate a number of instructions corresponding to each command. By generating such a large number of instructions corresponding to each command, the graphics controller 120 can reduce the amount of data transferred from the host 110 to the graphics controller 120. The host interface 210 can receive commands at one clock rate (ie, the clock rate of the system bus 112) and generate instructions at another rate (ie, the internal clock rate of the graphics controller 120).

【0044】実行ブロック220は、ホストインタフェ
ース210により生成されたインストラクションを実行
することによって、ホスト110からのコマンドにより
指定された操作をおこなう。実行ブロック220により
実行されるインストラクションには、ソースディスプレ
イブロックの画素データを、ディスプレイメモリ140
内のデスティネーションディスプレイブロックに対応す
るメモリ位置へと移動させる操作のようなさまざまな操
作が含まれている。ホスト110は、システムバス11
2を介してソースディスプレイブロックの画素データを
送ることもできるし、また、ホスト110は、ソースデ
ィスプレイブロックの画素データが存在しているディス
プレイメモリ140内のメモリ位置を指定することもで
きる。実行ブロック220は、ホスト110またはディ
スプレイメモリ140からの画素データの、制御バス1
14を介した移動を制御する。
The execution block 220 performs an operation specified by a command from the host 110 by executing the instruction generated by the host interface 210. The instructions executed by the execution block 220 include the pixel data of the source display block with the display memory 140.
Various operations are included, such as an operation to move to a memory location corresponding to a destination display block within. The host 110 is connected to the system bus 11
2, the host 110 can specify the memory location in the display memory 140 where the pixel data of the source display block exists. The execution block 220 receives the pixel data from the host 110 or the display memory 140 from the control bus 1.
14 to control movement.

【0045】画素処理ブロック230は、画素データを
処理することによって、追加画素データを発生する。こ
のような処理には、この技術ではよく知られているラス
タ操作の実行が含まれていてもよい。画素処理ブロック
230は、このような処理により生じた画素データを、
実行ブロック220により指定されたメモリ位置に格納
することができる。
The pixel processing block 230 generates additional pixel data by processing the pixel data. Such processing may include performing a raster operation well known in the art. The pixel processing block 230 converts the pixel data generated by such processing into
It can be stored at the memory location specified by execution block 220.

【0046】図3は、アドレスレジスタ333と、デー
タレジスタ336と、コマンドエンコーダ330と、コ
マンド/データFIFO 340とを含む、本発明によ
るホストインタフェース210の詳細ブロック図であ
る。本発明のエンコーダ330は、受け取られたコマン
ドのそれぞれから多数のインストラクションを生成し、
それらのインストラクションをコマンド/データFIF
O 340に格納することができる。
FIG. 3 is a detailed block diagram of host interface 210 according to the present invention, including address register 333, data register 336, command encoder 330, and command / data FIFO 340. The encoder 330 of the present invention generates a number of instructions from each of the received commands,
Command / data FIF
O 340.

【0047】図3は、さらに、FIFO出力制御回路3
60と、実行エンジン370と、レジスタファイル35
0とを含む、本発明による実行ブロック220の詳細ブ
ロック図を含んでいる。FIFO出力制御回路360
は、いつデータがレジスタファイル350に格納される
かを制御することができる。FIFO出力制御回路36
0は、また、各種操作の実行をいつ開始するかを決定
し、バス366を介して実行エンジン370の操作を制
御することもできる。FIFO出力制御回路360は、
コマンド/データFIFOバス212のバス213およ
び214上で受け取られたコマンド/タグ情報に基づ
き、それらの操作のそれぞれをおこなう。
FIG. 3 further shows a FIFO output control circuit 3.
60, execution engine 370, and register file 35
FIG. 3 includes a detailed block diagram of an execution block 220 according to the present invention, including zeros. FIFO output control circuit 360
Can control when data is stored in register file 350. FIFO output control circuit 36
0 may also determine when execution of various operations is to begin and control the operation of execution engine 370 via bus 366. The FIFO output control circuit 360
Each of these operations is performed based on command / tag information received on buses 213 and 214 of the command / data FIFO bus 212.

【0048】レジスタファイル350は、それぞれが所
定のパラメータに対応する値を格納する、複数のレジス
タを含みうる。例えば、レジスタ0および1は、移動デ
ィスプレイブロック操作のためのソースディスプレイブ
ロックおよびデスティネーションディスプレイブロック
それぞれの開始アドレスのXおよびY座標をそれぞれ格
納することができる。レジスタ2は、ソースディスプレ
イブロックのXおよびY範囲を格納することができる。
本願明細書では、レジスタファイル350に含まれるレ
ジスタは、「物理レジスタ」とも呼ばれる。
The register file 350 may include a plurality of registers, each storing a value corresponding to a predetermined parameter. For example, registers 0 and 1 can store the X and Y coordinates of the start address of each of the source and destination display blocks for moving display block operation, respectively. Register 2 can store the X and Y ranges of the source display block.
In the present specification, the registers included in the register file 350 are also called “physical registers”.

【0049】好ましい実施の形態では、レジスタファイ
ル350におけるそれぞれのレジスタは、32ビットを
格納することができる。その場合、XおよびY範囲なら
びにXおよびY座標はそれぞれ、16ビットで格納され
る。レジスタファイル350は、メモリマッピングされ
たレジスタセットとしてアドレシング可能な(つまり、
それぞれのレジスタが所定のメモリアドレスをもつ)多
数のレジスタを含んでいてもよい。好ましい実施の形態
では、レジスタファイル350は、8つのレジスタを含
む。
In the preferred embodiment, each register in register file 350 can store 32 bits. In that case, the X and Y ranges and the X and Y coordinates are each stored in 16 bits. Register file 350 can be addressed as a memory-mapped register set (ie,
(Each register has a predetermined memory address). In the preferred embodiment, register file 350 contains eight registers.

【0050】したがって、例えばソースおよびデスティ
ネーションディスプレイブロックの開始アドレスを指定
するコマンドのようなコマンドは、データをレジスタフ
ァイル350内の対応するレジスタへと書き込むことを
伴う。システムバス112には、32ビット幅のPCI
バスが含まれていてもよい。よって、ホスト110は、
コマンドを送るために、(システムバス112の)1ク
ロックサイクルのあいだに32ビットのアドレス情報を
送り、後続する1クロックサイクルのあいだに対応する
32ビットのデータを送ることができる。
Thus, a command, such as a command specifying the start address of the source and destination display blocks, involves writing data to the corresponding registers in register file 350. The system bus 112 has a 32-bit PCI
A bus may be included. Therefore, the host 110
To send a command, 32 bits of address information can be sent during one clock cycle (of the system bus 112) and the corresponding 32 bits of data can be sent during the following one clock cycle.

【0051】例えば、ホスト110は、ソースディスプ
レイブロックの開始アドレスをセットするために、1ク
ロックサイクルのあいだにレジスタ0の32ビットのメ
モリアドレスを送り、後続する1クロックサイクルのあ
いだに対応するデータを送ることができる。32ビット
のデータは、開始アドレスのXおよびY座標のそれぞれ
に対応する16ビットを含んでいてもよい。同様に、ホ
スト110は、移動操作のためのソースディスプレイブ
ロックのXおよびY範囲をセットするために、レジスタ
2のアドレスと、対応するデータとを送ることができ
る。
For example, the host 110 sends the 32-bit memory address of the register 0 during one clock cycle to set the start address of the source display block, and transmits the corresponding data during the following one clock cycle. Can be sent. The 32-bit data may include 16 bits corresponding to each of the X and Y coordinates of the start address. Similarly, host 110 can send the address of register 2 and the corresponding data to set the X and Y ranges of the source display block for the move operation.

【0052】ホスト110は、また、仮想レジスタ数
(例えば、レジスタファイル350が、0〜7の番号の
付けられた8つのレジスタを含む時には8になる)のメ
モリアドレスを送ることもできる。このような仮想レジ
スタ数の受け取りに応答して、本発明によるグラフィッ
クスコントローラ120は、インストラクションを生成
し、次のクロックサイクルで受け取られたデータを所定
のレジスタ0〜7のいずれかに格納し、画素データを、
ディスプレイメモリ140内のデスティネーションディ
スプレイブロックに対応するメモリ位置へと移動させる
ことができる。
The host 110 can also send a memory address of the virtual register number (eg, 8 when the register file 350 contains eight registers numbered 0-7). In response to receiving such a virtual register number, the graphics controller 120 according to the present invention generates an instruction and stores the data received in the next clock cycle in any of the predetermined registers 0-7; Pixel data,
It can be moved to a memory location in the display memory 140 corresponding to the destination display block.

【0053】このような仮想レジスタアドレシングを用
い、格納・移動を命ずるインストラクションを生成する
ことによって、グラフィックスコントローラ120は、
画素データの移動開始を命ずるコマンドを追加する必要
はなくなる。その結果、システムバス112を介して転
送されるコマンドデータの量を減らすことができる。従
来の技術によるグラフィックスコントローラ120が、
デスティネーションディスプレイブロックのメモリアド
レスへの画素データの移動を開始するためにはそのよう
な追加コマンドが必要であることは理解できるであろ
う。また、このような仮想レジスタアドレシングに応答
して、異なる複数のインストラクションが生成されるよ
うにしても、本発明の範囲および精神からはずれること
がないことも理解できるであろう。
By using such virtual register addressing and generating instructions for instructing storage and movement, the graphics controller 120
There is no need to add a command to command the start of pixel data movement. As a result, the amount of command data transferred via the system bus 112 can be reduced. The graphics controller 120 according to the prior art
It will be appreciated that such an additional command is required to initiate the transfer of the pixel data to the memory address of the destination display block. It will also be appreciated that different instructions may be generated in response to such virtual register addressing without departing from the scope and spirit of the present invention.

【0054】さらに図3を参照すると、アドレスレジス
タ333およびデータレジスタ336は、それぞれのバ
スサイクルの間にシステムバス112を介して受け取ら
れたアドレスおよびデータ情報をそれぞれ格納すること
ができる。ホスト110からのアドレスは、レジスタフ
ァイル350内のレジスタのメモリマッピングされたア
ドレスを含んでいてもよいし、仮想レジスタのアドレス
を含んでいてもよい。
Still referring to FIG. 3, address register 333 and data register 336 can respectively store address and data information received over system bus 112 during each bus cycle. The address from the host 110 may include the memory-mapped address of a register in the register file 350, or may include the address of a virtual register.

【0055】コマンドエンコーダ330は、アドレスレ
ジスタ333に格納されたアドレスを調べることによっ
て、対応するインストラクションを生成することができ
る。例えば、もしアドレスがレジスタ0に対応するのな
ら、コマンドエンコーダ330は、2つのインストラク
ションを生成することができる。第1のインストラクシ
ョンは、(データレジスタ336に格納されている)3
2ビットのデータのうちの16ビットを占めるY座標を
レジスタ0に格納し、第2のインストラクションは、残
りの16ビットを占めるX座標をレジスタ0に格納する
ことができる。
The command encoder 330 can generate a corresponding instruction by examining the address stored in the address register 333. For example, if the address corresponds to register 0, command encoder 330 can generate two instructions. The first instruction is 3 (stored in data register 336).
The Y coordinate occupying 16 bits of the 2-bit data can be stored in register 0, and the second instruction can store the X coordinate occupying the remaining 16 bits in register 0.

【0056】アドレスレジスタ333に格納されたアド
レスが仮想レジスタに対応するのなら、コマンドレジス
タは、格納インストラクション以外の追加のインストラ
クションを生成することができる。例えば、好ましい実
施の形態では、グラフィックスコントローラ120は、
移動ディスプレイブロック操作をおこなう間にホスト1
10により用いられうる3つの仮想レジスタ(範囲・実
行・Xレジスタ、範囲・実行・Yレジスタおよび範囲・
実行・X・Yレジスタ)を含んでいてもよい。
If the address stored in address register 333 corresponds to a virtual register, the command register can generate additional instructions other than the stored instructions. For example, in a preferred embodiment, the graphics controller 120
Host 1 while performing mobile display block operation
The three virtual registers (range, execute, X register, range, execute, Y register and range,
Execution / XY register).

【0057】範囲・実行・X仮想レジスタ(レジスタ番
号8)への書き込み操作は、X範囲のみが変更される必
要があることを示しているので、画素データの移動操作
は、変更されたX範囲を用いて直ちに開始される。この
ような範囲・実行・X書き込み操作に応じて、コマンド
エンコーダ330は、X範囲の変更を命ずるインストラ
クションを生成し、レジスタ1により指定されたアドレ
スへの表示データの移動操作の開始を命ずる別のインス
トラクションを生成する。同様に、コマンドエンコーダ
330は、範囲・実行・Yレジスタに対する書き込み操
作に対応する2つのインストラクションを生成すること
ができる。
The operation of writing to the range / execution / X virtual register (register number 8) indicates that only the X range needs to be changed. Start immediately with. In response to such a range / execution / X write operation, the command encoder 330 generates an instruction to change the X range and another command to start the operation of moving the display data to the address specified by the register 1. Generate instructions. Similarly, the command encoder 330 can generate two instructions corresponding to a range, execute, and write operation to the Y register.

【0058】コマンドエンコーダ330は、範囲・実行
・X・Y仮想レジスタ(レジスタ番号10)への書き込
みコマンドに対応する3つのインストラクションを生成
することができる。第1のインストラクションは、32
ビットのデータのうちの16ビットのX成分を書き込ま
せ、第2のインストラクションは、32ビットのデータ
のうちの残りの16ビットのY成分を書き込ませる。第
3のインストラクションは、ソースディスプレイブロッ
クの画素データの、デスティネーションディスプレイブ
ロックへの移動開始を命ずる移動インストラクションで
ありうる。
The command encoder 330 can generate three instructions corresponding to the write command to the range / execution / XY virtual register (register number 10). The first instruction is 32
The 16-bit X component of the bit data is written, and the second instruction causes the remaining 16-bit Y component of the 32-bit data to be written. The third instruction may be a movement instruction for instructing the start of movement of the pixel data of the source display block to the destination display block.

【0059】コマンドエンコーダ330により生成され
るインストラクションはそれぞれ、32ビットを含むこ
とができる。そのうちの16ビットは、X範囲、Y範
囲、X座標、Y座標のいずれか1つに充てられる。残り
の16ビットは、インストラクションのタイプ(例え
ば、レジスタ1への格納、ディスプレイデータ移動操作
の開始など)を示すことができるインストラクションコ
ードを指定できる。コマンドエンコーダ330は、その
ような32ビットのインストラクションをインストラク
ション/データバス334を介して送ることができる。
Each of the instructions generated by command encoder 330 can include 32 bits. The 16 bits are used for any one of the X range, the Y range, the X coordinate, and the Y coordinate. The remaining 16 bits can specify an instruction code that can indicate the type of instruction (eg, storage in register 1, start of display data move operation, etc.). Command encoder 330 can send such 32-bit instructions via instruction / data bus 334.

【0060】コマンドエンコーダ330は、また、信号
ライン343上にタグビットを送ることによって、イン
ストラクション/データバス334上に送られている情
報がインストラクションに対応しているのか、あるい
は、ホストデータムに対応しているのかを示すことがで
きる。コマンドエンコーダ330は、インストラクショ
ン/データバス334を介してインストラクションを送
りながら、タグビットとして論理値0を送り、ホストデ
ータムを送りながら論理値1を送ることができる。
Command encoder 330 also sends a tag bit on signal line 343 to determine whether the information sent on instruction / data bus 334 corresponds to an instruction or to a host datum. Can be shown. The command encoder 330 can send a logical value 0 as a tag bit while sending instructions via the instruction / data bus 334, and send a logical value 1 while sending host datum.

【0061】このようなホストデータは、システムバス
112を介してホスト110から受け取られ、ソースデ
ィスプレイブロックの画素データに対応する。レジスタ
0は、ソースディスプレイブロックの画素データがホス
ト110により供給されることを示す値をもつことがで
きる。そのような場合、ホスト110は、移動ディスプ
レイブロック操作のためのソースディスプレイブロック
の画素データを送ることができる。
Such host data is received from the host 110 via the system bus 112 and corresponds to the pixel data of the source display block. Register 0 may have a value indicating that the pixel data of the source display block is provided by host 110. In such a case, the host 110 can send the pixel data of the source display block for the moving display block operation.

【0062】コマンド/データFIFO 340は、イ
ンストラクション/データバス334を介して受け取ら
れたそれぞれのインストラクションまたはホストデータ
ムを格納し、かつ信号ライン343を介して受け取られ
た対応するタグビットを格納することができる。コマン
ド/データFIFO 340は、好ましい実施の形態で
は、32のエントリを含むことができる。ここで、それ
ぞれのエントリは33ビットを含む。つまり、それぞれ
のエントリは、32ビットのインストラクションまたは
ホストデータムと、対応する1タグビットとを格納する
ことができる。コマンド/データFIFO 340にお
けるそれぞれのタグビット(タグビットフィールド34
6に格納される)は、対応する32ビットがインストラ
クションを表しているのか、あるいはホストデータムを
表しているのかを示すことができる。
Command / data FIFO 340 stores each instruction or host datum received over instruction / data bus 334 and stores the corresponding tag bit received over signal line 343. it can. Command / data FIFO 340 may include 32 entries in the preferred embodiment. Here, each entry includes 33 bits. That is, each entry can store a 32-bit instruction or host datum and a corresponding 1-tag bit. Each tag bit in the command / data FIFO 340 (tag bit field 34
6) can indicate whether the corresponding 32 bits represent an instruction or a host datum.

【0063】もしコマンド/データFIFO 340の
エントリにおける33ビットがインストラクションを表
しているのなら、インストラクションコードフィールド
347は、インストラクションコードに対応する16ビ
ットを格納することができる。また、データフィールド
348は、インストラクションのデータ部分に対応する
残りの16ビットを格納することができる。もしコマン
ド/データFIFO340のエントリにおける33ビッ
トがホストデータを表しているのなら、コマンド/デー
タFIFO 340は、データフィールド347および
348を用いて、ホストデータの32ビットをエントリ
に格納することができる。もしホストデータが供給され
れば、そのデータは、バス213上でタグビットにより
示されるように、バス212を介して画素処理ブロック
230により処理される。
If the 33 bits in the command / data FIFO 340 entry represent an instruction, the instruction code field 347 can store 16 bits corresponding to the instruction code. The data field 348 can store the remaining 16 bits corresponding to the data part of the instruction. If the 33 bits in the command / data FIFO 340 entry represent host data, the command / data FIFO 340 can use the data fields 347 and 348 to store 32 bits of host data in the entry. If host data is provided, the data is processed by pixel processing block 230 via bus 212 as indicated by the tag bits on bus 213.

【0064】単一のコマンドから多数のインストラクシ
ョンを生成することによって、本発明によるコマンド/
データFIFO 340は、システムバス212よりも
狭いデータ幅(33ビット)で効果的に動作できること
は理解されたい。このように多数のインストラクション
を生成しなければ、コマンド/データFIFOは、64
ビットのデータ幅で動作しなければならなくなる。グラ
フィックスコントローラ120は、システムバス112
よりも高いクロックレートで動作することができるの
で、グラフィックスコントローラ120は、その結果、
より多数のインストラクションを実行可能となる。例え
ば、PCIバスなどのシステムバス112は、33MH
zで動作するが、グラフィックスコントローラ120は
62.5MHzで動作可能である。
By generating multiple instructions from a single command, a command /
It should be understood that the data FIFO 340 can operate effectively with a narrower data width (33 bits) than the system bus 212. If such a large number of instructions are not generated, the command / data FIFO becomes 64 bytes.
It must operate with a data width of bits. The graphics controller 120 is connected to the system bus 112
Since the graphics controller 120 can operate at a higher clock rate,
More instructions can be executed. For example, a system bus 112 such as a PCI bus
Operating at z, graphics controller 120 can operate at 62.5 MHz.

【0065】さらに図3を参照すると、FIFO出力制
御回路360は、コマンド/データFIFO 340の
各エントリにおける33ビットのデータを取り出し、タ
グビット346を調べることによって、取り出されたデ
ータがインストラクションに対応するのか、あるいはホ
ストデータに対応するのかを判定することができる。も
し33ビットのエントリがインストラクションを表すの
なら、FIFO出力制御回路360は、インストラクシ
ョンコード(フィールド347に格納されている)を調
べることによって、そのインストラクションが、データ
をレジスタファイル350内のレジスタへと格納するこ
とを命ずるインストラクションであるかどうかを判定す
る。もしそうなら、FIFO出力制御回路360は、ア
サート信号365を発生することによって、16ビット
をインストラクションコードにより示されたレジスタ内
のデータフィールド348に格納する。
Still referring to FIG. 3, FIFO output control circuit 360 extracts 33-bit data in each entry of command / data FIFO 340 and checks tag bit 346, whereby the extracted data corresponds to the instruction. Or whether it corresponds to the host data. If the 33-bit entry represents an instruction, FIFO output control circuit 360 checks the instruction code (stored in field 347) so that the instruction stores the data in a register in register file 350. It is determined whether the instruction instructs the user to perform the instruction. If so, FIFO output control circuit 360 stores the 16 bits in data field 348 in the register indicated by the instruction code by generating assert signal 365.

【0066】もし33ビットのエントリが実行インスト
ラクションを表すのなら、FIFO出力制御回路360
は、制御バス366上の実行エンジン370を介して実
行を開始することができる。実行エンジン370は、制
御信号を画素処理ブロック230へと発生することによ
って、ホストデータを適正に処理する。例えば、ホスト
データは、先行する移動ディスプレイブロックコマンド
の画素データに対応しうる。その場合、実行エンジン3
70は、レジスタファイル350内のレジスタにより示
されたメモリ位置に画素データを格納することができ
る。グラフィックスコントローラ120は、ディスプレ
イメモリ140に格納された画素データからディスプレ
イユニット130へと表示信号を発生することができ
る。
If the 33-bit entry represents an execution instruction, the FIFO output control circuit 360
Can begin execution via the execution engine 370 on the control bus 366. Execution engine 370 processes the host data properly by generating control signals to pixel processing block 230. For example, the host data may correspond to pixel data of a preceding moving display block command. In that case, execution engine 3
70 can store pixel data at a memory location indicated by a register in register file 350. The graphics controller 120 can generate a display signal from the pixel data stored in the display memory 140 to the display unit 130.

【0067】よって、本発明によるホストインタフェー
ス210は、ホスト110から受け取られたそれぞれの
コマンドから多数のインストラクションを生成すること
ができる。これにより、ホスト110がグラフィックス
コントローラ120に送るデータの量を減らすことがで
きる。このように多数のインストラクションを生成する
ことによって、グラフィックスコントローラ120は、
狭いバス幅で効果的に動作することができる。
Thus, the host interface 210 according to the present invention can generate a large number of instructions from each command received from the host 110. Thus, the amount of data sent from the host 110 to the graphics controller 120 can be reduced. By generating such a large number of instructions, the graphics controller 120
It can operate effectively with a narrow bus width.

【0068】以上の説明では、本発明は、ディスプレイ
ブロック移動操作に適用されるものとしたが、本発明の
範囲および精神から外れることなく、その他のタイプの
操作をおこなうこともできる。例えば、レジスタへの読
み出しアクセス時に、多数のインストラクションを生成
することもできる。このようなレジスタは、上述した説
明と同様に仮想レジスタであってもよいし、物理的に存
在するものであってもよい(例えば、レジスタファイル
350におけるレジスタ0〜7の1つであってもよ
い)。読み出しおよび書き込みコマンドは、本願明細書
では、合わせて「アクセスコマンド」と称される。
In the above description, the present invention is applied to the operation of moving the display block, but other types of operations can be performed without departing from the scope and spirit of the present invention. For example, multiple instructions can be generated during a read access to a register. Such a register may be a virtual register as described above, or may be a physical register (for example, one of registers 0 to 7 in the register file 350). Good). Read and write commands are collectively referred to herein as “access commands”.

【0069】本発明が、上述した目的のすべてを達成で
きることは、当業者には容易に理解できるであろう。以
上の詳細な説明を読めば、当業者には、本明細書に広く
開示されている本発明について、さまざまな改変を施し
たり、等価である構成に置き換えたり、ここには言及さ
れていないその他さまさざまな局面を実施したりするこ
とができるであろう。よって、本発明に与えられるべき
保護の範囲は、添付の請求の範囲およびそれに等価であ
る範囲に含まれる定義によってのみ限定されるように意
図されている。
It will be readily apparent to one skilled in the art that the present invention can achieve all of the objects set forth above. After reading the above detailed description, it will be apparent to those skilled in the art that various modifications, substitutions, and / or equivalent arrangements may be made to the invention disclosed broadly herein. Various aspects could be implemented. Thus, the scope of protection to be provided by the present invention is intended to be limited only by the definitions contained in the appended claims and equivalents thereof.

【0070】[0070]

【発明の効果】本発明によれば、バスボトルネックを解
消することによってパフォーマンスを向上したグラフィ
ックスシステムを提供することができる。
According to the present invention, it is possible to provide a graphics system having improved performance by eliminating a bus bottleneck.

【図面の簡単な説明】[Brief description of the drawings]

【図1】グラフィックスコントローラと、ホストと、デ
ィスプレイメモリと、ディスプレイユニットとを含むコ
ンピュータシステムのブロック図である。
FIG. 1 is a block diagram of a computer system including a graphics controller, a host, a display memory, and a display unit.

【図2】ホストインタフェースと、実行ブロックと、画
素処理ブロックとを含む本発明によるグラフィックスコ
ントローラのブロック図である。
FIG. 2 is a block diagram of a graphics controller according to the present invention including a host interface, an execution block, and a pixel processing block.

【図3】本発明によるホストインタフェースおよび実行
ブロックのより詳細なアーキテクチャを示すブロック図
である。
FIG. 3 is a block diagram showing a more detailed architecture of a host interface and an execution block according to the present invention.

【図4】グラフィックス操作をおこなうのに用いられる
コマンドの個数における従来の技術と本発明との間の違
いを示す図である。
FIG. 4 illustrates the difference between the prior art and the present invention in the number of commands used to perform graphics operations.

【符号の説明】[Explanation of symbols]

112 システムバス 114 制御バス 210 ホストインタフェース 212 コマンド/データFIFOバス 213、214、215 バス 220 実行ブロック 230 画素処理ブロック 330 コマンドエンコーダ 333 アドレスレジスタ 334 インストラクション/データバス334 336 データレジスタ 340 コマンド/データFIFO 343 信号ライン 346 タグビットフィールド 347 インストラクションコードフィールド 348 データフィールド 350 レジスタファイル 360 FIFO出力制御回路 365 アサート信号 366 制御バス 370 実行エンジン 112 system bus 114 control bus 210 host interface 212 command / data FIFO bus 213, 214, 215 bus 220 execution block 230 pixel processing block 330 command encoder 333 address register 334 instruction / data bus 334 336 data register 340 command / data FIFO 343 signal Line 346 tag bit field 347 instruction code field 348 data field 350 register file 360 FIFO output control circuit 365 assert signal 366 control bus 370 execution engine

───────────────────────────────────────────────────── フロントページの続き (71)出願人 595158337 3100 West Warren Aven ue,Fremont,Californ ia 94538,U.S.A. (72)発明者 リチャード チャールズ アンリュー オ ウェン アメリカ合衆国 ワシントン 98106, シアトル, 39ティーエイチ アベニュー サウス 3810 (72)発明者 マーク エミル ボンネリーク アメリカ合衆国 ワシントン 98105, シアトル, 41エスティー アベニュー エヌイー 4625 ────────────────────────────────────────────────── ─── Continuation of front page (71) Applicant 595158337 3100 West Warren Avenue, Fremont, California 94538, U.S.A. S. A. (72) Inventor Richard Charles Henry Owen United States of America Washington 98106, Seattle, 39TH Avenue South 3810 (72) Inventor Mark Emil Bonnerick United States of America Washington 98105, Seattle, 41 Estee Avenue NE 4625

Claims (17)

【特許請求の範囲】[Claims] 【請求項1】 バスおよびホストを有し、該ホストが該
バスに結合されているコンピュータシステムに用いられ
るグラフィックスコントローラ回路であって、 該ホストからのコマンドを該バス上で受け取り、該コマ
ンドから複数のインストラクションを生成する、ホスト
インタフェースと、 該コマンドを実行するために、該複数のインストラクシ
ョンを実行する実行回路と、を備えているグラフィック
スコントローラ回路。
1. A graphics controller circuit for use in a computer system having a bus and a host, the host being coupled to the bus, wherein the graphics controller circuit receives a command from the host on the bus, and receives a command from the command. A graphics controller circuit comprising: a host interface that generates a plurality of instructions; and an execution circuit that executes the plurality of instructions to execute the command.
【請求項2】 複数のレジスタを含むレジスタファイル
をさらに備えているグラフィックスコントローラ回路で
あって、 もし前記コマンドが、該レジスタファイル内の第1のレ
ジスタへとアクセスするのなら、前記ホストインタフェ
ースが第1のインストラクションセットを生成し、もし
該コマンドが、第2のレジスタへとアクセスするのな
ら、該ホストインタフェースが第2のインストラクショ
ンセットを生成し、 該第1のインストラクションセットに含まれるインスト
ラクションの個数が、該第2のインストラクションセッ
トに含まれるインストラクションの個数とは異なり、か
つ該第1のインストラクションセットが、該第1のレジ
スタへとアクセスすることを含んでいる、請求項1に記
載のグラフィックスコントローラ回路。
2. The graphics controller circuit further comprising a register file including a plurality of registers, wherein the host interface is provided if the command accesses a first register in the register file. Generating a first instruction set; if the command accesses a second register, the host interface generates a second instruction set; and a number of instructions included in the first instruction set. 2. The graphics of claim 1, wherein the number of instructions is different from the number of instructions included in the second set of instructions, and wherein the first set of instructions includes accessing the first register. Controller circuit.
【請求項3】 前記第2のレジスタが仮想レジスタを含
んでおり、 前記第2のインストラクションセットが、前記第1のレ
ジスタへとアクセスする少なくとも1つのインストラク
ションを含んでいる、請求項2に記載のグラフィックス
コントローラ回路。
3. The method of claim 2, wherein the second register comprises a virtual register, and wherein the second set of instructions comprises at least one instruction accessing the first register. Graphics controller circuit.
【請求項4】 前記ホストインタフェースが、 前記システムバス上のデータを調べ、前記コマンドが前
記第1のレジスタにアドレシングされているのか、ある
いは前記第2のレジスタにアドレシングされているのか
を判定する、該システムバスに結合されたコマンドエン
コーダであって、もし該コマンドが該第1のレジスタに
アドレシングされているのなら、前記第1のインストラ
クションセットを生成し、もし該コマンドが該第2のレ
ジスタにアドレシングされているのなら、前記第2のイ
ンストラクションセットを生成する、コマンドエンコー
ダと、 該コマンドエンコーダにより生成された該インストラク
ションを格納し、該インストラクションを前記実行ブロ
ックに与える、FIFOキューと、を備えている、請求
項3に記載のグラフィックスコントローラ回路。
4. The host interface examines data on the system bus to determine whether the command is addressed to the first register or the second register. A command encoder coupled to the system bus, the command encoder generating the first instruction set if the command is addressed to the first register, wherein the command is stored in the second register; If addressing, a command encoder for generating the second instruction set; and a FIFO queue for storing the instruction generated by the command encoder and providing the instruction to the execution block. 4. The graph according to claim 3, wherein Tsu box controller circuit.
【請求項5】 前記コマンドが、移動ディスプレイブロ
ック操作のための複数のコマンドの中に含まれており、
かつ前記ホストが、ホストデータと、該移動ディスプレ
イブロック操作のための該複数のコマンドと、を前記ホ
ストバスを介して送る、請求項4に記載のグラフィック
スコントローラ回路。
5. The method according to claim 5, wherein the command is included in a plurality of commands for operating a moving display block.
5. The graphics controller circuit according to claim 4, wherein said host sends host data and said plurality of commands for operating said mobile display block via said host bus.
【請求項6】 前記コマンドエンコーダが、前記ホスト
データと、前記複数のコマンドに対応するインストラク
ションのセットと、複数のエントリを含む前記FIFO
キューに格納し、 該コマンドエンコーダが、該複数のエントリのそれぞれ
に格納されているデータがホストデータムを含んでいる
のか、あるいはインストラクションを含んでいるのかを
示すタグビットを発生する、請求項5に記載のグラフィ
ックスコントローラ回路。
6. The FIFO including the host data, a set of instructions corresponding to the plurality of commands, and a plurality of entries.
6. The method of claim 5, wherein the command encoder generates a tag bit indicating whether the data stored in each of the plurality of entries includes a host datum or an instruction. Graphics controller circuit as described.
【請求項7】 前記複数のエントリそれぞれの前記タグ
ビットを調べ、もし該タグビットが、該複数のエントリ
の対応する1つに含まれるデータがホストデータを含む
ことを示しているのなら、該エントリに含まれるデータ
を前記実行ブロックへと送る、FIFO出力制御回路を
さらに備えている、請求項6に記載のグラフィックスコ
ントローラ回路。
7. Examining the tag bits of each of the plurality of entries, if the tag bits indicate that data contained in a corresponding one of the plurality of entries includes host data, 7. The graphics controller circuit according to claim 6, further comprising a FIFO output control circuit that sends data included in an entry to the execution block.
【請求項8】 コマンドのセットおよび画素データをバ
スを介して送るホストと、 ディスプレイユニットと、 該ディスプレイユニット上のディスプレイイメージに対
応する画素データのセットを格納するディスプレイメモ
リと、 該画素データのセットを該ディスプレイメモリに供給す
るグラフィックスコントローラ回路であって、 該ホストから該バス上で該コマンドのセットおよび該画
素データを受け取るホストインタフェースであって、該
コマンドのセットのそれぞれから複数のインストラクシ
ョンを生成する、ホストインタフェース、および該画素
データを該ディスプレイメモリに格納するために該複数
のインストラクションを実行する実行回路を含む、グラ
フィックスコントローラ回路と、を備えている、コンピ
ュータシステム。
8. A host for transmitting a set of commands and pixel data via a bus, a display unit, a display memory for storing a set of pixel data corresponding to a display image on the display unit, and a set of pixel data. A graphics controller circuit that supplies the set of commands and the pixel data on the bus from the host, the plurality of instructions being generated from each of the set of commands. And a graphics controller circuit including a host interface and an execution circuit for executing the plurality of instructions to store the pixel data in the display memory.
【請求項9】 前記グラフィックスコントローラ回路
が、複数のレジスタを含むレジスタファイルをさらに備
えている、コンピュータシステムであって、 もしコマンドが、該レジスタファイル内の第1のレジス
タへとアクセスするのなら、前記ホストインタフェース
が第1のインストラクションセットを生成し、もし該コ
マンドが、第2のレジスタへとアクセスするのなら、該
ホストインタフェースが第2のインストラクションセッ
トを生成し、 該第1のインストラクションセットに含まれるインスト
ラクションの個数が、該第2のインストラクションセッ
トに含まれるインストラクションの個数とは異なり、 該第1のインストラクションセットが、該第1のレジス
タへとアクセスすることを含んでいる、請求項8に記載
のコンピュータシステム。
9. The computer system, wherein the graphics controller circuit further comprises a register file including a plurality of registers, if the command accesses a first register in the register file. The host interface generates a first instruction set, and if the command accesses a second register, the host interface generates a second instruction set; 9. The method of claim 8, wherein the number of instructions included is different from the number of instructions included in the second instruction set, and wherein the first instruction set includes accessing the first register. Computer system described Tem.
【請求項10】 前記第2のレジスタが仮想レジスタを
含んでおり、 前記第2のインストラクションセットが、前記第1のレ
ジスタへとアクセスする少なくとも1つのインストラク
ションを含んでいる、請求項9に記載のコンピュータシ
ステム。
10. The method of claim 9, wherein the second register comprises a virtual register, and wherein the second set of instructions comprises at least one instruction for accessing the first register. Computer system.
【請求項11】 前記ホストインタフェースが、 前記システムバス上のデータを調べ、前記コマンドが前
記第1のレジスタにアドレシングされているのか、ある
いは前記第2のレジスタにアドレシングされているのか
を判定する、該システムバスに結合されたコマンドエン
コーダであって、もし該コマンドが該第1のレジスタに
アドレシングされているのなら、前記第1のインストラ
クションセットを生成し、もし該コマンドが該第2のレ
ジスタにアドレシングされているのなら、前記第2のイ
ンストラクションセットを生成する、コマンドエンコー
ダと、 該コマンドエンコーダにより生成された該インストラク
ションを格納し、該インストラクションを前記実行ブロ
ックに与える、FIFOキューと、を備えている、請求
項10に記載のコンピュータシステム。
11. The host interface examines data on the system bus to determine whether the command is addressed to the first register or to the second register. A command encoder coupled to the system bus, the command encoder generating the first instruction set if the command is addressed to the first register, wherein the command is stored in the second register; If addressing, a command encoder for generating the second instruction set; and a FIFO queue for storing the instruction generated by the command encoder and providing the instruction to the execution block. The method according to claim 10, wherein Computer system.
【請求項12】 前記コマンドのセットが前記コマンド
を含んでおり、該コマンドのセットが、移動ディスプレ
イブロック操作をおこなうために設計される、請求項1
1に記載のコンピュータシステム。
12. The set of commands comprising the commands, wherein the set of commands is designed to perform a moving display block operation.
2. The computer system according to claim 1.
【請求項13】 前記コマンドエンコーダが、前記ホス
トデータおよび前記コマンドのセットに対応するインス
トラクションのセットを、複数のエントリを含む前記F
IFOキューに格納し、 該コマンドエンコーダが、該複数のエントリのそれぞれ
に格納されているデータが画素データムを含んでいるの
か、あるいはインストラクションを含んでいるのかを示
すタグビットを発生する、請求項12に記載のコンピュ
ータシステム。
13. The FEC including a plurality of entries, wherein the command encoder stores a set of instructions corresponding to the set of host data and the command.
13. The command encoder stored in an IFO queue, wherein the command encoder generates a tag bit indicating whether the data stored in each of the plurality of entries includes a pixel datum or an instruction. A computer system according to claim 1.
【請求項14】 前記複数のエントリそれぞれの前記タ
グビットを調べ、もし該タグビットが、該複数のエント
リの対応する1つに含まれるデータが画素データムを含
むことを示しているのなら、該エントリに含まれるデー
タを前記実行ブロックへと送る、FIFO出力制御回路
をさらに備えている、請求項13に記載のコンピュータ
システム。
14. Examining the tag bit of each of the plurality of entries, if the tag bit indicates that the data contained in a corresponding one of the plurality of entries includes a pixel datum. 14. The computer system according to claim 13, further comprising a FIFO output control circuit that sends data included in an entry to the execution block.
【請求項15】 グラフィックス操作のためのパラメー
タを格納する、メモリ位置としてアドレシング可能な、
物理レジスタと、 該物理レジスタへとアクセスする第1のコマンドと、仮
想レジスタへとアクセスする第2のコマンドと、を受け
取り、該第1のコマンドに応答して第1のインストラク
ションセットを生成し、該第2のコマンドに応答して第
2のインストラクションセットを生成する、エンコーダ
であって、該第1のインストラクションセットおよび該
第2のインストラクションセットがともに、該物理レジ
スタへとアクセスするインストラクションを含んでお
り、該第2のインストラクションセットが該第1のイン
ストラクションセットを含んでいる、エンコーダと、 該第1のインストラクションセットおよび該第2のイン
ストラクションセットを格納するFIFOと、 該物理レジスタおよび該FIFOに結合されたFIFO
出力制御回路であって、該物理レジスタへとアクセスす
る該インストラクションに応答して、該物理レジスタへ
とアクセスする制御信号を発生する、FIFO出力制御
回路と、を備えている、グラフィックスコントローラ回
路。
15. Stored parameters for a graphics operation, addressable as a memory location,
Receiving a physical register, a first command to access the physical register, and a second command to access the virtual register, generating a first instruction set in response to the first command; An encoder for generating a second instruction set in response to the second command, wherein the first instruction set and the second instruction set both include an instruction for accessing the physical register. An encoder, wherein the second instruction set includes the first instruction set, an FIFO for storing the first instruction set and the second instruction set, and a physical register and the FIFO coupled to the physical register and the FIFO. FIFO
A graphics controller circuit, comprising: an output control circuit, wherein the FIFO output control circuit generates a control signal for accessing the physical register in response to the instruction for accessing the physical register.
【請求項16】 グラフィックスコントローラチップに
おいてコマンドを実行する方法であって、 該コマンドを受け取るステップと、 該コマンドから複数のインストラクションを生成するス
テップと、 該複数のインストラクションをコマンドキューに格納す
るステップと、 該コマンドキューにおける該複数のインストラクション
を実行するステップと、を含む方法。
16. A method for executing a command on a graphics controller chip, the method comprising: receiving the command; generating a plurality of instructions from the command; storing the plurality of instructions in a command queue. Executing the plurality of instructions in the command queue.
【請求項17】 前記コマンドが物理レジスタへとアク
セスするのか、仮想レジスタへとアクセスするのかを判
定するために、該コマンドを調べるステップをさらに含
む方法であって、 もし該コマンドが該物理レジスタへとアクセスするのな
ら、複数のインストラクションを生成する前記ステップ
が、第1のインストラクションセットを生成し、もし該
コマンドが該仮想レジスタへとアクセスするのなら、第
2のインストラクションセットを生成する、ステップを
さらに含んでおり、 該第1のインストラクションセットおよび該第2のイン
ストラクションセットが、共に該物理レジスタへとアク
セスするインストラクションを含んでおり、 該第2のインストラクションセットが、該第1のインス
トラクションセットを含んでいる、請求項16に記載の
方法。
17. The method of claim 17, further comprising examining the command to determine whether the command accesses a physical register or a virtual register, if the command accesses the physical register. Generating a plurality of instructions if generating the first instruction set, and generating a second instruction set if the command accesses the virtual register. The first instruction set and the second instruction set both include an instruction that accesses the physical register; and the second instruction set includes the first instruction set. Claim 16 The method described in.
JP9163015A 1996-06-20 1997-06-19 Graphics controller circuit, and method for executing command on computer system and graphics controller chip Withdrawn JPH1069368A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/667,826 US6563505B1 (en) 1995-06-23 1996-06-20 Method and apparatus for executing commands in a graphics controller chip
US08/667,826 1996-06-20

Publications (1)

Publication Number Publication Date
JPH1069368A true JPH1069368A (en) 1998-03-10

Family

ID=24679812

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9163015A Withdrawn JPH1069368A (en) 1996-06-20 1997-06-19 Graphics controller circuit, and method for executing command on computer system and graphics controller chip

Country Status (1)

Country Link
JP (1) JPH1069368A (en)

Similar Documents

Publication Publication Date Title
US6219073B1 (en) Apparatus and method for information processing using list with embedded instructions for controlling data transfers between parallel processing units
US6119217A (en) Information processing apparatus and information processing method
US6002409A (en) Arbitration for shared graphics processing resources
US5990902A (en) Apparatus and method for prefetching texture data in a video controller of graphic accelerators
JP3218029B2 (en) Graphics system, method for performing graphics operations, and computer readable medium
US5687357A (en) Register array for utilizing burst mode transfer on local bus
US7180522B2 (en) Apparatus and method for distributed memory control in a graphics processing system
KR100196333B1 (en) Dma data transferring method using free loading of dma instruction
US6108722A (en) Direct memory access apparatus for transferring a block of data having discontinous addresses using an address calculating circuit
US9336563B2 (en) Buffer underrun handling
US6678755B1 (en) Method and apparatus for appending memory commands during a direct memory access operation
US6952217B1 (en) Graphics processing unit self-programming
US6563505B1 (en) Method and apparatus for executing commands in a graphics controller chip
KR20030048415A (en) Streamlining ata device initialization
JPH06214945A (en) Computer system and high-speed transfer method of information
US6795874B2 (en) Direct memory accessing
JPH1069368A (en) Graphics controller circuit, and method for executing command on computer system and graphics controller chip
US6799247B1 (en) Remote memory processor architecture
US20030033455A1 (en) Data processor and data transfer method
US6028613A (en) Method and apparatus for programming a graphics subsystem register set
US6025855A (en) Store double word and status word write graphics primitives
US20090046103A1 (en) Shared readable and writeable global values in a graphics processor unit pipeline
JP4846097B2 (en) Method and apparatus for register set of graphics subsystem
JPH05193203A (en) Image rectangular dma system
JP2000311249A (en) Graphic processor and graphic command processing method therefor

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20040907