[go: up one dir, main page]

JPH01129371A - Raster scan display device and graphic data transfer - Google Patents

Raster scan display device and graphic data transfer

Info

Publication number
JPH01129371A
JPH01129371A JP25368188A JP25368188A JPH01129371A JP H01129371 A JPH01129371 A JP H01129371A JP 25368188 A JP25368188 A JP 25368188A JP 25368188 A JP25368188 A JP 25368188A JP H01129371 A JPH01129371 A JP H01129371A
Authority
JP
Japan
Prior art keywords
data
frame buffer
pixel
display
vector
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
JP25368188A
Other languages
Japanese (ja)
Other versions
JPH0727571B2 (en
Inventor
Douglas J Doornink
ダグラス・ジェーム・ドーニンク
David L Knierim
デビッド・レェール・ニエリム
John C Dalrymple
ジォン・シー・デリムプル
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.)
Tektronix Inc
Original Assignee
Tektronix 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
Application filed by Tektronix Inc filed Critical Tektronix Inc
Publication of JPH01129371A publication Critical patent/JPH01129371A/en
Publication of JPH0727571B2 publication Critical patent/JPH0727571B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/20Function-generator circuits, e.g. circle generators line or curve smoothing circuits
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/122Tiling
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • G09G5/024Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed using colour registers, e.g. to control background, foreground, surface filling
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)
  • Digital Computer Display Output (AREA)

Abstract

PURPOSE: To easily utilize a high-speed pipeline by reading pixel data from a frame butter means and storing the pixel data in an OFF display memory means corresponding to a frame buffer address decided by a vector. CONSTITUTION: When a present stage is not prepared to receive data, a first in first out(FIFO) functions as the FIFO of a depth 1 in the input of respective pipe stages for storing the data sent from an upstream stage. A register clocked by pipeline clocks is added to the respective stages, and before present hold signals sent from a downstream stage are sent to the upstream stage, the signals are latched. Since a processing for latching the data and transferring the hold signals are continued in the pipeline, during a next clock cycle period, by the hold signals of a certain stage, the next upstream stage generates the different hold signals. Thus, constitution is easily extended without being limited by the number of pipe stages.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、ラスタ走査表示装置及び図形データ転送方法
、特に、画像プロセッサをフレーム・バッファに対して
インタフェースするバス技術及び通信方法に関する。
DETAILED DESCRIPTION OF THE INVENTION Field of the Invention The present invention relates to raster scan display devices and methods for transferring graphical data, and more particularly to bus techniques and communication methods for interfacing an image processor to a frame buffer.

〔従来の技術及び発明が解決しようとする課題〕半導体
メモリの価格が下がるに従って、ラスタ走査型フレーム
・バッファ表示器は、益々一般的になってきている。表
示すべき画像は、大容量メモリ内に表され、この大容量
メモリは、スクリーン上の各画素、即ち、ピクセルの輝
度及び/又は色をデジタル的に表す。フレーム・バッフ
ァ・メモリは、表示をリフレッシュするために映像信号
を発生するハードウェアと、表示した画像を変更するた
めにホスト・コンピュータ又は表示プロセッサがフレー
ム・バッファ・メモリを変更できるようにするメモリ・
ボートと共に設けられる。この分野の概論は、1980
年に米国カリフォルニア州コビナのコンラック・コーポ
レーションのコンラック・デイビジョンが発行した「ラ
スタ・グラフィックス・ハンドブック」に記載されてい
る。
BACKGROUND OF THE INVENTION As the price of semiconductor memory decreases, raster-scanned frame buffer displays are becoming increasingly popular. The image to be displayed is represented in a mass memory that digitally represents each pixel on the screen, ie the brightness and/or color of the pixel. Frame buffer memory includes the hardware that generates the video signals to refresh the display and the memory that allows the host computer or display processor to modify the frame buffer memory to change the displayed image.
Installed with boat. An overview of this field was published in 1980.
It is described in the ``Raster Graphics Handbook'' published by Conrac Division, Conrac Corporation, Covina, California, USA.

会話型グラフィック・アプリケーションは、表示された
画像を素早く変更する必要があり、これには、フレーム
・バッファ・メモリを素早く変更する必要がある。ホス
ト・プロセッサ及び表示プロセッサの速度は、高性能に
明らかに重要であるが、更新帯域、即ち、ホスト・プロ
セッサ、又はデータ・プロセッサが各ピクセルをアクセ
スする速度の如きメモリ・システムの性能も重要である
Interactive graphics applications need to quickly change displayed images, which requires rapid changes to frame buffer memory. While the speed of the host processor and display processor is clearly important for high performance, memory system performance such as update bandwidth, ie, the speed at which each pixel is accessed by the host processor or data processor, is also important. be.

ある種のバスにより、画像描画エンジンがフレーム・バ
ッファから分離されるように、多くの図形が分割される
。描画エンジンが汎用マイクロプロセッサであり、フレ
ーム・バッファがデュアル・ボート・メモリである低機
能システムにおいて、このバスはシステム・バスでも良
い。描画エンジンが特殊目的の画像プロセッサであるエ
ンジニア・ワークステージタンの如き高機能システムに
おいて、このバスは、画像プロセッサ及びフレーム・バ
ッファ間の高速専用バスでも良い。いずれの場合も、任
意の方向のベクトルを描くために、書き込むべき総ての
ピクセルに対してバスにアドレス及びデータを送る必要
がある。これは、アドレス及びデータを同時に送るのに
充分なバス信号ラインが必要であるか、又は、マルチブ
レクス・アドレス/データ・バスの場合、データ・サイ
クルが続くアドレス・サイクルに総てのピクセル書込み
を行わなければならないことを意味している。
Some type of bus separates many graphics so that the image drawing engine is separated from the frame buffer. In low-performance systems where the drawing engine is a general purpose microprocessor and the frame buffer is dual boat memory, this bus may be the system bus. In high performance systems such as engineer workstations where the drawing engine is a special purpose image processor, this bus may be a high speed dedicated bus between the image processor and the frame buffer. In either case, to draw a vector in any direction, it is necessary to send an address and data to the bus for every pixel to be written. This requires either enough bus signal lines to send address and data simultaneously, or, in the case of a multiplexed address/data bus, to write all pixels in the address cycle followed by the data cycle. It means that there must be.

従来のラスタ走査装置において、フレーム・バッファ内
にデータの2次元ブロック(カラー・システムでは、3
次元)を生成して、表示すべき画像を表す。各データ要
素がピクセルを定義する。
In traditional raster scanning devices, two-dimensional blocks (in color systems, three-dimensional blocks of data) are stored in a frame buffer.
dimension) to represent the image to be displayed. Each data element defines a pixel.

なお、ピクセル・データは、そのピクセルの2次元座標
を定義するアドレスと、モノクロ・システムでは単一の
2進ビツトで、またカラー・システムでは多くのビット
で表される値とから構成される。ピクセル・データを発
生し、1度に1ピクセルを、即ち、初めにアドレスを次
にピクセル値をフレーム・バッファ制御回路に転送する
。この回路は、アドレスを読取り、対応するピクセル値
をフレーム・バッファに記憶させる。画像に変更すべき
総てのピクセルに対して、この処理を繰返す。
Note that pixel data consists of an address that defines the two-dimensional coordinates of the pixel, and a value that is represented by a single binary bit in a monochrome system or by many bits in a color system. Pixel data is generated and transferred one pixel at a time, first the address and then the pixel value, to the frame buffer control circuit. This circuit reads the address and stores the corresponding pixel value in the frame buffer. Repeat this process for all pixels to be changed into the image.

ピクセル値を転送する度にアドレスを転送することは、
表示プロセッサ及びフレーム・バッファ間の通信インタ
フェースの広い帯域幅を必要とする。
Transferring an address every time you transfer a pixel value is
Requires high bandwidth of the communication interface between the display processor and frame buffer.

はとんどのバス・システムは、データ転送帯域幅を増加
するために「ブロック転送」モードを具えている。この
モードでは、1つのアドレスの後に、この初期アドレス
から始まる連続した記1.α位置に古き込まれる多くの
データ・ワードが続く。
Most bus systems include a "block transfer" mode to increase data transfer bandwidth. In this mode, one address is followed by successive entries starting from this initial address. This is followed by a number of data words that are aged into the alpha position.

このモードを用いて、X軸又はY軸に沿ったベクトルを
送ることができるが、任意方向のベクトルをフレーム・
バッファに描画するには、−射的るこ有用でない。これ
は、フレーム・バッファがX−Y配列として論理的な方
向にな−、ておらず、また、物理的メモリ・アドレスが
X及びYアトlメスの組合わせのためである。任意方向
のべりトルは、任意方向に進むので、一般に、隣接した
ピクイにル・アドレスは、連続したメモリ・アドレスで
はない。
You can use this mode to send vectors along the X or Y axis, but frame vectors in any direction.
For drawing to a buffer, -targeting is not useful. This is because the frame buffer is not logically oriented as an X-Y array, and the physical memory address is a combination of X and Y addresses. Since the arbitrary direction bits move in any direction, adjacent pickle addresses are generally not consecutive memory addresses.

ロゼナー(Rosener)等による米国特許第458
6037号明細書は、オクタント(8分円)・1/ジス
タ回路及び動作モ・−・ドを開示しており、この動作子
−・−ドでは、ベクI・ルの開始点を定めるために、ピ
クセル値と共に、フレーム・バッファ・メモリに転送さ
れる全アドレスをイネーブルする。
US Pat. No. 458 by Rosener et al.
No. 6037 discloses an octant 1/registor circuit and operating mode in which the starting point of the vector I , enables all addresses to be transferred to frame buffer memory along with pixel values.

オクタント定める3ビット・′7ドレスと並列に連続的
なピクセル・データを転送するが、次のピクセル値は、
前のアドレスに関連して配置される。
Continuous pixel data is transferred in parallel with the 3-bit '7 address defined by the octant, but the next pixel value is
Placed in relation to the previous address.

よって、各ピクセルの前に全アドレスを送るC:となく
、3ビツト・オクタント・データが、直前のピクセルに
隣接して害き込むべき次のピクセルの位置を定義する。
Thus, instead of sending a full address C: before each pixel, 3-bit octant data defines the location of the next pixel to attack adjacent to the previous pixel.

特に、大容量メモリ配列の直線描画アルゴリズムのアプ
リケーションにおいて、このアプローチを用いると、効
率を大幅に改作できるが、デー・夕の他に少なくとも3
ピツI・を必要とする。
In particular, in the application of straight-line drawing algorithms in large memory arrays, this approach can significantly improve efficiency, but at least 3
Requires Pitsu I.

関心のある他の領域では、既に表示した画像の上に、カ
ーソル及び直線の如き画像を描画し、フ1/−ム・バッ
ファに蓄積された下の画像を破壊する事なく直線ヌはカ
ーソル画像を移動させる。スコニック(Sukonic
k)等による米国特許第4197590号明細書は、消
去した直線と交差又は同時に存在する直線を再生する選
択的消去を可能にする排他的論理和、即ちX0RII能
を開示している。このXOR機能により図の他の部分を
消去する事なく、この図の一部を適当な位1斤に移動又
はドラックできる。このアプローチは、かなりの計算の
だめの費用を必要とし、また、多くの動作制限がある。
In other areas of interest, draw images such as a cursor and lines on top of the already displayed image, so that the lines can be drawn over the cursor image without destroying the underlying image stored in the frame buffer. move. Sukonic
U.S. Pat. No. 4,197,590 to K. et al. discloses an exclusive OR, or X0RII, capability that allows selective erasure to recreate straight lines that intersect or coexist with erased lines. This XOR function allows you to move or drag a portion of the diagram to any desired location without erasing other parts of the diagram. This approach requires significant computational expense and has many operational limitations.

ゼロックス・パルアルド・リサーチ・センターで開発さ
れ、デー・エッチ・エッチ・インブレス(D、H,H,
Engles)がバイト(BYTE)1981年)(月
琴の168ページ−194−C−ジの「スモール・l・
−り・グラフ2イツクス・カーネル1に記した他のアプ
ローチは、「ピッ1−・ブリッ) (Bit Bit)
 Jと呼ばれる動作である。このビット・ブリット処理
は、フレーム・バシ・ファに書き込むべき画像を定義す
る矩形ビット・マツプを用いる9画像をフ1ノーム・バ
ッファに書き込むときに、同じアドレス位置の前の情報
を読出し、別のメモリに蓄積する。新たな画像を移動又
は削除する際、古い情報をフレーム・バッファの元の位
置に再生する。この方法は、ピクセル・データのほぼ矩
形ブロックに適用するとき、特に、カーソル画像のよう
に小さなサイズに適用するとき、非常に効率的である。
Developed at the Xerox Palauld Research Center, the D, H, H,
Engles) is a part-time job (BYTE) 1981) (Gekkin's 168 page-194-C-
Another approach described in Graph 2 and Kernel 1 is ``Bit Bit''.
This is an action called J. This bit blitting process uses a rectangular bit map to define the image to be written to the frame buffer. When writing nine images to the frame buffer, it reads the previous information at the same address location and uses a rectangular bit map to define the image to be written to the frame buffer. Store in memory. When a new image is moved or deleted, the old information is played back to its original position in the frame buffer. This method is very efficient when applied to approximately rectangular blocks of pixel data, especially to small sizes such as cursor images.

しかし、予め存在する画像を蓄積且つ再生しなければな
らないときは、その効率が大幅に低下する。これは、直
線、曲線又は簡単な多角形のような比較的簡単な新たな
画像を表示上に配置する場合である。
However, the efficiency is greatly reduced when pre-existing images have to be stored and reproduced. This is the case when placing relatively simple new images on the display, such as lines, curves or simple polygons.

従来のラスタ表示装置における他の通信インタフェース
制限は、多数のデータ処理段によるリレー、即ちパイプ
ラインである。ガーラチョル(Gharachorlo
o )による米国特許第4658247号は、実時間画
像発生を実現するために、一連のピクセル・プロセッサ
を接続したライン・バッファ・パイプラインを用いた従
来のグラフィック表示システムの例を開示している。こ
のシステムによる理想的なパイプラインでは、全段が、
対応するデータを同じ時間で処理している。各段間のデ
ータ転送機構は、簡で11なレジスタでよく、このレジ
スタは、全パイプライン段に共通なパイプライン・クロ
ックにより、各処理サイクルの終わりにて新たなデータ
をロードする。しかし、パイプラインの1つが、データ
を処理するのに1パイプライン・クロック・サイクル以
上かかると、問題が生じる。この問題が生じると、その
段がその処理を終わるまでの間、前段からのデータの流
れを停止しなければならない。すなわち、その処理が2
パイプ段以上に分離する。その入力データ、又は、その
パイプ段にて生じるあるランダム又は擬似ランダム事象
に応じて、パイプ段がその処理を完了するのに必要な時
間が可変ならば、この問題が悪化する。この場合できる
ことは、遅い下流の処理が新たなデータを受は入れる準
備ができるまで、前の、即ち、上流の処理が新たなデー
タを送るのを停止することである。これは、各処理が、
後段の総てのパイプ段の状態を知らなければならないこ
と、即ち、これら後段が新たなデータを受ける準備がで
きたかを知らなければならないことを意味する。これを
実現する簡単な方法は、現在の段から前のパイプ段にホ
ールド信号を送ることである。このホールト信号は、現
在の段からのビジィ信号であり、次段、即ち下流段から
のホールト信号と論理的にオアされる。しかし、各オア
・ゲー 1−に関連した信号遅延のために、この技術は
、11・に、バス構成システムに実現すると、多段の高
速システムに適さない。
Another communication interface limitation in conventional raster display devices is relaying or pipelines through multiple data processing stages. Gharachorlo
U.S. Pat. No. 4,658,247 to J.D. O.) discloses an example of a conventional graphics display system that uses a line buffer pipeline connecting a series of pixel processors to achieve real-time image generation. In an ideal pipeline using this system, all stages would be
Corresponding data are processed in the same amount of time. The data transfer mechanism between each stage can be as simple as 11 registers, which are loaded with new data at the end of each processing cycle by a pipeline clock common to all pipeline stages. However, a problem arises when one of the pipelines takes more than one pipeline clock cycle to process data. When this problem occurs, the flow of data from the previous stage must be stopped until that stage finishes its processing. In other words, the process is 2
Separate into pipe stages or more. This problem is exacerbated if the time required for a pipe stage to complete its processing is variable, depending on the input data or some random or pseudo-random event occurring at the pipe stage. What can be done in this case is for the previous or upstream process to stop sending new data until the slower downstream process is ready to accept the new data. This means that each process
This means that the status of all subsequent pipe stages must be known, ie whether these subsequent stages are ready to receive new data. A simple way to accomplish this is to send a hold signal from the current stage to the previous pipe stage. This halt signal is a busy signal from the current stage and is logically ORed with the halt signal from the next stage, ie, the downstream stage. However, due to the signal delays associated with each OR game, this technique is not suitable for multi-stage high speed systems when implemented in a bus-based system.

したがって本発明の目的は、ピクセル・データを発生す
ると共に、フレーム・バッファとの間でこのピクセル・
データを伝送する改良されたアーキテクチャ及び通信プ
ロトコルを用いたラスタ走査表示装置及び図形データ転
送方法の提供にある。
It is therefore an object of the present invention to generate pixel data and to transfer this pixel data to and from a frame buffer.
The present invention provides a raster scan display device and method for transferring graphical data using an improved architecture and communication protocol for transmitting data.

〔課題を解決するための手段及び作用〕本発明は、ベク
トル・ピクセル・データ合発生し、フレーム・バッファ
との間で転送する方法を改善する。埋め込まれた( i
mbedded )ベクトル方向制御と呼ぶ本発明は、
マルチブレクス・アドレス/テーク・バス・システム用
の強調「ブロック転送コモ−ドを与えるので、ベクトル
の各ピクセル用の1データ・サイクルが続く1アドレス
・サイクルで、任意方向のベクトルを描画できる。好適
には、各アドレス・ワードは、X及びY開始アトし・ス
の他に、(])X方向、(2)Y方向、及び(3)X又
はYのいずれが「大きな(メジャー)」軸か1、即ち、
X又はYのいずれがベクトルの各人のピクセル用に増分
すべき輔かを定める3ビツトの情眼を含んでいる。フレ
ーム・バッファに書込むか+i7e :tJすかにより
、各人のピクセル用にデータ・ワードを転送する。この
データ・ワードは、メジャー軸に直交する「小さな(マ
イナー)」抽に沿、ってステップを行うか否かを特定す
る1ピントの情報を含んでいる。このビン1−は、交換
可能に、小さな軸のビット、又はFBSel と呼ばれ
る。フレーム・バッファに書込む際、データ・ワードの
各々において、ピクセル値をフレーム・バッファに送る
。フI7− J、・バッファからの続出しの際、ピクセ
ル値を送らない。即ち、データ・ラインは、フレーム・
バッファから読み出したり、システム・メモリ又は他の
オフ・スクリーン(オフ表示)メモリに戻すピクセル値
ように、開放されたままである。好適な動作において、
第1ワードは、完全な開始点アドレスと、そのベクトル
のメジャー軸方向及びマイナー軸方向情報と共に送られ
る。
SUMMARY OF THE INVENTION The present invention improves the method by which vector pixel data is generated and transferred to and from a frame buffer. embedded (i
The present invention, called vector direction control (mbedded),
Emphasis for Multi-Brex Address/Take Bus Systems Provides a block transfer command so that a vector in any direction can be drawn in one address cycle followed by one data cycle for each pixel of the vector. In addition to the X and Y starting axes, each address word specifies (]) the X direction, (2) the Y direction, and (3) whether X or Y is the "major" axis. 1, i.e.
Contains a 3-bit value that determines whether X or Y should be incremented for each pixel of the vector. Transfer the data word for each pixel by writing to the frame buffer. This data word contains one pinto of information that specifies whether to step along a "minor" bar perpendicular to the major axis. This bin 1- is interchangeably referred to as the small axis bit, or FBSel. When writing to the frame buffer, each data word sends a pixel value to the frame buffer. F I7-J, - Do not send pixel values when continuing to read from the buffer. That is, the data line
It remains open for pixel values to be read from the buffer or returned to system memory or other off-screen (off-display) memory. In preferred operation,
The first word is sent with the complete starting point address and the major and minor axis direction information for that vector.

続いて、転送したり読み出したりする各ピクセル値よう
に、第2ワードを送る。この第2ワードは、開始アドレ
スと共に転送される軸用の方向ビットが示す方向におけ
るマイナー軸に沿ってステップするか否かを特定するマ
イナー軸ビットを含んでいる。フレーム・バッファ内に
ピクセル・データを書き込むために、各第2ワードは、
ピクセル値も含んでいる。各第2ワードを受けると、フ
レ・〜ム・バッファ制御回路は、特定情報の3ビツトが
指示する特定のメジャー軸方向に沿って増分し、マイナ
ー軸ピントにより決まるよ・うに、第1ワードで特定さ
れた方向におけるマイナー軸に沿って増分するか増分し
ない。このアプローチは、ベクトルを描画するだめのバ
ス・ライン及び付加的なバス・サイクルを節約するので
、有効帯域幅が増加する。幾分効率が下がるか、バス・
ラインが増えるが1.第1ワードにおいて、メジャー軸
選択ビット及びメジャー軸の方向ビットを送り、第2ワ
ードにおいて、マイナー軸ビット及びマイナー軸方向の
両方を送ることによっても、このアプローチを実現でき
る。この方法は、曲線及び直線の描画に適用でき、また
、幾何学的図形の適当なオクタント遷移点、即ち、頂点
にて、新たな開始アドレス及び方向情報を転送すること
により、より複雑な曲線又は多角形の画像を形成するの
に、この方法杏利用できる。
A second word is then sent for each pixel value to be transferred or read. This second word includes a minor axis bit that specifies whether to step along a minor axis in the direction indicated by the axis direction bit transferred with the starting address. To write pixel data into the frame buffer, each second word is
Also contains pixel values. Upon receiving each second word, the frame buffer control circuit increments along a particular major axis direction as indicated by three bits of specific information, and increments along the first word as determined by the minor axis focus. Increment or no increment along the minor axis in the specified direction. This approach increases the effective bandwidth because it saves bus lines and additional bus cycles to draw vectors. Bus efficiency may be reduced somewhat.
The number of lines increases, but 1. This approach can also be achieved by sending the major axis selection bit and the direction bit of the major axis in the first word, and sending both the minor axis bit and the direction of the minor axis in the second word. This method can be applied to the drawing of curves and straight lines, and can also be used to draw more complex curves or straight lines by transferring the new starting address and direction information at appropriate octant transition points, i.e. vertices, of the This method can be used to form polygonal images.

また、「ベクトル・ブリッl−(Vector Blt
) 」と呼ばれる本発明は、フレーム・バッファの一連
のアドレスにおいて、ピクセルレイ直をS穴み出したり
、占き込んだりする方法であり、デジタル直線描画アル
ゴリズムによりアドレスを発生し、システム・バスを介
して、フレーム・バッファ及びオフ・スクリーン・メモ
リ間でピクセル値を転送する。
Also, “Vector Blt
) is a method for extracting or interpolating pixel ray lines in a series of addresses in a frame buffer, and generates addresses using a digital straight-line drawing algorithm to control the system bus. transfer pixel values between the frame buffer and off-screen memory.

これは、エンティティがベクトル・リストで記載されて
いるとき、カーソル、アイコン又は他の図形エンティテ
ィを非破壊的にフレーム・バッファに配置する方法とし
て利用できる。この方法は、曲線及び他の走査変換図形
エンティティにまで拡張できる。ベクトル・ブリットを
用いて、ベクトルで定義されるカーソル、アイコン等を
一時的に配置するとき、オフ・スクリーン・メモリへ画
像の部分をセーブでき、ピクセル・データをフレーム・
バッファ内に再生できる。ベクトル・ブリットは、十字
、円及び他の簡単な形の如きわずかな直線で構成され、
大領域をスパンする図形エンティティのピクセルをセー
ブ/再生するのにより効率的な方法である。よって、ベ
クトル・ブリット動作いて、フレーム・バッファのX及
びY軸に沿った矩形に限定されない多角形が定義する情
報のブロックを移動できる。ベクトル・ブリットを用い
て、カーソルの下の予め存在する画像のピクセルを3売
出し、オフ・スクリーン・メモリにセーフ゛する。カー
ソルは、これらピクセルの上に非破壊的に書き込まれて
おり、このカーソルを削除又は移動するとき、他のベク
トル・ブリット動作を用いて、セーブされたピクセルを
オフ・スクリーン・メモリから再生する。適切なアブリ
ケーシゴン及び表示プロセッサ・ソフトウェアにより、
ビット・ブリットと交換可能に、又は組み合わせてベク
トル・ブリットを用いることにより、ベクI・ル、曲線
及びブロック情報の組合わせをフレーム・バッファ内で
、−時的な配置及び移動を行うのに最適な効率とするこ
とができる。フレーム・バッファのピクセル・データを
読出すと共に書き込むために埋め込まれたベクトル方向
制御を用いてインプリメンテーションすることにより、
ベクトル・ブリットの速度及び効率を更に強調できる。
This can be used as a way to non-destructively place a cursor, icon, or other graphical entity in the frame buffer when the entity is described in a vector list. This method can be extended to curves and other scan-converted graphical entities. When using vector blits to temporarily position cursors, icons, etc. defined by vectors, you can save portions of the image to off-screen memory and transfer pixel data to frames.
Can be played in buffer. Vector bullets are made up of few straight lines such as crosses, circles and other simple shapes,
It is a more efficient way to save/reclaim pixels of a graphical entity that spans a large area. Thus, vector blitting operations can move blocks of information defined by polygons that are not limited to rectangles along the X and Y axes of the frame buffer. Use vector blit to dump 3 pixels of the pre-existing image under the cursor and safe to off-screen memory. A cursor is written non-destructively over these pixels, and when the cursor is deleted or moved, other vector blitting operations are used to reclaim the saved pixels from off-screen memory. With appropriate abbreviation and display processor software,
By using vector blits interchangeably or in combination with bit blits, a combination of vectors, curves, and block information can be used for temporal placement and movement within a frame buffer. efficiency. By implementing with embedded vector direction control for reading and writing frame buffer pixel data,
The speed and efficiency of vector blitting can be further emphasized.

さらに、本発明は、パイプライン構造及び方法であり、
パイプ段の処理時間が異なるか、可変しても、性能に影
客を及ぼす事なく、パイプラインを容易に拡張できる。
Further, the present invention is a pipeline structure and method,
Pipelines can be easily extended without affecting performance, even if the processing times of pipe stages are different or variable.

これは、パイプ段間にファースト・イン・ファースト・
アウト(F I FO)を分布させるごとにより実現で
きる。透明ラッチを各パイプ段の前に付加する。現在の
段がデータを受ける準備ができていないとき、このFI
FOは、前段、即ち、上流段から送られるデータを蓄積
するための各パイプ段の入力における深さ1のFIFO
として作用する。パイプライン・クロックによりクロッ
クされるレジスタを各段に付加して、次段、即ち、下流
段から送られた現在のホールド信号が、前段、即ち、上
流段に送られる前に、この信号をラッチする。データを
ラッチし、ホールド信号を転送する処理がパイプライン
で継続しているので、次のクロック・サイクル1更間中
、ある段のホールド信号により、次の上流段が別のホー
ルド信号を発生する。実際には、各段のホールド信号が
、データと逆方向にパイプラインされる。
This is a first-in-first method between pipe stages.
This can be realized by distributing out (F I FO). Add transparent latches to the front of each pipe stage. When the current stage is not ready to receive data, this FI
FO is a one-deep FIFO at the input of each pipe stage to accumulate data sent from the previous stage, i.e., the upstream stage.
It acts as. A register clocked by the pipeline clock is added to each stage to latch the current hold signal sent from the next or downstream stage before it is sent to the previous or upstream stage. do. Since the process of latching data and transferring hold signals continues in the pipeline, a hold signal in one stage causes the next upstream stage to generate another hold signal during the next clock cycle. . In reality, the hold signals at each stage are pipelined in the opposite direction to the data.

ホールド信号は、各パイプ段において1クロツク・サイ
クルだけ遅延されるので、1クロツク・サイクル分のデ
ータをFIFOにラッチする能力が必要になる。しかし
、ホールド信−号をパイプラインすることにより、総て
のパイプ段からビイシイ信号を収集するのに、カスケー
ド接続又は広範囲なロジックが必要でなくなる。その結
果、構成は、パイプ段の数に限定されないで、容易に拡
張できる。
Since the hold signal is delayed by one clock cycle in each pipe stage, the ability to latch one clock cycle's worth of data into the FIFO is required. However, by pipelining the hold signal, no cascading or extensive logic is required to collect the signal from all pipe stages. As a result, the configuration is not limited to the number of pipe stages and is easily expandable.

本発明の上述及びその他の目的、特徴及び利点は、添付
図を参照した以下の説明から、より明かになろう。
The above and other objects, features and advantages of the present invention will become more apparent from the following description with reference to the accompanying drawings.

〔実施例〕〔Example〕

(図形システムの概略) 第1図は、本発明が実施される図形システムの機能ブロ
ック図である。この第1図に示すように、図形システム
(20)は、3つの形式のサブシステム、即ら、アプリ
ゲージ9ン・システム(図形データ発生手段)(22)
、図形表示システム(24L及びこれらアプリケーショ
ン・システム及び図形表示システムをリンクする通信チ
ャンネル(26)に分割できる。アプリケーション・シ
ステム及び表示システムを分けることにより、ユーザの
要求に応じたアプリケーション・システム、通信システ
ム及び表示システムの性能特性を有する多くの異なる方
法で、図形システム機能をまとめることができる。
(Outline of graphics system) FIG. 1 is a functional block diagram of a graphics system in which the present invention is implemented. As shown in FIG. 1, the graphics system (20) has three types of subsystems: an application gauge system (graphic data generation means) (22);
, a graphical display system (24L), and a communication channel (26) that links these application systems and graphical display systems.By separating the application system and display system, the application system and communication system can be configured according to user requirements. Graphical system functionality can be organized in many different ways with different display system performance characteristics.

アプリケーション・システム(22)は、アプリケーシ
ョン・エンジン、アプリケーション・プログラム、アプ
リケーション・データ・ベース、及びインタフェースを
含んでいる。このインタフェースは、表示システムとリ
ンクできる通信チャンネル用である。アプリケーション
・エンジンは、ローカル・ワークステーション計算エン
ジンから最上位のメインフレーム・スーパ・コンピュー
タまでの範囲のものであり、広範囲な機能にわたって、
アプリケーション・プログラムを実行する。
The application system (22) includes an application engine, an application program, an application database, and an interface. This interface is for a communication channel that can be linked with a display system. Application engines range from local workstation computational engines to top-of-the-line mainframe supercomputers, and span a wide range of functions.
Run an application program.

アプリケーション・システム(22)は、アプリケーシ
ョン・エンジン又は汎用コンピュータで構成する。この
アプリケーション・システム(22)は、アプリケーシ
ョン・ソフトウェア(22A)、ソフトウェア・インタ
フェース・ライブラリ (22B)及びオペレーティン
グ・システム(22C)により実行され、これらは、第
2図に示すように相互接続されている。アプリケーショ
ン・システムのこれ以」二の詳細は、本発明と密接な関
係がないので省略する。
The application system (22) consists of an application engine or a general purpose computer. This application system (22) is executed by application software (22A), a software interface library (22B) and an operating system (22C), which are interconnected as shown in FIG. . Further details of the application system are omitted as they are not closely related to the present invention.

第3図は、第1図の表示システJ、の機能ブ1コック図
である。この第3図の表示システム(24)は、会話型
装置を扱い、図形データ構造を管理し、表示画像を発生
し、アプリケーション・システムを接続する通信チャン
ネルをインタフェースする。
FIG. 3 is a functional block diagram of the display system J of FIG. 1. The display system (24) of FIG. 3 handles interactive devices, manages graphical data structures, generates display images, and interfaces communication channels connecting application systems.

この図形システムは、ユーザ入力からユーリ′の図形帰
還までのループを閉じる総ての要素を含んでいる。通信
チャンネルが低い帯域幅のとき、高度な会話型図形アプ
リケーションを実行できる。表示システムは、図形デー
タ構造を蓄積でき、表示画像を発生できる。通信帯域幅
が非常に高(でも、この能力は、アプリケーション・シ
ステムで実行するプログラムからかなりの量の仕事を除
く。
This graphics system includes all the elements that close the loop from user input to Yuri's graphics return. Advanced conversational graphics applications can be run when the communication channel has low bandwidth. A display system can store graphical data structures and generate display images. Even though communication bandwidth is very high, this ability removes a significant amount of work from the programs running on the application system.

アプリケーション・システム及び表示システム間の通信
チャンネル(26)には、多くの形式が可能である。こ
のチャンネルの帯域幅は、非同期直列通信ラインの帯域
幅から、高速データ・バスによる直接接続の帯域幅まで
の間で変化する。このチャンネルのデータ・プロトコル
は、非同期R3232Cのように簡単にもなるし、IE
EE802.3(イーサネフト)のように複雑にもなる
The communication channel (26) between the application system and the display system can take many forms. The bandwidth of this channel varies between the bandwidth of an asynchronous serial communication line to the bandwidth of a direct connection with a high speed data bus. The data protocol for this channel can be as simple as asynchronous R3232C or IE
It can also be complicated like EE802.3 (Etherneft).

(表示システムの概略) 表示システム(24)は、機能的に、通信/制御コマン
ド/入力(CGCI)(通信チャンネル・ハンドラー)
(30)、表示リスト及び構造蓄積(DLSS)(32
)、図形パイプライン(GP)(34)、及び画像蓄積
及び表示(ISD)(36)のサブシステムに分割でき
る。これらサブシステム及びこれらの相互接続を第3図
に示す。
(Overview of Display System) The display system (24) functionally includes communication/control command/input (CGCI) (communication channel handler).
(30), Display List and Structure Storage (DLSS) (32
), graphics pipeline (GP) (34), and image storage and display (ISD) (36) subsystems. These subsystems and their interconnections are shown in FIG.

通信チャンネル・ハンドラー(30)は、ハードウェア
・ドライバ及びソフトウェア・プロトコルの両方を含ん
でいる。通信装置用のハードウェア・ドライバは、ハー
ドウェア信号レベル、タイミング及びプロトコルの詳細
を扱う。特殊な集積回路チップを制御卸するドライバ・
ソフトウェアと同様に、これら集積回路は、最も大きな
通信プロトコルを駆動するのに利用できる。ソフトウェ
ア通信プロトコルを通信ハードウェアと用いて、チャン
ネルによりメツセージ及びデータを渡すのを制御する。
The communication channel handler (30) includes both hardware drivers and software protocols. Hardware drivers for communication devices handle hardware signal levels, timing and protocol details. A driver that controls special integrated circuit chips.
These integrated circuits, as well as software, are available to drive most communication protocols. Software communication protocols are used with communication hardware to control the passing of messages and data over channels.

表示システム制御には、ラン・タイム・コントロール、
データ・パス・コントロール、及び表示システムをモニ
タ及び制御するコンテキスト・コントロールがある。シ
ステムの動作開始において、表示システムの電源を入れ
、初期化する。診断及び自己試験は、システム初期化期
間中に実行するが、システム動作後にコマンドに応じて
実行することもできる。表示システムのラン・タイム環
境における監視サービスには、メ、ツセージ転送、処理
同期及びリソース割り当てがある。データ経路及びデー
タ転送の制御は、表示システム監視の重要な部分である
。例えば、システムの構造及び状態に応じて、多くの異
なるデータ消費処理が、通信チャンネルからのコマンド
の流れを扱ってもよい。ウィンドウ及び仮想ターミナル
の図形環境に対する表示システム状況(コンテキスト)
の監視は、通信、コマンド、会話型入力装置、図形構造
及び表示リスト蓄積に対する状況の調整及び制御を意味
する。全体として、通信チャンネル、会話型装置、画像
蓄積及び表示制御を含む表示システムの資源は、専用使
用又は共用のいずれかにおいて、種々の状況に割り当て
られる。
Display system control includes run time control,
There are data path controls and context controls that monitor and control the display system. At the start of system operation, the display system is powered on and initialized. Diagnostics and self-tests are performed during system initialization, but can also be performed on command after system operation. Monitoring services in the run-time environment of the display system include messages, message forwarding, processing synchronization, and resource allocation. Control of data paths and data transfer is an important part of display system monitoring. For example, depending on the structure and state of the system, many different data consuming processes may handle the flow of commands from the communication channel. Display system status (context) for the graphical environment of windows and virtual terminals
Monitoring refers to the coordination and control of communications, commands, interactive input devices, graphical structures, and display list storage. Overall, the resources of a display system, including communication channels, interactive devices, image storage, and display controls, are allocated to various situations, either for dedicated use or for shared use.

アプリケーション・システムからのコマンドの流れは、
アプリケーション・プログラムに表示システムの機能を
使用させる。ユーザ・コマンド・インタフェースは、表
示システムのユーザに、コマンドをローカルに実行でき
るようにする。会話型入力装置を用いると、このシステ
ムは、装置制御、読出し及び処理装置データを与え、ウ
ィンドウ及び仮想ターミナルを有する図形環境用の表示
システム状況内で、図形動作を開始する。
The flow of commands from the application system is
Allows application programs to use display system features. The user command interface allows users of the display system to execute commands locally. Using interactive input devices, the system provides device control, reading and processing device data, and initiates graphical operations within the display system context for a graphical environment with windows and virtual terminals.

会話型装置からの入力により開始する図形動作には、図
形オブジェクトの移動、可視オブジェクトの3J、 t
R,、即ち「ピッキング」、入力装置の図形状況又はア
プリケーション・システムからのコマンドの流れの切替
えがある。入力装置の制御により、図形オブジェクトを
移動、回転、及び転送することができる。図形構造又は
オブジェクトの任意の属性(連続又は分離)は、入力装
置からのデータにより変更できる。これには、位置及び
方向と共に、色、シェーディング及びライティング・モ
デルがある。図形オブジェクト及びメニュ項目の選択は
、一般に、会話型位置決め装置により行う。
Graphical actions initiated by input from an interactive device include movement of graphical objects, 3J of visible objects, t
R, or "picking", is a switching of the graphical status of an input device or the flow of commands from an application system. Under the control of the input device, the graphical object can be moved, rotated, and transferred. Any attribute (contiguous or discrete) of a graphical structure or object can be changed by data from an input device. This includes color, shading and lighting models, along with position and orientation. Selection of graphical objects and menu items is typically performed by an interactive positioning device.

表示リス1−蓄積(32)は、CCCT (30)及び
図形パイプライン(CP)(34)の両方が用いる表示
リスト及び構造を維持する。これら表示リスト及び構造
は、CCCl及びCP間の通信において、キー・ロール
として作用する。表示リスト(CPによりインタブレッ
ト(翻訳)されるように構成されている)、及び表示ス
クリーン上に画像を発生するのに用いる制御構造により
、図形「オブジェクト」を表す。図形オブジェクトの作
成とは、これら表示リスト及び制御構造の両方を作るこ
とを意味する。オブジェクトを作成した後、これら表示
リスト及び制御構造を変更して、表示された画像を変え
ることができる。図形データ構造変数が、システムの「
状態」を決める。ウィンドウ及び仮想ターミナルの図形
状況の制j11は、図形セグメント又はオブジェクトを
表すデータ変数及び構造、ビューイング、表示リスト、
及び画像発生処理の状態の切替えを意味する。
Display List 1-Storage (32) maintains display lists and structures used by both the CCCT (30) and the Graphics Pipeline (CP) (34). These display lists and structures act as key roles in the communication between CCCl and CP. Graphical "objects" are represented by display lists (configured to be in-tabletted by the CP) and control structures used to generate images on the display screen. Creating a graphical object means creating both the display list and the control structure. After creating an object, these display lists and control structures can be modified to change the displayed image. The graphical data structure variable is
Decide on the state. Control of the graphical status of windows and virtual terminals j11 includes data variables and structures representing graphical segments or objects, viewing, display lists,
and means switching the state of image generation processing.

図形パイプライン(CAP)(34)は、図形エンティ
ティの表示リスト記述を低レベルのピクセル記述に走査
変換するために、また、ピクセル配列又はビット・マツ
プの如きピクセル記述の直接操作用に、表示リストの読
出し及びインタブレ・ン]−を容易にする。システムが
表示画像を発生する必要があるとき、制御プロトコルを
用いて、図形パイプライン表示リスト・トラバーサ(t
ravcrser )に画像を表す表示リストを与える
。これにより、表示リスト・トラバーサは、表示リスト
の検討を開始する。表示リストは、図形プリミティブ、
ピクセル配列の基準、モード設定、及び属性設定インス
トラクションの如き図形コマンド、並びに制御インスト
ラクションの流れを含んでいる。変形により、プログラ
ミング言語におけろサブルーチン・コールに類似した方
法で繰り返し用いられる単純なプリミティブ形状を用い
る複雑なオブジェク1〜を構成できる。
A graphics pipeline (CAP) (34) provides a display list for scan converting display list descriptions of graphical entities into low-level pixel descriptions and for direct manipulation of pixel descriptions such as pixel arrays or bitmaps. reading and inter-screening]. When the system needs to generate a display image, it uses a control protocol to generate a graphics pipeline display list traverser (t
ravcrser ) with a display list representing the images. This causes the display list traverser to begin examining the display list. The display list includes shape primitives,
Contains a flow of graphical commands, such as pixel alignment criteria, mode settings, and attribute setting instructions, as well as control instructions. Transformations allow the construction of complex objects 1 to 1 using simple primitive shapes that are used repeatedly in a manner similar to subroutine calls in programming languages.

走査変換は、図形プリミティブ(例えば、線、文字、多
角形等)の記述を、フレーJ、・バ・ソファに蓄積する
1組のピクセルに変換する処理に関連する。この処理に
入力される記述は、非常に高レベルであり、テキストの
位置及び大きさ、線の端点及び色、多角形の縁、その内
側を塗りつぶすのに用いるパターンの如き幾何学的情報
及び属性情報である。
Scan conversion involves the process of converting a description of a graphical primitive (eg, line, character, polygon, etc.) into a set of pixels that are stored in a frame. The descriptions entered into this process are very high-level, including geometric information and attributes such as the position and size of the text, the endpoints and colors of lines, the edges of polygons, and the patterns used to fill their interiors. It is information.

ピクセル/ラスタ動作には、ピクセル・プロ、ンクのフ
レーム・バッファ自体内における移動、フレーム・バッ
ファ及び汎用システム・メモリ間での移動、又は汎用シ
ステム・メモリ内での移動がある。本明細書で述べるア
ーキテクチャには、これら2つのメモリ・アドレス空間
間に区別がある。
Pixel/raster operations include moving pixel processors within the frame buffer itself, between the frame buffer and general system memory, or within general system memory. The architecture described herein makes a distinction between these two memory address spaces.

ピクセルを転送する際、処理のいくつかの限定された形
式が、ピクセル毎に実行される。
When transferring pixels, some limited form of processing is performed on a pixel by pixel basis.

画像蓄積及び表示システム(36)は、ユーザ/操作者
に主要な帰還を行う。この機能は、ユーザに、アプリケ
ーションからの図形出力、及びローカル・ユーザ入力用
の図形帰還を与える。この画像蓄積は、−Cにピクセル
を基本としたメモリ・システムであり、このメモリ・シ
ステムは、画像発生システムにより書込み及び読出しが
でき、通常は、フレーム・バッファである(即ち、表示
された各ピクセルを記述する情報を蓄積する)。
The image storage and display system (36) provides the primary feedback to the user/operator. This feature provides the user with graphical output from the application and graphical feedback for local user input. This image storage is a pixel-based memory system that can be written to and read from by the image generation system, and is typically a frame buffer (i.e., each displayed (accumulates information that describes pixels).

画像を蓄積する他に、このシステムは、データを制御し
、物理的表示器にデータを出力する。はとんどのピクセ
ルを基本とした表示は、リフレッシュしなければならな
いので、このシステムも、物理的表示器への高速出力チ
ャンネルを具えなければならない。この物理的表示器は
、画像蓄積システムの制御により、画像又は映像が形成
される装置である。好適には、これは、完全なカラー画
像が発生できるラスタ走査映像型表示器である。この表
示装置の分解能は、画像発生システムの大きさ及びアド
レス指定能力に釣り合う。
In addition to storing images, this system controls and outputs data to a physical display. Since most pixel-based displays must be refreshed, this system must also include a high speed output channel to the physical display. This physical display is a device on which an image or video is formed under the control of an image storage system. Preferably this is a raster scan video type display capable of producing a full color image. The resolution of this display is commensurate with the size and addressability of the image generation system.

(表示システム・アーキテクチャ) 表示システム(24)の物理的配置を第4図に示す。会
話型装置及びブート装置(38)を除いて、総ての制御
プロセッサ機能は、好適には、CPボード(40)と呼
ばれる1個の大きな多層回路板に実現でき、CPボード
上のマイクロコード  −ッサにてソフトウェアを実行
できる。キーボード(42)、マウス(44)及び図形
入力タブレッ)(46)の如き会話型入力装置は、直列
R3−232ボート又は他の適当なインタフェースを介
してCPボード(40)に接続する。CPボード(40
)は、システム・バス(VME)(48)を介して図形
パイプライン(34)と通信する。
(Display System Architecture) The physical layout of the display system (24) is shown in FIG. All control processor functions, with the exception of the conversation device and the boot device (38), can preferably be implemented on one large multilayer circuit board called the CP board (40), with the microcode on the CP board. The software can be executed on the server. Interactive input devices, such as a keyboard (42), mouse (44), and graphics input tablet (46), connect to the CP board (40) via a serial R3-232 board or other suitable interface. CP board (40
) communicates with the graphics pipeline (34) via a system bus (VME) (48).

このCPボードのブロック図を第5図に示し、後述する
A block diagram of this CP board is shown in FIG. 5 and will be described later.

3次元(3D)シェーディングの最終段を除いた図形パ
イプライン(34)の総ての機能は、画像プロセッサ2
(処理手段)(PP2)(50)と呼ばれる単一の回路
板上に実現できる。3Dシエーデイングの最終段を、オ
プションのZバッファ・ボード(第8図)に実現する。
All functions of the graphics pipeline (34) except the final stage of three-dimensional (3D) shading are performed by the image processor 2.
(Processing means) (PP2) (50) can be realized on a single circuit board. The final stage of 3D shading is implemented on an optional Z-buffer board (Figure 8).

PP2は、■MEシステム・バス(48)を介してCP
及び共用メモリ(52)と通信をすると共に、特別目的
のローカル表示バス(56)を介してフレーム・バッフ
ァ・システム(54)とも通信をする。図形プロセッサ
(パイプライン)(34)の高レベルの機能は、ビット
・スライス・エンジンと呼ぶマイクロコード・エンジン
(第12A図)上で実行されるマイクロコードに実現す
る一方、画像転送及び埋め込まれたベクトル方向制御の
如き低レベルの哉能は、特別目的のハードウェア(第1
2B、第12c及び第12D図)により実現する。
PP2 connects to the CP via the ME system bus (48).
and shared memory (52), as well as a frame buffer system (54) via a special purpose local display bus (56). The high-level functionality of the graphics processor (pipeline) (34) is implemented in microcode running on a microcode engine (Figure 12A) called the Bit Slice Engine, while the image transfer and embedding Low-level functions such as vector direction control are performed using special purpose hardware (first
2B, 12c and 12D).

フレーム・バッファ(54)には、種々の実現法がある
。例えば、カラー表示の場合、単一ボードが8プレーン
(256色)システムでもよいし、2ボードが12プレ
ーン(4096色)システムでもよい。第2フレーム・
バッファ・ボードを付加することにより、12ブレーン
・システムを24ブレーン・システムのようにも構成で
きる。8プレーン・ボードを減らすことにより、単一ボ
ードの4ブレーン(16色)システムを構成できる。
There are various implementations of the frame buffer (54). For example, for a color display, a single board may be an 8-plane (256 colors) system, or two boards may be a 12-plane (4096 colors) system. 2nd frame・
By adding a buffer board, a 12-brane system can also be configured like a 24-brane system. By reducing the 8-plane board, a single-board 4-brane (16-color) system can be constructed.

単一プレーン・ボードは、単色表示に充分である。A single plane board is sufficient for a single color display.

好適な実施例では、60 Hzノン・インクレースで動
作する1280X1024のカラーCRTモニタである
The preferred embodiment is a 1280X1024 color CRT monitor operating at 60 Hz non-incremental.

第5図は、第4図の制御プロセッサ(40)のブロック
図である。この制御プロセッサ(40)は、高レベル図
形及びI10制御ラスタを実行する。これらラスタには
、アプリケーション・エンジン(AE)(22)との通
信処理、このAEからのコマンドの流れの翻訳又はルー
ティング(routing) 、適当な時に図形パイプ
ライン用のコマンドの生成、内部図形り構造の生成及び
管理、ユーザからの入力の管理、及び図形パイプライン
の管理がある。極端には、CPは、AE及びユーザから
見ると、図形表示システム(20)の機能及びシマンテ
ィクス(semantics )を決定する表示システ
ムの一部である。好適な実施例において、制御プロセッ
サ(CP)(40)は、モトローラ社製16 M Hz
 68020型マイクロプロセツサ(CPU)(60)
及び68881型フローテイング・ポイント・コプロセ
ッサ(FPU)(62)を含んでいる。また、CP(4
0)は、68020をシステム・バス(VME)(48
)にインタフェースするシステム・バス・インタフェー
ス回路(64)も含んでいる。よって、CPは、他のプ
ロセッサ又はメモリ・システムとバスを介して通信でき
る。CPメモリ (66)は、ボードRAM上に4メガ
バイトを与える。通信インタフェース(6B)により、
CPは、外部装置と通信ができる。このインタフェース
は、38400ボ一以上のR3−232直列通信(非同
期)(外部クロンクによって、より高速が可能になる)
、2個のR3−232C直列通信ポート及びセントロニ
クス型バー 1〜”コピー・ボート、及びI rEEE
802゜3(イーサネット)ネソ1−ワークをサポート
している。
FIG. 5 is a block diagram of the control processor (40) of FIG. 4. This control processor (40) executes high level graphics and I10 control rasters. These rasters include processing of communication with the application engine (AE) (22), translation or routing of the flow of commands from this AE, generation of commands for the graphics pipeline at appropriate times, and internal geometry structures. generation and management, management of input from users, and management of graphics pipelines. In the extreme, the CP is the part of the display system that determines the functionality and semantics of the graphical display system (20) from the AE and user's perspective. In a preferred embodiment, the control processor (CP) (40) is a Motorola 16 MHz
68020 type microprocessor (CPU) (60)
and a Model 68881 floating point coprocessor (FPU) (62). Also, CP(4
0) connects the 68020 to the system bus (VME) (48
) for interfacing to a system bus interface circuit (64). Thus, the CP can communicate with other processors or memory systems via the bus. CP memory (66) provides 4 megabytes on board RAM. With the communication interface (6B),
The CP can communicate with external devices. This interface supports R3-232 serial communication (asynchronous) with over 38,400 volts (higher speeds are possible with an external clock)
, 2 R3-232C serial communication ports and Centronics type bar 1~” copy boat, and I rEEE
It supports 802°3 (Ethernet) and Neso1-work.

電源投入直後に、マイクロプロセッサは、初期診断試験
を実行して、システムがブート装置から確実にロードで
きるようにする。初期自己試験後、ブート装置を用いて
、DSソフトウェア及びCPマイクロコードをロードず
ろ。ブート装置は、蓄積容量が1メガバイトの5.25
インチ・フロッピ・ディスクでもよい。CPシステムの
電源投入用コード、初期自己試験、及びブート・ロード
は、FROM/ROMに記憶されζおり、このFROM
/ROMは、マイクロプロセッサ・アドレス空間(66
)の特定の「電源投入」部分に存在する。
Immediately after power-up, the microprocessor performs initial diagnostic tests to ensure that the system can load from the boot device. After the initial self-test, use the boot device to load the DS software and CP microcode. The boot device is 5.25 with a storage capacity of 1 MB.
An inch floppy disk may also be used. The power-on code, initial self-test, and boot load of the CP system are stored in FROM/ROM;
/ROM is the microprocessor address space (66
) is present in the specific "power up" part of

制御プロセッサ・サブシステム(40)(ワークステー
ション構成の場合は、アプリケーション・エンジン(A
E)サブシステム(22)も)は、論理的には、共用メ
モリ(52)内の表示リスト及び他のデータ構造(32
)により、また、物理的には、VMEシステ1、・バス
(48)により、図形パイプラインと通信を行う。(第
7図参照)バスによりアクセス可能な任意のメモリ(例
えば、法本的なターミナル構造の場合、CPボード上の
メモリ(66))を、後述する画像プロセッサの如きバ
ス・マスクであるパイプライン段によりアクセスできる
Control processor subsystem (40) (for workstation configurations, application engine (A)
E) Subsystem (22) also logically supports display lists and other data structures (32) in shared memory (52).
) and physically communicates with the graphics pipeline via the VME system 1 bus (48). (See Figure 7) Any memory that can be accessed by the bus (for example, memory (66) on the CP board in the case of a standard terminal structure) can be connected to a pipeline that is a bus mask, such as the image processor described below. Accessible by steps.

この通信は、CPボード(40)及びPP2ボ一ド間で
行う。CP及びPP2は、V M Eバス(48)に対
して、マスク及びスレーブ・インタフェースの両方を具
えている。マスク・インタフェースは、通常システム動
作期間中に用いる主要なインタフェースである。これら
を用いて、表示リストを検査し、データ構造をアクセス
する(これらは、CP又は他のVMEバス・マスタを論
理的に共有しても、しなくてもよい)。PP2の■ME
スレーブ・インタフェースは、初期化期間中、マイクロ
コード・デバッキング期間中、自己試験実行期間中、及
び割り込み要求を受ける期間中に用いる。スレーブ・イ
ンタフェースは、VMEバスを介して、CP/AEにP
P2のあるハードウェア要素が見えるようにする。
This communication is performed between the CP board (40) and the PP2 board. CP and PP2 provide both a mask and slave interface to the VME bus (48). The mask interface is the primary interface used during normal system operation. These are used to examine display lists and access data structures (which may or may not logically share the CP or other VMEbus masters). ■ME of PP2
The slave interface is used during initialization, microcode debugging, self-test execution, and receiving interrupt requests. The slave interface connects P to the CP/AE via the VME bus.
Make certain hardware elements of P2 visible.

図形パイプライン・サブシステム用にCPが組み立てた
最も重要なデータ構造は、表示リスト(32)(第3図
)であり、この表示リストは、図形コマンド及び関連し
たデータを含むインストラクションのバイト構成のdさ
れを15.える。フレーム・バッファ・サブシステ1、
において、ボード上で実行される動作などの総ての図形
操作は、表示リストにより、制御される(少なくとも監
視される)。
The most important data structure constructed by CP for the graphics pipeline subsystem is the display list (32) (Figure 3), which contains a byte organization of instructions containing graphics commands and associated data. 15. I can do it. frame buffer subsystem 1,
All graphical operations, such as actions performed on the board, are controlled (or at least monitored) by the display list.

(図形パイプライン・サブシステム) 図形パイプライン(34)(第3図)の機能のトップ・
レベルのブレークダウンを、データ流れ図の形式で第6
図に示す。この図において、円は処理を表し、水平線は
データ構造を表す。矢印はデータの流れを表し、箱はI
10装置(データ・ソース/シンク)を表す。以下、こ
のデータ流れ図に示したエンティティを簡単に説明する
。図形パイプラインを3つの主な処理サブシステム、即
ち、空間処理及び制御(MSPC)サブシステムのモデ
ル化(MSPC)(80)、変換サブシステム(82)
、及びスクリーン空間及びピクセル処理(SSPP)サ
ブシステム(84)に分割する。共通メモリ内の多くの
データ構造を、種々のナプシステムにより、アクセス(
いくらかは変更)する。3つの総てのサブシステムは、
固定小数点及び浮動小数点演算を実行できる。
(Graphic Pipeline Subsystem) Top functions of the graphic pipeline (34) (Figure 3)
A breakdown of the levels in the form of a data flow diagram in the sixth section.
As shown in the figure. In this diagram, circles represent processes and horizontal lines represent data structures. The arrow represents the flow of data, and the box represents I.
10 devices (data sources/sinks). The entities shown in this data flow diagram will be briefly explained below. The geometry pipeline is divided into three main processing subsystems: the modeling of spatial processing and control (MSPC) subsystem (MSPC) (80), and the transformation subsystem (82).
, and a screen space and pixel processing (SSPP) subsystem (84). Many data structures in common memory can be accessed (
some changes). All three subsystems are
Can perform fixed-point and floating-point operations.

図形パイプラインの状況内において、用語「空間のモデ
ル化」を用いて、表示リストにて定義される幾何学座標
空間を記述する。MSPCサブシステム(80)は、制
御プロセッサ(及び/又はアプリケーション・エンジン
(AE))、図形パイプライン及びフレーム・バッファ
・システム間の総てのインタフェースを監視すると共に
、図形パイプライン内の多くの状況/ラスタの管理及び
調整に対して応答可能である。このMST)Cサブシス
テム(80)は、「前置変換」 (空間モデル化)表示
リスト座標データにて、必要ならば、かかる演算を実行
する。
Within the context of a graphics pipeline, the term "space modeling" is used to describe the geometric coordinate space defined in the display list. The MSPC subsystem (80) monitors all interfaces between the control processor (and/or application engine (AE)), the graphics pipeline, and the frame buffer system, as well as many situations within the graphics pipeline. / Responsible for raster management and adjustment. The MST)C subsystem (80) performs "pre-transformation" (spatial modeling) operations on the display list coordinate data, if necessary.

変換サブシステム(82)は、スゲール、点(座標変換
)、ベクトル(ドツト及び交差績、長さの正規化)、及
びマトリクス(マトリクス乗算、決定評価、線形システ
ムの解決)における集中的操作を数値的に扱う。
The transformation subsystem (82) performs intensive operations on scales, points (coordinate transformations), vectors (dots and intersections, length normalization), and matrices (matrix multiplication, decision evaluation, solving linear systems) numerically. Treat it as such.

スクリーン空間及びピクセル処理ナブシステム(84)
は、図形プリミティブ(線、テキスト、パネル及び面)
の走査変換、及びピクセル・データの直接操作(ビット
・ブリット、ベクトル・ブリット)を容易にし、後述の
如く、これは、フレーム・バッファの矩形領域及び直線
又は曲線に対するクリッピング/レザリング(scis
soriB)を含んでいる。
Screen space and pixel processing nub system (84)
Shape primitives (lines, text, panels and areas)
, and direct manipulation of pixel data (bit blit, vector blit), which facilitates scan conversion of frame buffers and direct manipulation of pixel data (bit blit, vector blit), and clipping/leathering (scis
soriB).

図形パイプラインは、インストラクション・セット・プ
ロセッサとして動作し、システム・メモリ内に存在する
表示プログラムを実行する。このシステム・メモリは、
アプリケーション・エンジン、制御プロセッサ、及び図
形パイプライン・サブシステムにより共用されている。
The graphics pipeline operates as an instruction set processor and executes display programs residing in system memory. This system memory is
Shared by the application engine, control processor, and graphics pipeline subsystem.

このプログラムを表示リスト(86)と呼ぶ。この表示
リストは、アプリケーション・エンジン及び/又は制御
プロセンサにより生成できる。図形インストラクション
・セットは、図形プリミティブを描画すると共に、それ
らの属性を制御するオペコードと呼ぶ命令を含んでいる
。通常の図形オペコードの他に、図形パイプライン・ア
ーキテクチャは、単純な「汎用」インストラクション・
セットを付加できるようにする。これは、自発的なアル
ゴリズミック表示リストの生成を(実時間力学、プログ
ラムしたアニメーション及びCPのないシステムを援護
して)容易にできる。別に定義したオペコードをパイプ
ライン命令セットに付加して、カストマイズした操作用
のマイクロコードにアクセスできる。表示リストの他に
、共用メモリには、制御ブロック(88)がある。これ
らは、パイプライン制御ブロック、表示ラスタ制御ブロ
ック、及び関連したデータ(例えば、スタック)を含ん
でいる。これらの構造は、種々の表示リスト用の「環境
状態」情報を維持している。各「独立した」表示リスト
は、それ自体のラスタ制御ブロック及びスタックを具え
ている。
This program is called a display list (86). This display list can be generated by the application engine and/or the controlling processor. The graphics instruction set includes instructions called opcodes that draw graphic primitives and control their attributes. In addition to regular graphical opcodes, the graphical pipeline architecture also supports simple "generic" instruction
Allow sets to be added. This can facilitate the generation of spontaneous algorithmic display lists (with the aid of real-time dynamics, programmed animation, and CP-free systems). Separately defined opcodes can be added to the pipeline instruction set to access microcode for customized operations. In addition to the display list, there is a control block (88) in the shared memory. These include pipeline control blocks, display raster control blocks, and associated data (eg, stack). These structures maintain "environmental state" information for the various display lists. Each "independent" display list has its own raster control block and stack.

MSPCサブシステム(80)は、表示リストのパイプ
ライン側、及び制御ブロック・アクセス・プロトコルを
扱う。これは、表示リスト・パーサ及びディスパッチン
グ・メカニズムを具えている。これは、表示リスト・フ
ォーマットからのデータを内部パイプライン・フォーマ
ントに変換する。これは、各表示リストに関連したスタ
ックを管理する。MSPCサブシステムが、汎用パイプ
ライン・オペコードを実行する。MSPCは、「ホット
・ナイド・データ」、パイプ・データ、ピクセル・プリ
ミティブ、及び/又は制御情報又は他のパイプライン・
サブシステムを送り、種々のサブシステムからの状態及
び/又は結果を受ける。MSPCモジュールは、図形バ
イプラ・イン用のデータ流れネットワーク内の中央制f
ffll及び通信ノードを含んでいる。表示リスト検査
及び池の外部プロトコル用のサポートは、論理的にこの
モジュール内に含まれる。その機能が主に制御指向Cモ
ード設定動作、制御動作の変更等)である表示リスト・
オペコードは、MSPCザブシステム内で実行される。
The MSPC subsystem (80) handles the pipeline side of the display list and control block access protocols. It includes a display list parser and dispatching mechanism. It converts data from display list format to internal pipeline form. It manages the stacks associated with each display list. The MSPC subsystem executes generic pipeline opcodes. The MSPC may contain "hot side data," pipe data, pixel primitives, and/or control information or other pipeline data.
Subsystems and receive status and/or results from various subsystems. The MSPC module is the central control f in the data flow network for the graphical biplin.
ffll and communication nodes. Support for display list checking and pond external protocols are logically contained within this module. Display list whose function is mainly control-oriented C mode setting operation, change of control operation, etc.)
The opcode is executed within the MSPC subsystem.

ホット・サイド機構にCPをアクセスさせるコードも、
MSPCサブシステム内に論理的ζこ存在する。用語「
ホット・サイドjは、フレーム・バッファの映像出力側
であり、このハードウェアは、ラスタ走査において、フ
レーム・バッファを助け、CRT(58)用の映像及び
タイミング信号を発生する。他の総ての映像信号源も、
このカテゴリに含まれ、それらの出力をCRTへの経路
上にてデジタル映像の流れに混合する。それに対して、
フレーム・バッファの「コールド・サイド」は、ランダ
ム・アクセス・ボートであり、これにより、走査変換及
びラスタ動作を行う。ホット・サイド機構への総てのア
クセスは、パイプラインを介して生じ、表示リスト・オ
ペコードによりホット・サイド・データをアクセスする
。「ピクセル・プリミティブ」は、図形プリミティブ(
直線、テキスト、マーカー、パネル等)であり、それら
の幾何学的座標はフレーム・バッファ・ピクセル座標内
に直接表す。このようなものなので、変換する必要がな
い。ピクセル空間プリミティブは、総ての変換処理をバ
イパスすることにより、表示リストからの最高に達成可
能なパイプライン・スルーブツトをフレーム・バッファ
に与える。変換処理をディスエーブルする表示リスト・
インストラクションにより、ピクセル空間プリミティブ
をマイクロコード/ラフ1−ウェア内に設ける。
The code that allows CP to access the hot side mechanism is also
A logical ζ exists within the MSPC subsystem. term"
Hot side j is the video output side of the frame buffer; this hardware assists the frame buffer in raster scanning and generates video and timing signals for the CRT (58). All other video signal sources also
Included in this category are those that mix their output into a digital video stream on the path to the CRT. On the other hand,
The "cold side" of the frame buffer is a random access port, which performs scan conversion and raster operations. All access to the hot side facility occurs through the pipeline and accesses hot side data through display list opcodes. "Pixel primitives" are geometric primitives (
lines, text, markers, panels, etc.) whose geometric coordinates are directly represented in frame buffer pixel coordinates. Since it is like this, there is no need to convert it. Pixel space primitives provide the frame buffer with the highest achievable pipeline throughput from the display list by bypassing all conversion processing. Display list to disable conversion processing
The instructions provide pixel space primitives in microcode/rough 1-ware.

変換サブシステム(82)の主な目的は、表示リスト座
標データにおける変換をモデル化し、観察することであ
る。これはまた、座標データにおけるマトリクス乗算も
実行する。さらにこれは、(複雑な変換マトリクスを生
成するための)マトリクス乗算、及び透視分割も実行す
る。他の高度な算術動作は、変換サブシステム内で実行
される。
The primary purpose of the transformation subsystem (82) is to model and observe transformations in display list coordinate data. It also performs matrix multiplication on the coordinate data. It also performs matrix multiplications (to generate complex transformation matrices) and perspective partitioning. Other advanced arithmetic operations are performed within the conversion subsystem.

主として、「パイプ・データ」は、MSPCサブシステ
ムから変換サブシステムを介してS S l) Pサブ
システムに流れる(空間内、スクリーン空間外をモデル
化する)図形プリミティブ座標のながれである。
Primarily, "pipe data" is a stream of geometric primitive coordinates (modeling in-space, out-of-screen space) that flows from the MSPC subsystem through the transformation subsystem to the S S P subsystem.

5SPPザブシステム(84)は、ビューボート/ビュ
ーボンラス・クリッピング、図形プリミティブの走査変
換、及びピクセル配列におけるラスタ動作に対して応答
可能である。5SPPは、ピクセル空間(及びZバッフ
ァ)座標内に特定された図形エンティティの記述を行い
、ピクセルの適当なセットを発生(又は検索)し、フレ
ーム・バッファ又はメイン・メモリに/から移動する。
The 5SPP subsystem (84) is capable of responding to viewboard/viewboard raster clipping, scan conversion of graphics primitives, and raster operations on pixel arrays. 5SPP provides a description of a specified graphical entity in pixel space (and Z buffer) coordinates and generates (or retrieves) the appropriate set of pixels and moves them to/from the frame buffer or main memory.

5SPPサブシステムが実行するこのアルゴリズムは、
マイクロコード及びハードウェアの組合わせにより実現
する。
This algorithm executed by the 5SPP subsystem is
This is realized by a combination of microcode and hardware.

アーキテクヂャ的には、システム・メモリ(52)内の
ピクセル配列(92)は、ビ・ノドプリント及びヘクト
ル・ブリット動作のソース及び/又はディストネーショ
ンとすることができる。5SPPサブシステムによる図
形プリミティブの走査変換は、これらメイン・メモリ・
ピクセル配列及びフレーム・バッファ内のピクセルを変
更できる。
Architecturally, the pixel array (92) in the system memory (52) may be the source and/or destination of the bi-nodprint and hector-blit operations. Scan conversion of graphics primitives by the 5SPP subsystem is performed using these main memory
You can change the pixel array and pixels in the frame buffer.

走査変換が(任意の領域を)枠にはめ込むと、5SPP
サブシステムは、「サイデイング・リスト」、「走査ラ
イン・リストJ及び[フィル・パターン・データ構造」
を含む走査変換データ構造を用いる。ビット・マツプに
よる文字フォント及びマーカ・フォノ1−は、他のピク
セル配列と向様なフォーマットで蓄積されている。各文
字/マーカ定義は、全体的なフォント・ピクセル配列の
ほぼ矩形を占める。直線用のダッシュ・パターン並びに
ビット・ブリット及びバク1−ル・プリント用の中間調
パターンは、それ自体の特別なデータ・フォーマットを
具えている。
When scan conversion fits (arbitrary area) into a frame, 5SPP
The subsystems are "Siding List", "Scanline List J" and "Fill Pattern Data Structure".
using a scan-converted data structure containing Bit map character fonts and marker phono 1- are stored in a format similar to other pixel arrangements. Each character/marker definition occupies approximately a rectangle of the overall font pixel array. Dash patterns for straight lines and halftone patterns for bit bullets and background prints have their own special data formats.

最後に、フレーム・バッファ・サブシステム(54)へ
の/からのいくつかのデータのン、I!Lれがある。制
御レジスタ・データ(96)は、1つである。多くの制
御レジスタが、フレーム・バッファ・サブシステム内に
存在する。これらのいくつかは、映像マルチプレクサ経
路制御レジスタ及びフレーム・バッファ可視マスクの如
き「ホット・サイド」上にある。他のものは、ピクセル
組合わせルール・レジスタ、読出し/書込みマスイア、
及びローカル表示バス・アドレス・マ・ノピング・しジ
スタの如き「コールド・サイド」上にある。
Finally, some data to/from the frame buffer subsystem (54), I! There is a lag. There is one control register data (96). A number of control registers exist within the frame buffer subsystem. Some of these are on the "hot side" such as the video multiplexer routing registers and the frame buffer visibility mask. The others are: pixel combination rules register, read/write massier,
and on the "cold side" such as the local display bus address manager register.

パイプライン・サブシステム及びフレーム・バッファ・
ナブシステム間を流れる主なデータの流れは、ピクセル
・データ(98)の流れである。
Pipeline subsystem and frame buffer
The primary data flow between nub systems is that of pixel data (98).

変換の基本的なモードは、フレーム・バッファのアドレ
ス空間におけるプレゼンハム(Bresenham)ア
ルゴリズムの経路に沿って、フレーム・バッファの記憶
位置に順次書き込まれた(ピクセル(98))又は読み
出された(ピクセル(100))データの線形ブロック
のようなものである。埋め込まれた方向制御を用いると
、アドレス・サイクルの必要側が、各ブロックの初めの
みにおいて生じるが、このデータ・サイクルは、各ピク
セルにて生じる。
The basic mode of conversion is to sequentially write (pixel (98)) or read ( It is like a linear block of (100) pixel data. With embedded direction control, the necessary side of the address cycle occurs only at the beginning of each block, but the data cycle occurs at each pixel.

全体的なビット・プラン・インデックス・チー・   
   プル用のデータと共に、赤、録及び青映像ルック
アップ・テーブル用のカラー・マツプ・データ(102
)を、図形パイプラインにより、これらテーブルに転送
する。パイプラインを介して、戻り経路を読み出すこと
により、出力カラー・データ(104)がシステl、診
断試験に利用できる。
Overall bit plan index chi
Color map data (102
) to these tables via the graphics pipeline. By reading the return path through the pipeline, the output color data (104) is available to the system for diagnostic testing.

「ハク」データ(104)は、ローカル表示バス活動レ
ジスタに蓄積されたデータである。これを用いると、V
MEバス・マスクは、初めにフレーム・バッファに向か
うパイプライン出力データを捕らえることかでき、シス
テム・メモリ内の「仮想」フレーム・バッファの更新、
又は診断試験の如き他の目的に利用できる。バグは、フ
レーム・バッファ・サブシステム内の制j11レジスタ
に書き込むことにより、起動/非起動される。これが起
動されると、フレーム・バッファ・メモリ用に定めた各
LDB書込みサイクルが阻止され、バグに蓄積される。
"Haku" data (104) is data stored in the local display bus activity register. Using this, V
The ME bus mask can capture pipeline output data initially going to the frame buffer, update the "virtual" frame buffer in system memory,
or can be used for other purposes such as diagnostic testing. The bug is activated/deactivated by writing to the control j11 register in the frame buffer subsystem. When activated, each LDB write cycle defined for the frame buffer memory is blocked and accumulated in the bug.

また、V M Eバス・マスクがこのサイクルをロード
しな(なるまで、パイプラインがオフに維持される。
Also, the pipeline is kept off until the VMEbus mask is not loaded this cycle.

第7図は、図形パイプラインの構成の2つの例の簡略化
したブロック図である。この第7図に示す2つのブロッ
ク図において、パイプライン・データは、ボードの位置
に応じて、左から右に流れる。制御プロセッサ・サブシ
ステム(40)は、論理的に、(PP2 (50)及び
LDB (56)を含む)図形パイプライン(34)の
左であり、フレーム・バッファ・サブシステム(54)
は、論理的に右である。好適な実施例では、画像プロセ
ッサ(PP2)ボード及びそのマイクロコードを含んで
おり、オプションとして、Zバッファ(ZB)ボードを
含むこともできる。ZBボードを用いる際、このZBボ
ードは、LDBを2つの部分(56A)及び(56B)
に分割する。
FIG. 7 is a simplified block diagram of two examples of graphics pipeline configurations. In the two block diagrams shown in FIG. 7, pipeline data flows from left to right depending on board position. The control processor subsystem (40) is logically to the left of the graphics pipeline (34) (including PP2 (50) and LDB (56)) and the frame buffer subsystem (54).
is logically correct. The preferred embodiment includes a picture processor (PP2) board and its microcode, and optionally a Z-buffer (ZB) board. When using a ZB board, this ZB board divides the LDB into two parts (56A) and (56B).
Divide into.

第8図は、ZBボードの高レベルのブロック図である。FIG. 8 is a high level block diagram of the ZB board.

この図の中央部分に実現されたZバッファ・アルゴリズ
ム(110)は、簡単であり、マスク表示上の3D幾何
学而の画像の描写において用いる隠面消去用の既知の技
術なので、詳細説明を省略する。好適な実施例において
、Zバッファ(110)は、各ピクセル位置の奥行情報
を蓄積するために、1280x1024x16ビツトの
Zバッファ・メモリ(112)を有する。ZBボードに
は、3角形の回当てを行うための特別なハードウェアも
含まれている。このハードウェアは、プログラムされた
ロジック制θUユニット、及びブレーン等式発生器(P
GE)チップと呼ばれるデータ経路ゲート配列(114
)から構成される。このハードウェアの機能は、(1)
各3角形の各ピクセルにおける奥行及び輝度を計算し、
(2)(3角形の見える部分の)ピクセルの輝度値をフ
レーム・バッファに渡し、(3)(常に、各ピクセル位
置が、見る位置に最も近い3角形からのZ値を含むよう
に)更新されたZバッファ・メモリを維持することであ
る。また、ZBボードは、Zバッファ機能の周囲でデー
タをバイパスするために、バススルー経路(116)も
具えている。
The Z-buffer algorithm (110) implemented in the central part of this figure is simple and is a known technique for hidden surface removal used in the depiction of 3D geometric images on mask displays, so a detailed explanation will be omitted. do. In the preferred embodiment, the Z-buffer (110) has a 1280x1024x16 bit Z-buffer memory (112) for storing depth information for each pixel location. The ZB board also includes special hardware to perform triangle allocation. This hardware consists of a programmed logic controlled θU unit and a brane equation generator (P
GE) data path gate array (114
). The functions of this hardware are (1)
Calculate the depth and brightness at each pixel of each triangle,
(2) pass the luminance value of the pixel (in the visible part of the triangle) to the frame buffer; (3) update (so that each pixel position always contains the Z value from the triangle closest to the viewing position) The main purpose is to maintain a Z-buffer memory. The ZB board also includes a bus through path (116) to bypass data around the Z buffer function.

PP2の「右側」、即ち「下流」におけるPP2及び7
8977間のハードウェア・インタフェースは、クロッ
クされ、双方向の32ビツトでマルチプンクスされたア
ドレス及びデータ・バスであり、このバスは、ローカル
表示バス(LDB)である。このバスには、入力側(I
LDB)(56A)及び出力側(56B)がある。した
がって、ZBボードには、入力(左、上流)側のI L
 D B(56A)に対するスレーブ・インタフェース
と、出力(右、下流)側のり、DI3(56B)に対す
るマスク・インタフェース(118)がある。データは
、2デイープ・バス・ユニット(120)を介して入力
し、16デイープ・データFIFO(122)を介して
LDBバス・ドライバ(124)に出力する。このバス
・ドライバ(124)は、データをフレーム・バッファ
・サブシステム(54)に転送する。ZBボードには、
ZB (110)をバイパスする戻りデータ経路(12
)もある。戻りデータは、LDB (56B)から2デ
イープFIFO(126)に入り、I LDBドライバ
(12B)によりPP2に出力する。このFIFO及び
その動作は、第17図を参照して更に後述する。
PP2 and 7 on the “right side” or “downstream” of PP2
The hardware interface between the 8977s is a clocked, bidirectional, 32-bit multiplexed address and data bus, which is the Local Display Bus (LDB). This bus has an input side (I
LDB) (56A) and output side (56B). Therefore, the ZB board has I L on the input (left, upstream) side.
There is a slave interface for D B (56A), an output (right, downstream) side, and a mask interface (118) for DI3 (56B). Data enters via a 2-deep bus unit (120) and outputs via a 16-deep data FIFO (122) to the LDB bus driver (124). This bus driver (124) transfers data to the frame buffer subsystem (54). The ZB board has
Return data path (12) bypassing ZB (110)
) is also available. Return data enters the 2-deep FIFO (126) from the LDB (56B) and is output to PP2 by the ILDB driver (12B). This FIFO and its operation will be further described below with reference to FIG.

以下の説明では、図形パイプライン及びフレーム・バッ
ファ間のインタフェース(ローカル表示バス)、画像プ
ロセッサ(PP2)、及びフレーム・バッファ制1ll
(FBC)について述べる。
In the following description, we will discuss the interface between the graphics pipeline and frame buffer (local display bus), the image processor (PP2), and the frame buffer system 1ll.
(FBC).

(ローカル表示バス(LDB)) i述の如く、図形パイプラインは、ローカル表示ハス(
L D B )によりフレーム・バッファに対してイン
タフェースされる。以下、第9図、第10八〜第10F
図を参照して、L D Bの構造及び機能について簡単
に説明する。
(Local Display Bus (LDB)) As mentioned in i, the graphics pipeline uses the local display bus (LDB).
L D B ) to the frame buffer. Below, Figure 9, 108th to 10th F
The structure and function of LDB will be briefly explained with reference to the drawings.

L D Bは、PP2をZBボードに接続ずろと共に、
ZBをFBフレーム・バッファ(54)に接続する(又
は、ZB(110)を用いなりれば、PP2をFBに直
接接続する)。(第15図により詳細に示す)バスは、
好適には、74ナノ秒の共通りロックにより同期された
32ピントのマルチプレックスされたアドレス/データ
・バスである。各アドレス又はデータ・サイクルは、1
クロツク・サイクルに存在する。多くのデータ・サイク
ルが各アドレス・サイクルに対して可能になり、アドレ
ス増分(スレーブに前に通信された増分値)を暗示する
。各ボードは、データ(又はアドレス)を受けるために
、2以上の奥行のFIFOを有する。ZBは、両側から
のデータを受けることが出来るの一色上述の如く、2個
の左から右へのFIFO(120)、(122)及び戻
り、即ち読出しFIFO(126)を存する。フレーム
・バッファ・ナブシステム(54)は、FB人力FIF
O(130)及びFI3読出しFxFo(132)を有
し、フレーム・バッファ・メモリ(130)内のピクセ
ル・データを書込み又は読出しする。
LD B is connected to PP2 and ZB board.
Connect ZB to the FB frame buffer (54) (or if using ZB (110), connect PP2 directly to the FB). The bus (shown in more detail in Figure 15) is
Preferably, it is a 32 pin multiplexed address/data bus synchronized with a 74 nanosecond common lock. Each address or data cycle is one
Exists in the clock cycle. Many data cycles are allowed for each address cycle, implying an address increment (the increment value previously communicated to the slave). Each board has a FIFO of two or more depths for receiving data (or addresses). The ZB has two left-to-right FIFOs (120), (122) and a return or read FIFO (126), as described above, which can accept data from both sides. Frame buffer nub system (54) is FB manual FIF
O (130) and FI3 read FxFo (132) to write or read pixel data in the frame buffer memory (130).

以下、?i’+−にrTAGチップJ  (13B)と
呼ぶベクトル・アドレス発生器又はタイリング・アドレ
ス発生器により、PP2ボード(50)の通信インタフ
ェースを設ける。(好適には、タイリング機能を設けて
、ZBボードを利用できるようにするが、本発明には直
接関係がない。これに関しては、1985年4月5日に
出願された米国特許出願第720659号明細書(特開
昭61−276074号公報に対応)に詳細に開示され
ている。)TAGチップ(138)は、出力FIFO(
140)及び入力FIFO(142)を含んでおり、こ
れらは、1個のFIFOに容易に組み合わせて、マルチ
プレクスされるアドレス/データ・バス上の交互l10
FIFOとして利用できる。
below,? i'+- is provided with a communication interface for the PP2 board (50) by a vector address generator or tiling address generator called rTAG chip J (13B). (Preferably, a tiling feature is provided to allow use of ZB boards, but is not directly relevant to the present invention. The TAG chip (138) has an output FIFO (
140) and input FIFOs (142), which can be easily combined into a single FIFO to provide alternate l10 data on multiplexed address/data buses.
Can be used as FIFO.

入力レディ及び出力レディ信号により、ハンドシェーキ
ングを行う。ボードの送り側は、FIFOを必要としな
いが、出力レディ信号を発生し、入力レディ信号を受け
なければならない。ZBのないシステムにおいて、PP
2がマスクであり、FBがスレーブである。FBからの
ピクセル・データを読出ず際、FIFO(130)、(
132)、(140)及び(142)がパイプラインを
制御する。ZBがあるが、アクティブでない時、LDr
3は、各方向に3パイプ段の遅延により伝達を行う(バ
ースト・レートには影響なく、待ち時間のみである)。
Handshaking is performed using the input ready and output ready signals. The sending side of the board does not require a FIFO, but must generate an output ready signal and receive an input ready signal. In systems without ZB, PP
2 is a mask, and FB is a slave. When not reading pixel data from FB, FIFO (130), (
132), (140) and (142) control the pipeline. When ZB is present but not active, LDr
3 transmits with a delay of 3 pipe stages in each direction (burst rate is not affected, only latency).

ZBもスレーブとし2て聴く。I also listen to ZB as a slave.

(タイリングが開始しようとする時に、ZB制御レジス
タに書き込むことにより)アクティブであることが告げ
られると、ZI3は、LDBを2つのバス(56A)及
び(56B)に分割し、PP2に対してはスレーブとし
て、またFBに対してはマスクとして働(。タイリング
期間中、PS2は、各水平ライン・セグメント用の開始
アドレス及びブレーン等式増分をZBに送り、ZBは、
ピクセル・データ書込み及びアドレス更新をFBに送る
When signaled active (by writing to the ZB control register when tiling is about to start), ZI3 splits the LDB into two buses (56A) and (56B) and acts as a slave and as a mask for the FB (during the tiling period, PS2 sends the starting address and brane equation increment for each horizontal line segment to ZB;
Send pixel data write and address update to FB.

第15 図(フレーム・バッファ制御回路の7’。FIG. 15 (7' of frame buffer control circuit.

ツク図)において、LDB (56)は、32本のアド
レス/データ・ライン(150)及び7本の制御ライン
から構成されており、リセット及びクロック信号ライン
(図示せず)を含んでいない。
In the diagram), the LDB (56) consists of 32 address/data lines (150) and 7 control lines, and does not include reset and clock signal lines (not shown).

アドレス/データ・ラインは、トライステートであるが
、制御ラインではない。F B S E Lと呼ぶ制’
<’Ill ライフ(152)は、FB及びZB上の2
つのアドレス増分値の間で選択を行う。PP2 (又は
ZB)が送った読出し、書込み及びアドレス制御■信号
を2本のライン(154)及び(156)にエンコード
する。これら2木のラインの論理和(オア)により、P
P2からの出力レディ信号(155)を得る。FBは、
オーブン・コレクタ・ワイヤ・アンド・ラインを介し7
て、入力レディ(IR)信号(158)をPP2に戻す
。IRは、「非保持」信号を上流のFIFOに与えるこ
とにより、入力FIFO(130)がアドレス、書込み
データ又は続出しコマンドを受は入れる(p、備ができ
たことを示ず。3ソa出しデータは、別の方向(F I
i3からPP2)で伝わり、2つの異なるハンドシェー
ク信号、即ち、読出し出力レディ(ROR)(162)
及び読出し入力レディ(RIR)(164)を用いる。
The address/data lines are tri-stated, but are not control lines. A system called F B S E L
<'Ill life (152) is 2 on FB and ZB
Select between two address increment values. The read, write and address control signals sent by PP2 (or ZB) are encoded into two lines (154) and (156). By the logical sum (OR) of these two tree lines, P
Obtain an output ready signal (155) from P2. FB is
7 via oven collector wire and line
and returns the input ready (IR) signal (158) to PP2. The IR determines whether the input FIFO (130) accepts an address, write data, or subsequent command by applying a "not held" signal to the upstream FIFO (p, indicating readiness). The output data is sent in a different direction (FI
i3 to PP2) and two different handshake signals, namely Read Output Ready (ROR) (162).
and read input ready (RIR) (164).

読出しデータが出力FIFO(1,32)にて利用可能
なとき、FBがROR(162)をP l) 2に送る
。これは、オープン・コレクタ・ワイヤ・アンド・ライ
ンである。FBは、利用可能なデータを読み出したとき
ばかりでなく、解除したときにも、このラインをセット
する(「高」に」1昇させることができる)。PP2が
RIR(164)をFBに送り、読出しデータを受は取
る準備ができたことを示す。2つの読出しハンドシェー
ク信号の他に、読出し出力イネーブル(ROE)(16
0)と呼ぶ第3ラインがある。このラインは、1クロツ
タ遅延゛乙スレーブの出力バッファ・イネーブルを明ら
かに制御する(即ち、スレーブは、このハス・ラインを
登録して、このラインを出力バッファ・イネーブルに接
続しなければならない)。
When read data is available in output FIFO(1,32), FB sends ROR(162) to Pl)2. This is an open collector wire and line. The FB sets this line (it can be raised ``high'') not only when reading available data, but also when it is released. PP2 sends RIR (164) to FB indicating that it is ready to receive read data. In addition to the two read handshake signals, a read output enable (ROE) (16
There is a third line called 0). This line explicitly controls the slave's output buffer enable with one clock delay (ie, the slave must register this line and connect this line to the output buffer enable).

これら信号の利用をより明瞭にするためのいくつかのタ
イミング例を、次に説明する。これらタイミング図(第
10A〜第10F図)は、どのクロックサイクルにどの
信号がアサート(出力)す′−るかを示すものであり、
クロック・サイクル内の遅延時間を示すものではない。
Some timing examples will now be described to make the use of these signals more clear. These timing diagrams (Figures 10A to 10F) show which signals are asserted (output) in which clock cycles.
It does not indicate the delay time within a clock cycle.

垂直線は、立ち上がり(アクティブ)のクロック縁を示
す。1対の垂直線間の空間は、1クロツク・サイクル(
74ナノ秒)を表す。信号名は、図の左側に示すが、対
応する物理的バス・ラインの極性は表さない。
Vertical lines indicate rising (active) clock edges. The space between a pair of vertical lines is one clock cycle (
74 nanoseconds). Signal names are shown on the left side of the diagram, but do not represent the polarity of the corresponding physical bus line.

各クロック・サイクルに引いた水平線は、信号がアサー
トされていることを示す。残った空間には、信号がアサ
ートされていない。アドレス/データ・バスでは、水平
線セグメントの部分に3文字のコードを用いて、そのバ
スの情報が何かを表す。
A horizontal line drawn on each clock cycle indicates that the signal is asserted. No signal is asserted in the remaining space. Address/data buses use three-letter codes in horizontal line segments to indicate what information is on the bus.

’ a a i3 Jでアドレスを表し、rrdl」で
読出しデータの第1ワードを表し、rwd I Jで書
込みデータの第1ワードを表し、以下同様である。
'a a i3 J represents the address, rrdl' represents the first word of read data, rwd I J represents the first word of write data, and so on.

ブランクは、アドレス/データ・バスの高インピーダン
ス状態を表すゆXは、「ドント・ケア」状態(レシーバ
は、無視しなければならず、ドライバは、ガーベージを
送るのが自由である)を友す。
Blank represents a high impedance state on the address/data bus; .

第10A図は、9回書込みの単純なバーストを示す。こ
の例は、垂直ベクトルを画素表示する典型である。マス
ク(PP2)は、アドレス・サイクルを実行した後、9
回の書込みデータ・サイクルを実行する。FBから入力
レディ(IR)が送られないときは常に、PP2が次の
クロック期間中、同じ書込みデータをバス上に維持する
。この例において、FBは最初の5ワードをそのFIF
Oに取り込んで、メモリ・サイクル中待たなければなら
ない。垂直ベクトルの2ピクセルを各メモリ・サイクル
にて占き込めるので、各メモリ・サイクル後、更に2ワ
ードを取り込む。
Figure 10A shows a simple burst of 9 writes. This example is typical of pixel representation of vertical vectors. After performing the address cycle, the mask (PP2)
Perform 1 write data cycle. Whenever input ready (IR) is not sent from FB, PP2 keeps the same write data on the bus for the next clock period. In this example, the FB sends the first 5 words to its FIF
must be fetched into O and wait for a memory cycle. Since two pixels of the vertical vector can be populated in each memory cycle, two additional words are captured after each memory cycle.

次に、第10B図は、6回読出しのバーストを示す。F
BからのIRラインを用いて、仮とえデータが渡されて
なくても、読出しコマンドを受は入れる準備ができたこ
とを表す。この例では、FBは、5つの続出しコマンド
をバッファし、6番目の余裕ができるまで、IRをなく
す。これは、(垂直二タコ出しに対して生じたように)
2つのバーストにおいて、読出しからのデータを戻す。
Next, Figure 10B shows a burst of six reads. F
The IR line from B is used to indicate that it is ready to accept a read command, even if no data has been passed. In this example, the FB buffers 5 subsequent commands and eliminates IRs until there is room for a 6th. This (as happened for the vertical double tacho)
Returns data from the read in two bursts.

PP2は、常にデータを受は入れる準備ができているの
で、その読出し入力レディ・ライン(RIR)を除去し
ない。ROR及びRIRの初めにおけるXXXは、「ビ
ット・ケア」であり、これは、前の状態が判らないため
である。非常に高速なスレーブによっても、第3サイク
ル前に、第1読出しデータ・ワードを多分戻せない。よ
って、その点まで(即ち、第1読出しリクエストが送ら
れる期間のサイクルにわたって)、関連したハンドシェ
ーク・ライン(ROR及びRIR)を未定義にできる。
PP2 does not remove its read input ready line (RIR) because it is always ready to accept data. The XXX at the beginning of ROR and RIR is a "bit care" because the previous state is unknown. Even with very fast slaves, the first read data word may not be returned before the third cycle. Thus, up to that point (ie, for the cycle during which the first read request is sent), the associated handshake lines (ROR and RIR) can be undefined.

これにより、スレーブ(FB)は、これらが選択された
か否かを決定する。バッファされたバス・スルー・ボー
ド(ZB)は、後のアドレス・サイクルで、それらの読
出しデータFIFOロジックをクリアして、未知の制御
ラインのいかなる影′¥rも取り除く。次の例は、PP
2が読出しデータの全バーストを一度に受り取れないと
きに、何が生じるかを示す。
Thereby, the slave (FB) determines whether these are selected or not. Buffered bus-through boards (ZBs) clear their read data FIFO logic on subsequent address cycles to remove any shadow of unknown control lines. The following example is PP
2 shows what happens when the entire burst of read data cannot be received at once.

第1OC図は、短い待ら時間による4回の読出しのバー
ストを示す。ここでは、FBが読出しコマンドの全バー
ストをフル・レートで受は取るが、PP2は、フル・レ
ート・データ戻りを扱えない。
The first OC diagram shows a burst of four reads with a short latency. Here, FB receives all bursts of read commands at full rate, but PP2 cannot handle full rate data returns.

P P 2は、最初の2ワードを受は取って、RIRを
除去する。2クロツク後、PP2は、更に1つのワード
に対して【1屯備され、RI Rを再アサートする。更
に、2クロツク後、他のワードに対して準67、yされ
る。この第4ワードの後、RIRを再び除去して、PP
2が更に他のワードに対して準(I+ifできていない
ことを示す。最早、読出しデータは利用可能ではないの
で、今度のRI Rは影響しない。次のサイクルでデー
タを戻1賃l謁i1iができた場合、スレーブの出力バ
ッファをイネーブルするために、RDの第1サイクルと
同時に、ROEをセットする。′7スタにより読出しデ
ータの最終ワードがクロックされるので、ROEを除去
する。
P P 2 takes the first two words and removes the RIR. Two clocks later, PP2 is primed for one more word and reasserts RI_R. Furthermore, after two clocks, quasi 67,y is applied to other words. After this fourth word, remove RIR again and PP
2 indicates that the quasi (I+if) has not been completed for another word. Since the read data is no longer available, the next RI R has no effect. The data is returned in the next cycle. If so, set ROE simultaneously with the first cycle of RD to enable the slave's output buffer.As the final word of read data is clocked by the '7 star, ROE is removed.

第10D図は、2回の書込みが続く2回の読出しを示す
。データ・バスの競合を避けるために、ROEが除去さ
れた2サイクルまで、書込み(アドレス・サイクルを含
む)を開始してはいけない。
Figure 10D shows two reads followed by two writes. To avoid data bus contention, writes (including address cycles) should not begin until two cycles after ROE has been removed.

これにより、スレーブ用の1サイクルは、ROEの非ア
サート及びバスのデッド・サイクルに応答して、それら
のドライバをディスエーブルして、競合を防ぐ。
This allows one cycle for slaves to disable their drivers in response to ROE deassertion and bus dead cycles to prevent contention.

第10E図は、遅い書込み(制御レジスタ・ロードの典
型)を示す。この例は、夫々アドレス・サイクルを有す
る2回の占込みを表す。これは、ZB又はFB上での制
御レジスタのロードの典型である。データ・サイクルは
、アドレスの直後に続かないことに留意されたい。かか
るギャップは、他の例のあるものでは同様に許されてい
る。また、次に示すように、多くの読出し又は書込みサ
イクルの途中において、ギャップを有することも許され
ている。
Figure 10E shows a slow write (typical of a control register load). This example represents two interrupts, each with an address cycle. This is typical of a control register load on a ZB or FB. Note that the data cycle does not immediately follow the address. Such gaps are allowed in some other instances as well. It is also allowed to have gaps in the middle of many read or write cycles, as shown below.

第10F図は、遅い読出しを示す。この例では、3回の
読出しの遅いバーストを示す。第1読出しリクエスト後
のクロックまで(この例では、サイクル5まで)、スレ
ーブは、RORの既知の状態に応答する必要がない。R
OEが七ッ1−された後の1クロツクまで、スレーブは
データ・バスを駆動しないことに留意されたい。
Figure 10F shows slow readout. This example shows a slow burst of three reads. Until a clock after the first read request (until cycle 5 in this example), the slave does not need to respond to the known state of ROR. R
Note that the slave does not drive the data bus until one clock after OE is asserted.

(LDBアドレス・マツプ) 次に、ローカル表示バスのアドレス・マツプ、その構造
の定義、LDBを介して通信されたデータの機能につい
て説明する。L D Bは、232個の32ビツト・ワ
ードを夫々アドレス指定する。バイト又は他の部分的な
ワード変換は、サポートされていない。32ピッ1−未
満の装置は、読出し期間中に、利用しないライン上の未
定義データ(ガーベージ)を単に戻し、書込み期間中に
、余分なビットを無視する。
(LDB Address Map) Next, the address map of the local display bus, the definition of its structure, and the function of data communicated via the LDB will be described. LDB each addresses 232 32-bit words. Byte or other partial word conversions are not supported. Devices below 32 bits simply return undefined data (garbage) on unused lines during read periods and ignore extra bits during write periods.

アドレス空間は、各々が2211個のワードである16
個のセクションに分割する。最下位セクションは、I1
0空間(ビット31.30.29及び28が総て1)で
ある。最下位セクション(ビット31〜28は、総てO
)は、フレーム及びZバソファ・メモリ空間である。そ
れらの間の残りの14セクシヨンは、LDB上に存在す
る将来のシステム用に確保しておく。FBもZBも、こ
れらアドレスに応答しない。
The address space consists of 16 words of 2211 words each.
Split into sections. The lowest section is I1
0 space (bits 31, 30, 29 and 28 are all 1). The lowest section (bits 31-28 are all O)
) is the frame and Z-baso memory space. The remaining 14 sections between them are reserved for future systems that reside on the LDB. Neither FB nor ZB responds to these addresses.

I10空間を、各々が224個のワードの16個のスロ
ットに更に分割する。各スレーブLDBボードは、f−
テ面コネクタ(図示せず)の4個のスロット・ピンによ
り定義される物理的スロット・アドレスに応答する。そ
れはまた、それなりに構成されていれば、他のソフト・
スロット・アドレスにも応答する。総てのソフト・スロ
ット・アドレスをリセットによりクリア(ディスエーブ
ル)する。ハード・スロットでは、I10空間は、11
L l5SSSaaaaaaaaaaaaaaaaaa
aaaaaaである。ここで、5sssは、スロット番
号であり、aは、所定ボード内のI10位置をデコード
するのに利用可能な残りの24本のアドレス・ラインを
表す。
The I10 space is further divided into 16 slots of 224 words each. Each slave LDB board has f-
4 slot pins on a side connector (not shown). It also supports other software, if properly configured.
Also responds to slot address. Clear (disable) all soft slot addresses by reset. In a hard slot, the I10 space is 11
L l5SSSaaaaaaaaaaaaaaaaaaa
It's aaaaaa. where 5sss is the slot number and a represents the remaining 24 address lines available to decode the I10 location within a given board.

FB及びZBのメモリ空間は、2進で00001]xY
Myyyyyyyyyyyyxxxxxxxxxxxx
である。ここで、Hは、「ためらい」ピッI−(セット
された時、このビットは、第1ピクセルの前にステップ
のないことを示す)であり、Xは、Xステップ方向(セ
ットが右から左を示す)であり、Yは、Yステップ方向
(セットが上から下を示す)であり、Mは、メジャー軸
指示ビット(セットは、X軸がメジャー軸を示す)であ
り、yyyyyyyyyyyyは、初+ItJI] X
位置であり、xxxxxxxxxxxxは、初期X位置
である。
The memory space of FB and ZB is 00001]xY in binary
Myyyyyyyyyyyyyxxxxxxxxx
It is. where H is the "hesitation" bit (when set, this bit indicates no step before the first pixel) and X is the X step direction (the set is from right to left). ), Y is the Y step direction (the set indicates top to bottom), M is the major axis indication bit (the set indicates the X axis is the major axis), and yyyyyyyyyyyy is the initial +ItJI]
where xxxxxxxxxxxxx is the initial X position.

ダブル・バッファ・システムZBの両フレーム・バッフ
ァと、オーバレイ−・フレーム・バッファの総ては、こ
の1つのアドレス空間を占める。110空間を介してア
クセス可能な制御レジスタにより、各バッファをイネー
ブル及びディスエーブルできる。任意の1個のバッファ
をアクセスすることは、それをイネーブルし、他の総て
をディスエーブルすることにより達成できる。
Both frame buffers of the double buffer system ZB and all of the overlay frame buffers occupy this one address space. Control registers accessible through the 110 space allow each buffer to be enabled and disabled. Accessing any one buffer can be accomplished by enabling it and disabling all others.

FBSELを用いて、メモリ空間のデータ・サイクル期
間中、アドレス増分を制御する。FBSELがセットさ
れると、データを転送する前に、メジャー及びマイナー
軸の両方をステップさせるゆF B S E Lがセン
トされないと、メジャー軸のみがステップされる。アド
レス・サイクル内でためらいビットがセットされると、
第1データ・サイクルは、FBSELを無視し、どの軸
もステップしない。さらに、データ・サイクルは、通常
FBS ELに従う。
The FBSEL is used to control address increments during data cycles in the memory space. When FBSEL is set, it steps both the major and minor axes before transferring data. Unless FBSEL is set, only the major axis is stepped. If the hesitation bit is set within an address cycle,
The first data cycle ignores FBSEL and does not step any axis. Additionally, data cycles typically follow the FBS EL.

F B S E Lは、ZBに対して付加的な意味があ
る。メモリ空間に対するアドレス・サイクル期間中、F
BSELは、どのブレーン等式増分が利用のために登録
するかを決める。この機能は、3Dタイリングで用いる
。PP2は、アドレス・サイクル期間中、FBSELを
送り、新たなX位置が2つの可能性のうちの左(小さい
はう)になる。
F B S E L has additional meaning to ZB. During the address cycle for the memory space, F
BSEL determines which brane equation increments register for use. This function is used in 3D tiling. PP2 sends FBSEL during the address cycle and the new X position is the left (small crawl) of two possibilities.

(画像プロセッサ(PP2)) 第11図は、第7図の図形パイプラインで用いた画像プ
ロセッサ(PP2)の全体的なブロック図である。この
画像プロセッサ(50)は、多くの機能要素を具えてい
る。VMEマスタ・インク7、z−ス(170) ニよ
り、PP2をvMEバスに接続する。これは、また、V
MEバスに接続されたブート及びデバッグ回路(172
)を含んでいる。これの実現は、はとんど従来技術であ
り、本発明と直接関係がない。V M Eマスタ・イン
タフェース(170)を介して、V M Eバスにより
通信される情報は、内部画像プロセッサ・バス(PBU
S)(174)に転送される。このバスは、ピッI・・
スライス・エンジン(17G)が用いる主要なデータ・
バスである。ベクトル又はタイリング・アドレス発生器
(TAGチップ)(138)が、ローカル表示バス(5
6)に対してインタフェースをする。TAGチップ(1
38)は、変換エンジン(178)に接続するように示
している。更に後述する如(、PBUS (174)の
情報を、変換エンジン(17B)によって、変換する事
なく、TAGチップ(138)を介してローカル表示バ
スに直接渡すことができる。
(Image Processor (PP2)) FIG. 11 is an overall block diagram of the image processor (PP2) used in the graphic pipeline of FIG. 7. This image processor (50) comprises many functional elements. Connect PP2 to the vME bus from VME master ink 7, z-s (170) 2. This also means that V
Boot and debug circuitry (172) connected to the ME bus
). The implementation of this is mostly prior art and is not directly related to the present invention. Information communicated by the VME bus via the VME master interface (170) is transferred to the internal picture processor bus (PBU).
S) (174). This bus is Pippi...
Main data used by slice engine (17G)
It's a bus. A vector or tiling address generator (TAG chip) (138) connects the local display bus (5
6) Interface to. TAG chip (1
38) is shown connected to the conversion engine (178). Further, as described below, the information on the PBUS (174) can be passed directly to the local display bus via the TAG chip (138) without being converted by the conversion engine (17B).

第12A図は、マイクロコード又はビット・スライス・
エンジン(176)の好適な実現と、PBUS (17
4)を介してのVMEバス・インタフェース(170)
と変換エンジン(17B)の相互接続の詳細を示す。ビ
ット・スライス・エンジンの一般的な構造及び動作は、
当業者に周知なので、本発明に関係する部分のみ説明す
る。
Figure 12A shows the microcode or bit slice
Preferred realization of the engine (176) and PBUS (17
4) VMEbus interface (170) via
The details of the interconnection between and conversion engine (17B) are shown. The general structure and operation of a bit slicing engine is:
Since it is well known to those skilled in the art, only those parts relevant to the present invention will be described.

第12 A 1 、第12A2、第1213、第12C
及び第12D図は、第11図の画像プロセッサのより詳
細なブロック図である。動作を説明すれば、VMEバス
・インタフェースは、プログラム・カウンタの制御によ
り動作する。このプログラム・カウンタは、実行すべき
表示リスト内の次のインストラクションにポインタを与
える。このプログラム・カウンタに追従して、次に、イ
ンタフェースは、各コマンドをフェッチする。このイン
タフェースか各ワードを処理するにつれ、このインタフ
ェースは、各ワードを回転レジスタ(180)に読み込
み、マツプ・オフし、このワードの1バイトをシーケン
サ(182)に読み込み、そのワードの残りをデータr
スクランチ・パッドRAM(184)に蓄積する。ワー
ドが、移動インストラクションのような画像、コマンド
ならば、このインストラクションは、次の2つの32ビ
ン1−・ワードがベクトルの第1アドレスのX及びY座
標であることを伝える。シーケンサにロートされたバイ
トは、ルックアンプ・テーブル内の相対位置をアドレス
指定し、インストラクションの配列は、シーケンサにロ
ードされたバイ1−が制御するジャンプを有する。これ
により、シーケンサは、移動、又はベタ1−ルの第1点
に進むルーチンに分岐ずろ。
12th A 1, 12th A2, 1213th, 12th C
and FIG. 12D are more detailed block diagrams of the image processor of FIG. 11. In operation, the VME bus interface operates under the control of a program counter. This program counter provides a pointer to the next instruction in the display list to be executed. Following this program counter, the interface then fetches each command. As the interface processes each word, it loads each word into a rotation register (180), maps it off, loads one byte of this word into a sequencer (182), and loads the remainder of the word into the data r.
Accumulate in Scrunch Pad RAM (184). If the word is an image command, such as a move instruction, this instruction conveys that the next two 32 bin 1-words are the X and Y coordinates of the first address of the vector. The bytes loaded into the sequencer address relative positions in the lookamp table, and the array of instructions has jumps controlled by the bytes loaded into the sequencer. This causes the sequencer to move or branch to a routine that proceeds to the first point of the plane.

移動インストラクションにおけるシーケンサの制御の流
れにより、そのインストラクションは、柊ワtQ、V 
M Eハス・インタフェースから次の2つのワードを読
出し、シーケンサ内のインストラクションのリストによ
りチェーンを持続し、これらワードを変換エンジン(1
78)に渡す。これらワードがベクトルの開始点の相対
座標ならば、ビット・スライス・エンジンは、演算1コ
シツク・ユニット(ALU)(186)にて適当な加算
又は他の減算を実行する。これらワードが、ALU処理
を必要としないフォーマットならば、これがベクトルの
第1点であると告げるコマンドにより、これらを直接変
換エンジンに転送する。変換が要求されなければ、変換
エンジンは、ベクトル情報をエンコード用のTAGチッ
プに単に渡す。ベクトルの終点も同様に処理され、TA
Gチップに送られろ。この時、TAGチップは、エンコ
ードするのに充分なデータを有しており、ベクトルをフ
レーム・バッファ・サブシステムに送る。
Due to the flow of control of the sequencer in the movement instruction, the instruction is
Reads the next two words from the M E Hass interface, sustains the chain with a list of instructions in the sequencer, and sends these words to the transformation engine (1
78). If these words are relative coordinates of the starting point of the vector, the bit slicing engine performs the appropriate addition or other subtraction in an arithmetic unit (ALU) (186). If these words are in a format that does not require ALU processing, a command that says this is the first point of the vector will transfer them directly to the conversion engine. If no conversion is required, the conversion engine simply passes the vector information to the TAG chip for encoding. The endpoints of the vector are treated similarly, TA
Send it to G-chip. At this time, the TAG chip has enough data to encode and send the vector to the frame buffer subsystem.

ビット・スライス・エンジンは、分配されたFIFO制
御を有する単一のパイプ段処理を構成する。この制御は
、TAGチップ及び変換エンジン内の同11なFIFO
制御により、フレーム・バッファ又はZバッファから保
持信号を受ければ、処理を遅延できる。1つの下流段、
例えば、フレーム・バッファが処理の遅延に出会うと、
これは、パイプライン内の次の上流の処理に保持信号を
送る。保持信号が除去されるまで、この処理は、更にデ
ータを送るのを停止する。そのFIFOが一杯になると
、それは、保持信号を次の上流段に送る。この方法にお
いて、中間のFIFO段の故に対応するり1゛ノツク・
サイクルの数の後、非保持信号を受けるまで、ビット・
スライスにおける処理は、保持される。
The bit slicing engine constitutes a single pipe stage process with distributed FIFO control. This control uses the same 11 FIFOs in the TAG chip and conversion engine.
By control, processing can be delayed if a hold signal is received from the frame buffer or Z buffer. one downstream stage,
For example, when the frame buffer encounters processing delays,
This sends a hold signal to the next upstream process in the pipeline. The process stops sending further data until the hold signal is removed. When that FIFO is full, it sends a hold signal to the next upstream stage. In this method, due to the intermediate FIFO stage, the corresponding
After a number of cycles, the bit
Processing in the slice is preserved.

ビット・スライス・エンジンは、フレーム・バッファの
読出し及び書込みに用いるベクトルを処理して、ベクト
ル・ブリット動作を実行する。これは、V M 17.
からのベクトル用のコマンド(オペコード)及び座標を
得て、変換エンジン用の出力コマンド及びデータを発生
ずるコマンドを実行し、データを更に処理(転送)し、
TAGチップにデータ及びコマンドを出力して、埋め込
まれたベクトル制御を用いるベクトルを発生する。フレ
ーム・バッファ内のベクトルを読み取るために、ビ・ン
ト・スライス・エンジンは、読出しモード・二1マント
を受け、これをTAGチップに転送して、その後のベク
トル・アドレス情報をフレーム・バッファ・サブシステ
ムに送るために、TAGチップを読出しモードにする。
The bit slicing engine processes vectors used to read and write frame buffers to perform vector blitting operations. This is V M 17.
obtain commands (opcodes) and coordinates for the vector from, execute commands that generate output commands and data for the transformation engine, further process (transfer) the data,
Output data and commands to the TAG chip to generate vectors using embedded vector control. To read a vector in the frame buffer, the bit slice engine receives a read mode command, forwards it to the TAG chip, and transfers subsequent vector address information to the frame buffer sub Place the TAG chip in read mode to send to the system.

しかし、今度は、TAGチップは、データを送らない。However, this time the TAG chip does not send data.

これは、フレーム・バッファ・データを読み出すように
ロジック回路をイネーブルするので、ベクトルに沿って
蓄積されたピクセルを、ローカル表示バスに沿ってビッ
ト・スライス・エンジン用のTAGチップに読み戻し、
オフ表示メモリに蓄積する。フレーム・ハンファ内に蓄
積されたピクセル・データの全ベクトルが読み出された
後、ベクトル・ブリット動作を用いて、新たなピクセル
・データを、同じベクトルが定義するフレーム・バッフ
ァ位Hに3き込める。
This enables the logic circuitry to read the frame buffer data so that the accumulated pixels along the vector are read back along the local display bus to the TAG chip for the bit slicing engine.
Accumulate in off-display memory. After all vectors of pixel data stored in a frame buffer have been read out, new pixel data can be loaded into the frame buffer location H defined by the same vector using a vector blitting operation. .

第12B図は、変換エンジン(17B)の詳細と、ロー
カル表示バス(156)に対するTAGチンプ(162
)によるインタフェースを示す。
Figure 12B details the conversion engine (17B) and the TAG chimp (162) for the local display bus (156).
) shows the interface.

変換エンジン(178)の構造及び動作は、当該分野に
おいて周知であり、動作は、本発明の状況において、木
質的に透明であり(影ツせず)、この変換を簡単に説明
する。一般に、Pバス(174)を介して、変換エンジ
ンに入力する。変換コマンドをコマンド・レジスタ(1
90)に入力し、シーケンサ(192)に送る。他のコ
マンド及びデータは、変換が実行すべきものならば、レ
ジスタ(194)を介して入力でき、そうでなければ、
このレジスタをバイパスして、内部バス(TBUS)(
196)に直接入力する。変換エンジンは、シーケンサ
(192)により制御される乗算器(193)及び加算
a(195)を含んでおり、変換を実行する。これらが
変換されなければ、ベクトル座標は、レジスタ(194
)を迂回して、TBUSのTAGチップ(13B)に直
接波される。ベクトルが変換されるべきならば、適当な
変換コマンド(オペコード)は、コマンド・レジスタ(
190)に送られ、シーケンサ(192)に送られ、従
来方法で変換エンジンの動作を制御し、レジスタ(19
4)に入力されるベクトル座標を従来形式で変換する。
The structure and operation of the transformation engine (178) is well known in the art, and its operation is transparent in the context of the present invention to briefly describe this transformation. Generally, the input to the conversion engine is via the P bus (174). The conversion command is stored in the command register (1
90) and sends it to the sequencer (192). Other commands and data can be entered via registers (194) if a conversion is to be performed, otherwise
Bypass this register and use the internal bus (TBUS) (
196) directly. The transformation engine includes a multiplier (193) and an adder a (195) controlled by a sequencer (192) to perform the transformation. If these are not transformed, the vector coordinates will be stored in the register (194
) and is directly transmitted to the TBUS TAG chip (13B). If a vector is to be converted, the appropriate conversion command (opcode) is stored in the command register (
190) and a sequencer (192), which controls the operation of the conversion engine in a conventional manner and registers (19
4) Convert the vector coordinates input in the conventional format.

変換されたベクトル座標をTAGチップ(138)に出
力する。
The transformed vector coordinates are output to the TAG chip (138).

第12C及び第12D図は、TAGチップ(138)を
より詳細に示す。まず、第12C図を参照する。TAG
チップは、左側のTBt、Is (196)及び右側の
ローカル表示バス(56)をインタフェースする。この
図の右側に示した他の入力及び出力ラインは、後述する
第15図の左側に示した入力及び出力ラインに対応する
。TAGチップば、制′4’[l+ステート・マシンを
含んでおり、本発明に関連したその動作は、第16A1
第16B及び第16C図を参照して、後述する。このス
テート・マシンは、埋め込まれたベクトル制御情報を発
生ずるアドレス・エンジン(202)を制f’JIIす
る。カラー・レジスタ(204)は、フレーム・ハンフ
ァ内に書き込むべきピクセルに関するカラー情報を受け
、リレーする。この情報は、ピクセル値となるピクセル
・データの一部になる。アドレス・エンジンからのアド
レス出力、及びカラー・レジスタからのデータ出力は、
マルチプレクサ(206)に入力する。このマルチプレ
クサをステート・マシン(200)からの制御ラインに
より制御■シて、アドレス及びデータ・ワードをFrF
o(140)を介してローカル表示バスに’UtR的に
出力する。TBUSは、マルチプレクサ(206)に直
接入力され、カラー・レジスタの代わりにベクトル・ブ
リット書込み動作のために選択され、ローカル表示バス
(56)に出力する。
Figures 12C and 12D show the TAG chip (138) in more detail. First, refer to FIG. 12C. TAG
The chip interfaces TBt, Is (196) on the left and the local display bus (56) on the right. The other input and output lines shown on the right side of this figure correspond to the input and output lines shown on the left side of FIG. 15, which will be described later. The TAG chip includes a control '4'[l+ state machine, the operation of which is relevant to the present invention, is
This will be described later with reference to FIGS. 16B and 16C. This state machine controls the Address Engine (202), which generates embedded vector control information. Color register (204) receives and relays color information regarding pixels to be written within the frame frame. This information becomes part of the pixel data, which becomes the pixel value. The address output from the address engine and the data output from the color register are
input to the multiplexer (206). This multiplexer is controlled by control lines from the state machine (200) to transfer address and data words to the FrF
o (140) to the local display bus in the form of 'UtR. TBUS is input directly to the multiplexer (206), selected for vector blit write operations instead of color registers, and output to the local display bus (56).

続出し、9込み、F B S E L、入力レディ(I
R)制御ライン(152)〜(15B)もFIFO(1
40)から同様に出力する。読出し、書込み及びFBS
ELビットは、ステート・マシン(200)からFIF
Oに入力する。「入力レディ」を上流にパイプラインし
、出力FIFO(140)の非ロードを制御する。TA
Gチップは、入力又は続出しFIFO(142)も含ん
でおり、このFIFOを介して、フレーム・バッファか
らの続出しピクセル・データをTBUS (196)に
転送する。ステート・マシン(200)が、「続出し出
力イネーブル」信号を発生ずる。「読出し出力レディ」
信号(162)を用いて、FIFO(142)のロード
を制御する。「エンプティコライン(165)は、FI
FO(142)が読出すワードを含んでいるかをステー
ト・マシン(200)に伝える。「読出し入力レディ」
信号ライン(164)は、フレーム・バッファ・サブシ
ステムの出力又は続出しFtFOに保持又は非保持信号
を与える。
One after another, 9 included, F B S E L, input ready (I
R) Control lines (152) to (15B) are also FIFO (1
40) is output in the same way. Read, write and FBS
The EL bit is passed from the state machine (200) to the FIF
Enter O. Pipeline the "input ready" upstream and control the unloading of the output FIFO (140). T.A.
The G-chip also includes an input or outgoing FIFO (142) through which the outgoing pixel data from the frame buffer is transferred to the TBUS (196). A state machine (200) generates a "continue output enable" signal. "Read output ready"
Signal (162) is used to control the loading of FIFO (142). “Empty Coline (165) is FI
Tells the state machine (200) whether the FO (142) contains the word to be read. "Read input ready"
Signal line (164) provides a hold or non-hold signal to the output of the frame buffer subsystem or to the follow-on FtFO.

第12D図において、TAGチップ・アドレス・エンジ
ン(201)は、TBUS (196)をインタフェー
スする入力マルチプレクサ(210)を具えている。ア
ドレス・エンジン(202)は、プレセンハムのアルゴ
リズム又は同様なベクトル・描画アルゴリズムを実現す
るのに一般的に用いる形式の従来のデジタル微分解析器
によるハードうエア・インプリメンテーションである。
In Figure 12D, the TAG Chip Address Engine (201) includes an input multiplexer (210) that interfaces with the TBUS (196). The address engine (202) is a conventional digital differential analyzer hardware implementation of the type commonly used to implement Presenham's algorithm or similar vector drawing algorithms.

この例としては、1987年7月30日に出願した米国
特許出願第709629号を参照されたい。アドレス・
エンジンは、一連のレジスタ(212)〜(224)を
具えて拘り、プレセンハムのアルゴリズムを計算する際
に用いる変数を保持している。
For an example of this, see US Patent Application No. 709,629, filed July 30, 1987. address·
The engine includes a series of registers (212)-(224) to hold variables used in computing Presenham's algorithm.

これら変数は、第16A、第16B及び第16C図の流
れ図に示す処理にて発生する。これらレジスタの夫々の
出力を2個のマルチプレクサ(226)、(22B)に
並列に入力し、それらの出力を加算/減算ALU(23
0)に入力する。A LU(230)の出力をマルチプ
レクサ(210)及び読出しカウンタ(232)、ピク
セル・カウンタ(234)の両方に入力する。゛アドレ
ス・ラッチ(236)を介して、X及びYアドレスをマ
ルチプレクサ(206)(第12C図)に入力する。独
力したオクタント・ラッチ(238)は、4つの付加ビ
ットを受り、マルチプレクサに出力して、埋め込まれた
ヘクトル制御方向情報を与える。これらビットの2つは
、レジスタ(222)、(224)の符号ビットであり
、Y輔及びX軸における方向に対応する。第3ビツトは
、ALU出力の符号であり、メジャー軸として、開始点
から終了点までのベクトルの最大成分(X又はY)を表
す。第4ビツトは、移動フラグ(11)レジスタ(24
0)を介してステーl−・マシン(200)から受けた
ためらいビットである。
These variables are generated in the process shown in the flowcharts of Figures 16A, 16B, and 16C. The respective outputs of these registers are input in parallel to two multiplexers (226) and (22B), and their outputs are added/subtracted ALU (23
0). The output of the ALU (230) is input to both the multiplexer (210) and the read counter (232) and pixel counter (234). The X and Y addresses are input to the multiplexer (206) (Figure 12C) via the address latch (236). The independent octant latch (238) receives four additional bits and outputs them to a multiplexer to provide embedded hector control direction information. Two of these bits are the sign bits of registers (222), (224) and correspond to directions in the Y and X axes. The third bit is the sign of the ALU output, and represents the maximum component (X or Y) of the vector from the start point to the end point as a major axis. The fourth bit is the movement flag (11) register (24
This is the hesitation bit received from the STATE l-machine (200) via 0).

(フレーム・バッファ制御) 第13図は、第3図のシステムにおける画像データ蓄積
用の画像データを蓄積するフレーム・バッファ制御回路
のブロック図であり、第14図は、第13図に用いるフ
レーム・バッファ制御器の好適な実施例であり、第15
図は、フレーム・バッファ制御回路の動作を示すブロッ
ク図である。
(Frame Buffer Control) FIG. 13 is a block diagram of a frame buffer control circuit for accumulating image data for image data accumulation in the system of FIG. 15 is a preferred embodiment of the buffer controller;
The figure is a block diagram showing the operation of the frame buffer control circuit.

フレーム・バッファ・サブシステム(54)及び表示器
(58)は、図形パイプラインへの高性能接続を行い、
高分解能でフリッカのない表示を与える。FBサブシス
テムの概略的なブロック図を第13図に示す。単一のピ
クセル(ベクトル)性能をピクセル・ブロック転送動作
に平衡するように設計された柔軟なフレーム・バッファ
制御器により、高いシステム・スループントを得る。こ
のフレーム・バッファの構成により、いくつかのメモリ
・サイクルはメモリの分離したセクションに同時に進む
ので、ランダムな方向のベクトルが、利用可能な最大の
帯域幅に近いメモリに影響を及ぼす。VMEシステム・
バスとフレーム・バッファとの間には、直接接続がない
。よって、CP又はAEにとって、フレーム・バッファ
が汎用実メモリのように、これらフレーム・バッファと
直接作用する方法がない。その代わり、フレーム・バッ
ファ・インタフェース(248)がこの可能性をサポー
トするが、本発明に直接関係がないので、これ以上の説
明を省略する。
A frame buffer subsystem (54) and a display (58) provide high performance connections to the graphics pipeline;
Provides a high-resolution, flicker-free display. A schematic block diagram of the FB subsystem is shown in FIG. High system throughput is obtained with a flexible frame buffer controller designed to balance single pixel (vector) performance to pixel block transfer operations. With this frame buffer configuration, several memory cycles go to separate sections of memory at the same time, so that random directional vectors affect memory close to the maximum available bandwidth. VME system・
There is no direct connection between the bus and the frame buffer. Therefore, there is no way for the CP or AE to interact directly with frame buffers as if they were general purpose real memory. Instead, the frame buffer interface (248) supports this possibility, but it is not directly relevant to the present invention and will not be discussed further.

好適な実施例は、2個の・1り一ド・セントとして構成
された12プレーンのフレーム・バッファを用いており
、一方のボードが、フレーム・バ・ソファ・メモリ及び
関連した制御器(FF3Cチツプ)を含んでおり、一方
、他方のボードが、カラー・マツプRAM、DAC1関
連した映像回路(250)を含んでいる。タイミング回
路(254)を設けて、60 Hzノンインクレースの
カラー・モニタを駆動するのに適切なタイミング信号を
発生し、また、フレーム・バッファ及び図形パイプライ
ン・サブシステムに必要な総てのタイミング信号を与え
る。
The preferred embodiment uses a 12-plane frame buffer configured as two individual boards, with one board containing the frame buffer memory and associated controllers (FF3C). The other board includes a color map RAM and a video circuit (250) associated with the DAC1. A timing circuit (254) is provided to generate the appropriate timing signals to drive a 60 Hz non-inclace color monitor and to provide all timing necessary for the frame buffer and graphics pipeline subsystems. give a signal.

ゲート・アレイ、フレーム・バッファ制御器(FBC)
IC(260)が、各4ビツト・ブレーン・フレーム・
バッファ・メモリを制jll する。
Gate array, frame buffer controller (FBC)
The IC (260) each has a 4-bit brain frame.
Control buffer memory.

FBC(260)の1つを第14図に一般的なブロック
図形式で示す。第15図は、より詳細な口シック図であ
るが、本発明に適する特徴に限定されており、フレーム
・バッファ・ザブシステムの代わりのインプリメンテー
ションを示している。
One of the FBCs (260) is shown in general block diagram form in FIG. FIG. 15 is a more detailed diagram, but limited to features suitable for the present invention, showing an alternative implementation of the frame buffer subsystem.

ごれらインプリメンテーションを次に説明するが、同様
な要素を同じ参照番号で示す。
These implementations are described below, with similar elements designated by the same reference numerals.

FI3C(260)は、ローカル表示バス(1−DI3
 )の読出し/書込み用のレジスタ(262)、(26
4)を設けると共に、スクリーン・リフレッシュアドレ
ス発生用のレジスタ(266)を設ける。FBCの常駐
は、小さなALU(266)であり、フレーム・バッフ
ァ・メモ’j(136)から/へのピクセル・データの
動作を実行する。
FI3C (260) is the local display bus (1-DI3
) read/write registers (262), (26
4) and a register (266) for generating a screen refresh address. Resident of the FBC is a small ALU (266) that performs the operation of pixel data to/from the frame buffer memo'j (136).

データ及び制fff[l信号を受けて、フレーム・バッ
ファ制御器から、入力及び出力FIFO(130)、(
132)によりローカル表示バス(56)を介して出力
する。ベクトルの開始点用のアドレスを意味する第1ワ
ードをマルチプレクサされたデータ/アドレス・ライン
(150)(第15図)で受けると、X及びYアドレス
・カウンタ(280)、(282)は、第1ワードのX
及びYアドレス部分に含まれたアドレスにセットされる
。バス制御ステー1−・マシン(2F36)により制御
されろマルチプレクサ(284)は、第1ワードに続く
第2ワード及びそれに続くワードからのピクセル値をデ
ータ・レジスタ(264)に入力する。
In response to the data and control fff[l signals, input and output FIFOs (130), (
132) via the local display bus (56). Upon receiving the first word denoting the address for the starting point of the vector on the multiplexed data/address line (150) (FIG. 15), the X and Y address counters (280), (282) 1 word X
and is set to the address included in the Y address portion. A multiplexer (284), controlled by the bus control stage 1-machine (2F36), inputs the second word following the first word and the pixel values from the following words into the data register (264).

ステート・マシン(286)は、入力及び出力として、
種々の信号ライン(151)〜(164)(第15図)
を具えている。ピクセル・データの第2及び続くワード
を受けると、ステート・マシンは、メジャー軸アドレス
・カウンタを増分し、F I3 S E Lがセットさ
れろと、マイナー軸カウンタも増分する。増分されたX
及びYアドレスを対応するピクセル値と共にデータ・レ
ジスタ(264)に入力する。
The state machine (286) has as input and output:
Various signal lines (151) to (164) (Figure 15)
It is equipped with Upon receiving the second and subsequent word of pixel data, the state machine increments the major axis address counter and, if F I3 S E L is set, also increments the minor axis counter. incremented x
and Y address along with the corresponding pixel value into the data register (264).

アドレス及びピクセルレイ直データをランチ(266)
に渡し、NディープFIFO(2811)に渡す。この
FIFOは、FIFO制御器(290)により制御され
、その動作の詳細は、1985年2月19日に出願され
た米国特許出願第702982号(特開昭61−190
387号公報に対応)に開示されている。このシステム
の詳細は、本発明と直接関係ないので、詳細な説明を省
略する。
Launch address and pixel ray direct data (266)
and passes it to N deep FIFO (2811). This FIFO is controlled by a FIFO controller (290), and its operation is detailed in U.S. Patent Application No. 702,982 filed on February 19, 1985 (Japanese Unexamined Patent Publication No. 61-190).
(corresponding to Publication No. 387). Since the details of this system are not directly related to the present invention, a detailed explanation will be omitted.

ピクセル・データのアドレス部分により指示されたフレ
ーム・バッファ泣面をアクセスするために従来の回路(
292)を含むメモリ・インタフェース・セクションに
ピクセル・データを出力する。AL[J(268)を含
むデータ出力回路(294)は、フレーム・バッファの
アドレス指定された位置にピクセル値を書込む。このデ
ータ回路は、読出し動作が実行されるとき、フレーム・
バッファからピクセル・データが入力されるレジスタ(
269)も含んでいる。
Conventional circuitry (
292). A data output circuit (294), including AL[J (268), writes pixel values to addressed locations in the frame buffer. This data circuit uses a frame signal when a read operation is performed.
A register into which pixel data is input from the buffer (
269) is also included.

第15図は、ステート・マシンでなく、ハード・ロジッ
クを用いた本発明の上述の状況を実現している。第15
図に示す多くの機能は、LDB構造(ライン(150)
〜(164))、FIFO3(130)、(132)、
フレーム・バッファ・メモリ(136)及びX及びYア
ドレス・カウンタ(280)、(282)の如く既に説
明したものである。
FIG. 15 implements the above-described situation of the invention using hard logic rather than state machines. 15th
Many of the features shown in the figure are based on the LDB structure (line (150)
~ (164)), FIFO3 (130), (132),
Those already described include the frame buffer memory (136) and the X and Y address counters (280), (282).

オクタント・ラッチ(270)は、各ベクトルの第1ア
ドレス・ワード内に送られ埋め込まれたべりトル制?’
[D 117 報を受け、蓄積する。このラッチは、ア
ドレス・カウンタへのX及びY方向出力を有しており、
これらカウンタが開始点アドレスからカウント・アップ
するか、カウント・り゛ランするかを制御する。メジャ
ー軸ビットは、1組のゲー1.(271)、(272)
に出力される。これらゲートは、とのカウンタ(メジャ
ー輔カウンタ)が、その後の各「読出し」又は「書込み
」信号(ライン(154))に応じて、増分するか(減
分するか)を決める。読出し及び書込み信号を他のIm
のゲー1−(273)、(27/l )に入力する。こ
れらゲートは、メジャー軸カウンタを増分(又は減分)
するために、各カウンタに出力を与え、FBSELライ
ン(152)がセットされていると、マイラ・−軸カウ
ンタを増分(又は減分)する。「読出し」及び「書込み
Jライン(ライン(155))の両方がセットされると
、これは、アドレス・サイクルを示し、ロジック(27
1)〜(274)は、「ロード」信号をカウンタに与え
て、祈だなX及びYアドレスを入力する。
Octant latches (270) are embedded in the first address word of each vector. '
[D 117 Receive and accumulate information. This latch has X and Y direction outputs to the address counter,
Controls whether these counters count up from the starting point address or restart the count. The major axis bit is a set of game 1. (271), (272)
is output to. These gates determine whether the counter (major counter) increments (decrements) in response to each subsequent "read" or "write" signal (line (154)). Read and write signals to other Im
Input to game 1-(273), (27/l). These gates increment (or decrement) the major axis counter
To do this, provide an output to each counter and increment (or decrement) the Mylar-axis counter when the FBSEL line (152) is set. When both the “read” and “write” J lines (line (155)) are set, this indicates an address cycle and logic (27
1) to (274) give a "load" signal to the counter and input the prayer address X and Y.

データ・レジスタ(265)は、第14図のl/レジス
タ264)の低位の部分に対応し、「読出し/井書込み
」ラインが「低」にセットされゾこ場合、アトL・スが
アト1/ス・カウンタから出力されると、フレーム・バ
ッファ・メモリ(136)にピクセルイ直を出力する。
The data register (265) corresponds to the low part of the l/register (264) in FIG. /s counter outputs the pixel value to the frame buffer memory (136).

このう・インを、ロジック(274)のダ−(!−−ト
(オア・ゲート)段及びレジスタ(275)を介してう
・イン(156)により制御)■する。このラインが「
高」にセントされると、ピクセル値をフレーム・バッフ
ァから読出し、データ出力ラインを介して出力FIFO
(132)に)入る。ゲー1−(274)の出力からの
ロ1イクル要求、1ラインは、レジスタ(276)を介
して、フ1.・−ム・バッファ開始サイクル制御■に入
力する。
This input is controlled by the input (156) via the OR gate stage of the logic (274) and the register (275). This line is
When sent high, it reads the pixel value from the frame buffer and sends it to the output FIFO via the data output line.
(132)). A cycle request from the output of the game 1 (274), 1 line, is sent to the game 1 through the register (276). - Input to the system buffer start cycle control ■.

ト用FO制御■ブ「1ツク(278)が、入力及び出力
F T F Oの両方を制御する。この動作を支配する
論理式は、以−Fの通りである。
The FO control block 1 (278) controls both the input and output FT FO. The logical formula governing this operation is as follows.

IIJnload = GReadアンドGWrite
オアGl?eadアンドDoneアンドno LOFu
 l lオアGWriteアンドDone OLoad = GlンeadアンドnotGWrit
eアンドDoneアンドnotOFull このブロックは、占込み動作期間中に、入力F IFO
からのデータの非ロードを制御し、読出し動作期間中に
、出力FIFOへのデータのロー1゛を制御する。
IIJnload = GRead and GWrite
Or Gl? ead and done and no LOFu
l lor GWrite and Done OLoad = Gleanad and not GWrit
e and Done and notOFull This block uses the input FIFO during the write operation.
and controls the unloading of data to the output FIFO during read operations.

(埋め込みベクトル制御処理) 第16A、第16I3及び第16C図は、制御ステート
・マシン(200)及びアドレス・エンジン(202)
(第12C図)が、埋め込まれたヘクトル制御プロトコ
ル壱実現して、フL/−ム・バッファ内のベクトルに沿
ったピクセル・データを書込み又は読出しする処理を示
す。
(Embedded vector control processing) Figures 16A, 16I3 and 16C show the control state machine (200) and address engine (202).
FIG. 12C illustrates the process of implementing an embedded vector control protocol to write or read pixel data along vectors in the frame buffer.

第16A図に示す処理部分は、大カー、クトルを受け、
バク1−ル開始及び終了点から、どの軸がメジャー軸で
あり、その開始点からベクl−ルのX及びY成分の方向
(プラス又はマイナス)を決める。
The processing section shown in FIG. 16A receives a large car, a
From the starting and ending points of the vector, determine which axis is the major axis and the direction (plus or minus) of the X and Y components of the vector from that starting point.

初期点をレジスタXold及びYoldに配置する。Place the initial point in registers Xold and Yold.

終了11人を1.−ジスタX、Yに配置する。これらレ
ジスタを第12 B図に示す。第1ステツプは、Xol
d73びYoldデータをラッチし、このヘクl−ルの
開始点を定め、開始点アドレスとしてアドレス・ラッチ
(236)(第12D図)にセーブする。
11 people finished. - placed in registers X and Y; These registers are shown in Figure 12B. The first step is
D73 and Yold data are latched, the starting point of this heckle is determined, and the starting point address is saved in the address latch (236) (FIG. 12D).

次に、X及びY軸の各々に沿って、開始及び終了点間の
差を計算して、開始点からの移動の方向の符号を定める
。また、ベクトルX及びY成分の大きさの差を決め、長
い方の成分軸をメジャー軸として選択する。
Next, along each of the X and Y axes, the difference between the start and end points is calculated to determine the sign of the direction of movement from the start point. Furthermore, the difference in magnitude between the vectors X and Y components is determined, and the longer component axis is selected as the major axis.

第16B図に示す次のサブプロセスを進める準備として
、この処理は、左経路及び右経路に分岐する。左経路は
、右経路よりわずかに能率的であり、ベクトルのX成分
の大きさがY成分以−にの時に選択される。第16A図
の処理部分の最終ステップは、オクタント・ビット、X
軸方向、X軸方向及び’ll= IF、 シたメジャー
軸をオクタント・ラッチ(238)(第12D図)にラ
ッチすることであ第16 B図において、ベクトルに沿
った次のアドレス位置を決める際に、いずれの経路が選
択されても、ALU (230)による次の計算用に、
その経路は、レジスタ(212)〜(224)内のプレ
センハム・アルゴリズム変数を計算する。
In preparation for proceeding to the next sub-process shown in Figure 16B, the process branches into a left path and a right path. The left path is slightly more efficient than the right path and is chosen when the magnitude of the X component of the vector is greater than or equal to the Y component. The final step in the processing portion of FIG. 16A is to input the octant bits,
Determine the next address position along the vector in Figure 16B by latching the axial, In this case, whichever route is selected, for the next calculation by the ALU (230),
The path computes the Presenham algorithm variables in registers (212)-(224).

さらに、ヘクI−ルの第1ピクセルかあlとみ出される
か、描画されるかを示ず「移動フラグ」と呼ばれるピッ
l−を、メジャー軸成分用のピクセル及び読出し計数に
加算する。ビンl−・スライス・エンジンは、「移動」
オペコードに応して、「移動フラグ」ビットをセットす
る。レジスタ(21IO)を介してこのビットをオクタ
ン1−・う・ノチ(238)内の第4ビット位置に転送
して、ためらいビ・ンhとする。第16B図の左及び右
経路の残りのステップは、当該分野で既知であるので、
これ以上の説明を省略する。
Furthermore, a pixel called a "movement flag" indicating whether the first pixel of the hexagonal is extracted or drawn is added to the pixel and readout counts for the major axis component. The bin l-slice engine "moves"
Sets the "move flag" bit depending on the opcode. This bit is transferred via the register (21IO) to the fourth bit position in the octane 1-u-nochi (238) and becomes the hesitation bin h. The remaining steps of the left and right paths of FIG. 16B are known in the art;
Further explanation will be omitted.

このサブプロセスの最終ステ・ノブは、開始アドレス及
びオクタント・ランチの内容を送り、デジタル微分解析
2ケ(DDA)サブプロセスを開始させ、動作がベクト
ル書込みかベクトル続出し動作かに応じて、処理を分岐
させる。左側の分岐は、D D Aを開始させるが、こ
の処理を第160図の左側に示す。右の分岐は、動作が
ペクト・ル書込みでなくベクトル読出しであるかの判断
に進む。ベクトル読出しでなければ、この処理は終わり
、DD A処理の動作は、ベクトル書込みとして実行さ
れる。それがベクトル続出し動作ならば、この分岐は、
第16C図の右側に示す読出し7処理乙こ進む。
The final step knob of this subprocess sends the starting address and contents of the octant launch to start the Digital Differential Analysis Dual (DDA) subprocess, which handles the operations depending on whether the operation is a vector write or a vector continuation operation. branch out. The left branch initiates DDA, and this process is shown on the left side of FIG. 160. The right branch proceeds to determine if the operation is a vector read rather than a vector write. If it is not a vector read, this process ends and the DDA process is executed as a vector write. If it is a vector sequence operation, this branch is
The readout 7 process shown on the right side of FIG. 16C now proceeds.

第16 C図の左側に示したDDA処理は、動作かヘク
I・ル書込み又はベクトル読出しかに従う。
The DDA processing shown on the left side of FIG. 16C follows whether the operation is a hexagonal write or a vector read.

木質的には、このザブプロセスは、ブレセンハJ、のア
ルゴリズノ・を実行して、ベクトルの各連続したピクセ
ルが書き込まれるか、読み出される位置を決めろ、しか
し、まず、これは、「移動フラグ」又はためらいビット
から、現在のべりl・ルの開始点に対応して、第1ピク
セルを書込みか読出すかを決める。現在のベクトルが、
前のベクI・ルの終点と一致する開始点を有しているな
らば、これを用いて(即ち、セラl−Lないで)、かか
るピクセルが2回[−1に重ね書きされるか、読み出さ
れるのを防ぐ。第1ピクセルが描画されるが読み出され
るとき、こればセットされない。ベクトルの終点に達す
る(ピクセル計数−ゼロ)まで、DDAサブプロセスは
、メジャー軸に沿って、各ステップ中、持続する。
Wooden-wise, this subprocess runs Bresenha's algorithm to determine the position at which each successive pixel of the vector is written or read, but first this Or, from the hesitation bit, it is determined whether to write or read the first pixel, corresponding to the starting point of the current bit. The current vector is
If it has a start point that coincides with the end point of the previous vector I, then using this (i.e. without cell I-L), such a pixel is overwritten twice on [-1]. , prevent it from being read. This is not set when the first pixel is drawn but read. The DDA subprocess continues during each step along the major axis until the end of the vector is reached (pixel count - zero).

動作がベクトル読出しならば、第16C図の右側のり′
ブプロセスは、信号ラインをセラ!・するステップを開
始し、第16C図の左側のザゾプ1」セスが追跡するベ
クトルに沿って、出力データがフレーム・バッファから
読み出されるように・イネーブルする。次のステップは
、読出しF I F Oがエンプティかを決める。通常
、フレーJ、・バッファから読出し、FIFOに読出す
第1ピクセル値に対して、数ザイクル使う。このザブプ
ロセスば、これが生じるまで、ループする。そj7て、
このザブブ[″Jセスは、読出しカウンタを減分し1、
売出しI・’IFOから第1ワードを読出し、これをマ
イクロコード・エンジンに送る。次に、ザププ[−1セ
スは、マイク1ココード・エンジンがこのワ〜 ドを受
は入れたかを調べる。そうでなければ、パイプラインの
遅延の場合、号ブプロイ3スは、■ザイクル待ち、再び
試験する。1度ワードが受は入れられると、この処理は
、初めにループし、読出しFIFOの次のり−1・゛の
存在をチエツクし、シダと出しカウンタを減分し、その
ワードをマイクロコード・エンジンに戻す。ベクトルの
終点に達するまで、これは、このへ、クトルに沿った各
連続したワード用に進む。
If the operation is vector read, the right side of Fig. 16C'
Bu process is the signal line! Enable the output data to be read from the frame buffer along the vector tracked by the ZAZOP1 process on the left side of Figure 16C. The next step is to determine if the read FIFO is empty. Typically, a few cycles are used for the first pixel value read from the frame J. buffer and read into the FIFO. This subprocess will loop until this occurs. Then,
This Zabubu[''JSeth decrements the read counter by 1,
Read the first word from the Offer I/'IFO and send it to the microcode engine. Zapupu [-1 Seth then checks to see if the Mike 1 code engine has accepted this word. Otherwise, in case of pipeline delay, the issuer will wait for a cycle and test again. Once a word has been accepted, the process first loops, checks for the presence of the next -1. Return to It advances to this point for each successive word along the vector until the end of the vector is reached.

そして、このリーブブ1コセスが、読出し出力イネーブ
ルをクリアし、終わる。
This leave one process then clears the read output enable and ends.

通常ベクトル+:;i画動作(読出しではない)にとっ
て、DDA処理は、L D B書込みラインをセットし
、1.、 II Bデータ・ライン上にピクセル値を出
力する。第16C図の左側の処理で決まるように、F 
B S rE Lラインがセット又はセットされず、フ
レー1、・バッファ内にて、どこにピクセル値を蓄積す
るかを決める。これは、メジャー軸に沿った次のステッ
プで蓄積されるか、オクタント・データが指示する方向
にて、メジャー及びマイナー軸の両方に沿ったステップ
に対応する診断ステップにて蓄積される。このピクセル
値は、以前にロードされたカラー・レジスタからやって
くる。
For normal vector +:;i picture operations (not read), the DDA process sets the L D B write line, 1. , II outputs the pixel value on the B data line. As determined by the processing on the left side of Figure 16C, F
B S rE L line set or unset, Frame 1 - Determines where in the buffer to store pixel values. This is accumulated at the next step along the major axis, or at the diagnostic step corresponding to the step along both the major and minor axes in the direction indicated by the octant data. This pixel value comes from a previously loaded color register.

例えば、本発明を用いて、表示器に8角形を描画できる
。8角形の各セグメントを、始点及び終点を有するベク
トルとして定義する。次に各ベクトルを描画するが、第
1ベクトルの開始点から開始して、幾何学図を閉じる最
終ベク(・ルの1.り点まで持続する。8角形の各頂点
にて、次のベクトルの方向を変更する必要に応じて、新
たなオクタント情報を送って、オクタント・ピッ(・の
1つ以1ユを変更する。円も同様に描画できろ。従来方
法では、一連の短い直線セグメントにより円を近似する
のに、各短い直線セグメントの開始にて新たなアドレス
を送った。しかし、本発明では、孤のセグメントを含む
ようにベクトルの定義を拡張して、上述の8角形を基に
して、円を描画できる。孤の傾きの変更が、マイナー軸
方向におけるメジャー軸から0度及び45度の範囲外に
なるときに、新たなアドレスを送る必要がある。これら
原理を任意の曲線にも拡張できる。
For example, the present invention can be used to draw an octagon on a display. Define each segment of the octagon as a vector with a starting point and an ending point. Each vector is then drawn, starting from the starting point of the first vector and continuing until the final vector (1.ri point) that closes the geometric diagram. At each vertex of the octagon, the next vector As needed to change the direction of the octant, send new octant information to change one or more of the octants. Circles can be drawn in the same way. Traditional methods draw a series of short straight line segments. To approximate a circle, we sent a new address at the start of each short straight line segment.However, we extend the vector definition to include arc segments and use the octagon base described above. , we can draw a circle.When the change in the slope of the arc is outside the range of 0 degrees and 45 degrees from the major axis in the minor axis direction, we need to send a new address.These principles can be applied to any curve It can also be extended to

(ベクトル・ブリット・モード) 第18図において、表示リスト内の8ビツト・オペコー
ドの存在により、ベクトル・ブリット動作が開始し、こ
れにより、マイクロコード・エンジンは、上述のベクト
ル・ブリット書込み又は読出し処理を実行する。コマン
ド構造は、ベクトルに沿ってフレーム・バッファに書き
込まれるピクセルの配列のオフ・スクリーン・メモリ位
置に対する、又はベクトルに沿ってフレーム・バッファ
から読み出したピクセルを蓄積ずべきポインタを含んで
いる。これには、移動、描画又は読出しコマンドの従来
のシーケンサが続き、これにより、書込み又は読出しを
実行すべきベクトルの開始及び終点を定義する。
(Vector Blit Mode) In Figure 18, the presence of an 8-bit opcode in the display list initiates a vector blit operation, which causes the microcode engine to perform the vector blit write or read operation described above. Execute. The command structure includes pointers to off-screen memory locations of an array of pixels to be written to the frame buffer along a vector, or to accumulate pixels read from the frame buffer along a vector. This is followed by a conventional sequencer of move, draw or read commands, which define the start and end points of the vector to be written or read.

8角形又は円又は他のベクトル定義図をスクリーン上に
一時的に配置するならば、ベクトルを2回横切る。最初
は、ベクトル・ブリット読出しを実行して、フレーム・
バッファからのベクトルに沿った前のピクセル値をオフ
・スクリーン・メモリにセーブする。次に、ベクトル描
画をベクトルの同じセットに沿って実行し、新たなベク
トル定義図をスクリーン表示用フレーム・バッファ内に
書込む。図が除去又は移動されるとき、ベクトル・ブリ
ット書込み手順を読出して、前に蓄積したデータをフレ
ーム・バッファに再生し、蓄積された図のピクセルを重
ね書きする。これらベクトル・ブリット動作の各々は、
TBUSを介して、メイン・メモリ及びフレーム・バッ
ファ間でピクセル値を転送する。各ベクトル・ブリット
動作は、ベクl−Jし・フ゛リット・モードをi冬わら
せるオペコードにより、終了する。
If you temporarily place an octagon or circle or other vector-defined diagram on the screen, cross the vector twice. First, perform a vector blit read and read the frame.
Save the previous pixel value along the vector from the buffer to off-screen memory. Vector drawing is then performed along the same set of vectors and a new vector definition diagram is written into the frame buffer for screen display. When a figure is removed or moved, a vector blit write procedure is read to restore the previously accumulated data to the frame buffer and overwrite the accumulated figure pixels. Each of these vector blit operations is
Transfer pixel values between main memory and frame buffer via TBUS. Each vector blit operation is terminated by an opcode that inverts the vector blit mode.

(分布されたFIFO制御) 第17図は、分布されたFIFOパイプライン構造及び
方法の原理を示す。板上え、パイプ段の処理時間が萱な
る又は変化しても、これは、性能に形容することなく、
パイプラインを容易に拡張できる。これは、第9図に示
すように、パイプ段の間にファースト・イン・ファース
1−・アウト(FIFO)を分布することにより実現さ
れる。
(Distributed FIFO Control) FIG. 17 shows the principle of the distributed FIFO pipeline structure and method. Even if the processing time of the board and pipe stages increases or changes, this will not affect the performance.
Pipelines can be easily expanded. This is accomplished by distributing first-in-first-out (FIFOs) between pipe stages, as shown in FIG.

透明ラッチ(300)、(301)を各パイプ段の前段
に付加し、各パイプ段処理(302)、(304)の入
力にて、1デイープFIFOとして動作させる。代わり
に、透明ラッチ及びレジスタ(図示せず)を用いて、2
(又はそれ以上の)ディープFIFOとして動作させる
ことができる。
Transparent latches (300) and (301) are added to the front stage of each pipe stage, and operate as a 1-deep FIFO at the input of each pipe stage process (302) and (304). Alternatively, transparent latches and resistors (not shown) can be used to
(or more) can be operated as a deep FIFO.

また、各パイプ段は、出力レジスタ(306)、(30
B)も具えている。現在の段が、前の、即ち、上流段か
ら送られたデータを受ける準備ができていないとき、F
IFOを用いて、このデータを蓄積する。パイプライン
・クロック(ライン(312))がクロックする制御レ
ジスタ(310)、(311)を各段に付加して、次の
保持信号(ライン(314))を前の、即ち、上流段に
送る前に1、次の、即ち、下流段(図示せず)から送ら
れた現在の保持(IR)信号(ライン(315))をラ
ッチする。各段にて、制御レジスタに入力された保持信
号とそれ自体の段からのビジィ信号との論理和を取るの
で、下流保持信号(ライン(315) )又はビジィ信
号(ライン(317))の一方又は両方がセントされた
時、次の上流保持信号(ライン(314))をセラl−
する。
Each pipe stage also has an output register (306), (30
B) is also included. When the current stage is not ready to receive data sent from the previous or upstream stage, F
This data is stored using IFO. A control register (310), (311) clocked by the pipeline clock (line (312)) is added to each stage to send the next holding signal (line (314)) to the previous, i.e., upstream stage. Latch the previous one, next, or current hold (IR) signal (line (315)) sent from the downstream stage (not shown). Each stage logically ORs the hold signal input to the control register with the busy signal from its own stage, so either the downstream hold signal (line (315)) or the busy signal (line (317)) or when both are sent, send the next upstream hold signal (line (314)) to the cell l-
do.

便宜上、現在の段(301)を段r1として、表してい
る。前の、即ら、上流段(300)は、丁1−1で示し
、次の、即ち、下流段(300)は、n+−1で示す。
For convenience, the current stage (301) is represented as stage r1. The previous or upstream stage (300) is designated by 1-1 and the next or downstream stage (300) is designated by n+-1.

パイプ段nが次のデータの虫歯ができている限り、それ
は「ビジィn」信号(ライン(31B))を発生しない
ので、次のクロック・サイクル朋間中、「保持n」信号
をパイプ制御〕Iライン(314)に送らない。パイプ
段nが新j1ニなデータに対して準備ができていないな
らば、この段は、「ビジィn」信号を発生ずる。「ビジ
ィnJ信号をクロック・サイクルの終わりにて、レジス
タnにラッチし、ライン(314)に「保持n」信号を
発生する。「保持nJ倍信号存在により、ラッチn(3
01)は、前のクロック・サイクルからのデータ及びパ
イプ段n−1(302)の信号を保持でき、「保持n」
信剥がなくなるまで、現在のデータを送り続ける。デー
タをラッチし、保持信号を転送する処理がパイプライン
を進み続けるので、「保持n」信号の存在により、次の
クロック・サイクル期間中、「保持n−1」信号h<ラ
イン(313)上に発生される。事実、保持信号は、デ
ータと逆方向に、パイプラインする。
As long as pipe stage n is ready for the next data, it will not generate a "busy n" signal (line (31B)), so pipe control the "hold n" signal during the next clock cycle. Do not send to I line (314). If pipe stage n is not ready for new data, this stage generates a "busy n" signal. Latch the ``busy nJ'' signal into register n at the end of the clock cycle and generate a ``hold n'' signal on line (314). ``Due to the presence of the hold nJ times signal, the latch n(3
01) can hold the data from the previous clock cycle and the signal of pipe stage n-1 (302);
Continue sending the current data until there is no longer any disconnection. As the process of latching data and transferring hold signals continues to advance down the pipeline, the presence of the "hold n" signal causes the "hold n-1" signal h< on line (313) to occurs in In fact, the hold signal is pipelined in the opposite direction to the data.

本発明の好適な実施例について説明したが、本発明の要
旨を逸脱することなく種六の変更が可能である。
Although preferred embodiments of the invention have been described, six modifications can be made without departing from the spirit of the invention.

〔発明の効果〕〔Effect of the invention〕

上述の如く本発明によれば、ピクセル・データを発生ず
ると共に、フレーム・バッファとの間でこのピクセル・
データを伝送する改良されたアーキテクチャ及び通信プ
ロトコルを用いたマスク走査表示装置4及び図形データ
転送方法が提供できる。
As described above, according to the present invention, pixel data is generated and this pixel data is transferred between the frame buffer and the frame buffer.
A mask scanning display device 4 and method of transferring graphical data can be provided that uses an improved architecture and communication protocol for transmitting data.

また、オフ・スクリーン(オフ表示)メモリを設けてい
るので、カーソルやアイコン、またカーソルの下の画像
のピクセルをこのオフ・スクリーン・メモリに蓄積して
おくことができる。よって、フレーム・バッファとこの
オフ・スクリーン・メモリとの間でベクトル・ブリット
等により、効率的にセーブ/再生ができる。さらに、図
形データを転送する際のパイプラインには、FIFOが
設けられているので、各パイプ段の動作速度の違いを吸
収できる。よって、高速なパイプラインを容易に利用で
きる。
Additionally, an off-screen (off-display) memory is provided so that the cursor, icon, and image pixels under the cursor can be stored in this off-screen memory. Therefore, efficient saving/reproduction can be performed by vector blitting or the like between the frame buffer and this off-screen memory. Furthermore, since a FIFO is provided in the pipeline for transferring graphic data, differences in operating speeds of each pipe stage can be absorbed. Therefore, a high-speed pipeline can be easily used.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は、本発明を用いた図形システムのa能ブロック
図である。 第2図は、第1図に示したアプリケーション・システム
のソフトウェア・アーキテクチャの機能ブロック図であ
る。 第3図は、第1図に示した表示システムの機能ブロック
図である。 第4図は、第3図に示した表示システムの好適な物理的
インプリメンテ−シー、lンのブロック図である。 第5図は、第4図に示した制御プロセスのブロック図で
ある。 第6図は、第3図に示した図形パイプラインのデータ流
れ図である。 第7図は、図形パイプラインの構造の2つの例の前略化
したブロック図である。 第8図は、第7図の図形パイプラインに用いるZバッフ
ァの高レベルなブロック図である。 第9図は、第7図の図形パイプラインのローカル表示パ
ス部分のより詳細なブロック図である。 第10A〜第10F図は、ローカル表示バスによる読出
し及び書込み動作例のタイミング図である。 第11図は、第7図の図形パイプラインに用いる画像プ
ロセッサ(PP2)の全体的なブロック図である。 第12A1、第12A2、第12B、第12C及び第1
2D図は、第11図の画像プロセッサのより詳細なブロ
ック図である。 第13図は、第3図のシステムに蓄積された画像データ
用のフレーム・バッファ制御回路の全体的なブロック図
である。 第14図は、第13図の回路に用いているフレーム・バ
ッファ制御器の好適なインプリメンテーションのより詳
細なブロック図である。 第15図は、フレーム・バッファ制御回路の動作を示す
ブロック図である。 第16A、第16B及び第16C図は、第12C図のプ
ロセッサの動作の処理を示す流れ図である。 第17図は、第8及び第15図の回路に用いた分布FI
FO処理のより詳細なブロック図である。 第18図は、インストラクシジン処理を示す図である。 図において、(22)は図形データ発生手段、(34)
は図形パイプライン、(50)は処理手段、(54)は
フレーム・バッファ、(58)はマスク走査表示手段で
ある。
FIG. 1 is a functional block diagram of a graphics system using the present invention. FIG. 2 is a functional block diagram of the software architecture of the application system shown in FIG. FIG. 3 is a functional block diagram of the display system shown in FIG. 1. FIG. 4 is a block diagram of a preferred physical implementation of the display system shown in FIG. FIG. 5 is a block diagram of the control process shown in FIG. 4. FIG. 6 is a data flow diagram of the graphics pipeline shown in FIG. FIG. 7 is a simplified block diagram of two examples of the structure of a graphics pipeline. FIG. 8 is a high level block diagram of the Z buffer used in the graphics pipeline of FIG. FIG. 9 is a more detailed block diagram of the local display path portion of the graphics pipeline of FIG. 10A-10F are timing diagrams of example read and write operations on the local display bus. FIG. 11 is an overall block diagram of the image processor (PP2) used in the graphic pipeline of FIG. 12th A1, 12th A2, 12th B, 12th C and 1st
The 2D diagram is a more detailed block diagram of the image processor of FIG. 11. FIG. 13 is an overall block diagram of a frame buffer control circuit for image data stored in the system of FIG. FIG. 14 is a more detailed block diagram of a preferred implementation of the frame buffer controller used in the circuit of FIG. 13. FIG. 15 is a block diagram showing the operation of the frame buffer control circuit. Figures 16A, 16B, and 16C are flowcharts illustrating the operation of the processor of Figure 12C. Figure 17 shows the distribution FI used in the circuits of Figures 8 and 15.
FIG. 3 is a more detailed block diagram of FO processing. FIG. 18 is a diagram illustrating instructin processing. In the figure, (22) is a graphic data generation means, (34)
(50) is a processing means, (54) is a frame buffer, and (58) is a mask scanning display means.

Claims (1)

【特許請求の範囲】 1、表示画像を定義する図形コマンドを発生する図形デ
ータ発生手段と、 図形データを表示するラスタ走査表示手段と、アドレス
及び各ピクセルの値を含むピクセル・データに上記図形
コマンドを変換する処理手段と、 上記ピクセル・データを蓄積し、該ピクセル・データを
上記表示手段に出力するフレーム・バッファ手段と、 上記処理手段からのピクセル・データを上記フレーム・
バッファ内に蓄積するように制御するフレーム・バッフ
ァ制御手段と、 図形画像の一部を蓄積するオフ表示メモリ手段と、 上記フレーム・バッファ手段からのピクセル・データを
読出し、ベクトルで決まる上記フレーム・バッファ・ア
ドレスに応じて、上記ピクセル・データを上記オフ表示
メモリ手段に蓄積する手段とを具えることを特徴とする
ラスタ走査表示装置。 2、各ピクセルのアドレス及び値を含むピクセル・デー
タ形式の図形データを、画像プロセッサ及びラスタ走査
表示用フレーム・バッファ間で転送する方法において、 バスに沿ったパイプラインにおける一連の連続したパイ
プ段として、処理手段及びフレーム・バッファ手段を構
成し、 各パイプ段にて、ファースト・イン・ファースト・アウ
ト手段を設け、クロック信号に応じて、上流パイプ段か
ら下流パイプ段にピクセル・データを転送し、 クロック信号及び上記下流パイプ段からの保持信号によ
り各パイプ段を制御し、上記保持信号がなくなるまで上
記パイプ段の動作を保持し、上記下流パイプ段から上記
上流パイプ段へ保持信号を転送し、各上流パイプ段保持
信号を上記クロック信号により制御し、上記下流パイプ
段からの保持信号及び上記上流パイプ段からのビジィ信
号との論理和を求め、 対応する上記パイプ段保持信号により上記各上流パイプ
段のファースト・イン・ファースト・アウト手段を制御
することを特徴とする図形データ転送方法。
[Scope of Claims] 1. Graphic data generation means for generating graphic commands that define a display image; raster scanning display means for displaying graphic data; processing means for converting the pixel data into the frame buffer means for storing the pixel data and outputting the pixel data to the display means;
frame buffer control means for controlling accumulation in a buffer; off-display memory means for accumulating a portion of a graphical image; and frame buffer control means for reading out pixel data from said frame buffer means and controlling said frame buffer determined by a vector. - means for storing said pixel data in said off-display memory means in response to an address. 2. A method for transferring graphics data in the form of pixel data, including the address and value of each pixel, between an image processor and a frame buffer for raster scan display, as a series of successive pipe stages in a pipeline along a bus. , processing means and frame buffer means; in each pipe stage, first-in first-out means are provided for transferring pixel data from the upstream pipe stage to the downstream pipe stage in response to a clock signal; controlling each pipe stage with a clock signal and a hold signal from the downstream pipe stage, holding the operation of the pipe stage until the hold signal is removed, and transferring the hold signal from the downstream pipe stage to the upstream pipe stage; Each upstream pipe stage hold signal is controlled by the clock signal, the logical sum of the hold signal from the downstream pipe stage and the busy signal from the upstream pipe stage is calculated, and the corresponding pipe stage hold signal is used to control each of the upstream pipes. A graphic data transfer method characterized by controlling first-in/first-out means of stages.
JP63253681A 1987-10-26 1988-10-07 Raster scan display device and graphic data transfer method Expired - Lifetime JPH0727571B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11392787A 1987-10-26 1987-10-26
US113927 1987-10-26

Publications (2)

Publication Number Publication Date
JPH01129371A true JPH01129371A (en) 1989-05-22
JPH0727571B2 JPH0727571B2 (en) 1995-03-29

Family

ID=22352341

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63253681A Expired - Lifetime JPH0727571B2 (en) 1987-10-26 1988-10-07 Raster scan display device and graphic data transfer method

Country Status (2)

Country Link
JP (1) JPH0727571B2 (en)
GB (3) GB2211706B (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012217189A (en) * 2003-08-13 2012-11-08 Qualcomm Inc Signal interface for higher data rates
US8625625B2 (en) 2004-03-10 2014-01-07 Qualcomm Incorporated High data rate interface apparatus and method
US8630318B2 (en) 2004-06-04 2014-01-14 Qualcomm Incorporated High data rate interface apparatus and method
US8650304B2 (en) 2004-06-04 2014-02-11 Qualcomm Incorporated Determining a pre skew and post skew calibration data rate in a mobile display digital interface (MDDI) communication system
US8667363B2 (en) 2004-11-24 2014-03-04 Qualcomm Incorporated Systems and methods for implementing cyclic redundancy checks
US8670457B2 (en) 2003-12-08 2014-03-11 Qualcomm Incorporated High data rate interface with improved link synchronization
US8681817B2 (en) 2003-06-02 2014-03-25 Qualcomm Incorporated Generating and implementing a signal protocol and interface for higher data rates
US8687658B2 (en) 2003-11-25 2014-04-01 Qualcomm Incorporated High data rate interface with improved link synchronization
US8694663B2 (en) 2001-09-06 2014-04-08 Qualcomm Incorporated System for transferring digital data at a high rate between a host and a client over a communication path for presentation to a user
US8694652B2 (en) 2003-10-15 2014-04-08 Qualcomm Incorporated Method, system and computer program for adding a field to a client capability packet sent from a client to a host
US8692839B2 (en) 2005-11-23 2014-04-08 Qualcomm Incorporated Methods and systems for updating a buffer
US8692838B2 (en) 2004-11-24 2014-04-08 Qualcomm Incorporated Methods and systems for updating a buffer
US8705521B2 (en) 2004-03-17 2014-04-22 Qualcomm Incorporated High data rate interface apparatus and method
US8719334B2 (en) 2003-09-10 2014-05-06 Qualcomm Incorporated High data rate interface
US8730069B2 (en) 2005-11-23 2014-05-20 Qualcomm Incorporated Double data rate serial encoder
US8745251B2 (en) 2000-12-15 2014-06-03 Qualcomm Incorporated Power reduction system for an apparatus for high data rate signal transfer using a communication protocol
US8756294B2 (en) 2003-10-29 2014-06-17 Qualcomm Incorporated High data rate interface
US8873584B2 (en) 2004-11-24 2014-10-28 Qualcomm Incorporated Digital data interface device

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69033283T2 (en) * 1989-07-28 1999-12-30 Hewlett-Packard Co., Palo Alto Method and device for accelerating picture windows in graphic systems
CA2050658C (en) * 1990-09-14 1997-01-28 John M. Peaslee Dual hardware channels and hardware context switching in a graphics rendering processor
US5289577A (en) * 1992-06-04 1994-02-22 International Business Machines Incorporated Process-pipeline architecture for image/video processing
US5450599A (en) * 1992-06-04 1995-09-12 International Business Machines Corporation Sequential pipelined processing for the compression and decompression of image data
US5838334A (en) * 1994-11-16 1998-11-17 Dye; Thomas A. Memory and graphics controller which performs pointer-based display list video refresh operations
US6067098A (en) * 1994-11-16 2000-05-23 Interactive Silicon, Inc. Video/graphics controller which performs pointer-based display list video refresh operation
US6002411A (en) * 1994-11-16 1999-12-14 Interactive Silicon, Inc. Integrated video and memory controller with data processing and graphical processing capabilities
US5611041A (en) * 1994-12-19 1997-03-11 Cirrus Logic, Inc. Memory bandwidth optimization
JPH0999031A (en) * 1995-10-05 1997-04-15 Rieko Moto Blood circulation promoting instrument
TW498273B (en) * 1997-07-25 2002-08-11 Koninkl Philips Electronics Nv Digital monitor
US6694379B1 (en) * 1999-04-09 2004-02-17 Sun Microsystems, Inc. Method and apparatus for providing distributed clip-list management
US6567091B2 (en) 2000-02-01 2003-05-20 Interactive Silicon, Inc. Video controller system with object display lists
CN102576296A (en) * 2009-07-02 2012-07-11 自由科学有限公司 Vector-based magnified pointer

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62106562A (en) * 1985-11-01 1987-05-18 Mitsubishi Electric Corp Processing unit for digital signal
JPS62144283A (en) * 1985-12-18 1987-06-27 Fujitsu Ltd Pipeline control method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2426296A1 (en) * 1978-05-18 1979-12-14 Thomson Csf VECTOR GENERATOR FOR GRAPHIC CONSOLE

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62106562A (en) * 1985-11-01 1987-05-18 Mitsubishi Electric Corp Processing unit for digital signal
JPS62144283A (en) * 1985-12-18 1987-06-27 Fujitsu Ltd Pipeline control method

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8745251B2 (en) 2000-12-15 2014-06-03 Qualcomm Incorporated Power reduction system for an apparatus for high data rate signal transfer using a communication protocol
US8694663B2 (en) 2001-09-06 2014-04-08 Qualcomm Incorporated System for transferring digital data at a high rate between a host and a client over a communication path for presentation to a user
US8812706B1 (en) 2001-09-06 2014-08-19 Qualcomm Incorporated Method and apparatus for compensating for mismatched delays in signals of a mobile display interface (MDDI) system
US8681817B2 (en) 2003-06-02 2014-03-25 Qualcomm Incorporated Generating and implementing a signal protocol and interface for higher data rates
US8700744B2 (en) 2003-06-02 2014-04-15 Qualcomm Incorporated Generating and implementing a signal protocol and interface for higher data rates
US8705579B2 (en) 2003-06-02 2014-04-22 Qualcomm Incorporated Generating and implementing a signal protocol and interface for higher data rates
JP2012217189A (en) * 2003-08-13 2012-11-08 Qualcomm Inc Signal interface for higher data rates
US8705571B2 (en) 2003-08-13 2014-04-22 Qualcomm Incorporated Signal interface for higher data rates
US8719334B2 (en) 2003-09-10 2014-05-06 Qualcomm Incorporated High data rate interface
US8694652B2 (en) 2003-10-15 2014-04-08 Qualcomm Incorporated Method, system and computer program for adding a field to a client capability packet sent from a client to a host
US8756294B2 (en) 2003-10-29 2014-06-17 Qualcomm Incorporated High data rate interface
US8687658B2 (en) 2003-11-25 2014-04-01 Qualcomm Incorporated High data rate interface with improved link synchronization
US8670457B2 (en) 2003-12-08 2014-03-11 Qualcomm Incorporated High data rate interface with improved link synchronization
US8730913B2 (en) 2004-03-10 2014-05-20 Qualcomm Incorporated High data rate interface apparatus and method
US8669988B2 (en) 2004-03-10 2014-03-11 Qualcomm Incorporated High data rate interface apparatus and method
US8625625B2 (en) 2004-03-10 2014-01-07 Qualcomm Incorporated High data rate interface apparatus and method
US8705521B2 (en) 2004-03-17 2014-04-22 Qualcomm Incorporated High data rate interface apparatus and method
US8650304B2 (en) 2004-06-04 2014-02-11 Qualcomm Incorporated Determining a pre skew and post skew calibration data rate in a mobile display digital interface (MDDI) communication system
US8630318B2 (en) 2004-06-04 2014-01-14 Qualcomm Incorporated High data rate interface apparatus and method
US8692838B2 (en) 2004-11-24 2014-04-08 Qualcomm Incorporated Methods and systems for updating a buffer
US8667363B2 (en) 2004-11-24 2014-03-04 Qualcomm Incorporated Systems and methods for implementing cyclic redundancy checks
US8873584B2 (en) 2004-11-24 2014-10-28 Qualcomm Incorporated Digital data interface device
US8692839B2 (en) 2005-11-23 2014-04-08 Qualcomm Incorporated Methods and systems for updating a buffer
US8730069B2 (en) 2005-11-23 2014-05-20 Qualcomm Incorporated Double data rate serial encoder

Also Published As

Publication number Publication date
GB2245129A (en) 1991-12-18
GB2245129B (en) 1992-04-08
GB9114231D0 (en) 1991-08-21
JPH0727571B2 (en) 1995-03-29
GB2211706B (en) 1992-04-08
GB9114232D0 (en) 1991-08-21
GB8824331D0 (en) 1988-11-23
GB2211706A (en) 1989-07-05
GB2245130A (en) 1991-12-18
GB2245130B (en) 1992-04-08

Similar Documents

Publication Publication Date Title
US5185599A (en) Local display bus architecture and communications method for Raster display
JPH01129371A (en) Raster scan display device and graphic data transfer
KR960003041B1 (en) Extendable multiple image-buffer for graphics systems
US5917502A (en) Peer-to-peer parallel processing graphics accelerator
US5706478A (en) Display list processor for operating in processor and coprocessor modes
US6377266B1 (en) Bit BLT with multiple graphics processors
US5664162A (en) Graphics accelerator with dual memory controllers
US9026745B2 (en) Cross process memory management
KR100882842B1 (en) Geometry processing method and method for using Pappo as a post vertex cache
US9384583B2 (en) Network distributed physics computations
US6166743A (en) Method and system for improved z-test during image rendering
KR20080067840A (en) 3D graphics accelerator and its pixel distribution method
EP2936492A1 (en) Multi-mode memory access techniques for performing graphics processing unit-based memory transfer operations
EP3357034B1 (en) Graphics processing unit preemption with pixel tile level granularity
US6864892B2 (en) Graphics data synchronization with multiple data paths in a graphics accelerator
US5553228A (en) Accelerated interface between processors and hardware adapters
US7898549B1 (en) Faster clears for three-dimensional modeling applications
US6952217B1 (en) Graphics processing unit self-programming
US5265203A (en) Hardware multiprocess scheduler in a graphics rendering processor
US5966142A (en) Optimized FIFO memory
JPH0714029A (en) Equipment and method for drawing of line
US6003098A (en) Graphic accelerator architecture using two graphics processing units for processing aspects of pre-rasterized graphics primitives and a control circuitry for relaying pass-through information
CA2030021A1 (en) System and method for atomic access to an input/output device with direct memory access
US6831660B1 (en) Method and apparatus for graphics window clipping management in a data processing system
US6885375B2 (en) Stalling pipelines in large designs