KR100328421B1 - 고성능3차원그래픽가속기의아키텍쳐 - Google Patents

고성능3차원그래픽가속기의아키텍쳐 Download PDF

Info

Publication number
KR100328421B1
KR100328421B1 KR1019940012520A KR19940012520A KR100328421B1 KR 100328421 B1 KR100328421 B1 KR 100328421B1 KR 1019940012520 A KR1019940012520 A KR 1019940012520A KR 19940012520 A KR19940012520 A KR 19940012520A KR 100328421 B1 KR100328421 B1 KR 100328421B1
Authority
KR
South Korea
Prior art keywords
draw
packet
bus
floating point
vertex
Prior art date
Application number
KR1019940012520A
Other languages
English (en)
Other versions
KR950001541A (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 썬 마이크로시스템즈, 인코포레이티드
Publication of KR950001541A publication Critical patent/KR950001541A/ko
Application granted granted Critical
Publication of KR100328421B1 publication Critical patent/KR100328421B1/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/005General purpose rendering architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)

Abstract

시스템의 여러 제약을 극복함으로써 상대적으로 낮은 가격에서 고성능을 구현하는 그래픽 가속기가 개시된다. 이 그래픽 가속기는 상이한 기하 입력 데이터 포맷을 표준 포맷으로 변환하는 명령 전처리기, 3 차원 그래픽 기능을 수행하는데 적합한 한 세트의 부동 소수점 처리기, 그리고 삼각형의 분리된 부분에 대해서 에지워킹과 주사 보간 렌더링 기능을 동시에 수행하는 한 세트의 드로 처리기로 구성된다.

Description

고성능 3 차원 그래픽 가속기의 아키텍쳐
기술분야
본 발명은 컴퓨터 그래픽 시스템 분야에 관한 것이며, 특히 컴퓨터 시스템에서 고성능 3 차원 그래픽 가속기의 아키텍쳐에 관한 것이다.
배경기술
3 차원 그래픽 가속기는 컴퓨터 시스템에 있어서 특수 그래픽 렌더링 서브시스템이다.
통상, 컴퓨터 시스템의 호스트 처리기상에서 실행되는 애플리케이션 프로그램은 표시장치상에 3 차원 그래픽 표시소자를 규정하는 3 차원 기하 입력 데이터를 발생한다. 이 애플리케이션 프로그램은 통상 기하 입력 데이터를 호스트 처리기로부터 그래픽 가속기로 전송한다. 그 후 그래픽 가속기는 표시장치상의 해당 그래픽요소를 랜더링한다.
고성능 3 차원 그래픽 시스템의 설계구조는 시스템의 성능과 가격간의 균형을 실시한다.
설계의 통상적인 목적은 시스템의 가격의 증가를 최소화하면서 시스템의 성능을 향상시키는 것이다. 그러나 종래의 그래픽 시스템은 여러가지 시스템의 제약에 따른 제한된 성능 혹은 고가격으로 인해 어려움을 겪었다.
예컨대, 상업적으로 이용되는 비디오 랜덤 액세스 메모리(VRAM)칩에 있어서 최소 판독-수정- 기록 사이클 시간이 렌더링 성능에 있어 근본적인 제약이기 때문에 고성능 그래픽 시스템은 통상 다중의 VRAM 뱅크로 구성되는 인터리빙된 프레임 버퍼를 실시한다. 다중의 인터리빙된 VRAM 뱅크의 실시로 인해 프레임 버퍼 내부로 병렬 픽셀 렌더링이 가능하므로 전체적인 렌더링 성능이 향상된다. 그러나 유감스럽게도 각각의 인터리빙된 VRAM 뱅크에 있어 요구되는 분리 어드레싱 로직은 이러한 고성능 시스템의 가격과 전력 소비를 증가시켰다.
한편, 그래픽 시스템은 단일 집적 회로칩상에서 렌더링 처리기를 실시하여 가격과 전력소비를 줄일 수 있다. 그러나 유감스럽게도 이러한 시스템은 단일 집적 회로칩과 이용할 수 있는 인터페이스 핀의 수의 제한에 따른 렌더링 성능의 저하로 인해 어려움이 있다. 제한된 수의 인터페이스 핀은 프레임 버퍼에 대해서 인터리브 인자를 줄이게 되고 따라서 병렬처리라는 렌더링 성능의 잇점을 배제시키고 있다.
또 다른 그래픽 시스템의 제약은 유사한 드로잉 기능을 규정하는 상이한 3 차원 기하 입력 데이터 포맷의 확산이다. 통상 그래픽 시스템은 많은 상이한 기하입력 데이터 포맷을 지원하도록 요구된다. 몇몇의 종래 그래픽 시스템은 그래픽 처리기 마이크로 코드내의 상이한 기하 포맷을 지원한다. 그러나 이러한 해결방법은 그래픽 처리기 마이크로 코드의 크기를 증가시키고 복잡하게 하므로 시스템의 가격을 증가시키고 시스템의 성능을 감소시킨다. 다른 종래의 그래픽 시스템은 호스트 처리기를 채용하여 그래픽 처리기에 있어서 상이한 포맷을 표준 포맷으로 변환함으로써 상이한 기하 포맷을 지원한다. 그러나 유감스럽게도 호스트 처리기에 의한 포맷 변환은 전체 그래픽 시스템의 성능을 크게 제한할 수 있는 시스템의 병목현상을 야기시킨다.
또한 종래 그래픽 시스템은 상업적으로 이용가능한 디지탈 신호 처리(DSP) 칩을 이용하여 좌표 변환, 클립 테스트, 페이스 결정, 라이트닝, 클리핑, 스크린 공간 변환, 및 세트업 기능을 종종 수행한다. 그러나 이러한 DSP 칩은 통상 3 차원컴퓨터 그래픽용으로 최적화되어 있지는 않다. 통상의 DSP 칩내에 제공되는 내부 레지스터는 대부분의 3 차원 그래픽 처리 알고리즘의 내부루프를 수용하기에는 그 수가 너무 적다. 이러한 시스템에서는 DSP 칩에 의해 제공되는 제한된 수의 내부 고속 레지스터에 대체하여 통상 온- 칩 데이터 캐시 또는 SRAM이 채용된다. 그러나 이러한 온- 칩 데이터 캐시는 제어할 수 없는 스케쥴링 알고리즘을 일반적으로 실시한다. 더욱이 온- 칩 SRAM은 일반적으로 다중 처리 환경에 적합하지 않다.
또한 DSP 칩은 통상 다중 처리 환경에서 동작하기 위해서는 지원 칩을 구비해야 한다. 그러나 유감스럽게도 그래픽 시스템에 지원칩을 추가함으로써 인쇄 회로 기판의 면적을 증가시키고, 시스템의 전력소비를 증가시키고, 열의 발생을 증가시키고, 시스템의 가격을 증가시킨다.
종래 그래픽 시스템은 그래픽 처리 성능을 향상시키기 위해서 종종 병렬 처리 파이프 라인을 채용한다. 예컨대, 그래픽 시스템에 있어서 빗금친 삼각형에 대한 주사 변환기능은 통상 에지워킹(edgewalking)과 주사 보간(scan interpolation)의 선형 파이프라인에 의해서 수행된다. 통상적으로 이러한 시스템에서 에지워킹 기능은 에지워킹 프로세서에 의해서 수행되며, 주사 보간 기능은 에지워킹 프로세서로부터 매개변수를 수신하는 한 세트의 병렬주사 보간 프로세서에 의해서 수행된다.
그러나 이러한 시스템은 모자이크식 기하학에서 일반적으로 직면하는 상대적으로 얇고 긴 삼각형을 렌더링할때 병렬 처리에 따른 속도의 장점을 살릴 수 없다. 에지워킹 프로세서와 주사 보간 프로세서간의 매개 변수 데이터의 흐름은 얇고 긴삼각형상에서 주사변환을 수행할때 크게 증가한다. 그러나 유감스럽게도 매개 변수 데이터의 흐름의 증가는 삼각형의 렌더링을 늦추게 하며 그래픽 시스템의 성능을 저하시킨다.
앞으로 설명하는 바와같이, 본 발명은 상기에 논의한 시스템의 여러 제약을 극복함으로써 비교적 낮은 가격에서 높은 성능을 얻는 그래픽 가속기이다. 본 그래픽 가속기는 상이한 기하 입력 데이터 포맷을 변환하는 명령 전처리기, 3 차원 그래픽 기능에 최적화된 한 세트의 부동 소수점 처리기, 및 기하 객체의 제각각의 부분에 대해서 에지워킹과 주사 보간 렌더링 기능을 동시에 수행하는 한 세트의 드로 처리기로 이루어진다.
발명의 개요
컴퓨터 시스템에서 고성능 3 차원 그래픽 가속기가 개시된다. 이 그래픽 가속기는 상이한 포맷으로부터 기하 입력 데이터를 변환하는 명령 전처리기를 구비한다. 이 명령 전처리기는 3 차원 기하 파이프라인과 직접 데이터 파이프라인 모두를 실시한다. 명령 전처리기의 3 차원 기하 파이프라인은 프로그램된 입력/출력 또는 직접 메모리 액세 명스를 이용하여 호스트 버스를 통하여 입력 정점 패킷을 액세스한다. 명령 전처리기는 그 입력 정점 패킷을 재포맷된 정점 패킷으로 다시 포맷한 후 그 재포맷된 정점 패킷을 부동 소숫점 버스를 통하여 선택적 데이터 치환과 데이터 압축을 갖는 출력 기하 패킷으로써 이용가능한 부동소수점 처리기로 전송한다.
부동 소수점 버스를 통하여 4 개의 부동 소수점 처리기 세트가 통신을 하기위해 서로 연결된다. 제 1 이용가능한 부동 소수점 처리기가 부동 소수점 버스를 통하여 기하출력 패킷을 수신하여 스크린 공간의 기하 객체에 대해서 매개변수를 포함하는 드로패킷을 발생한다. 부동 소수점 처리기는 드로 버스를 통하여 5 개의 드로 처리기로 드로 패킷을 전송한다. 각 부동 소수점 처리기는 3 차원 그래픽 기능을 수행하기 위해서 특수한 기능과 명령을 실시한다.
명령 전처리기는 부동 소수점 처리기내로 출력 기하 패킷의 전송과 드로 처리기로 드로패킷의 흐름을 제어한다.
5 개의 드로 처리기는 드로 버스를 통하여 각 드로 패킷을 동시에 수신한다. 각 드로 프로세서는 에지워킹과 주사 보간 기능을 수행하여 드로 패킷에 의해 규정되는 3 차원 삼각형을 렌더링한다. 각 드로 처리기가 주사라인 상에서 매 5 번째 픽셀을 렌더링함으로써 함께 채택된 5 개의 드로 처리기는 전체 삼각형을 렌더링한다. 각 드로 처리기는 5 개 뱅크 인터리빙된 프레임 버퍼의 분리된 인터리빙된 뱅크내로 픽셀을 렌더링한다. 또한, 각 드로처리기는 명령 전처리기의 직접 포트 파이프라인으로부터 직접 포트 데이터를 수신해서 처리한다.
발명의 상세한 설명
컴퓨터 시스템에서 고성능 3 차원 그래픽 가속기의 아키텍쳐가 개시된다. 설명하기 위한 목적의 아래의 설명에서는 본 발명의 완벽한 이해를 위해 특정 응용, 수, 장치, 구성 및 회로가 제시된다. 그러나 이러한 상세없이도 본 발명을 실행할 수 있다는 것은 본 기술의 당업자에게는 명백한 것이다. 한편, 본 발명을 불필요하게 모호하게 하지 않도록 하기 위해 공지의 시스템은 블록도의 형태로 도시된다.
제 1도에는 컴퓨터 시스템의 블록도가 도시되는데, 이 컴퓨터 시스템은 호스트 처리기(20), 메모리 서브시스템(22), 그래픽 가속기(24) 및 표시장치(26)를 포함한다. 이 호스트처리기(20), 메모리 서브시스템(22), 및 그래픽 가속기(24)는 호스트 버스(28)를 통하여 통신을 위해 서로 연결되어 있다.
표시장치(26)는 다양한 래스터 표시 모니터를 표시하고 있다. 호스트 처리기(20)는 다양한 컴퓨터 프로세서, 멀티프로세서, 및 CPU 를 표시하여, 메모리 서브시스템(22)은 랜덤 액세스 메모리 및 대용량 기억장치를 포함하는 여러 메모리 서브시스템을 표시한다. 호스트버스(28)는 특수 서브시스템 뿐만 아니라 호스트 처리기, CPU, 및 메모리 서브시스템간에 통신을 하기 위해 여러 통신 및 호스트 컴퓨터용 버스를 표시한다.
호스트 처리기(20)는 호스트 버스(28)를 통하여 프로그램된 입력/출력(I/O) 프로토콜에 따라서 그래픽 가속기(24)로/로부터 정보를 전송한다. 또한 그래픽 가속기(24)는 직접 메모리 액세스(DMA) 프로토콜에 따라서 메모리 서브시스템(22)을 액세스한다.
호스트 처리기(20)에서 실행되는 그래픽 애플리케이션 프로그램은 표시장치(26)상에 표시용 화상을 규정하는 3 차원 기하 정보를 포함하는 기하 데이터 어레이를 발생한다. 호스트처리기(20)는 그 기하 데이터 어레이를 메모리 서브시스템(22)으로 전송한다. 그 후 그래픽 가속기(24)는 호스트 버스(28)를 통하여 DMA 액세스 사이클을 이용하여 기하 데이터 어레이를 판독한다. 대체하여 호스트 처리기(20)는 호스트 버스(28)를 통하여 프로그램된 입출력에 의하여 기하 데이터어레이를 그래픽 가속기(24)로 전송한다.
기하 데이터 어레이에서 3 차원 기하 정보는 정점 좌표(정점들), 정점 위치, 및 통상 모델스페이스로 언급되는 3 차원 공간에서 삼각형, 벡터 및 점을 규정하는 다른 정보를 포함하는 연속된 입력 정점 패킷을 포함한다. 각각의 입력 정점 패킷은 정규 정점(vertex normal), 색 정점(vertex color), 정규 패싯(facet normal), 색 패싯(facet color), 텍스쳐 맵 좌표(texture map coordinates), 픽-id, 헤더 및 다른 정보를 포함하는 3 차원 정점정보의 결합을 포함할 수 있다.
헤드가 없는 입력 정점 패킷은 근접한 삼각형의 " 지그재그" 형태로 삼각형 스트립을 규정할 수 있다. 또한 헤드가 없는 입력 정점 패킷은 삼각형의 "스타 스트립(star strip)"형태로 삼각형 스트립을 규정할 수 있다. 또한 헤드가 없는 입력 정점패킷은 분리된 삼각형의 스트립을 규정할 수 있다. 헤더를 갖는 입력 정점 패킷은 각 삼각형에 대해서 삼각형 스트립 포맷을 변경할 수 있으며, "지그재그" 포맷, "스타" 포맷, 및 분리된 삼각형 사이에서 변경될 수 있다.
제 2도는 그래픽 가속기(24)의 블록도이다. 이 그래픽 가속기(24)는 명령 전처리기(30), 한 세트의 부동 소수점 처리기(40-43), 한 세트의 드로 처리기(50-54), 프레임 버퍼(100), 후처리기(70), 및 랜덤 액세스 메모리/디지탈 ·아날로그 변환기(RAMDAC)(72)로 이루어진다. 이 RAMDAC(72)는 조사 테이블 기능을 실시하는 상업적으로 이용가능한 RAMDAC와 유사하다.
일 실시예에 있어서, 명령 전처리기(30), 부동 소수점 처리기(40-43), 드로 처리기(50-54), 및 후처리기(70)는 각각 개별 집적 회로 칩이다.
명령 전처리기(30)는 호스트 버스(28)를 통하여 통신을 하기 위해 연결되어 있다. 이 명령 전처리기(30)는 호스트 버스(28)를 통하여 메모리 서브시스템(22)으로부터 기하 데이터 어레이를 DMA 판독한다. 호스트 처리기(20)는 가상 메모리 포인터를 명령 전처리기(30)로 전송한다. 이 가상 메모리 포인터는 메모리 서브시스템(22)에서 기하 데이터 어레이를 지정한다. 명령 전처리기(30)는 호스트 처리기(20)로부터의 간섭없이 메모리 서브시스템(22)에 DMA 판독을 수행하기 위해 가상 메모리 포인터를 물리적 메모리 어드레스로 변환한다.
명령 전처리기(30)는 두개의 데이터 파이프라인, 즉 3 차원 기하 파이프라인 및 직접 포트 파이프라인을 실시한다.
이 직접 포트 파이프라인에서는, 명령 전처리기(30)가 호스트 버스(28)를 통하여 직접 포트 데이터를 수신하고, 명령- 드로 버스(command-to-draw bus; CD-BUS)(80)를 통하여 직접포트 데이터를 드로 처리기(50-54)로 전송한다. 직접 포트 데이터는 명령 전처리기(30)에 의해서 드로 처리기(50-54)와 함께 문자 기록, 스크린 스크롤, 및 블록 이동과 같은 X11 기능을 수행하도록 선택적으로 처리된다. 또한 직접 포트 데이터는 드로 처리기(50-54)에 대해서 레지스터 기록을 포함할 수 있으며, 및 프레임 버퍼(100)에 대하여 개별 픽셀을 포함할 수 있다.
3 차원 기하 파이프라인에서는, 명령 전처리기(30)가 기하 데이터 어레이로부터 연속된 입력 정점 패킷을 액세스하고, 입력 정점 패킷내에 포함된 정보에 대해 재배열하며, 입력 정점 패킷에서 정보를 선택적으로 삭제한다. 명령 전처리기(30)는 입력 정점 패킷으로부터 정보를 표준요소 배열을 갖는 재포맷된 정점 패킷으로 재배열한다. 그 후 명령 전처리기(30)는 명령 ·부동 소수점 버스(CF-BUS)(82)를 통하여 출력 기하 패킷을 부동 소수점 처리기(40-43) 중의 하나로 전송한다. 이 출력 기하 패킷은 선택적 수정과 데이터 치환을 갖는 재포맷된 정점 패킷으로 구성된다.
명령 전처리기(30)는 상이한 수의 포맷으로부터 각각의 입력 정점 패킷의 정보를 32비트 IEEE 소수점 수의 포맷으로 변환한다. 명령 전처리기(30)는 8 비트 고정 소수점 수, 16비트 고정 소수점 수, 및 32비트 혹은 64비트 IEEE 부동 소수점 수를 변환한다.
명령 전처리기(30)는 헤더 필드를 재포맷하거나 삽입하고, 상수를 삽입하고, 일련의 픽-id 를 삽입하고, 일정 연속 픽-id 를 선택적으로 삽입한다. 명령 전처리기(30)는 헤더의 체이닝 비트를 검사하고, 입력 정점 패킷으로부터의 정보를 점, 선 및 삼각형을 포함하는 완전히 분리된 기하 기본요소(primitives)를 포함하는 재포맷된 정점 패킷으로 재조립한다.
명령 전처리기(30)는 CF_BUS(82)의 제어부를 통하여 부동 소수점 처리기(40-43)로부터 제어 및 상태신호를 수신한다. 이 제어 및 상태신호는 출력 기하 패킷을 수신하기 위해서 부동 소수점 처리기(40-43) 내에서 입력 버퍼의 이용가능성을 표시한다.
부동 소수점 처리기(40-43)는 사실상 서로 유사하며, 병렬 입력 및 출력 패킷 통신 장비와 함께 32비트 마이크로 코드 구동 부동 소수점 코어를 실시한다. 각각의 부동 소수점 처리기(40-43)는 승산, ALU, 역수, 역수의 제곱근 및 정수 연산을 포함하는 부동 소수점 기능을 실시한다. 각 부동 소수점 처리기(40-43)는 다양한 특수 그래픽 명령 및 기능을 실시한다. 각각의 부동 소수점 처리기(40-43)는 그래픽 가속기(24)에 의해 실시된 가장 통상적인 3 차원 그래픽 처리 마이크로- 코드 내부 루프를 수행하는데 요구되는 고속 내부 레지스터의 수를 실시하도록 최적화된다.
일 실시예에 있어서, 각각의 부동 소수점 처리기(40-43)는 단일 집적 회로 칩상에서 실시된다. 각각의 부동 소수점 처리기(40-43)에 대해 요구되는 오직 하나의 지원칩은 제어기억장치(CS)에서 외부 마이크로- 코드를 제공하는 한 세트의 4 개 외부 SRAM 칩이다.
각각의 부동 소수점 처리기(40-43)는 드로 처리기(50-54)에 의해서 주사변환용 삼각형을 세트- 업시키는 기능을 실시한다. 세트-업 기능의 제 1단계는 y 오름차순으로 삼각형의 3 정점을 정렬하는 것이다. 각각의 부동 소수점 처리기(40-43)는 CD-BUS(80)를 통하여 드로패킷을 모든 드로 치리기(50-54)로 동보 통신한다. 드로 패킷은 삼각형, 점, 및 선을 포함하는 최종적인 기하 기본요소로 구성된다.
드로 처리기(50-54)는 프레임 버퍼(100)에 대해서 VRAM 제어칩으로 기능한다. 드로 처리기(50-54)는 명령 전처리기(30)로부터 수신된 직접 포트 패킷에 따라서 혹은 부동 소수점 처리기(40-43) 중의 하나로부터 수신된 드로 패킷에 따라서 화상을 프레임 버퍼(100) 내부로 동시에 보낸다.
각각의 드로 처리기(50-54)는 주사 변환 기능, 즉 에지워킹 기능 및 주사 보간 기능을 수행한다. 드로 처리기(50-54) 사이에서 에지워킹 및 주사 보간 기능을반복함으로써, 분리된 에지워킹 및 주사 보간 처리기 사이에 대용량의 통신통로가 필요없으며, 따라서 각각의 드로 처리기(50-54)의 핀 계수를 최소화시키며, 요구되는 인쇄회로 기판 공간을 줄인다.
프레임 버퍼(100)는 한 세트의 5 개 VRAM 인터리브 뱅크로 배열된다. 드로 프로세서(50)는 픽셀 데이터를 인터리브 뱅크_0(61)내부에 기록하고, 드로 처리기(51)는 픽셀 데이터를 인터리브 뱅크_2(63)내부에 기록하고, 드로 처리기(53)는 픽셀 데이터를 인터리브 뱅크_3(64)내부에 기록하고, 드로 처리기(54)는 픽셀 데이터를 인터리브 뱅크_4(65)내부에 기록한다.
각각의 드로 처리기(50-54)는 대응 인터리브 뱅크(61-65) 내에서 눈에 보이는 픽셀만을 수행한다. 드로 처리기(50-54)는 드로 패킷에 의해 규정된 삼각형 기본 요소를 동시에 수행하여 프레임 버퍼(100)에 정확히 결합된 래스터 화상을 만들어낸다.
각각의 드로 처리기(50-54)는 최종적인 래스터 화상의 각 주사선을 따라서 매 5 번째 픽셀을 래스터한다. 각각의 드로 처리기(50-54)는 0, 1, 2, 3, 혹은 4 픽셀공간만큼 우측으로 바이어스된 주사선을 처리하기 시작한다.
각각의 드로 처리기(50-54)는 깊이 큐잉(depth cueing)을 선택적으로 수행한다. 수행된 삼각형, 벡터, 혹은 도트의 각 픽셀은 부동 소수점 처리기에서 큐잉을 수행하는 종래 그래픽 시스템에서의 성능상의 불이익없이 드로 처리기(50-54) 내에서 깊이 큐잉될 수 있다. 각각의 드로 처리기(50-54)는 직사각 윈도우 클립핑, 블렌딩, 및 다른 픽셀 처리 기능을 선택적으로 수행한다.
후처리기(70)는 비디오 버스(84)를 통하여 프레임 버퍼(100)로부터 인터리빙된 픽셀 데이터를 수신한다. 후처리기(70)는 칼러 조사 테이블과 커서 기능을 수행한다. RAMDAC(72)는 후처리기(70)로부터 수신된 픽셀 데이터를 표시장치(26)용 비디오 신호(73)로 변환한다.
제 3도는 명령 전처리기(30)의 블록도이다. 명령 전처리기(30)가 3 차원기하 파이프라인 및 직접 포트 파이프라인을 통해서 통신하기 위해서 호스트 버스(28)에 연결되어 있는 것이 도시된다. 일 실시예에 있어서, 명령 전처리기(30)는 단일 집적회로 칩상에서 실시된다.
직접 포트 파이프라인은 입력 인터페이스(541)와 X11 동작 회로(551)로 구성된다. 입력 인터페이스(541)는 호스트 버스(28)를 통하여 직접 포트 데이터를 수신하며 CD-BUS (80)를 통하여 직접 포트 데이터를 드로 처리기(50-54)로 전송한다. 직접 포트 데이터는 드로 처리기(50-54)로의 레지스터 기록과 프레임 버퍼(100)로의 개별 픽셀기록을 포함한다. 직접 포트 데이터가 X11 동작 회로(551)로 선택적으로 전송되어 드로 처리기(50-54)와 함께 문자기록, 스크린 스크롤 및 블록 이동과 같은 X11 기능을 수행한다.
3차원 기하 파이프라인은 입력 인터페이스(541), 버킷 버퍼(542), 포맷 변환기(543), 및 한세트의 정점 레지스터(547)와 대체 터플(tupple) 레지스터(540)를 포함한 정점 버퍼로 구성된다. 3 차원 기하 파이프라인에서 포맷 변환은 VCS 동작 회로(545)와 변환 시퀀스(544)에 의해 제어된다. 출력 기하 패킷은 기본요소 어셈블리 회로(547)와 시퀀스(548)에 의해서 조립된다. 32-16 회로(550)는 데이터 압축을 선택적으로 수행한다. 한 세트의 내부 레지스터(552)는 호스트 버스(28)를 통하여 프로그램되어 3 차원 기하 파이프라인과 직접 포트 파이프라인의 동작을 제어한다. DMA 제어기(546)는 호스트 버스(28)를 통하여 버킷 버퍼(542)로의 DMA 전송을 수행한다.
입력 인터페이스(541)는 호스트 버스(28)와 명령 전처리기(30)의 상이한 클로킹환경 사이에서 인터페이싱용 버스트 버퍼를 포함한다. 이 버스트 버퍼(542)는 그 내부로 전송된 입력 정점 패킷을 일시적으로 홀딩하는 한 세트의 레지스터로서 기능한다.
포맷 변환 회로(543)는 버킷 버퍼(542)로부터 입력 정점 패킷을 액세스하고, 재포맷된 정점 패킷을 정점 레지스터(549)로 조립한다. 포맷 변환 회로(543)는 미리 프로그램된 포맷변환동작에 따라서 VCS 동작 회로(545)에 의해 제어된다. 포맷 변환은 변환 시퀀스(544)에 의해 순서적으로 이루어진다.
시퀀스(548)의 제어에 의해서 기본요소 어셈블리 회로(547)는 정점 레지스터(549)로부터 재포맷된 정점 패킷을 액세스하며, CF-BUS(82)를 통하여 출력 기하 패킷을 전송한다. 기본요소 어셈블리 회로(547)는 대체 터플 레지스터(540)로부터 대체 터플을 선택적으로 치환한다. 또한 기본요소 어셈블리 회로(547)는 32-16 회로(550)를 이용하여 출력 기하 패킷에서의 데이터상에서 데이터 압축을 선택적으로 수행한다.
포맷 변환기(543)는 삼각형 스트립을 규정하는 입력 정점 패킷을 처리한다. 각각의 입력 정점 패킷에서 헤더 비트는 교체 형식을 특정한다. 이 교체 형식은 이전 인력 정점 패킷과 이어지는 입력 정점 패킷의 결합을 규정하여 삼각형 스트립에 있어서 그 다음 삼각형을 형성한다. 포맷 변환기(543)는 삼각형 스트립에서 최적인 3 개 정점을 홀드하는 레지스터 스택을 실시한다. 포맷 변환기(543)는 삼각형 스트립에서 최종적인 3 개 정점을 가장 오래된(oldest), 가장 중간인(middlest), 가장 새로운(newest) 정점으로 명시한다.
"지그재그" 패턴을 갖는 삼각형 스트립은 교체형식 replace_oldest를 특정하는 헤더를 갖는 새로운 입력 정점 패킷에 해당한다. 이 교체형식 replace_oldest에 의해서 포맷 변환기(543)는 가장 오래된 정점을 가장 중간 정점으로 대체하여, 가장 중간정점을 가장 새로운 정점으로 대체하고, 그 가장 새로운 정점을 새로운 입력 정점 패킷내의 정점으로 설정한다. 지금까지의 패턴은 PHIGS_PLUS 단순 삼각형 스트립에 해당한다.
"스타" 패턴을 갖는 삼각형 스트립은 교체형식 replace_middlest를 특정하는 헤더를 갖는 새로운 입력 정점 패킷에 해당한다. 이 대체형식 replace_middlest에 의해서 포맷 변환기(543)는 가장 오래된 정점을 변경시키지 않고 남겨 두고, 가장 중간인 정점을 가장 새로운 정점으로 대체하고, 그 가장 새로운 정점을 새로운 입력 정점 패킷내의 정점으로 설정한다.
일반화된 삼각형 스트립으로부터 시작하여, 새로운 입력 정점 패킷은 대제형식 restart를 특정하는 헤더를 갖는다. 이 대체형식 restart 에 의해서 포맷 변환기(543)는 가장 오래된 정점과 가장 중간인 정점을 부당한 것으로 표시하고, 가장 새로운 정점을 새로운 입력 정점 패킷내의 정점으로 설정한다.
기본요소 어셈블리 회로(547)는 대체동작이 정점 레지스터(549)에서 3 개의 타당 정점을 발생할 때마다 CF-BUS(82)를 통하여 정점 레지스터(549)와 대체 터플 레지스터(540)로부터 삼각형에 대해서 출력 기하 패킷을 전송한다.
입력 정점 패킷의 헤더에서 restart 대체형식은 폴리라인에 있어서 이동동작에 대응된다. restart 대체형식은 단일 데이터 구성, 즉 메모리 서브시스템(22)내의 기하데이터 어레이를 가능하게 하며, 다중 비접속 가변 길이 삼각형 스트립을 특정한다. 이러한 능력으로 인해 호스트 버스(28)를 통하여 DMA 시퀀스를 개시하는데 요구되는 오버 헤드를 줄이게 된다.
메모리 서브시스템에서의 기하 데이터 어레이로부터 명령 전처리기에 의해 수신된 입력 정점 패킷에서의 대체형식은 삼각형 스트립이 "지그재그" 패턴에서 스트립의 중간에서 "스타" 패턴으로 변경되도록 해준다. 이러한 능력으로 인해 컴팩트 데이터 구조에서 호스트 버스(28)를 통하여 최소 입력 데이터 대역폭을 요구하면서 복잡한 기하도형의 배열 표시를 할 수 있다.
포맷 변환기(543)는 매 replace_oldest 교체형식에 따라 정점 레지스터(549) 내에 정정순서를 재배열하여 재포맷된 정점 패킷에서 출력된 삼각형의 페이싱을 정규화한다. 기본요소 어셈블리 회로(547)는 정점이 정점 레지스터(549)로부터 나와서 전송될 때 정점 순서를 재배열함으로써 출력된 삼각형의 프론트 페이스가 시계방향 정점 순서에 의해서 항상 규정된다.
입력 정점 패킷에서의 헤더 비트는 각각의 삼각형 스트립의 초기 페이스 순서화를 특정한다. 또한 명령 전처리기(30)는 초기 페이스 순서화의 역이 헤더에서특정되도록 상태 비트를 갖는 레지스터를 포함한다. 호스트 처리기(20)상에서 실행되는 애플리케이션 프로그램은 그 애프리케이션 프로그램에 의해서 유지되는 모델매트릭스를 반영하는 상태 비트를 유지한다. 또한 명령 전처리기(30)는 모든 "지그재그" 패턴의 삼각형에 대한 페이스 순서화를 역으로 한다.
기본요소 어셈블리 회로(547)는 정점 레지스터(549)로부터의 각각의 재포맷된 정점 패킷을 이용가능한 그 다음 부동 소수점 처리기(40-43)로 전송한다. 이러한 그 다음의 부동 소수점 처리기(40-43)는 CF-BUS(82)의 제어부를 통하여 각각의 부동 소수점 처리기(40-43)의 입력 버퍼 상태를 감지함으로써 결정된다.
명령 전처리기(30)는 각각의 재포맷된 정점 패킷을 부동 소수점 처리기(40-43)로 전송하는 순서의 기록, 즉 "스코어보드(scoreboard)" 를 유지한다. 명령 전처리기(30)는 CD-BUS(80)의 제어부를 통하여 제어신호를 전송함으로써 부동 소수점 처리기(40- 43)의 출력 버퍼를 제어한다. 명령 전처리기(30)는 연속적인 렌더링 순서가 요구될때 적당한 순서대로 부동 소수점 처리기(40-43)를 통해서 재포맷된 정점 패킷이 처리가 됨을 보장한다.
만약 연속적인 렌더링이 요구되지 않을 때는 부동 소수점 처리기(40-43)의 출력에서 제 1 드로 패킷이 먼저 렌더링된다.
또한 포맷 변환기(543)는 폴리라인과 폴리-폴리라인을 재포맷한다. 또한 이 포맷 변환기(543)는 선택적으로 삼각형 스트림 데이터를 폴리라인 에지로 변환한다. 이러한 능력으로 인해 부동 소수점 처리기(40-43)에 대한 마이크로-코드의 복잡성이 줄어드는데, 그 이유는 삼각형 처리가 삼각형 에지 하이라이트닝을 요구하는 동작동안 라인 처리와 혼합되지 않기 때문이다.
삼각형 스트립내에서 삼각형의 에지 하이라이트닝을 처리하기 위해서 명령 전처리기(30)는 삼각형 스트립에 대한 입력 패킷을 재포맷된 정점 패킷으로 배열하고, CF-BUS(82)를 통하여 재포맷된 정점 패킷을 출력 기하 패킷으로써 부동 소수점 처리기(40-43)에 전달한다.
그후 명령 전처리기(30)는 호스트 버스(28)를 통하여 원 삼각형 스트립 입력 정점 패킷을 액세스하고, 그 입력 정점 패킷을 하이라이트닝을 표시하는 분리된 벡터를 포함하는 재포맷된 정점 패킷으펀 조립한다. 그후 명령 전처리기(30)는 부동 소수점 처리기(40-43)와 드로처리기(50-54)을 통해서 분리된 벡터를 처리하여 하이라이트닝 기능을 수행한다.
일 실시예에 있어서, CF-BUS(82)의 데이터부는 16비트 폭이며 CD-BUS(80)의 데이터부는 16비트 폭이다. 명령 전처리기(30)는 CF-BUS(82)를 통하여 부동 소수점 처리기(40-43)로 전송하기 전에 32-16 회로(550)를 이용하여 재포맷된 정점 패킷의 컬러 및 정규 데이터 성분을 압축한다. 32-16 회로(550)는 32- 비트 IEEE 부동 소수점 포맷으로부터 컬러 및 정규데이터를 16 고정 소수점 포맷으로 압축한다. 그 후 부동 소수점 처리기(40-43)는 압축된 컬러와 정규 데이터 성분을 갖는 재포맷된 정점 패킷을 수신하고, 컬러 및 정규 성분을 다시 32비트 IEEE 부동 소수점 값으로 압축해제한다.
재포맷 정점 패킷의 컬러 및 정규 데이터 성분의 압축은 실질적으로 그래픽 가속기(24)의 궁극적인 화상의 질에 영향을 미치지 못하는데 그 이유는 재포맷된정점 패킷의 컬러성분이 프레임 버퍼(100)에서 8 개 비트값으로 표시되기 때문이다. 마찬가지로 부호가 없는 16비트 정확도를 갖는 재포맷된 정점 패킷의 정규 성분은 1 마일당 대략 (+)(-) 1인치의 분해능을 나타낸다. 반면에, 재포맷된 정점 패킷의 컬러 및 정규 성분의 데이터 압축은 CF-BUS(82)를 통하여 데이터 전송 대역폭을 대략 25% 까지 줄인다.
제 4도는 부동 소수점 처리기부(45)의 블록도이며, 이는 부동 소수점 처리기(40)와 제어기억장치(CS)(149)를 포함한다. 이 부동 소수점 처리기(40)는 입력 회로(141), 출력 회로(145), 레지스터 화일(142), 한 세트의 기능 유니트(143), 제어 회로(144), 및 SRAM 인터페이스 회로(146)로 구성된다. 부동 소수점 처리기(40)는 정수 기능뿐만 아니라 CS로 전송하기 위한 내부 서브루틴 스택 및 블록 로드/기억 명령을 실시한다.
부동 소수점 처리기(40)는 CF-BUS(82)의 데이터부(181)를 통하여 출력 기하 패킷을 수신한다. 명령 전처리기(30)는 CF-BU5(82)의 제어부(182)를 통하여 제어신호를 전송하여 입력버퍼(141)를 인네이블하고 디스에이블시킨다.
기능 유니트(143)는 부동 소수점 승산기, 부동 소수점 ALU, 부동 소수점 역수 동작, 역수 제곱근동작 및 정수 ALU 를 실시한다. 출력회로(145)는 드로 패킷을 CD-BUS(80)의 데이터 부(183)를 통하여 전송한다. 출력회로(145)는 또한 드로 처리기(50-54)로의 데이터 전송을 동기화하고 CD-BUS(80)상에서의 버스 활동을 명령 전처리기(30)와 조정하기 위해 CD-BUS(80)의 제어부(184)를 통하여 제어신호를 전송한다.
일 실시예에서 , 입력회로(141) 및 출력회로(145) 각각은 기하 데이터의 버퍼링을 위해 64개 레지스터를 가진다. 레지스터 화일(142)은 160 개의 32비트 레지스터로 구성된다.
SRAM 인터페이스(146)는 제어 기억 데이터 버스(148)에서 제어 기억 주소 버스(147)를 통하여 제어기억장치(CS)(149)와 통신한다. 일 실시예에서 제어 기억 주소 버스(147)는 17비트 폭이며, 제어 기억 데이터 버스(148)는 32비트 폭이다. 제어기억장치(149)는 8 비트 SRAM으로 된 4 개의 128K로 구성된다.
입력회로(141) 내에 포함된 레지스터는 이중버퍼 방식으로 한쌍의 32 레지스터 화일로 배열된다. 마찬가지로, 출력회로(145)에 포함된 레지스터는 이중버퍼된 한쌍의 32 레지스터 화일로 배열된다. 부동 소수점 처리기(40)상에서 실행되는 마이크로코드는 특수 레지스터 화일로써 입력회로(141) 및 출력회로(145)의 레지스터를 검색한다.
부동 소수점 처리기(40)에 대하여 설정된 명령은 CD-BUS(80)를 통하여 완성된 데이터 패킷의 전송를 위해 큐잉하기 위한 명령뿐만 아니라 레지스터 화일 요구 및 포기를 위한 명령을 포함한다.
부동 소수점 처리기(40)는 드로 처리기(50-54)에 의한 주사 변환을 위한 삼각형 설정 기능을 실행한다. 삼각형 설정 기능의 제 1 단계는 y 오름차순 순서로 삼각형의 3 정점을 정렬한다. 부동 소수점 처리기(40)는 정점의 y 좌표에 대한 최후의 3 개의 비교결과를 기초로 하여 하드웨어로 레지스터 화일(142)의 일부를 재정렬하는 특수 명령을 실시한다. 부동소수점 처리기(40)에서 실시되는 클립 테스팅기능은 클립상태 비트의 벡터를 계산한다. 부동 소수점 처리기(40-43)는 클립 상태 비트를 특수 클립 레지스터로 시프트시키는 동안 클립상태 비트쌍들을 계산하는 특수 클립 테스트 명령을 구현한다. 클립상태 비트가 계산되어진 후에, 특수 분기명령이 클립 레지스터에 포함된 클립상태 비트를 적절한 클립조건으로 해독한다. 부동 소수점 처리기(40)는 삼각형 및 벡터를 클리핑하기 위한 개별적인 분기명령을 구현한다. 특수 분기명령은 동일명령내에서 다수의 클립조건의 테스팅을 가능하게 한다.
제 5도는 드로 처리기(50)의 블럭도이다. 이 드로 처리기(50)는 입력버퍼(151), 렌더링 회로(152) 및 메모리 제어회로(153)로 구성된다. 이 입력버퍼(151)는 CD-BU5(80)의 데이터부(185)를 통하여 기하 데이터를 수신하기 위해 이중버퍼된 배열을 제공한다. 입력버퍼(151)는 또한 명령 전처리기(30) 및 부동 소수점 처리기(40- 43)와 데이터 전송을 조정하기 위해 CD-BUS(80)의 제어부(186)를 통하여 제어신호를 전송한다. 입력버퍼(151)는 기존의 기하 데이터가 렌더링 회로(152)에 의해 렌더링되는 동안 새로운 기하 데이터가 입력버퍼(151)로 로드되어지도록 배열되어진다.
렌더링 회로(152)는 주사변환 기능의 느림(slowing)을 방지하기 위해 한개 단수 픽셀 사이클 타임내에서 에지워킹 기능을 수행한다. 에지워킹 기능은 종종 한 개의 외부 에지워킹 칩에 필요로 되어지는 것보다 그 다음 주사 라인보다 최고 5 배까지 앞서야 하기 때문에 고속의 에지워킹 기능이 제공된다.
렌더링 회로(152)는 삼각형, 반-알리아스(anti-aliased) 벡터,알리아스(aliased) 벡터, 반-알리아스 점 및 알리아스 데이터에 대하여 래스터화 알고리즘을 수행한다. 메모리 제어회로(153)는 메모리 버스(188)를 통하여 인터리브 뱅크_0(61)로 픽셀 데이터를 전송하기 위해 필요한 제어신호 및 주소를 발생한다.
각각의 드로 처리기(50-54)는 32비트 내부 처리장치를 이용하여 서브-픽셀 정확도를 가능하게 하는 고정확도 DDA 알고리즘을 구현한다. 알리어스 및 반-알리아스 선 및 점들은 앞서 설명한 바와같이 분산방법으로 렌더링되며 여기서 각각의 드로프로세서(50-54)는 주사라인을 따라 매 5 번째 픽셀을 처리한다.
각각의 드로 처리기(50-54)는 또한 명령 전처리기(30)의 X11 동작 회로와 협동하여 X11 동작의 렌더링부를 구현한다. X11 동작은 수직 스크롤, 래스터 동작 및 스텐실(stencil)동작에 대하여 픽셀그룹의 판독 및 기록을 포함한다.
상술한 명세서에서 본 발명은 특정 모범 실시예를 참조로 하여 설명되었다.
그러나 첨부된 특허청구의 범위에 나타난 바와같이 본 발명의 넓은 취지 및 영역으로부터 벗어남이 없이 다양한 변화 및 수정이 가능하다는 것은 명백할 것이다. 따라서 본 명세서 및 도면은 제한적이기 보다는 예시적으로 간주되어져야 한다.
제 1도는 호스트 처리기, 메모리 서브시스템, 그래픽 가속기, 및 표시장치를 포함하는 컴퓨터 시스템의 블록도,
제 2도는 명령 전처리기, 한 세트의 부동 소수점 처리기, 한 세트의 드로 처리기, 프레임버퍼, 후처리기, 및 랜덤 액세스 메모리/디지탈 ·아날로그 변환기(RAMDAC)로 구성되는 그래픽 가속기의 블록도,
제 3도는 직접 포트 데이터 파이프라인과 함께 3 차원 기하 파이프라인의 재포맷 회로를 도시하는 명령 전처리기의 블록도,
제 4도는 제어기억장치(CS), 입력회로, 출력회로, 레지스터 화일, 한 세트의 기능 유니트, 제어회로, 및 SRAM 인터페이스 회로를 포함하는 부동 소수점 처리기부의 블록도,
제 5도는 입력버퍼, 렌더링회로, 및 메모리 제어회로로 구성되는 드로 처리기의 블록도.

Claims (17)

  1. 호스트 버스를 통하여 입력 정점 패킷과 직접 포트 데이터를 액세스하고 3차원 파이프라인과 직접 포트 파이프라인을 갖는 명령 전처리기로서, 상기 3차원 파이프라인은 미리 규정된 정점 포맷에 따라서 입력 정점 패킷을 재포맷된 정점 패킷으로 재포맷하고, 재포맷된 정점 패킷을 출력 기하 패킷으로 조립하고 부동 소수점 버스를 통하여 그 출력 기하 패킷을 전송하고, 상기 직접 포트 파이프라인은 드로 버스를 통하여 직접 포트 데이터를 전송하는, 상기 명령 전처리기;
    부동 소수점 버스를 통하여 통신하도록 접속되어 있고, 상기 부동 소수점 버스를 통하여 출력 기하 패킷을 수신하고 기하 객체를 규정하는 매개변수를 포함하는 드로 패킷을 발생하고 드로 버스를 통하여 상기 드로 패킷을 전송하는 적어도 하나의 부동 소수점 처리기;
    각기 기하 객체에 대응하는 에지워킹과 주사 보간 기능을 수행함으로써 상기 기하 객체에 대응하는 픽셀의 서브세트를 렌더링하고, 드로 버스를 통하여 드로 패킷을 동시에 수신하는 다수의 드로 처리기; 및
    드로 처리기들 중의 하나로부터 각기 픽셀의 서브세트를 수신하는 다수의 인터리브 뱅크로 이루어지는 프레임 버퍼;를 포함하는 것을 특징으로 하는 그래픽 가속기.
  2. 제 1 항에 있어서, 상기 명령 전처리기는 직접 메모리 액세스 프로토콜에 따라서 호스트 버스를 통하여 입력 정점 패킷을 액세스하는 것을 특징으로 하는 그래픽 가속기.
  3. 제 2 항에 있어서, 상기 명령 전처리기는 호스트 버스를 통하여 가상 메모리 포인터를 수신하고, 호스트 버스를 통하여 기하 데이터를 판독하기 위하여 가상 메모리 포인터를 물리적 메모리 포인터로 전환하고, 이때 상기 가상 메모리 포인터는 메모리 서브시스템에서 입력 정점 패킷을 포함하는 기하 데이터 어레이를 지정하는 것을 특징으로 하는 그래픽 가속기.
  4. 제 1 항에 있어서, 상기 명령 전처리기는 호스트 버스를 통하여 프로그램된 입/출력 통신 프로토콜에 따라서 입력 정점 패킷을 액세스하는 것을 특징으로 하는 그래픽 가속기.
  5. 제 1 항에 있어서, 상기 부동 소수점 처리기는 부동 소수점 버스를 통하여 출력 기하 패킷을 수신하는 다중 엔트리 입력 버퍼를 포함하고 부동 소수점 버스를 통하여 입력 버퍼의 엔트리가 이용가능한지 아닌지를 표시하는 버퍼 상태 신호를 명령 전처리기로 전송하는 것을 특징으로 하는 그래픽 가속기.
  6. 제 1 항에 있어서, 상기 부동 소수점 처리기는 드로 패킷을 홀드하는 출력 버퍼를 포함하고 드로 버스를 통하여 출력 버퍼로 하여금 드로 패킷을 전송하도록하는 제어 신호를 드로 버스를 통하여 명령 전처리기로부터 수신하는 것을 특징으로 하는 그래픽가속기.
  7. 제 1 항에 있어서, 상기 드로 처리기는 한 세트의 5 개 드로 처리기를 포함함으로써 각각의 드로 처리기는 기하 객체에 대응하는 주사 라인당 매 5 번째 픽셀을 렌더링하는 것을 특징으로 하는 그래픽 가속기.
  8. 제 7 항에 있어서, 상기 프레임 버퍼는 한 세트의 5 개 인터리빙된 비디오 랜덤 액세스 메모리(VRAM) 뱅크를 포함하는 것을 특징으로 하는 그래픽 가속기.
  9. 제 8 항에 있어서, 각각의 드로 처리기는 프레임 버퍼의 개별적인 인터리브 VRAM 뱅크를 액세스하는 메모리 회로를 포함하는 것을 특징으로 하는 그래픽 가속기.
  10. 기하 객체를 렌더링하는 방법에 있어서,
    호스트 버스를 통하여 입력 정점 패킷을 액세스하고, 미리 규정된 정점 포맷에 따라서 그 입력 정점 패킷을 재포맷된 정점 패킷으로 재포맷하는 단계;
    재포맷된 정점 패킷을 출력 기하 패킷으로 조립하고 부동 소수점 버스를 통하여 그 출력 기하 패킷을 전송하는 단계;
    부동 소수점 버스를 통하여 재포맷된 정점 패킷을 수신하고, 기하 객체를 규정하는 매개변수를 포함하는 드로 패킷을 발생하는 단계;
    드로 버스를 통하여 드로 패킷을 전송하는 단계;
    드로 버스를 통하여 드로 패킷을 수신하고, 기하 객체에 따라서 에지워킹과 주사 보간 기능을 수행함으로써 그 기하 객체에 대응하는 픽셀의 서브세트가 렌더링되는 단계;
    상기 픽셀의 서브세트를 인터리빙된 프레임 버퍼의 인터리브 뱅크로 전송하는 단계;를 포함하는 것을 특징으로 하는 방법.
  11. 제 10 항에 있어서, 호스트 버스를 통하여 입력 정점 패킷을 액세스하는 단계는 호스트 버스를 통하여 직접 메모리 액세스 프로토콜에 따라서 입력 정점 패킷을 액세스하는 단계를 포함하는 것을 특징으로 하는 방법.
  12. 제 11 항에 있어서, 호스트 버스를 통하여 입력 정점 패킷을 액세스하는 단계는, 호스트 버스를 통하여 메모리 서브시스템에서 입력 정점 패킷을 포함하는 기하 데이터 어레이를 지정하는 가상 메모리 포인터를 수신하는 단계;
    상기 가상 메모리 포인터를 물리적 메모리 포인터로 변환하는 단계;
    상기 물리적 메모리 포인터에 따라서 호스트 버스를 통하여 기하 데이터 어레이를 판독하는 단계;를 포함하는 것을 특징으로 하는 방법.
  13. 제 10 항에 있어서, 호스트 버스를 통하여 입력 정점 패킷을 액세스하는 단계는 호스트 버스를 통하여 프로그램된 입/출력 통신 프로토콜에 따라서 입력 정점 패킷을 액세스하는 단계를 포함하는 것을 특징으로 하는 방법.
  14. 제 10 항에 있어서, 부동 소수점 버스를 통하여 출력 기하 패킷을 전송하는 단계는, 부동 소수점 버스를 통하여 입력 버퍼내의 엔트리가 이용가능한지를 표시하는 버퍼 상태 신호를 감지하는 단계;
    입력 버퍼가 이용가능하다면 부동 소수점 버스를 통하여 출력 기하 패킷을 입력 버퍼로 전송하는 단계;를 포함하는 것을 특징으로 하는 방법.
  15. 제 10 항에 있어서, 드로 버스를 통하여 드로 패킷을 전송하는 단계는,
    드로 버스를 통하여 제어신호를 감지하는 단계;
    상기 제어신호가 감지되면 드로 버스를 통하여 드로 패킷을 전송하는 단계;를 포함하는 것을 특징으로 하는 방법.
  16. 제 10 항에 있어서, 픽셀의 서브세트는 3 차원 삼각형에 대응하는 주사라인당 매 5 번 째 픽셀을 포함하는 것을 특징으로 하는 방법.
  17. 제 16 항에 있어서, 프레임 버퍼는 한 세트의 5 개 인터리빙된 비디오 랜덤액세스 메모리(VRAM) 뱅크를 포함하는 것을 특징으로 하는 방법.
KR1019940012520A 1993-06-04 1994-06-03 고성능3차원그래픽가속기의아키텍쳐 KR100328421B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/071,699 1993-06-04
US08/071,699 US5392393A (en) 1993-06-04 1993-06-04 Architecture for a high performance three dimensional graphics accelerator

Publications (2)

Publication Number Publication Date
KR950001541A KR950001541A (ko) 1995-01-03
KR100328421B1 true KR100328421B1 (ko) 2002-06-22

Family

ID=22102997

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1019940012520A KR100328421B1 (ko) 1993-06-04 1994-06-03 고성능3차원그래픽가속기의아키텍쳐
KR1019940012656A KR100301223B1 (ko) 1993-06-04 1994-06-04 고성능3차원그래픽가속기를위한드로우처리기

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1019940012656A KR100301223B1 (ko) 1993-06-04 1994-06-04 고성능3차원그래픽가속기를위한드로우처리기

Country Status (5)

Country Link
US (2) US5392393A (ko)
EP (1) EP0627700B1 (ko)
JP (1) JP3491773B2 (ko)
KR (2) KR100328421B1 (ko)
DE (1) DE69430884T2 (ko)

Families Citing this family (145)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3098342B2 (ja) * 1992-11-26 2000-10-16 富士通株式会社 並列処理装置における処理順序指定方式
US5712664A (en) * 1993-10-14 1998-01-27 Alliance Semiconductor Corporation Shared memory graphics accelerator system
JPH07225852A (ja) * 1994-02-15 1995-08-22 Fujitsu Ltd 動画生成方法および装置
US5548709A (en) * 1994-03-07 1996-08-20 Silicon Graphics, Inc. Apparatus and method for integrating texture memory and interpolation logic in a computer system
DE69521741T2 (de) 1994-05-03 2002-05-23 Sun Microsystems Inc Direktzugriffspeicher und System für Rasterpuffer
WO1995034051A1 (en) * 1994-06-06 1995-12-14 Spectragraphics Corporation Method and apparatus for capturing and distributing graphical data
JPH10502181A (ja) * 1994-06-20 1998-02-24 ネオマジック・コーポレイション メモリインタフェースのないグラフィックスコントローラ集積回路
EP0693737A3 (en) * 1994-07-21 1997-01-08 Ibm Method and apparatus for managing tasks in a multiprocessor system
US6275869B1 (en) 1994-11-22 2001-08-14 Eastman Kodak Company System for network communication of image information between imaging devices according to multiple protocols
US5630101A (en) * 1994-11-22 1997-05-13 Minnesota Mining And Manufacturing Company System for communication of image information between multiple-protocol imaging devices
EP0734010B1 (en) * 1995-03-21 2005-01-26 Sun Microsystems, Inc. Video frame signature capture
US5696534A (en) * 1995-03-21 1997-12-09 Sun Microsystems Inc. Time multiplexing pixel frame buffer video output
US6025853A (en) * 1995-03-24 2000-02-15 3Dlabs Inc. Ltd. Integrated graphics subsystem with message-passing architecture
US5764228A (en) * 1995-03-24 1998-06-09 3Dlabs Inc., Ltd. Graphics pre-processing and rendering system
US5594854A (en) * 1995-03-24 1997-01-14 3Dlabs Inc. Ltd. Graphics subsystem with coarse subpixel correction
JP2716397B2 (ja) * 1995-04-20 1998-02-18 新潟日本電気株式会社 グラフィクスコントローラ
FR2735253B1 (fr) * 1995-06-08 1999-10-22 Hewlett Packard Co Synchronisation de donnees entre plusieurs dispositifs de restitution asynchrones de donnees
WO1997002546A1 (fr) * 1995-07-03 1997-01-23 Tsuneo Ikedo Circuit graphique pour ordinateur
US5877779A (en) * 1995-07-06 1999-03-02 Sun Microsystems, Inc. Method and apparatus for efficient rendering of three-dimensional scenes
US6525722B1 (en) 1995-08-04 2003-02-25 Sun Microsystems, Inc. Geometry compression for regular and irregular mesh structures
US6747644B1 (en) 1995-08-04 2004-06-08 Sun Microsystems, Inc. Decompression of surface normals in three-dimensional graphics data
US5842004A (en) * 1995-08-04 1998-11-24 Sun Microsystems, Inc. Method and apparatus for decompression of compressed geometric three-dimensional graphics data
US5793371A (en) * 1995-08-04 1998-08-11 Sun Microsystems, Inc. Method and apparatus for geometric compression of three-dimensional graphics data
US5794016A (en) * 1995-12-11 1998-08-11 Dynamic Pictures, Inc. Parallel-processor graphics architecture
US5812138A (en) * 1995-12-19 1998-09-22 Cirrus Logic, Inc. Method and apparatus for dynamic object indentification after Z-collision
US5850346A (en) * 1995-12-27 1998-12-15 Mitsubishi Electric Information Technology Center America, Inc. System for embedding hidden source information in three-dimensional computer model data
US5736987A (en) * 1996-03-19 1998-04-07 Microsoft Corporation Compression of graphic data normals
KR100207664B1 (ko) * 1996-04-02 1999-07-15 윤종용 격자점 데이터들의 병렬적인 액세스를 가능하게 하는 삼차원 데이터 저장 방법
US5821950A (en) * 1996-04-18 1998-10-13 Hewlett-Packard Company Computer graphics system utilizing parallel processing for enhanced performance
JP3402926B2 (ja) * 1996-05-15 2003-05-06 シャープ株式会社 3次元画像処理装置
US5740409A (en) * 1996-07-01 1998-04-14 Sun Microsystems, Inc. Command processor for a three-dimensional graphics accelerator which includes geometry decompression capabilities
US5874969A (en) * 1996-07-01 1999-02-23 Sun Microsystems, Inc. Three-dimensional graphics accelerator which implements multiple logical buses using common data lines for improved bus communication
US5821949A (en) * 1996-07-01 1998-10-13 Sun Microsystems, Inc. Three-dimensional graphics accelerator with direct data channels for improved performance
US6115047A (en) * 1996-07-01 2000-09-05 Sun Microsystems, Inc. Method and apparatus for implementing efficient floating point Z-buffering
US6046746A (en) * 1996-07-01 2000-04-04 Sun Microsystems, Inc. Method and apparatus implementing high resolution rendition of Z-buffered primitives
US5745125A (en) * 1996-07-02 1998-04-28 Sun Microsystems, Inc. Floating point processor for a three-dimensional graphics accelerator which includes floating point, lighting and set-up cores for improved performance
US6343309B1 (en) 1996-09-30 2002-01-29 International Business Machines Corporaton Method and apparatus for parallelizing a graphics pipeline
JP3763136B2 (ja) * 1996-12-27 2006-04-05 ソニー株式会社 描画方法および描画装置
CA2227531C (en) * 1997-01-20 2003-03-18 Hitachi, Ltd. Graphics processing unit and graphics processing system
JPH10269377A (ja) 1997-03-27 1998-10-09 Toshiba Corp 表示制御システムおよび3次元グラフィクスデータの表示制御方法
US6278645B1 (en) * 1997-04-11 2001-08-21 3Dlabs Inc., Ltd. High speed video frame buffer
US6069638A (en) * 1997-06-25 2000-05-30 Micron Electronics, Inc. System for accelerated graphics port address remapping interface to main memory
US6249853B1 (en) 1997-06-25 2001-06-19 Micron Electronics, Inc. GART and PTES defined by configuration registers
US6282625B1 (en) 1997-06-25 2001-08-28 Micron Electronics, Inc. GART and PTES defined by configuration registers
US6417848B1 (en) 1997-08-25 2002-07-09 Ati International Srl Pixel clustering for improved graphics throughput
US6191791B1 (en) * 1997-09-30 2001-02-20 Hewlett-Packard Company Methods for high precision, memory efficient surface normal compression and expansion
US6532016B1 (en) * 1997-10-23 2003-03-11 Texas Instruments Incorporated Method of processing print data using parallel raster image processing
US6252612B1 (en) 1997-12-30 2001-06-26 Micron Electronics, Inc. Accelerated graphics port for multiple memory controller computer system
US7071946B2 (en) * 1997-12-30 2006-07-04 Micron Technology, Inc. Accelerated graphics port for a multiple memory controller computer system
US6157398A (en) * 1997-12-30 2000-12-05 Micron Technology, Inc. Method of implementing an accelerated graphics port for a multiple memory controller computer system
JP4275790B2 (ja) * 1998-03-19 2009-06-10 富士通マイクロエレクトロニクス株式会社 図形選別ユニット及び図形描画装置
US7136068B1 (en) 1998-04-07 2006-11-14 Nvidia Corporation Texture cache for a computer graphics accelerator
US7038692B1 (en) * 1998-04-07 2006-05-02 Nvidia Corporation Method and apparatus for providing a vertex cache
US6650327B1 (en) * 1998-06-16 2003-11-18 Silicon Graphics, Inc. Display system having floating point rasterization and floating point framebuffering
WO2000004484A2 (en) 1998-07-17 2000-01-27 Intergraph Corporation Wide instruction word graphics processor
JP3983394B2 (ja) 1998-11-09 2007-09-26 株式会社ルネサステクノロジ 幾何学処理プロセッサ
US6204854B1 (en) * 1998-12-04 2001-03-20 France Telecom Method and system for encoding rotations and normals in 3D generated scenes
US6452603B1 (en) * 1998-12-23 2002-09-17 Nvidia Us Investment Company Circuit and method for trilinear filtering using texels from only one level of detail
US6377265B1 (en) * 1999-02-12 2002-04-23 Creative Technology, Ltd. Digital differential analyzer
JP3169933B2 (ja) * 1999-03-16 2001-05-28 四国日本電気ソフトウェア株式会社 並列描画装置
US6919895B1 (en) 1999-03-22 2005-07-19 Nvidia Corporation Texture caching arrangement for a computer graphics accelerator
US6407736B1 (en) 1999-06-18 2002-06-18 Interval Research Corporation Deferred scanline conversion architecture
US6411301B1 (en) 1999-10-28 2002-06-25 Nintendo Co., Ltd. Graphics system interface
US6717577B1 (en) * 1999-10-28 2004-04-06 Nintendo Co., Ltd. Vertex cache for 3D computer graphics
US6618048B1 (en) 1999-10-28 2003-09-09 Nintendo Co., Ltd. 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components
US6452600B1 (en) 1999-10-28 2002-09-17 Nintendo Co., Ltd. Graphics system interface
US7796132B1 (en) * 1999-11-18 2010-09-14 Namco Bandai Games Inc. Image generation system and program
US7483042B1 (en) * 2000-01-13 2009-01-27 Ati International, Srl Video graphics module capable of blending multiple image layers
JP4568950B2 (ja) * 2000-02-29 2010-10-27 ソニー株式会社 グラフィックス描画装置
AU2001239559A1 (en) * 2000-03-23 2001-10-03 Sony Computer Entertainment Inc. Image processing apparatus and method
US6924807B2 (en) 2000-03-23 2005-08-02 Sony Computer Entertainment Inc. Image processing apparatus and method
US6857061B1 (en) 2000-04-07 2005-02-15 Nintendo Co., Ltd. Method and apparatus for obtaining a scalar value directly from a vector register
US6859862B1 (en) 2000-04-07 2005-02-22 Nintendo Co., Ltd. Method and apparatus for software management of on-chip cache
US7119813B1 (en) 2000-06-02 2006-10-10 Nintendo Co., Ltd. Variable bit field encoding
US7405734B2 (en) * 2000-07-18 2008-07-29 Silicon Graphics, Inc. Method and system for presenting three-dimensional computer graphics images using multiple graphics processing units
JP3466173B2 (ja) * 2000-07-24 2003-11-10 株式会社ソニー・コンピュータエンタテインメント 画像処理システム、デバイス、方法及びコンピュータプログラム
US6664962B1 (en) 2000-08-23 2003-12-16 Nintendo Co., Ltd. Shadow mapping in a low cost graphics system
US6937245B1 (en) 2000-08-23 2005-08-30 Nintendo Co., Ltd. Graphics system with embedded frame buffer having reconfigurable pixel formats
US7034828B1 (en) 2000-08-23 2006-04-25 Nintendo Co., Ltd. Recirculating shade tree blender for a graphics system
US7538772B1 (en) 2000-08-23 2009-05-26 Nintendo Co., Ltd. Graphics processing system with enhanced memory controller
US6700586B1 (en) 2000-08-23 2004-03-02 Nintendo Co., Ltd. Low cost graphics with stitching processing hardware support for skeletal animation
US6811489B1 (en) 2000-08-23 2004-11-02 Nintendo Co., Ltd. Controller interface for a graphics system
US6825851B1 (en) 2000-08-23 2004-11-30 Nintendo Co., Ltd. Method and apparatus for environment-mapped bump-mapping in a graphics system
US6664958B1 (en) 2000-08-23 2003-12-16 Nintendo Co., Ltd. Z-texturing
US6606689B1 (en) 2000-08-23 2003-08-12 Nintendo Co., Ltd. Method and apparatus for pre-caching data in audio memory
US7184059B1 (en) 2000-08-23 2007-02-27 Nintendo Co., Ltd. Graphics system with copy out conversions between embedded frame buffer and main memory
US6707458B1 (en) 2000-08-23 2004-03-16 Nintendo Co., Ltd. Method and apparatus for texture tiling in a graphics system
US6609977B1 (en) 2000-08-23 2003-08-26 Nintendo Co., Ltd. External interfaces for a 3D graphics system
US7134960B1 (en) * 2000-08-23 2006-11-14 Nintendo Co., Ltd. External interfaces for a 3D graphics system
US6639595B1 (en) 2000-08-23 2003-10-28 Nintendo Co., Ltd. Achromatic lighting in a graphics system and method
US6636214B1 (en) 2000-08-23 2003-10-21 Nintendo Co., Ltd. Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode
US6580430B1 (en) 2000-08-23 2003-06-17 Nintendo Co., Ltd. Method and apparatus for providing improved fog effects in a graphics system
US7002591B1 (en) 2000-08-23 2006-02-21 Nintendo Co., Ltd. Method and apparatus for interleaved processing of direct and indirect texture coordinates in a graphics system
US6999100B1 (en) 2000-08-23 2006-02-14 Nintendo Co., Ltd. Method and apparatus for anti-aliasing in a graphics system
US6867781B1 (en) 2000-08-23 2005-03-15 Nintendo Co., Ltd. Graphics pipeline token synchronization
US6980218B1 (en) 2000-08-23 2005-12-27 Nintendo Co., Ltd. Method and apparatus for efficient generation of texture coordinate displacements for implementing emboss-style bump mapping in a graphics rendering system
US7196710B1 (en) * 2000-08-23 2007-03-27 Nintendo Co., Ltd. Method and apparatus for buffering graphics data in a graphics system
US7079133B2 (en) * 2000-11-16 2006-07-18 S3 Graphics Co., Ltd. Superscalar 3D graphics engine
US6697074B2 (en) * 2000-11-28 2004-02-24 Nintendo Co., Ltd. Graphics system interface
US6803916B2 (en) 2001-05-18 2004-10-12 Sun Microsystems, Inc. Rasterization using two-dimensional tiles and alternating bins for improved rendering utilization
US7092035B1 (en) * 2001-07-09 2006-08-15 Lsi Logic Corporation Block move engine with scaling and/or filtering for video or graphics
US6961803B1 (en) * 2001-08-08 2005-11-01 Pasternak Solutions Llc Sliced crossbar architecture with no inter-slice communication
US7003588B1 (en) 2001-08-22 2006-02-21 Nintendo Co., Ltd. Peripheral devices for a video game system
US7418574B2 (en) * 2002-10-31 2008-08-26 Lockheed Martin Corporation Configuring a portion of a pipeline accelerator to generate pipeline date without a program instruction
US8687010B1 (en) 2004-05-14 2014-04-01 Nvidia Corporation Arbitrary size texture palettes for use in graphics systems
US8711155B2 (en) * 2004-05-14 2014-04-29 Nvidia Corporation Early kill removal graphics processing system and method
US8743142B1 (en) 2004-05-14 2014-06-03 Nvidia Corporation Unified data fetch graphics processing system and method
US8860722B2 (en) * 2004-05-14 2014-10-14 Nvidia Corporation Early Z scoreboard tracking system and method
US8736620B2 (en) * 2004-05-14 2014-05-27 Nvidia Corporation Kill bit graphics processing system and method
US8736628B1 (en) 2004-05-14 2014-05-27 Nvidia Corporation Single thread graphics processing system and method
US20060230377A1 (en) * 2004-10-01 2006-10-12 Lockheed Martin Corporation Computer-based tool and method for designing an electronic circuit and related system
US8089486B2 (en) * 2005-03-21 2012-01-03 Qualcomm Incorporated Tiled prefetched and cached depth buffer
US7616207B1 (en) * 2005-04-25 2009-11-10 Nvidia Corporation Graphics processing system including at least three bus devices
US10026140B2 (en) 2005-06-10 2018-07-17 Nvidia Corporation Using a scalable graphics system to enable a general-purpose multi-user computer system
KR100706917B1 (ko) * 2005-08-03 2007-04-12 엠텍비젼 주식회사 실시간 이미지 스케일링 장치, 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체
US7436412B2 (en) * 2005-08-24 2008-10-14 Qualcomm Incorporated Graphics engine with efficient interpolation
US7525548B2 (en) * 2005-11-04 2009-04-28 Nvidia Corporation Video processing with multiple graphical processing units
US7750915B1 (en) * 2005-12-19 2010-07-06 Nvidia Corporation Concurrent access of data elements stored across multiple banks in a shared memory resource
US7768517B2 (en) 2006-02-21 2010-08-03 Nvidia Corporation Asymmetric multi-GPU processing
US8134566B1 (en) * 2006-07-28 2012-03-13 Nvidia Corporation Unified assembly instruction set for graphics processing
US7973797B2 (en) * 2006-10-19 2011-07-05 Qualcomm Incorporated Programmable blending in a graphics processing unit
US8537168B1 (en) 2006-11-02 2013-09-17 Nvidia Corporation Method and system for deferred coverage mask generation in a raster stage
US8022958B2 (en) 2007-04-04 2011-09-20 Qualcomm Incorporated Indexes of graphics processing objects in graphics processing unit commands
US20090046105A1 (en) * 2007-08-15 2009-02-19 Bergland Tyson J Conditional execute bit in a graphics processor unit pipeline
US9183607B1 (en) 2007-08-15 2015-11-10 Nvidia Corporation Scoreboard cache coherence in a graphics pipeline
US8314803B2 (en) 2007-08-15 2012-11-20 Nvidia Corporation Buffering deserialized pixel data in a graphics processor unit pipeline
US8775777B2 (en) * 2007-08-15 2014-07-08 Nvidia Corporation Techniques for sourcing immediate values from a VLIW
US8521800B1 (en) 2007-08-15 2013-08-27 Nvidia Corporation Interconnected arithmetic logic units
US8599208B2 (en) * 2007-08-15 2013-12-03 Nvidia Corporation Shared readable and writeable global values in a graphics processor unit pipeline
US8736624B1 (en) 2007-08-15 2014-05-27 Nvidia Corporation Conditional execution flag in graphics applications
US8576228B2 (en) * 2008-01-18 2013-11-05 Sony Corporation Composite transition nodes for use in 3D data generation
CN102867287B (zh) 2008-08-07 2015-09-30 三菱电机株式会社 仪器状态显示装置
US9053562B1 (en) 2010-06-24 2015-06-09 Gregory S. Rabin Two dimensional to three dimensional moving image converter
US9401046B2 (en) * 2011-02-07 2016-07-26 Intel Corporation Micropolygon splatting
US8640047B2 (en) 2011-06-01 2014-01-28 Micorsoft Corporation Asynchronous handling of a user interface manipulation
CN102495726B (zh) 2011-11-15 2015-05-20 无锡德思普科技有限公司 机会多线程方法及处理器
US9411595B2 (en) 2012-05-31 2016-08-09 Nvidia Corporation Multi-threaded transactional memory coherence
US9824009B2 (en) 2012-12-21 2017-11-21 Nvidia Corporation Information coherency maintenance systems and methods
US10102142B2 (en) 2012-12-26 2018-10-16 Nvidia Corporation Virtual address based memory reordering
US9992021B1 (en) 2013-03-14 2018-06-05 GoTenna, Inc. System and method for private and point-to-point communication between computing devices
US9569385B2 (en) 2013-09-09 2017-02-14 Nvidia Corporation Memory transaction ordering
US9766894B2 (en) * 2014-02-06 2017-09-19 Optimum Semiconductor Technologies, Inc. Method and apparatus for enabling a processor to generate pipeline control signals
US9558000B2 (en) 2014-02-06 2017-01-31 Optimum Semiconductor Technologies, Inc. Multithreading using an ordered list of hardware contexts
US11488349B2 (en) 2019-06-28 2022-11-01 Ati Technologies Ulc Method and apparatus for alpha blending images from different color formats
US11869123B2 (en) * 2021-08-03 2024-01-09 Adobe Inc. Anti-aliasing two-dimensional vector graphics using a compressed vertex buffer

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0460420A2 (en) * 1990-06-04 1991-12-11 International Business Machines Corporation Bi-directional graphics attribute conversion profile

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3924759A1 (de) * 1989-07-26 1991-02-07 Fraunhofer Ges Forschung Multiprozessorsystem fuer die graphische datenverarbeitung
US5317682A (en) * 1989-10-24 1994-05-31 International Business Machines Corporation Parametric curve evaluation method and apparatus for a computer graphics display system
US5159665A (en) * 1989-11-27 1992-10-27 Sun Microsystems, Inc. Graphics accelerator system
US5293480A (en) * 1990-08-06 1994-03-08 At&T Bell Laboratories High resolution graphics system architecture
US5220650A (en) * 1991-01-22 1993-06-15 Hewlett-Packard Company High speed method for rendering antialiased vectors
US5307449A (en) * 1991-12-20 1994-04-26 Apple Computer, Inc. Method and apparatus for simultaneously rendering multiple scanlines

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0460420A2 (en) * 1990-06-04 1991-12-11 International Business Machines Corporation Bi-directional graphics attribute conversion profile

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IEEE Computer Graphics and Applications Volume: 9 4 , Page(s): 56 -62 ( July 1989 )의 Graphics processing on a graphics supercomputer *

Also Published As

Publication number Publication date
KR100301223B1 (ko) 2001-10-24
EP0627700B1 (en) 2002-07-03
US5440682A (en) 1995-08-08
DE69430884D1 (de) 2002-08-08
US5392393A (en) 1995-02-21
KR950001541A (ko) 1995-01-03
JP3491773B2 (ja) 2004-01-26
DE69430884T2 (de) 2003-02-27
EP0627700A3 (en) 1995-02-01
JPH06348854A (ja) 1994-12-22
KR950001544A (ko) 1995-01-03
EP0627700A2 (en) 1994-12-07

Similar Documents

Publication Publication Date Title
KR100328421B1 (ko) 고성능3차원그래픽가속기의아키텍쳐
KR100301222B1 (ko) 고성능3차원그래픽가속기용명령전처리기
US6025853A (en) Integrated graphics subsystem with message-passing architecture
US5764228A (en) Graphics pre-processing and rendering system
US5764243A (en) Rendering architecture with selectable processing of multi-pixel spans
US5821949A (en) Three-dimensional graphics accelerator with direct data channels for improved performance
US5874969A (en) Three-dimensional graphics accelerator which implements multiple logical buses using common data lines for improved bus communication
Potmesil et al. The pixel machine: a parallel image computer
US7522171B1 (en) On-the-fly reordering of 32-bit per component texture images in a multi-cycle data transfer
US5835096A (en) Rendering system using 3D texture-processing hardware for accelerated 2D rendering
US5727192A (en) Serial rendering system with auto-synchronization on frame blanking
US6078339A (en) Mutual exclusion of drawing engine execution on a graphics device
US5740409A (en) Command processor for a three-dimensional graphics accelerator which includes geometry decompression capabilities
US6166743A (en) Method and system for improved z-test during image rendering
EP0631252B1 (en) Draw processor for a high performance three dimensional graphics accelerator
US6864892B2 (en) Graphics data synchronization with multiple data paths in a graphics accelerator
US6847369B2 (en) Optimized packing of loose data in a graphics queue
US6741256B2 (en) Predictive optimizer for DRAM memory
US6885375B2 (en) Stalling pipelines in large designs
US7489315B1 (en) Pixel stream assembly for raster operations
GB2388288A (en) Improving magnified texture-mapped pixel performance in a single-pixel pipeline
US5946003A (en) Method and apparatus for increasing object read-back performance in a rasterizer machine
US7796133B1 (en) Unified shader
US6831645B2 (en) System and method for performing font operations when background color is transparent
JP2005078357A (ja) 画像処理装置およびその方法

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
LAPS Lapse due to unpaid annual fee