미 NVIDIA는 13일, 「NV40」의 코드네임으로 개발되고 있던 최신 GPU 「GeForce 6800」을 샌프란시스코에서 처음공개 했다.회장에서는, 아침부터 베이에리어의 게이머를 모아 GeForce 6800을 사용한 LAN 파티·토너먼트를 개최.엄격한 눈으로 GPU를 평가하는 게이머들의 반응을, 그대로 모인 어널리스트나 프레스 관계자에게 보이게 하는 등, 신아키텍쳐에 대한 NVIDIA의 자신감을 느끼게 하는 이벤트였다.


GeForce 6800을 설명하는 Ujesh Desai씨
GeForce 6800 Ultra


GeForce 6 시리즈로서 소개된 GeForce 6800 패밀리에게는, 16 파이프·256MB DDR3 탑재의 「GeForce 6800 Ultra」라고 12 파이프·128MB DDR1 탑재의 「GeForce 6800」의 두 개의 모델이 준비되어 있다.파이프수의 배증에 수반해, 트랜지스터 카운트는 2억 2000만을 넘었다.제조는 0.13μm .AGP 8 X를 사용하는 것 외에 PCI Express HSI(High Speed Interconnect)에 의해 PCI Express 인터페이스에도 대응한다.

최초로 이룩한건, superscalar-16 파이프·아키텍쳐의 채용이다.데스크탑 제품 담당 GM의 Ujesh Desai씨는 「우리회사의 역사로, 가장 큰 성능의 약진이 되었다」라고 설명.전생대의 GPU와 비교해, 부동 소수점 활용으로 8배, Vertex 처리로 2배의 성능을 실현한다고 한다.


3 D그래픽스 프로세서와 비디오 프로세서를 통합한 GeForce 6800
GeForce 6800 Ultra의 종합적인 그래픽스 성능은 GeForce FX 5950의 2 X에 상당



회장이 울려 퍼진 GeForce 6800 Ultra의 3 DMarks 결과
제멋대로인 있고 성능의 비약을 실현한 16 파이?O?DDR3의 편성.다음은 512MB DDR3의 탑재를 예고


16 파이?O?함께 GeForce 6800의 큰 특징이 되고 있는 것이, CineFX 3.0의 「Shader Model 3.0」에의 대응이다.하드웨어에 의한 제한을 강요당하는 일 없이, 프로그래머는 자유롭게 시다를 프로그램 할 수 있다.이전의 그래픽스·아키텍쳐에서는 불가능했던 그래픽스 효과를 실현하는 것 만이 아니고, 프로그램 플로우의 유연한 컨트롤도 가능하게 한다.적은 다각형으로 표현된 오브젝트의 표면에 복잡한 요철을 효율적으로 표현하는 Displacement Mapping, 물체의 그림자를 효율적으로 처리하는 「Ultra Shadow ll」등을 조합하는 것으로, 지금까지 없고 리얼한 모델을 만들어 낼 수 있다.


게임 소프트웨어측의 Shader 3.0 대응이나 순조.FarCry와 같은, 벌써 출하가 개시된 게임도 대응 가능
Shader 3.0에 대응한 FarCry.부드러운 빛과 그림자가 능숙하게 표현되어, 같은 게임의 같은 장면에서도 박력이 다르다


NVIDIA라고 하면(자), 신제품을 릴리스 할 때에, 신테크놀러지를 능숙하게 어필 하는 캐릭터가 등장한다.GeForce 6 시리즈에서는 「Nalu」라고 하는 인어의 신캐릭터가 만들어졌다.수중에서 복잡하게 반사하는 태양의 빛, 부드러운 머리카락의 움직여, 상반신의 피부의 느낌과 대조적으로 칠색에 빛나는 하반신등이 교묘하게 묘사되고 있었다.


복잡하게 반사하는 빛, 부드러운 움직여, 미묘한 그림자를 표현하는 「Nalu」. NVIDIA


GeForce 6800은, 「NVIDIA High-Precision Dynamic Range(HPDR)」테크놀러지가 짜넣어진 첫GPU가 된다.HPDR는 Industrial Light & Magic의 OpenEXR를 베이스로 하고 있어, 프로 품질의 렌더링 기술을 오늘의 게임의 세계에 가져오는 기술이라고 하고 있다.움직湛?있는 이미지의 품질을 향상시키는 부동 소수점 필터, 이미지의 선명히 하는 부동 소수점 texture, 특수 효과의 품질을 높이는 부동 소수점 frame buffer·브렌딘그 등, 파이프라인 전체를 통해 부동 소수점 픽셀 포맷을 서포트한다.

고정밀도의 texture 필터링이나 브렌딘그, OpenEXR에서는 16 bit의 부동 소수점 데이터 처리가 요구된다.한편, Shader Model 3.0에서는 32 bit의 연산 유니트가 필요하게 된다.CineFX 3.0에서는, 어느 쪽의 포맷도 서포트하고 있어, 정밀도와 효율성의 밸런스를 조정할 수 있게 되어 있다.

또, 디지털 가전으로서 PC가 이용되는 것이 증가하고 있지만, GeForce 6800에는 HDTV 호환의 비디오 프로세서가 짜넣어지고 있다.MPEG의 encode/디코드, WMV9의 디코드·가속화, 고품질 비디오의 슬캘링과 필터 링등을 서포트한다.

GeForce 6800의 가능성을 십이분에 꺼내는데 있어서, NVIDIA ForceWare의 통합 소프트웨어 환경(USE)도 중요한 역할을 담당한다.안전하게 GPU의 성능을 끌어올리는 오버 클록킹·툴, 이미지 품질을 커스터마이즈 할 수 있는 어플리케이션·프로필 등, 최종 사용자에 대해서 신뢰성과 편리한 사용을 제공.또, 특정의 게임이나 어플리케이션에 적절한 설정을 많이 준비하는 등, 호환성의 높이를 어필 하고 있었다.


게임 타이틀을 선택하는 것만으로 최적인 설정에
시네마틱라는 말이 들어맞는 UnrealEngine3


GeForce 6800은 OEM 메이커에의 출하가 개시되고 있어 1~2개월중에 소매점에도 등장할 예정.사장겸CEO의 Jen-Hsun Huang씨에 의하면, 연말까지는 모든 제품 세그먼트(segment)에 신아키텍쳐(architecture)를 반영시킨다고 한다.

출처 : http://pcweb.mycom.co.jp/
------------------------------------------------------------------------------------


NVIDIA가 16 파이프라인의 강력 GPU 「GeForce 6800(NV40)」를 발표


●16개의 풀 기능 픽셀 파이프라인을 탑재


GeForce 6800 Ultra
레퍼런스 카드
 NVIDIA의 차세대 GPU 「NV40」= 「GeForce 6800」이 드디어 모습을 나타냈다.GeForce FX(NV3x) 패밀리로부터, 내부 아키텍쳐는 .2억 2,200만 트랜지스터, DDR3 메모리(1.1Gtps), “트루”16 픽셀 파이프라인(6Vertex Shader/ 16Pixel Shader), 16x1/32x0(16 파이프 1 texture/32파이프) 구성, DirectX 9 Programable Shader 3.0, MPEG encode, FPtexture/frame buffer 를 지원한다.

 즉, 간단하게 말하면, NV40는, 지금까지 NV3x계의 약점이라고 말해지고 있던 부분을 거의 전부 개량했다. 게다가 Shader 3.0에 앞서 대응해, 픽셀 파이프는 라이벌의 현행 GPU의 2배로 늘린 것이다.그 결과 완성된 것은 16 파이프라인의 하는 몬스터 GPU다.



 우선, 전체의 구성을 보면 Vertex Shader가 6, Pixel Shader가 16으로 NV40는 극단적으로 Pixel Shader측의 구성이 크다. 즉, 기능확장을 위한 자원의 대부분은 픽셀 측에 쏟아 넣은 것이 된다. 3 D그래픽스의 트랜드로서는, Pixel Shader를 활용하는 프로그램이 갈수록 복잡하게 되고 있으므로, Pixel Shader측으로 편중 하는 것 자체는 이상하지는 않다. 다만, 구성의 밸런스에 대해서는, 실제의 어플리케이션 성능이 나오지 않을지 모른다.


GeForce 6800 Ultra GeForce 6800 Ultra의 다이

NV40 3D Pipeline Block도
PDF판은 이쪽

DirectX 9.0 c풀 서포트 GeForce 6800의 개요



●Shader 3.0에 대응한 Vertex Shader

 Vertex Shader는 6 유니트.구성으로 눈에 띄는 것은(1) 정점 texture 피치(Vertex Texture Fetch) 유니트가 들어간 것, (2) 벡터 유니트와 스칼라 유니트가 병렬화 되고 있는 것, (3) 독립한 브랜치(branch) 유니트를 갖추는 것처럼 보이는 것, 등.

 texture 피치 유니트를 갖출 수 있던 것은, NV40가 DirectX 9의 Program Shader 3.0에 대응했기 때문이다.Shader 3.0의 눈은, Vertex Shader에 texture 액세스 기능이 더해지는 것으로, Pixel Shader에 플로우 컨트롤계 명령이 더해지는 것.그 때문에, NV40는 필연적으로 Vertex Shader내에 texture 피치 유니트를 갖추었다. 다만, texture 치피 유니트를 사용하는 것은 MIP 매핑만으로도 대부분 활용이 가능하기 대문이다. texture 피치 유니트는 L1캐쉬와 더블어 한층더 커진 L2texture 캐쉬를 가지고 있다.

 벡터 연산 유니트는 SIMD(Single Instruction, Multiple Data)는 아니고 MIMD(Multiple Instruction, Multiple Data)로, 보다 유연성이 높다.또, 벡터와 스칼라의 양유니트에 인스트럭션(instruction)를 병렬해 활용할수 있다.

 재미있는 것은, 이만큼 자원을 강화했음에도 관련되지 않고 NV40는 여전히 텟세레이타(평면 분할 유니트 :Tessellator) 하드웨어를 갖추지 않는 것이다.ATI나 Matrox Graphics는 텟세레이타를 탑재, 정점 데이터를 변위(Displace)시키고 텟세레이트 하는 것으로, 적은 정점 데이터로부터 복잡한 형상을 만들어 내는 디스프레이스먼트맙핑(Displacement Mapping)이 가능하게 되어 있다.

 NV40도 디스프레이스먼트맙핑을 서포트하지만, 전용 하드의 텟세레이타를 가지지 않기 때문에, 퍼포먼스 등은 불명하다.다만, Vertex Shader에 texture 유니트를 갖출 수 있었기 때문에, 정점을 늘리지 않고 정점 데이터를 변위시킬 뿐(만큼)의 디스프레이스먼트맙핑은 용이하게 가능하다.


NV40 Vertex Shader도
PDF판은 이쪽

Vertex Shader 상세 NV40의 Vertex Shader Vertex Shader 버젼 비교


●Pixel Shader내에 연산 유니트를 2 계통 탑재

 NV40에서는, Pixel Shader와 ROP(Rasterizing OPeration) 하부조직은 16 유니트씩의 구성되어있다. NV30/35 계열과 같이 베이스 4 파이프로, 트리키에 8 파이프를 주장하고 있는 것은 아니다.NVIDIA는, NV40 발표에서는 이 점을 강조.NV40는 진정한 16 파이프라인이라고 선언했다. 전 모델의, “가짜”8 파이프라인으로 문제가 되었던것과는 대조적이다.

 좀 더 자세하게 설명하면, NV30/35계는 칼라+Z의 경우는 4 픽셀/클락으로, texture 처리는 8 texture/클락의 성능이었다.또, Z 또는 스텐실의 경우는 8 픽셀/클락이었다.그 때문에, NV30/35계는 4x2(4 파이프 2 texture)/8 x0아키텍쳐로 불리고 있었다.NVIDIA는 이 점을 스스로 지적, NV40를 같은 방법으로 사용한다면 「16 x1/32 x0」아키텍쳐가 된다고 설명했다.즉, 1 texture 유니트를 갖춘 Pixel Shader가 16개 있다는 것이다.

 NV40의 Pixel Shader는, 꽤 독특하다.최대의 특징은, 1개의 Pixel Shader내에서 4 인스트럭션(instruction)/클락과 매우 높은 병렬도를 실현하고 있는 것.우선, 각 Pixel Shader내에는 2개의 연산 유니트가 갖춰져 있다.양유니트 모두 32 bit 부동 소수점 데이터를 4 way로 취급할 수가 있는 SIMD 연산 유니트다.그 때문에, 통상의 Pixel Shader와 비교하면(자), 2배의 오퍼레이션을 1 클락으로 행할 수가 있다.

 무엇보다, 이것에는 실은 다소 트릭이 있다.그렇다고 하는 것은, 밑그림의 Shader 1으로 칼라 연산을 행하고 있을 때에는, texture 프로세싱을 할 수 없기 때문이다.즉, 현실적으로는 NV40의 Pixel Shader는, texture 프로세싱 유니트로 칼라 연산등도 행할 수 있도록(듯이) 했다고 생각하는 것이 좋은 것 같다.즉, Pixel Shader내의 연산 유니트수는 실제로는 종래의 아키텍쳐와 같지만, texture 처리가 없는 경우에는 다른 연산을 행할 수가 있다고 추정된다.

 NV30/35 계열에서는, 1Pixel Shader에 대해서 2개의 texture 유니트를 갖추고 있었다.2 유니트가 병렬에 동작할 수 있기 (위해)때문에, texture 리치인 시다프로그람의 경우에는 이점이 있었다.그러나, 이것은 자원이 소용없게 되고 있는 일도 의미하고 있던 것이다.이번, NVIDIA는 이러한 연산 자원을 유효 이용하는 아키텍쳐를 생각해 온 것 같다.


NV40 Pixel Shader도
PDF판은 이쪽

Pixel Shader 상세 NV40의 Pixel Shader Pixel Shader 버젼 비교

Centroid Sampling 구세대 Shader 아키텍쳐 superscalor Shader



●DirectX 9에 최적화해 크게 바뀐 Pixel Shader

 Shader 자체의 내부 연산 정밀도는 NV30와 같이 FP32(32 bit 부동 소수점 데이터, 4 way에서는 128bit SIMD).FP16(16 bit 부동 소수점 데이터)와 FP32는 ,함께 같은 유니트로와 같이 처리하기 위해(때문에) 양데이터 타입으로 성능에는 거의 차이가 없다고 한다.

 한층 더 NV40의 Pixel Shader는, 연산 유니트를 2 분할할 수 있다.DirectX 9에서는 기본적으로 4 way의 SIMD를, 3 컴퍼넌트대 1 컴퍼넌트에 분할해, 각각 다른 오퍼레이션을 행할 수가 있다.NV40는 한층 더2/2의 분할도 가능하게 했다.그 때문에, 1개의 Pixel Shader내에서는, 2개의 Shader로 2 인스트럭션(instruction)씩을 평행 해 행할 수가 있다.즉, 합계로 4 인스트럭션(instruction)/사이클의 병렬처리가 가능해지고 있다.NVIDIA는, 이러한 아키텍쳐의 결과, NV35에서는 12 패스 걸려 있던 실행 프로그램을, NV40에서는 6 패스로 실행 가능하다고, 샘플 프로그램으로 설명했다.

 NVIDIA의 GeForce FX(NV3x) 시리즈는, 지금까지, DirectX상에서는 부동 소수점 texture를 전혀 활용해 오지 않았다.그러나, 이번 NV40에서는 부동 소수점 texture가 서포트되어 FP16(16 bit 부동 소수점) texture에 대해서는 texture 필터링도 서포트되었다(FP32는 필터링은 없음).실제로는, NVIDIA가 NV3x로 부동 소수점 texture를 서포트하지 않았던 것은, 하드웨어 자체의 제약은 아니고 드라이버 소프트웨어측의 제약이었지만, 거기에는 서포트할 수 없는 이유가 있었다(처리가 늦어?)(이)라고 추측되고 있다.그러나, 이번 NV40에서는 NVIDIA는, 명확하게 밝혔다.

 texture 유니트는 L1캐쉬를 Shader내에 내장.게다가 Shader간에 공유의 L2texture 캐쉬를 갖춘다.이것은, Vertex Shader가 액세스 하는 캐쉬와도 공유가 되어 있을 가능성이 있다.

 이 외 , Shader 3.0으로 서포트된 동적 플로우 컨트롤도 서포트.그 때문에(위해) 유니트내에 브랜치(branch) 유니트를 갖추고 있다.


NV40의 Dual-Issue와 Co-Issue의 비교 Shader의 견본 샘플 Shader의 퍼포먼스

Dual-Issue와 Co-Issue의 4 way 인스트럭션(instruction) 기회주의의 인스트럭션(instruction) 실행 인스트럭션(instruction) 프로세스 vs계산 작업


●라스터 오퍼레이션도 16 병렬이 가능

 NV40에서는 라스터 오퍼레이션을 행하는 ROP 하부조직은, Pixel Shader로부터 분리되어 있다.ROP가 16 유니트 있기 (위해)때문에, NV40에서는 시다파포만스 뿐만이 아니라, 픽셀 아웃풋의 퍼포먼스도 높다.NVIDIA는, NV35에서는 싱글 texture 필의 픽셀 성능은 약 4(3.99) 픽셀/클락이었다고 설명.그것이 NV40에서는, 12.27 픽셀/클락과 3배 이상으로 향상했다고 설명했다.

 무엇보다 Pixel Shader도 ROP도 16 유니트씩 있으니까, 논리적이게는 픽셀 출력은 16 픽셀/클락이 되어도 좋을 것이지만, 그렇게 되지 않는 것은 메모리 대역의 제약을 위해라고 한다.픽셀 퍼포먼스는 메모리 대역과 밸런스가 잡히고 있을 필요가 있지만, NV40에서는 분명하게 GPU의 픽셀 퍼포먼스를 얻을 수 있는 메모리 대역을 웃돌고 있는 것이다.이것은, 장래의 메모리 대역의 향상을 예측한 설계인지도 모른다.

 덧붙여서, NV40에서는 DDR3 메모리를 서포트, 등장시에 1.1Gtps(transfer per second)의 메모리 전송 레이트가 실현된다.메모리인타페이스는 256 bit이므로, 메모리의 생 대역은 35.2 GB/sec가 된다.

 또, NV40에서는 Multiple Render Target(MRT)나 FP16 베이스의 frame buffer도 서포트되었다.


NV40 Pixel Engine(ROP) 도
PDF판은 이쪽

라스터 오퍼레이션 상세 NV40의 ROP 하부조직

 NV40는 프로그래머블인 비디오 프로세싱 유니트도 갖춘다.유니트 자체는, 쿠아드 발행의 SIMD+스칼라 유니트로, 이것이 Shader 파이프라인과 제휴해, 비디오의 디코드/encode를 지원하는 구조가 되고 있다.NVIDIA에 의하면, HD해상도도 포함한 MPEG-2의 디코드&encode, MPEG-4/DivX의 디코드&encode, HD를 포함한 WMV9의 디코드&encode등이 서포트된다고 한다.예를 들면, MPEG-2 encode에서는, 약60%이상의 처리를 GPU측에서 행하는 것으로, CPU off-road가 가능하게 된다고 한다.


NV4x 비디오 아키텍쳐 비디오 프로세싱 유니트 프로그래머블 비디오 프로세서의 기능

MPEG-2 encode MPEG-2 디코드

 대망의 NV40(GeForce 6800) 시리즈 발표로, 마침내 반공에 나오는 NVIDIA.NVIDIA는, 혼신의 힘을 집중했다고 해야 한다 이번 NV40에는 상당히 자신을 가지고 있는 것 같다.그 때문에, 퍼포먼스도 밝혀 왔다.NVIDIA는 설명회에서는, 사내 레버러토리 에서의 테스트로 3 DMark03로 12,000을 넘은 것을 시사.또, Shader 성능이 NV38보다 2~9배 긴것을 설명했다.실제, 아키텍쳐를 생각하면, NV38보다 성능이 높다는건 당연하다.

 NV3x 패밀리로 열세했던 과거의 역사를 되돌리는것이다. 그러나, NV40에는 성능 추구의 대상으로서 여러가지 트레이드 오프가 있다.또, ATI Technologies도, 차세대 발표칩셋으로서 「R420」시리즈를 개발중에서, 가까운 시일내에 발표하는 것을, 작년 10월의 어널리스트 미팅에서 분명히 하고 있다.NVIDIA로서는, 아직 안심할 수 있는 상황에는 없을 것이다.


Shader의 퍼포먼스

3 DMark03의 스코아라고 생각되는 숫자 NV25, NV38로부터의 성능 향상

출처 : http://pc.watch.impress.co.jp