KR0170665B1 - Ram for 3-dimensional graphics - Google Patents
Ram for 3-dimensional graphics Download PDFInfo
- Publication number
- KR0170665B1 KR0170665B1 KR1019950004140A KR19950004140A KR0170665B1 KR 0170665 B1 KR0170665 B1 KR 0170665B1 KR 1019950004140 A KR1019950004140 A KR 1019950004140A KR 19950004140 A KR19950004140 A KR 19950004140A KR 0170665 B1 KR0170665 B1 KR 0170665B1
- Authority
- KR
- South Korea
- Prior art keywords
- latch
- pixel values
- dram
- address
- buffer memory
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
- G06T15/405—Hidden part removal using Z-buffer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Abstract
3차원 그래픽스처리에 필수적인 원근값(Z value)을 빠른 속도로 Z 버퍼에 업데이트 시킴으로써 3차원 그래픽스의 처리를 가속화하는 3차원 그래픽스용 램에 관한 것이다.The present invention relates to a RAM for three-dimensional graphics that accelerates the processing of three-dimensional graphics by rapidly updating a Z buffer essential to three-dimensional graphics.
본 발명에 따른 3차원 그래픽스용 램은 기존의 화소값을 저장하는 DRAM : 라스터엔진으로부터 전송되는 새로운 화소값들을 저장하며 서로 교호적으로 동작하는 제1과 제2의 데이터레지스터, 상기 DRAM 의 리드 동작시 DRAM 으로부터 독출된 기존의 화소값들을 저장하거나 상기 DRAM 의 리드 동작시 상기 DRAM 의 라이트 동작시 래치된 화소값들을 상기 DRAM 에 제공하며, 서로 교호적으로 동작하는 제1과 제2의 래치레지스터, 상기 제1 혹은 제2의 데이타레지스터에 래치된 기존의 Z 값들과 상기 제1 혹은 제2의 래치레지스터에 래치된 새로운 Z 값들을 비교하고 그 결과값에 따라 새로운 화소값들을 상기 제1 혹은 제2의 래치레지스터에 오버라이트하는 비교기, 상기 DRAM과 상기 제1 및 제2의 래치레지스터들 사이의 데이타전송을 위한 내부버스, 라스터엔진에서 발생된 어드레스를 래치하고 래치된 어드레스로부터 다음의 액세스가 예상되는 화소를 지정하는 복수의 어드레스들을 발생하여 상기 DRAM 에 제공하는 어드레스 래치버퍼; 라스터엔진에서 발생된 어드레스 및 기능신호에 따라 상기 어드레스 래치 버퍼에서 발생된 어드레스들을 상기 DRAM의 리드 및 라이트시 제공하고, 상기 데이터 레지스터와 래치 레지스터의 교호동작을 제어하는 제어부를 포함하는 것을 특징으로 한다.The RAM for 3D graphics according to the present invention is a DRAM for storing an existing pixel value: first and second data registers for storing new pixel values transmitted from a raster engine and operating alternately with each other, and a read of the DRAM. First and second latch registers which store existing pixel values read from the DRAM during operation or provide the pixel values latched during the write operation of the DRAM to the DRAM in a read operation of the DRAM, and alternately operate with each other; Compares the existing Z values latched in the first or second data register with the new Z values latched in the first or second latch register, and converts the new pixel values according to the result. Comparator overwrites latch register 2, internal bus for data transfer between DRAM and first and second latch registers, generated in raster engine To an address from the latch and latches the address generating a plurality of addresses specifying the pixel of the next access address latch estimated buffer provided to the DRAM; And a controller configured to provide the addresses generated in the address latch buffer during read and write of the DRAM according to an address generated by a raster engine and a function signal, and to control an interaction between the data register and the latch register. do.
본 발명에 따른 3차원 그래픽스용 램은 파이프라인 형태로 기존의 화소값과 새로운 화소값을 비교 및 갱신하도록 함으로써 보다 빠르게 새로운 화소값을 기록할 수 있는 효과가 있다.The RAM for 3D graphics according to the present invention has an effect of writing new pixel values faster by comparing and updating existing pixel values with new pixel values in a pipeline form.
Description
제1도는 종래의 3차원 그래픽스 시스템의 구성을 보이는 블럭도이다.1 is a block diagram showing the configuration of a conventional three-dimensional graphics system.
제2도는 종래의 3차원 그래픽스용 램의 구성을 보이는 블럭도이다.2 is a block diagram showing the configuration of a conventional three-dimensional graphics RAM.
제3도는 본 발명에 따른 3차원 그래픽스용 램의 구성을 보이는 블럭도이다.3 is a block diagram showing the configuration of a three-dimensional graphics RAM according to the present invention.
제4도는 제3도에 도시된 장치의 동작을 보이는 타이밍도이다.4 is a timing diagram showing the operation of the apparatus shown in FIG.
본 발명은 컬러버퍼 및 Z버퍼를 갖는 3차원 그래픽스용 램에 관한 것으로서 더욱 상세하게는 3차원 그래픽스처리에 필수적인 원근값(Z value)을 빠른 속도로 Z버퍼(Z buffer)에 업데이트시킴으로써 3차원 그래픽스의 처리를 가속화하는 3차원 그래픽스용 램에 관한 것이다.The present invention relates to a three-dimensional graphics RAM having a color buffer and a Z-buffer, and more particularly, to update three-dimensional graphics by quickly updating the Z buffer essential to the three-dimensional graphics processing. It relates to a three-dimensional graphics RAM to accelerate the processing of.
Z 버퍼 알고리즘에 입각한 첫번째의 하드웨어는 전통적인 DRAM 구조에 입각한 것으로서 1970년대에 소개되었고, 1980년대에는 DRAM 에 별도의 입출력포트를 추가하는 VRAM 이 소개되었다. VRAM 에 의해 그래픽의 처리속도가 증가되었지만 이는 메모리에의 액세스속도가 개선된 것이었을 뿐 렌더링(rendering : 정밀묘화)의 속도가 개선된 것은 아니었다.The first hardware based on the Z-buffer algorithm was based on the traditional DRAM architecture, introduced in the 1970s, and in the 1980s, VRAM was added to add additional input and output ports to the DRAM. The processing speed of graphics was increased by VRAM, but this was an improvement in the speed of access to memory, but not the speed of rendering.
Mitsubish Electric Corporation 에서 개발된 FBRAM의 경우 캐쉬기법을 사용하였기 때문에 캐쉬메모리(SRAM을 사용)이 요구될 뿐만 아니라 캐쉬메모리의 히트(hit)와 미스(miss)를 결정하는 데 필요한 tag와 line state 를 저장하는 tag RAM 및 이들을 제어하기 위한 캐쉬콘트롤러(cash controller)가 추가로 요구된다. 따라서 FBRAM 은 가격이 비싸고 인터페이스가 복잡한 단점이 있다.FBRAM, developed by Mitsubish Electric Corporation, uses a cache technique, which not only requires cache memory (using SRAM) but also stores tags and line state necessary to determine the hit and miss of the cache memory. There is an additional need for a tag RAM and a cash controller to control them. As a result, FBRAMs are expensive and have complex interfaces.
따라서, 본 발명은 단순한 구조에 의해 Z 버퍼 알고리즘을 수행하는 3차원 그래픽스용 램을 제공함을 그 목적으로 한다.Accordingly, an object of the present invention is to provide a RAM for 3D graphics that performs a Z buffer algorithm with a simple structure.
상기의 목적을 달성하는 본 발명에 따른 3차원 그래픽스용 램은 저장된 화소값(컬러값 및 Z값)을 주기적으로 독출하여 영상신호로서 출력하는 3차원 그래픽스용 램에 있어서, 화소값들을 저장하는 버퍼 메모리, 라스터엔진으로부터 전송되는 새로운 화소값들을 저장하며 서로 교호적으로 동작하는 제1과 제2의 데이타레지스터, 상기 버퍼 메모리의 리드 동작시 버퍼 메모리로부터 독출된 기존의 화소값들을 저장하거나 상기 버퍼 메모리의 리드 동작시 상기 버퍼 메모리의 라이트 동작시 래치된 화소값들을 상기 버퍼 메모리에 제공하며, 서로 교호적으로 동작하는 제1과 제2의 래치레지스터, 상기 제1 혹은 제2의 데이타레지스터에 래치된 기존의 Z 값들과 상기 제1 혹은 제2의 래치레지스터에 래치된 새로운 Z 값들을 비교하고 그 결과값에 따라 새로운 화소값들을 상기 제1 혹은 제2의 래치레지스터에 오버라이트하는 비교기, 상기 버퍼 메모리와 상기 제1 및 제2의 래치레지스터들 사이의 데이타전송을 위한 내부버스, 라스터엔진에서 발생된 어드레스를 래치하고 래치된 어드레스로부터 다음의 액세스가 예상되는 화소를 지정하는 복수의 어드레스들을 발생하여 상기 버퍼 메모리에 제공하는 어드레스 래치버퍼, 라스터엔진에서 발생된 어드레스 및 기능신호에 따라 상기 어드레스 래치버퍼에서 발생된 어드레스들을 상기 버퍼 메모리의 리드 및 라이트시 제공하고, 상기 데이터 레지스터와 래치 레지스터의 교호동작을 제어하는 제어부를 포함함을 특징으로 한다. 이하 첨부된 도면을 참조하여 본 발명을 상세히 설명한다.A 3D graphics RAM according to the present invention which achieves the above object is a buffer for storing pixel values in a 3D graphics RAM which periodically reads stored pixel values (color value and Z value) and outputs them as an image signal. Memory, first and second data registers which alternately store new pixel values transmitted from the raster engine, and store existing pixel values read from the buffer memory during read operation of the buffer memory or the buffer The pixel values latched during the write operation of the buffer memory are supplied to the buffer memory during a read operation of the memory, and latched in the first and second latch registers and the first or second data registers that operate alternately. Compare existing Z values with new Z values latched in the first or second latch registers A comparator that overwrites small values to the first or second latch register, an internal bus for data transfer between the buffer memory and the first and second latch registers, and latches an address generated in the raster engine An address latch buffer for generating a plurality of addresses that specify a pixel for which next access is expected from the latched address and providing the buffer memory to the buffer memory, an address generated by the raster engine, and an address generated by the address latch buffer according to a function signal. And a control unit for reading and writing the buffer memory, and controlling an alternating operation of the data register and the latch register. Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
제1도는 종래의 3차원 그래픽시스템의 블럭도이다. 제1도에 도시된 장치는 지오메트리엔진(10), 라스터엔진(12), 3차원 그래픽스용 램(14), 디지탈/아날로그 변환기(16), 그리고 CRT(Cathode Ray Tube)(18)로 구성된다.1 is a block diagram of a conventional three-dimensional graphics system. The apparatus shown in FIG. 1 consists of a geometry engine 10, a raster engine 12, a RAM for three-dimensional graphics 14, a digital to analog converter 16, and a cathode ray tube (CRT) 18. do.
3차원 그래픽스에서는 삼각형, 선 등의 기본요소(primitive)로 나타내어지는 대상물을 지오미트리엔진(10)과 라스터엔진(12)을 거쳐 프레임화면을 형성한다. 형성된 프레임화면은 3차원 그래픽스용 램(14)에 저장된다.In 3D graphics, an object represented by primitives such as triangles and lines forms a frame screen through the geometry engine 10 and the raster engine 12. The formed frame screen is stored in the RAM 14 for 3D graphics.
지오메트리엔진(10)은 모델링 트랜스포메이션(Modeling Transformation), 클리핑(Clipping), 라이팅(Lighting), 프로젝션(Projection)등의 부동소숫점 연산이 행해지므로 부동소숫점 프로세서나 디지탈시그널프로세서(DSP)를 사용하여 구현된다.The geometry engine 10 is implemented using a floating point processor or a digital signal processor (DSP) because floating point operations such as modeling transformation, clipping, lighting, and projection are performed. do.
라스터엔진(12)은 기본요소의 각 화소에 대해 쉐이딩모델(shading model)에 의한 컬러값계산, 은면제거를 위한 Z버퍼 알고리즘에 의한 Z값 계산 등을 행한다. 라스터엔진(12)에서는 비교적 간단하면서도 반복적인 연산이 수행되므로 고유의 VLSI 칩을 설계하여 사용한다.The raster engine 12 performs color value calculation by a shading model, Z value calculation by a Z-buffer algorithm for masking, etc., for each pixel of the basic element. In the raster engine 12, since a relatively simple and repetitive operation is performed, a unique VLSI chip is designed and used.
프레임 버퍼 메모리(14)에 저장된 화소들은 주기적으로 독출된다.The pixels stored in the frame buffer memory 14 are read out periodically.
디지탈/아날로그 변환기(16)는 프레임 버퍼 메모리(14)로부터 주기적으로 독출되는 디지탈 화상데이타를 아날로그 화상데이타로 변환시킨다. CRT(18)는 디지탈/아날로그 변환기(16)에서 출력되는 아날로그 영상신호를 영상출력으로서 제공한다.The digital / analog converter 16 converts digital image data read periodically from the frame buffer memory 14 into analog image data. The CRT 18 provides an analog video signal output from the digital / analog converter 16 as a video output.
일반적으로 복잡한 신(scene)은 복수의 대상물이 집합되어 구성된 것이다. 2개의 불투명한 대상물이 화면의 같은 점에 투영된 경우에는 눈에 가까운 쪽의 대상물만이 보이게 된다. 따라서, 복잡한 신을 정확하게 묘화하기 위해서는 눈에 가장 가까운 대상물이 화면에 나타나게 하며, 그들 뒤에 있는 대상물은 화면에 나타나지 않게 하여야 한다.In general, a complex scene consists of a collection of objects. If two opaque objects are projected at the same point on the screen, only the object closer to the eye is visible. Therefore, in order to accurately draw complex scenes, objects closest to the eyes should appear on the screen, and objects behind them should not appear on the screen.
애니메이션(animation)에 있어서는 복수의 기본요소들을 묘화하는 모델들을 작성한 후에 이들을 겹침으로써 복잡한 신을 구성한다. 이러한 경우에 Z 버퍼 알고리즘을 사용하면 연속적인 신을 구성할 수 있다.In animation, a complex scene is constructed by creating models that draw a plurality of basic elements and then overlapping them. In this case, the Z buffer algorithm can be used to construct a continuous scene.
기본요소는 많은 수의 화소로 구성된다. Z 버퍼 알고리즘을 사용하는 그래픽스 시스템은 프레임화면내의 모든 픽셀에서 기본요소가 보여지는지를 판단한다. 기본요소내의 모든 화소에 대해서 프레임 버퍼메모리(14)로부터 Z 값을 읽고, 라스터엔진(20)에서 발생된 새로운 Z 값과 비교한다. 만일 보여지는 화소이면 새로운 Z 값과 컬러값을 프레임 버퍼 메모리(14)에 기록한다.The basic element is composed of a large number of pixels. Graphics systems that use the Z-buffer algorithm determine whether the element is visible at every pixel in the frame. The Z value is read from the frame buffer memory 14 for all the pixels in the basic element and compared with the new Z value generated in the raster engine 20. If the pixel is visible, the new Z value and color value are written to the frame buffer memory 14.
즉, 새로운 화소값을 생성할 때마다 프레임 버퍼 메모리(14)에 기록된 데이타를 독출, 갱신, 기입하는 READ MODIFY 사이클을 수행하여야 한다.That is, each time a new pixel value is generated, a READ MODIFY cycle of reading, updating, and writing data recorded in the frame buffer memory 14 must be performed.
정밀한 화면이나 속도가 빠른 장면의 절환을 위해서는 매우 빠른 액세스속도를 갖는 3차원 그래픽스용 램이 요구되지만 이러한 3차원 그래픽스용 램은 가격이 비싸고 인터페이스가 복잡하다.In order to change a screen or a fast scene with precision, RAM for 3D graphics with very fast access speed is required, but such RAM for 3D graphics is expensive and has a complicated interface.
제2도는 종래의 3차원 그래픽스용 램을 보이는 블럭도로서 Mitsubish Electric Corporation 에서 개발된 FBRAM 구조를 보이는 것이다. 제2도에 도시된 장치는 페이지버퍼를 포함하는 DRAM(20), DRAM(20)으로부터 독출된 데이타를 페이지단위로 저장하는 SRAM 으로 구성된 캐쉬메모리(22), 캐쉬메모리(22)으로부터 독출된 Z 값과 라스터라이저로부터 발생된 새로운 Z 값을 비교하고 그 결과에 따라 캐쉬메모리(22)를 갱신하는 비교장치(24), 그리고 라스터엔진(12)에서 발생된 어드레스에 따라 캐쉬메모리(22)를 제어하는 캐쉬제어부(26)를 구비한다.2 is a block diagram showing a conventional three-dimensional graphics RAM showing the FBRAM structure developed by Mitsubish Electric Corporation. The apparatus shown in FIG. 2 includes a cache memory 22 composed of a DRAM 20 including a page buffer, an SRAM storing data read from the DRAM 20 in units of pages, and a Z read from the cache memory 22. A comparison device 24 for comparing the value with the new Z value generated from the rasterizer and updating the cache memory 22 according to the result, and the cache memory 22 according to the address generated in the raster engine 12. It includes a cache control unit 26 for controlling.
제2도에 도시된 3차원 그래픽스용 램은 캐쉬기법을 사용하였기 때문에 캐쉬메모리가 요구될 뿐만 아니라 캐쉬메모리의 히트(hit)와 미스(miss)를 결정하는 데 필요한 tag 와 line state를 저장하는 tag RAM 및 이들을 제어하기 위한 캐쉬콘트롤러(cash controller)가 추가로 요구된다.Since the RAM for 3D graphics shown in FIG. 2 uses a cache technique, not only cache memory is required, but also a tag for storing a tag and a line state necessary to determine the hit and miss of the cache memory. There is a further need for RAM and a cash controller to control them.
제3도는 본 발명에 따른 3차원 그래픽스용 램의 구성을 보이는 블럭도이다. 제3도에 도시된 장치는 라스터엔진(제1도의 12)로부터 전송되는 새로운 화소값(컬러값 및 Z 값)을 저장하는 두개의 데이타 레지스터(31, 32), 버퍼 메모리(30)로부터 독출된 기존의 Z 값을 저장하는 두개의 래치레지스터(33, 34), 기존의 Z 값과 새로운 Z 값을 비교하고 그 결과값에 따라 새로운 화소값을 래치레지스터(33, 34)에 갱신할 수 있도록 하는 비교기(35), DRAM(30)과 래치레지스터(33, 34) 사이의 데이타전송을 위한 내부버스(36), 어드레스를 래치하고 저장하는 어드레스 래치버퍼(39), 어드레스와 제어정보에 따라 내부동작을 제어하는 제어부(38)로서 구성된다.3 is a block diagram showing the configuration of a three-dimensional graphics RAM according to the present invention. The apparatus shown in FIG. 3 reads from the buffer memory 30, two data registers 31 and 32, which store new pixel values (color and Z values) transmitted from the raster engine (12 in FIG. 1). Two latch registers 33 and 34 that store the existing Z value, and compare the existing Z value with the new Z value and update the new pixel value to the latch registers 33 and 34 according to the result. The comparator 35, the internal bus 36 for data transfer between the DRAM 30 and the latch registers 33 and 34, the address latch buffer 39 for latching and storing the address, and the internal according to the address and control information. It is comprised as the control part 38 which controls an operation.
일반적으로 라스터엔진(12)에서 발생된 인터폴레이션(내삽)된 화소값의 어드레스는 순차적으로 증가하기 때문에 초기의 어드레스를 디코딩하여 다음의 액세스어드레스를 예측할 수 있다. 이러한 어드레스 예측방식을 이용하여 액세스가 예상되는 기존의 Z 값들을 사전에 버퍼 메모리(30)로부터 독출하여 라스터엔진(12)에서 발생된 Z 값과 비교하도록 함으로써 READ MODIFY 사이클에 소요되는 시간을 줄일 수 있다.In general, since the addresses of interpolated (interpolated) pixel values generated in the raster engine 12 increase sequentially, the next access address can be predicted by decoding the initial address. By using this address prediction method, the existing Z values expected to be accessed are read from the buffer memory 30 in advance and compared with the Z values generated in the raster engine 12, thereby reducing the time required for the READ MODIFY cycle. Can be.
라스터엔진(12)에서 발생된 어드레스와 제어신호는 각각 본 발명에 따른 3차원 그래픽스용 램의 어드레스 버퍼 래치(39)와 제어부(38)로 입력된다. 한편, 화소값(컬러값과 Z 값)은 데이타레지스터(31, 32)에 저장된다.The address and control signal generated by the raster engine 12 are input to the address buffer latch 39 and the control unit 38 of the 3D graphics RAM according to the present invention, respectively. On the other hand, the pixel values (color value and Z value) are stored in the data registers 31 and 32.
어드레스 버퍼래치(30)는 래치된 초기의 어드레스 및 이로부터 다음에 액세스될 것으로 예상되는 어드레스들을 발생한다. 발생된 어드레스들은 버퍼 메모리(30)에 제공되고, 버퍼 메모리(30)로부터 독출된 화소값들은 내부버스(36)를 통해 래치레지스터0(33)에 전송된다.The address buffer latch 30 generates the latched initial address and addresses from which it is expected to be accessed next. The generated addresses are provided to the buffer memory 30, and the pixel values read out from the buffer memory 30 are transferred to the latch register 0 33 through the internal bus 36.
래치레지스터0(33)에 전송된 기존의 Z 값들은 비교기(35)에 의해 데이타레지스터(31, 32)에 저장된 새로운 Z들 값과 비교된다.Existing Z values sent to latch register 0 (33) are compared with new Z values stored in data registers (31, 32) by comparator (35).
비교기(35)에서의 비교결과에 따라 데이타레지스터(31, 32)에 저장된 새로운 화소값을 래치레지스터0(33)에 새로 기록하거나 버리게 된다.The new pixel values stored in the data registers 31 and 32 are newly written or discarded in the latch register 0 33 according to the comparison result in the comparator 35.
상기의 과정을 통하여 래치레지스터0(33)에 래치된 모든 기존의 화소값들이 갱신되면 즉시 DRAM (30)으로 이들을 기록전송한다. 이러한 동작은 각각 2개로 구성된 래치레지스터(33, 34)와 데이타레지스터(31, 32)에 의해 교대로 수행되기 때문에 비교기의 비교 동작이 완료될 때까지의 대기시간없이 연속적으로 실행할 수 있어 종래의 경우보다 구조가 간결하면서도 빠른 Z 버퍼 알고리즘을 구현할 수 있다. 제3도에 있어서, 미설명부호 40과 41은 램(30)에 저장된 화소값을 주기적으로 독출하는 시리얼 레지스터이고, 42와 43과 44는 멀티플렉서이다.When all existing pixel values latched in the latch register 0 (33) are updated through the above process, they are immediately transferred to the DRAM (30). Since these operations are performed alternately by two latch registers 33 and 34 and data registers 31 and 32, they can be executed continuously without waiting time until the comparison operation of the comparator is completed. A more compact and faster Z buffer algorithm can be implemented. In FIG. 3, reference numerals 40 and 41 are serial registers for periodically reading pixel values stored in the RAM 30, and 42, 43, and 44 are multiplexers.
제4도는 제3도에 도시된 장치의 동작사이클을 보이는 타이밍도이다. 픽셀데이타가 64비트(R, G, B, alpha가 각각 8비트, Z 값이 24비트), 데이타레지스터의 사이즈가 64비트, 래치레지스터의 사이즈가 256비트(4화소 크기), 내부버스가 256비트로 구성되는 경우를 가정한다.4 is a timing diagram showing an operation cycle of the apparatus shown in FIG. Pixel data is 64 bits (R, G, B, alpha is 8 bits, Z value is 24 bits), Data register is 64 bits, Latch register is 256 bits (4 pixel size), Internal bus is 256 Assume the case consists of bits.
라스터엔진(12)이 X00000000 번지로 64비트의 데이타(1화소 데이타)를 본 발명에 따른 3차원 그래픽스용 램에 기록하면 어드레스(A31-A0)는 어드레스버퍼(39)로 전송되고, 기능신호(function signal)(0, 1, 2, 3), WE, BE, RAS, CAS 는 제어부(38)로 전송되고, 화소값은 데이타레지스터0(31)로 전송된다.When the raster engine 12 writes 64-bit data (one pixel data) to the 3D graphics RAM according to the present invention at the address X00000000, the addresses A31-A0 are transmitted to the address buffer 39, and a function signal. (function signal) (0, 1, 2, 3), WE, BE, RAS, CAS are transmitted to the control unit 38, and the pixel value is transmitted to the data register 0 (31).
래치된 기능신호의 값이 X0이고, WE, RAS, CAS 가 활성화 상태(active)일때 제어부(38)는 이들을 디코딩하여 한번에 4개의 기존 화소값을 지정할 수 있는 CAS 어드레스와 64비트중 32비트-55비트만이 비교되도록 제어신호를 각각 어드레스버퍼 래치(39) 및 비교기(35)로 보낸다. 어드레스버퍼 래치(39)로부터 발생된 RAS, CAS 의 어드레스에 의해 DRAM(30)의 기억장소가 선택되고 이곳에 저장된 4개의 기존 화소값은 256비트 사이즈의 내부버스(36)를 통해 래치레지스터0(33)로 독출전송된다.When the value of the latched function signal is X0 and WE, RAS, and CAS are active, the control unit 38 decodes them and assigns four existing pixel values at once and 32-bit of 64-bit. The control signal is sent to the address buffer latch 39 and the comparator 35 so that only the bits are compared. The storage location of the DRAM 30 is selected by the address of RAS and CAS generated from the address buffer latch 39, and the four existing pixel values stored therein are stored through the latch register 0 (256 bits through the internal bus 36). 33) is read out.
위의 동작은 첫번째 사이클(S0)에서 실행되며 동시에 라스터엔진(12)으로부터 구해진 새로운 화소값이 데이타레지스터0(31)에 저장된다.The above operation is executed in the first cycle SO and at the same time, a new pixel value obtained from the raster engine 12 is stored in the data register 0 (31).
두번째 사이클(S1)에서 비교기(35)는 래치레지스터0(33)의 첫번째 번지에 래치된 기존 화소의 Z 값 부분인 비트32-비트55를 데이타레지스터0(31)에 저장된 Z 값과 비교한다. 비교결과에 따라 새로운 화소값은 래치레지스터0(33)의 첫번째 번지에 오버라이트되거나 버려진다. 또한 위의 동작과 병행하여 라스터엔진(12)은 X00000008번지의 새로운 화소값을 데이타레지스터1(32)로 저장한다. 이때 해당 화소값의 어드레스(X00000008)는 DRAM(30)으로 전달되지 않고 래치레지스터0(33)의 두번째 번지를 선택하는데 사용된다.In the second cycle S1, the comparator 35 compares bit 32-bit 55, which is the Z value portion of the existing pixel latched at the first address of the latch register 0 33, with the Z value stored in the data register 0 31. According to the comparison result, the new pixel value is overwritten or discarded at the first address of the latch register 0 (33). In parallel with the above operation, the raster engine 12 stores the new pixel value at X00000008 as the data register 1 (32). At this time, the address X00000008 of the corresponding pixel value is used to select the second address of the latch register 0 33 without being transferred to the DRAM 30.
선택된 두번째 번지의 기존화소값은 세번째 사이클(S2)에서 비교기(35)로 전달되고 그곳에서 데이타레지스터1(32)에 저장된 새로운 화소값과 비교되고 그 결과에 따라 갱신된다. 이러한 동작은 네번째 사이클(S3)에서도 동일하게 진행되어 래치레지스터0(33)에 저장된 4개의 기존화소값 모두가 비교될 때까지 계속된다.The existing pixel value of the selected second address is transferred to the comparator 35 in the third cycle S2, where it is compared with the new pixel value stored in the data register 1 32 and updated accordingly. This operation proceeds the same in the fourth cycle S3 and continues until all four existing pixel values stored in the latch register 0 33 are compared.
다섯번째 사이클(S4)(page hit 상태)에서 라스터엔진(12)는 X00000020)와 함께 새로운 화소값, 기능신호(X0)를 발생하고 제어부(38) 및 어드레스버퍼 래치(39)는 관련신호를 디코딩하여 DRAM(30)으로부터 4개의 기존화소값이 래치레지스터1(34)로 래치되도록 독출전송을 실행한다.In the fifth cycle S4 (page hit state), the raster engine 12 generates a new pixel value, a function signal X0 together with X00000020, and the control unit 38 and the address buffer latch 39 provide a related signal. Decode and read transfer are performed so that four existing pixel values are latched from the DRAM 30 to the latch register 1 (34).
여섯번째 사이클(S5)에서는 이미 실행완료된 래치레지스터0(33)의 화소값을 DRAM(30)으로 기록전송하기 위한 동작이 수행된다. 이것은 기능신호의 값이 X1일 때 어드레스 버퍼 래치(39)에 래치되어 있던 어드레스(첫번째 사이클에서 래치됨)로 DRAM(30)의 기억장소를 지정하고, 그곳에 래치레지스터0(33)의 모든 갱신화소값을 내부기록전송사이클을 통해 로딩함으로써 수행완료된다.In the sixth cycle S5, an operation for recording and transferring the pixel value of the already completed latch register 0 33 to the DRAM 30 is performed. This designates the storage location of the DRAM 30 as the address (latched in the first cycle) that was latched in the address buffer latch 39 when the value of the function signal is X1, and all update pixels of the latch register 0 33 therein. This is done by loading the value through the internal write transfer cycle.
위와 같은 일련의 동작이 지속되는 동안 라스터엔진(12)는 리드사이클, 모디파이사이클 또는 대기사이클의 요구없이 연속적으로 새로운 화소값을 기록할 수 있어 Z 버퍼 알고리즘의 실행성능이 개선된다.While the above series of operations continue, the raster engine 12 can continuously write new pixel values without requiring a read cycle, a mod cycle, or a standby cycle, thereby improving performance of the Z buffer algorithm.
상술한 바와 같이 본 발명에 따른 3차원 그래픽스용 램은 파이프라인 형태로 기존의 화소값과 새로운 화소값을 비교 및 갱신하도록 함으로써 보다 빠르게 새로운 화소값을 기록할 수 있는 효과가 있다.As described above, the RAM for 3D graphics according to the present invention has an effect of writing new pixel values faster by comparing and updating the existing pixel values with the new pixel values in a pipeline form.
또한, 라스터엔진에서 발생된 어드레스를 디코딩하여 4개의 기존화소값을 DRAM으로부터 프리패치하고 동시에 라스터엔진으로부터 새로운 화소값을 받을 수 있기 때문에 라스터엔진은 연속적으로 새로운 화소값을 기록할 수 있다.In addition, the raster engine can continuously write new pixel values because it can decode the addresses generated by the raster engine and prefetch four existing pixel values from the DRAM and at the same time receive new pixel values from the raster engine. .
또한, 본 발명에 따른 3차원 그래픽스용 램은 종래의 캐쉬기법을 사용한 경우보다 설계가 간단하고 가격이 저렴한 잇점이 있다.In addition, the RAM for three-dimensional graphics according to the present invention has the advantage that the design is simpler and cheaper than when using the conventional cache technique.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950004140A KR0170665B1 (en) | 1995-02-28 | 1995-02-28 | Ram for 3-dimensional graphics |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950004140A KR0170665B1 (en) | 1995-02-28 | 1995-02-28 | Ram for 3-dimensional graphics |
Publications (2)
Publication Number | Publication Date |
---|---|
KR960032202A KR960032202A (en) | 1996-09-17 |
KR0170665B1 true KR0170665B1 (en) | 1999-03-30 |
Family
ID=19409029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019950004140A KR0170665B1 (en) | 1995-02-28 | 1995-02-28 | Ram for 3-dimensional graphics |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0170665B1 (en) |
Families Citing this family (2)
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 |
-
1995
- 1995-02-28 KR KR1019950004140A patent/KR0170665B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR960032202A (en) | 1996-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5274760A (en) | Extendable multiple image-buffer for graphics systems | |
JP3828184B2 (en) | Frame buffer memory device controller | |
US4679041A (en) | High speed Z-buffer with dynamic random access memory | |
EP0870282B1 (en) | Method for a span and subspan sorting rendering system | |
KR100325902B1 (en) | Floating point processor for high performance 3D graphic accelerator and its processing function | |
US6377266B1 (en) | Bit BLT with multiple graphics processors | |
US5774133A (en) | Computer system with improved pixel processing capabilities | |
KR100301223B1 (en) | Draw processor for high performance 3D graphic accelerators | |
US5606650A (en) | Method and apparatus for storage and retrieval of a texture map in a graphics display system | |
US5524223A (en) | Instruction accelerator for processing loop instructions with address generator using multiple stored increment values | |
US5801711A (en) | Polyline and triangle strip data management techniques for enhancing performance of computer graphics system | |
US6977649B1 (en) | 3D graphics rendering with selective read suspend | |
US7050063B1 (en) | 3-D rendering texture caching scheme | |
US7609273B1 (en) | Pixel load instruction for a programmable graphics processor | |
WO1997005576A9 (en) | Method and apparatus for span and subspan sorting rendering system | |
US6166743A (en) | Method and system for improved z-test during image rendering | |
US6952217B1 (en) | Graphics processing unit self-programming | |
JPH0355832B2 (en) | ||
US20060098021A1 (en) | Graphics system and memory device for three-dimensional graphics acceleration and method for three dimensional graphics processing | |
US7439983B2 (en) | Method and apparatus for de-indexing geometry | |
JP3083724B2 (en) | Graphic system signal processing method and apparatus | |
KR0170665B1 (en) | Ram for 3-dimensional graphics | |
US5999200A (en) | Method and apparatus for automatically controlling the destination of a graphics command in a register file | |
US6088033A (en) | Method and apparatus for processing picture elements | |
US6489967B1 (en) | Image formation apparatus and image formation method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20060928 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |