KR100243179B1 - 그래픽 시스템의 신호처리방법 및 장치 - Google Patents

그래픽 시스템의 신호처리방법 및 장치 Download PDF

Info

Publication number
KR100243179B1
KR100243179B1 KR1019940015683A KR19940015683A KR100243179B1 KR 100243179 B1 KR100243179 B1 KR 100243179B1 KR 1019940015683 A KR1019940015683 A KR 1019940015683A KR 19940015683 A KR19940015683 A KR 19940015683A KR 100243179 B1 KR100243179 B1 KR 100243179B1
Authority
KR
South Korea
Prior art keywords
buffer
span
value
color
frame buffer
Prior art date
Application number
KR1019940015683A
Other languages
English (en)
Other versions
KR960002055A (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 KR1019940015683A priority Critical patent/KR100243179B1/ko
Priority to JP07002196A priority patent/JP3083724B2/ja
Priority to DE19503401A priority patent/DE19503401A1/de
Publication of KR960002055A publication Critical patent/KR960002055A/ko
Priority to US08/848,698 priority patent/US5758045A/en
Application granted granted Critical
Publication of KR100243179B1 publication Critical patent/KR100243179B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • G06T15/405Hidden part removal using Z-buffer

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

본 발명은 3차원 컴퓨터 그래픽스 시스템의 신호처리방법에 관한 것으로서, 특히 라스터엔진과 프레임 버퍼간의 처리속도를 향상시키기 위해 하나는 프레임버퍼를 인터리빙 구조로 억세스하고 다른 하나는 프레임 버퍼의 Z버퍼내에서 Z비교연산을 수행하여 모디파이사이클을 메모리내에서 수행하는 것에 의해 프레임 버퍼의 밴드위드스를 개선한 것이다.

Description

그래픽 시스템의 신호처리방법 및 장치
제1도는 일반적인 멀티플방식의 그래픽스 시스템의 구성도.
제2도는 종래의 그래픽스 시스템의 라스터엔진 및 프레임버퍼를 설명하기 위한 도면.
제3도는 본 발명에 의한 그래픽스 시스템의 라스터엔진 및 프레임버퍼를 설명하기 위한 도면.
제4도는 본 발명에 의한 일 실시예의 라스터라이저의 블럭도를 나타낸 도면.
제5도는 삼각형내의 스팬을 설명하기 위한 도면.
제6도는 본 발명에 의한 캐쉬드 스팬 Z버퍼의 구성을 설명하기 위한 도면.
제6도는 본 발명에 의한 캐쉬드 스팬 Z 및 컬러 버퍼의 구성을 나타낸 도면.
제7도는 본 발명에 의한 다른 실시예의 라스터엔진 및 프레임버퍼를 설명하기 위한 도면.
제8도는 본 발명의 다른 실시예에 의한 비교기를 구비한 DRAM의 블럭도.
제9도는 제7도의 제어로직의 회로구성도.
제10도는 본 발명의 다른 실시예의 동작설명을 위한 파형도.
본 발명은 그래픽 시스템의 신호처리방법 및 장치에 관한 것으로서, 특히 라스터엔진과 프레임버퍼사이의 병목현상을 개선하여 실시간처리능력을 향상시킬 수 있는 그래픽 시스템의 신호처리방법 및 장치에 관한 것이다.
컴퓨터 그래픽스 기술은 1960년대부터 제너럴 일렉트릭사의 모의비행 시뮬레이션용 NASA 2 시스템과 Evans & Sutherland사의 분자모델링용 PS-3000과 같은 시스템에 적용되었지만 극히 제한적인분야에서 사용되었다. 최근에는 광고, 영화, 오락, 가상현실 등의 응용분야에서 무궁무진하게 그 쓰임새를 넓혀가고 있는 추세이다. 이를 지원하는 여러가지 요소가 있지만 1980년대 초반부터 반도체 메모리와 라스터 오퍼레이션 디스플레이를 위한 CRT의 가격저하, VLSI설계 및 공정기술의 급속한 발전에 힘입어 3차원 그래픽스를 실시간으로 처리하는 시스템의 개발이 활발히 진행되고 있다.
3차원 컴퓨터 그래픽스는 지오미트리 프로세서와 라스터라이징이라는 두개의 주된 기능을 처리하는 파이프라인 방식으로 구성되어 삼각형, 선 등의 기본 요소(primitive)로 나타내어지는 물체를 지오미트리 프로세서와 라스터라이저를 거치면서 변화된 픽셀값을 프레임 버퍼에 저장한다. 지오미트리 프로세서는 지오미트릭 변환(geometric transformation), 라이트 모델링(light modeling), 클리핑(clipping), 원근 프로젝션(perspective projection) 등의 부동 소수점 연산이 수행되므로 일반적으로 부동 소수점 프로세서나 DSP를 사용하여 구현된다. 반면에 라스터라이저는 기본요소의 각 화소에 대해 쉐이딩모델(SHADING MODEL)에 의거한 컬러값, 은면제거를 위한 Z버퍼 등의 다량의 픽셀데이타의 계산이 수행된다. 비교적 간단하면서도 반복적인 연산이 수행되므로 고유의 VLSI 칩을 설계 제작하여 사용한다. 은면제거를 위한 3차원 그래픽스 처리를 위해서는 프레임 버퍼로부터 매 픽셀당 Z값을 읽고 인터폴레이션한 Z값을 비교하여 최종의 컬러값과 Z값을 프레임 버퍼에 저장한다.
따라서, 이 과정에는 라스터라이저와 프레임 버퍼사이에 많은 양의 데이타가 오고가게 되는 데, 대부분의 그래픽스 시스템의 성능이 여기서 발생되는 병목현상에 의해 좌우된다. 그러므로 이 부분의 밴드위드스(band width)를 높이는 것이 그래픽스 시스템의 성능향상에 결정적인 영향을 주게 된다.
종래의 그래픽스 시스템에서는 라스터라이저와 프레임버퍼사이에 데이타전달이 매 픽셀마다 이루어지게 되어 처리속도가 저하되므로 실시간처리에 문제가 있었다.
본 발명의 목적은 이와같이 종래 기술의 문제점을 해결하기 위하여 라스터라이저와 프레임버퍼간의 밴드위드스를 개선할 수 있는 그래픽스 시스템의 신호처리 방법 및 장치를 제공하는 데 있다.
상기 목적을 달성하기 위하여 본 발명의 일실시예의 그래픽스 시스템의 신호처리방법은 프레임버퍼로부터 제 1 스팬을 인터폴레이션하고 제 1 스팬 Z 버퍼에서 Z값 비교연산을 수행할 동안에 스팬 제너레이터에서는 제 1 스팬의 좌표값으로부터 제 2 스팬의 좌표값을 구하여 프레임버퍼로부터 제 2 스팬의 Z값을 상기 프레임 버퍼의 한 메모리 뱅크에서 제 2 스팬 Z버퍼에로 프리패취하고, 상기 제 1 스팬 Z버퍼에서의 비교연산 결과의 새로운 Z값과 라스터엔진에서 계산된 컬러값과 함께 제 1 스팬 Z 및 컬러버퍼에 일시적으로 저장하는 동안에 제 2 스팬 Z 및 컬러버퍼에 저장된 이전 스팬의 Z값과 컬러값을 상기 프레임버퍼의 다른 메모리뱅크에 기입하는 것을 특징으로 한다.
본 발명의 일실시예의 장치는 라스터엔진에서 계산된 Z값과 컬러값을 버퍼링하는 프레임 버퍼를 구비한 그래픽스 시스템의 신호처리장치에 있어서, 상기 라스터엔진은 상기 프레임메모리의 제 1 메모리뱅크로부터 프리패취된 제 1 스팬의 Z을 저장하고 새로운 Z값과 비교연산하는 제 1 스팬 Z 버퍼와, 상기 제 1 스팬 Z 버퍼의 비교연산 동안에 제 2 스팬의 Z값을 프리패취하여 저장하는 제 2 스팬 Z 버퍼와, 상기 제 1 스팬 Z 버퍼의 비교연산 결과의 새로운 Z 값과 계산된 제 1 스팬의 컬러값을 일시 저장하는 제 1 스팬 Z 및 컬러버퍼와, 상기 제 1 스팬 Z 및 컬러버퍼의 기입 동안에 저장된 이전의 스팬의 Z값과 컬러값을 상기 프레임버퍼의 다른 메모리뱅크에 기입하는 제 2 스팬 Z 및 컬러버퍼를 구비하는 것을 특징으로 한다.
본 발명의 다른 실시예의 방법은 프레임 버퍼의 Z버퍼의 셀기입어드레싱에 의해 출력버퍼의 전단에서 기입되어 있는 Z값과 라스터엔진에서 계산되어 전달된 새로운 Z값을 Z버퍼내의 비교기에서 비교하고 그 비교결과를 라스터엔진의 메모리제어로직에 전달하고 이 전달에 응답하여 발생된 메모리제어로직의 라이트 인에이블신호에 의해 새로운 Z값 및 컬러값을 프레임버퍼에 기입하는 것을 특징으로 한다.
본 발명의 다른 실시예의 장치는 라스터엔진내에 라스터엔진에서 계산된 Z값과 컬러값을 버퍼링하는 프레임 버퍼를 구비한 그래픽스 시스템의 신호처리장치에 있어서, 상기 프레임 버퍼는 컬러버퍼와 Z비교연산을 내부에서 수행하고 그 결과신호를 출력할 수 있는 Z버퍼를 구비하고, 상기 라스터엔진은 상기 프레임퍼버의 Z버퍼로부터 출력되는 Z비교연산 결과를 디코딩하여 라이트제어신호를 발생하는 외부제어로직과, 상기 라이트제어신호에 응답하여 상기 프레임버퍼의 컬러버퍼와 Z버퍼에 라이트 인에이블신호를 발생하는 메모리 제어로직을 구비한 것을 특징으로 한다.
첨부한 도면을 참조하여 본 발명을 보다 상세하게 설명하고자 한다.
먼저, 3차원 그래픽스에 대해 설명하면, 3차원적인 물체를 표현하는 방법은 여러가지가 있지만 다면체(polyhedron)로 근접시키는 방식을 사용하면 선으로 구성되는 폴리곤이 플레너하기 때문에 은면제거 알고리즘과 렌더링(rendering)알고리즘에 선형성을 이용할 수 있어 매우 유용하다. 인터랙션 3차원 그래픽스 시스템은 계산량을 줄이기 위해 폴리곤의 가장 간단한 형태인 심각형을 처리할 수 있다. 초당 100만개의 삼각형을 구라우드 쉐이딩(Gouraud shading)으로 처리하기 위한 계산량과 밴드위드스는 다음과 같다.
1. 지오미트리 프로세서의 계산량
한 삼각형을 오브젝터 좌표에서 스크린 좌표로 변환하고 클리핑, 라이트모델링, 원근 프로젝션을 수행하는 데 부동 소수점 연산이 약 200번 필요하다. 삼각형이 메쉬드(meshed)형태로 주어질 경우에는 이 계산량은 반으로 줄어들어 상기한 성능을 내기 위해서 지오미트리 프로세서는 100MFLOPS가 필요하다.
2. 지오미트리 프로세싱 밴드위드스
하나의 삼각형은 기하학적 값을 나타내는 데이타값( 3정점의 좌표값을 나타내는 좌표데이타, 표면 노말값, 삼각형 자체의 표면 노말값), 물체의 색상을 나타내는 오브젝트 컬러 데이타값, 물체의 광학 특성을 나타내는 오브젝트 표면 파라메터(확산계수 Kd, 투명계수 Kt, 반사계수 Ks 및 반짝임 n) 및 주어진 스크린에 대한 총체적인 정보를 나타내는 스크린 데이타(광원 관련 데이타, 보기 피라미드 등)을 감안하면 대략 40-200바이트 정도로서 표현할 수 있다. 이런 분량의 데이타는 오브젝트 스페이스에서도 비슷하게 필요하므로 지오미트리 프로세서의 입력과 출력밴드 위드스는 대략 초당 40-200메가바이트가 요구된다.
3. 라스터라이저 계산량
일반적으로 기본 요소는 많은 픽셀로 구성되므로 엄청난 량의 데이타가 라스터라이저내에서 처리된다. Z버퍼 알고리즘을 사용하는 그래픽스 시스템은 모든 픽셀에서 기본요소가 보여지는지를 결정한다. Z값 계산은 매 픽셀당 단순한 고정 소수점 계산으로 진행되는 전향편차를 이용한 선형적인 내삽법을 수행한다. 삼각형이 평균적으로 50픽셀을 가진다고 가정하면, 라스터라이저는 상술한 성능을 위해 초당 20,000-25,000만 정도의 고정 소수점 덧셈을 수행해야 한다.
4. 라스터라이저와 프레임 버퍼간의 밴드위드스
기본요소내의 모든 픽셀에 대해 그래픽스 시스템은 프레임 버퍼에서의 Z값을 읽어와서 라스터라이저내에서 계산된 새로운 Z값과 비교한다. 만일 보여지는 픽셀이면 새로운 Z값과 컬러값을 다시 프레임 버퍼에 기입하여야 한다. 삼각형의 평균 픽셀이 50이라 하고 이들 중 3/4만 보여진다고 가정하면 초당 12,500만번 정도의 프레임버퍼의 억세스가 요구된다.
종래의 그래픽스 시스템은 제 1 도에 도시한 바와같이 MIMD(mutiple instruction multiple data)구조를 가진다. 그래픽스 시스템은 복수의 지오미트리 프로세서들이 병렬구조로 된 지오미트리엔진(10), 글로벌 네트워크 크로스바 스위치나 링 네트워크(20), 복수의 라스터라이저들의 병렬구조로 된 라스터엔진(30) 및 프레임 버퍼(40)로 구성된다. 즉, 지오미트리엔진(10)에서 지오미트리 프로세싱을 하여 스크린 좌표로 변환된 삼각형이나 스팬 데이타는 고속의 밴드위드스를 가진 네트워크(20)를 통해서 라스터엔진(30)에 전달되고 라스터엔진(30)에서는 새로운 Z값과 컬러값을 계산하여 프레임버퍼(40)의 값과 비교하여 최종적으로 보여지는 컬러값과 Z값을 프레임버퍼에 저장한다. 프레임버퍼(40)는 DRAM이나 VRAM으로 구현하고 메모리 사이클당 여러 픽셀을 동시에 억세스할 수 있게 여러개의 뱅크로 구성하여 라스터엔진(30)과 프레임버퍼(40)간의 밴드위드스를 만족시킨다.
픽셀 병렬 라스터엔진설계에서 프레임퍼버 메모리는 각각이 n의 스캔라인과 m개의 픽셀에 해당하는 mn크기는 기본요소내에 픽셀수보다 더 작기때문에 각각의 라스터라이저는 기본요소내에서 여러개의 픽셀을 담당하게 되므로 라스터라이저내부에 FIFO와 같은 버퍼링을 가진 MIMD구조는 모든 라스터라이저에 부하를 균등하게 분배한다.
억세스 시간이 70나노초인 현재의 DRAM과 VRAM은 Z버퍼를 리드모드파이 라이트 사이클로 초당 600만번의 억세스를 할 수 있으므로 100만개의 삼각형을 처리하기 위해서는 최소한 20개의 분할이 필요하다.
초당 100만개의 삼각형을 처리하는 3차원 그래픽스 시스템은 계산능력과 메모리 억세스 밴드위드스 문제를 해결하기 위하여 지오미트리 프로세서와 라스터라이저를 멀티플로 구성하고 프레임 버퍼를 인터레이스 방식으로 구성하고 있다.
그러나, 최근의 반도체 메모리의 고집적화가 급속하게 진행되는 데, 반해 억세스속도는 그에 미치지 못하므로 효율적인 프레임 버퍼의 구현에 장애요소가 되고 있다.
프레임버퍼(40)의 병목원인은 다음과 같다.
그래픽스 시스템의 프레임버퍼(40)는 제 2 도에 도시한 바와같이 라스터엔진(30)에서 계산된 최종 컬러값을 저장하는 컬러버퍼(44), Z값을 저장하는 Z버퍼(42) 및 오버레이 버퍼(미도시)등으로 구성된다. 초창기 그래픽스시스템은 프레임버퍼가 DRAM으로 구성되어 CRT의 특성상 스크린 리프레쉬 동작때문에 라스터라이저가 비록 빠른 속도로 이미지를 생성하더라도 이미지 드로잉을 위해서는 약 25%정도의 시간만 프레임버퍼 억세스에 할당되므로 상당한 오버헤드가 있었다. 그러나, 1984년 텍사스 인스트루먼트사에서 최초로 멀티포트 억세스기능을 가진 VRAM을 제공하면서 라스터라이저는 DRAM이 제공하는 억세스율을 충분히 활용할 수 있지만 DRAM의 일반적인 속성상 많은 용량을 제공하는 대신 늦은 억세스 율은 피할 수 없다. 픽셀 업데이트에 필요한 시간은 스크린이 복잡하고 고속의 프레임을 생성할 때 서브나노초를 필요하게 된다. 예를들어, 억세스시간이 70나노초인 VRAM을 사용한다고 가정할 때 기존의 시스템에서의 3차원 그래픽스 처리를 위해서는 Z버퍼에서 Z값을 읽고 비교해서 다시 쓰는 리드 모디파이 라이트 사이클을 수행해야한다. 이 동작을 위한 메모리 사이클 시간이 160나노초가 소요되는 것을 기준으로 할 때, 메모리칩의 집적도가 증가하면 할수록 프레임 버퍼를 억세스할 수 있는 픽셀 업데이트시간은 줄어들어 고집적 메모리칩으로 구현된 프레임 버퍼는 필요한 픽셀 업데이트율을 만족할 수 없게 된다. 그러므로, 고성능 그래픽스 시스템을 구현하기 위해서는 저집적 메모리칩을 효율적으로 계속 사용하거나 최근의 고집적 메모리칩을 사용하려면 프레임 버퍼 억세스 밴드 위드스를 향상시키는 방안이 강구되지 않으면 안된다.
본 발명에서는 고집적 메모리칩을 사용하기 위해 프레임버퍼 억세스밴드 위드스를 향상시킬 수 있는 방안을 제시하고자 한다.
본 발명에 의한 제 1 접근은 제 3 도에 도시한 바와같이 스팬 Z버퍼(52) 및 스팬 Z 및 컬러버퍼(54)를 라스터엔진(50)내에 포함한다.
제 4 도를 참조하면 SBUFRE라 불리우는 본 발명에 의한 새로운 라스터라이저는 입력 파일 레지스터(56), RGBZ채널(58), 스팬제너레이터(51), 어드레스발생기(53) 및 제어상태머신(55)으로 구성된 RGBZ인터폴레이션 및 제어상태머신 내부에 스팬 Z 버퍼(52)와 스팬 Z 및 컬러버퍼(54)를 더 구비한다. 즉, SBUFRE는 입력명령을 받아들이는 입력 파일 레지스터(56), 컬러값과 은면제거를 위한 Z값을 인터폴레이션하는 RGBZ채널(58), 스팬의 좌표값을 구하는 스팬 제너레이터(51), 어드레스 발생기(53)가 있다. 제어상태머신(55)은 SBUFRE내부를 제어하는 신호와 프레임버퍼(60)를 제어하는 신호를 생성한다. 스팬 Z 버퍼(52)는 제 6 도에 도시한 바와같이 1280픽셀*24비트에 해당하는 Z 값을 저장하는 스팬 Z 버퍼와 Z 비교로직으로 구성된 버퍼0와 버퍼1으로 구성되어 프리패취한 스팬의 0Z값과 Z채널에서 계산된 새로운 NZ값과 비교연산을 수행한다. 스팬 Z 및 컬러 버퍼(54)는 제 7 도에 도시한 바와같이 1280*48비트의 크기를 가지는 단순한 버퍼0와 버퍼1로서 RGB채널에서 구한 컬러값과 스팬 Z버퍼(52)에서 비교된 새로운 Z 값을 프레임버퍼(60)에 기입하기 전에 스팬단위로 일시적인 저장을 위해 사용된다.
그러므로, 스팬 Z 퍼버(52)와 스팬 Z 및 컬러버퍼(54)에 의해 스팬 별로 Z값을 읽고 계산된 Z값과 컬러값을 동시에 쓸 수 있게 하여 프레임 버퍼(40) 억세스 밴드 위드스를 개선한다.
이와같이 구성된 SBUFRE의 동작원리는 라스터라이징하는 삼각형 스팬의 Z값만 스팬 Z값 버퍼(52)에 프리패취하여 라스터라이저에서 픽셀당 인토플레이션된 새로운 Z값과 비교연산을 수행한다. 스팬의 Z값을 프레임버퍼(60)에서 읽어와 매 픽셀당 계산된 새로운 Z값을 스팬 Z 버퍼(52)에서 비교연산을 수행하여 RGB채널(58)에서 계산된 컬러값과 함께 스팬 Z 및 컬러버퍼(54)에 쓴다. 계산된 Z와 컬러값을 매 픽셀마다 프레임버퍼(60)에 직접 쓰지않고 스팬 Z 및 컬러버퍼(54)에 일시적으로 저장했다가 스팬단위로 프레임버퍼(60)에 쓰므로써 일반적인 그래픽스 시스템에서의 리드 모디파이 라이트 사이클에서 모디파이 메모리 사이클을 생략할 수 있는 이점이 있다. 프레임버퍼(60)로부터 제 5 도에 도시된 삼각형의 스팬1을 인터폴레이션하고 스팬 Z버퍼(52)의 버퍼0에서 Z값 비교연산을 수행할 동안에 스팬제너레이터(51)는 x_1,x_r 초기값에서값을 감산하므로 스팬2의 좌표값을 구하여 프레임버퍼(60)로부터 스팬2의 Z값을 스팬 Z 버퍼(52)의 버퍼1에 프리패취한다. 이 동작은 RGBZ 인터폴레이션과는 별도로 수행할 수 있어 연속되는 스팬에 대해 버퍼0와 버퍼1을 번갈아 가면서 Z값을 스팬 Z 버퍼(52)에 프리패취하고 스팬 Z 및 컬러 버퍼(54)도 더블로 구성하여 라스터 라이저(50)와 프레임버퍼(60) 사이의 억세스 밴드위드스를 최대로 활용하게 한다. 프레임 버퍼(60)는 기본적으로 2웨이 인터리빙구조를 가져 한 메모리 뱅크에 Z값을 스팬 Z 버퍼(52)로 프리패취할 동안에 다른 메모리 뱅크에 스팬 Z 및 컬러버퍼(54)의 Z값과 컬러값 저장이 메모리 사이클의 충돌없이 수행되게 한다.
기존의 라스터라이저는 리드 모디파이 라이트 메모리 사이클로 3차원 그래픽스 처리를 하지만 SBUFRE는 2웨이 인터리빙 구조를 갖는 프레임 버퍼(60)에서 스팬 Z 버퍼(52)로 Z값을 프리패취하고 스팬 Z 및 컬러 버퍼(54)의 Z값과 컬러값을 쓰기 위해 동시에 프레임버퍼(60)를 억세스할 수 있다.
그러므로, 억세스 시간이 70나노초인 메모리를 기준으로 할 때 랜덤리드나 라이트모드 사이클 시간은 130나노초인 데 비해 리드 모디파이라이트 사이클시간은 175나노초이므로 약 24%, 페이지모드사이클인 경우에는 35나노초로 억세스가 가능하지만 리드 모디파이 라이트 사이클은 85나노초이므로 약 60%의 프레임버퍼 억세스 밴드위드스를 개선할 수 있다.
본 발명의 다른 실시예는 제 8 도에 도시된 바와같이 프레이버퍼(80)의 컬러버퍼(82)는 종전의 구성을 유지하고 Z버퍼(81)를 Z값 비교연산을 수행할 수 있는 ZDRAM으로 구성하며, 라스터엔진(70)의 제어상태머신의 메모리제어로직(72)에 비교결과를 전달하기 위한 외부제어로직(71)를 구성하는 것이다. 3차원 그래픽스 처리에 필요한 Z값연산을 메모리칩내부에서 하는 ZDRAM을 이용하여 프레임 버퍼 밴드위드스를 개선할 수 있다.
제 9 도를 참조하면, ZDRAM은 기존은 DRAM의 구조 및 사이클은 큰 변화가 없도록 하고 DRAM내부에 단위 메모리의 입출력비트수에 해당하는 비교기(81A)와 비교결과를 라스터엔진(70)의 외부 제어로직(71)으로 전달할 수 있는 외부 핀(LT, GT) 2개, 그리고 이 핀으로 부터 비교결과정보를 받아 메모리의 라이트신호를 디코딩하여 주기 위하여 라스터엔진(70)내에 구비되는 외부제어로직(71)으로 구성된다. 미설명부호 81B는 데이타 출력레지스터이고, 81C는 데이타 입력 레지스터이고 81D는 입출력버퍼이고 81E는 타이밍 및 제어부이고 81F는 셀코아부로 커럼디코더, 로우디코더, 센스증폭기 및 셀어레이를 포함하며, 81G는 컬럼 어드레스 버퍼이고 81H는 로우 어드레스 버퍼이다.
제 10 도를 참조하면, 외부제어로직(71)은 메모리 라이트 디코딩신호를 발생하는 로직으로서, 8비트라인을 갖는 메모리로써 32비트 Z버퍼를 구성할 때의 로직을 보여준다. 8개의 메모리의 각 비교기(81A)에서 발생되는 8싸의 비교결과신호(LT, GT)를 입력하여 각 비교결과신호를 디코딩블럭(B0-B7)에서 각각 디코딩하여 라이트 인에이블신호(WE) 및 라이트 디스에이블신호(WD)를 발생한다. 8개의 라이트 인에이블신호는 오아게이트(OR0)에 입력되어 최종 라이트 인에이블신호를 발생하고 8개의 라이트 디스에이블신호는 오아게이트(OR1)에 입력되어 라이트 디스에이블 신호로 발생된다. 이 라이트 인에이블 신호 또는 라이트 디스 에이블 신호에 의해 라스터엔진(70)의 메모리 제어로직(72)는 라이트 인에이블신호를 발생하여 프레임버퍼의 라이트제어신호로 제공한다.
제 11 도를 참조하면, ZDRAM의 비교동작 사이클은 기존 DRAM에서 제공하는 라이트 사이클을 변형하여 구현된다. DRAM의 레이트 라이트 사이클은 출력인에이블 제어된 라이트 사이클이라고도 한다. 이 방법에 의한 메모리 칩내의 셀지정이 끝난 후에 쓰는 동작이 이루어진다. DRAM은 메모리 셀어레이가 어드레싱되면 그 어드레스에 해당하는 메모리 셀어레이에 저장되어 있던 데이타는 출력버퍼(81D) 전단까지 전달되는 특성때문에 레이트 라이트 사이클에서는 출력 인에이블 신호(/OE)를 이용하여 셀로부터 나온 데이타가 버퍼를 통하여 칩외부로 출력되는 것을 막아 주도록 되어 있다. ZDRAM는 이러한 DRAM의 레이트 라이트 사이클특성을 이용하여 컬럼어드레스 스트로브 신호(/CAS)가 로우로 천이되면 어드레싱된 셀의 데이타(Internal data)는 출력버퍼(81D)전단까지 전달되어진다. 한편, 새로운 데이타(External data)도 컬럼 어드레스 스트로브신호(/CAS)의 천이시점과 동시에 메모리에 전달 된다. 입출력 데이타라인은 칩내부 비교기(81A)의 입력단에 직접 연결되어서 셀로부터의 데이타와 비교하여 그 결과를 라스터라이저(70)내의 메모리 제어로직(72)으로 출력한다. 각 메모리 단위 칩으로부터 라스터라이저(70)로 입력된 비교결과는 라스터라이저(70)내의 외부제어로직(71)으로 입력되어 라이트 인에이블신호(/WE)를 발생시킬 것인지의 여부를 메모리 제어로직(72)으로 전달한다.
일반적인 그래픽스 시스템에서 3차원 그래픽스 연산을 위한 Z값 비교동작은 리드 모디파이 라이트 사이클을 사용하지만 ZDRAM은 메모리 내부에서 모디파이 사이클이 수행되게 함으로써 프레임버퍼 억세스 밴드 위드스를 약 50%개선할 수 있다.

Claims (4)

  1. 프레임버퍼로부터 제 1 스팬을 인터폴레이션하고 제 1 스팬 Z 버퍼에서 Z값 비교연산을 수행할 동안에 스팬 제너레이터에서는 제 1 스팬의 좌표값으로부터 제 2 스팬의 좌표값을 구하여 프레임버퍼로부터 제 2 스팬의 Z값을 상기 프레임 버퍼의 한 메모리 뱅크에서 제 2 스팬 Z버퍼에로 프리패취하고, 상기 제 1 스팬 Z버퍼에서의 비교연산 결과의 새로운 Z값과 라스터엔진에서 계산된 컬러값과 함께 제 1 스팬 Z 및 컬러버퍼에 일시적으로 저장하는 동안에 제 2 스팬 Z 및 컬러버퍼에 저장된 이전 스팬의 Z값과 컬러값을 상기 프레임버퍼의 다른 메모리뱅크에 기입하는 것을 특징으로 하는 그래픽스 시스템의 신호처리 방법.
  2. 라스터엔진에서 계산된 Z값과 컬러값을 버퍼링하는 프레임버퍼를 구비한 그래픽스 시스템의 신호처리장치에 있어서, 상기 라스터엔진은 상기 프레임메모리의 제 1 메모리뱅크로부터 프리패취된 제 1 스팬의 Z을 저장하고 새로운 Z값과 비교연산하는 제 1 스팬 Z 버퍼와, 상기 제 1 스팬 Z 버퍼의 비교연산 동안에 제 2 스팬의 Z값을 프리패취하여 저장하는 제 2 스팬 Z 버퍼와, 상기 제 1 스팬 Z 버퍼와의 비교연산 결과의 새로운 Z값과 계산된 제 1 스팬 컬러값을 일시 저장하는 제 1 스팬 Z 및 컬러버퍼와, 상기 제 1 스팬 Z 및 컬러버퍼의 기입 동안에 저장된 이전의 스팬의 Z값과 컬러값을 상기 프레임버퍼의 다른 메모리뱅크에 기입하는 제 2 스팬 Z 및 컬러버퍼를 구비하는 것을 특징으로 하는 그래픽스 시스템의 신호처리장치.
  3. 프레임 버퍼의 Z버퍼의 셀기입어드레싱에 의해 출력버퍼의 전단에서 기입되어 있는 Z값과 라스터엔진에서 계산되어 전달된 새로운 Z값을 Z버퍼내의 비교기에서 비교하고 그 비교결과를 라스터엔진의 메모리제어로직에 전달하고 이 전달에 응답하여 발생된 메모리제어로직의 라이트 인에이블신호에 의해 새로운 Z값 및 컬러값을 프레임버퍼에 기입하는 것을 특징으로 하는 그래픽스 시스템의 신호처리방법.
  4. 라스터엔진에서 계산된 Z값과 컬러값을 버퍼링하는 프레임 버퍼를 구비한 그래픽스 시스템의 신호처리장치에 있어서, 상기 프레임 버퍼는 컬러버퍼와 Z비교연산을 내부에서 수행하고 그 결과신호를 출력할 수 있는 Z버퍼를 구비하고, 상기 라스터엔진은 상기 프레임버퍼의 Z버퍼로부터 출력되는 Z비교연산 결과를 디코딩하여 라이트제어신호를 발생하는 외부제어로직과, 상기 라이트제어신호에 응답하여 상기 프레임버퍼의 컬러버퍼와 Z버퍼에 라이트 인에이블신호를 발생하는 메모리 제어로직을 구비한 것을 특징으로 하는 그래픽스 시스템의 신호제어방법.
KR1019940015683A 1994-06-30 1994-06-30 그래픽 시스템의 신호처리방법 및 장치 KR100243179B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1019940015683A KR100243179B1 (ko) 1994-06-30 1994-06-30 그래픽 시스템의 신호처리방법 및 장치
JP07002196A JP3083724B2 (ja) 1994-06-30 1995-01-10 グラフィックシステムの信号処理方法および装置
DE19503401A DE19503401A1 (de) 1994-06-30 1995-02-02 Signalverarbeitungsverfahren und -vorrichtung für ein Graphiksystem
US08/848,698 US5758045A (en) 1994-06-30 1997-04-29 Signal processing method and apparatus for interactive graphics system for contemporaneous interaction between the raster engine and the frame buffer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019940015683A KR100243179B1 (ko) 1994-06-30 1994-06-30 그래픽 시스템의 신호처리방법 및 장치

Publications (2)

Publication Number Publication Date
KR960002055A KR960002055A (ko) 1996-01-26
KR100243179B1 true KR100243179B1 (ko) 2000-02-01

Family

ID=19387048

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940015683A KR100243179B1 (ko) 1994-06-30 1994-06-30 그래픽 시스템의 신호처리방법 및 장치

Country Status (4)

Country Link
US (1) US5758045A (ko)
JP (1) JP3083724B2 (ko)
KR (1) KR100243179B1 (ko)
DE (1) DE19503401A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3025824U (ja) * 1994-10-24 1996-06-25 昌孝 磯村 石油ファンヒーターの消臭装置
KR100269106B1 (ko) * 1996-03-21 2000-11-01 윤종용 멀티프로세서 그래픽스 시스템
JP2976945B2 (ja) * 1997-09-11 1999-11-10 日本電気株式会社 画像描画装置
US6072505A (en) * 1998-04-01 2000-06-06 Real 3D, Inc. Method and apparatus to efficiently interpolate polygon attributes in two dimensions at a prescribed clock rate
US6091428A (en) * 1998-04-01 2000-07-18 Real 3D, Inc. Frame buffer memory system for reducing page misses when rendering with color and Z buffers
US6727900B1 (en) 1998-09-07 2004-04-27 Renesas Technology Corp. Semiconductor integrated circuit device
KR100355233B1 (ko) * 2000-07-03 2002-10-11 삼성전자 주식회사 정보의 비교-기록 기능을 구비하는 반도체 메모리 장치 및이의 정보 처리방법
US7027061B1 (en) * 2000-09-28 2006-04-11 Rockwell Automation Technologies, Inc. Raster engine with multiple color depth digital display interface
US6734866B1 (en) 2000-09-28 2004-05-11 Rockwell Automation Technologies, Inc. Multiple adapting display interface
EP1306810A1 (en) * 2001-10-25 2003-05-02 STMicroelectronics Limited Triangle identification buffer
KR100703709B1 (ko) * 2005-06-02 2007-04-06 삼성전자주식회사 그래픽스 처리장치와 처리방법, 및 그 기록 매체

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4679041A (en) * 1985-06-13 1987-07-07 Sun Microsystems, Inc. High speed Z-buffer with dynamic random access memory
US5131080A (en) * 1987-08-18 1992-07-14 Hewlett-Packard Company Graphics frame buffer with RGB pixel cache
US4991110A (en) * 1988-09-13 1991-02-05 Silicon Graphics, Inc. Graphics processor with staggered memory timing
US5208608A (en) * 1989-01-31 1993-05-04 Asahi Kogaku Kogyo Kabushiki Kaisha Plotter with drawing speed change
CA2026527A1 (en) * 1989-10-11 1991-04-12 Douglas A. Fischer Parallel polygon/pixel rendering engine
US5301263A (en) * 1990-09-18 1994-04-05 Hewlett-Packard Company High memory bandwidth system for updating z-buffer values
US5265199A (en) * 1991-05-22 1993-11-23 Silicon Graphics, Inc. Method and apparatus for accomplishing Z-buffering by prediction
US5315540A (en) * 1992-08-18 1994-05-24 International Business Machines Corporation Method and hardware for dividing binary signal by non-binary integer number
US5321809A (en) * 1992-09-11 1994-06-14 International Business Machines Corporation Categorized pixel variable buffering and processing for a graphics system
US5444845A (en) * 1993-06-29 1995-08-22 Samsung Electronics Co., Ltd. Raster graphics system having mask control logic
US5416893A (en) * 1993-10-26 1995-05-16 Hewlett-Packard Co. Method for displaying edging or decaling of an object in a graphics display

Also Published As

Publication number Publication date
JPH0816797A (ja) 1996-01-19
JP3083724B2 (ja) 2000-09-04
US5758045A (en) 1998-05-26
KR960002055A (ko) 1996-01-26
DE19503401A1 (de) 1996-01-04

Similar Documents

Publication Publication Date Title
Torborg et al. Talisman: Commodity realtime 3D graphics for the PC
US6906720B2 (en) Multipurpose memory system for use in a graphics system
US6650327B1 (en) Display system having floating point rasterization and floating point framebuffering
JP2637931B2 (ja) テクスチャ・マッピングを行うコンピュータ・システム
US6819324B2 (en) Memory interleaving technique for texture mapping in a graphics system
EP1267308B1 (en) Texturing systems for use in three-dimensional imaging systems
US7151544B2 (en) Method for improving texture cache access by removing redundant requests
KR100648293B1 (ko) 그래픽 시스템 및 그것의 그래픽 처리 방법
JP3645024B2 (ja) 描画装置及び描画方法
US20060098021A1 (en) Graphics system and memory device for three-dimensional graphics acceleration and method for three dimensional graphics processing
US6885384B2 (en) Method of creating a larger 2-D sample location pattern from a smaller one by means of X, Y address permutation
EP1114400A1 (en) Apparatus and method for real-time volume processing and universal 3d rendering
KR100243179B1 (ko) 그래픽 시스템의 신호처리방법 및 장치
JPH06175646A (ja) グラフィックス・システム用フレーム・バッファおよびラスタ・プロセッサならびにピクセル変数のバッファリング方法
US7069387B2 (en) Optimized cache structure for multi-texturing
US6933945B2 (en) Design for a non-blocking cache for texture mapping
US6982719B2 (en) Switching sample buffer context in response to sample requests for real-time sample filtering and video generation
US7360020B2 (en) Method for improving cache-miss performance
US5732248A (en) Multistep vector generation for multiple frame buffer controllers
Poulton et al. Breaking the frame-buffer bottleneck with logic-enhanced memories
EP1195719A2 (en) Rendering memory in a volume rendering system
US5895502A (en) Data writing and reading method for a frame memory having a plurality of memory portions each having a plurality of banks
US6985153B2 (en) Sample request mechanism for supplying a filtering engine
JP3548648B2 (ja) 描画装置及び描画方法
Kugler et al. High-performance texture mapping architectures

Legal Events

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

Payment date: 20031030

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee