KR101022282B1 - 3? graphic accelerator and 3? graphic accelerating method - Google Patents

3? graphic accelerator and 3? graphic accelerating method Download PDF

Info

Publication number
KR101022282B1
KR101022282B1 KR1020090063446A KR20090063446A KR101022282B1 KR 101022282 B1 KR101022282 B1 KR 101022282B1 KR 1020090063446 A KR1020090063446 A KR 1020090063446A KR 20090063446 A KR20090063446 A KR 20090063446A KR 101022282 B1 KR101022282 B1 KR 101022282B1
Authority
KR
South Korea
Prior art keywords
information
dual port
stencil
cache memory
alpha
Prior art date
Application number
KR1020090063446A
Other languages
Korean (ko)
Other versions
KR20110006019A (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 KR1020090063446A priority Critical patent/KR101022282B1/en
Publication of KR20110006019A publication Critical patent/KR20110006019A/en
Application granted granted Critical
Publication of KR101022282B1 publication Critical patent/KR101022282B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Abstract

본 발명은 3차원 그래픽 가속 장치 및 3차원 그래픽 가속 방법에 관한 것으로, 본 발명에 따른 3차원 그래픽 가속 장치는, 디스플레이될 픽셀 정보들로서, 깊이 정보, 색상 정보, 및 스텐실-알파 정보를 적어도 하나 이상 저장하는 프레임 메모리와, 현재의 프래그먼트에 대한 깊이 테스트, 색상 변환 및 스텐실 연산-알파 테스트를 적어도 하나 이상 수행하는 퍼프래그먼트 유닛과, 상기 현재의 프래그먼트에 대응되는 영역에 대한 깊이 정보, 색상 정보, 및 스텐실-알파 정보를 상기 프레임 메모리로부터 읽어와서 저장할 수 있고, 또한 동일 클록에서 읽기 기능과 쓰기 기능이 가능한 듀얼 포트 캐시 메모리와, 및 상기 퍼프래그먼트 유닛으로부터 상기 현재의 프래그먼트에 대한 깊이 테스트, 색상 변환 또는 스텐실 연산-알파 테스트의 수행을 위해 상기 현재의 프래그먼트에 대응되는 영역에 대한 깊이 정보, 색상 정보, 또는 스텐실-알파 정보의 요청이 있는 경우 상기 듀얼 포트 캐시 메모리에 요청 정보가 있으면 해당 정보를 읽어 출력하고, 상기 듀얼 포트 캐시 메모리에 요청 정보가 없으면 상기 프레임 메모리로부터 읽어와서 상기 듀얼 포트 캐시 메모리에 저장하는 캐시 컨트롤러를 포함함으로써, 그래픽 파이프라인의 스톨을 감소시켜 파이프라인의 성능을 향상시킬 수 있다. The present invention relates to a three-dimensional graphics acceleration device and a three-dimensional graphics acceleration method, the three-dimensional graphics acceleration device according to the present invention, as the pixel information to be displayed, at least one or more depth information, color information, and stencil-alpha information A frame memory to be stored, a per-fragment unit that performs at least one depth test, color conversion, and stencil operation-alpha test on a current fragment, depth information, color information, and an area corresponding to the current fragment; Dual port cache memory capable of reading and storing stencil-alpha information from the frame memory, and capable of reading and writing at the same clock, and depth testing, color conversion, or the like for the current fragment from the per-fragment unit. The string for performing stencil arithmetic-alpha test If there is a request for depth information, color information, or stencil-alpha information on an area corresponding to the ash fragment, the dual port cache memory reads and outputs the requested information, and the request information is stored in the dual port cache memory. If not present, the cache controller reads from the frame memory and stores in the dual port cache memory, thereby reducing the stall of the graphics pipeline, thereby improving the performance of the pipeline.

Description

3차원 그래픽 가속 장치 및 3차원 그래픽 가속 방법{3D GRAPHIC ACCELERATOR AND 3D GRAPHIC ACCELERATING METHOD}3D GRAPHIC ACCELERATOR AND 3D GRAPHIC ACCELERATING METHOD}

본 발명은 3차원 그래픽 가속 장치 및 3차원 그래픽 가속 방법에 관한 것으로, 특히 듀얼 포트 캐시 메모리를 이용한 3차원 그래픽 가속 장치 및 3차원 그래픽 가속 방법에 관한 것이다. The present invention relates to a three-dimensional graphics acceleration device and a three-dimensional graphics acceleration method, and more particularly, to a three-dimensional graphics acceleration device and a three-dimensional graphics acceleration method using a dual port cache memory.

3차원 그래픽 기술은 3차원 공간에 위치한 물체의 모양, 색상, 움직임 등을 시각화하는 기술로, 특히 3차원 공간의 물체를 높이, 폭, 길이의 세 가지 축을 이용하여 표현한 뒤 그 영상을 2차원 모니터 화면에 나타내는 기술이다. Three-dimensional graphics technology is a technology that visualizes the shape, color, and motion of an object located in three-dimensional space. In particular, three-dimensional objects are expressed using three axes of height, width, and length. It is the technology displayed on the screen.

3차원 그래픽 가속 장치가 수행하는 일련의 처리를 그래픽 파이프라인이라 하는데, 이 그래픽 파이프라인에서의 처리가 어느 한 곳이라도 늦은 부분이 있으면 전체 파이프라인의 속도가 저하된다. The series of processing performed by the three-dimensional graphics accelerator is called the graphics pipeline. If any part of the processing in the graphics pipeline is late, the entire pipeline slows down.

도 1은 일반적인 3차원 그래픽의 처리 과정을 나타낸 블록도이다.1 is a block diagram showing a process of processing a general three-dimensional graphic.

도 1에 도시되어 있는 바와 같이, 3차원 그래픽의 처리 과정은 3차원 응용 소프트웨어(110)가 응용 프로그램 인터페이스(API)(120)를 통해 보낸 3차원 그래픽 데이터에 대하여 3차원 그래픽 파이프라인(130)에서 실시간 하드웨어 가속을 수행 한 후 디스플레이부(140)로 출력하는 과정을 거친다. As shown in FIG. 1, the three-dimensional graphics processing process includes a three-dimensional graphics pipeline 130 for three-dimensional graphics data sent by the three-dimensional application software 110 through an application program interface (API) 120. After performing the real-time hardware acceleration in the process of outputting to the display unit 140.

