KR100273267B1 - High speed z-buffer circuit using fifo - Google Patents

High speed z-buffer circuit using fifo Download PDF

Info

Publication number
KR100273267B1
KR100273267B1 KR1019970078883A KR19970078883A KR100273267B1 KR 100273267 B1 KR100273267 B1 KR 100273267B1 KR 1019970078883 A KR1019970078883 A KR 1019970078883A KR 19970078883 A KR19970078883 A KR 19970078883A KR 100273267 B1 KR100273267 B1 KR 100273267B1
Authority
KR
South Korea
Prior art keywords
address
buffer
value
values
buffer memory
Prior art date
Application number
KR1019970078883A
Other languages
Korean (ko)
Other versions
KR19990058729A (en
Inventor
오근창
Original Assignee
김영환
현대반도체주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김영환, 현대반도체주식회사 filed Critical 김영환
Priority to KR1019970078883A priority Critical patent/KR100273267B1/en
Publication of KR19990058729A publication Critical patent/KR19990058729A/en
Application granted granted Critical
Publication of KR100273267B1 publication Critical patent/KR100273267B1/en

Links

Images

Landscapes

  • Image Generation (AREA)
  • Image Processing (AREA)

Abstract

PURPOSE: A high speed Z-buffer circuit using first in first out machine is provided to improve performance of three dimensional graphic by executing motion that reads data from Z-buffer memory during executing pixel interpolation. CONSTITUTION: A Z-address free pitch part(102) calculates Z-address of pixel on a span being transmitted X, Y value from a graphic processor(101), outputs the results at Z-address Q storage part(104) in orders, and stores a page address which is an upper address bit of Z-address in Z-address page resistor(105). A Z-buffer interface logic part(107) reads and writes data from Z-buffer memory(108A-108N) at Z-first in first out machine(103) if it is possible to transmit each other after checking the state of Z-first in first out machine(103) and Z-buffer memory(108A-108N). A first in first out controller(109) checks the state of Z-first in first out machine(103), let other parts know whether it is empty or full and simultaneously generates a write address of Z-first in first out machine(103). A frame buffer interface part(110) is supplied with Z value, and decides a validity and void about WPIX signal comparing new Z value and the previous Z value.

Description

선입선출기를 이용한 고속 제트 버퍼 회로High Speed Jet Buffer Circuit Using First In First Out

본 발명은 3차원 그래픽 처리 시스템에서 메모리 리드에 의한 대기시간을 줄이는 기술에 관한 것으로, 특히 제트-비교(Z-Comparing)를 수행하기 이전에 보간이 진행되고 있는 픽셀의 제트-버퍼 메모리의 어드레스를 미리 계산한 다음 해당하는 과거 제트 값(Old Z-value)을 제트-버퍼 메모리로 부터 읽어들여 선입선출기에 저장하도록한 선입선출기를 이용한 고속 제트 버퍼 회로에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a technique for reducing latency caused by memory reads in a three-dimensional graphics processing system. In particular, the present invention relates to an address of a jet-buffer memory of a pixel that is being interpolated before performing Z-Comparing. The present invention relates to a fast jet buffer circuit using a first-in-first-out machine that precalculates and then stores the corresponding old Z-values from the jet-buffer memory and stores them in the first-in, first-out.

3차원 그래픽 시스템에서 3차원 오브젝트(3D Object)들을 2차원 스크린에 디스플레이하고자 할 때 오브젝트의 일부 픽셀들이 앞에 있는 오브젝트에 가려서 디스플레이되지 않을 수 있다. 이렇게 안보이는 픽셀들을 프레임 메모리에 RGB값이 기록되기 전에 찾아내야 하는데, 이러한 동작을 "Z-buffering(제트-버퍼링)" 이라 한다.When a 3D object is to be displayed on a 2D screen in a 3D graphics system, some pixels of the object may be hidden due to the object in front of the object. These invisible pixels must be found before the RGB values are written to the frame memory. This behavior is called "Z-buffering".

도 1은 종래 기술에 의한 Z-버퍼링 회로의 블록도로서 이에 도시한 바와 같이, 현재 입력되고 있는 영상신호에 대해 보간을 수행하는 그래픽 프로세서(1)와; 상기 그래픽 프로세서(1)로 부터 공급받은 현재 디스플레이될 픽셀의 Z 값과 Z-버퍼 메모리(5A-5N)로 부터 읽은 같은 좌표상에 위치한 픽셀의 이전 Z 값을 비교하여 디스플레이 여부를 결정하는 Z-버퍼 로직부(2)와: 상기 Z-버퍼 로직부(2)에서 출력되는 영상신호를 디스플레이하기 위한 디스플레이 인터페이스부(3) 및 디스플레이 장치(4)와; 이전의 Z 값을 저장하고 있는 다수개의 Z-버퍼 메모리(5A-5N)로 구성된 것으로, 이의 작용을 도 2를 참조하여 설명하면 다음과 같다.1 is a block diagram of a Z-buffering circuit according to the prior art, and as shown therein, a graphics processor 1 for performing interpolation on a video signal currently being input; Z- to determine whether to display by comparing the Z value of the pixel to be displayed currently supplied from the graphics processor 1 with the previous Z value of the pixel located on the same coordinates read from the Z-buffer memory 5A-5N. A buffer logic section (2): a display interface section (3) and a display device (4) for displaying an image signal output from the Z-buffer logic section (2); It is composed of a plurality of Z-buffer memories 5A-5N storing previous Z values. The operation thereof is described below with reference to FIG. 2.

그래픽 프로세서(1)는 보간이 진행되는 픽셀의 적,녹,청색용 신호R,G,B 값과 X,Y 좌표값 그리고 Z(depth value)을 Z-버퍼 로직부(2)측으로 출력한다. 그런데, 상기 Z-버퍼 로직부(2)가 어떠한 이유로 인하여 기능정지(stall) 상태에 있을 경우, 그 Z-버퍼 로직부(2)는 그래픽 프로세서(1)측에 준비신호(ZRDY)를 출력하여 그로 하여금 자신의 현재 상태를 인식할 수 있도록 한다.The graphics processor 1 outputs the red, green, and blue signals R, G, and B values, X, Y coordinate values, and Z (depth values) of the pixels undergoing interpolation to the Z-buffer logic unit 2. However, when the Z-buffer logic unit 2 is in a stall state for some reason, the Z-buffer logic unit 2 outputs a ready signal ZRDY to the graphics processor 1 side. Make him aware of his current state.

상기 Z-버퍼 로직부(2)가 X,Y 좌표값으로 현재 프레임 버퍼에 저장된 픽셀의 Z 값을 가지고 있는 Z-버퍼 메모리(5A-5N)의 어드레스를 계산하여 그 Z-버퍼 메모리(5A-5N)로 부터 이전의 Z 값을 읽어온다. 이렇게 읽어들인 Z(old Z) 값과 상기 그래픽 프로세서(1)로 부터 공급받은 새로운 Z(new Z)을 비교하여 디스플레이할지의 여부를 아래와 같이 결정한다.The Z-buffer logic section 2 calculates the address of the Z-buffer memory 5A-5N having the Z value of the pixel stored in the current frame buffer with X and Y coordinate values, and calculates the address of the Z-buffer memory 5A-. 5N) reads the previous Z value. The Z (old Z) value thus read is compared with the new Z (new Z) supplied from the graphic processor 1 to determine whether or not to display as follows.

Figure 1019970078883_B1_M0001
Figure 1019970078883_B1_M0001

상기 Z-버퍼 로직부(2)는 상기와 같이 결정된 결과를 디스플레이 인터페이스부(3)측으로 출력하여 디스플레이 할지의 여부를 알려준다.The Z-buffer logic unit 2 outputs the result determined as described above to the display interface unit 3 and informs whether or not to display it.

도 2는 상기와 같은 처리과정을 나타낸 신호 흐름도로서 이러한 Z-버퍼링을 한 픽셀 단위가 아닌 여러 픽셀 단위로 수행할 수 있으며, 그러기 위해서는 Z-버퍼 로직부(2)에 Z-값과 RGB용 버퍼를 추가시켜야 한다.FIG. 2 is a signal flow diagram illustrating the above-described process, and the Z-buffering may be performed in units of pixels rather than in units of pixels. In order to do this, Z-buffer logic unit 2 buffers Z-values and RGB. Must be added.

이와 같이 종래의 기술에 있어서는 Z- 버퍼링을 수행하기 위해 Z-어드레스 계산 동작, 메모리로 부터 이전의 Z 값을 읽어오는 동작, Z 값 비교동작을 필요로 하게 되는데, 3차원 그래픽에서 Z-버퍼 메모리로 값이 저렴한 디램을 사용할 경우 메모리 리드를 위한 대기시간이 길기 때문에 Z-버퍼링의 성능 저하를 유발시키는 결함이 있다. 또한, 그래픽 프로세서에서 발생된 픽셀들을 한 그룹으로 처리하고 이에 해당되는 Z 값들을 메모리로 부터 한꺼번에 읽어올 경우에도 메모리 억세스 시간동안 Z-버퍼 시스템은 기능정지 상태에 놓이게 되는 결함이 있었다.As described above, in order to perform Z-buffering in the related art, a Z-address calculation operation, an operation of reading a previous Z value from a memory, and a Z value comparison operation are required. Using low-cost DRAMs results in a long latency for memory reads, which leads to a degradation of Z-buffering performance. In addition, even when the pixels generated by the graphics processor are processed as a group and the corresponding Z values are read from the memory at one time, the Z-buffer system is in a malfunction state during the memory access time.

따라서, 본 발명이 이루고자 하는 기술적 과제는 Z-버퍼링을 위해 Z-버퍼 메모리로 부터 데이터를 읽어오는 동작을 픽셀 보간을 수행하는 동안 수행하는 방식으로 이전 Z 값을 선입선출기에 미리 저장하는 고속 제트 버퍼 회로를 제공함에 있다.Therefore, a technical problem to be achieved by the present invention is a high-speed jet buffer in which a previous Z value is pre-stored in the first-in, first-out, in such a manner that an operation of reading data from the Z-buffer memory for Z-buffering is performed during pixel interpolation. In providing a circuit.

도 1은 종래 기술에 의한 Z-버퍼링 회로의 블록도.1 is a block diagram of a Z-buffering circuit according to the prior art.

도 2는 종래기술에 의한 Z-버퍼링과 프레임 버퍼 라이트과정에 대한 신호 흐름도.Figure 2 is a signal flow diagram for the Z-buffered and frame buffer write process according to the prior art.

도 3은 본 발명에 의한 선입선출기를 이용한 고속 제트 버퍼 회로의 예시 블록도.3 is an exemplary block diagram of a high speed jet buffer circuit using a first-in, first-out of the present invention.

도 4는 3차원 파이프라인 처리 신호 흐름도.4 is a three-dimensional pipeline processing signal flow diagram.

도 5는 도 3에서 선입선출기의 일실시 구현예를 보인 블록도.5 is a block diagram illustrating an embodiment of a first-in, first-out machine in FIG.

***도면의 주요 부분에 대한 부호의 설명****** Description of the symbols for the main parts of the drawings ***

101 : 그래픽 프로세서 102 : Z-어드레스 프리페치부101: graphics processor 102: Z-address prefetch unit

103 : Z-선입선출기 104 : Z-어드레스 큐 저장부103: Z-first in, first out 104: Z-address queue storage unit

105 : Z-어드레스 페이지 레지스터 106 : 가산기105: Z-address page register 106: Adder

107 : Z-버퍼 인터페이스 로직부 108A-108N : Z-버퍼 메모리107: Z-buffer interface logic section 108A-108N: Z-buffer memory

109 : 선입선출 콘트롤러 110 : 프레임버퍼 인터페이스부109: first-in, first-out controller 110: frame buffer interface unit

111 : 디스플레이 인터페이스부111: display interface unit

도 3은 본 발명의 목적을 달성하기 위한 선입선출기를 이용한 고속 제트 버퍼 회로의 일실시 예시 블록도로서 이에 도시한 바와 같이, 입력영상신호에 대해 보간을 수행하는 그래픽 프로세서(101)와; 3차원 파이프라인 중 에지 트래버설 단계에서 보간이 진행되려는 스팬의 좌,우시작점, 끝점의 X,Y값을 상기 그래픽 프로세서(101)로 부터 전달받아 보간이 진행될 스팬 위의 픽셀들의 Z-어드레스를 계산하여 그 결과를 차례대로 Z-어드레스 큐 저장부(104)에 출력함과 아울러 Z-어드레스 페이지 레지스터(105)에 Z-어드레스의 상위 어드레스 비트인 페이지 어드레스를 저장하는 Z-어드레스 프리페치부(102)와; Z-선입선출기(103)의 상태와 Z-버퍼 메모리(108A-108N)를 체크한 후 그들간에 전송이 가능할 경우 Z-버퍼 메모리(108A-108N)로 부터 데이터를 읽어와 그 Z-선입선출기(103)에 라이트하는 Z-버퍼 인터페이스 로직부(107)와; 현재 프레임 버퍼에 있는 픽셀에 대한 Z 값이 저장되는 Z-버퍼 메모리(108A-108N)와; 상기 Z-선입선출기(103)의 상태를 체크하여 엠티인지 풀인지를 다른 처리부에 알려주는 동시에 그 Z-선입선출기(103)의 라이트 어드레스를 발생하는 선입선출 콘트롤러(109)와; 상기 그래픽 프로세서(101)에서 보간이 끝난 Z 값을 공급 받고, 상기 선입선출 콘트롤러(109)로 부터 준비신호(RDY)가 어서트되면 상기 그래픽 프로세서(101)로 부터 새로운 제트값(Znew)과 상기 Z-선입선출기(103)에서 공급받은 이전의 제트값(Zold)을 비교하여 WPIX 신호에 대한 유효/무효를 결정하는 프레임 버퍼 인터페이스부(110)와; 상기 프레임 버퍼 인터페이스부(110)에서 출력되는 영상신호를 디스플레이하거나 외부로 출력하기 위한 디스플레이 인터페이스부(111)로 구성한 것으로, 이와 같이 구성한 본 발명의 작용을 첨부한 도 3 내지 도 5를 참조하여 상세히 설명하면 다음과 같다.3 is a block diagram illustrating an embodiment of a fast jet buffer circuit using a first-in, first-out to achieve the object of the present invention. As shown therein, a graphics processor 101 for performing interpolation on an input image signal; The Z-address of the pixels on the span where the interpolation is to be received from the graphic processor 101 by receiving the X, Y values of the left, right start point, and end point of the span to be interpolated in the edge traversal stage of the 3D pipeline. The Z-address prefetch unit which calculates and outputs the result to the Z-address queue storage unit 104 in turn, and stores the page address, which is the upper address bit of the Z-address, in the Z-address page register 105 ( 102); After checking the state of the Z-first-in-first-out 103 and the Z-buffer memory 108A-108N, if data can be transferred between them, the data is read from the Z-buffer memory 108A-108N and the Z-first-in-first-out A Z-buffer interface logic unit 107 to write to the device 103; Z-buffer memories 108A-108N, in which Z values for pixels in the current frame buffer are stored; A first-in, first-out controller (109) that checks the state of the Z-first-in-first-out (103) to inform another processing unit whether it is empty or full and generates a write address of the Z-first-in / first-out (103); When the interpolated Z value is supplied from the graphic processor 101, and the ready signal RDY is asserted from the first-in first-out controller 109, a new jet value Z new from the graphic processor 101 may be set. A frame buffer interface unit (110) for comparing the previous jet value (Z old ) supplied from the Z-first-in-first-out (103) to determine valid / invalid for the WPIX signal; It is configured as a display interface 111 for displaying or outputting the video signal output from the frame buffer interface 110, in detail with reference to Figures 3 to 5 attached to the operation of the present invention configured as described above. The explanation is as follows.

Z-어드레스 프리페치부(102)는 3차원 파이프라인 중 에지 트래버설 단계에서 보간이 진행되려는 스팬의 좌,우시작점, 끝점의 X,Y값을 그래픽 프로세서(101)로 부터 전달받아 보간이 진행될 스팬 위의 픽셀들의 Z-어드레스를 계산하여 그 결과를 차례대로 Z-어드레스 큐 저장부(104)에 넣는다. 이때, Z-어드레스 페이지 레지스터(105)에는 Z-어드레스의 상위 어드레스 비트인 페이지 어드레스를 저장한다.The Z-address prefetch unit 102 receives X and Y values of the left, right start point, and end point of the span from which the interpolation is to be performed in the edge traversal stage of the 3D pipeline from the graphic processor 101 to perform interpolation. The Z-address of the pixels on the span is calculated and the result is put in the Z-address queue storage 104 in turn. At this time, the Z-address page register 105 stores the page address which is the upper address bit of the Z-address.

도 5에서와 같이 디스플레이되는 스크린을 Z-버퍼 메모리(108A-108N)의 페이지 사이즈의 타이틀로 나눈다. 그 이유는 메모리 어드레스를 페이지 단위로 하여 한꺼번에 많은 데이터를 전송하기 위함이며, 또한, Z-어드레스 큐(queue)의 사이즈를 줄이기 위함이다.The screen displayed as in FIG. 5 is divided by the title of the page size of the Z-buffer memories 108A- 108N. The reason for this is to transfer a large amount of data at the same time in units of memory addresses, and also to reduce the size of the Z-address queue.

Z-버퍼 인터페이스 로직부(107)는 Z-선입선출기(103)의 상태와 Z-버퍼 메모리(108A -108N)를 체크한 후 그들간에 전송이 가능할 경우 Z-버퍼 메모리(108A-108N)로 부터 데이터를 읽어와 그 Z-선입선출기(103)에 라이트(write)한다. 이때, Z-선입선출기(103)의 입력포트는 병렬로 구성되어 있으며, 한꺼번에 여러 Z 값을 라이트할 수 있어야 한다.The Z-buffer interface logic unit 107 checks the state of the Z-first-in-first-out 103 and the Z-buffer memories 108A-108N and transfers them to the Z-buffer memory 108A-108N if it is possible to transfer therebetween. Data is read from and written to the Z-first-in first-out (103). At this time, the input ports of the Z-first-in, first-out (103) are configured in parallel, and should be able to write several Z values at once.

선입선출 콘트롤러(109)는 상기 Z-선입선출기(103)의 상태를 체크하여 엠티(Empty)인지 풀(Full)인지를 다른 처리부에 알려주는 동시에 그 Z-선입선출기(103)의 라이트 어드레스를 발생시킨다.The first-in, first-out controller 109 checks the state of the Z-first-in, first-out 103 and informs another processing unit whether it is empty or full, and at the same time, the write address of the first-in-first-out 103. Generates.

상기 Z-버퍼 메모리(108A-108N)는 주로 디램으로 구현되며, 그 Z-버퍼 메모리(108A -108N)에는 현재 프레임 버퍼에 있는 픽셀에 대한 Z 값이 저장되어 있다.The Z-buffer memories 108A-108N are mainly implemented as DRAMs, and the Z-buffer memories 108A-108N store Z values for the pixels currently in the frame buffer.

프레임 버퍼 인터페이스부(110)는 상기 그래픽 프로세서(101)에서 보간이 끝난 Z 값을 공급 받는다. 상기 선입선출 콘트롤러(109)로 부터 준비신호(RDY)가 어서트(assert)되면 상기 그래픽 프로세서(101)로 부터 새로운 제트값 Znew와 상기 Z-선입선출기(103)에서 공급받은 이전의 제트값 Zold를 비교하여 WPIX 신호에 대한 유효(valid)/무효(invalid)를 결정한다.The frame buffer interface 110 receives an interpolated Z value from the graphic processor 101. When the ready signal RDY is asserted from the first-in, first-out controller 109, the new jet value Z new and the previous jet supplied from the Z-first-in-first-out machine 103 are supplied from the graphic processor 101. The value Z old is compared to determine valid / invalid for the WPIX signal.

이하, 상기의 설명을 참조하여 전반적인 처리과정을 설명한다.Hereinafter, the overall processing will be described with reference to the above description.

도 4의 일반적인 3차원 파이프 라인에서 다각형(polygon)인 트라이앵글의 정점(vertex) 정보를 공급받은 후 한 픽셀을 최종적으로 프레임 버퍼에 써 넣을때까지 여러 단계를 거치게 된다.In the general three-dimensional pipeline of FIG. 4, after receiving vertex information of a triangle, which is a polygon, a plurality of steps are performed until one pixel is finally written to a frame buffer.

본 발명에서는 에지 트래버설 단계에서 보간이 계속 진행될 스팬의 양쪽 좌,우의 X,Y 좌표들을 Z-어드레스 프리페치부(102)에 읽어들여 스팬 위에 있는 모든 픽셀의 Z-어드레스를 계산한 다음 이를 순서대로 Z-어드레스 큐 저장부(104)에 저장한다.In the present invention, the left and right X, Y coordinates of the span where the interpolation is to be continued in the edge traversal step are read into the Z-address prefetch unit 102, and the Z-addresses of all the pixels on the span are calculated, and then the sequence is processed. As shown in FIG.

Z-버퍼 인터페이스 로직부(107)는 상기 선입선출 콘트롤러(109)를 통해 Z-선입선출기(103)의 상태를 체크하고, 이와 동시에 Z-버퍼 메모리(108A-108N)를 모니터링하여 이들간의 데이터 전송이 가능한 것으로 판명되면 그 Z-버퍼 메모리(108A-108N)로 부터 Z-어드레스 큐 저장부(104)에 있는 어드레스의 Z 데이터를 읽어와 Z-선입선출기(103)에 저장한다. 이때, 필요한 조건으로서 상기 Z-버퍼 메모리(108A-108N)는 페이지 단위 내지 n byte(n〉0) 단위로 억세스가 가능해야 하며, Z-선입선출기(103)의 입력포트는 다수개 구비되어야 한다.The Z-buffer interface logic unit 107 checks the state of the Z-first-in, first-out controller 103 through the first-in, first-out controller 109, and simultaneously monitors the Z-buffer memory 108A-108N to data between them. If transmission is found to be possible, the Z data of the address in the Z-address queue storage unit 104 is read from the Z-buffer memories 108A- 108N and stored in the Z-first-in first-out machine 103. In this case, as a necessary condition, the Z-buffer memory 108A-108N should be accessible in units of pages to n bytes (n> 0), and a plurality of input ports of the Z-first-in-first-out machine 103 should be provided. do.

이러한 Z-버퍼 메모리(108A-108N)로 부터 데이터를 읽어오는 동작은 항상 Z-선입선출기(103)와 Z-버퍼 메모리(108A-108N)가 사용가능할 때 수행될 수 있으며, 3차원 파이프 라인을 통해 한 픽셀의 RGB가 결정되어 프레임 버퍼에 라이트되기 이전에 먼저 수행하게 되므로 3차원 파이프라인에 영향을 주지 않게 된다.The operation of reading data from the Z-buffer memory 108A-108N can always be performed when the Z-first-in-first-out 103 and the Z-buffer memory 108A-108N are available, and the three-dimensional pipeline This ensures that the RGB of a pixel is determined before it is written to the frame buffer so that it does not affect the 3D pipeline.

도 5는 본 발명에서 요구하는 Z-선입선출기(103)의 구조를 보인 것이다. N개의 Z-데이터를 한 번에 순차적인 어드레스 영역에 라이트하는 것이 가능하도록 설계된다.5 shows the structure of the Z-first-in first-out machine 103 required by the present invention. It is designed to be able to write N Z-data to the sequential address area at one time.

상기에서 설명한 바와 같이 미리 결정된 Z-어드레스에 해당하는 Zold가 상기 Z-버퍼 메모리(108A-108N)로 부터 Z-선입선출기(103)에 저장된 후 선입선출 콘트롤러(109)는 Zold가 유효하다는 것을 프레임버퍼 인터페이스부(110)에 알린다. 그 프레임버퍼 인터페이스부(110)는 상기 그래픽 프로세서(101)에서 프레임 버퍼에 마지막으로 라이트하려는 픽셀의 X,Y,Z RGB 데이터를 공급받은 후 상기 선입선출 콘트롤러(109)에서 발생된 준비신호(RDY)가 유효한지를 체크한다.As described above, after Z old corresponding to a predetermined Z-address is stored in the Z-first-in first-out 103 from the Z-buffer memory 108A-108N, the first-in, first-out controller 109 has Z old valid. Notify the frame buffer interface 110. The frame buffer interface 110 receives the X, Y, Z RGB data of the pixel to be last written to the frame buffer by the graphic processor 101, and then prepares a signal RDY generated by the first-in first-out controller 109. ) Is valid.

상기에서 체크결과 유효한 경우에는 곧바로 Z-비교 동작을 수행하여 Znew〉 Zold인지를 확인한다. Z-비교동작 후 다시 선입선출 콘트롤러(109)에 실행신호(DONE)를 출력하여 Z-선입선출기(103)로 하여금 다음 Z 값을 출력하도록 한다.If the check result is valid, Z-compare operation is performed immediately to check whether Z new > Z old . After the Z-comparison operation, the execution signal DONE is output to the first-in, first-out controller 109 to cause the Z-first-in, first-out 103 to output the next Z value.

프레임버퍼 인터페이스부(110)에서 WPIX가 결정되면 그 결과가 디스플레이 인터페이스부(111)로 출력되어 Z-프레임 버퍼(108A-108N)에 라이트할지의 여부를 알려준다.When the WPIX is determined in the frame buffer interface unit 110, the result is output to the display interface unit 111 to indicate whether to write to the Z-frame buffers 108A- 108N.

상기 Z-어드레스 프리페치부(102)에서 계산된 Z-어드레스를 Z-어드레스 큐 저장부(104)에 저장할 때 스팬 위의 픽셀수에 따라 여러 가지 Z-어드레스 값을 저장할 필요가 있게 된다. 이 때문에 Z-어드레스 큐 저장부(104) 또한 Z-선입선출기(103)와 마찬가지로 N개의 값을 한 번에 라이트할 수 있는 선입선출 구조를 갖아야 한다.When storing the Z-address calculated by the Z-address prefetch unit 102 in the Z-address queue storage unit 104, it is necessary to store various Z-address values according to the number of pixels on the span. For this reason, the Z-address queue storing unit 104 must also have a first-in first-out structure in which N values can be written at once, similarly to the Z-first-in first-out machine 103.

이상에서 상세히 설명한 바와 같이 본 발명은 Z-버퍼링을 위해 Z-버퍼 메모리로 부터 데이터를 읽어오는 동작을 픽셀 보간을 수행하는 동안 수행하는 방식으로 이전 Z 값을 선입선출기에 미리 저장할 수 있게 함으로써 전체 3차원 파이프 라인 처리단계에서 Z-버퍼링에 해당하는 단계를 생략할 수 있게 되고, 이로 인하여 3차원 그래픽 성능을 향상시킬 수 있는 효과가 있다.As described in detail above, the present invention enables the previous Z value to be previously stored in the first-in, first-out, in such a manner that an operation of reading data from the Z-buffer memory for Z-buffering is performed during pixel interpolation. In the dimensional pipeline processing step, the step corresponding to the Z-buffering can be omitted, thereby improving the 3D graphics performance.

Claims (2)

3차원 파이프라인 중 에지 트래버설 단계에서 보간이 진행되려는 스팬의 좌,우시작점, 끝점의 X,Y값을 그래픽 프로세서(101)로 부터 전달받아 보간이 진행될 스팬 위의 픽셀들의 Z-어드레스를 계산하여 그 결과를 차례대로 Z-어드레스 큐 저장부(104)에 출력함과 아울러 Z-어드레스 페이지 레지스터(105)에 Z-어드레스의 상위 어드레스 비트인 페이지 어드레스를 저장하는 Z-어드레스 프리페치부(102)와; Z-선입선출기(103)의 상태와 Z-버퍼 메모리(108A-108N)를 체크한 후 그들간에 전송이 가능할 경우 Z-버퍼 메모리(108A-108N)로 부터 데이터를 읽어와 그 Z-선입선출기(103)에 라이트하는 Z-버퍼 인터페이스 로직부(107)와; 현재 프레임 버퍼에 있는 픽셀에 대한 Z 값이 저장되는 Z-버퍼 메모리(108A-108N)와; 상기 Z-선입선출기(103)의 상태를 체크하여 엠티인지 풀인지를 다른 처리부에 알려주는 동시에 그 Z-선입선출기(103)의 라이트 어드레스를 발생하는 선입선출 콘트롤러(109)와; 상기 그래픽 프로세서(101)에서 보간이 끝난 Z 값을 공급 받고, 상기 선입선출 콘트롤러(109)로 부터 준비신호(RDY)가 어서트되면 상기 그래픽 프로세서(101)로 부터 새로운 제트값과 상기 Z-선입선출기(103)에서 공급받은 이전의 제트값을 비교하여 WPIX 신호에 대한 유효/무효를 결정하는 프레임 버퍼 인터페이스부(110)를 포함하여 구성한 것을 특징으로 하는 선입선출기를 이용한 고속 제트 버퍼 회로.The Z, address of the pixels on the span where the interpolation is to be calculated by receiving the X, Y values of the left, right start point and the end point of the span to be interpolated in the edge traversal stage of the 3D pipeline from the graphic processor 101 The Z-address prefetch section 102 outputs the result to the Z-address queue storage section 104 in turn and stores the page address, which is the upper address bit of the Z-address, in the Z-address page register 105. )Wow; After checking the state of the Z-first-in-first-out 103 and the Z-buffer memory 108A-108N, if data can be transferred between them, the data is read from the Z-buffer memory 108A-108N and the Z-first-in-first-out A Z-buffer interface logic unit 107 to write to the device 103; Z-buffer memories 108A-108N, in which Z values for pixels in the current frame buffer are stored; A first-in, first-out controller (109) that checks the state of the Z-first-in-first-out (103) to inform another processing unit whether it is empty or full and generates a write address of the Z-first-in / first-out (103); When the interpolated Z value is supplied from the graphic processor 101, and the ready signal RDY is asserted from the first-in first-out controller 109, a new jet value and the Z-first-in first from the graphic processor 101 are asserted. A high-speed jet buffer circuit using a first-in-first-out unit, comprising a frame buffer interface unit 110 that compares previous jet values supplied from the selector 103 to determine valid / invalidity of the WPIX signal. 제1항에 있어서, 상기 Z-선입선출기(103)의 입력포트는 한꺼번에 여러 Z 값을 라이트할 수 있도록 병렬로 구성된 것을 특징으로 하는 선입선출기를 이용한 고속 제트 버퍼 회로.2. The high-speed jet buffer circuit according to claim 1, wherein the input ports of the Z-first-in, first-out (103) are configured in parallel so as to write several Z values at once.
KR1019970078883A 1997-12-30 1997-12-30 High speed z-buffer circuit using fifo KR100273267B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970078883A KR100273267B1 (en) 1997-12-30 1997-12-30 High speed z-buffer circuit using fifo

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970078883A KR100273267B1 (en) 1997-12-30 1997-12-30 High speed z-buffer circuit using fifo

Publications (2)

Publication Number Publication Date
KR19990058729A KR19990058729A (en) 1999-07-15
KR100273267B1 true KR100273267B1 (en) 2000-12-15

Family

ID=19529950

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970078883A KR100273267B1 (en) 1997-12-30 1997-12-30 High speed z-buffer circuit using fifo

Country Status (1)

Country Link
KR (1) KR100273267B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100372901B1 (en) * 2000-06-20 2003-02-19 김세현 Ray-tracing acceleration method using ZF-buffer
KR100420857B1 (en) * 2001-07-12 2004-03-02 학교법인연세대학교 method and apparatus for processing pixel rasterization in 3D rendering processor

Also Published As

Publication number Publication date
KR19990058729A (en) 1999-07-15

Similar Documents

Publication Publication Date Title
CA2216442C (en) Image generating apparatus with fifo memory and cache memory
US6552723B1 (en) System, apparatus and method for spatially sorting image data in a three-dimensional graphics pipeline
JP3359393B2 (en) Graphic data parallel processing display device
US8446420B2 (en) Memory system and method for improved utilization of read and write bandwidth of a graphics processing system
US9384584B2 (en) Display list control stream grouping in tile based 3D computer graphics system
US6977649B1 (en) 3D graphics rendering with selective read suspend
US7079146B2 (en) Image producing device
JP3645024B2 (en) Drawing apparatus and drawing method
US7898551B2 (en) Systems and methods for performing a bank swizzle operation to reduce bank collisions
JPH09500462A (en) Computer graphics system with high performance multi-layer z-buffer
JP2004280125A (en) Video/graphic memory system
US7170512B2 (en) Index processor
US6313845B1 (en) Method and apparatus for transporting information to a graphic accelerator card
JPH06175646A (en) Frame buffer and raster processor for graphic system and method for buffering pixel variable
US20030030642A1 (en) Combined floating-point logic core and frame buffer
US20060098021A1 (en) Graphics system and memory device for three-dimensional graphics acceleration and method for three dimensional graphics processing
US5966142A (en) Optimized FIFO memory
KR100273267B1 (en) High speed z-buffer circuit using fifo
US7400326B1 (en) System and method for delivering multiple data streams via multiple buses
US6268874B1 (en) State parser for a multi-stage graphics pipeline
US8081182B2 (en) Depth buffer for rasterization pipeline
JPH1069548A (en) Computer graphics system
US6088033A (en) Method and apparatus for processing picture elements
EP0410783B1 (en) Methods and apparatus for accelerating windows in graphics systems
US6489967B1 (en) Image formation apparatus and image formation method

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20050824

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee