KR20110006019A - 3차원 그래픽 가속 장치 및 3차원 그래픽 가속 방법 - Google Patents

3차원 그래픽 가속 장치 및 3차원 그래픽 가속 방법 Download PDF

Info

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

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차원 그래픽 가속 장치는, 디스플레이될 픽셀 정보들로서, 깊이 정보, 색상 정보, 및 스텐실-알파 정보를 적어도 하나 이상 저장하는 프레임 메모리와, 현재의 프래그먼트에 대한 깊이 테스트, 색상 변환 및 스텐실 연산-알파 테스트를 적어도 하나 이상 수행하는 퍼프래그먼트 유닛과, 상기 현재의 프래그먼트에 대응되는 영역에 대한 깊이 정보, 색상 정보, 및 스텐실-알파 정보를 상기 프레임 메모리로부터 읽어와서 저장할 수 있고, 또한 동일 클록에서 읽기 기능과 쓰기 기능이 가능한 듀얼 포트 캐시 메모리와, 및 상기 퍼프래그먼트 유닛으로부터 상기 현재의 프래그먼트에 대한 깊이 테스트, 색상 변환 또는 스텐실 연산-알파 테스트의 수행을 위해 상기 현재의 프래그먼트에 대응되는 영역에 대한 깊이 정보, 색상 정보, 또는 스텐실-알파 정보의 요청이 있는 경우 상기 듀얼 포트 캐시 메모리에 요청 정보가 있으면 해당 정보를 읽어 출력하고, 상기 듀얼 포트 캐시 메모리에 요청 정보가 없으면 상기 프레임 메모리로부터 읽어와서 상기 듀얼 포트 캐시 메모리에 저장하는 캐시 컨트롤러를 포함함으로써, 그래픽 파이프라인의 스톨을 감소시켜 파이프라인의 성능을 향상시킬 수 있다.

Description

3차원 그래픽 가속 장치 및 3차원 그래픽 가속 방법{3D GRAPHIC ACCELERATOR AND 3D GRAPHIC ACCELERATING METHOD}
본 발명은 3차원 그래픽 가속 장치 및 3차원 그래픽 가속 방법에 관한 것으로, 특히 듀얼 포트 캐시 메모리를 이용한 3차원 그래픽 가속 장치 및 3차원 그래픽 가속 방법에 관한 것이다.
3차원 그래픽 기술은 3차원 공간에 위치한 물체의 모양, 색상, 움직임 등을 시각화하는 기술로, 특히 3차원 공간의 물체를 높이, 폭, 길이의 세 가지 축을 이용하여 표현한 뒤 그 영상을 2차원 모니터 화면에 나타내는 기술이다.
3차원 그래픽 가속 장치가 수행하는 일련의 처리를 그래픽 파이프라인이라 하는데, 이 그래픽 파이프라인에서의 처리가 어느 한 곳이라도 늦은 부분이 있으면 전체 파이프라인의 속도가 저하된다.
도 1은 일반적인 3차원 그래픽의 처리 과정을 나타낸 블록도이다.
도 1에 도시되어 있는 바와 같이, 3차원 그래픽의 처리 과정은 3차원 응용 소프트웨어(110)가 응용 프로그램 인터페이스(API)(120)를 통해 보낸 3차원 그래픽 데이터에 대하여 3차원 그래픽 파이프라인(130)에서 실시간 하드웨어 가속을 수행 한 후 디스플레이부(140)로 출력하는 과정을 거친다.
한편, 3차원 그래픽 파이프라인(130)는 크게, 기하학(geometry) 처리부(132)와 렌더링(rendering) 처리부(134)를 구비한다. 기하학 처리부(132)는 주로 3차원 좌표계의 물체를 시점에 따라 변환하고 2차원 좌표계로 투영 처리하는 과정이며, 렌더링 처리부(134)는 2차원 좌표계의 이미지에 대한 색상 값 등을 결정하여 디스플레이부(140)의 프레임 메모리(142)에 저장하는 과정이다. 한 개의 프레임에 대하여 입력되는 모든 3차원 데이터에 대한 처리가 끝난 후에 디스플레이부(140)의 프레임 메모리(142)에 저장된 색상 값 등은 모니터(미도시됨) 상에서 디스플레이된다. 한편, 기하학 처리부(132)에서의 계산량은 처리하는 폴리곤의 정점 수에 비례하고, 렌더링 처리부(134)에서의 계산량은 생성하는 화소수에 비례한다.
3차원 그래픽은 주로 점, 선 또는 삼각형으로 구성되며, 대부분의 3차원 렌더링 처리부(134)는 삼각형을 고속으로 처리하는 구조를 가진다. 그리고 최근 3차원 그래픽 파이프라인(130)와 같은 3차원 그래픽 애플리케이션에서 실시간 장면을 렌더링할 때, 좀 더 자연스럽고 부드러운 영상을 얻기 위하여 다양한 텍스처(texture)와 여러 가지 방법의 컬러 블렌딩이 사용된다. 한편, 퍼프래그먼트 유닛은 디스플레이부(140)의 프레임 메모리(142)를 많이 액세스하므로, 3차원 그래픽 파이프라인(130)의 성능의 향상에 가장 큰 영향을 미친다. 따라서 3차원 그래픽 파이프라인(130)이 외부의 프레임 메모리(142)를 액세스할 때, 긴 레이턴시(lantency) 때문에 3차원 그래픽 파이프라인(130)의 스톨(stall)이 길어지는 것을 방지하기 위해 캐시 메모리가 사용된다.
그러나 종래의 캐시 메모리는 단일 포트 캐시 메모리로 읽기 기능과 쓰기 기능을 동시에 수행할 수가 없었다. 따라서 3차원 그래픽 파이프라인(130)에서의 스톨이 여전히 길어서 3차원 그래픽 파이프라인(130)의 성능이 저하되었다.
상술한 문제점을 해결하기 위하여, 본 발명은 퍼프래그먼트 유닛에서의 파이프라인의 스톨을 감소시키기 위하여 듀얼 포트 캐시 메모리를 이용한 3차원 그래픽 가속 장치 및 3차원 그래픽 가속 방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은 시간 손실을 줄이기 위하여 3차원 그래픽 가속기의 파이프라인과 듀얼 포트 캐시 메모리에 동일 클록을 이용한 3차원 그래픽 가속 장치 및 3차원 그래픽 가속 방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은 듀얼 포트 캐시 메모리의 데이터를 외부 프레임 메모리로 효율적으로 저장하기 위한 조정자를 구비한 캐시 컨트롤러를 포함하는 3차원 그래픽 가속 장치 및 3차원 그래픽 가속 방법을 제공하는 것을 목적으로 한다.
상술한 과제를 해결하기 위하여, 본 발명에 따른 3차원 그래픽 가속 장치는, 디스플레이될 픽셀 정보들로서, 깊이 정보, 색상 정보, 및 스텐실-알파 정보를 적어도 하나 이상 저장하는 프레임 메모리와, 현재의 프래그먼트에 대한 깊이 테스트, 색상 변환 및 스텐실 연산-알파 테스트를 적어도 하나 이상 수행하는 퍼프래그먼트 유닛과, 상기 현재의 프래그먼트에 대응되는 영역에 대한 깊이 정보, 색상 정 보, 및 스텐실-알파 정보를 상기 프레임 메모리로부터 읽어와서 저장할 수 있고, 또한 동일 클록에서 읽기 기능과 쓰기 기능이 가능한 듀얼 포트 캐시 메모리와, 및 상기 퍼프래그먼트 유닛으로부터 상기 현재의 프래그먼트에 대한 깊이 테스트, 색상 변환 또는 스텐실 연산-알파 테스트의 수행을 위해 상기 현재의 프래그먼트에 대응되는 영역에 대한 깊이 정보, 색상 정보, 또는 스텐실-알파 정보의 요청이 있는 경우 상기 듀얼 포트 캐시 메모리에 요청 정보가 있으면 해당 정보를 읽어 출력하고, 상기 듀얼 포트 캐시 메모리에 요청 정보가 없으면 상기 프레임 메모리로부터 읽어와서 상기 듀얼 포트 캐시 메모리에 저장하는 캐시 컨트롤러를 제공한다.
상기 캐시 컨트롤러는 상기 듀얼 포트 캐시 메모리의 깊이 정보, 색상 정보, 또는 스텐실-알파 정보의 둘 이상이 동시에 상기 프레임 메모리에 라이트되는 경우 우선 순위를 조정하기 위한 고속의 논리 회로를 구비한 조정자부를 포함하는 것이 바람직하다.
상기 조정자부는 우선 순위를 정하는 조정자와, 상기 조정자의 제어에 의해 상기 듀얼 포트 캐시 메모리의 깊이 정보, 색상 정보, 또는 스텐실-알파 정보의 어드레스 라인들로부터 하나를 선택하여 출력하는 어드레스 먹스와, 상기 조정자의 제어에 의해 상기 듀얼 포트 캐시 메모리의 깊이 정보, 색상 정보, 또는 스텐실-알파 정보의 데이터 라인들로부터 하나를 선택하여 출력하는 데이터 먹스를 포함하는 것이 바람직하다.
상기 조정자부는 상기 듀얼 포트 캐시 메모리의 색상 정보, 깊이 정보, 스텐실-알파 정보의 순으로 우선권을 부여하여 라이트 버스에 출력하는 것이 바람직하 다.
상기 듀얼 포트 캐시 메모리는 SRAM(Static RAM)인 것이 바람직하다.
상기 듀얼 포트 캐시 메모리와 상기 퍼프래그먼트 유닛은 동일 클록을 이용하는 것이 바람직하다.
상기 캐시 컨트롤러는 상기 듀얼 포트 캐시 메모리를 관리하기 위한 태그 필드와, 및 상기 듀얼 포트 캐시 메모리의 블록 교체를 위해 LRU 알고리즘을 더 구비한 것이 바람직하다.
상술한 과제를 해결하기 위해, 본 발명에 따른 3차원 그래픽 가속 방법은 디스플레이될 픽셀 정보들로서, 깊이 정보, 색상 정보, 및 스텐실-알파 정보를 적어도 하나 이상 저장하는 프레임 메모리와, 현재의 프래그먼트에 대한 깊이 테스트, 색상 변환 및 스텐실 연산-알파 테스트를 적어도 하나 이상 수행하는 퍼프래그먼트 유닛과, 상기 현재의 프래그먼트에 대응되는 영역에 대한 깊이 정보, 색상 정보, 및 스텐실-알파 정보를 상기 프레임 메모리로부터 읽어와서 저장할 수 있고, 또한 동일 클록에서 읽기 기능과 쓰기 기능이 가능한 듀얼 포트 캐시 메모리를 구비한 그래픽 가속 장치를 이용한 3차원 그래픽 가속 방법에 있어서, 상기 퍼프래그먼트 유닛으로부터 상기 현재의 프래그먼트에 대한 깊이 테스트, 색상 변환 또는 스텐실 연산-알파 테스트의 수행을 위해 상기 현재의 프래그먼트에 대응되는 영역에 대한 깊이 정보, 색상 정보, 또는 스텐실-알파 정보의 요청이 있는 경우 상기 듀얼 포트 캐시 메모리에 요청 정보가 있으면 해당 정보를 읽어 출력하는 단계와, 및 상기 듀얼 포트 캐시 메모리에 요청 정보가 없으면 상기 프레임 메모리로부터 읽어와서 상 기 듀얼 포트 캐시 메모리에 저장하는 단계를 제공한다.
상기 듀얼 포트 캐시 메모리의 깊이 정보, 색상 정보, 또는 스텐실-알파 정보의 둘 이상이 동시에 상기 프레임 메모리에 라이트되는 경우 우선 순위를 조정하는 단계를 더 포함하는 것이 바람직하다.
상기 듀얼 포트 캐시 메모리에 요청 정보가 없으면, 가장 오래된 블록 태그의 업데이트 비트가 설정되었는지를 확인하고, 상기 업데이트 비트가 설정되어 있으면 상기 가장 오래된 블록의 데이터를 프레임 메모리에 저장하는 것이 바람직하다.
상술한 구성들에 의하여, 본 발명은 입력 포트와 출력 포트가 별개로 구비하고 동일 클록으로 동시에 연속적인 읽기 혹은 쓰기가 가능하게 함으로써 그래픽 파이프라인의 스톨을 감소시켜 파이프라인의 성능을 향상시킬 수 있다.
또한, 본 발명은 듀얼 포트 캐시 메모리와 그래픽 파이프라인에 대하여 동일 클록을 이용함으로써 타임 손실을 줄일 수 있어 그래픽 파이프라인의 성능을 향상시킬 수 있다.
또한, 본 발명은 조정자의 이용에 의해 듀얼 포트 캐시 메모리의 데이터를 외부 프레임 메모리로 효율적으로 저장할 수 있다.
이하, 도면을 참조하여 본 발명의 바람직한 실시예들에 대하여 상세히 설명한다.
도 2는 본 발명의 일실시예에 따른 3차원 그래픽 가속 장치의 블록도이다.
도 2에 도시된 바와 같이, 3차원 그래픽 가속 장치(200)는 3차원 그래픽 애플리케이션에서 실시간 장면을 렌더링하기 위하여 프레임 메모리(210), AXI BUS MATRIX(220), 퍼프래그먼트 유닛(230), 듀얼 포트 캐시 메모리(240) 및 캐시 컨트롤러(250)를 포함한다.
프레임 메모리(210)는 LCD 컨트롤러(10)를 통해 LCD 화면(20)에 디스플레이될 픽셀 정보들을 저장한다. 특히, 프레임 메모리(210)는 디스플레이될 픽셀 정보들로서, 실시간 장면의 렌더링과 관련된 깊이 정보, 색상 정보, 및 스텐실-알파 정보를 적어도 하나 이상 저장한다.
AXI BUS MATRIX(220)는 다수의 주변 모듈(peripheral)을 연결하고 높은 주파수로 동작하는 버스 메트릭스로, AXI(Advanced eXtensible Interface) 프로토콜을 이용한 버스 매트릭스이다.
퍼프래그먼트 유닛(230)은 현재의 프래그먼트에 대한 깊이 테스트, 색상 변환 및 스텐실-알파 블렌딩을 적어도 하나 이상 수행한다. 일반적으로 프래그먼트는 픽셀을 의미하지만, 다른 단위로 정의하여 사용할 수도 있다. 도 2에서는 3차원 그래픽 파이프라인으로, 퍼프래그먼트 유닛(230)만이 도시되어 있으나, 기하학 엔진, 래스터 라이저, 프래그먼트 세이터 및 텍스처 유닛을 더 구비할 수 있다.
듀얼 포트 캐시 메모리(240)는 동일 클록에서 읽기 기능과 쓰기 기능이 가능한 캐시 메모리로, 프레임 메모리(210)로부터 읽어온 현재의 프래그먼트에 대응되 는 영역에 대한 깊이 정보, 색상 정보, 및 스텐실-알파 정보를 저장하거나 퍼프래그먼트 유닛(230)에서의 현재의 프래그먼트에 대한 깊이 테스트, 색상 변환 또는 스텐실-알파 블렌딩의 수행에 따른 현재 프로그먼트의 깊이 정보, 색상 정보 또는 스텐실-알파 정보를 저장한다. 또한, 듀얼 포트 캐시 메모리(240)는 동기적(synchronous) 혹은 비동기적(asynchronous)으로 동작할 수 있으며, SRAM(Static RAM)인 것이 바람직하다.
또한, 듀얼 포트 캐시 메모리(240)는 타임 손실을 없애기 위하여 읽기/쓰기에 퍼프래그먼트 유닛(230)의 클록과 동일한 클록을 이용한다.
즉, 본 발명은 캐시 메모리로 듀얼 포트 캐시 메모리(240)를 이용함으로써, 듀얼 포트 캐시 메모리(240)에 대하여 읽기 기능과 쓰기 기능을 동일 클록에서 동시에 수행할 수 있다. 즉, 퍼프래그먼트 유닛(230)으로부터의 읽기 요청은 듀얼 포트 캐시 메모리(240)에의 쓰기 요청과 독립적으로 수행된다.
캐시 컨트롤러(250)는 3차원 그래픽 렌더링을 위해 프레임 메모리(210)의 데이터를 캐싱하는 역할을 담당하는 부분이다. 즉, 캐시 컨트롤러(250)는 퍼프래그먼트 유닛(230)으로부터 현재의 프래그먼트에 대한 깊이 테스트, 색상 변환 또는 스텐실-알파 블렌딩의 수행을 위해 현재의 프래그먼트에 대응되는 영역에 대한 깊이 정보, 색상 정보, 또는 스텐실-알파 정보의 요청이 있는 경우 듀얼 포트 캐시 메모리(240)에 요청 정보가 있으면 해당 정보를 읽어 출력하고, 듀얼 포트 캐시 메모리(240)에 요청 정보가 없으면 프레임 메모리(210)로부터 읽어와서 듀얼 포트 캐시 메모리(210)에 저장한다. 또한, 캐시 컨트롤러(250)는 퍼프래그먼트 유닛(230)에서 의 현재의 프래그먼트에 대한 깊이 테스트, 색상 변환 또는 스텐실-알파 블렌딩의 수행에 따른 현재 프로그먼트의 깊이 정보, 색상 정보 또는 스텐실-알파 정보를 듀얼 포트 캐시 메모리(240)에 저장한다
또한, 캐시 컨트롤러(250)는 듀얼 포트 캐시 메모리(240)를 관리하기 위한 태그 필드(tag field)(252)를 더 구비하며, 또한 듀얼 포트 캐시 메모리(240)의 블록 교체를 위해 LRU(Least Recently Used) 알고리즘을 구비하고 있다.
또한, 캐시 컨트롤러(250)는 AXI 리드 포트(252), AXI 라이트 포트(254) 및 조정자부(256)를 구비하고 있다.
AXI 리드 포트(252)는 프레임 메모리(210)로부터 데이터를 읽어와서 듀얼 포트 캐시 메모리(240)에 업데이트하기 위한 포트이다.
AXI 라이트 포트(254)는 퍼프래그먼트 유닛(230)의 렌더링 처리에 따라 업데이트된 듀얼 포트 캐시 메모리(240)의 데이터를 읽어와서 프레임 메모리(210)에 저장하기 위한 포트이다.
조정자부(256)는 고성능의 로직 회로로, 듀얼 포트 캐시 메모리(240)로부터 복수의 데이터, 예를 들면, 깊이 정보, 색상 정보 또는 스텐실-알파 정보가 읽어와서 프레임 메모리(210)로 출력하는 경우 라운딩 로빈(ROUND-ROBIN) 방식으로 우선 순위를 정해서 AXI 라이트 포트(254)에 출력한다. 따라서 조정자부(256)에 의해 듀얼 포트 캐시 메모리(240)의 데이터를 효율적으로 프레임 메모리(210)에 저장할 수 있다.
도 3은 도 2에 도시된 3차원 그래픽 가속 장치의 동작을 설명하는 흐름도이다.
캐시 컨트롤러(250)의 동작은 퍼프래그먼트 유닛(230)으로부터의 접근, 즉 동작 요청으로부터 시작한다.
먼저, 캐시 컨트롤러(250)는 듀얼 포트 캐시 메모리(240)가 초기화되어 있는지를 조사한다(S302).
만약, 듀얼 포트 캐시 메모리(240)가 초기화되어 있지 않으면, 캐시 컨트롤러(250)는 태그 필드(252)를 모두 '0' 또는 디폴트값(default value)으로 초기화한다(S304).
듀얼 포트 캐시 메모리(240)가 8 X 8 픽셀 정보를 담을 수 있는 블록(이하 '캐시 블록'이라 함) 32개로 이루어진 경우, 캐시 컨트롤러(250)의 태그 필드(252)에는 32개의 캐시 블록의 값들을 저장할 수 있는 블록 태그들(TAG[0] ~ TAG[31])이 있으며, 각 블록 태그에는 프레임 메모리(210)에서 해당 블록의 위치를 결정하는 ID값, 그 블록이 업데이트 되었는지를 나타내는 값, 그 블록이 유효한지를 나타내는 값 등이 저장된다. 또한, 캐시 컨트롤러(250)는 캐시 블록의 최근 사용 순서를 나타내기 위해서 32개의 캐시 블록에 대한 사용 순위(LRU[0] ~ LRU[31])를 저장할 수 있다.
한편, 캐시 컨트롤러(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로 그 캐시 블록이 유효하면, 캐시 히트가 되고, 아니면 캐시 미스가 된다.
캐시 컨트롤러(250)는 캐시 미스인 경우, 캐시 블록들 중 가장 오래전에 사용된 캐시 블록을 새로운 데이터로 교체하게 된다. 가장 오래된 캐시 블록 넘버는 LRU 배열의 가장 마지막 값, 즉 LRU[31]에 저장된 값이다. 이 경우 가장 오래된 캐시 블록 넘버, 예를 들면 블록 태그의 업데이트 비트 TAG[X][1]가 '1'로 세트되어 있는지를 조사한다(S310).
만약 블록 태그의 업데이트 비트 TAG[X][1]가 '1'로 세트되어 있으면, 캐시 컨트롤러(250)는 해당 캐시 블록을 교체하기 전에 먼저 AXI 라이트 포트(254)를 이용하여 해당 캐시 블록의 데이터를 프레임 메모리(210)의 해당 영역에 저장한다(S312).
만약 블록 태그의 업데이트 비트 TAG[X][1]가 '0'으로 세트되어 있거나, 단계 S312를 통해 해당 캐시 블록의 데이터를 프레임 메모리(210)의 해당 영역에 저장하였다면, 캐시 컨트롤러(250)는 요청된 새로운 블록 nw_blk_id에 해당하는 데이터를 AXI 리드 포트(252)를 이용하여 프레임 메모리(210)로부터 읽어와서 LRU[31]이 가리키는 캐시 블록에 저장한다(S314).
캐시 히트의 경우이거나 단계 314를 통해 새로운 블록 데이터가 해당 캐시 블록에 저장된 경우이면, 캐시 컨트롤러(250)는 그 캐시 블록의 해당 픽셀에 대한 요청된 동작, 즉 리드 동작 또는 라이트 동작을 수행하기 위해 라이트 동작인지를 조사한다(S316).
만약, 요청된 동작이 리드 동작이면, 캐시 컨트롤러(250)는 그 캐시 블록의 해당 픽셀의 데이터를 읽어와서 퍼프래그먼트 유닛(230)에 제공한다(S318). 한편, 요청된 동작이 라이트 동작이면, 캐시 컨트롤러(250)는 해당 캐시 블록에 퍼프래그먼트 유닛(230)에서 제공된 픽셀 데이터를 저장하고, 그 캐시 블록에 대응되는 블록 태그의 업데이트 비트를 '1'로 세팅한다(S320).
일단 리드 동작 또는 라이트 동작이 수행되면, 캐시 컨트롤러(250)는 LRU 순서를 업데이트하게 된다. 즉, 캐시 컨트롤러(250)는 가장 최근에 사용되어진 캐시 블록 넘버를 LRU[0]에 쓰고, 나머지 블록 넘버들의 순서를 한 단계씩 증가시킨다.
이러한 일련의 단계를 수행한 후에, 캐시 컨트롤러(250)는 다음 새로운 요청을 받을 수 있는 상태로 다시 되돌아 간다.
도 4는 본 발명의 일실시예에 따른 3차원 그래픽 가속 장치의 블록도를 구체적으로 도시한 도면이고, 도 5는 도 4에 도시된 조정자부를 구체적으로 도시한 도면이다.
프레임 메모리(210)는 깊이 정보를 저장하는 Z 버퍼(482)와, 스텐실-알파 정보를 저장하는 SA 버퍼(484)와 색상 정보를 저장하는 C 버퍼(486)를 구비한다.
퍼프래그먼트 유닛(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)를 수행할 수 있다.
도 4는 퍼프래그먼트 유닛(230)의 다양한 파이프라인들 중에서 캐시 컨트롤러와 연동하는 파인프라인들만을 도시한 것으로, 퍼프래그먼트 유닛(230)은 깊이 값 읽기(402), 깊이 테스트(404), 깊이 값 쓰기(406), 스텐실-알파 값 읽기(412), 스텐실 연산(414), 알파 테스트(416), 스텐실-알파 값 쓰기(418), 색상 값 읽기(422), 색상 포맷 변환(424) 및 색상 값 쓰기(426)를 구비한다.
한편, 듀얼 포트 캐시 메모리(240)는 퍼프래그먼트 유닛(230)의 깊이 테스트(404)와 관련된 Z 캐시 메모리(432)와, 퍼프래그먼트 유닛(230)의 스텐실 연산(414) 및 알파 테스트(416)와 관련된 SA 캐시 메모리(434)와, 및 퍼프래그먼트 유닛(230)의 색상 포맷 변환(424)과 관련된 C 캐시 메모리(436)로 구분된다.
캐시 컨트롤러(250)는 Z 캐시 메모리(432)를 제어하기 위한 Z 제어부(440)와, SA 캐시 메모리(434)를 제어하기 위한 SA 제어부(450)와, 및 C 캐시 메모리(436)를 제어하기 위한 C 제어부(460)와 및 조정자부(470)을 구비한다.
그리고 Z 제어부(440)에는 Z 캐시 메모리(432)를 관리하기 위한 Z 태그 필 드(442)가 구비되어 있으며, SA 제어부(450)에는 SA 캐시 메모리(434)를 관리하기 위한 SA 태그 필드(452)가 구비되어 있으며, 또한 C 제어부(460)에는 Z 캐시 메모리(436)를 관리하기 위한 C 태그 필드(462)가 구비되어 있다.
현재의 프래그먼트에 대한 깊이 값 읽기(402) 파이프라인의 동작이면 퍼프래그먼트 유닛(230)은 읽기 명령 신호 및 깊이 어드레스 z_add를 캐시 컨트롤러(250)의 Z 제어부(440)로 제공한다.
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)에서 수신할 때까지 스톨된다.
현재의 프래그먼트의 깊이 값을 수신한 퍼프래그먼트 유닛(230)은 깊이 테스트(404) 파이프 라인에서 깊이 테스트 동작을 수행할 수 있다. 그리고 깊이 테스트가 정상적으로 이루어진 경우에는 깊이 값 쓰기(406)에서 새로운 깊이 값을 Z 제어부(440)에 제공하고, Z 제어부(440)는 Z 캐시 메모리(432)의 해당 캐시 블록에 새로운 깊이 값을 저장하고, Z 태그 필드(442)의 해당 블록 태그에 업데이트 정보를 기록한다.
Z 제어부(440)는 Z 캐시 메모리(432)의 해당 캐시 블록에 새로운 깊이 값을 저장하는 동안, 퍼프래그먼트 유닛(230)으로부터 새로운 읽기 명령 신호 및 새로운 깊이 어드레스 z_add를 제공받아 캐시 히트이면 Z 캐시 메모리(432)의 해당 어드레스 zr_add로부터 깊이 정보를 읽어 퍼프래그먼트 유닛(230)의 깊이 값 읽기(402)에 제공할 수 있다.
현재의 프래그먼트에 대한 스텐실-알파 값 읽기(412) 파이프라인의 동작이면 퍼프래그먼트 유닛(230)은 읽기 명령 신호 및 스텐실-알파 어드레스 sa_add를 캐시 컨트롤러(250)의 SA 제어부(450)로 제공한다. 여기서 스텐실-알파 값은 16비트 또는 8비트로 이루어질 수 있다.
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)에서 수신할 때까지 스톨된다.
현재의 프래그먼트의 스텐실-알파 값을 수신한 퍼프래그먼트 유닛(230)은 스텐실 연산(414) 파이프라인에서 스텐실 테스트 동작을 수행하고, 알파 테스트(416) 파이프라인에서 알파 테스트 동작을 수행한다. 그리고 스텐실 연산과 알파 테스트 가 정상적으로 이루어진 경우에는 스텐실-알파 값 쓰기(418)에서 새로운 스텐실-알파 값을 SA 제어부(450)에 제공하고, SA 제어부(450)는 SA 캐시 메모리(434)의 해당 캐시 블록에 새로운 스텐실-알파 값을 저장하고, SA 태그 필드(452)의 해당 블록 태그에 업데이트 정보를 기록한다.
그리고, 현재의 프래그먼트에 대한 색상 값 읽기(422) 파이프라인의 동작이면 퍼프래그먼트 유닛(230)은 읽기 명령 신호 및 색상 어드레스 c_add를 캐시 컨트롤러(250)의 C 제어부(460)로 제공한다.
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)에서 수신할 때까지 스톨된다.
현재의 프래그먼트의 색상 값을 수신한 퍼프래그먼트 유닛(230)은 색상 테스트(424) 파이프 라인에서 색상 포맷 변환을 수행한다. 그리고 색상 포맷 변환이 정상적으로 이루어진 경우에는 색상 값 쓰기(406)에서 새로운 색상 값을 C 제어부(460)에 제공하고, C 제어부(460)는 C 캐시 메모리(436)의 해당 캐시 블록에 새로운 색상 값을 저장하고, C 태그 필드(462)의 해당 블록 태그에 업데이트 정보를 기록한다.
조정자부(470)는 고성능의 로직 회로로, 듀얼 포트 캐시 메모리(240)의 깊이 정보, 색상 정보 또는 스텐실-알파 정보를 읽어와서 프레임 메모리(210)로 출력하는 경우 우선 순위를 정해서 효율적으로 관리하기 위한 모듈이다.
도 5에 도시된 바와 같이, 조정자부(470)는 어드레스 먹스(502), 데이터 먹스(504) 및 조정자(506)를 구비한다.
어드레스 먹스(502)는 입력 포트에 Z 제어부(440)의 어드레스 라인들, SA 제어부(450)의 어드레스 라인들 및 C 제어부(460)의 어드레스 라인들을 연결하고, 출력 포트에 AXI 라이트 포트(254)의 어드레스 라인들을 연결한다.
데이터 먹스(504)는 입력 포트에 Z 제어부(440)의 데이터 라인들, SA 제어부(450)의 데이터 라인들 및 C 제어부(460)의 데이터 라인들을 연결하고, 출력 포트에 AXI 라이트 포트(254)의 데이터 라인들을 연결한다.
조정자(506)는 Z 제어부(440), SA 제어부(450) 및 C 제어부(460)로부터 요구 신호 REQ를 수신하면, 우선 순위 라운드 로빈 스케쥴러에 따라 우선 순위를 부여한다. 본 발명에서는 색상, 깊이, 스텐실-알파 순으로 우선 순위를 부여한다.
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)의 해당 영역에 저장된다.
그러나 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)의 해당 영역에 저장된다.
이 조정자부(470)는 3개의 마스터, 즉 Z 제어부(440), SA 제어부(450) 및 C 제어부(460)가 하나의 인터페이스와 통신하므로, 2개의 마스트 포트를 AXI 버스 매트릭스에 추가하여 설치할 필요가 없다.
도 6은 캐시 메모리로 싱글 포트를 이용한 경우의 타이밍 도면이고, 도 7은 캐시 메모리로 듀얼 포트를 이용한 경우의 타이밍 도면이다.
도 6 및 도 7의 예는 퍼프래그먼트 유닛(230)에서 기존의 깊이 데이터를 읽어와서 비교 후 입력된 깊이 값이 기존의 깊이 값보다 작을 경우 입력된 깊이 값을 다시 캐시 메모리에 업데이트하여 쓰는 과정을 도시한다. 만약 이러한 읽기/쓰기 연속 동작이 N번 일어난다면 싱글 포트의 경우는 (N x 3) 클록이 소요되며, 듀얼 포트의 경우에는 (N + 2) 클록이 소요된다. 도 6 및 도 7에서 알 수 있듯이, 만약 3번의 읽기/쓰기가 행해졌다면, 즉 도 6 및 도 7에서 A와 B 지점 사이의 동작은 싱글 포트의 경우 9 클록이 소요되며, 듀얼 포트의 경우에는 5 클록이 소요된다.
본 발명의 보호 범위는 이하 특허청구범위에 의하여 해석되어야 마땅할 것이다. 또한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것인 바, 본 발명과 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
도 1은 일반적인 3차원 그래픽의 처리 과정을 나타낸 블록도이다.
도 2는 본 발명의 일실시예에 따른 3차원 그래픽 가속 장치의 블록도이다.
도 3은 도 2에 도시된 3차원 그래픽 가속 장치의 동작을 설명하는 흐름도이다.
도 4는 본 발명의 일실시예에 따른 3차원 그래픽 가속 장치의 블록도를 구체적으로 도시한 도면이다.
도 5는 도 4에 도시된 조정자부를 구체적으로 도시한 도면이다.
도 6은 캐시 메모리로 싱글 포트를 이용한 경우의 타이밍 도면이다.
도 7은 캐시 메모리로 듀얼 포트를 이용한 경우의 타이밍 도면이다.
<도면의 주요 부분에 대한 부호의 설명>
210 : 프레임 메모리 220 : AXI BUS MATRIX
230 : 퍼그래그먼트 유닛 240 : 듀얼 포트 캐시 메모리
250 : 캐시 컨트롤러 252 : 태그 필드
254 : AXI 리드 포트 256 : AXI 라이트 포트
256 : 조정자부

Claims (10)

  1. 디스플레이될 픽셀 정보들로서, 깊이 정보, 색상 정보, 및 스텐실-알파 정보를 적어도 하나 이상 저장하는 프레임 메모리와,
    현재의 프래그먼트에 대한 깊이 테스트, 색상 변환 및 스텐실 연산-알파 테스트를 적어도 하나 이상 수행하는 퍼프래그먼트 유닛과,
    상기 현재의 프래그먼트에 대응되는 영역에 대한 깊이 정보, 색상 정보, 및 스텐실-알파 정보를 상기 프레임 메모리로부터 읽어와서 저장할 수 있고, 또한 동일 클록에서 읽기 기능과 쓰기 기능이 가능한 듀얼 포트 캐시 메모리와, 및
    상기 퍼프래그먼트 유닛으로부터 상기 현재의 프래그먼트에 대한 깊이 테스트, 색상 변환 또는 스텐실 연산-알파 테스트의 수행을 위해 상기 현재의 프래그먼트에 대응되는 영역에 대한 깊이 정보, 색상 정보, 또는 스텐실-알파 정보의 요청이 있는 경우 상기 듀얼 포트 캐시 메모리에 요청 정보가 있으면 해당 정보를 읽어 출력하고, 상기 듀얼 포트 캐시 메모리에 요청 정보가 없으면 상기 프레임 메모리로부터 읽어와서 상기 듀얼 포트 캐시 메모리에 저장하는 캐시 컨트롤러를 포함하는 3차원 그래픽 가속 장치.
  2. 제1항에 있어서,
    상기 캐시 컨트롤러는 상기 듀얼 포트 캐시 메모리의 깊이 정보, 색상 정보, 또는 스텐실-알파 정보의 둘 이상이 동시에 상기 프레임 메모리에 라이트되는 경우 우선 순위를 조정하기 위한 고속의 논리 회로를 구비한 조정자부를 포함하는 것을 특징으로 하는 3차원 그래픽 가속 장치.
  3. 제2항에 있어서,
    상기 조정자부는 우선 순위를 정하는 조정자와, 상기 조정자의 제어에 의해 상기 듀얼 포트 캐시 메모리의 깊이 정보, 색상 정보, 또는 스텐실-알파 정보의 어드레스 라인들로부터 하나를 선택하여 출력하는 어드레스 먹스와, 상기 조정자의 제어에 의해 상기 듀얼 포트 캐시 메모리의 깊이 정보, 색상 정보, 또는 스텐실-알파 정보의 데이터 라인들로부터 하나를 선택하여 출력하는 데이터 먹스를 포함하는 것을 특징으로 하는 3차원 그래픽 가속 장치.
  4. 제2항에 있어서,
    상기 조정자부는 상기 듀얼 포트 캐시 메모리의 색상 정보, 깊이 정보, 스텐실-알파 정보의 순으로 우선권을 부여하여 라이트 버스에 출력하는 것을 특징으로 하는 3차원 그래픽 가속 장치.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 듀얼 포트 캐시 메모리는 SRAM(Static RAM)인 것을 특징으로 하는 3차원 그래픽 가속 장치.
  6. 제5항에 있어서,
    상기 듀얼 포트 캐시 메모리와 상기 퍼프래그먼트 유닛은 동일 클록을 이용하는 것을 특징으로 하는 3차원 그래픽 가속 장치.
  7. 제5항에 있어서,
    상기 캐시 컨트롤러는 상기 듀얼 포트 캐시 메모리를 관리하기 위한 태그 필드와, 상기 듀얼 포트 캐시 메모리의 블록 교체를 위해 LRU 알고리즘을 더 구비한 것을 특징으로 하는 3차원 그래픽 가속 장치.
  8. 디스플레이될 픽셀 정보들로서, 깊이 정보, 색상 정보, 및 스텐실-알파 정보를 적어도 하나 이상 저장하는 프레임 메모리와, 현재의 프래그먼트에 대한 깊이 테스트, 색상 변환 및 스텐실 연산-알파 테스트를 적어도 하나 이상 수행하는 퍼프래그먼트 유닛과, 상기 현재의 프래그먼트에 대응되는 영역에 대한 깊이 정보, 색상 정보, 및 스텐실-알파 정보를 상기 프레임 메모리로부터 읽어와서 저장할 수 있고, 또한 동일 클록에서 읽기 기능과 쓰기 기능이 가능한 듀얼 포트 캐시 메모리를 구비한 그래픽 가속 장치를 이용한 3차원 그래픽 가속 방법에 있어서,
    상기 퍼프래그먼트 유닛으로부터 상기 현재의 프래그먼트에 대한 깊이 테스트, 색상 변환 또는 스텐실 연산-알파 테스트의 수행을 위해 상기 현재의 프래그먼트에 대응되는 영역에 대한 깊이 정보, 색상 정보, 또는 스텐실-알파 정보의 요청이 있는 경우 상기 듀얼 포트 캐시 메모리에 요청 정보가 있으면 해당 정보를 읽어 출력하는 단계와, 및
    상기 듀얼 포트 캐시 메모리에 요청 정보가 없으면 상기 프레임 메모리로부터 읽어와서 상기 듀얼 포트 캐시 메모리에 저장하는 단계를 포함하는 3차원 그래픽 가속 방법.
  9. 제8항에 있어서,
    상기 듀얼 포트 캐시 메모리의 깊이 정보, 색상 정보, 또는 스텐실-알파 정보의 둘 이상이 동시에 상기 프레임 메모리에 라이트되는 경우 우선 순위를 조정하는 단계를 더 포함하는 것을 특징으로 하는 3차원 그래픽 가속 방법.
  10. 제9항에 있어서,
    상기 듀얼 포트 캐시 메모리에 요청 정보가 없으면, 가장 오래된 블록 태그의 업데이트 비트가 설정되었는지를 확인하고, 상기 업데이트 비트가 설정되어 있으면 상기 가장 오래된 블록의 데이터를 프레임 메모리에 저장하는 것을 특징으로 하는 3차원 그래픽 가속 방법.
KR1020090063446A 2009-07-13 2009-07-13 3차원 그래픽 가속 장치 및 3차원 그래픽 가속 방법 KR101022282B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090063446A KR101022282B1 (ko) 2009-07-13 2009-07-13 3차원 그래픽 가속 장치 및 3차원 그래픽 가속 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090063446A KR101022282B1 (ko) 2009-07-13 2009-07-13 3차원 그래픽 가속 장치 및 3차원 그래픽 가속 방법

Publications (2)

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

Family

ID=43612902

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090063446A KR101022282B1 (ko) 2009-07-13 2009-07-13 3차원 그래픽 가속 장치 및 3차원 그래픽 가속 방법

Country Status (1)

Country Link
KR (1) KR101022282B1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100441080B1 (ko) * 2002-07-31 2004-07-21 학교법인연세대학교 3차원 그래픽 가속기에서 픽셀 캐쉬 구조의 동작방법
KR20060044124A (ko) * 2004-11-11 2006-05-16 삼성전자주식회사 3차원 그래픽 가속을 위한 그래픽 시스템 및 메모리 장치
KR100840011B1 (ko) * 2006-07-11 2008-06-20 엠텍비젼 주식회사 3차원 그래픽 연산을 위한 캐쉬 메모리 장치 및 3차원그래픽 연산 처리 방법
KR20080014402A (ko) * 2006-08-11 2008-02-14 삼성전자주식회사 컴퓨터 그래픽스 데이터 처리방법과 데이터 처리장치

Also Published As

Publication number Publication date
KR101022282B1 (ko) 2011-03-21

Similar Documents

Publication Publication Date Title
US8669999B2 (en) Alpha-to-coverage value determination using virtual samples
US8941653B2 (en) Order-preserving distributed rasterizer
US10515011B2 (en) Compression status bit cache and backing store
EP1725989B1 (en) Register based queuing for texture requests
US8760460B1 (en) Hardware-managed virtual buffers using a shared memory for load distribution
JP5296169B2 (ja) タイル化されたプリフェッチ及びキャッシングされたデプスバッファ
US8810592B2 (en) Vertex attribute buffer for inline immediate attributes and constants
US8135926B1 (en) Cache-based control of atomic operations in conjunction with an external ALU block
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
US9594599B1 (en) Method and system for distributing work batches to processing units based on a number of enabled streaming multiprocessors
US20030142102A1 (en) Texture mapping performance by combining requests for image data
US20030160796A1 (en) Active block write-back from SRAM cache to DRAM
KR20060116916A (ko) 텍스쳐 캐쉬 및 이를 구비한 3차원 그래픽 시스템, 그리고그것의 제어 방법
US20020171657A1 (en) External dirty tag bits for 3D-RAM SRAM
KR101022282B1 (ko) 3차원 그래픽 가속 장치 및 3차원 그래픽 가속 방법
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
US8947444B1 (en) Distributed vertex attribute fetch
US8081182B2 (en) Depth buffer for rasterization pipeline
JP3548648B2 (ja) 描画装置及び描画方法
US9536341B1 (en) Distributing primitives to multiple rasterizers
CN116563444A (zh) 一种纹理映射硬件加速的方法及装置
US8330766B1 (en) Zero-bandwidth clears

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