무한현실

InfiniteReality
SGI Infinite Reality 2E 보드 세트

InfiniteReality는 1996년부터 2005년까지 실리콘 그래픽스에 의해 개발 및 제조된 상기 하드웨어 아키텍처를 구현한 3D 그래픽 하드웨어 아키텍처와 그래픽 시스템 시리즈를 말합니다.InfiniteReality는 실리콘 그래픽스의 MIPS/IRIX 플랫폼용 하이엔드 시각화 하드웨어로 포지셔닝되었으며 Onyx 시각화 시스템 제품군에서만 사용되었습니다. Onyx 시각화 시스템은 "그래픽 슈퍼컴퓨터" 또는 "시각화 슈퍼컴퓨터"라고도 합니다.InfiniteReality는 컴퓨터 시뮬레이션, 디지털 콘텐츠 제작, 엔지니어링 및 연구에 관여하는 기업 및 대학과 같은 대규모 조직을 대상으로 마케팅 및 사용되었습니다.

무한현실

무한현실(InfiniteReality)은 1996년 초에 도입되어 실리콘 그래픽스 오닉스(Silicon Graphics Onyx)에 사용되었습니다.이 제품은 Reality Engine의 뒤를 이었지만 Onyx는 데스크사이드 "워크스테이션" 구성의 엔트리 레벨 옵션으로 한동안 Infinite Reality와 공존했습니다.

InfiniteReality 아키텍처는 3세대 설계로, 중간 정렬 아키텍처로 분류됩니다.복잡한 장면을 초당 60프레임으로 고품질로 렌더링할 수 있도록 설계되었으며, 이는 Reality Engine의 약 2배에서 4배 성능입니다.OpenGL 그래픽 라이브러리와 함께 사용하도록 명시적으로 설계되었으며 OpenGL 파이프라인의 대부분을 하드웨어에 구현합니다.

구현은 Geometry(Geometry Engine이라고도 함), Raster Memory(Raster Manager라고도 함) 및 Display Generator 보드로 분할되며, 각 보드는 아키텍처 파이프라인의 3개 주요 스테이지의 각 단계에 대응합니다.Silicon Graphics는 Reality Engine을 Infinite Reality로 쉽게 업그레이드하기를 원하기 때문에 보드 세트의 파티션 구성은 Reality Engine과 동일합니다.각 파이프라인은 Geometry Engine 보드 1개, Raster Manager 보드 1개, 2개 또는 4개, Display Generator [1]보드 1개로 구성됩니다.

이 실장은 0.5 마이크로미터 [1]및 0.35 마이크로미터 프로세스로 제작된 12개의 ASIC 설계와 3개의 금속 인터커넥트로 구성됩니다.이러한 ASIC에는 3.3V 전원이 필요합니다.최대 구성의 Infinite Reality 파이프라인에는 2억5100만개의 트랜지스터가 포함되어 있습니다.InfiniteReality는 55명의 [2]엔지니어에 의해 개발되었습니다.

Onyx2 및 Onyx 3000의 특정 모델 등 충분한 기능을 갖춘 시스템을 지정하면 최대 16개의 InfiniteReality 파이프라인을 호스트할 수 있습니다.파이프라인은 멀티시트, 멀티디스플레이 및 멀티파이프의 세 가지 모드로 작동할 수 있습니다.멀티시트 모드에서는 각 파이프라인이 최대 8명의 사용자에게 동시에 서비스를 제공할 수 있습니다.각 사용자는 독자적인 디스플레이, 키보드 및 마우스를 사용할 수 있습니다.멀티 디스플레이 모드에서는 여러 출력이 여러 디스플레이를 구동하므로 가상 현실에서 유용합니다.멀티파이프 모드에는 두 가지 조작 방법이 있습니다.첫 번째 방법에서는 Digital Multiplex(DPLEX; 디지털 멀티플렉서) 도터보드를 모든 파이프라인에 설치해야 합니다.이것에 의해, 복수의 파이프라인의 출력이 조합됩니다.두 번째 방법은 MonsterMode 소프트웨어를 사용하여 프레임을 렌더링하는 데 사용되는 데이터를 여러 파이프라인에 배포합니다.

시스템에 파이프라인을 연결하기 위해 플랫 케이블 인터페이스(FCI) 케이블을 사용하여 지오메트리 보드의 호스트 인터페이스 프로세서 ASIC를 호스트 시스템의 일부인 IO4 보드의 Ibus에 연결합니다.

지오메트리 보드

지오메트리 보드는 지오메트리 및 이미지 처리를 담당하며 4단계로 나뉘며 각 단계는 별도의 장치에 의해 구현됩니다.첫 번째 단계는 호스트 인터페이스입니다.InfiniteReality는 POWERpath-2 버스를 사용하는 기존 공유 메모리 버스 기반 Onyx와 NUMAlink2 인터커넥트를 사용하는 분산 공유 메모리 네트워크 기반 Onyx2의 매우 다른 두 플랫폼용으로 설계되었기 때문에 InfiniteReality는 두 플랫폼에서 동일한 성능을 제공할 수 있는 인터페이스를 가져야 했습니다.착신 대역폭의 큰 차이(각각 [1]200MB/s 대 400MB/s).

이를 위해 내장된 RISC 코어인 호스트 인터페이스 프로세서를 사용하여 Direct Memory Access(DMA; 다이렉트메모리 액세스)를 사용하여 디스플레이 목록 개체를 가져옵니다.Host Interface Processor에는 16 MB의 Synchronous Dynamic Random Access Memory(SDRAM; 동기식 다이내믹랜덤 액세스메모리)가 부속되어 있습니다.이 중 15 MB는 디스플레이 리프 오브젝트를 캐시하기 위해 사용됩니다.캐시는 300MB/s 이상의 속도로 데이터를 다음 단계로 전송할 수 있습니다.다음 단계는 호스트 인터페이스 프로세서에서 개별 지오메트리 엔진으로 데이터와 명령을 전송하는 지오메트리 디스트리뷰터입니다.

다음 단계는 지오메트리와 이미지 처리를 수행하는 것입니다.Geometry Engine은 MIMD(다중 명령 다중 데이터) 방식으로 작동하는 각 Geometry 보드에서 사용됩니다.Geometry Engine은 3개의 부동소수점 코어를 포함하는 단일 명령 다중 데이터(SIMD) 파이프라인을 갖춘 세미 커스텀 ASIC입니다.각 코어에는 2개의 읽기 포트와 2개의 쓰기 포트가 있는 산술 논리 유닛(ALU), 승수 및 32비트 바이 32엔트리 레지스터 파일이 포함됩니다.이러한 코어에는 OpenGL 상태의 요소를 유지하고 스크래치패드 스토리지를 제공하는 32비트 x 2,560 엔트리 메모리가 포함되어 있습니다.각 코어에는 부동소수점 값을 정수 형식으로 변환하는 부동소수점 변환기도 있습니다.지오메트리 엔진은 사이클당 3개의 명령을 완료할 수 있으며, 각 지오메트리 보드는 이러한 4개의 장치를 사용하여 사이클당 12개의 명령을 완료할 수 있습니다.Geometry Engine은 195비트 마이크로 명령을 사용합니다.이 명령어는 퍼포먼스가 약간 떨어지는 대신 크기와 대역폭 사용을 줄이기 위해 압축됩니다.

지오메트리 엔진 프로세서는 90MHz에서 작동하며 이론상 최대 성능인 540MFLOPS를 [2]달성합니다.GE12-4 또는 GE14-4 보드에는 이러한 프로세서가 4개 탑재되어 있기 때문에 이론상 최대 퍼포먼스는 2.16GFLOPS입니다.따라서 16파이프라인 시스템은 이론상 최대 성능인 34.56GFLOPS를 달성합니다.

4단계는 Geometry-Raster FIFO입니다.FIFO 버퍼는 4개의 Geometry Engine의 출력을 1개로 병합하여 발행된 순서대로 출력을 재구성합니다.FIFO는 SDRAM에서 구축되며 용량이 [3]4MB로 65,536개의 정점을 저장할 수 있습니다.변환된 정점은 대역폭이 400MB/s인 삼각 버스(정점 버스라고도 함)에 의해 삼각 재조립 및 설정을 위해 이 FIFO에서 Raster Manager 보드로 이동합니다.

래스터 메모리 보드

래스터 메모리 보드의 기능은 래스터라이즈를 실행하는 것입니다.또한 텍스처 메모리와 프레임버퍼라고 불리는 래스터 메모리도 포함되어 있습니다.래스터라이제이션은 프래그먼트제너레이터와 80 Image Engine에서 실행됩니다.프래그먼트 생성기는 스캔컨버터(SC) ASIC, Texel Address Calculator(TA) ASIC, 텍스처 메모리컨트롤러(TM) ASIC 및 텍스처 프래그먼트(TF) ASIC의 [1]4가지 ASIC 설계로 구성됩니다.

SC ASIC 및 TA ASIC는 스캔 변환, 색상 및 깊이 보간, 투시적 텍스처 좌표 보간 및 착신 데이터에 대한 상세 수준 계산을 수행하고, 그 결과를 텍스트 액세스에 최적화된 8개의 TM ASIC에 전달합니다.각 TM ASIC는 텍스처 메모리의 8분의 1을 구성하는4개의 SDRAM을 제어합니다.사용되는 SDRAM의 폭은 16비트이며 주소와 데이터 버스는 따로 있습니다.4MB 용량의 SDRAM은 16MB의 텍스처 메모리를 탑재한 Raster Manager 보드에서 사용되며 16MB의 SDRAM은 64MB의 텍스처 메모리를 [2]탑재한 Raster Manager 보드에서 사용됩니다.TM ASIC은 TA ASIC에 의해 발행된 텍스트 주소에 따라 SDRAM에서 텍스트 검색을 수행합니다.TM ASIC로부터의 텍셀은 적절한 TF ASIC로 전송되며, 텍스처 필터링, 보간색 및 안개 적용에 의한 텍스처 환경 조합이 수행됩니다.각 SDRAM은 텍스처 메모리의 일부를 보관 유지하므로 32개의 SDRAM을 모두 80개의 모든 이미지 엔진에 연결해야 합니다.이를 실현하기 위해 TM 및 TF ASIC는 2랭크의 오메가 네트워크를 구현합니다.이것에 의해, 같은 기능을 유지하면서, 32 ~80 의 정렬에 필요한 개별 패스의 수가 감소합니다.

80 Image Engine에는 여러 가지 기능이 있습니다.우선 각 Image Engine은 래스터 메모리의 일부를 제어합니다.InfiniteReality의 경우 32비트 워드에 [1][2]의해 262,144로 구성된 1MB SGRAM입니다.둘째, 픽셀 소유권 테스트, 스텐실 테스트, 깊이 버퍼 테스트, 블렌딩, 디더링 및 논리 연산과 같은 OpenGL 조각당 작업이 Image Engine에 의해 수행됩니다.마지막으로 Image Engine은 안티에이리어싱 및 누적 버퍼 작업을 수행합니다.디스플레이용 픽셀 데이터를 제공하기 위해 각 Image Engine에는 디스플레이 제너레이터 보드에 2비트 시리얼 버스가 있습니다.파이프라인에 1개의 Raster Manager 보드가 있는 경우 Image Engine은 버스의 전체 폭을 사용하는 반면, 여러 Raster Manager 보드가 있는 경우 Image Engine은 [1]버스의 절반을 사용합니다.각 시리얼 버스는 실제로는 1.2GB/s의 대역폭을 가진 비디오버스의 일부입니다.Image Engine ASIC에는 4개의 "코어"가 포함되어 있습니다.ASIC에는 VLSI 테크놀로지에2 의해 0.35마이크로미터 공정으로 제조된 42mm(6.5x6.5mm) 다이 상에 195만개의 트랜지스터로 구성된 약 488,000개의 로직 게이트가 포함되어 있습니다.

InfiniteReality는 RM6-16 또는 RM6-64 Raster Manager를 사용합니다.Raster Manager 보드가 각각 1개,[4] 2개 또는 4개 있는 경우 각 파이프라인은 262, 5.24 또는 1048만 화소의 해상도를 표시할 수 있습니다.래스터 메모리는 픽셀당 256, 512 또는 1024비트를 사용하도록 구성할 수 있습니다.320 MB는 2560 x 2048 픽셀의 해상도를 지원하며 각 픽셀에는 512비트의 [2]정보가 포함되어 있습니다.4개의 Raster Manager가 있는 구성에서는 텍스처 메모리의 대역폭은 15.36GB/s, 래스터 메모리의 대역폭은 72.8GB/s입니다.

디스플레이 제너레이터 보드

DG4-2 Display Generator 보드에는 최대 2개의 비디오 출력을 구동할 수 있는 하드웨어가 포함되어 있습니다.DG4-8이라고 불리는 구성인 옵션 도터보드를 사용하면 비디오 출력을 8개까지 확장할 수 있습니다.출력은 독립적이며 각 출력에는 비디오 타이밍, 비디오 크기 조정, 감마 보정, genlock 및 디지털-아날로그 변환을 생성하기 위한 하드웨어가 있습니다.디지털-아날로그 변환은 최대 220MHz의 픽셀 클럭 주파수를 지원하는8비트 디지털-아날로그 컨버터에 의해 제공됩니다.

비디오 출력 데이터는 4개의 ASIC에 의해 제공되며, 이 ASIC는 160비트스트림을 10비트컴포넌트 RGBA, 12비트컴포넌트 RBGA, L16, 스테레오필드시퀀셜(FS) 또는 컬러인덱스로 디시리얼라이즈 및 디인터리브합니다.이 단계에서는 하드웨어에도 커서가 포함되어 있습니다.32,768 엔트리 컬러 인덱스 맵을 사용할 수 있습니다.

기능과 퍼포먼스

InfiniteReality는 다음과 같은 몇 가지 고급 기능을 제공할 수 있었습니다.

  • 8x8 멀티패키지 안티에일리어스[5]
  • 최대 색심도[5] 48비트 RGBA
  • 16개의 오버레이[5] 평면
  • 24비트 부동소수점 Z 버퍼[5]
  • 각 픽셀은 256~1,048비트의 데이터로 구성됩니다.
  • 스테레오 시청이 지원되어 쿼드 버퍼링 완료

Infinite Reality의 퍼포먼스는 다음과 같습니다.

  • 1,100만 개의 비선명, 깊이 조절, 안티에이리어스, 삼각형 스트립(각 40픽셀)/초
  • 초당 830만 개의 텍스처, 깊이 조절, 안티에이리어스, 삼각형 스트립(각 50픽셀)
  • 초당 700만 개 이상의 조명, 텍스처링 및 안티에이리어스 삼각형
  • 8억 개의 3선형 mip-timeout, 텍스처, 16비트 텍셀, 깊이 버퍼링 픽셀/초
  • 7억 5천만 개의 삼선형 mip-flash, 텍스처링, 16비트 텍셀, 4x4 서브샘플 안티에이리어싱, 깊이 버퍼링 픽셀/초
  • 초당 7억 1천만 화소 이상의 텍스처 및 안티에이리어스 처리
  • 1 ~ 8회 출력으로 3억 화소/초 표시

무한현실2

InfiniteReality2는 hinv(시스템에 존재하는 하드웨어를 나열하는 IRIX 유틸리티)가 Onyx2에서 사용되는 InfiniteReality를 나타내는 방법입니다.그러나 InfiniteReality2는 여전히 InfiniteReality로 판매되었습니다.이는 InfiniteReality 아키텍처의 두 번째 구현으로 1996년 말에 도입되었습니다.아키텍처는 InfiniteReality와 동일하지만 Onyx2의 Origin 2000 기반 카드케이지와 Onyx의 Challenge 기반 카드케이지가 다르기 때문에 기계적으로 다릅니다.

InfiniteReality2는 랙마운트 Onyx2 이상 시스템에서 사용되는 인터페이스 스킴을 도입했습니다.FCI 케이블을 통해 호스트 시스템에 연결하는 대신 보드 세트를 미드플레인 후면에 꽂아 2개의 파이프라인을 지원할 수 있습니다.미드플레인에는 11개의 슬롯이 있다.슬롯 6에서 슬롯 11은 첫 번째 파이프라인용입니다.이 파이프라인에는 Raster Manager 보드를 1~4장 탑재할 수 있습니다.슬롯 1~4는 두 번째 파이프라인용입니다.슬롯 수에 따라 1개 또는2개의 Raster Manager 보드를 장착할 수 있습니다.따라서 최대 구성의 Onyx 시스템에서는 16개의 파이프라인의 절반이 최대 2개의 Raster Manager 보드로 제한되는 것을 피하기 위해 파이프라인마다 미드플레인 1개를 사용합니다.슬롯 5에는 미드플레인이 Origin 2000 기반 시스템(Onyx2)에서 사용되는 경우 Ktown 보드가 포함되어 있으며, 미드플레인이 Origin 3000 기반 시스템(Onyx 3000)에서 사용되는 경우 Ktown2 보드가 포함되어 있습니다.이러한 보드의 목적은 호스트 시스템의 XIO 링크를 지오메트리 보드의 호스트 인터페이스 프로세서 ASIC에 연결하는 것입니다.이러한 보드에는 이 목적을 위한 2개의 XIO 포트가 있으며, 상단 XIO 포트는 오른쪽 파이프라인에 연결되고 하단 XIO 포트는 왼쪽 파이프라인에 연결됩니다.

현실

Reality는 동일한 성능을 제공하기 위한 InfiniteReality2의 비용 절감 버전입니다.Reality에서는 GE14-4 Geometry Engine 보드 및 RM7-16 또는 RM7-64 Raster Manager 보드를 사용하는 대신 GE14-2 Geometry Engine 보드 및 RM8-16 또는 RM8-64 Raster Manager 보드를 사용했습니다.GE14-2에는 다른 모델과 같이 4개의 지오메트리 엔진 프로세서가 아닌 2개의 지오메트리 엔진 프로세서가 탑재되어 있습니다.RM8-16 및 RM864에는 각각 16 MB 또는 64 MB의 텍스처 메모리와 40 MB의 래스터 메모리가 있습니다.또한 Reality는 지원할 수 있는 Raster Manager 보드의 수(1~2개)에 의해 제한되었습니다.최대 2개의 RM8-64 Raster Manager 보드로 구성할 경우 Reality 파이프라인에는 80MB의 래스터 메모리가 있습니다.

무한현실2e

InfiniteReality2E는 InfiniteReality2로 판매된 InfiniteReality의 업그레이드로서 1998년에 도입되었습니다.이는 InfiniteReality 보드 세트를 계승하여 2000년에 InfiniteReality3에 의해 계승되었지만 2001년 4월 10일까지 중단되지 않았습니다.

GE14-4 Geometry Engine 보드를 GE16-4 Geometry Engine 보드로 교체하고 RM7-16 또는 RM7-64 Raster Manager 보드를 RM9-64 Raster Manager 보드로 교체하여 Infinite Reality를 개선합니다.새로운 지오메트리 엔진 보드는 112MHz로 [6]작동하여 지오메트리와 이미지 처리 성능을 향상시켰습니다.새로운 Raster Manager 보드는 72MHz로 [6]작동하여 안티에이리어스 픽셀 채우기 성능을 개선했습니다.

무한현실3

InfiniteReality3는 2000년에 Onyx 3000과 함께 InfiniteReality2를 대체하기 위해 도입되었습니다.Onyx2 및 Onyx 3000 시각화 시스템에서 사용되었습니다.이전 구현보다 개선된 것은 RM9-64 Raster Manager를 RM10-256 Raster Manager로 교체한 것뿐입니다.RM10-256 Raster Manager는 256MB의 텍스처 메모리를 갖추고 있어 이전 Raster Manager의 4배에 달합니다.최대 4개의 Raster Manager로 구성된 경우 InfiniteReality3 파이프라인은 320MB의 Raster 메모리를 제공합니다.

무한현실 4

InfiniteReality4는 2002년에 InfiniteReality3의 뒤를 이을 목적으로 도입되었습니다.Onyx2, Onyx3000 및 Onyx350에서 사용되었습니다.이 제품은 InfiniteReality 패밀리의 마지막 멤버이며 Onyx4에서 사용된 ATI FireGL 기반의 UltimateVision이 그 뒤를 이었습니다.이전 구현보다 개선된 것은 RM10-256 Raster Manager를 RM11-1024 Raster Manager로 교체한 것뿐입니다.이것에 의해 퍼포먼스는 향상되어 1GB의 텍스처 메모리와 2.5GB의 래스터 메모리는 각각 이전 Raster Manager의 4배와 32배에 달합니다.최대 4개의 Raster Manager로 구성된 경우 InfiniteReality4 파이프라인에는 10GB의 Raster 메모리가 있습니다.16개의 파이프라인이 있는 최대 구성에서는 InfiniteReality4에는 16GB의 텍스처 메모리와 160GB의 래스터 [7]메모리가 포함되어 있습니다.

비교

표에 제시된 수치는 단일 파이프 작업으로 제한된 Reality를 제외하고 최소 1-파이프라인 및 최대 16-파이프라인 구성에 대한 것입니다.

하드웨어

모델 기하학.
엔진
위원회
래스터 매니저
위원회
디스플레이 생성기
위원회
식감
기억
(MB)
래스터
기억
(MB)
소개했다 단종
무한현실 GE12-4 RM6-16 또는 RM6-64 DG4-2 또는 DG4-8 16 ~ 1,024[8] 80 ~ 5,120[8] 1993-01-01 1999-06-31
무한현실2 GE14-4 RM7-16 또는 RM7-64 DG5-2 또는 DG5-8 16 ~ 1,024 80 ~ 5,120 1996-01-26 1999-09-30
현실 GE14-2 RM8-16 또는 RM8-64 DG5-2 또는 DG5-8 64 40 ~ 80 2000-07-01 2001-09-15
무한현실2e GE16-4 RM9-64 DG5-2 또는 DG5-8 64 ~ 1,024[8] 80 ~ 5,120[8] 2000-07-01 2003-06-27
무한현실3 GE16-4 RM10-256 DG5-2 또는 DG5-8 256 ~ 4,096[7] 80 ~ 5,120[7] 2000-07-01 2003-06-27
무한현실 4 GE16-4 RM11-1024 DG5-2 또는 DG5-8 1,024 ~ 16,384[7] 2,196~163,840[7] 2002-07-24 2005-03-31
무한 확장 퍼포먼스 V12 오디세이 XIO XIO 104 ~ 1,664[7] 128 ~ 2,048[7] 2003-07-14 2005-03-31

성능

모델 폴리곤
(초당 최대값)
픽셀 채우기
(픽셀/초)
볼륨 렌더링
(복셀/초)
무한현실 10.9 ? ?
무한현실2 10.9 ? ?
현실 5.5 94 ~ 188[note 1] 100 ~ 200
무한현실2e 13.1 ~ 210[8] 192 ~ 6,100 200 ~ 6,400
무한현실3 13.1 ~ 210 5,600 6,800
무한현실 4 13.1 ~ 210 10,200[note 2] 6,800
무한 확장 퍼포먼스 18 ~ 288 6,000[note 2] 6,800
메모들
  1. ^ 안티에이리어스, Z 버퍼링, 텍스처링.
  2. ^ a b 8x8 서브샘플 안티에일리어스, Z버퍼, 텍스처, 라이트, 40비트 컬러 픽셀.

레퍼런스

  1. ^ a b c d e f 존 S. 몬트림 외"InfiniteReality: 실시간 그래픽스 시스템"ACM SIGGRAPH.
  2. ^ a b c d e 존 몽트림, 브라이언 맥클렌든입니다"무한현실 그래픽스 - 복잡한 파워 스루"Silicon Graphics, Inc., Advanced Systems Division
  3. ^ 마크 J. 킬가드「OpenGL의 실현: 1개의 아키텍처의 2개의 실장」. 1997년 SIGGRAPH Eurographics 워크숍, 1997년 8월.
  4. ^ Onyx2 Reality, Onyx2 InfiniteReality 및 Onyx2 InfiniteReality2 Technical Report, 1998년 8월실리콘 그래픽스 주식회사
  5. ^ a b c d Silicon Graphics Onyx2 제품 가이드, 1999년6월문서 1073.실리콘 그래픽스 주식회사
  6. ^ a b 알렉산더 울프."Siggraph는 최신 그래픽을 위한 기반을 마련합니다."EE 타임즈, 1998년 7월 20일
  7. ^ a b c d e f g "SGI Onyx 300 with Infinite Reality 패밀리 그래픽스 데이터 시트"Silicon Graphics, 3224, 2002년 10월 25일
  8. ^ a b c d e Onyx2 GroupStation 데이터 시트, 1998년8월문서 1840.실리콘 그래픽스 주식회사