KR100703709B1 - 그래픽스 처리장치와 처리방법, 및 그 기록 매체 - Google Patents

그래픽스 처리장치와 처리방법, 및 그 기록 매체 Download PDF

Info

Publication number
KR100703709B1
KR100703709B1 KR1020050047219A KR20050047219A KR100703709B1 KR 100703709 B1 KR100703709 B1 KR 100703709B1 KR 1020050047219 A KR1020050047219 A KR 1020050047219A KR 20050047219 A KR20050047219 A KR 20050047219A KR 100703709 B1 KR100703709 B1 KR 100703709B1
Authority
KR
South Korea
Prior art keywords
span
coordinates
data
cache memory
pixel
Prior art date
Application number
KR1020050047219A
Other languages
English (en)
Other versions
KR20060125269A (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 KR1020050047219A priority Critical patent/KR100703709B1/ko
Priority to US11/365,600 priority patent/US7551178B2/en
Priority to JP2006130639A priority patent/JP2006338658A/ja
Publication of KR20060125269A publication Critical patent/KR20060125269A/ko
Application granted granted Critical
Publication of KR100703709B1 publication Critical patent/KR100703709B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Abstract

그래픽스 처리장치와 처리방법, 및 그 기록 매체가 개시된다. 상기 그래픽스 처리장치는 i(i는 자연수)번째 스팬의 데이터를 렌더링하면서 프레그먼트 정보를 출력하는 래스터라이져와 상기 래스터라이져로부터 출력된 상기 프레그먼트 정보에 기초하여 (i+1)번째 스팬의 첫 번째 데이터의 좌표를 계산하고, 계산된 좌표를 출력하기 위한 프로세서와 상기 프로세서로부터 출력된 상기 계산된 좌표에 상응하며 외부 메모리 장치로부터 프리페치된 데이터를 저장하기 위한 캐시 메모리를 구비한다. 따라서 상기 그래픽스 처리장치는 현재 스팬의 데이터를 처리하는 단계와 처리 중인 데이터에 연관된 정보에 기초하여 다음 스팬의 시작 데이터의 어드레스에 상응하는 데이터를 외부 메모리 장치로부터 프리페치하여 캐시 메모리에 저장하는 단계를 구비한다. 따라서 매 삼각형마다 매 스팬이 변할 때마다 발생되는 캐쉬 미스를 감소시킬 수 있으므로, 상기 그래픽스 처리장치의 성능이 향상된다.
3d pipeline, rasterizer

Description

그래픽스 처리장치와 처리방법, 및 그 기록 매체{Apparatus and method for processing graphics, and computer readable medium storing the same}
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 일실시예에 따른 3차원 그래픽스 파이프라인의 구성도를 나타낸다.
도 2는 도 1에 도시된 3차원 그래픽스 파이프라인에서 다음 스팬의 데이터를 프리페치하는 방법을 나타내는 흐름도이다.
도 3은 본 발명의 실시예에 따른 텍스처 유닛의 블락도를 나타낸다.
도 4는 도 3에 도시된 텍스처 유닛이 다음 스팬의 첫 번째 텍셀의 좌표를 계산하고, 계산된 첫 번째 좌표에 상응하는 데이터를 프리페치하는 방법을 나타내는 흐름도이다.
도 5는 래스터라이져에서 실행되는 3차원 레스터라이제이션 순서를 나타낸다.
도 6은 본 발명의 실시예에 따른 퍼-프래그먼트 유닛의 블락도를 나타낸다.
도 7은 도 6에 도시된 퍼-프래그먼트 유닛이 다음 스팬의 첫 번째 픽셀의 좌표를 계산하고, 계산된 첫 번째 좌표에 상응하는 데이터를 프리페치하는 방법을 나 타내는 흐름도이다.
본 발명은 3차원 그래픽 처리에 관한 것으로, 보다 상세하게는 3차원 그래픽스 파이프라인에서 캐시 메모리의 성능을 개선하기 위하여 현재 스팬을 처리하고 있는 동안에 다음 스팬의 데이터를 캐시 메모리로 프리페치하기 위한 장치, 방법, 그 기록 매체에 관한 것이다.
최근 3차원 그래픽스 어플리케이션에서 실시간으로 장면(scene)을 렌더링(rendering)할 때 좀 더 자연스럽고 부드러운 영상(image)을 얻기 위하여 다양한 텍스처(texture)가 사용되고 있고 다양한 컬러 블렌딩(color blending)이 사용된다.
또한, 실시간 렌더링 시 3차원 그래픽스 파이프라인의 성능을 높이기 위해 다양한 캐시 메모리들을 사용한다. 상기 다양한 캐시 메모리들 중에서, 텍스처 캐시 메모리는 텍스처 필터링(texture filtering)을 위하여 사용되고, 컬러 캐시 메모리는 알파 블렌딩(alpha blending)을 위하여 사용되고, z(또는 깊이)/ 스텐실 캐시 메모리는 z-테스트나 스텐실 테스트를 위하여 사용된다.
3차원 그래픽스 파이프라인에서 외부 메모리 장치를 엑세스하는 경우 레이턴시(latency)가 길어지므로, 길어진 레이턴시 때문에 3차원 그래픽스 파이프라인이 정지(stall)되는 것을 방지하기 위하여 다양한 캐시 메모리들이 사용된다. 따라서 캐시 메모리의 성능 향상은 3차원 그래픽스 파이프라인의 성능 향상에 큰 영향을 미친다.
일반적으로 3차원 그래픽스 파이프라인은 삼각형(triangle)을 기초로 하여 장면을 렌더링한다. 또한, 하나의 삼각형 내에서는 스팬(span)단위로 장면이 렌더링된다.
3차원 그래픽스 파이프라인에서 현재 렌더링(또는 프로세싱)되고 있는 스팬에 필요한 데이터(예컨대, 텍스처 데이터, 컬러 데이터, z-데이터, 등)를 대응되는 외부 메모리 장치로부터 읽어올 때, 상기 필요한 데이터의 어드레스(또는 좌표)와 선형적인(linear) 어드레스에 해당되는 데이터를 미리 읽어 캐시 메모리에 저장한다.
그러나, 3차원 그래픽스 파이프라인이 삼각형(triangle)을 기초로 하여 장면을 렌더링할 때, 스팬이 변할 때마다 캐시 메모리는 미스(miss)일 확률이 높다.
최근에는 점차 고화질의 3차원 장면이 만들어지면서 3차원 모델링이 많은 수의 삼각형을 가지고 세분화되기 때문에 삼각형 내에서 한 스팬이 변할 때마다 캐시 미스가 발생되면, 상기 캐시 미스로 인하여 3차원 그래픽스 파이프라인의 정지(stall)가 증가한다. 따라서 3차원 그래픽스 파이프라인의 성능이 떨어진다.
따라서 본 발명이 이루고자 하는 기술적인 과제는 각각의 삼각형 내에서 스팬이 변할 때마다 캐시 미스가 발생되는 것을 줄여 3차원 그래픽스 파이프라인에서 캐시 메모리의 성능을 개선하기 위하여 현재 스팬을 처리하고 있는 도중에 다음 스 팬의 첫 번째 데이터를 캐쉬 메모리로 프리페치하기 위한 장치, 방법, 그 기록 매체를 제공하는 것이다.
상기 기술적 과제를 달성하기 위한 그래픽스 처리장치의 데이터 처리방법은 현재 스팬의 데이터를 처리하는 단계와 처리 중인 데이터에 연관된 정보에 기초하여 다음 스팬의 시작 데이터의 어드레스에 상응하는 데이터를 외부 메모리 장치로부터 프리페치하여 캐시 메모리에 저장하는 단계를 구비한다.
상기 기술적 과제를 달성하기 위한 그래픽스 처리장치의 데이터 처리방법은 i(i는 자연수)번째 스팬(span)의 데이터를 처리하는 단계; 및 상기 i번째 스팬의 데이터를 처리하는 동안에 (i+1)번째 스팬의 첫 번째 데이터의 좌표에 상응하는 데이터를 외부 메모리 장치로부터 캐시 메모리로 프리페치하는 단계를 구비한다.
상기 프리페치하는 단계는 래스터라이져가 상기 i번째 스팬(span)의 데이터를 처리하는 동안에 상기 래스터라이져로부터 출력된 프레그먼트 정보에 기초하여 상기 (i+1)번째 스팬의 첫 번째 데이터의 좌표를 계산하는 단계; 및 상기 계산된 좌표에 상응하는 데이터를 상기 외부 메모리 장치로부터 상기 캐시 메모리로 읽어오는 단계를 구비한다.
상기 (i+1)번째 스팬의 첫 번째 데이터의 좌표를 계산하는 단계는 현재 처리되고 있는 상기 (i)번째 스팬을 포함하는 삼각형의 에지의 기울기와 텍스처 좌표를 픽셀 좌표로 편미분한 값들에 기초하여 상기 (i+1)번째 스팬의 첫 번째 텍셀의 좌표를 계산하는 단계이다.
또한, 상기 (i+1)번째 스팬의 첫 번째 데이터의 좌표를 계산하는 단계는 현재 처리되고 있는 상기 (i)번째 스팬을 포함하는 삼각형의 에지의 기울기와 현재 처리되고 있는 상기 (i)번째 스팬의 픽셀 좌표에 기초하여 상기 (i+1)번째 스팬의 첫 번째 픽셀의 좌표를 계산하는 단계이다.
상기 데이터를 상기 외부 메모리 장치로부터 상기 캐시 메모리로 읽어오는 단계는 상기 캐시 메모리가 상기 외부 메모리 장치를 엑세스하는지의 여부를 판단하는 단계; 상기 판단결과에 기초하여 상기 계산된 좌표를 상기 외부 메모리 장치로 출력하는 단계; 및 상기 계산된 좌표에 상응하는 상기 데이터를 상기 외부 메모리 장치로부터 상시 캐시 메모리로 읽어오는 단계를 구비한다. 상기 각 방법은 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 저장된다.
상기 기술적 과제를 달성하기 위한 그래픽스 처리장치는 i(i는 자연수)번째 스팬(span)의 데이터를 렌더링하면서 프레그먼트 정보를 출력하는 래스터라이져; 및 상기 래스터라이져로부터 출력된 상기 프레그먼트 정보에 기초하여 (i+1)번째 스팬의 첫 번째 데이터의 좌표를 계산하고, 계산된 좌표를 출력하기 위한 프로세서를 구비한다.
상기 그래픽스 처리장치는 상기 프로세서로부터 출력된 상기 계산된 좌표에 상응하며 외부 메모리 장치로부터 프리페치된 데이터를 저장하기 위한 캐시 메모리를 더 구비한다.
상기 프레그먼트 정보가 현재 렌더링되고 있는 상기 (i)번째 스팬을 포함하는 삼각형의 에지의 기울기와 텍스처 좌표를 픽셀 좌표로 편미분한 값들인 경우, 상기 프로세서는 다음의 수학식:
Figure 112005029449467-pat00001
여기서 u'와 v'는 상기 (i+1)번째 스팬의 첫 번째 텍셀의 좌표이고, u와 v는 현재 렌더링되고 있는 상기 (i)번째 스팬의 텍셀의 좌표이고, S는 상기 삼각형의 에지의 기울기이고, du/dx는 u의 x방향의 편 미분 값이고, du/dy는 u의 y방향의 편 미분 값이고, dv/dx는 v의 x방향의 편 미분 값이고, dv/dy는 v의 y방향의 편 미분 값에 기초하여 상기 (i+1)번째 스팬의 첫 번째 텍셀의 좌표를 계산한다.
또한, 상기 프레그먼트 정보가 현재 렌더링되고 있는 상기 (i)번째 스팬을 포함하는 삼각형의 에지의 기울기와 픽셀의 좌표인 경우, 상기 프로세서는 다음의 수학식:
Figure 112005029449467-pat00002
여기서 x와 y는 현재 렌더링되고 있는 (i)번째 스팬의 픽셀의 좌표이고, x'와 y'는 (i+1)번째 스팬의 첫 번째 픽셀의 좌표이고, b는 상수에 기초하여 상기 (i+1)번째 스팬의 첫 번째 픽셀의 좌표를 계산한다.
상기 기술적 과제를 달성하기 위한 그래픽스 처리장치의 프로세서는 현재 처리되고 있는 (i)번째 스팬을 포함하는 삼각형의 에지의 기울기와 텍스처 좌표를 픽셀 좌표로 편미분한 값들을 수신하고, 이들에 기초하여 (i+1)번째 스팬의 첫 번째 데이터의 어드레스를 계산하기 위한 어드레스 발생기; 및 상기 어드레스 발생기로 부터 출력된 (i+1)번째 스팬의 첫 번째 데이터의 어드레스를 수신하고, 캐시 메모리의 동작상태를 감시하고, 감시결과에 기초하여 수신된 첫 번째 데이터의 어드레스에 상응하는 데이터를 외부 메모리 장치로부터 상기 캐쉬 메모리로 프리페치하기 위하여 수신된 첫 번째 데이터의 어드레스를 상기 캐시 메모리로 전송하기 위한 컨트롤러를 구비한다.
상기 기술적 과제를 달성하기 위한 그래픽스 처리장치의 프로세서는 현재 처리되고 있는 (i)번째 스팬을 포함하는 삼각형의 에지의 기울기와 픽셀 좌표를 수신하고, 이들에 기초하여 (i+1)번째 스팬의 첫 번째 데이터의 어드레스를 계산하기 위한 어드레스 발생기; 및 상기 어드레스 발생기로부터 출력된 첫 번째 데이터의 어드레스를 수신하고, 캐시 메모리의 동작 상태를 감시하고, 감시결과에 기초하여 수신된 첫 번째 데이터의 어드레스에 상응하는 데이터를 외부 메모리 장치로부터 상기 캐쉬 메모리로 프리페치하기 위하여 수신된 첫 번째 데이터의 어드레스를 상기 캐시 메모리로 전송하기 위한 컨트롤러를 구비한다.
상기 기술적 과제를 달성하기 위한 컴퓨터는 i(i는 자연수)번째 스팬(span)의 데이터를 렌더링하면서 프레그먼트 정보를 출력하는 래스터라이져; 상기 래스터라이져로부터 출력된 상기 프레그먼트 정보에 기초하여 (i+1)번째 스팬의 첫 번째 데이터의 어드레스를 계산하고, 계산된 어드레스를 출력하기 위한 프로세서; 외부 메모리 장치; 및 상기 프로세서로부터 출력된 어드레스에 상응하며 상기 외부 메모리 장치로부터 프리페치된 데이터를 저장하기 위한 캐시 메모리를 구비한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일실시예에 따른 3차원 그래픽스 파이프라인의 구성도를 나타낸다. 도 1을 참조하면, 3차원 그래픽스 파이프라인(그래픽스 처리장치, 또는 컴퓨터; 10)은 래스터라이져(rasterizer; 20), 프레그먼트 세이더(fragment shader; 30), 텍스처 유닛(texture unit; 40), 텍스처 캐시 메모리(texture cache memory; 41), 퍼-프래그먼트 유닛(per-fragment unit; 50), z-캐시 메모리(51), 및 컬러 캐시 메모리(55)를 구비한다. 각 캐시 메모리(41, 51, 및 55)는 대응되는 프로세서(40과 50)로부터 생성된 좌표(또는 어드레스)에 기초하여 대응되는 외부 메모리 장치(43, 53, 및 57)로부터 데이터를 읽어온다.
상기 래스터라이져(20)는 삼각형의 꼭지점들의 좌표에 대한 정보(VDATA)를 수신하고, 도 5에 도시된 바와 같이 상기 삼각형 내에 포함된 스팬들을 순차적으로 랜더링하고, 프레그먼트 정보(또는 현재 처리 중인 스팬의 데이터에 연관된 정보) 를 프레그먼트 세이더(30)로 출력한다. 구현방식에 따라 상기 래스터라이져(20)는 상기 프레그먼트 정보를 텍스처 유닛(40)과 퍼-프래그먼트 유닛(50)으로 직접 출력할 수 있다. 상기 프레그먼트 세이더(30)는 OpenGL 세이딩 언어로 작성된 프로그램들을 의미하며, 프레그먼트 프로세서라고도 한다.
상기 프래그먼트 정보는 보간을 통하여 생성된 컬러 값, 픽셀 좌표(x, y), z(깊이)값, 텍스처 좌표(u, v), 삼각형의 에지의 기울기, 텍스처 좌표를 픽셀 좌표로 편미분한 값들 등을 포함한다.
즉, 상기 래스터라이져(20)는 i(i는 자연수)번째 스팬(span)의 데이터를 처리(또는 렌더링)하는 동안에 현재 처리되고 있는 상기 i번째 스팬의 텍셀의 좌표(u, v), 상기 (i)번째 스팬을 포함하는 삼각형의 에지의 기울기(S), u의 x방향의 편 미분 값(du/dx), u의 y방향의 편 미분 값(du/dy), v의 x방향의 편 미분 값(dv/dx), v의 y방향의 편 미분 값(dv/dy), 픽셀 좌표(x, y), 컬러 값, 깊이 값, 등에 대한 정보를 프레그먼트 세이더(30)로 출력한다.
도 2는 본 발명의 실시예에 따라 3차원 그래픽스 파이프라인에서 다음 스팬의 데이터를 프리페치하는 방법을 나타내는 흐름도이다.
도 1과 도 2를 참조하면, 각 프로세서(40과 50)는 래스터라이져(20)가 i번째 스팬의 데이터를 처리하는 동안에 상기 래스터라이져(20)로부터 출력된 대응되는 프레그먼트 정보를 수신하고, 수신된 프레그먼트 정보에 기초하여 (i+1)번째 스팬의 첫 번째 데이터의 좌표(좌표를 '어드레스'라고도 한다)를 계산한다(210).
각 캐시 메모리(41, 51, 및 55)는 텍스처 유닛(40)과 퍼-프래그먼트 유닛(50)각각으로부터 출력된 (i+1)번째 스팬의 첫 번째 데이터의 좌표에 상응하는 데이터를 대응되는 외부 메모리 장치(43, 53, 및 57)로부터 프리페치한다(220).
즉, 본 발명에 따른 그래픽스 처리장치(10)는 i번째 스팬의 데이터를 처리하는 동안 (i+1)번째 스팬의 첫 번째 데이터(예컨대, 텍셀, 또는 픽셀)의 좌표에 상 응하는 데이터를 외부 메모리 장치로부터 미리 읽어와서 캐시 메모리에 저장한다.
도 3은 본 발명의 실시예에 따른 텍스처 유닛의 블락도를 나타낸다. 도 3을 참조하면, 텍스처 유닛(40)은 어드레스 발생 블락(310)과 필터링 블락(350)을 구비한다.
상기 어드레스 발생 블락(310)은 3차원 그래픽스 파이프라인의 래스터라이져(20)로부터 출력된 소정의 프레그먼트 정보에 응답하여 현재 처리되고 있는 스팬의 픽셀의 텍스처 좌표와 다음 스팬의 첫 번째 텍셀의 좌표를 발생하고, 테스쳐 캐시 메모리(41)와 인터페이스한다.
상기 필터링 블락(350)은 테스쳐 캐시 메모리(41)로부터 출력된 텍셀 데이터(TDATA(u', v'))를 수신하고, 수신된 텍셀 데이터를 텍스처 필터링하고, 필터링된 데이터를 프레그먼트 세이터(30)로 출력한다.
상기 어드레스 발생 블락(310)은 텍스처 어드레스 발생기(texture address generator; 320), 다음 스팬 시작 텍셀 어드레스 발생기(next span start texel address generator; 330), 및 텍스처 어드레스 스테이트 머신(texture address state machine; 340)을 구비한다.
상기 텍스처 어드레스 발생기(320)는 현재 입력되는 픽셀에 대한 텍셀 좌표를 발생한다. 상기 텍스처 어드레스 발생기(320)는 텍스처 필터링을 위하여 현재 렌더링이 진행되고 있는 픽셀에 대한 텍셀을 얻기 위하여 텍스처의 크기(size), MIPMAP 레벨, 텍스처 저장 패턴, 그리고 텍스처 필터링 방법 등을 고려하여 텍셀 어드레스를 발생한다. 상기 텍스처 어드레스 발생기(320)는 텍스처 어드레스 스테 이트 머신(340)의 동작을 제어하기 위한 신호(EN)를 발생한다.
도 4는 도 3에 도시된 텍스처 유닛이 다음 스팬의 첫 번째 텍셀의 좌표를 계산하고, 계산된 첫 번째 좌표에 상응하는 데이터를 프리페치하는 방법을 나타내는 흐름도이다. 도 5는 래스터라이져에서 실행되는 3차원 레스터라이제이션 순차를 나타낸다.
도 3 내지 도 5를 참조하면, 다음 스팬 시작 텍셀 어드레스 발생기(330)는 현재 처리중인 스팬(i 번째 스팬)의 다음 스팬((i+1)번째 스팬)의 시작 텍셀의 좌표(또는 어드레스)를 발생한다.
다음 스팬 시작 텍셀 어드레스 발생기(330)는 래스터라이져(20)로부터 출력된 또는 프레그먼트 세이터(30)로부터 출력된 프래그먼트 정보, 예컨대 상기 래스터라이져(20)에서 현재 처리되고 있는 (i)번째 스팬을 포함하는 삼각형의 에지의 기울기(S)와 텍스처 좌표를 픽셀 좌표로 편미분한 값들을 수신하고(410), 수학식1에 기초하여 (i+1)번째 스팬의 첫 번째 텍셀의 좌표(u', v')를 계산한다(420).
Figure 112005029449467-pat00003
여기서, u'와 v'는 상기 (i+1)번째 스팬의 첫 번째 텍셀의 좌표이고, u와 v는 래스터라이져(20)에서 현재 처리되고 있는 상기 (i)번째 스팬의 텍셀의 좌표이고, S는 현재 처리되고 있는 (i)번째 스팬을 포함하는 삼각형의 에지의 기울기이 고, du/dx는 u의 x방향의 편 미분 값, du/dy는 u의 y방향의 편 미분 값, dv/dx는 v의 x방향의 편 미분 값, dv/dy는 v의 y방향의 편 미분 값이다.
수학식 1을 통하여 구해진 (i+1)번째 스팬의 첫 번째 텍셀의 좌표(u', v')는 텍스처 어드레스 스테이트 머신(340)으로 전송된다.
상기 텍스처 어드레스 스테이트 머신(340)은 텍스처 어드레스 발생기(320)로부터 출력된 신호(EN)에 응답하여 텍스처 캐시 메모리(41)가 히트 상태이거나 또는 상기 텍스처 캐시 메모리(41)에서 아무런 동작이 일어나지 않을 때 (i+1)번째 스팬의 첫 번째 텍셀의 좌표(u', v')를 텍스처 캐시 메모리(41)로 전송한다.
또한, 상기 텍스처 어드레스 스테이트 머신(340)은 i번째 스팬을 렌더링하기 위한 텍셀의 좌표(u, v)를 텍스처 캐시 메모리(41)로 전송한다. 상기 텍스처 어드레스 스테이트 머신(340)은 텍스처 캐시 메모리(41)의 동작을 제어하는 컨트롤러의 기능을 수행한다.
상기 텍스처 어드레스 스테이트 머신(340)은 텍스처 캐시 메모리(41)의 동작 상태를 검사하고(430), 상기 텍스처 캐시 메모리(41)가 외부 메모리 장치인 텍스처 메모리(43)를 엑세스할 수 있을 때 다음 스팬 시작 텍셀 어드레스 발생기(330)로부터 생성된 다음 스팬의 첫 번째 텍셀의 좌표(u', v')를 상기 텍스처 캐시 메모리(41)로 전송한다.
현재 텍스처링되고 있는 텍셀 좌표(u, v)와 다음 스팬의 첫 번째 텍셀의 좌표(u', v')는 같은 타이밍에 생성되지만, 텍스처 어드레스 스테이트 머신(340)은 텍스처 어드레스 발생기(320)로부터 출력된 신호(EN)에 응답하여 현재 텍스처 유닛 (40)이 필요로 하는 데이터를 먼저 얻기 위하여 현재 텍스처링되고 있는 텍셀 좌표(u, v)에 상응하는 데이터를 먼저 처리해주고, 텍스처 캐시 메모리(41)의 상태를 검사한다.
만일, 텍스처 캐시 메모리(41)가 미스(miss)상태인 경우, 즉 상기 텍스처 캐시 메모리(41)가 외부 메모리 장치(43)를 엑세스하고 있기 때문에, 텍스처 어드레스 스테이트 머신(340)은 다음 스팬의 첫 번째 텍셀의 좌표(u', v')를 텍스처 캐시 메모리(41)로 전송하지 않는다(440).
그러나, 텍스처 캐시 메모리(41)가 외부 메모리 장치(43)를 엑세스하지 않는 경우, 즉 텍스처 캐시 메모리(41)가 히트(HIT) 상태인 경우 또는 텍스처 캐시 메모리(41)가 아무런 동작을 하지 않는 상태인 경우, 텍스처 어드레스 스테이트 머신(340)은 텍스처 캐시 메모리(41)로 다음 스팬의 첫 번째 텍셀의 좌표(u', v')를 전송한다(450).
따라서 텍스처 캐시 메모리(41)는 다음 스팬의 첫 번째 텍셀의 좌표(u', v')에 상응하는 데이터를 외부 메모리 장치(43)로부터 읽어와서 저장한다(460).
즉, 래스터라이져(20)에 의하여 i번째 스팬이 렌더링되는 동안, 텍스처 캐시 메모리(41)는 (i+1)번째 스팬의 첫 번째 텍셀의 좌표에 해당되는 데이터를 외부 메모리(43)로부터 프리페치하여 저장하고 있다. 따라서 본 발명에 따르면 매 삼각형에서 매 스팬이 변할 때마다 발생될 수 있는 텍스처 캐시 메모리(41)의 미스 패널티(miss penalty)가 감소하므로, 3차원 그래픽스 파이프라인의 성능이 상당히 향상된다.
상기 필터링 블락(350)은 텍스처 캐시 메모리(41)로부터 출력된 (i+1)번째 스팬의 첫 번째 텍셀의 좌표(u', v')에 해당되는 데이터(TDATA(u', v'))를 수신하고, 수신된 데이터(TDATA(u', v'))를 필터링하고, 하나의 픽셀에 해당하는 하나의 텍셀을 발생하고, 발생된 텍셀을 프레그먼트 세이더(30)로 출력한다.
여기서, 텍스처 유닛(40)은 해당 텍스처 좌표(u, v)에 대하여 적어도 하나의 텍셀을 텍스처 메모리(43)로부터 독출하고, 독출된 텍셀을 필터링하여 하나의 텍셀을 생성한다.
프레그먼트 세이더(30)는 텍스처 블렌딩(texture blending)과 포그 블렌딩(fog blending)을 수행하는 블락이다.
도 6은 본 발명의 실시예에 따른 퍼-프래그먼트 유닛의 블락도를 나타낸다. 도 7은 도 6에 도시된 퍼-프래그먼트 유닛이 다음 스팬의 첫 번째 픽셀의 좌표를 계산하고, 계산된 첫 번째 픽셀의 좌표에 상응하는 데이터를 프리페치하는 방법을 나타내는 흐름도이다.
도 6 및 도 7을 참조하면, 퍼-프래그먼트 유닛(50)은 다음 스팬 시작 값 어드레스 생성기(next span start value address generator; 610), z-어드레스 스테이트 머신(z(depth) address state machine; 630), 및 컬러 어드레스 스테이트 머신(color address state machine; 650)을 구비한다. 상기 z-어드레스 스테이트 머신(630)과 컬러 어드레스 스테이트 머신(650)각각은 대응되는 캐시 메모리(51과 55)의 동작을 제어하는 컨트롤러의 기능을 수행한다.
퍼-프래그먼트 유닛(50)은 래스터라이져(20)로부터 출력된 프래그먼트 정보 의 알파 값과 텍스처 유닛(40)에 의하여 필터링된 텍셀의 알파 값을 테스트한다. 여기서 알파 값은 투명도를 나타내는 값이다.
z/스텐실 캐시 메모리(51)와 컬러 캐시 메모리(55)각각은 다음 스팬의 첫 번째 시작 값 어드레스에 상응하는 데이터를 대응되는 외부 메모리 장치(53과 57)로부터 프리페치한다.
상기 다음 스팬 시작 값 어드레스 생성기(610)는 래스터라이져(20)에서 현재 처리되고 있는 (i)번째 스팬을 포함하는 삼각형의 에지의 기울기(S)와 현재 처리되고 있는 상기 (i)번째 스팬의 픽셀 좌표(x, y)를 수신하고(710), 수학식2에 기초하여 현재 처리중인 스팬(i 번째 스팬)의 다음 스팬((i+1)번째 스팬)의 첫 번째 픽셀의 좌표(x', y')를 계산한다(720).
Figure 112005029449467-pat00004
여기서 x와 y는 현재 처리되고 있는 (i)번째 스팬의 픽셀의 좌표이고, x'와 y'는 (i+1)번째 스팬의 첫 번째 픽셀의 좌표이고, b는 상수이다.
상기 다음 스팬 시작 값 어드레스 생성기(610)는 수학식2에 표시된 4개의 변수들 중에서 3개의 변수들(S, x, 및 y)을 이미 알고 있기 때문에 상수(b)를 계산할 수 있다. 그리고 계산된 상수(b)에 기초하여 (i+1)번째 스팬의 첫 번째 픽셀의 좌표(x', y')를 계산한다.
z-어드레스 스테이트 머신(630)은 상기 다음 스팬 시작 값 어드레스 생성기 (610)로부터 출력된 (i+1)번째 스팬의 첫 번째 픽셀의 좌표(x', y')를 수신하고, z/스텐실 캐시 메모리(51)의 상태를 검사한다.
z-어드레스 스테이트 머신(630)은 z/스텐실 캐시 메모리(51)가 외부 메모리 장치(53)를 엑세스하는지의 여부를 판단한다(730).
만일, z/스텐실 캐시 메모리(51)가 외부 메모리 장치(53)를 엑세스하는 경우(예컨대, z/스텐실 캐시 메모리(51)가 미스 상태인 경우), z-어드레스 스테이트 머신(630)은 상기 다음 스팬 시작 값 어드레스 생성기(610)로부터 출력된 첫 번째 픽셀의 좌표(x', y')를 z/스텐실 캐시 메모리(51)로 전송하지 않는다(740).
그러나, z/스텐실 캐시 메모리(51)가 외부 메모리 장치(53)를 엑세스하지 않는 경우(예컨대, z/스텐실 캐시 메모리(51)가 히트 상태이거나 z/스텐실 캐시 메모리(51)가 아무런 동작을 하지 않는 경우), z-어드레스 스테이트 머신(630)은 상기 다음 스팬 시작 값 어드레스 생성기(610)로부터 생성된 첫 번째 픽셀의 좌표(x', y')를 z/스텐실 캐시 메모리(51)로 출력한다(750). 상기 z/스텐실 캐시 메모리(51)는 첫 번째 픽셀의 좌표(x', y')에 응답하여 상기 첫 번째 픽셀의 좌표(x', y')에 상응하는 z/스텐실 데이터(ZDATA(x', y'))를 외부 메모리 장치(53)로부터 프리페치한다(760).
컬러 어드레스 스테이트 머신(650)은 상기 다음 스팬 시작 값 어드레스 생성기(610)로부터 출력된 (i+1)번째 스팬의 첫 번째 픽셀의 좌표(x', y')를 수신하고, 컬러 캐시 메모리(55)의 상태를 검사한다.
컬러 어드레스 스테이트 머신(650)은 컬러 캐시 메모리(55)가 외부 메모리 장치(57)를 엑세스하는지의 여부를 판단한다(730).
만일, 컬러 캐시 메모리(55)가 외부 메모리 장치(57)를 엑세스하는 경우(예컨대, 컬러 캐시 메모리(55)가 미스 상태인 경우), 컬러 어드레스 스테이트 머신(650)은 상기 다음 스팬 시작 값 어드레스 생성기(610)로부터 생성된 첫 번째 픽셀의 좌표(x', y')를 컬러 캐시 메모리(55)로 전송하지 않는다(740).
그러나, 컬러 캐시 메모리(55)가 외부 메모리 장치(57)를 엑세스하지 않는 경우(예컨대, 컬러 캐시 메모리(55)가 히트 상태이거나 컬러 캐시 메모리(55)가 아무런 동작을 하지 않는 경우), 컬러 어드레스 스테이트 머신(650)은 상기 다음 스팬 시작 값 어드레스 생성기(610)로부터 생성된 첫 번째 픽셀의 좌표(x', y')를 컬러 캐시 메모리(55)로 출력한다(750). 상기 컬러 캐시 메모리(55)는 첫 번째 픽셀의 좌표(x', y')에 응답하여 상기 첫 번째 픽셀의 좌표(x', y')에 상응하는 컬러 데이터(CDATA(x', y')를 외부 메모리 장치(57)로부터 프리페치한다(760).
퍼프레그먼트 유닛(50)은 알파 테스트, 깊이 값 읽기 연산, z/스텐실 테스트, z/스텐실 테스트 수행결과에 따른 깊이 값 쓰기 연산, 컬러 값 읽기 연산, 알파 블렌딩 등을 수행한다.
따라서 본 발명에 따른 그래픽스 처리장치(예컨대, 3차원 가속기)는 매 삼각형에서 매 스팬이 변할 때마다 발생될 수 있는 z/스텐실 캐시 메모리(51), 컬러 캐시 메모리(55)의 미스 패널티(miss penalty)를 감소시킬 수 있으므로, 3차원 그래픽스 파이프라인의 성능이 향상된다.
본 발명의 실시예들은 컴퓨터 시스템에서 실행할 수 있는 프로그램으로 작성가능하다. 또한, 상기 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체로부터 독출된 해당 프로그램은 디지털 컴퓨터 시스템에서 실행될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 그래픽스 처리장치와 그래픽스 처리방법은 현재 스팬을 처리를 하는 도중에 다음 스팬의 첫 번째 데이터(예컨대, 텍셀, 픽셀)의 좌표를 계산하고, 계산된 좌표에 상응하는 데이터를 대응되는 외부 메모리 장치로부터 대응되는 캐시 메모리(예컨대, 텍스처 캐시 메모리, z/스텐실 캐시 메모리, 컬러 캐시 메모리, 등)로 프리페치 할 수 있다.
따라서, 본 발명에 따른 그래픽스 처리장치와 그래픽스 처리방법은 매 삼각형마다 매 스팬이 변할 때마다 발생될 수 있는 캐시 메모리의 미스 패널티(miss penalty)를 감소시킬 수 있으므로, 텍스처 필터링, z/스텐실 테스트, 또는 컬러 블렌딩 등의 속도가 증가된다.
또한, 본 발명에 따른 그래픽스 처리장치와 그래픽스 처리방법에 따르면, 다음 스팬의 첫 번째 데이터의 좌표에 상응하는 데이터를 프리페치하는 경우라도 현재 스팬의 데이터를 처리하는 성능이 감소되지 않는다.
그리고, 본 발명에 따른 그래픽스 처리장치와 그래픽스 처리방법은 캐쉬 메모리로부터의 히트 율을 향상시키고 미스 페널티를 줄일 수 있으므로, 3차원 차원 그래픽스 파이프라인의 성능이 향상된다.

Claims (28)

  1. 그래픽스 처리장치의 데이터 처리방법에 있어서,
    i(i는 자연수)번째 스팬(span)의 데이터를 처리하는 단계; 및
    상기 i번째 스팬의 데이터를 처리하는 동안에 (i+1)번째 스팬의 첫 번째 데이터의 좌표에 상응하는 데이터를 외부 메모리 장치로부터 캐시 메모리로 프리페치하는 단계를 구비하는 것을 특징으로 하는 그래픽스 처리장치의 데이터 처리방법.
  2. 제1항에 있어서, 상기 프리페치하는 단계는,
    래스터라이져가 상기 i번째 스팬(span)의 데이터를 처리하는 동안에 상기 래스터라이져로부터 출력된 프레그먼트 정보에 기초하여 상기 (i+1)번째 스팬의 첫 번째 데이터의 좌표를 계산하는 단계; 및
    상기 계산된 좌표에 상응하는 데이터를 상기 외부 메모리 장치로부터 상기 캐시 메모리로 읽어오는 단계를 구비하는 것을 특징으로 하는 그래픽스 처리장치의 데이터 처리방법.
  3. 제2항에 있어서, 상기 (i+1)번째 스팬의 첫 번째 데이터의 좌표를 계산하는 단계는,
    현재 처리되고 있는 상기 (i)번째 스팬을 포함하는 삼각형의 에지의 기울기와 텍스처 좌표를 픽셀 좌표로 편미분한 값들에 기초하여 상기 (i+1)번째 스팬의 첫 번째 텍셀의 좌표를 계산하는 단계인 것을 특징으로 하는 그래픽스 처리장치의 데이터 처리방법.
  4. 제2항에 있어서, 상기 (i+1)번째 스팬의 첫 번째 데이터의 좌표를 계산하는 단계는,
    다음의 수학식:
    Figure 112005029449467-pat00005
    여기서 u'와 v'는 상기 (i+1)번째 스팬의 첫 번째 텍셀의 좌표이고, u와 v는 현재 처리되고 있는 상기 (i)번째 스팬의 텍셀의 좌표이고, S는 현재 처리되고 있는 (i)번째 스팬을 포함하는 삼각형의 에지의 기울기이고, du/dx는 u의 x방향의 편 미분 값, du/dy는 u의 y방향의 편 미분 값, dv/dx는 v의 x방향의 편 미분 값, dv/dy는 v의 y방향의 편 미분 값에 기초하여 상기 (i+1)번째 스팬의 첫 번째 텍셀의 좌표를 계산하는 단계를 포함하는 것을 특징으로 하는 그래픽스 처리장치의 데이터 처리방법.
  5. 제2항에 있어서, 상기 (i+1)번째 스팬의 첫 번째 데이터의 좌표를 계산하는 단계는,
    현재 처리되고 있는 상기 (i)번째 스팬을 포함하는 삼각형의 에지의 기울기 와 현재 처리되고 있는 상기 (i)번째 스팬의 픽셀 좌표에 기초하여 상기 (i+1)번째 스팬의 첫 번째 픽셀의 좌표를 계산하는 단계인 것을 특징으로 하는 그래픽스 처리장치의 데이터 처리방법.
  6. 제2항에 있어서, 상기 (i+1)번째 스팬의 첫 번째 데이터의 좌표를 계산하는 단계는,
    다음의 수학식:
    Figure 112005029449467-pat00006
    여기서 x와 y는 현재 처리되고 있는 (i)번째 스팬의 픽셀의 좌표이고, x'와 y'는 (i+1)번째 스팬의 첫 번째 픽셀의 좌표이고, b는 상수에 기초하여 상기 (i+1)번째 스팬의 첫 번째 픽셀의 좌표를 계산하는 단계인 것을 특징으로 하는 그래픽스 처리장치의 데이터 처리방법.
  7. 제2항에 있어서, 상기 데이터를 상기 외부 메모리 장치로부터 상기 캐시 메모리로 읽어오는 단계는,
    상기 캐시 메모리가 상기 외부 메모리 장치를 엑세스하는지의 여부를 판단하는 단계;
    상기 판단결과에 기초하여 상기 계산된 좌표를 상기 외부 메모리 장치로 출력하는 단계; 및
    상기 계산된 좌표에 상응하는 상기 데이터를 상기 외부 메모리 장치로부터 상시 캐시 메모리로 읽어오는 단계를 구비하는 것을 특징으로 하는 그래픽스 처리장치의 데이터 처리방법.
  8. 제1항 내지 제7항 중의 어느 하나의 항에 기재된 방법을 수행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  9. 그래픽스 처리장치에 있어서,
    i(i는 자연수)번째 스팬(span)의 데이터를 렌더링하면서 프레그먼트 정보를 출력하는 래스터라이져; 및
    상기 래스터라이져로부터 출력된 상기 프레그먼트 정보에 기초하여 (i+1)번째 스팬의 첫 번째 데이터의 좌표를 계산하고, 계산된 좌표를 출력하기 위한 프로세서를 구비하는 것을 특징으로 하는 그래픽스 처리장치.
  10. 제9항에 있어서, 상기 그래픽스 처리장치는,
    상기 프로세서로부터 출력된 상기 계산된 좌표에 상응하며 외부 메모리 장치로부터 프리페치된 데이터를 저장하기 위한 캐시 메모리를 더 구비하는 것을 특징으로 하는 그래픽스 처리장치.
  11. 제9항 또는 제10항에 있어서, 상기 프레그먼트 정보가 현재 렌더링되고 있는 상기 (i)번째 스팬을 포함하는 삼각형의 에지의 기울기와 텍스처 좌표를 픽셀 좌표로 편미분한 값들인 경우,
    상기 프로세서는 상기 삼각형의 에지의 기울기와 텍스처 좌표들을 픽셀 좌표들로 편미분 값들에 기초하여 상기 (i+1)번째 스팬의 첫 번째 텍셀의 좌표를 계산하는 것을 특징으로 하는 그래픽스 처리장치.
  12. 제9항 또는 제10항에 있어서, 상기 프레그먼트 정보가 현재 렌더링되고 있는 상기 (i)번째 스팬을 포함하는 삼각형의 에지의 기울기와 텍스처 좌표를 픽셀 좌표로 편미분한 값들인 경우,
    상기 프로세서는 다음의 수학식:
    Figure 112005029449467-pat00007
    여기서 u'와 v'는 상기 (i+1)번째 스팬의 첫 번째 텍셀의 좌표이고, u와 v는 현재 렌더링되고 있는 상기 (i)번째 스팬의 텍셀의 좌표이고, S는 상기 삼각형의 에지의 기울기이고, du/dx는 u의 x방향의 편 미분 값이고, du/dy는 u의 y방향의 편 미분 값이고, dv/dx는 v의 x방향의 편 미분 값이고, dv/dy는 v의 y방향의 편 미분 값에 기초하여 상기 (i+1)번째 스팬의 첫 번째 텍셀의 좌표를 계산하는 것을 특징으로 하는 그래픽스 처리장치.
  13. 제10항에 있어서, 상기 프로세서는,
    상기 프레그먼트 정보에 기초하여 (i+1)번째 스팬의 첫 번째 데이터의 좌표를 계산하기 위한 어드레스 발생기; 및
    상기 어드레스 발생기로부터 출력된 좌표를 수신하고, 상기 캐시 메모리의 동작 상태를 감시하고, 감시결과에 기초하여 상기 수신된 좌표를 상기 캐시 메모리로 전송하기 위한 컨트롤러를 구비하는 것을 특징으로 하는 그래픽스 처리장치.
  14. 제13항에 있어서, 상기 컨트롤러는 상기 캐쉬 메모리가 히트 상태이거나 동작하지 않는 상태일 때 상기 수신된 좌표를 상기 캐쉬 메모리로 전송하는 것을 특징으로 하는 그래픽스 처리장치.
  15. 제9항에 있어서, 상기 프레그먼트 정보가 현재 렌더링되고 있는 상기 (i)번째 스팬을 포함하는 삼각형의 에지의 기울기와 픽셀의 좌표인 경우,
    상기 프로세서는 상기 삼각형의 에지의 기울기와 상기 픽셀 좌표에 기초하여 상기 (i+1)번째 스팬의 첫 번째 픽셀의 좌표를 계산하는 것을 특징으로 하는 그래픽스 처리장치.
  16. 제9항에 있어서, 상기 프레그먼트 정보가 현재 렌더링되고 있는 상기 (i)번째 스팬을 포함하는 삼각형의 에지의 기울기와 픽셀의 좌표인 경우,
    상기 프로세서는 다음의 수학식:
    Figure 112005029449467-pat00008
    여기서 x와 y는 현재 렌더링되고 있는 (i)번째 스팬의 픽셀의 좌표이고, x'와 y'는 (i+1)번째 스팬의 첫 번째 픽셀의 좌표이고, b는 상수에 기초하여 상기 (i+1)번째 스팬의 첫 번째 픽셀의 좌표를 계산하는 것을 특징으로 하는 그래픽스 처리장치.
  17. 그래픽스 처리장치의 프로세서에 있어서,
    현재 처리되고 있는 (i)번째 스팬을 포함하는 삼각형의 에지의 기울기와 텍스처 좌표를 픽셀 좌표로 편미분한 값들을 수신하고, 이들에 기초하여 (i+1)번째 스팬의 첫 번째 데이터의 어드레스를 계산하기 위한 어드레스 발생기; 및
    상기 어드레스 발생기로부터 출력된 (i+1)번째 스팬의 첫 번째 데이터의 어드레스를 수신하고, 캐시 메모리의 동작상태를 감시하고, 감시결과에 기초하여 수신된 첫 번째 데이터의 어드레스에 상응하는 데이터를 외부 메모리 장치로부터 상기 캐쉬 메모리로 프리페치하기 위하여 수신된 첫 번째 데이터의 어드레스를 상기 캐시 메모리로 전송하기 위한 컨트롤러를 구비하는 것을 특징으로 하는 그래픽스 처리장치의 프로세서.
  18. 제17항에 있어서, 상기 어드레스 발생기는,
    다음의 수학식:
    Figure 112005029449467-pat00009
    여기서 u'와 v'는 상기 (i+1)번째 스팬의 첫 번째 텍셀의 어드레스이고, u와 v는 현재 처리되고 있는 상기 (i)번째 스팬의 텍셀의 어드레스이고, S는 상기 삼각형의 에지의 기울기이고, du/dx는 u의 x방향의 편 미분 값이고, du/dy는 u의 y방향의 편 미분 값이고, dv/dx는 v의 x방향의 편 미분 값이고, dv/dy는 v의 y방향의 편 미분 값에 기초하여 상기 (i+1)번째 스팬의 첫 번째 텍셀의 어드레스를 계산하는 것을 특징으로 하는 그래픽스 처리장치의 프로세서.
  19. 제17항에 있어서, 상기 컨트롤러는,
    상기 캐시 메모리로부터 출력된 히트 상태를 나타내는 신호 또는 상기 캐시 메모리가 동작하지 않는 상태를 나타내는 신호에 응답하여 상기 (i+1)번째 스팬의 첫 번째 텍셀의 어드레스를 상기 캐시 메모리로 출력하는 것을 특징으로 하는 그래픽스 처리장치의 프로세서.
  20. 그래픽스 처리장치의 프로세서에 있어서,
    현재 처리되고 있는 (i)번째 스팬을 포함하는 삼각형의 에지의 기울기와 픽셀 좌표를 수신하고, 이들에 기초하여 (i+1)번째 스팬의 첫 번째 데이터의 어드레 스를 계산하기 위한 어드레스 발생기; 및
    상기 어드레스 발생기로부터 출력된 첫 번째 데이터의 어드레스를 수신하고, 캐시 메모리의 동작 상태를 감시하고, 감시결과에 기초하여 수신된 첫 번째 데이터의 어드레스에 상응하는 데이터를 외부 메모리 장치로부터 상기 캐쉬 메모리로 프리페치하기 위하여 수신된 첫 번째 데이터의 어드레스를 상기 캐시 메모리로 전송하기 위한 컨트롤러를 구비하는 것을 특징으로 하는 그래픽스 처리장치의 프로세서.
  21. 제20항에 있어서, 상기 어드레스 발생기는,
    다음의 수학식:
    Figure 112005029449467-pat00010
    여기서 x와 y는 현재 처리되고 있는 (i)번째 스팬의 픽셀의 어드레스이고, x'와 y'는 (i+1)번째 스팬의 첫 번째 픽셀의 어드레스이고, b는 상수에 기초하여 상기 (i+1)번째 스팬의 첫 번째 픽셀의 어드레스를 계산하는 것을 특징으로 하는 그래픽스 처리장치의 프로세서.
  22. 제20항에 있어서, 상기 캐시 메모리가 z/스텐실 캐시 메모리인 경우,
    상기 컨트롤러는 상기 z/스텐실 캐쉬 메모리의 동작 상태를 감시하고, 상기 z/스텐실 캐쉬 메모리로부터 출력된 히트 상태를 나타내는 신호, 또는 상기 z/상기 스텐실 캐쉬 메모리가 동작하지 않는 상태를 나타내는 신호에 응답하여 상기 (i+1)번째 스팬의 첫 번째 픽셀의 좌표를 상기 z/스텐실 캐쉬 메모리로 출력하는 것을 특징으로 하는 그래픽스 처리장치의 프로세서.
  23. 제20항에 있어서, 상기 캐시 메모리가 컬러 캐시 메모리인 경우,
    상기 컨트롤러는 상기 컬러 캐시 메모리의 동작 상태를 감시하고, 상기 컬러 캐시 메모리로부터 출력된 히트 상태를 나타내는 신호 또는 상기 컬러 캐시 메모리가 동작하지 않는 상태를 나타내는 신호에 응답하여 상기 (i+1)번째 스팬의 첫 번째 픽셀의 좌표를 상기 컬러 캐시 메모리로 출력하는 것을 특징으로 하는 그래픽스 처리장치의 프로세서.
  24. 컴퓨터에 있어서,
    i(i는 자연수)번째 스팬(span)의 데이터를 렌더링하면서 프레그먼트 정보를 출력하는 래스터라이져;
    상기 래스터라이져로부터 출력된 상기 프레그먼트 정보에 기초하여 (i+1)번째 스팬의 첫 번째 데이터의 어드레스를 계산하고, 계산된 어드레스를 출력하기 위한 프로세서;
    외부 메모리 장치; 및
    상기 프로세서로부터 출력된 어드레스에 상응하며 상기 외부 메모리 장치로부터 프리페치된 데이터를 저장하기 위한 캐시 메모리를 구비하는 것을 특징으로 하는 컴퓨터.
  25. 제24항에 있어서, 상기 프로세서는,
    상기 프레그먼트 정보에 기초하여 상기 (i+1)번째 스팬의 첫 번째 데이터의 어드레스를 계산하기 위한 어드레스 발생기; 및
    상기 어드레스 발생기로부터 출력된 어드레스를 수신하고, 상기 캐시 메모리의 동작 상태를 감시하고, 감시 결과에 기초하여 상기 수신된 어드레스를 상기 캐시 메모리로 전송하기 위한 컨트롤러를 구비하는 것을 특징으로 하는 컴퓨터.
  26. 제24항에 있어서,
    상기 래스터라이져가 현재 렌더링되고 있는 상기 (i)번째 스팬을 포함하는 삼각형의 에지의 기울기와 텍스처 좌표를 픽셀 좌표로 편미분한 값들을 상기 프레그먼트 정보로서 출력하는 경우,
    상기 프로세서는 상기 삼각형의 에지의 기울기와 상기 텍스처 좌표들을 픽셀 좌표들로 편미분 값들에 기초하여 상기 (i+1)번째 스팬의 첫 번째 텍셀의 좌표를 계산하는 것을 특징으로 하는 컴퓨터.
  27. 제24항에 있어서,
    상기 래스터라이져가 현재 렌더링되고 있는 상기 (i)번째 스팬을 포함하는 삼각형의 에지의 기울기와 픽셀의 좌표를 상기 프레그먼트 정보로서 출력하는 경 우,
    상기 프로세서는 상기 삼각형의 에지의 기울기와 상기 픽셀 좌표에 기초하여 상기 (i+1)번째 스팬의 첫 번째 픽셀의 좌표를 계산하는 것을 특징으로 하는 컴퓨터.
  28. 그래픽스 처리장치의 데이터 처리방법에 있어서,
    현재 스팬의 데이터를 처리하는 단계; 및
    처리 중인 데이터에 연관된 정보에 기초하여 다음 스팬의 시작 데이터의 어드레스에 상응하는 데이터를 외부 메모리 장치로부터 프리페치하여 캐시 메모리에 저장하는 단계를 구비하는 것을 특징으로 하는 그래픽스 처리장치의 데이터 처리방법.
KR1020050047219A 2005-06-02 2005-06-02 그래픽스 처리장치와 처리방법, 및 그 기록 매체 KR100703709B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020050047219A KR100703709B1 (ko) 2005-06-02 2005-06-02 그래픽스 처리장치와 처리방법, 및 그 기록 매체
US11/365,600 US7551178B2 (en) 2005-06-02 2006-03-02 Apparatuses and methods for processing graphics and computer readable mediums storing the methods
JP2006130639A JP2006338658A (ja) 2005-06-02 2006-05-09 グラフィックス処理装置と処理方法、及びその記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050047219A KR100703709B1 (ko) 2005-06-02 2005-06-02 그래픽스 처리장치와 처리방법, 및 그 기록 매체

Publications (2)

Publication Number Publication Date
KR20060125269A KR20060125269A (ko) 2006-12-06
KR100703709B1 true KR100703709B1 (ko) 2007-04-06

Family

ID=37493672

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050047219A KR100703709B1 (ko) 2005-06-02 2005-06-02 그래픽스 처리장치와 처리방법, 및 그 기록 매체

Country Status (3)

Country Link
US (1) US7551178B2 (ko)
JP (1) JP2006338658A (ko)
KR (1) KR100703709B1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005100176A (ja) * 2003-09-25 2005-04-14 Sony Corp 画像処理装置およびその方法
FR2902906A1 (fr) * 2006-06-21 2007-12-28 St Microelectronics Sa Gestion de donnes pour un traitement d'images
KR20080014402A (ko) * 2006-08-11 2008-02-14 삼성전자주식회사 컴퓨터 그래픽스 데이터 처리방법과 데이터 처리장치
KR101517465B1 (ko) 2007-12-07 2015-05-04 삼성전자주식회사 폴리곤의 특징에 적응된 순서로 래스터화하는 래스터화엔진 및 3차원 그래픽스 시스템
JP2010086008A (ja) * 2008-09-29 2010-04-15 Fujitsu Microelectronics Ltd 半導体装置、グラフィクスコントローラ、及び情報処理方法
KR20120066305A (ko) * 2010-12-14 2012-06-22 한국전자통신연구원 비디오 움직임 예측 및 보상용 캐싱 장치 및 방법
US8854383B2 (en) * 2011-04-13 2014-10-07 Qualcomm Incorporated Pixel value compaction for graphics processing
US8830249B2 (en) * 2011-09-12 2014-09-09 Sony Computer Entertainment Inc. Accelerated texture lookups using texture coordinate derivatives
KR102048885B1 (ko) 2013-05-09 2019-11-26 삼성전자 주식회사 그래픽 프로세싱 유닛, 이를 포함하는 그래픽 프로세싱 시스템, 및 이를 이용한 렌더링 방법
KR102188543B1 (ko) 2014-02-07 2020-12-08 삼성전자주식회사 그래픽 처리 장치
US9792224B2 (en) * 2015-10-23 2017-10-17 Intel Corporation Reducing latency by persisting data relationships in relation to corresponding data in persistent memory
US11099995B2 (en) 2018-03-28 2021-08-24 Intel Corporation Techniques for prefetching data to a first level of memory of a hierarchical arrangement of memory
CN109461113B (zh) * 2018-10-11 2021-07-16 中国人民解放军国防科技大学 一种面向数据结构的图形处理器数据预取方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970022847A (ko) * 1995-10-31 1997-05-30 김광호 그래픽을 위한 스팬렌더링방법 및 장치
KR19980071435A (ko) * 1997-02-19 1998-10-26 야마자키 요시오 그래픽 표면 모델 맵핑을 위한 방법 및 장치
KR20010102977A (ko) * 1999-01-15 2001-11-17 피터 엔. 데트킨 3d 파이프라인을 이용하여 스트레치 블리팅하기 위한방법 및 장치
KR20050059253A (ko) * 2005-04-12 2005-06-17 노키아 코포레이션 3차원 이미지 처리

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05120438A (ja) 1991-08-09 1993-05-18 Sony Corp 描画処理装置
KR100243179B1 (ko) * 1994-06-30 2000-02-01 윤종용 그래픽 시스템의 신호처리방법 및 장치
KR100221028B1 (ko) 1996-07-23 1999-09-15 윤종용 그래픽 가속기 및 이를 이용한 메모리 프리패치 방법
US6154216A (en) * 1997-04-30 2000-11-28 Ati Technologies Method and apparatus for decompression of a two dimensional video texture map
US6347344B1 (en) * 1998-10-14 2002-02-12 Hitachi, Ltd. Integrated multimedia system with local processor, data transfer switch, processing modules, fixed functional unit, data streamer, interface unit and multiplexer, all integrated on multimedia processor
KR100291628B1 (ko) 1999-06-19 2001-05-15 윤덕용 3차원 그래픽 텍스쳐 맵핑용 캐쉬 메모리 및 그의 캐쉬 미스페널티 저감방법
US6433789B1 (en) * 2000-02-18 2002-08-13 Neomagic Corp. Steaming prefetching texture cache for level of detail maps in a 3D-graphics engine

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970022847A (ko) * 1995-10-31 1997-05-30 김광호 그래픽을 위한 스팬렌더링방법 및 장치
KR19980071435A (ko) * 1997-02-19 1998-10-26 야마자키 요시오 그래픽 표면 모델 맵핑을 위한 방법 및 장치
KR20010102977A (ko) * 1999-01-15 2001-11-17 피터 엔. 데트킨 3d 파이프라인을 이용하여 스트레치 블리팅하기 위한방법 및 장치
KR20050059253A (ko) * 2005-04-12 2005-06-17 노키아 코포레이션 3차원 이미지 처리

Also Published As

Publication number Publication date
JP2006338658A (ja) 2006-12-14
US7551178B2 (en) 2009-06-23
US20060274077A1 (en) 2006-12-07
KR20060125269A (ko) 2006-12-06

Similar Documents

Publication Publication Date Title
KR100703709B1 (ko) 그래픽스 처리장치와 처리방법, 및 그 기록 매체
US7042462B2 (en) Pixel cache, 3D graphics accelerator using the same, and method therefor
JP4861403B2 (ja) タイル化されたプリフェッチ及びキャッシングされたデプスバッファ
US10134169B2 (en) Image loads, stores and atomic operations
US7999819B2 (en) Systems and methods for managing texture descriptors in a shared texture engine
JP5538750B2 (ja) グラフィックス処理システム
EP2277106B1 (en) Software rasterization optimization
US9881391B2 (en) Procedurally defined texture maps
US20080170082A1 (en) Graphics engine and method of distributing pixel data
US9349210B2 (en) Methods of and apparatus for using textures in graphics processing systems
WO2013101150A1 (en) A sort-based tiled deferred shading architecture for decoupled sampling
US10657699B1 (en) Performing texturing operations for sets of plural execution threads in graphics processing systems
KR20180023856A (ko) 그래픽 처리 시스템 및 그래픽 프로세서
WO2020159722A1 (en) Residency map descriptors
KR102589298B1 (ko) 그래픽스 프로세싱 장치 및, 그래픽스 프로세싱 장치에서 캐시 바이패스를 제어하는 방법
KR20230073222A (ko) 깊이 버퍼 프리-패스
US10825207B2 (en) Graphics texture mapping
US20140152684A1 (en) Methods of and apparatus for using textures in graphics processing systems
CN115934590A (zh) 电路和方法
US7385604B1 (en) Fragment scattering
KR100965636B1 (ko) 프로그래밍 가능한 오프셋 위치들을 이용하여 텍스쳐샘플들을 처리하기 위한 방법 및 시스템
CN115690301A (zh) 图形处理系统
Fries et al. A Modular 3D Graphics Accelerator for FPGA

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

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140228

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150302

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170228

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180228

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190228

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20200228

Year of fee payment: 14