한편, 3차원 그래픽 파이프라인(130)는 크게, 기하학(geometry) 처리부(132)와 렌더링(rendering) 처리부(134)를 구비한다. 기하학 처리부(132)는 주로 3차원 좌표계의 물체를 시점에 따라 변환하고 2차원 좌표계로 투영 처리하는 과정이며, 렌더링 처리부(134)는 2차원 좌표계의 이미지에 대한 색상 값 등을 결정하여 디스플레이부(140)의 프레임 메모리(142)에 저장하는 과정이다. 한 개의 프레임에 대하여 입력되는 모든 3차원 데이터에 대한 처리가 끝난 후에 디스플레이부(140)의 프레임 메모리(142)에 저장된 색상 값 등은 모니터(미도시됨) 상에서 디스플레이된다. 한편, 기하학 처리부(132)에서의 계산량은 처리하는 폴리곤의 정점 수에 비례하고, 렌더링 처리부(134)에서의 계산량은 생성하는 화소수에 비례한다.On the other hand, the 3D graphics pipeline 130 is largely provided with a geometry processing unit 132 and a rendering processing unit 134. The geometry processor 132 mainly converts an object of a 3D coordinate system according to a viewpoint and projects it into a 2D coordinate system, and the rendering processor 134 determines a color value of an image of the 2D coordinate system and displays the display unit ( The process is stored in the frame memory 142 of the 140. After the processing of all three-dimensional data input for one frame is finished, color values and the like stored in the frame memory 142 of the display 140 are displayed on a monitor (not shown). On the other hand, the calculation amount in the geometry processing unit 132 is proportional to the number of vertices of the polygon to be processed, and the calculation amount in the rendering processing unit 134 is proportional to the number of pixels to be generated.

3차원 그래픽은 주로 점, 선 또는 삼각형으로 구성되며, 대부분의 3차원 렌더링 처리부(134)는 삼각형을 고속으로 처리하는 구조를 가진다. 그리고 최근 3차원 그래픽 파이프라인(130)와 같은 3차원 그래픽 애플리케이션에서 실시간 장면을 렌더링할 때, 좀 더 자연스럽고 부드러운 영상을 얻기 위하여 다양한 텍스처(texture)와 여러 가지 방법의 컬러 블렌딩이 사용된다. 한편, 퍼프래그먼트 유닛은 디스플레이부(140)의 프레임 메모리(142)를 많이 액세스하므로, 3차원 그래픽 파이프라인(130)의 성능의 향상에 가장 큰 영향을 미친다. 따라서 3차원 그래픽 파이프라인(130)이 외부의 프레임 메모리(142)를 액세스할 때, 긴 레이턴시(lantency) 때문에 3차원 그래픽 파이프라인(130)의 스톨(stall)이 길어지는 것을 방지하기 위해 캐시 메모리가 사용된다. 3D graphics are mainly composed of points, lines, or triangles, and most 3D rendering processing units 134 have a structure of processing triangles at high speed. Recently, when rendering a real-time scene in a three-dimensional graphics application such as the three-dimensional graphics pipeline 130, various textures and various color blending methods are used to obtain a more natural and smooth image. On the other hand, since the perfragment unit accesses a lot of the frame memory 142 of the display unit 140, it has the greatest influence on the improvement of the performance of the 3D graphics pipeline 130. Thus, when the 3D graphics pipeline 130 accesses the external frame memory 142, the cache memory is prevented from lengthening the stall of the 3D graphics pipeline 130 due to the long latency. Is used.

그러나 종래의 캐시 메모리는 단일 포트 캐시 메모리로 읽기 기능과 쓰기 기능을 동시에 수행할 수가 없었다. 따라서 3차원 그래픽 파이프라인(130)에서의 스톨이 여전히 길어서 3차원 그래픽 파이프라인(130)의 성능이 저하되었다. However, the conventional cache memory is a single port cache memory and cannot simultaneously read and write. Therefore, the stall in the three-dimensional graphics pipeline 130 is still long, so the performance of the three-dimensional graphics pipeline 130 is degraded.

상술한 문제점을 해결하기 위하여, 본 발명은 퍼프래그먼트 유닛에서의 파이프라인의 스톨을 감소시키기 위하여 듀얼 포트 캐시 메모리를 이용한 3차원 그래픽 가속 장치 및 3차원 그래픽 가속 방법을 제공하는 것을 목적으로 한다.In order to solve the above problems, an object of the present invention is to provide a three-dimensional graphics acceleration device and a three-dimensional graphics acceleration method using a dual port cache memory to reduce the stall of the pipeline in the per-fragment unit.

또한, 본 발명은 시간 손실을 줄이기 위하여 3차원 그래픽 가속기의 파이프라인과 듀얼 포트 캐시 메모리에 동일 클록을 이용한 3차원 그래픽 가속 장치 및 3차원 그래픽 가속 방법을 제공하는 것을 목적으로 한다.Another object of the present invention is to provide a three-dimensional graphics accelerator and a three-dimensional graphics acceleration method using the same clock in the pipeline and dual port cache memory of the three-dimensional graphics accelerator to reduce time loss.

또한, 본 발명은 듀얼 포트 캐시 메모리의 데이터를 외부 프레임 메모리로 효율적으로 저장하기 위한 조정자를 구비한 캐시 컨트롤러를 포함하는 3차원 그래픽 가속 장치 및 3차원 그래픽 가속 방법을 제공하는 것을 목적으로 한다. It is also an object of the present invention to provide a three-dimensional graphics acceleration device and a three-dimensional graphics acceleration method including a cache controller having a coordinator for efficiently storing the data of the dual port cache memory to an external frame memory.

상술한 과제를 해결하기 위하여, 본 발명에 따른 3차원 그래픽 가속 장치는, 디스플레이될 픽셀 정보들로서, 깊이 정보, 색상 정보, 및 스텐실-알파 정보를 적어도 하나 이상 저장하는 프레임 메모리와, 현재의 프래그먼트에 대한 깊이 테스트, 색상 변환 및 스텐실 연산-알파 테스트를 적어도 하나 이상 수행하는 퍼프래그먼트 유닛과, 상기 현재의 프래그먼트에 대응되는 영역에 대한 깊이 정보, 색상 정 보, 및 스텐실-알파 정보를 상기 프레임 메모리로부터 읽어와서 저장할 수 있고, 또한 동일 클록에서 읽기 기능과 쓰기 기능이 가능한 듀얼 포트 캐시 메모리와, 및 상기 퍼프래그먼트 유닛으로부터 상기 현재의 프래그먼트에 대한 깊이 테스트, 색상 변환 또는 스텐실 연산-알파 테스트의 수행을 위해 상기 현재의 프래그먼트에 대응되는 영역에 대한 깊이 정보, 색상 정보, 또는 스텐실-알파 정보의 요청이 있는 경우 상기 듀얼 포트 캐시 메모리에 요청 정보가 있으면 해당 정보를 읽어 출력하고, 상기 듀얼 포트 캐시 메모리에 요청 정보가 없으면 상기 프레임 메모리로부터 읽어와서 상기 듀얼 포트 캐시 메모리에 저장하는 캐시 컨트롤러를 제공한다.In order to solve the above-mentioned problems, the three-dimensional graphics acceleration device according to the present invention, as pixel information to be displayed, a frame memory for storing at least one or more depth information, color information, and stencil-alpha information in the present fragment, A per-fragment unit that performs at least one depth test, a color conversion, and a stencil arithmetic-alpha test, and depth information, color information, and stencil-alpha information about an area corresponding to the current fragment, from the frame memory. Dual port cache memory capable of reading and storing, and also capable of reading and writing on the same clock, and for performing depth tests, color conversion or stencil arithmetic-alpha tests on the current fragment from the perfragment unit. For an area corresponding to the current fragment When there is a request for this information, color information, or stencil-alpha information, if there is request information in the dual port cache memory, the corresponding information is read and outputted. If there is no request information in the dual port cache memory, the request is read from the frame memory. Provides a cache controller that stores in dual-port cache memory.

상기 캐시 컨트롤러는 상기 듀얼 포트 캐시 메모리의 깊이 정보, 색상 정보, 또는 스텐실-알파 정보의 둘 이상이 동시에 상기 프레임 메모리에 라이트되는 경우 우선 순위를 조정하기 위한 고속의 논리 회로를 구비한 조정자부를 포함하는 것이 바람직하다.The cache controller includes a coordinator section having a high speed logic circuit for adjusting priority when two or more of depth information, color information, or stencil-alpha information of the dual port cache memory are simultaneously written to the frame memory. It is desirable to.

상기 조정자부는 우선 순위를 정하는 조정자와, 상기 조정자의 제어에 의해 상기 듀얼 포트 캐시 메모리의 깊이 정보, 색상 정보, 또는 스텐실-알파 정보의 어드레스 라인들로부터 하나를 선택하여 출력하는 어드레스 먹스와, 상기 조정자의 제어에 의해 상기 듀얼 포트 캐시 메모리의 깊이 정보, 색상 정보, 또는 스텐실-알파 정보의 데이터 라인들로부터 하나를 선택하여 출력하는 데이터 먹스를 포함하는 것이 바람직하다.The coordinator unit includes a coordinator for determining a priority, an address mux for selecting and outputting one from address lines of depth information, color information, or stencil-alpha information of the dual port cache memory under control of the coordinator; It is preferable to include a data mux to select one of the data line of the depth information, color information, or stencil-alpha information of the dual-port cache memory under the control of.

상기 조정자부는 상기 듀얼 포트 캐시 메모리의 색상 정보, 깊이 정보, 스텐실-알파 정보의 순으로 우선권을 부여하여 라이트 버스에 출력하는 것이 바람직하 다.Preferably, the coordinator unit gives priority to the color information, depth information, and stencil-alpha information of the dual port cache memory and outputs the priority to the write bus.

상기 듀얼 포트 캐시 메모리는 SRAM(Static RAM)인 것이 바람직하다.The dual port cache memory is preferably SRAM (Static RAM).

상기 듀얼 포트 캐시 메모리와 상기 퍼프래그먼트 유닛은 동일 클록을 이용하는 것이 바람직하다.Preferably, the dual port cache memory and the perfragment unit use the same clock.

상기 캐시 컨트롤러는 상기 듀얼 포트 캐시 메모리를 관리하기 위한 태그 필드와, 및 상기 듀얼 포트 캐시 메모리의 블록 교체를 위해 LRU 알고리즘을 더 구비한 것이 바람직하다.Preferably, the cache controller further includes a tag field for managing the dual port cache memory, and an LRU algorithm for block replacement of the dual port cache memory.

상술한 과제를 해결하기 위해, 본 발명에 따른 3차원 그래픽 가속 방법은 디스플레이될 픽셀 정보들로서, 깊이 정보, 색상 정보, 및 스텐실-알파 정보를 적어도 하나 이상 저장하는 프레임 메모리와, 현재의 프래그먼트에 대한 깊이 테스트, 색상 변환 및 스텐실 연산-알파 테스트를 적어도 하나 이상 수행하는 퍼프래그먼트 유닛과, 상기 현재의 프래그먼트에 대응되는 영역에 대한 깊이 정보, 색상 정보, 및 스텐실-알파 정보를 상기 프레임 메모리로부터 읽어와서 저장할 수 있고, 또한 동일 클록에서 읽기 기능과 쓰기 기능이 가능한 듀얼 포트 캐시 메모리를 구비한 그래픽 가속 장치를 이용한 3차원 그래픽 가속 방법에 있어서, 상기 퍼프래그먼트 유닛으로부터 상기 현재의 프래그먼트에 대한 깊이 테스트, 색상 변환 또는 스텐실 연산-알파 테스트의 수행을 위해 상기 현재의 프래그먼트에 대응되는 영역에 대한 깊이 정보, 색상 정보, 또는 스텐실-알파 정보의 요청이 있는 경우 상기 듀얼 포트 캐시 메모리에 요청 정보가 있으면 해당 정보를 읽어 출력하는 단계와, 및 상기 듀얼 포트 캐시 메모리에 요청 정보가 없으면 상기 프레임 메모리로부터 읽어와서 상 기 듀얼 포트 캐시 메모리에 저장하는 단계를 제공한다.In order to solve the above problems, the three-dimensional graphics acceleration method according to the present invention is a pixel memory to be displayed, the frame memory for storing at least one or more depth information, color information, and stencil-alpha information, and for the current fragment A per-fragment unit that performs at least one depth test, color conversion, and stencil arithmetic-alpha test, and depth information, color information, and stencil-alpha information for an area corresponding to the current fragment are read from the frame memory. A three-dimensional graphics acceleration method using a graphics accelerator having a dual port cache memory capable of storing and reading and writing at the same clock, the depth test of the current fragment from the perfragment unit, color Transform or Stencil Arithmetic-Alpha Testing If depth information, color information, or stencil-alpha information of a region corresponding to the current fragment is requested for a row, reading and outputting the requested information if the request information is present in the dual port cache memory; and If there is no request information in the dual port cache memory, a step of reading from the frame memory and storing in the dual port cache memory is provided.

상기 듀얼 포트 캐시 메모리의 깊이 정보, 색상 정보, 또는 스텐실-알파 정보의 둘 이상이 동시에 상기 프레임 메모리에 라이트되는 경우 우선 순위를 조정하는 단계를 더 포함하는 것이 바람직하다.The method may further include adjusting priorities when two or more of depth information, color information, or stencil-alpha information of the dual port cache memory are simultaneously written to the frame memory.

상기 듀얼 포트 캐시 메모리에 요청 정보가 없으면, 가장 오래된 블록 태그의 업데이트 비트가 설정되었는지를 확인하고, 상기 업데이트 비트가 설정되어 있으면 상기 가장 오래된 블록의 데이터를 프레임 메모리에 저장하는 것이 바람직하다.If there is no request information in the dual port cache memory, it is preferable to check whether the update bit of the oldest block tag is set and to store the data of the oldest block in the frame memory if the update bit is set.

상술한 구성들에 의하여, 본 발명은 입력 포트와 출력 포트가 별개로 구비하고 동일 클록으로 동시에 연속적인 읽기 혹은 쓰기가 가능하게 함으로써 그래픽 파이프라인의 스톨을 감소시켜 파이프라인의 성능을 향상시킬 수 있다. According to the above-described configurations, the present invention can improve the performance of the pipeline by reducing the stall of the graphics pipeline by separately providing the input port and the output port and enabling continuous read or write simultaneously with the same clock. .

또한, 본 발명은 듀얼 포트 캐시 메모리와 그래픽 파이프라인에 대하여 동일 클록을 이용함으로써 타임 손실을 줄일 수 있어 그래픽 파이프라인의 성능을 향상시킬 수 있다. In addition, the present invention can reduce time loss by using the same clock for the dual port cache memory and the graphics pipeline, thereby improving the performance of the graphics pipeline.

또한, 본 발명은 조정자의 이용에 의해 듀얼 포트 캐시 메모리의 데이터를 외부 프레임 메모리로 효율적으로 저장할 수 있다. In addition, the present invention can efficiently store data in the dual port cache memory into the external frame memory by use of the coordinator.

이하, 도면을 참조하여 본 발명의 바람직한 실시예들에 대하여 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명의 일실시예에 따른 3차원 그래픽 가속 장치의 블록도이다.2 is a block diagram of an apparatus for accelerating 3D graphics according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 3차원 그래픽 가속 장치(200)는 3차원 그래픽 애플리케이션에서 실시간 장면을 렌더링하기 위하여 프레임 메모리(210), AXI BUS MATRIX(220), 퍼프래그먼트 유닛(230), 듀얼 포트 캐시 메모리(240) 및 캐시 컨트롤러(250)를 포함한다.As shown in FIG. 2, the 3D graphics accelerator 200 may include a frame memory 210, an AXI BUS MATRIX 220, a perfragment unit 230, and a dual port for rendering a real-time scene in a 3D graphics application. Cache memory 240 and cache controller 250.

프레임 메모리(210)는 LCD 컨트롤러(10)를 통해 LCD 화면(20)에 디스플레이될 픽셀 정보들을 저장한다. 특히, 프레임 메모리(210)는 디스플레이될 픽셀 정보들로서, 실시간 장면의 렌더링과 관련된 깊이 정보, 색상 정보, 및 스텐실-알파 정보를 적어도 하나 이상 저장한다.The frame memory 210 stores pixel information to be displayed on the LCD screen 20 through the LCD controller 10. In particular, the frame memory 210 stores at least one of depth information, color information, and stencil-alpha information related to rendering of a real-time scene as pixel information to be displayed.

AXI BUS MATRIX(220)는 다수의 주변 모듈(peripheral)을 연결하고 높은 주파수로 동작하는 버스 메트릭스로, AXI(Advanced eXtensible Interface) 프로토콜을 이용한 버스 매트릭스이다.The AXI BUS MATRIX 220 is a bus matrix that connects a number of peripheral modules and operates at a high frequency, and is a bus matrix using the Advanced eXtensible Interface (AXI) protocol.

퍼프래그먼트 유닛(230)은 현재의 프래그먼트에 대한 깊이 테스트, 색상 변환 및 스텐실-알파 블렌딩을 적어도 하나 이상 수행한다. 일반적으로 프래그먼트는 픽셀을 의미하지만, 다른 단위로 정의하여 사용할 수도 있다. 도 2에서는 3차원 그래픽 파이프라인으로, 퍼프래그먼트 유닛(230)만이 도시되어 있으나, 기하학 엔진, 래스터 라이저, 프래그먼트 세이터 및 텍스처 유닛을 더 구비할 수 있다.Perfragment unit 230 performs at least one depth test, color conversion, and stencil-alpha blending on the current fragment. Generally, fragments mean pixels, but they can be defined and used in other units. In FIG. 2, although only the perfragment unit 230 is illustrated as a three-dimensional graphics pipeline, it may further include a geometry engine, a raster riser, a fragment shader, and a texture unit.

듀얼 포트 캐시 메모리(240)는 동일 클록에서 읽기 기능과 쓰기 기능이 가능한 캐시 메모리로, 프레임 메모리(210)로부터 읽어온 현재의 프래그먼트에 대응되 는 영역에 대한 깊이 정보, 색상 정보, 및 스텐실-알파 정보를 저장하거나 퍼프래그먼트 유닛(230)에서의 현재의 프래그먼트에 대한 깊이 테스트, 색상 변환 또는 스텐실-알파 블렌딩의 수행에 따른 현재 프로그먼트의 깊이 정보, 색상 정보 또는 스텐실-알파 정보를 저장한다. 또한, 듀얼 포트 캐시 메모리(240)는 동기적(synchronous) 혹은 비동기적(asynchronous)으로 동작할 수 있으며, SRAM(Static RAM)인 것이 바람직하다.The dual port cache memory 240 is a cache memory capable of a read function and a write function at the same clock, and includes depth information, color information, and stencil-alpha for an area corresponding to the current fragment read from the frame memory 210. Stores information or stores depth information, color information, or stencil-alpha information of the current fragment according to the depth test, color conversion, or stencil-alpha blending for the current fragment in the perfragment unit 230. In addition, the dual port cache memory 240 may operate synchronously or asynchronously, and is preferably SRAM (Static RAM).

또한, 듀얼 포트 캐시 메모리(240)는 타임 손실을 없애기 위하여 읽기/쓰기에 퍼프래그먼트 유닛(230)의 클록과 동일한 클록을 이용한다. The dual port cache memory 240 also uses the same clock as the clock of the perfragment unit 230 for read / write to eliminate time loss.

즉, 본 발명은 캐시 메모리로 듀얼 포트 캐시 메모리(240)를 이용함으로써, 듀얼 포트 캐시 메모리(240)에 대하여 읽기 기능과 쓰기 기능을 동일 클록에서 동시에 수행할 수 있다. 즉, 퍼프래그먼트 유닛(230)으로부터의 읽기 요청은 듀얼 포트 캐시 메모리(240)에의 쓰기 요청과 독립적으로 수행된다.That is, according to the present invention, by using the dual port cache memory 240 as the cache memory, the read function and the write function may be simultaneously performed on the dual port cache memory 240 at the same clock. That is, the read request from the perfragment unit 230 is performed independently of the write request to the dual port cache memory 240.

캐시 컨트롤러(250)는 3차원 그래픽 렌더링을 위해 프레임 메모리(210)의 데이터를 캐싱하는 역할을 담당하는 부분이다. 즉, 캐시 컨트롤러(250)는 퍼프래그먼트 유닛(230)으로부터 현재의 프래그먼트에 대한 깊이 테스트, 색상 변환 또는 스텐실-알파 블렌딩의 수행을 위해 현재의 프래그먼트에 대응되는 영역에 대한 깊이 정보, 색상 정보, 또는 스텐실-알파 정보의 요청이 있는 경우 듀얼 포트 캐시 메모리(240)에 요청 정보가 있으면 해당 정보를 읽어 출력하고, 듀얼 포트 캐시 메모리(240)에 요청 정보가 없으면 프레임 메모리(210)로부터 읽어와서 듀얼 포트 캐시 메모리(210)에 저장한다. 또한, 캐시 컨트롤러(250)는 퍼프래그먼트 유닛(230)에서 의 현재의 프래그먼트에 대한 깊이 테스트, 색상 변환 또는 스텐실-알파 블렌딩의 수행에 따른 현재 프로그먼트의 깊이 정보, 색상 정보 또는 스텐실-알파 정보를 듀얼 포트 캐시 메모리(240)에 저장한다The cache controller 250 is a part that caches data of the frame memory 210 for 3D graphic rendering. That is, the cache controller 250 may perform the depth test, the color information, or the depth information on the area corresponding to the current fragment to perform the depth test, the color conversion, or the stencil-alpha blending on the current fragment from the per fragment unit 230. If there is a request for stencil-alpha information, the dual port cache memory 240 reads the requested information and outputs the information, and if there is no request information in the dual port cache memory 240, reads from the frame memory 210 and the dual port. Stored in the cache memory 210. In addition, the cache controller 250 may determine the depth information, the color information, or the stencil-alpha information of the current fragment according to the depth test, the color conversion, or the stencil-alpha blending for the current fragment in the per-fragment unit 230. Store in dual port cache memory 240

또한, 캐시 컨트롤러(250)는 듀얼 포트 캐시 메모리(240)를 관리하기 위한 태그 필드(tag field)(252)를 더 구비하며, 또한 듀얼 포트 캐시 메모리(240)의 블록 교체를 위해 LRU(Least Recently Used) 알고리즘을 구비하고 있다.In addition, the cache controller 250 further includes a tag field 252 for managing the dual port cache memory 240, and also has a Least Recently (LRU) for block replacement of the dual port cache memory 240. Used) algorithm.

또한, 캐시 컨트롤러(250)는 AXI 리드 포트(252), AXI 라이트 포트(254) 및 조정자부(256)를 구비하고 있다.In addition, the cache controller 250 includes an AXI read port 252, an AXI write port 254, and an adjuster unit 256.

AXI 리드 포트(252)는 프레임 메모리(210)로부터 데이터를 읽어와서 듀얼 포트 캐시 메모리(240)에 업데이트하기 위한 포트이다.The AXI read port 252 is a port for reading data from the frame memory 210 and updating it to the dual port cache memory 240.

AXI 라이트 포트(254)는 퍼프래그먼트 유닛(230)의 렌더링 처리에 따라 업데이트된 듀얼 포트 캐시 메모리(240)의 데이터를 읽어와서 프레임 메모리(210)에 저장하기 위한 포트이다.The AXI write port 254 is a port for reading the data of the dual port cache memory 240 updated according to the rendering process of the perfragment unit 230 and storing the data in the frame memory 210.

조정자부(256)는 고성능의 로직 회로로, 듀얼 포트 캐시 메모리(240)로부터 복수의 데이터, 예를 들면, 깊이 정보, 색상 정보 또는 스텐실-알파 정보가 읽어와서 프레임 메모리(210)로 출력하는 경우 라운딩 로빈(ROUND-ROBIN) 방식으로 우선 순위를 정해서 AXI 라이트 포트(254)에 출력한다. 따라서 조정자부(256)에 의해 듀얼 포트 캐시 메모리(240)의 데이터를 효율적으로 프레임 메모리(210)에 저장할 수 있다.The adjuster unit 256 is a high-performance logic circuit, in which a plurality of data, for example, depth information, color information, or stencil-alpha information is read from the dual port cache memory 240 and output to the frame memory 210. Priority is determined by a round-robin method and output to the AXI write port 254. Accordingly, the coordinator unit 256 may efficiently store the data of the dual port cache memory 240 in the frame memory 210.

도 3은 도 2에 도시된 3차원 그래픽 가속 장치의 동작을 설명하는 흐름도이다.FIG. 3 is a flowchart for describing an operation of the 3D graphic accelerator shown in FIG. 2.

캐시 컨트롤러(250)의 동작은 퍼프래그먼트 유닛(230)으로부터의 접근, 즉 동작 요청으로부터 시작한다.The operation of the cache controller 250 begins with an access from the perfragment unit 230, that is, an operation request.

먼저, 캐시 컨트롤러(250)는 듀얼 포트 캐시 메모리(240)가 초기화되어 있는지를 조사한다(S302).First, the cache controller 250 checks whether the dual port cache memory 240 is initialized (S302).

만약, 듀얼 포트 캐시 메모리(240)가 초기화되어 있지 않으면, 캐시 컨트롤러(250)는 태그 필드(252)를 모두 '0' 또는 디폴트값(default value)으로 초기화한다(S304). If the dual port cache memory 240 is not initialized, the cache controller 250 initializes all the tag fields 252 to '0' or a default value (S304).

듀얼 포트 캐시 메모리(240)가 8 X 8 픽셀 정보를 담을 수 있는 블록(이하 '캐시 블록'이라 함) 32개로 이루어진 경우, 캐시 컨트롤러(250)의 태그 필드(252)에는 32개의 캐시 블록의 값들을 저장할 수 있는 블록 태그들(TAG[0] ~ TAG[31])이 있으며, 각 블록 태그에는 프레임 메모리(210)에서 해당 블록의 위치를 결정하는 ID값, 그 블록이 업데이트 되었는지를 나타내는 값, 그 블록이 유효한지를 나타내는 값 등이 저장된다. 또한, 캐시 컨트롤러(250)는 캐시 블록의 최근 사용 순서를 나타내기 위해서 32개의 캐시 블록에 대한 사용 순위(LRU[0] ~ LRU[31])를 저장할 수 있다.When the dual port cache memory 240 is composed of 32 blocks (hereinafter referred to as 'cache blocks') that can hold 8 X 8 pixel information, the tag field 252 of the cache controller 250 includes 32 cache block values. Block tags (TAG [0] to TAG [31]) capable of storing the data, and each block tag has an ID value for determining the location of the block in the frame memory 210, a value indicating whether the block has been updated, A value indicating whether the block is valid or the like is stored. In addition, the cache controller 250 may store usage ranks (LRU [0] to LRU [31]) for 32 cache blocks to indicate a recent order of use of the cache blocks.

한편, 캐시 컨트롤러(250)는 듀얼 포트 캐시 메모리(240)가 초기화되었다면, 퍼프래그먼트 유닛(230)에서 입력된 좌표값(u, v)으로부터 해당 블록 id(nw_blk_id)를 계산하여(S306), 현재 듀얼 포트 캐시 메모리(240)에 프레임 메모 리(210)의 해당 블록이 캐싱되어 있는지를 조사한다(S308). 즉, 블록 태그 TAG[X][15:2] 비트 값이 캐시 블록 id를 나타내므로, 유효한 캐시 블록들의 id값들을 새로 요청된 nw_blk_id와 비교하여 듀얼 포트 캐시 메모리(240)에 요청된 블록이 있는지를 조사한다. 이 경우 요청된 nw_blk_id가 캐시 블록의 id(TAG[X][15:2]와 일치하고 TAG[X][0]==1로 그 캐시 블록이 유효하면, 캐시 히트가 되고, 아니면 캐시 미스가 된다.Meanwhile, when the dual port cache memory 240 is initialized, the cache controller 250 calculates a corresponding block id (nw_blk_id) from the coordinate values u and v input from the perfragment unit 230 (S306). It is checked whether the corresponding block of the frame memory 210 is cached in the dual port cache memory 240 (S308). That is, since the block tag TAG [X] [15: 2] bit value represents the cache block id, whether the requested block exists in the dual port cache memory 240 by comparing the id values of valid cache blocks with the newly requested nw_blk_id. Investigate. In this case, if the requested nw_blk_id matches the cache block's id (TAG [X] [15: 2] and TAG [X] [0] == 1, then the cache block is valid, a cache hit, or a cache miss do.

캐시 컨트롤러(250)는 캐시 미스인 경우, 캐시 블록들 중 가장 오래전에 사용된 캐시 블록을 새로운 데이터로 교체하게 된다. 가장 오래된 캐시 블록 넘버는 LRU 배열의 가장 마지막 값, 즉 LRU[31]에 저장된 값이다. 이 경우 가장 오래된 캐시 블록 넘버, 예를 들면 블록 태그의 업데이트 비트 TAG[X][1]가 '1'로 세트되어 있는지를 조사한다(S310).If the cache controller 250 is a cache miss, the cache controller 250 replaces the oldest cache block among the cache blocks with new data. The oldest cache block number is the last value of the LRU array, that is, the value stored in the LRU [31]. In this case, it is checked whether the oldest cache block number, for example, the update bit TAG [X] [1] of the block tag is set to '1' (S310).

만약 블록 태그의 업데이트 비트 TAG[X][1]가 '1'로 세트되어 있으면, 캐시 컨트롤러(250)는 해당 캐시 블록을 교체하기 전에 먼저 AXI 라이트 포트(254)를 이용하여 해당 캐시 블록의 데이터를 프레임 메모리(210)의 해당 영역에 저장한다(S312).If the update bit TAG [X] [1] of the block tag is set to '1', the cache controller 250 first uses the AXI write port 254 to replace the cache block data before replacing the cache block. Is stored in the corresponding area of the frame memory 210 (S312).

만약 블록 태그의 업데이트 비트 TAG[X][1]가 '0'으로 세트되어 있거나, 단계 S312를 통해 해당 캐시 블록의 데이터를 프레임 메모리(210)의 해당 영역에 저장하였다면, 캐시 컨트롤러(250)는 요청된 새로운 블록 nw_blk_id에 해당하는 데이터를 AXI 리드 포트(252)를 이용하여 프레임 메모리(210)로부터 읽어와서 LRU[31]이 가리키는 캐시 블록에 저장한다(S314).If the update bit TAG [X] [1] of the block tag is set to '0' or the data of the corresponding cache block is stored in the corresponding area of the frame memory 210 through step S312, the cache controller 250 Data corresponding to the requested new block nw_blk_id is read from the frame memory 210 using the AXI read port 252 and stored in the cache block indicated by the LRU [31] (S314).

캐시 히트의 경우이거나 단계 314를 통해 새로운 블록 데이터가 해당 캐시 블록에 저장된 경우이면, 캐시 컨트롤러(250)는 그 캐시 블록의 해당 픽셀에 대한 요청된 동작, 즉 리드 동작 또는 라이트 동작을 수행하기 위해 라이트 동작인지를 조사한다(S316).If it is a cache hit or if new block data is stored in that cache block via step 314, the cache controller 250 writes to perform the requested operation, ie read operation or write operation, for the corresponding pixel of that cache block. Check whether the operation (S316).

만약, 요청된 동작이 리드 동작이면, 캐시 컨트롤러(250)는 그 캐시 블록의 해당 픽셀의 데이터를 읽어와서 퍼프래그먼트 유닛(230)에 제공한다(S318). 한편, 요청된 동작이 라이트 동작이면, 캐시 컨트롤러(250)는 해당 캐시 블록에 퍼프래그먼트 유닛(230)에서 제공된 픽셀 데이터를 저장하고, 그 캐시 블록에 대응되는 블록 태그의 업데이트 비트를 '1'로 세팅한다(S320).If the requested operation is a read operation, the cache controller 250 reads data of the corresponding pixel of the cache block and provides the read data to the perfragment unit 230 (S318). On the other hand, if the requested operation is a write operation, the cache controller 250 stores the pixel data provided from the perfragment unit 230 in the corresponding cache block, and sets the update bit of the block tag corresponding to the cache block to '1'. Set (S320).

일단 리드 동작 또는 라이트 동작이 수행되면, 캐시 컨트롤러(250)는 LRU 순서를 업데이트하게 된다. 즉, 캐시 컨트롤러(250)는 가장 최근에 사용되어진 캐시 블록 넘버를 LRU[0]에 쓰고, 나머지 블록 넘버들의 순서를 한 단계씩 증가시킨다.Once a read or write operation is performed, cache controller 250 updates the LRU order. That is, the cache controller 250 writes the most recently used cache block number to the LRU [0], and increments the order of the remaining block numbers by one step.

이러한 일련의 단계를 수행한 후에, 캐시 컨트롤러(250)는 다음 새로운 요청을 받을 수 있는 상태로 다시 되돌아 간다.After performing this series of steps, the cache controller 250 returns to the state where it can receive the next new request.

도 4는 본 발명의 일실시예에 따른 3차원 그래픽 가속 장치의 블록도를 구체적으로 도시한 도면이고, 도 5는 도 4에 도시된 조정자부를 구체적으로 도시한 도면이다.4 is a block diagram of a three-dimensional graphics acceleration device according to an embodiment of the present invention in detail, Figure 5 is a view showing in detail the adjuster shown in FIG.

프레임 메모리(210)는 깊이 정보를 저장하는 Z 버퍼(482)와, 스텐실-알파 정보를 저장하는 SA 버퍼(484)와 색상 정보를 저장하는 C 버퍼(486)를 구비한다.The frame memory 210 includes a Z buffer 482 for storing depth information, an SA buffer 484 for storing stencil-alpha information, and a C buffer 486 for storing color information.

퍼프래그먼트 유닛(230)의 파이프라인들은 시저 테스트(scissor test), 깊이 값 읽기(depth value read), 깊이 테스트(depth test), 깊이 값 쓰기(depth value write), 스텐실-알파 값 읽기(stencil-alpha value read), 스텐실 연산(stencil operation), 알파 테스트(alpha test), 알파 블렌딩(alpha blending), 스텐실-알파 값 쓰기(stencil-alpha value write), 색상 값 읽기(color value read), 논리적 연산(logical operation), 디더링/색상 포맷 변환(dithering/color format conversion) 및 색상 값 쓰기(color value write)를 수행할 수 있다. The pipelines of the perfragment unit 230 are scissor test, depth value read, depth test, depth value write, stencil-alpha value read. alpha value read, stencil operation, alpha test, alpha blending, stencil-alpha value write, color value read, logical operation (logical operation), dithering / color format conversion, and color value write.

도 4는 퍼프래그먼트 유닛(230)의 다양한 파이프라인들 중에서 캐시 컨트롤러와 연동하는 파인프라인들만을 도시한 것으로, 퍼프래그먼트 유닛(230)은 깊이 값 읽기(402), 깊이 테스트(404), 깊이 값 쓰기(406), 스텐실-알파 값 읽기(412), 스텐실 연산(414), 알파 테스트(416), 스텐실-알파 값 쓰기(418), 색상 값 읽기(422), 색상 포맷 변환(424) 및 색상 값 쓰기(426)를 구비한다.FIG. 4 illustrates only the fine lines that interoperate with the cache controller among various pipelines of the perfragment unit 230. The perfragment unit 230 includes a depth value reading 402, a depth test 404, and a depth value. Write (406), read stencil-alpha value (412), stencil operation (414), alpha test (416), write stencil-alpha value (418), read color value (422), color format conversion (424), and color A value write 426 is provided.

한편, 듀얼 포트 캐시 메모리(240)는 퍼프래그먼트 유닛(230)의 깊이 테스트(404)와 관련된 Z 캐시 메모리(432)와, 퍼프래그먼트 유닛(230)의 스텐실 연산(414) 및 알파 테스트(416)와 관련된 SA 캐시 메모리(434)와, 및 퍼프래그먼트 유닛(230)의 색상 포맷 변환(424)과 관련된 C 캐시 메모리(436)로 구분된다. The dual port cache memory 240, on the other hand, is a Z cache memory 432 associated with the depth test 404 of the perfragment unit 230, and a stencil operation 414 and alpha test 416 of the perfragment unit 230. SA cache memory 434 associated with and C cache memory 436 associated with color format conversion 424 of perfragment unit 230.

캐시 컨트롤러(250)는 Z 캐시 메모리(432)를 제어하기 위한 Z 제어부(440)와, SA 캐시 메모리(434)를 제어하기 위한 SA 제어부(450)와, 및 C 캐시 메모리(436)를 제어하기 위한 C 제어부(460)와 및 조정자부(470)을 구비한다.The cache controller 250 controls the Z controller 440 for controlling the Z cache memory 432, the SA controller 450 for controlling the SA cache memory 434, and the C cache memory 436. C control unit 460 and adjuster unit 470 is provided.

그리고 Z 제어부(440)에는 Z 캐시 메모리(432)를 관리하기 위한 Z 태그 필 드(442)가 구비되어 있으며, SA 제어부(450)에는 SA 캐시 메모리(434)를 관리하기 위한 SA 태그 필드(452)가 구비되어 있으며, 또한 C 제어부(460)에는 Z 캐시 메모리(436)를 관리하기 위한 C 태그 필드(462)가 구비되어 있다.The Z controller 440 includes a Z tag field 442 for managing the Z cache memory 432, and the SA controller 450 includes an SA tag field 452 for managing the SA cache memory 434. In addition, the C controller 460 is provided with a C tag field 462 for managing the Z cache memory 436.

현재의 프래그먼트에 대한 깊이 값 읽기(402) 파이프라인의 동작이면 퍼프래그먼트 유닛(230)은 읽기 명령 신호 및 깊이 어드레스 z_add를 캐시 컨트롤러(250)의 Z 제어부(440)로 제공한다.If the depth value 402 pipeline operation for the current fragment is performed, the perfragment unit 230 provides a read command signal and a depth address z_add to the Z controller 440 of the cache controller 250.

Z 제어부(440)는 깊이 어드레스 z_add가 Z 태그 필드(442)에 있는지를 조사하고 캐시 히트이면 Z 캐시 메모리(432)의 해당 어드레스 zr_add로부터 깊이 정보를 읽어 퍼프래그먼트 유닛(230)의 깊이 값 읽기(402)에 제공한다. 그러나 캐시 미스이면, Z 제어부(440)는 깊이 어드레스 z_add에 기초하여 프레임 메모리(210)의 Z 버퍼(482)로부터 깊이 정보를 읽어와서 Z 캐시 메모리(432)에 저장하고 퍼프래그먼트 유닛(230)의 깊이 값 읽기(402)에 제공한다. 퍼프래그먼트 유닛(230)의 깊이 값 읽기(402) 파이프라인은 요청된 깊이 정보를 캐시 컨트롤러(250)에서 수신할 때까지 스톨된다.The Z control unit 440 checks whether the depth address z_add is in the Z tag field 442, and if it is a cache hit, reads depth information from the corresponding address zr_add of the Z cache memory 432 to read the depth value of the perfragment unit 230 ( 402). However, if the cache misses, the Z control unit 440 reads the depth information from the Z buffer 482 of the frame memory 210 based on the depth address z_add, stores the depth information in the Z cache memory 432, and stores the depth information of the perfragment unit 230. Provide to depth value read 402. The depth value reading 402 pipeline of the perfragment unit 230 is stalled until the cache controller 250 receives the requested depth information.

현재의 프래그먼트의 깊이 값을 수신한 퍼프래그먼트 유닛(230)은 깊이 테스트(404) 파이프 라인에서 깊이 테스트 동작을 수행할 수 있다. 그리고 깊이 테스트가 정상적으로 이루어진 경우에는 깊이 값 쓰기(406)에서 새로운 깊이 값을 Z 제어부(440)에 제공하고, Z 제어부(440)는 Z 캐시 메모리(432)의 해당 캐시 블록에 새로운 깊이 값을 저장하고, Z 태그 필드(442)의 해당 블록 태그에 업데이트 정보를 기록한다.Upon receiving the depth value of the current fragment, the per-fragment unit 230 may perform a depth test operation in the depth test 404 pipeline. When the depth test is normally performed, the depth value write 406 provides a new depth value to the Z controller 440, and the Z controller 440 stores the new depth value in the corresponding cache block of the Z cache memory 432. The update information is recorded in the block tag of the Z tag field 442.

Z 제어부(440)는 Z 캐시 메모리(432)의 해당 캐시 블록에 새로운 깊이 값을 저장하는 동안, 퍼프래그먼트 유닛(230)으로부터 새로운 읽기 명령 신호 및 새로운 깊이 어드레스 z_add를 제공받아 캐시 히트이면 Z 캐시 메모리(432)의 해당 어드레스 zr_add로부터 깊이 정보를 읽어 퍼프래그먼트 유닛(230)의 깊이 값 읽기(402)에 제공할 수 있다. The Z control unit 440 receives a new read command signal and a new depth address z_add from the perfragment unit 230 while storing a new depth value in the corresponding cache block of the Z cache memory 432 and, if the cache hit, the Z cache memory. Depth information may be read from the corresponding address zr_add at 432 and provided to the depth value read 402 of the perfragment unit 230.

현재의 프래그먼트에 대한 스텐실-알파 값 읽기(412) 파이프라인의 동작이면 퍼프래그먼트 유닛(230)은 읽기 명령 신호 및 스텐실-알파 어드레스 sa_add를 캐시 컨트롤러(250)의 SA 제어부(450)로 제공한다. 여기서 스텐실-알파 값은 16비트 또는 8비트로 이루어질 수 있다.In operation of the stencil-alpha value read 412 pipeline for the current fragment, the perfragment unit 230 provides a read command signal and a stencil-alpha address sa_add to the SA controller 450 of the cache controller 250. Here, the stencil-alpha value may consist of 16 bits or 8 bits.

SA 제어부(450)는 스텐실-알파 어드레스 sa_add가 SA 태그 필드(452)에 있는지를 조사하고 캐시 히트이면 SA 캐시 메모리(434)의 해당 어드레스 sar_add로부터 스텐실-알파 정보를 읽어 퍼프래그먼트 유닛(230)의 스텐실-알파 값 읽기(412)에 제공한다. 그러나 캐시 미스이면, SA 제어부(450)는 스텐실-알파 어드레스 sa_add에 기초하여 프레임 메모리(210)의 SA 버퍼(484)로부터 스텐실-알파 정보를 읽어와서 SA 캐시 메모리(434)에 저장하고 퍼프래그먼트 유닛(230)의 스텐실-알파 값 읽기(412)에 제공한다. 퍼프래그먼트 유닛(230)의 스텐실-알파 값 읽기(412) 파이프라인은 요청된 깊이 정보를 캐시 컨트롤러(250)에서 수신할 때까지 스톨된다.The SA controller 450 checks whether the stencil-alpha address sa_add is in the SA tag field 452, and if it is a cache hit, reads the stencil-alpha information from the corresponding address sar_add of the SA cache memory 434 to determine the perfragment unit 230. Provide for reading stencil-alpha values 412. However, if the cache misses, the SA controller 450 reads the stencil-alpha information from the SA buffer 484 of the frame memory 210 based on the stencil-alpha address sa_add, stores the stencil-alpha information in the SA cache memory 434, and stores the perfragment unit. Read 412 of stencil-alpha values (230). The stencil-alpha value read 412 pipeline of the perfragment unit 230 is stalled until the cache controller 250 receives the requested depth information.

현재의 프래그먼트의 스텐실-알파 값을 수신한 퍼프래그먼트 유닛(230)은 스텐실 연산(414) 파이프라인에서 스텐실 테스트 동작을 수행하고, 알파 테스트(416) 파이프라인에서 알파 테스트 동작을 수행한다. 그리고 스텐실 연산과 알파 테스트 가 정상적으로 이루어진 경우에는 스텐실-알파 값 쓰기(418)에서 새로운 스텐실-알파 값을 SA 제어부(450)에 제공하고, SA 제어부(450)는 SA 캐시 메모리(434)의 해당 캐시 블록에 새로운 스텐실-알파 값을 저장하고, SA 태그 필드(452)의 해당 블록 태그에 업데이트 정보를 기록한다.Upon receiving the stencil-alpha value of the current fragment, the per-fragment unit 230 performs a stencil test operation in the stencil operation 414 pipeline and an alpha test operation in the alpha test 416 pipeline. When the stencil operation and the alpha test are normally performed, the stencil-alpha value write 418 provides a new stencil-alpha value to the SA controller 450, and the SA controller 450 provides a corresponding cache of the SA cache memory 434. The new stencil-alpha value is stored in the block, and update information is recorded in the corresponding block tag of the SA tag field 452.

그리고, 현재의 프래그먼트에 대한 색상 값 읽기(422) 파이프라인의 동작이면 퍼프래그먼트 유닛(230)은 읽기 명령 신호 및 색상 어드레스 c_add를 캐시 컨트롤러(250)의 C 제어부(460)로 제공한다.In addition, when the color value read 422 pipeline operation of the current fragment is performed, the perfragment unit 230 provides a read command signal and a color address c_add to the C controller 460 of the cache controller 250.

C 제어부(460)는 색상 어드레스 c_add가 C 태그 필드(462)에 있는지를 조사하고 캐시 히트이면 C 캐시 메모리(436)의 해당 어드레스 cr_add로부터 색상 정보를 읽어 퍼프래그먼트 유닛(230)의 색상 값 읽기(422)에 제공한다. 그러나 캐시 미스이면, C 제어부(460)는 색상 어드레스 c_add에 기초하여 프레임 메모리(210)의 C 버퍼(486)로부터 색상 정보를 읽어와서 C 캐시 메모리(436)에 저장하고 퍼프래그먼트 유닛(230)의 색상 값 읽기(422)에 제공한다. 퍼프래그먼트 유닛(230)의 색상 값 읽기(422) 파이프라인은 요청된 색상 정보를 캐시 컨트롤러(250)에서 수신할 때까지 스톨된다.The C control unit 460 checks whether the color address c_add is in the C tag field 462 and if it is a cache hit, reads color information from the corresponding address cr_add of the C cache memory 436 and reads the color value of the perfragment unit 230 ( 422). However, if the cache misses, the C controller 460 reads color information from the C buffer 486 of the frame memory 210 based on the color address c_add, stores the color information in the C cache memory 436, and then stores the color information in the per fragment unit 230. Provided to the color value read (422). The color value reading 422 pipeline of the perfragment unit 230 is stalled until the cache controller 250 receives the requested color information.

현재의 프래그먼트의 색상 값을 수신한 퍼프래그먼트 유닛(230)은 색상 테스트(424) 파이프 라인에서 색상 포맷 변환을 수행한다. 그리고 색상 포맷 변환이 정상적으로 이루어진 경우에는 색상 값 쓰기(406)에서 새로운 색상 값을 C 제어부(460)에 제공하고, C 제어부(460)는 C 캐시 메모리(436)의 해당 캐시 블록에 새로운 색상 값을 저장하고, C 태그 필드(462)의 해당 블록 태그에 업데이트 정보를 기록한다.Upon receiving the color value of the current fragment, the perfragment unit 230 performs color format conversion in the color test 424 pipeline. When the color format conversion is normally performed, the color value write 406 provides a new color value to the C controller 460, and the C controller 460 sends the new color value to the corresponding cache block of the C cache memory 436. The update information is stored in the corresponding block tag of the C tag field 462.

조정자부(470)는 고성능의 로직 회로로, 듀얼 포트 캐시 메모리(240)의 깊이 정보, 색상 정보 또는 스텐실-알파 정보를 읽어와서 프레임 메모리(210)로 출력하는 경우 우선 순위를 정해서 효율적으로 관리하기 위한 모듈이다.The adjuster unit 470 is a high-performance logic circuit. When the depth information, the color information, or the stencil-alpha information of the dual port cache memory 240 is read and output to the frame memory 210, the priority is efficiently set and managed. Module.

도 5에 도시된 바와 같이, 조정자부(470)는 어드레스 먹스(502), 데이터 먹스(504) 및 조정자(506)를 구비한다. As shown in FIG. 5, the coordinator unit 470 includes an address mux 502, a data mux 504, and a coordinator 506.

어드레스 먹스(502)는 입력 포트에 Z 제어부(440)의 어드레스 라인들, SA 제어부(450)의 어드레스 라인들 및 C 제어부(460)의 어드레스 라인들을 연결하고, 출력 포트에 AXI 라이트 포트(254)의 어드레스 라인들을 연결한다.The address mux 502 connects the address lines of the Z controller 440, the address lines of the SA controller 450, and the address lines of the C controller 460 to the input port, and the AXI write port 254 to the output port. Connect the address lines.

데이터 먹스(504)는 입력 포트에 Z 제어부(440)의 데이터 라인들, SA 제어부(450)의 데이터 라인들 및 C 제어부(460)의 데이터 라인들을 연결하고, 출력 포트에 AXI 라이트 포트(254)의 데이터 라인들을 연결한다.The data mux 504 connects the data lines of the Z controller 440, the data lines of the SA controller 450, and the data lines of the C controller 460 to the input port, and the AXI write port 254 to the output port. Connect the data lines of the.

조정자(506)는 Z 제어부(440), SA 제어부(450) 및 C 제어부(460)로부터 요구 신호 REQ를 수신하면, 우선 순위 라운드 로빈 스케쥴러에 따라 우선 순위를 부여한다. 본 발명에서는 색상, 깊이, 스텐실-알파 순으로 우선 순위를 부여한다.When the coordinator 506 receives the request signal REQ from the Z control unit 440, the SA control unit 450, and the C control unit 460, the coordinator 506 assigns the priority according to the priority round robin scheduler. In the present invention, priority is given to color, depth, and stencil-alpha.

Z 제어부(440)로부터 프레임 메모리(210)의 Z 버퍼(482)에 쓰기 요청을 위한 요구 신호가 입력되었으나 C 제어부(460)로부터 프레임 메모리(210)의 C 버퍼(486)에 쓰기 요청을 위한 요구 신호가 입력되지 않는 경우에는 조정자(506)은 Z 제어부(440)로 승인신호 ACK를 출력하고, 어드레스 먹스(502)에 Z 어드레스 라인을 선택하는 제어신호를 출력하고, 데이터 먹스(504)에 Z 데이터 라인을 선택하는 제어 신호를 출력한다. 그러면 Z 제어부(440)는 Z 어드레스 라인에 어드레스 신호를 제공하고, 또한 캐시 메모리(432)로부터 해당 캐시 블록의 데이터를 읽어와서 Z 데이터 라인에 제공하므로, AXI 라이트 포트(254)를 통해 수신된 해당 캐시 블록의 데이터가 프레임 메모리(210)의 Z 버퍼(482)의 해당 영역에 저장된다.A request signal for a write request has been input from the Z controller 440 to the Z buffer 482 of the frame memory 210, but a request for a write request from the C controller 460 to the C buffer 486 of the frame memory 210 is received. When no signal is input, the coordinator 506 outputs an acknowledgment signal ACK to the Z control unit 440, outputs a control signal for selecting a Z address line to the address mux 502, and Z to the data mux 504. Outputs a control signal for selecting a data line. The Z control unit 440 then provides an address signal to the Z address line, and also reads the data of the cache block from the cache memory 432 and provides it to the Z data line, thereby providing the corresponding signal received through the AXI write port 254. The data of the cache block is stored in the corresponding area of the Z buffer 482 of the frame memory 210.

그러나 Z 제어부(440)로부터 프레임 메모리(210)의 Z 버퍼(482)에 쓰기 요청을 위한 요구 신호가 입력되었으나 C 제어부(460)로부터 프레임 메모리(210)의 C 버퍼(486)에 쓰기 요청을 위한 요구 신호가 입력된 경우에는 조정자(506)는 C 제어부(460)로 승인신호 ACQ를 출력하고, 어드레스 먹스(502)에 C 어드레스 라인을 선택하는 제어신호를 출력하고, 데이터 먹스(504)에 C 데이터 라인을 선택하는 제어신호를 출력한다. 그러면 C 제어부(460)는 C 어드레스 라인에 어드레스 신호를 제공하고, 또한 캐시 메모리(436)로부터 해당 캐시 블록의 데이터를 읽어와서 C 데이터 라인에 제공하므로, AXI 라이트 포트(254)를 통해 수신된 해당 캐시 블록의 데이터가 프레임 메모리(210)의 C 버퍼(486)의 해당 영역에 저장된다.However, although a request signal for a write request is input from the Z controller 440 to the Z buffer 482 of the frame memory 210, a request signal for writing to the C buffer 486 of the frame memory 210 is input from the C controller 460. When the request signal is input, the coordinator 506 outputs an acknowledgment signal ACQ to the C control unit 460, outputs a control signal for selecting the C address line to the address mux 502, and outputs a C to the data mux 504. Outputs a control signal for selecting a data line. The C control unit 460 then provides an address signal to the C address line, and also reads the data of the corresponding cache block from the cache memory 436 and provides it to the C data line, thereby receiving the corresponding signal received through the AXI write port 254. The data of the cache block is stored in the corresponding area of the C buffer 486 of the frame memory 210.

이 조정자부(470)는 3개의 마스터, 즉 Z 제어부(440), SA 제어부(450) 및 C 제어부(460)가 하나의 인터페이스와 통신하므로, 2개의 마스트 포트를 AXI 버스 매트릭스에 추가하여 설치할 필요가 없다.Since the coordinator unit 470 has three masters, that is, the Z control unit 440, the SA control unit 450, and the C control unit 460 communicate with one interface, two master ports need to be added to the AXI bus matrix. There is no.

도 6은 캐시 메모리로 싱글 포트를 이용한 경우의 타이밍 도면이고, 도 7은 캐시 메모리로 듀얼 포트를 이용한 경우의 타이밍 도면이다.6 is a timing diagram when a single port is used as the cache memory, and FIG. 7 is a timing diagram when a dual port is used as the cache memory.

도 6 및 도 7의 예는 퍼프래그먼트 유닛(230)에서 기존의 깊이 데이터를 읽어와서 비교 후 입력된 깊이 값이 기존의 깊이 값보다 작을 경우 입력된 깊이 값을 다시 캐시 메모리에 업데이트하여 쓰는 과정을 도시한다. 만약 이러한 읽기/쓰기 연속 동작이 N번 일어난다면 싱글 포트의 경우는 (N x 3) 클록이 소요되며, 듀얼 포트의 경우에는 (N + 2) 클록이 소요된다. 도 6 및 도 7에서 알 수 있듯이, 만약 3번의 읽기/쓰기가 행해졌다면, 즉 도 6 및 도 7에서 A와 B 지점 사이의 동작은 싱글 포트의 경우 9 클록이 소요되며, 듀얼 포트의 경우에는 5 클록이 소요된다. 6 and 7 illustrate a process of reading existing depth data from the perfragment unit 230 and updating and writing the input depth value back into the cache memory when the input depth value is smaller than the existing depth value. Illustrated. If this read / write operation occurs N times, it takes (N x 3) clock for single port and (N + 2) clock for dual port. As can be seen in Figures 6 and 7, if three reads / writes have been made, i.e. the operation between points A and B in Figures 6 and 7 takes 9 clocks for a single port, and for dual ports It takes 5 clocks.

본 발명의 보호 범위는 이하 특허청구범위에 의하여 해석되어야 마땅할 것이다. 또한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것인 바, 본 발명과 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다. The protection scope of the present invention should be interpreted by the following claims. It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit and scope of the invention as defined by the appended claims. It should be interpreted that it is included in the scope of right.

도 1은 일반적인 3차원 그래픽의 처리 과정을 나타낸 블록도이다.1 is a block diagram showing a process of processing a general three-dimensional graphic.

도 2는 본 발명의 일실시예에 따른 3차원 그래픽 가속 장치의 블록도이다.2 is a block diagram of an apparatus for accelerating 3D graphics according to an embodiment of the present invention.

도 3은 도 2에 도시된 3차원 그래픽 가속 장치의 동작을 설명하는 흐름도이다.FIG. 3 is a flowchart for describing an operation of the 3D graphic accelerator shown in FIG. 2.

도 4는 본 발명의 일실시예에 따른 3차원 그래픽 가속 장치의 블록도를 구체적으로 도시한 도면이다.4 is a block diagram illustrating in detail a 3D graphic accelerator according to an exemplary embodiment of the present invention.

도 5는 도 4에 도시된 조정자부를 구체적으로 도시한 도면이다.FIG. 5 is a view illustrating in detail the adjuster unit illustrated in FIG. 4.

도 6은 캐시 메모리로 싱글 포트를 이용한 경우의 타이밍 도면이다.6 is a timing diagram when a single port is used as the cache memory.

도 7은 캐시 메모리로 듀얼 포트를 이용한 경우의 타이밍 도면이다.7 is a timing diagram when a dual port is used as a cache memory.

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

210 : 프레임 메모리 220 : AXI BUS MATRIX210: frame memory 220: AXI BUS MATRIX

230 : 퍼그래그먼트 유닛 240 : 듀얼 포트 캐시 메모리230: fragment unit 240: dual port cache memory

250 : 캐시 컨트롤러 252 : 태그 필드250: cache controller 252: tag field

254 : AXI 리드 포트 256 : AXI 라이트 포트254: AXI lead port 256: AXI light port

256 : 조정자부 256: adjuster part

Claims (10)

디스플레이될 픽셀 정보들로서, 깊이 정보, 색상 정보, 및 스텐실-알파 정보를 적어도 하나 이상 저장하는 프레임 메모리와,Frame information for storing at least one of depth information, color information, and stencil-alpha information as pixel information to be displayed; 현재의 프래그먼트에 대한 깊이 테스트, 색상 변환 및 스텐실 연산-알파 테스트를 적어도 하나 이상 수행하는 퍼프래그먼트 유닛과,A per-fragment unit that performs at least one depth test, color conversion, and stencil arithmetic-alpha test for the current fragment; 상기 현재의 프래그먼트에 대응되는 영역에 대한 깊이 정보, 색상 정보, 및 스텐실-알파 정보를 상기 프레임 메모리로부터 읽어와서 저장할 수 있고, 또한 동일 클록에서 읽기 기능과 쓰기 기능이 가능한 듀얼 포트 캐시 메모리와, 및 A dual port cache memory capable of reading and storing depth information, color information, and stencil-alpha information of an area corresponding to the current fragment from the frame memory, and having a read function and a write function at the same clock; 상기 퍼프래그먼트 유닛으로부터 상기 현재의 프래그먼트에 대한 깊이 테스트, 색상 변환 또는 스텐실 연산-알파 테스트의 수행을 위해 상기 현재의 프래그먼트에 대응되는 영역에 대한 깊이 정보, 색상 정보, 또는 스텐실-알파 정보의 요청이 있는 경우 상기 듀얼 포트 캐시 메모리에 요청 정보가 있으면 해당 정보를 읽어 출력하고, 상기 듀얼 포트 캐시 메모리에 요청 정보가 없으면 상기 프레임 메모리로부터 읽어와서 상기 듀얼 포트 캐시 메모리에 저장하는 캐시 컨트롤러를 포함하고,A request for depth information, color information, or stencil-alpha information for an area corresponding to the current fragment is performed from the per fragment unit to perform a depth test, color conversion, or stencil arithmetic-alpha test on the current fragment. If there is a request information in the dual port cache memory, if the information is read and output, and if there is no request information in the dual port cache memory includes a cache controller for reading from the frame memory and storing in the dual port cache memory, 상기 듀얼 포트 캐시 메모리와 상기 퍼프래그먼트 유닛은 동일 클록을 이용하고,The dual port cache memory and the perfragment unit use the same clock, 상기 캐시 컨트롤러는 상기 듀얼 포트 캐시 메모리의 깊이 정보, 색상 정보, 또는 스텐실-알파 정보의 2 이상이 동시에 상기 프레임 메모리에 라이트되는 경우 우선 순위를 조정하기 위한 고속의 논리 회로를 구비한 조정자부를 포함하는 것을 특징으로 하는 3차원 그래픽 가속 장치.The cache controller includes a coordinator section having a high speed logic circuit for adjusting priority when two or more of depth information, color information, or stencil-alpha information of the dual port cache memory are simultaneously written to the frame memory. 3D graphics accelerator, characterized in that. 삭제delete 제1항에 있어서,The method of claim 1, 상기 조정자부는 우선 순위를 정하는 조정자와, 상기 조정자의 제어에 의해 상기 듀얼 포트 캐시 메모리의 깊이 정보, 색상 정보, 또는 스텐실-알파 정보의 어드레스 라인들로부터 하나를 선택하여 출력하는 어드레스 먹스와, 상기 조정자의 제어에 의해 상기 듀얼 포트 캐시 메모리의 깊이 정보, 색상 정보, 또는 스텐실-알파 정보의 데이터 라인들로부터 하나를 선택하여 출력하는 데이터 먹스를 포함하는 것을 특징으로 하는 3차원 그래픽 가속 장치.The coordinator unit includes a coordinator for determining a priority, an address mux for selecting and outputting one from address lines of depth information, color information, or stencil-alpha information of the dual port cache memory under control of the coordinator; And a data mux which selects and outputs one from data lines of depth information, color information, or stencil-alpha information of the dual port cache memory under control of the dual port cache memory. 제1항에 있어서,The method of claim 1, 상기 조정자부는 상기 듀얼 포트 캐시 메모리의 색상 정보, 깊이 정보, 스텐실-알파 정보의 순으로 우선권을 부여하여 라이트 버스에 출력하는 것을 특징으로 하는 3차원 그래픽 가속 장치.The adjuster unit gives priority to the color information, depth information, stencil-alpha information of the dual port cache memory in order to output to the light bus. 제1항, 제3항 또는 제4항에 있어서,The method according to claim 1, 3 or 4, 상기 듀얼 포트 캐시 메모리는 SRAM(Static RAM)인 것을 특징으로 하는 3차원 그래픽 가속 장치.And said dual port cache memory is a static RAM (SRAM). 삭제delete 제5항에 있어서,The method of claim 5, 상기 캐시 컨트롤러는 상기 듀얼 포트 캐시 메모리를 관리하기 위한 태그 필드와, 상기 듀얼 포트 캐시 메모리의 블록 교체를 위해 LRU 알고리즘을 더 구비한 것을 특징으로 하는 3차원 그래픽 가속 장치. The cache controller further comprises a tag field for managing the dual port cache memory, and an LRU algorithm for block replacement of the dual port cache memory. 디스플레이될 픽셀 정보들로서, 깊이 정보, 색상 정보, 및 스텐실-알파 정보를 적어도 하나 이상 저장하는 프레임 메모리와, 현재의 프래그먼트에 대한 깊이 테스트, 색상 변환 및 스텐실 연산-알파 테스트를 적어도 하나 이상 수행하는 퍼프래그먼트 유닛과, 상기 현재의 프래그먼트에 대응되는 영역에 대한 깊이 정보, 색상 정보, 및 스텐실-알파 정보를 상기 프레임 메모리로부터 읽어와서 저장할 수 있고, 또한 동일 클록에서 읽기 기능과 쓰기 기능이 가능한 듀얼 포트 캐시 메모리를 구비한 그래픽 가속 장치를 이용한 3차원 그래픽 가속 방법에 있어서,As pixel information to be displayed, a frame memory for storing at least one or more depth information, color information, and stencil-alpha information, and a fur for performing at least one depth test, color conversion, and stencil arithmetic-alpha test for the current fragment. A dual port cache that can read and store a fragment unit, depth information, color information, and stencil-alpha information for the region corresponding to the current fragment from the frame memory, and can read and write at the same clock. In the three-dimensional graphics acceleration method using a graphics acceleration device having a memory, 상기 퍼프래그먼트 유닛으로부터 상기 현재의 프래그먼트에 대한 깊이 테스트, 색상 변환 또는 스텐실 연산-알파 테스트의 수행을 위해 상기 현재의 프래그먼트에 대응되는 영역에 대한 깊이 정보, 색상 정보, 또는 스텐실-알파 정보의 요청이 있는 경우 상기 듀얼 포트 캐시 메모리에 요청 정보가 있으면 해당 정보를 읽어 출력하는 단계와, A request for depth information, color information, or stencil-alpha information for an area corresponding to the current fragment is performed from the per fragment unit to perform a depth test, color conversion, or stencil arithmetic-alpha test on the current fragment. If there is request information in the dual port cache memory, reading the information and outputting the requested information; 상기 듀얼 포트 캐시 메모리에 요청 정보가 없으면 상기 프레임 메모리로부터 읽어와서 상기 듀얼 포트 캐시 메모리에 저장하는 단계와, 및If there is no request information in the dual port cache memory, reading from the frame memory and storing in the dual port cache memory; and 상기 듀얼 포트 캐시 메모리의 깊이 정보, 색상 정보, 또는 스텐실-알파 정보의 2 이상이 동시에 상기 프레임 메모리에 라이트되는 경우 우선 순위를 조정하는 단계를 포함하고,Adjusting priority if at least two of depth information, color information, or stencil-alpha information of the dual port cache memory are simultaneously written to the frame memory, 상기 듀얼 포트 캐시 메모리와 상기 퍼프래그먼트 유닛은 동일 클록을 이용하는 것을 특징으로 하는 3차원 그래픽 가속 방법.And the dual port cache memory and the perfragment unit use the same clock. 삭제delete 제8항에 있어서,The method of claim 8, 상기 듀얼 포트 캐시 메모리에 요청 정보가 없으면, 가장 오래된 블록 태그의 업데이트 비트가 설정되었는지를 확인하고, 상기 업데이트 비트가 설정되어 있으면 상기 가장 오래된 블록의 데이터를 프레임 메모리에 저장하는 것을 특징으로 하는 3차원 그래픽 가속 방법. If there is no request information in the dual port cache memory, it is checked whether the update bit of the oldest block tag is set, and if the update bit is set, the data of the oldest block is stored in a frame memory. Graphics acceleration method.
KR1020090063446A 2009-07-13 2009-07-13 3? graphic accelerator and 3? graphic accelerating method KR101022282B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090063446A KR101022282B1 (en) 2009-07-13 2009-07-13 3? graphic accelerator and 3? graphic accelerating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090063446A KR101022282B1 (en) 2009-07-13 2009-07-13 3? graphic accelerator and 3? graphic accelerating method

Publications (2)

Publication Number Publication Date
KR20110006019A KR20110006019A (en) 2011-01-20
KR101022282B1 true KR101022282B1 (en) 2011-03-21

Family

ID=43612902

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090063446A KR101022282B1 (en) 2009-07-13 2009-07-13 3? graphic accelerator and 3? graphic accelerating method

Country Status (1)

Country Link
KR (1) KR101022282B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040011918A (en) * 2002-07-31 2004-02-11 학교법인연세대학교 operation method of pixel cache architecture in three-dimensional graphic accelerator
KR20060044124A (en) * 2004-11-11 2006-05-16 삼성전자주식회사 Graphics system for a hardware acceleration in 3-dimensional graphics and therefor memory apparatus
KR20080006136A (en) * 2006-07-11 2008-01-16 엠텍비젼 주식회사 Cache memory apparatus for 3-dimensional graphic computation, and method of processing 3-dimensional graphic computation
KR20080014402A (en) * 2006-08-11 2008-02-14 삼성전자주식회사 Method and apparatus for processing computer graphics data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040011918A (en) * 2002-07-31 2004-02-11 학교법인연세대학교 operation method of pixel cache architecture in three-dimensional graphic accelerator
KR20060044124A (en) * 2004-11-11 2006-05-16 삼성전자주식회사 Graphics system for a hardware acceleration in 3-dimensional graphics and therefor memory apparatus
KR20080006136A (en) * 2006-07-11 2008-01-16 엠텍비젼 주식회사 Cache memory apparatus for 3-dimensional graphic computation, and method of processing 3-dimensional graphic computation
KR20080014402A (en) * 2006-08-11 2008-02-14 삼성전자주식회사 Method and apparatus for processing computer graphics data

Also Published As

Publication number Publication date
KR20110006019A (en) 2011-01-20

Similar Documents

Publication Publication Date Title
US8669999B2 (en) Alpha-to-coverage value determination using virtual samples
US10515011B2 (en) Compression status bit cache and backing store
US8089486B2 (en) Tiled prefetched and cached depth buffer
US8941653B2 (en) Order-preserving distributed rasterizer
US8704826B1 (en) Primitive re-ordering between world-space and screen-space pipelines with buffer limited processing
US8766995B2 (en) Graphics system with configurable caches
US8760460B1 (en) Hardware-managed virtual buffers using a shared memory for load distribution
US8810592B2 (en) Vertex attribute buffer for inline immediate attributes and constants
US20110080406A1 (en) Calculation of plane equations after determination of z-buffer visibility
JP2007525768A (en) Register-based queuing for texture requests
US8271734B1 (en) Method and system for converting data formats using a shared cache coupled between clients and an external memory
US7245302B1 (en) Processing high numbers of independent textures in a 3-D graphics pipeline
US8504773B1 (en) Storing dynamically sized buffers within a cache
US20030142102A1 (en) Texture mapping performance by combining requests for image data
US20020171657A1 (en) External dirty tag bits for 3D-RAM SRAM
KR101022282B1 (en) 3? graphic accelerator and 3? graphic accelerating method
US6448967B1 (en) Z-Buffer pre-test for 3D graphics performance enhancement
US8489839B1 (en) Increasing memory capacity of a frame buffer via a memory splitter chip
US11379944B2 (en) Techniques for performing accelerated point sampling in a texture processing pipeline
US8081182B2 (en) Depth buffer for rasterization pipeline
JP3548648B2 (en) Drawing apparatus and drawing method
JP3971448B2 (en) Drawing apparatus and drawing method
CN116563444A (en) Method and device for accelerating texture mapping hardware

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: 20140307

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150226

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160308

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee