JPH08263035A - Pixel cache circuit - Google Patents
Pixel cache circuitInfo
- Publication number
- JPH08263035A JPH08263035A JP7102907A JP10290795A JPH08263035A JP H08263035 A JPH08263035 A JP H08263035A JP 7102907 A JP7102907 A JP 7102907A JP 10290795 A JP10290795 A JP 10290795A JP H08263035 A JPH08263035 A JP H08263035A
- Authority
- JP
- Japan
- Prior art keywords
- fifo
- cache
- image memory
- pixels
- page
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Image Processing (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
Description
この発明はコンピュータ・グラフィックスプロセッサに
おける画素の高速な画像メモリーへの書き込み構造に関
するものであり、画素をキャシュ・メモリーおよびFI
FO(First In First Out)に一時
記憶するとともに、FIFOに蓄積された連続するペー
ジ内データを画像メモリーにページモードを用いて書き
込むものである。The present invention relates to a structure for writing pixels to a high-speed image memory in a computer graphics processor, and the pixels are stored in a cache memory and FI.
The data is temporarily stored in an FO (First In First Out), and continuous in-page data accumulated in the FIFO is written in the image memory by using the page mode.
【0001】[従来の技術]座標値やその属性などの幾
何学的情報からスクリーン情報としての画素に変換し、
さらにその画素を画像メモリーに書き込むレンダリング
プロセスにおいて、画像メモリーバスのバンド幅を等価
的に高めるために従来ピクセルキャシュ(Pixel
Cache)と呼ばれるバッファを画素変換のためのD
DA(Digital Differencial A
nalizer)と画像メモリーとの間に設け、ここに
所定量の画素を一担高速に記憶した後、一括してこれら
を画像メモリーに転送する方法がとられている。ベクト
ル直線表示のようにそれぞれの傾きが異なる描画におい
てはキャシュのヒット率(直線がキャシュ内を通過する
率)が傾きに応じて異なり、キャシュ・サイズがm×n
の2次元配列とするとキャシュに記憶される画素量は最
小1画素から最大m画素(m≧n)となる。一方、画像
メモリーは通常DRAMが用いられるが、それらは画素
量にかかわらず1回のアクセス時間は一定である。この
結果、バンド幅は画像メモリーに一括して転送できる量
で決定されていた。また従来の構造においても画像メモ
リーとDDA間にFIFOを設けたものがあるが、この
発明の2次元配列キャシュとFIFOの組み合わせと比
較すると、FIFOだけを用いるベクトル描画において
はDDAとFIFO間では1次元書き込みとなり、転送
方式において待ち時間の発生で性能が劣る。またDDA
からのキャシュ・オーバーフロー速度が、画像メモリー
への転送速度を上回ると、FIFOはやがてフルの状態
となり長いベクトルでは大きな効果は得られない。この
発明は以上のような問題に鑑みてなされたものであり物
理的バス幅が一定条件のなかで、画像メモリーへの画素
の書き込み速度の向上、すなわち等価的にバンド幅の向
上を成すものである。[Prior Art] Geometrical information such as coordinate values and its attributes is converted into pixels as screen information,
Further, in the rendering process of writing the pixels to the image memory, in order to equivalently increase the bandwidth of the image memory bus, the conventional pixel cache (Pixel) is used.
A buffer called Cache) for pixel conversion
DA (Digital Differential A)
It is provided between an image memory and an image memory, a predetermined amount of pixels are stored in the image memory at high speed, and then these are collectively transferred to the image memory. When drawing with different slopes such as vector line display, the cache hit rate (the rate at which a straight line passes through the cache) differs depending on the slope, and the cache size is m × n.
In the two-dimensional array, the amount of pixels stored in the cache is from 1 pixel at the minimum to m pixels at the maximum (m ≧ n). On the other hand, as the image memory, a DRAM is usually used, but the access time for each of them is constant regardless of the pixel amount. As a result, the bandwidth has been determined by the amount that can be collectively transferred to the image memory. Further, there is a conventional structure in which a FIFO is provided between the image memory and the DDA. However, compared with the combination of the two-dimensional array cache and the FIFO of the present invention, in the vector drawing using only the FIFO, the DDA and the FIFO have one. Dimensional writing is used, and the performance is poor due to the occurrence of waiting time in the transfer method. Also DDA
If the cache overflow rate from the memory exceeds the transfer rate to the image memory, the FIFO will eventually become full and a long vector will not have a significant effect. The present invention has been made in view of the above problems, and improves the writing speed of pixels to the image memory, that is, the bandwidth is equivalently improved under the condition that the physical bus width is constant. is there.
【0002】[課題を解決するための手段]この発明で
は上記課題を解決するために、キャシュと画像メモリー
との間にFIFO(First In First O
ut)を設けるとともに、このFIFOには画素を記憶
するだけでなく、DDAによって生成される画像メモリ
ーのアドレスも同時に記憶する。FIFOにはキャシュ
がオーバーフローすると、その内容がただちにロードさ
れ所定の容量に達するまでこの動作をくり返す。一方キ
ャシュ・ブロック(キャシュに記憶されたすべての内
容)がロードされるとFIFOの出力ではこれを検出し
て画像メモリーに転送し、書き込みが完了する。もっと
も好ましい条件はFIFOがフルになる前にロードされ
たデータを画像メモリーに送り出すことである。この構
造でのFIFOの役割はFIFOの容量分だけ等価的に
キャシュ・サイズを拡大したことである。この発明では
このためにアドレスを記憶したFIFOを画素用FIF
Oとは独立して先読みすることによってそのアドレスが
画像メモリーのページモードに対応して連続するページ
内のアドレスであるか否かと、その連続アドレス数を検
出する。もしアドレスがページモードアクセスの可能な
連続性をもつ場合、(通常図形データは局所性をもつ)
画像メモリーに対しカラムアドレスによるページモード
アクセスタイミングを要求するとともに、画素用FIF
Oをこれに同期して連続して読み出す。画像メモリーは
通常DRAMで構成しており、この素子にはローおよび
カラムアドレスの2つのアドレス指定があり、1つのロ
ーアドレシングに対し複数のカラムアドレス指定を行う
ページモードがある。DDAからのX軸およびY軸のア
ドレスはこのローおよびカラムアドレスの2つのいずれ
かに属する。よってFIFOのアドレスを先読みして、
そのアドレスがページ内か否かの判定は、カラムアドレ
スのみの変化で、ローアドレスには変化がないことで容
易に判断がつく。ローアドレスに変化があった場合は、
ページ領域から外に出たものとして、このデータを画像
メモリーに書き込む場合は再びローアドレシングが必要
となる。ページアドレス検出回路はページ内に属するブ
ロック数を計数し、動的にページモード数を設定し、画
像メモリーをその数にもとづきタイミングを生成してア
クセスを行う。不連続な場合はローアドレスをアクセス
毎に与える。この発明の方法によって、画像メモリーの
バンド幅は20〜40%向上する。[Means for Solving the Problems] In order to solve the above problems, the present invention provides a FIFO (First In First Ore) between a cache and an image memory.
ut), not only the pixels are stored in this FIFO, but also the address of the image memory generated by the DDA is stored at the same time. When the cache overflows into the FIFO, its contents are immediately loaded and this operation is repeated until a predetermined capacity is reached. On the other hand, when the cache block (all contents stored in the cache) is loaded, it is detected at the output of the FIFO and transferred to the image memory to complete the writing. The most preferable condition is to send the loaded data to the image memory before the FIFO becomes full. The role of the FIFO in this structure is to expand the cache size equivalently by the capacity of the FIFO. For this reason, in the present invention, a FIFO storing an address is used as a pixel FIFO.
By prefetching independently of O, it is detected whether the address is an address within a continuous page corresponding to the page mode of the image memory and the number of continuous addresses. If the address has page-mode accessible continuity (usually graphic data has locality)
The page mode access timing by the column address is requested to the image memory, and the pixel FIFO
O is read continuously in synchronization with this. The image memory is usually composed of DRAM, and this element has two address designations, a row address and a column address, and has a page mode in which a plurality of column addresses are designated for one row addressing. The X-axis and Y-axis addresses from the DDA belong to either the row or column address. Therefore, the address of the FIFO is read in advance,
Whether or not the address is within the page can be easily determined because only the column address is changed and the row address is not changed. If there is a change in row address,
When this data is written to the image memory as if it has gone out of the page area, row addressing is required again. The page address detection circuit counts the number of blocks belonging to a page, dynamically sets the number of page modes, and generates timing in the image memory based on the number to perform access. In the case of discontinuity, a row address is given for each access. The method of the present invention improves the bandwidth of the image memory by 20-40%.
【0003】[実施例]1図はこの発明に関するピクセ
ルキャシュ構造を示す。DDA1ではベクトルあるいは
多角形塗りつぶしのための内挿点座標値が出力され、こ
の座標点に対し、予め設定された色情報からなる画素が
付帯される。この画素はピクセル(Pixel)と呼ば
れるが、この画素はDDAアドレスの下位アドレスによ
ってピクセルキャシュ2に一時的に記憶される。上位ア
ドレスは画像メモリーのアドレスとなる。ピクセルキャ
シュは2次元配列からなるバッファでm(Xアドレス)
×n(Yアドレス)の画素を記憶でき、画像メモリーに
対して1桁以上の高速なアクセスが可能なRAMで構成
される。DDAの動作にともないキャシュがオーバーフ
ローすると、通常、m×nを一括あるいはmビットをn
回にインターリーブして画像メモリー5に転送するが、
この発明ではm×n画素を一括してFIFO3にロード
する。FIFOはロードされる順序でそのデータを出力
するメモリーである。FIFOの出力は通常論理演算回
路4を介して画像メモリー5に接続される。FIFOは
2つのFIFO3aおよび3bに分割されており、3a
には画素が、3bにはそのキャシュのブロックアドレス
(DDAで発生した上位アドレス)が記憶される。回路
6はページアドレス検出回路を示す。FIFO3にデー
タ(画素およびアドレス)が逐次DDA側からロードさ
れると、ページ検出回路ではFIFO3bを連続して先
読みする。これはこの発明に関する2図に示すようにF
IFO3b出力アドレスがレジスタ7と比較器8に加え
られる。レジスタ7は複数のパイプライン状に接続され
た多段のレジスタで構成する。段数は最大ページ設定数
に等しい。たとえば最大8ページまで動的にページ数を
選択できるとすれば7段のレジスタとなる。比較器8で
は画像メモリーを構成するDRAM(Dynamic
Random Access Memory)のページ
モード機能をデータ書き込みアクセスとして利用するた
め、このメモリーのカラムアドレスに含まれるアドレス
の検出を行う。これにはレジスタ7の入力と出力を比較
器8で比較し、ローアドレスに変化がない場合はキャシ
ュ・ブロックアドレスは同一のローアドレス内と見な
し、ページモードが可能である。比較器8ではローアド
レスが変化するまで逐次アドレスをFIFO3bから読
み出し、この連続する読み出し回数をカウンタ9にて計
数する。こうしてローアドレスに変化のないアドレス数
を、ローアドレスが変化(あるいは計数値が一定数に達
したとき)するまでその数を計数すると、その後画像メ
モリーに対して、カウンタ9の数に対応したページ数の
ページモードアクセスをタイミング発生機能をもつシー
クエンサ10に要求する。この結果2図において画像メ
モリへのアドレスAと制御用タイミングTが出力され
る。画像メモリーがページモードに入ると、1図の画素
用FIFOはページアクセスサイクルに同期して読み出
され画素は画像メモリーに書き込まれる。よってこの発
明では連続するページ内アドレス数に依存して、動的に
1つのメモリサイクルタイム内のページ回数が変化す
る。この結果、画像メモリーが低速なDRAMであって
も、ページモードを利用することで、画像メモリーとレ
ンダリングプロセッサ間のバンド幅を向上することがで
きる。[Embodiment] FIG. 1 shows a pixel cache structure according to the present invention. The DDA 1 outputs an interpolated point coordinate value for filling a vector or polygon, and a pixel having preset color information is attached to this coordinate point. This pixel is called a pixel, but this pixel is temporarily stored in the pixel cache 2 by the lower address of the DDA address. The upper address is the address of the image memory. Pixel cache is a two-dimensional array buffer m (X address)
It is composed of a RAM that can store pixels of × n (Y address) and that can access the image memory at high speed by one digit or more. When the cache overflows due to the operation of the DDA, usually m × n is batched or m bits are n.
Interleaved and transferred to image memory 5,
In the present invention, m × n pixels are collectively loaded into the FIFO 3. The FIFO is a memory that outputs its data in the order that it is loaded. The output of the FIFO is normally connected to the image memory 5 via the logical operation circuit 4. The FIFO is divided into two FIFOs 3a and 3b, 3a
The pixel stores a block address of the cache (the upper address generated by the DDA) in 3b. Circuit 6 shows a page address detection circuit. When data (pixels and addresses) are sequentially loaded into the FIFO3 from the DDA side, the page detection circuit continuously prefetches the FIFO3b. This is as shown in FIG.
The IFO3b output address is applied to register 7 and comparator 8. The register 7 is composed of a plurality of multi-stage registers connected in a pipeline. The number of columns is equal to the maximum number of page settings. For example, if the number of pages can be dynamically selected up to a maximum of 8, the number of registers will be 7 stages. The comparator 8 is a DRAM (Dynamic) that constitutes an image memory.
Since the page mode function of Random Access Memory) is used as a data write access, the address contained in the column address of this memory is detected. For this, the input and output of the register 7 are compared by the comparator 8, and when there is no change in the row address, the cache block address is regarded as within the same row address, and the page mode is possible. The comparator 8 sequentially reads the addresses from the FIFO 3b until the row address changes, and the counter 9 counts the number of continuous readings. In this way, the number of addresses in which the row address does not change is counted until the row address changes (or when the count value reaches a certain number). Request several page mode accesses to the sequencer 10 with timing generation function. As a result, the address A and the control timing T are output to the image memory in FIG. When the image memory enters the page mode, the pixel FIFO shown in FIG. 1 is read in synchronization with the page access cycle and the pixels are written in the image memory. Therefore, according to the present invention, the number of pages within one memory cycle time dynamically changes depending on the number of consecutive addresses in the page. As a result, even if the image memory is a low-speed DRAM, it is possible to improve the bandwidth between the image memory and the rendering processor by using the page mode.
【0004】[効果]この発明によって従来コンピュー
タグラフィックシステムの高速化の最大の障害とされて
いた画像メモリーのバンド幅が改善され、100万多角
形/秒の高速描画が可能となった。[Effect] According to the present invention, the bandwidth of the image memory, which has hitherto been the biggest obstacle to speeding up the computer graphic system, has been improved, and high-speed drawing of 1 million polygons / second has become possible.
【図1】本発明のピクセルキャシュ回路 [符号の説明] 1 DDA 2 ピクセル・キャシュ 3a 画像用FIFO 3b アドレス用FIFO 4 論理演算回路 5 画像メモリー 6 ページアドレス検出回路FIG. 1 Pixel cache circuit of the present invention [Explanation of symbols] 1 DDA 2 Pixel cache 3a Image FIFO 3b Address FIFO 4 Logical operation circuit 5 Image memory 6 Page address detection circuit
【図2】本発明のページアドレス検出回路 [符号の説明] 3b アドレス用FIFO 7 レジスタ 8 比較器 9 カウンタ 10 タイミング・シークエンサFIG. 2 is a page address detection circuit of the present invention [Explanation of symbols] 3b address FIFO 7 register 8 comparator 9 counter 10 timing sequencer
Claims (1)
モリーに転送する構造に関し、画像メモリーとプロセッ
サとの間には2次元配列からなるピクセルキャシュ(P
ixel Cache)と、このキャシュ・メモリーに
記憶された画素と共に、画像メモリー・アドレスを同時
に記憶するFIFO(First InFirst O
ut)をそれぞれ設ける第1の手段と、画像メモリーを
構成するDRAM(Dynamic Random A
ccess Memory)とのアクセスに関して、ペ
ージアドレシングモードを実行するために、前記FIF
Oにデータがロードされると、アドレスバッファ用FI
FOを先読みして、連続するページ内アドレス数を計数
してページアクセス数を決定する回路を設ける第2の手
段と、ページ内アドレス数が決定されると、画像用FI
FO内のピクセルをページアクセスに同期して読みだ
し、これを画像メモリーに書き込む第3の手段を合わせ
もつピクセルキャシュ回路Regarding a structure for transferring pixels generated by a graphics processor to an image memory, a pixel cache (P) consisting of a two-dimensional array is provided between the image memory and the processor.
and an image cache address (FIFO) that simultaneously stores the image memory address together with the pixels stored in the cache memory.
ut) and a DRAM (Dynamic Random A) that constitutes an image memory.
access memory to access the page memory in order to execute the page addressing mode.
When data is loaded into O, FI for address buffer
Second means for providing a circuit for prefetching FO and counting the number of consecutive in-page addresses to determine the number of page accesses; and, when the number of in-page addresses is determined, the FI for image
Pixel cache circuit having third means for reading out pixels in the FO in synchronization with page access and writing the same in the image memory
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7102907A JPH08263035A (en) | 1995-03-22 | 1995-03-22 | Pixel cache circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7102907A JPH08263035A (en) | 1995-03-22 | 1995-03-22 | Pixel cache circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH08263035A true JPH08263035A (en) | 1996-10-11 |
Family
ID=14339937
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7102907A Pending JPH08263035A (en) | 1995-03-22 | 1995-03-22 | Pixel cache circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH08263035A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100441080B1 (en) * | 2002-07-31 | 2004-07-21 | 학교법인연세대학교 | operation method of pixel cache architecture in three-dimensional graphic accelerator |
CN110636219A (en) * | 2019-09-03 | 2019-12-31 | 北京三快在线科技有限公司 | Video data stream transmission method and device |
-
1995
- 1995-03-22 JP JP7102907A patent/JPH08263035A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100441080B1 (en) * | 2002-07-31 | 2004-07-21 | 학교법인연세대학교 | operation method of pixel cache architecture in three-dimensional graphic accelerator |
CN110636219A (en) * | 2019-09-03 | 2019-12-31 | 北京三快在线科技有限公司 | Video data stream transmission method and device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5828382A (en) | Apparatus for dynamic XY tiled texture caching | |
US5606650A (en) | Method and apparatus for storage and retrieval of a texture map in a graphics display system | |
JP3350043B2 (en) | Graphic processing apparatus and graphic processing method | |
US5621866A (en) | Image processing apparatus having improved frame buffer with Z buffer and SAM port | |
US6741256B2 (en) | Predictive optimizer for DRAM memory | |
KR100255259B1 (en) | Circuits, systems and methods for interfacing processing circuitry with a memory | |
EP0658858B1 (en) | Graphics computer | |
JPS5952286A (en) | Video ram writing control system | |
JP4699036B2 (en) | Graphics hardware | |
EP0827082B1 (en) | Semiconductor memory having arithmetic function | |
JPH08263035A (en) | Pixel cache circuit | |
US6108746A (en) | Semiconductor memory having an arithmetic function and a terminal arrangement for coordinating operation with a higher processor | |
JPS60217387A (en) | Crt display unit | |
JP2966182B2 (en) | Computer system | |
CN116957939A (en) | Image scaling method, device, electronic equipment and readable storage medium | |
JPS6218595A (en) | Display unit | |
JPH07118006B2 (en) | Image processing device | |
JPS59210485A (en) | Video ram controlling circuit | |
JPS5945157B2 (en) | Image memory - writing speed conversion circuit | |
JPS60249184A (en) | Memory for bit map display | |
KR100327376B1 (en) | apparatus for data store in digital broadcasting | |
JPH07320053A (en) | Image rotation processor | |
JPS63195696A (en) | Fast lithography | |
JPS62133484A (en) | Image display unit | |
JPH05224646A (en) | Display device |