JP2000507009A - 単一の命令に応答して演算を複数回実行する方法および装置 - Google Patents

単一の命令に応答して演算を複数回実行する方法および装置

Info

Publication number
JP2000507009A
JP2000507009A JP9532659A JP53265997A JP2000507009A JP 2000507009 A JP2000507009 A JP 2000507009A JP 9532659 A JP9532659 A JP 9532659A JP 53265997 A JP53265997 A JP 53265997A JP 2000507009 A JP2000507009 A JP 2000507009A
Authority
JP
Japan
Prior art keywords
risc
instruction
processor
special
risc processor
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.)
Granted
Application number
JP9532659A
Other languages
English (en)
Other versions
JP3608797B2 (ja
Inventor
ピーターソン,ジェームズ・アール
プール,グレン・シイ
スリティ,モハメド
Original Assignee
マイクロン・テクノロジイ・インコーポレーテッド
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 マイクロン・テクノロジイ・インコーポレーテッド filed Critical マイクロン・テクノロジイ・インコーポレーテッド
Publication of JP2000507009A publication Critical patent/JP2000507009A/ja
Application granted granted Critical
Publication of JP3608797B2 publication Critical patent/JP3608797B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3017Runtime instruction translation, e.g. macros
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30065Loop control instructions; iterative instructions, e.g. LOOP, REPEAT
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 secondary processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a secondary processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)
  • Advance Control (AREA)
  • Image Processing (AREA)
  • Executing Machine-Instructions (AREA)
  • Communication Control (AREA)
  • Electrotherapy Devices (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 通常RISC命令および特殊RISC命令を実行するReduced Instruction Set Computer、RISCプロセッサを動作させる方法。この方法は、各通常RISC命令に応答して、RISCプロセッサの単一の機能単位を使用して、単一の演算を実行するようにRISCプロセッサを制御するステップ(212)を含む。この方法はまた、各特殊RISC命令に応答して、RISCプロセッサの複数の機能単位を並列に使用して、複数の演算を実行するようにRISCプロセッサを制御するステップ(212)を含む。この方法はまた、特殊演算を繰り返し実行するようにRISCプロセッサを制御するステップをさらに含み、第1の演算の後、各後続の演算が前の演算の結果に依存する。

Description

【発明の詳細な説明】 単一の命令に応答して演算を複数回実行する方法および装置 発明の分野 本発明は、一般にプロセッサに関し、より詳細には単一の命令に応答して演算 を複数回実行できるプロセッサに関する。背景 グラフィックス・ワークステーションやパーソナル・コンピュータ(PC)な ど多数の現代のコンピュータ・システムは、二次元および三次元グラフィック・ オブジェクトを陰極線管(CRT)、プラズマ・フラットパネル、液晶ディスプ レイ(LCD)などディスプレイ装置上に表示する特殊化されたグラフィックス ・サブシステムを含む。グラフィックス・サブシステムを使用すれば、かつてコ ンピュータ・システムのホスト・プロセッサが処理していたグラフィックス動作 がグラフィックス・サブシステムによってホスト・プロセッサによって実行され る他の演算と同時に(並列に)実行できるのでシステム性能が向上する。さらに 、グラフィックス・サブシステムは、しばしば特殊化されたハードウェアおよび ソフトウェアを備えており、一般にグラフィック・オブジェクトをより迅速に表 示する。 グラフィックス・サブシステム自体が実行するグラフィックス処理の量は、シ ステム性能ならびにグラフィックス処理性能の向上を大きい程度まで決定する。 例えば、ある従来のグラフィックス・サブシステムは、単にフレーム・バッファ ・メモリおよび関連する制御ハードウェアを含み、汎用ホスト・プロセッサはま だグラフィックス処理機能の大部分を実行しなければならない。そのような手法 は、ホスト・プロセッサが比較的大量のデータをフレーム・バッファに転送しな ければならず、したがって他のシステム構成要素およびサブシステムがシステム 相互接続を同時に使用することができなくなるので非効率的である。他の従来の グラフィックス・サブシステムは、ホスト・プロセッサと並列に動作し、必要な すべてのグラフィック処理機能を実行する特殊化されたグラフィックス・プロセ ッサを含むが、そのような手法は一部のユーザにとってコストが法外に高くなる 。 改善されたシステム性能およびグラフィックス処理性能を妥当なコストで与え るためにこの2つの極端な手法の間の釣り合いが必要である。1つの提案された システムではホスト・プロセッサが初期グラフィックス処理ステップを実行し、 その後グラフィックス・コントローラが残りのグラフィックス処理ステップを実 行する必要がある。そのような仕事の分割でホスト・プロセッサとグラフィック ス・サブシステムとの間で交換されるデータの量が少なくでき、したがって従来 技術の「ダム」グラフィックス・サブシステムと比較したときに全体的なシステ ム性能が改善される。グラフィックス処理性能を高めるために、グラフィックス ・コントローラはグラフィック・オブジェクトが表示される速度を速くする性能 向上機能を備えなければならないが、そのような性能向上機能は比較的低いコス トで備えなければならない。 グラフィックス処理性能が高められる1つの領域は出力プリミティブの補間で ある。グラフィックス・データを効率的に記憶するために、アプリケーション・ プログラムは、グラフィック・オブジェクトを表す出力プリミティブを与え、使 用する。各出力プリミティブは、グラフィック・オブジェクトに関する完全な情 報がそこから暗示または補間される最小の情報を与える。例えば、あるタイプの 出力プリミティブは、位置(二次元デカルト座標空間中、またはx対y)および 3つの頂点の属性(xおよびr.g、およびbなどカラー属性を含む)を指定す る三角形であり、三角形中のすべての点の位置および属性が頂点に対して与えら れた値から補間できる。他のタイプの出力プリミティブには、点、直線、曲線、 円、三角形および他の多角形、三角形ストリップ、および三角形ファンがある。 三角形など充填領域三角形用の補間の方法は一般に次のステップを含む。すな わち、1)セットアップ、2)エッジ・ウォーキング、および3)スパン生成。 セットアップ中、各ピクセル・パラメータ(例えば位置および属性)のデルタ値 を出力プリミティブの頂点のピクセル・パラメータ値に基づいて計算する。次い で、デルタ値を使用して、エッジ・ウォーキングを実行し、デルタ値を増分する ことによって水平でないエッジ(すなわち0でない勾配を有するエッジ)上のピ クセルのピクセル・パラメータを計算する。多角形のエッジを決定した後、スパ ン生成を行い、多角形のエッジ間の水平走査線中に位置するピクセルのピクセル ・パラメータを計算する。このようにして、多角形中の各ピクセルのピクセル・ パラメータを出力プリミティブから計算する。スパン生成のステップは、特に性 能を改善するために修正を施すことができる。例えば、スパン値の各ピクセルの y値は固定のままである。発明の概要および目的 したがって、本発明の目的は、プロセッサの処理速度を改善することである。 本発明の他の目的は、グラフィックス処理中に出力プリミティブを補間するた めにスパンを生成するときにプロセッサの処理速度を改善することである。 本発明の上記および他の目的は、通常RISC命令および特殊RISC命令を 実行するReduced Instruction Set Computer (RISC)プロセッサを動作させる方法によって与えられる。この方法は、各 通常RISC命令に応答して、RISCプロセッサの単一の機能単位を使用して 、単一の演算を実行するようにRISCプロセッサを制御するステップを含む。 この方法はまた、各特殊RISC命令に応答して、RISCプロセッサの複数の 機能単位を並列に使用して、複数の演算を実行するようにRISCプロセッサを 制御するステップを含む。 一実施例によれば、あるタイプの特殊RISC命令は、RISCプロセッサが 単一のピクセルに対して複数のピクセル・パラメータを処理する出力プリミティ ブを保管するドロー命令である。複数の機能単位を使用して、RISCプロセッ サは複数の通常RISC命令を並列に効率的に実行し、したがって出力プリミテ ィブを補間するときに処理速度が速くなる。 他の実施例によれば、RISCプロセッサはまた、RISCプロセッサがRI SCプロセッサの複数の機能単位を並列に使用して複数の演算を繰り返し実行す るように制御され、第1の演算の後、各後続の演算が各特殊反復RISC命令に 応答して前の演算の結果に依存する特殊「反復」RISC命令を処理することが できる。あるタイプの特殊反復RISC命令は、RISCプロセッサが反復ドロ ー命令に応答してピクセルのスパンに対して一連のピクセル・パラメータを処理 する出力プリミティブを補間する反復ドロー命令である。反復ドロー命令を使用 すれば、1つのRISC命令を有するピクセルのスパン全体を生成することがで きる。 本発明の他の目的、特徴、および利点は、添付の図面および以下の詳細な説明 から明らかになろう。図面の簡単な説明 本発明を添付の図面の図に制限ではなく例として示す。図面中、同じ参照番号 は同じ要素を示す。 第1図は、一実施例のコンピュータ・システムを示す図である。 第2図は、一実施例のグラフィックス・サブシステムを示す図である。 第3図は、一実施例によるホストとグラフィックス・サブシステムの間の仕事 の分割を示す流れ図である。 第4図は、一実施例のRISCプロセッサを示すブロック図である。 第5図は、従来技術による通常RISC命令の実行を示す流れ図である。 第6図は、一実施例による特殊反復RISC命令の実行を示す流れ図である。 第7図は、一実施例による特殊反復命令のフォーマットを示す図である。 第8図は、一実施例のデータ経路を示す図である。 第9図は、反復ドロー命令を実行するときの第8図のデータ経路の演算を示す 図である。詳細な説明 スパン生成に特定の用途を有するReduced Instruction Set Computer(「RISC」)プロセッサ・アーキテクチャについ て説明する。特に、説明するRISCプロセッサ・アーキテクチャは、次の命令 がフェッチされる前にドロー動作を特定の回数反復させる特殊「反復ドロー」命 令をサポートし、初期ドロー動作の後の各ドロー動作は前のドロー動作の結果に 依存する。単一の命令に応答してRISCプロセッサにって複数の演算を実行す ると、さもなければ同じ演算の性能を同じ回数必要とする命令のシーケンスを処 理するときと比較して処理速度が速くなる。性能の改善は、所要のすべてのドロ ー動作を実行するために「反復ドロー」命令をフェッチし、デコードするだけで 済むことを認識すれば理解できる。ドロー命令のシーケンスの各ドロー命令は一 般に別々にフェッチされ、デコードされる。 さらなる利点は、RISCプロセッサ・アーキテクチャのデータ経路を構成し 、動作させる方法にある。例えば、RISCプロセッサは、通常、乗算器、減算 器、および算術論理演算装置(ALU)など複数の演算装置を含む汎用プロセッ サとして動作する。通常命令は、実行のために単一の演算装置を必要とする単一 の演算を指定する。「反復ドロー」命令など専用命令の場合、RISCプロセッ サは、専用命令が複数の演算装置によって並列に効率的に実行される多数の演算 動作を指定する。制御およびデコード論理回路は、RISCプロセッサが一般的 な算術演算およびメモリ動作を実行する汎用プロセッサとして、ならびに特殊化 された演算を効率的に実行する専用プロセッサとして動作するように汎用命令な らびに専用命令をサポートするように構成される。 「反復ドロー」命令は、1)特定の走査線の多角形のエッジ間の距離が分かっ た後でドロー動作のシーケンスを実行する必要が予測できるため、および2)ス パン生成プロセスでは、走査線の各プロセッサのピクセル・パラメータを同じ組 のデルタ値によって増分される必要があるために、出力プリミティブによって指 定された多角形を充填するときにスパンを生成するために有用である。命令スト リーム中の適度の予測可能性があるところはどこでも「反復」命令の他の用途が ある。システム概要 第1図に、ホスト・バス25に結合されたホスト・プロセッサ15および主メ モリ20を含むコンピュータ・システム10を示す。ホスト・プロセッサ15は 、例えば、任意の市販のマイクロプロセッサである。コンピュータ・システム1 0はまた、一実施例では、構成要素相互接続(PCI)ローカル・バス仕様に従 って動作する周辺バス30を含む。グラフィックス・サブシステム35は周辺バ ス30に結合され、ホスト周辺バス・ブリッジ45は周辺バス30およびホスト ・バス25に結合され、ホストと周辺バスとの間でデータ・トランザクションを ブ リッジする。ホスト周辺バス・ブリッジ45はまた主メモリ20を制御するメモ リ・コントローラとして動作する。代替システム構成も使用できる。 これらの実施例によれば、ホスト・プロセッサ15は、ディスプレイ装置40 上のグラフィック・オブジェクトの表示を必要とする主メモリ20中に記憶され たアプリケーション・プログラム(図示せず)を実行する。各グラフィック・オ ブジェクトは1つまたは複数の出力プリミティブのセットから構成され、各出力 プリミティブは、プリミティブによって表されるグラフィック・オブジェクトを どのようにまたどこに表示すべきかを指定または暗示する値のセットを含む。出 力プリミティブのタイプには、点、直線、曲線、円、三角形および他の多角形、 三角形ストリップ、および三角形ファンがある。 グラフィック・オブジェクトおよびそれらの構成要素プリミティブの位置は、 最初にアプリケーション・プログラムによってワールド座標系と呼ばれるデカル ト基準系で指定される。グラフィック・オブジェクトを表示するためには、グラ フィック・オブジェクトおよびそれらの構成要素プリミティブをディスプレイの デバイス座標空間で表すために座標変換が必要である。出力プリミティブがデバ イス座標に変換された後、出力プリミティブは、表示用のピクセル値を生成する ために補間され、他の形で処理される。 これらの実施例によれば、ホスト・プロセッサ15は、ワールド座標系の出力 プリミティブを受け取り、出力プリミティブをデバイス座標に変換し、照明効果 処理を実行し、変換された出力プリミティブをグラフィックス・サブシステム3 5に送信し、これが出力プリミティブを補間し、表示用の最後のピクセル値を生 成する。ホスト・プロセッサ15は実際のプロセッサ処理を実行しないので、バ ス・トラフィックがかなり減少し、ホスト・プロセッサは他のタスクを自由に実 行できるようになる。したがって、ホスト・プロセッサ15とグラフィックス・ サブシステム35の間の仕事のこの分割で、ホスト・プロセッサがグラフィック ス処理タスクの大部分を実行するシステムと比較したときにコンカレンシ(パラ レリズム)がかなり増大する。 第2図に、一般にグラフィックス・コントローラ50、EPROM55、DR AM60、およびパレット/DAC65を含むグラフィックス・サブシステム3 5を示す。グラフィックス・コントローラ50は、周辺バス30に結合され、ホ スト・プロセッサ15から変換された出力プリミティブを受け取り、そのときグ ラフィックス・コントローラ50は表示用のピクセル値を生成するために適切な 補間および処理を実行する。DRAM60は、表示用のピクセル値を記憶するフ レーム・バッファ・メモリおよびテクスチャ・マップを記憶するテクスチャ・マ ップ・メモリに分割される。パレット/DAC65は、ディスプレイ装置40を 操作するためにデジタル・ピクセル値をアナログ電圧に変換するデジタルアナロ グ変換器を含む。 グラフィックス・コントローラ50は、周辺バス・インタフェース70、RI SCプロセッサ75、命令キャッシュ(I−キャッシュ)80、データ・キャッ シュ(D−キャッシュ)85、DRAMコントローラ90、ピクセル・エンジン 95、VGA回路100、ビデオ・コントローラ(「CRTC」)105、およ びビデオ先入れ先出し(FIFO)回路110を含むものとして示される。周辺 バス・インタフェース70はグラフィックス・コントローラ50を周辺バス30 に結合するために備えられる。 出力プリミティブは、ホスト・プロセッサ15によってデータ・ストリームと してグラフィックス・コントローラ50に送信される。各出力プリミティブは、 出力プリミティブのタイプを指定するタイプ部分、およびプリミティブの各点お よび頂点の位置および属性を指定するデータ部分を含む。例えば、出力プリミテ ィブが三角形である場合、出力プリミティブは、三角形を指定するタイプ部分、 および3つの頂点の位置および属性を指定するデータを含む。タイプ部分はまた 、RISCプロセッサ75がデータ・ストリーム中の次の出力プリミティブが始 まる場所を決定できるように出力プリミティブのデータ部分の長さを指定する情 報を含む。RISCプロセッサ75は、出力プリミティブを正確に処理するため にI−キャッシュ80からフェッチすべき命令を決定するためにデータ・ストリ ームを解釈する。 RISCプロセッサ75は、出力プリミティブによって画定された領域中に表 示すべき各ピクセルごとにピクセル・パラメータを生成するために各出力プリミ ティブを補間する。ピクセル・エンジン95は、ピクセル値を生成するためにピ クセル・パラメータを使用して、フィルタリングおよび他の処理を実行する。各 ピクセル値は、ディスプレイ装置のピクセルと直接対応し、DRAMコントロー ラ90によってDRAM60のフレーム・バッファ部分中に記億される。CRT C105は、ディスプレイ装置上でリフレッシュするためにビデオFIFO11 0を充填するためにDRAM60からピクセル値をフェッチする。 第3図に、グラフィックス処理がホスト・プロセッサ15とグラフィックス・ コントローラ50の構成要素との間で分割される形を示す。一般に、ホスト・プ ロセッサ15はアプリケーション・プロセッサから出力プリミティブを受け取り 、出力プリミティブはワールド座標系125で指定される。ホスト・プロセッサ 15は、照明効果を実行するために座標変換およびグラフィックス処理を実行す る(プロセス・ブロック130)。いまデジタル座標で表されている出力プリミ ティブはホスト・プロセッサ15によってグラフィックス・コントローラ50に 転送される。RISCプロセッサ75は、出力プリミティブによって暗示される 中間点の位置および属性を計算するために出力プリミティブの点または頂点を補 間し、ピクセル・エンジン95は、フレーム・バッファ中に記憶され、その後表 示用に使用されるピクセル値を生成するためにグラフィック・オブジェクトのす べての点の値を処理する。 プロセス・ブロック135で、RISCプロセッサ75は出力プリミティブに よって暗示された領域を充填する補間プロセスをセットアップする。例えば、出 力プリミティブが三角形である場合、三角形の3つの頂点は三角形状を暗示し、 充填された三角形中の各ピクセルのピクセル・パラメータ(すなわち位置および 属性)は3つの頂点の位置および属性から計算できる。補間プロセスをセットア ップするために、RISCプロセッサ75は指定された各ピクセル・パラメータ のデルタ値(例えば、dx、dy、du、dvなど)を決定する。セットアップ ・プロセス中、RISCプロセッサ75は、実行用にプロセッサの最大1つの演 算装置を必要とする単一の演算をそれぞれ指定する命令のシーケンスを処理する 代表的な汎用RISCプロセッサとして動作する。 プロセス・ブロック140で、RISCプロセッサ75は、デルタ値を使用し て、出力プリミティブによって暗示された多角形のエッジのピクセルのピクセル ・パラメータを決定する「エッジ・ウォーク」を実行する。エッジ・ウォーク・ プロセス中、RISCプロセッサ75は代表的な汎用RISCプロセッサとして 動作する。 プロセス・ブロック145で、RISCプロセッサ75は、デルタ値および計 算したエッジを使用して、計算したエッジ間のピクセルのピクセル・パラメータ の「スパン」を生成する。スパン生成プロセス中、RISCプロセッサ75は、 それぞれがスパンのピクセルのピクセル・パラメータの出力をもたらす1つまた は複数の「ドロー」命令をRISCプロセッサが処理する、専用プロセッサとし て動作する。あるいは、RISCプロセッサ75は、スパンの各ピクセルに対す るドロー動作の出力を指定する単一の「反復ドロー」命令を実行する。各「ドロ ー命令」および「反復ドロー」命令各ドロー動作ごとに、RISCプロセッサ7 5は複数の演算装置を使用して複数の演算動作を並列に実行する。プロセス・ブ ロック150で、ピクセル・エンジン95は、RISCプロセッサ75によって 計算されたピクセル・パラメータを使用して、ディスプレイ装置の適切なピクセ ルを励起するために使用されるピクセル値を生成する。グラフィックス・サブシステム−プロセッサ 第4図に、RISCプロセッサ75の内部または外部に備えられる、すべてク ロック信号180によってクロックされる、命令メモリ155、プログラム・カ ウンタ157、デコードおよび制御ユニット160、およびデータ経路165を 含むRISCプロセッサ75を示す。たいていの用途では、RISCプロセッサ 75は、命令当たり1つの演算を実行する代表的なパイプライン・プログラムと して動作する。したがって、データ経路165は、算術演算および論理演算を実 行する多数の機能単位を含む(データ経路165の一実施例の例については第8 図を参照)。 さらに、RISCプロセッサ75は、データ経路165の機能単位によって同 時に並列に実行される多数の演算を含む特殊「ドロー」命令を実行することがで きる。デコードおよび制御ユニット160は、データ経路の機能単位を操作する ために適切な制御信号を生成する論理回路を含む。データ経路165は、RIS Cプロセッサ75が専用スパン発生器のように動作するように「ドロー」命令を 効率的に実行するように構成される。 RISCプロセッサ75はまた、命令ストリームの次の命令がフェッチされる 前に「反復」命令によって示された演算が指定された回数実行される特殊「反復 」命令を実行することができる。反復命令は、それぞれ同じ演算を実行するよう 指定する命令のシーケンスの代わりに使用され、したがって所望の演算を実行す るのに要する時間が短縮される。例えば、それぞれピクセルをドローする4つの 「ドロー」命令のシーケンスの代わりに単一の「反復ドロー」命令または「rd raw」命令を使用することができる。 特殊「反復」命令の利点は、従来技術の第5図から第6図を比較すれば理解で きる。第5図に、命令フェッチ段200、命令デコード段201、実行段202 、書戻し段203を含む代表的な命令パイプの段を示す。プログラム・カウンタ は段204でフェッチされ、それで次の命令がフェッチされる。パイプラインの 各段が完了するのに1クロック・サイクルかかる場合、各命令は完了するのに5 つのクロック・サイクルを必要とする。ドロー命令のシーケンスの場合、各ドロ ー命令はパイプラインの各段に従う。 第6図に、特殊「反復」命令を実行する形を示す。第5図のパイプラインと同 様に、第6図のパイプラインは、命令フェッチ段210、命令デコード段211 、実行段212、書戻し段213を含むが、プログラム・カウンタは、反復命令 によって指定された演算を再び実行すべき場合増分できない。演算を再び実行す べきかどうかの決定は、書戻し段213と同時になされ、したがって待ち時間が パイプラインに加わることはない。「反復」命令がただ1回フェッチされ、デコ ードされるので、同じ演算を指定する命令のシーケンスと比較したときに時間が 節約される。 次に、第4図に戻り、RISCプロセッサ75の動作について説明する。命令 メモリ155は命令キャッシュ80から取り出された命令を記憶する。プログラ ム・カウンタ157が増分したとき、命令メモリ155は命令を出力し、これが デコードおよび制御ユニット160によってデコードされる。デコードおよび制 御ユニット160は、必要な制御信号をアサートし、データ経路165が命令に よって示された演算を実行できるようにデータ経路165の適切なレジスタをロ ードする。 「ドロー」命令がデコードおよび制御ユニット160から取り出されたとき、 デコードおよび制御ユニット160は、複数の機能単位が異なる演算を同時に実 行するようにデータ経路165の機能単位を操作するために必要な制御信号を生 成する。デコードおよび制御ユニット160は、ドロー命令のopコードに応答 して適切な制御信号を自動的に生成するプログラム可能論理アレイ(PLA)な ど論理回路を含む。 命令159がデコードおよび制御ユニット160によって受け取られ、命令1 59が反復命令である場合、デコードおよび制御ユニット160は、反復命令に よって指定された演算が反復命令によって指定された回数実行されるまでプログ ラム・カウンタ157が増分するのを防ぐ。第7図に、opコード・フィールド 220、宛先レジスタ・フィールド221.およびソース・レジスタ222およ び223を含む命令159の基本フォーマットを示す。「反復」命令の場合、o pフィールド中に記憶された情報は、演算、演算を指定する情報224、演算を 反復すべきかどうかを指定する反復情報225、および演算を反復すべき回数を 指定する数情報を含むと考えられる。プロセッサ設計者は反復命令に対応する任 意のopコードを勝手に選択でき、明確なオペレーションフィールド、反復フィ ールド、および数フィールドを与える必要はない。さらに、別法として、別個の 命令を使用して数情報を与えることもできる。例えば、命令を使用して、反復命 令によって指定された演算を実行すべき回数を指定する値を前もってレジスタま たはカウンタにロードすることもできる。 第8図および第9図に、スパンのピクセルに対するピクセル・パラメータを生 成する「ドロー」および「反復ドロー」など専用命令、ならびに通常RISC命 令を実行することができるデータ経路165の特定の実施例を示す。データ経路 165は、マルチプレクサ(「MUX」)300、偶数レジスタ・ファイル30 2、演算論理装置(「ALU」)A、およびレジスタ中に記億されるピクセル・ エンジン命令315の上部データ部分308に16ビットのデータを出力するレ ジスタ306を有する「偶数」パイプラインを含むものとして示されている。デ ータ経路165はまた、マルチプレクサ(「MUX」)301,奇数レジスタ・ ファイル303、ALU B、およびピクセル・エンジン命令315の下部デー タ部分に19ビットのデータを出力するレジスタ307を含む「奇数」パイプラ インを含む。データ経路165の他の機能単位は、XSHADOWレジスタ31 1、COUNTレジスタ312、相互計算回路(「1/Q」)313、マルチプ レクサ314を含む。レジスタ320はまた、上部データ部分および下部データ 部分中に記憶されたデータをどのように処理するかを決定するためにピクセル・ エンジン95が読み取るopコード部分321を含む。ALU AおよびALU Bはそれぞれ待ち時間の1つのクロック・サイクルを有し、相互計算回路31 3およびマルチプレクサ314はそれぞれ待ち時間の2つのクロック・サイクル を有するが、各クロック・サイクルごとに新しい動作の実行を開始するためにパ イプラインされる。 デコードおよび制御ユニット160の一部も示されている。具体的には、偶数 レジスタ・ファイルおよび奇数レジスタ・ファイルをアサートするレジスタ・ア ドレスを与えるために結合されたデコード命令レジスタ(「デコード」IR)4 05およびCYCLEレジスタ410が示されている。この実施例によれば、デ コードIR405は、命令の宛先フィールド、ソース・フィールド2、およびソ ース・フィールド1からデコードされたレジスタ・アドレスを記憶し、CYCL Eレジスタ420は、反復命令の各動作ごとにクロック・サイクルの数を指定す る3ビット・サイクル・カウント値を記憶する。この実施例によれば、各レジス タ・アドレスは6ビットであり、サイクル・カウントの最大値は反復命令のop コードからデコードされる。 デコードIR405中に記憶された各6ビット・ソース・レジスタ・アドレス ごとに、ソース・レジスタ・アドレスの3つの最小桁のビットおよび3ビット・ サイクル・カウントを受け取る3つの2入力論理ORゲート415のセットが与 えられる。各論理ORゲート415は、対応するレジスタ・アドレスの下位ビッ トの1つおよびサイクル・カウントのビットの1つを有する論理OR演算を実行 する。サイクル・カウントは0から始まり、各クロック・サイクルごとに増分し 、ついにはサイクル・カウントが所定の最大値に達し、その後サイクル・カウン ト は0にリセットされ、反復命令の次の演算の開始を示す。サイクル・カウントが 各クロック・サイクルごとに増分するので、4つの新しいソース・オペランド( 各パイプラインごとに2つ)のセットが各クロック・サイクルごとに自動的にア ドレスされ、他の命令をデコードする必要はない。サイクル・カウントの最大値 を大きくすることによって、より多くのピクセル・パラメータがドロー動作によ って計算できる。 宛先レジスタ・アドレスはデータとともにパイプライン中を移動する。パイプ ラインの最後に、宛先レジスタ・アドレスは決定され、データが示されたレジス タに書き込まれる。 マルチプレクサ320〜325、330〜333、345〜346、352、 および360〜361が図示にように機能単位の結果を転送するために備えられ 、レジスタ340〜344、350〜351.および370〜371がパイプラ インのために備えられる。偶数パイプラインならびに奇数パイプラインは次の4 つの段、すなわちデコード、実行1(X1)、実行2(X2)、および書込み( WR)を含む。両方のパイプライン用のフェッチ段は、第4図に示される命令メ モリ155、プログラム・カウンタ157、およびデコードおよび制御ユニット 160によって実行される。適切な場合、マルチプレクサおよびレジスタは、命 令に対してパイプラインの特定の段で新しいデータを出力するために制御信号に よって制御/イネーブルされるものとして示される。例えば、レジスタ340は 、X1段中に特定の命令に対してオペランドを送ることができるようになり、レ ジスタ350は、X2段中に特定の命令に対して結果を送ることができるように なり、およびレジスタ350はWR段中に同じ結果を送ることができるようにな る。すべての制御信号はデコードおよび制御ユニット160によって与えられる 。 偶数パイプラインおよび奇数パイプラインは、第1の命令が偶数パイプライン 中に発射され、第2の命令が奇数パイプライン中に同時に発射されるスーパスカ ラー機能を与えるために使用される。さらに、偶数パイプラインおよび奇数パイ プラインは、単一の機能単位によって単一の演算をそれぞれ指定する代表的なR ISC命令を実行するために使用される。 「ドロー」命令や「反復ドロー」命令など特殊な演算を実行する能力は、一部 は、XSHADOWレジスタ311、COUNTレジスタ312、増分装置(「 INC」)380〜381、および0検出器回路(ZD)390によって与えら れる。XSHADOWレジスタ311はスパン生成中に水平位置パラメータ「x 」の現在の値を記憶し、増分装置380はスパンのデルタ値dxを記憶するよう にプログラムされる。COUNTレジスタ312は、特定の「反復ドロー」命令 に対して実行すべきドロー動作の回数を指定するカウンタの現在の値を記憶する 。増分装置381は、CYCLEレジスタ420が0値に達したことによって示 されるドロー動作が完了したときはいつでもCOUNTの値を減分する。COU NTレジスタ312が0値に達したとき、0検出器回路390は、デコードおよ び制御ユニット160がプログラム・カウンタが増分し、かつ新しい命令がフェ ッチできるようにデコードおよび制御ユニット160にそのように示す。 第9図に、ドロー動作当たり4つのピクセル・パラメータの新しい値を生成す る「反復ドロー」命令(サイクル・カウントの最大値は2に等しい)を使用して パースペクティブ補正を実行するデータ経路165の演算を示す。第9図の「反 復ドロー」命令は、各ドロー命令ごとに次式を解くことによってuパラメータお よびvパラメータのパースペクティブ補正を実行する。 u’=qr×u (2) v’=qr×v (3) q=q+dq (4) u=u+du (5) v=v+dv (6) x=x+dx (7) z=z+dz (8) 各ドロー動作はピクセル・パラメータx、z、u’、およびv’を出力する。 上式で、qはパースペクティブ値、dqはセットアップ時に決定されるqのデル タ値、uは水平テクスチャ座標、duはセットアップ時に決定されるuのデルタ 値、vは垂直テクスチャ座標、dvはセットアップ時に決定されるvのデルタ値 、 xは水平位置パラメータ、dxはセットアップ時に決定されるxのデルタ値、z は深さパラメータ、dzはセットアップ時に決定されるzのデルタ値、u’はu のパースペクティブ補正値、およびv’はvのパースペクティブ補正値である。 COUNTの値はすべての式が解かれた後で減分される。 q、x、z、u、v、dq、dx、dz、du、およびdvの値は、反復ドロ ー命令をフェッチし、デコードする前に計算され、レジスタ・ファイル中に記億 される。この実施例によれば、XSHADOWレジスタ311にはスパンの初期 水平座標xがロードされ、増分装置380には値dxがロードされる。qおよび zの値はSIAオペランドとしてアクセスするために偶数レジスタ・ファイル3 02中に記憶され、dqおよびdzの値はS2Aオペランドとしてアクセスする ために偶数レジスタ・ファイル302中に記憶される。同様に、uおよびvの値 はS1Bオペランドとしてアクセスするために奇数レジスタ・ファイル303中 に記憶され、duおよびdvの値はS2Bオペランドとしてアクセスするために 奇数レジスタ・ファイル303中に記憶される。 データ経路165は、マルチプレクサによって与えられる転送能力を使用して 、所望の量のコンカレンシを与える。第9図に示すように、デコードおよび制御 ユニット160は、それぞれALU AおよびALU B、およびマルチプレク サ314を使用して第1のピクセル(ピクセル0)に対して式(2)、(4)、 および(5)を並列に解くために時刻T1にデータ経路165を制御する。時刻 T2で、XSHADOWは増分し、式(7)を解き、ALU Aは式(8)を決 定し、ALU Bは式(6)を決定し、マルチプレクサ314は式(3)を決定 し、相互計算回路313は式(1)の決定を終了する。これは、時刻T3中に第 2のピクセル(ピクセル1)の式(2)、(4)、および(5)の決定を可能に する。また時刻T3では、ピクセル0のxおよびu’の値(x0およびu0’)が 出力される。時刻T4では、ピクセル0のzおよびv’の値(z0およびv0’) が出力される。また時刻T4で、式(1)、(3)、(6)〜(8)がピクセル 1に対して完了し、その後、図示のように、時刻T5およびT6中にピクセル1 のパラメータが出力される。このプロセスはCOUNTが0に達するまで続く。 以上、本発明についてその特定の例示的な実施例に関して説明した。しかしな がら、本発明のより広い精神および範囲から逸脱することなく本発明に様々な修 正および変更を加えることができることは明らかであろう。したがって、明細書 および図面は限定的なものではなく例示的なものである。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FI,FR,GB,GR,IE,IT,L U,MC,NL,PT,SE),OA(BF,BJ,CF ,CG,CI,CM,GA,GN,ML,MR,NE, SN,TD,TG),AP(GH,KE,LS,MW,S D,SZ,UG),UA(AM,AZ,BY,KG,KZ ,MD,RU,TJ,TM),AL,AM,AT,AT ,AU,AZ,BA,BB,BG,BR,BY,CA, CH,CN,CU,CZ,CZ,DE,DE,DK,D K,EE,EE,ES,FI,FI,GB,GE,GH ,HU,IL,IS,JP,KE,KG,KP,KR, KZ,LC,LK,LR,LS,LT,LU,LV,M D,MG,MK,MN,MW,MX,NO,NZ,PL ,PT,RO,RU,SD,SE,SG,SI,SK, SK,TJ,TM,TR,TT,UA,UG,US,U Z,VN,YU (72)発明者 プール,グレン・シイ アメリカ合衆国・94555・カリフォルニア 州・フレモント・ウェブフット ループ・ 34039 (72)発明者 スリティ,モハメド アメリカ合衆国・95035・カリフォルニア 州・ミルピタス・グレイソン ウェイ・ 590

Claims (1)

  1. 【特許請求の範囲】 1.通常RISC命令および特殊RISC命令を実行するReduced In struction Set Computer(RISC)プロセッサを動作 させる方法であって、 各通常RISC命令に応答して、RISCプロセッサの単一の機能単位を使用 して、単一の演算を実行するようにRISCプロセッサを制御するステップと、 各特殊RISC命令に応答して、RISCプロセッサの複数の機能単位を並列 に使用して、複数の演算を実行するようにRISCプロセッサを制御するステッ プとを含む方法。 2.あるタイプの特殊RISC命令が出力プリミティブを補間するドロー命令で あり、RISCプロセッサが単一のピクセルの複数のピクセル・パラメータを処 理する、請求項1に記載の方法。 3.RISCプロセッサの複数の機能単位を並列に使用して複数の演算を繰り返 し実行するようにRISCプロセッサを制御するステップをさらに含み、各後続 の演算は、第1の演算の後、各特殊反復RISC命令に応答した前の演算の結果 に依存する、請求項1に記載の方法。 4.あるタイプの特殊反復RISC命令が出力プリミティブを補間する反復ドロ ー命令であり、RISCプロセッサが反復ドロー命令に応答してピクセルのスパ ンに対する一連のピクセル・パラメータを処理する、請求項3に記載の方法。 5.命令を記憶する命令メモリと、 命令メモリに結合されたプログラム・カウンタであって、プログラム・カウン タが増分されたときにプログラム・カウンタが命令を命令メモリから発行させる プログラム・カウンタと、 それぞれ算術演算または論理演算を実行する複数の機能単位を含むデータ経路 と、 命令メモリ、プログラム・カウンタ、およびデータ経路に結合されたデコード および制御ユニットであって、各通常演算命令がデータ経路の単一の演算装置を 使用しかつ各特殊命令がデータ経路の複数の演算装置を使用するように、各通常 演算命令に対して単一の算術演算または論理演算を実行しかつ各特殊命令に対し て複数の算術演算または論理演算を同時に実行するように、データ経路を制御す るデコードおよび制御ユニットと を含むReduced Instruction Set Computer (RISC)プロセッサ。 6.あるタイプの特殊命令が、ピクセルのスパンに対する複数のピクセル・パラ メータの処理を指定する出力プリミティブを補間するドロー命令である、請求項 5に記載のRISCプロセッサ。 7.あるタイプの特殊命令は、複数のピクセルの処理を指定する出力プリミティ ブを補間する反復ドロー命令であり、 デコードおよび制御ユニットは、RISCプロセッサがピクセルのスパンを生成 するように、反復ドロー命令によって指定された複数のピクセルが処理されるま でプログラム・カウンタが増分するのを防ぐ、請求項5に記載のRISCプロセ ッサ。 8.デコードおよび制御ユニットは、データ経路に供給された一組の制御信号を 自動的に生成する論理装置を含み、前記データ経路は制御信号に応答して演算を 実行するように構成された、請求項5に記載のRISCプロセッサ。 9.通常RISC命令および特殊RISC命令を実行するReduced In struction Set Computer(RISC)プロセッサを動作 させる方法であって、 各通常RISC命令に応答して、RISCプロセッサの単一の機能単位を使用 して、単一の演算を実行するようにRISCプロセッサを制御するステップと、 RISCプロセッサの複数の機能単位を並列に使用して、複数の演算を繰り返 し実行するようにRISCプロセッサを制御するステップとを含み、各後続の演 算は、第1の演算の後、各特殊反復RISC命令に応答した前の演算の結果に依 存する方法。 10.あるタイプの特殊反復RISC命令が出力プリミティブを補間する反復ド ロー命令であり、RISCプロセッサが反復ドロー命令に応答してピクセルのス パンに対する一連のピクセル・パラメータを処理する、請求項9に記載の方法。 11.通常RISC命令および特殊RISC命令を実行するReduced I nstruction Set Computer(RISC)プロセッサであ って、 各通常RISC命令に応答して、RISCプロセッサの単一の機能単位を使用 して、単一の演算を実行するようにRISCプロセッサを制御する手段と、 各特殊RISC命令に応答して、RISCプロセッサの複数の機能単位を並列 に使用して、複数の演算を実行するようにRISCプロセッサを制御する手段と を含むRISCプロセッサ。 12.あるタイプの特殊RISC命令が出力プリミティブを補間するドロー命令 であり、RISCプロセッサが単一のピクセルの複数のピクセル・パラメータを 処理する、請求項11に記載のRISCプロセッサ。 13.RISCプロセッサの複数の機能単位を並列に使用して複数の演算を繰り 返し実行するようにRISCプロセッサを制御する手段をさらに含み、各後続の 演算は、第1の演算の後、各特殊反復RISC命令に応答して前の演算の結果に 依存する、請求項11に記載のRISCプロセッサ。 14.あるタイプの特殊反復RISC命令が出力プリミティブを補間する反復ド ロー命令であり、RISCプロセッサが反復ドロー命令に応答してピクセルのス パンに対する一連のピクセル・パラメータを処理する請求項13に記載のRIS Cプロセッサ。
JP53265997A 1996-03-15 1997-03-04 単一の命令に応答して演算を複数回実行する方法および装置 Expired - Fee Related JP3608797B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/616,563 US5761524A (en) 1996-03-15 1996-03-15 Method and apparatus for performing and operation multiple times in response to a single instruction
US08/616,563 1996-03-15
PCT/US1997/003369 WO1997034224A1 (en) 1996-03-15 1997-03-04 Method and apparatus for performing an operation multiple times in response to a single instruction

Publications (2)

Publication Number Publication Date
JP2000507009A true JP2000507009A (ja) 2000-06-06
JP3608797B2 JP3608797B2 (ja) 2005-01-12

Family

ID=24470026

Family Applications (1)

Application Number Title Priority Date Filing Date
JP53265997A Expired - Fee Related JP3608797B2 (ja) 1996-03-15 1997-03-04 単一の命令に応答して演算を複数回実行する方法および装置

Country Status (9)

Country Link
US (3) US5761524A (ja)
EP (1) EP0909415B1 (ja)
JP (1) JP3608797B2 (ja)
CN (1) CN1130625C (ja)
AT (1) ATE226332T1 (ja)
AU (1) AU2066297A (ja)
CA (1) CA2249356C (ja)
DE (1) DE69716428T2 (ja)
WO (1) WO1997034224A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012160794A1 (ja) * 2011-05-20 2012-11-29 日本電気株式会社 演算処理装置、演算処理方法

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061755A (en) * 1997-04-14 2000-05-09 International Business Machines Corporation Method of layering cache and architectural specific functions to promote operation symmetry
JP3515337B2 (ja) * 1997-09-22 2004-04-05 三洋電機株式会社 プログラム実行装置
FR2770659A1 (fr) * 1997-10-31 1999-05-07 Sgs Thomson Microelectronics Processeur de traitement perfectionne
US6343356B1 (en) 1998-10-09 2002-01-29 Bops, Inc. Methods and apparatus for dynamic instruction controlled reconfiguration register file with extended precision
US6965991B1 (en) * 2000-05-12 2005-11-15 Pts Corporation Methods and apparatus for power control in a scalable array of processor elements
US6735642B2 (en) * 2000-06-02 2004-05-11 Mellanox Technologies Ltd. DMA doorbell
US20090115786A1 (en) * 2006-04-24 2009-05-07 Takamasa Shimasaki Drawing device, and drawing method
RU2010145507A (ru) * 2010-11-10 2012-05-20 ЭлЭсАй Корпорейшн (US) Устройство и способ управления микрокомандами без задержки
US8694701B2 (en) 2011-12-15 2014-04-08 Mellanox Technologies Ltd. Recovering dropped instructions in a network interface controller
US9817466B2 (en) 2014-04-17 2017-11-14 Arm Limited Power saving by reusing results of identical micro-operations
GB2525264B (en) * 2014-04-17 2021-06-02 Advanced Risc Mach Ltd Power saving by reusing results of identical micro-operations
US10514928B2 (en) 2014-04-17 2019-12-24 Arm Limited Preventing duplicate execution by sharing a result between different processing lanes assigned micro-operations that generate the same result
US9933841B2 (en) 2014-04-17 2018-04-03 Arm Limited Reuse of results of back-to-back micro-operations
CN104090740A (zh) * 2014-05-27 2014-10-08 安徽师范大学 微控制器指令集的执行方法
US9760158B2 (en) 2014-06-06 2017-09-12 Intel Corporation Forcing a processor into a low power state
US10417149B2 (en) * 2014-06-06 2019-09-17 Intel Corporation Self-aligning a processor duty cycle with interrupts
CN104731557A (zh) * 2014-12-10 2015-06-24 康烁 指令执行的控制方法及装置
US10241993B1 (en) * 2017-09-27 2019-03-26 Sofha Gmbh System and method for detecting reusable groups of drawing commands in a sequence of drawing commands
CN111158756B (zh) * 2019-12-31 2021-06-29 百度在线网络技术(北京)有限公司 用于处理信息的方法和装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4766566A (en) * 1986-08-18 1988-08-23 International Business Machines Corp. Performance enhancement scheme for a RISC type VLSI processor using dual execution units for parallel instruction processing
US5001662A (en) * 1989-04-28 1991-03-19 Apple Computer, Inc. Method and apparatus for multi-gauge computation
US5293587A (en) * 1990-06-01 1994-03-08 Chips And Technologies, Inc. Terminal control circuitry with display list processor that fetches instructions from a program memory, character codes from a display memory, and character segment bitmaps from a font memory
AU657685B2 (en) * 1990-06-14 1995-03-23 Fujitsu Limited A synchronization control system in a parallel computer
US5377129A (en) * 1990-07-12 1994-12-27 Massachusetts Institute Of Technology Particle interaction processing system
US5428810A (en) * 1991-03-15 1995-06-27 Hewlett-Packard Company Allocation of resources of a pipelined processor by clock phase for parallel execution of dependent processes
US5517603A (en) * 1991-12-20 1996-05-14 Apple Computer, Inc. Scanline rendering device for generating pixel values for displaying three-dimensional graphical images
US5345541A (en) * 1991-12-20 1994-09-06 Apple Computer, Inc. Method and apparatus for approximating a value between two endpoint values in a three-dimensional image rendering device
US5481683A (en) * 1992-10-30 1996-01-02 International Business Machines Corporation Super scalar computer architecture using remand and recycled general purpose register to manage out-of-order execution of instructions
US5440747A (en) * 1993-09-27 1995-08-08 Hitachi America, Ltd. Data processor with control logic for storing operation mode status and associated method
EP0681236B1 (en) * 1994-05-05 2000-11-22 Conexant Systems, Inc. Space vector data path

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012160794A1 (ja) * 2011-05-20 2012-11-29 日本電気株式会社 演算処理装置、演算処理方法
JPWO2012160794A1 (ja) * 2011-05-20 2014-07-31 日本電気株式会社 演算処理装置、演算処理方法

Also Published As

Publication number Publication date
US6085310A (en) 2000-07-04
DE69716428T2 (de) 2003-06-26
EP0909415A1 (en) 1999-04-21
US5761524A (en) 1998-06-02
CA2249356A1 (en) 1997-09-18
ATE226332T1 (de) 2002-11-15
EP0909415A4 (en) 2000-09-06
US6134648A (en) 2000-10-17
WO1997034224A1 (en) 1997-09-18
CN1130625C (zh) 2003-12-10
CN1220017A (zh) 1999-06-16
JP3608797B2 (ja) 2005-01-12
AU2066297A (en) 1997-10-01
EP0909415B1 (en) 2002-10-16
CA2249356C (en) 2004-01-27
DE69716428D1 (de) 2002-11-21

Similar Documents

Publication Publication Date Title
JP3608797B2 (ja) 単一の命令に応答して演算を複数回実行する方法および装置
US6807620B1 (en) Game system with graphics processor
WO1997034224A9 (en) Method and apparatus for performing an operation multiple times in response to a single instruction
US6806883B2 (en) System and method for handling display device requests for display data from a frame buffer
US11630800B2 (en) Programmable vision accelerator
KR101349171B1 (ko) 3차원 그래픽 가속기 및 그것의 픽셀 분배 방법
EP0548586A2 (en) An extendable multiple image-buffer for graphics systems
US6377265B1 (en) Digital differential analyzer
JPWO2007049610A1 (ja) 画像処理装置
EP2596470A1 (en) Data processing using on-chip memory in multiple processing units
US6847369B2 (en) Optimized packing of loose data in a graphics queue
US10387119B2 (en) Processing circuitry for encoded fields of related threads
US20030169277A1 (en) Pipelined 2D viewport clip circuit
US6784894B2 (en) Mapping time-sorted to direction-sorted triangle vertices
US9019284B2 (en) Input output connector for accessing graphics fixed function units in a software-defined pipeline and a method of operating a pipeline
US6833831B2 (en) Synchronizing data streams in a graphics processor
US5966142A (en) Optimized FIFO memory
US20030160790A1 (en) End point value correction when transversing an edge using a quantized slope value
US6885375B2 (en) Stalling pipelines in large designs
TWI484441B (zh) 算術邏輯單元管路階段、圖形處理器單元管線和在其中處理資料的方法
US20030169271A1 (en) Magnified texture-mapped pixel performance in a single-pixel pipeline
JP2946490B2 (ja) ピクセル描画用データ・プロセッサ
US6895458B2 (en) Opcode to turn around a bi-directional bus
US10467724B1 (en) Fast determination of workgroup batches from multi-dimensional kernels
CA2298337C (en) Game system with graphics processor

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040427

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040727

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040914

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041012

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071022

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081022

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081022

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081022

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081022

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081022

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091022

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091022

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101022

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111022

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121022

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131022

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees