NVIDIA_geforce256.jpg


GeForce의 시작 : GeForce 256

                                                                                           products_pic.jpg 


  1999년 8월 31일 처음 공개된 GeForce 256은 Nvidia의 GeForce 역사의 첫 장을 장식했습니다. GeForce 라는 이름은 Nvidia에서 1999년 초 새로운 칩에 대해 '이름짓기 컨테스트(Name That Chip)"를 벌인 결과입니다. 컨테스트의 경품으로는 5개의 RIVA TNT2 Ultra를 걸었는데, 참가자 수가 12000명에 달했습니다. 컨테스트 결과 7명이 카드를 받아갔고
수상자의 목록은 아래와 같습니다. 
              

  Shawn Koehler

  California

  Dennis F. Dillon

  Pennsylvania

  Stuart Vrieze

  Minnesota 

  Asher Moalem

  California

  Danny Shaw

  Texas

  Jason Fortun

  Minnesota

  Florencio Corona

  California


  
                                                                MPEGlogo@260x64x8.png 
GeForce 256은 RIVA TNT2 의 뒤를 잇는 프로세서 입니다. TNT2에서 고정 픽셀 파이프라인(fixed pixel-pipeline)의 개수를 늘리고 기하학 적인 계산을 T&L(Hardware Transform and Lighting) 엔진이 담당하게 했습니다. 그리고 MPEG-2 비디오 재생을 위한 모션 보정(motion-compensation) 하드웨어를 추가했습니다. 

                                                   nfirst.jpg

GeForce 256은 세계 첫 GPU(Graphics Processing Unit)라는 타이틀을 달고 나왔습니다. Nvidia에서 내세운 것은 한 개의 칩으로 통합된 T&L과 최소 1초에 1 천만개의 폴리곤을 연산할 수 있는 렌더링 엔진이라는 것 입니다.

   참고 : MPEG-2 의 경우에는 동영상의 용량을 줄이기 위해서 움직임이 발생하는 부분만을 저장하는 방법을 사용합니다. 앞의 영상과 뒤의 영상에서 움직임이 발생한 부분만을 저장해 주게 되는데 거기서 모션 보정과 같은 것을 그래픽 카드에서 하드웨어 적으로 처리해 줄 경우 CPU의 부담이 줄어들게 되어 더 부드러운 영상을 감상할 수 있게 됩니다. 


                                                                28_1_full.jpg

  GeForce 256 은 3D 게임에서 뛰어난 성능을 보여주었고 완전히 direct3D 7을 지원하는 첫 번째 3D 카드였습니다. 이 카드로 인해 Nvidia는 완전히 업계에서 선두주자로 올라서게 되었고, 경쟁자였던 3dfx의 아성을 무너뜨릴 수 있었습니다. 1년 후에 ATI 에서 Radeon 시리즈를 들고 나와 Nvidia의 적수가 될 수 있었습니다. 



  그럼 잠시 T&L에 대해서 짚고 넘어가는 시간 갖겠습니다. 3D를 그려낼 때 몇 가지 중요한 작업이 있습니다. 변환(Transform), 클리핑(Clipping), 광원(Lighting) 등 입니다. T&L은 이 3가지를 묶어 부르는 말로 T&L 또는 TCL이라고 합니다. 컴퓨터 그래픽 분야에서 사용되는 용어입니다. 

                                  normals_02.gif

  우선 변환(Transform) 작업이 가장 기본이 되는 작업인데, 가상 세계에서 3차원으로 물체를 나타낸 것을 다시 평면 모니터인 2차원에 나타내기 위해서는 변환 작업이 필요하게 됩니다. 이 작업이 공간좌표계로 변환하는 작업인데 3D 환경에서는 무척 중요한 작업입니다.
  다음으로는 클리핑 입니다. 클리핑이란 실제로 보여질 부분 만 그리는 것 입니다. 보이지도 않는 물체까지 모두 그려야 한다면 무의미한 그래픽 연산이 많이 지기 때문입니다.
  마지막으로는 광원입니다. 광원은 가상의 화면에서 빛을 받은 물체를 나타내는 것 입니다. 그리고 빛을 밭은 물체의 주변 색상 등을 계산한 결과입니다 .

  T&L은 1999년 이전에 소프트웨어로 구현 되었었습니다. 그 당시에는 더욱 빠른 CPU가 좀더 사실적인 화면을 그려내고자 하는 목적에 부합할 수 있을 것이라 생각했었습니다. 그런데 3D 컴퓨터 게임이 점차 복잡한 화면과 세밀한 광원효과를 만들어 내면서 부터 엄청난 기하 연산을 요구하기 시작했었습니다. 그래서 더욱 CPU에 가해지는 부담이 커졌기 때문에 소프트웨어 방식은 한계를 느꼈다고 할 수 있었습니다.

  이 시점에서 Nvidia에서 1999년 후반, GeForce 256을 출시했는데 하드웨어로 T&L 연산이 가능한 개인 사용자용 그래픽카드였습니다.GeForce 256의 경우에는 꼭지점 연산을 할 때 빠른 속도를 냈습니다. T&L 하드웨어 뿐만 아니라 꼭지점을 연산할 때 한 번 계산했던 것은 무시하여 연산량을 줄였기 때문입니다.

  DirectX 7.0에서 처음으로 하드웨어 T&L을 지원하는 API를 제공했습니다. 반면 OpenGL에서는 하드웨어 T&L을 지원하는데 더 오랜시간이 걸렸고 3D게임보다는 CAD(Computer-aided design)와 같은 전문가용 3D 가속기에서 주로 사용되었습니다. 


                         800px-Dviper2z200.jpg

  우리의 S3 Graphics에서는 GeForce 256 출시 후에 Savege 2000을 출시했었지만 Direct3D 7.0에서 제대로 동작하는 드라이버를 내 놓지 않아 하드웨어 T&L 지원이 조금 미비했었습니다. 잠시 GeForce 256과 Savage 2000을 비교해보면 Savage 2000이 GeForce 256에 비해 약 절반 정도의 트랜지스터를 갖고 있었습니다 (1200만개 vs 2300만개). 그 당시 Savage 2000은 S3만의 기술인 S3TC(S3 Texture Compression)을 지원하고 하드웨어 T&L 엔진은 S3TL을 사용했었습니다. QuadTexture Engine 기술로 한 클럭 당 4중 텍스처를 처리할 수 있었습니다. 이 기술로 "이론적"으로는 GeForce 256과 동등한 클럭 속도에서 동등한 텍스쳐 채우기(Texture fillrate) 속도를 낼 수 있었습니다. 

  그러나 S3는 허접한 드라이버의 역사를 이어 나갔습니다. Diamond에서는 OpenGL과 Direct3D에서 S3TL이 지원되는 드라이버를 출시했지만 S3TL이 거의 동작하지 않는 것과 마찬가지라는 결과를 얻었습니다. 모든 하드웨어 T&L을 지원하는 프로그램에서 S3TL을 사용할 경우 텍스쳐가 사라지거나 지형과 캐릭터의 그래픽이 깨지고 엄청난 성능 저하가 발생했었습니다. 그래서 드라이버 문제인지 하드웨어 문제인지 분간할 수 없을 정도였습니다. 그 후 S3의 그래픽 부서는 3억 2천 1백만 달러에 VIA로 팔려가게 되었습니다.

  다시 GeForce 256 이야기로 돌아오면 GeForce 256의 경우 뛰어난 렌더링 성능을 제공하여 다른 하이엔드 카드들을 뛰어넘었습니다. 3dfx의 Voodoo3 3500이나 Nvidia RIVA TNT2 Ultra와 같은 이전의 하이엔드 3D 게임 가속 카드와 비교했을 때 그 당시 인기게임에서 50% 또는 그 이상의 프레임 향상이 있었습니다. GeForce 256은 꽤 가격이 나가는 편이었지만  게이머용 하이엔드 그래픽카드로 입지를 굳힐 수 있었습니다. 


                                       RAGE_FURY_MAXX.jpg


  그 당시 GeForce 256의 경쟁사는 3Dfx, Matrox 그리고 S3 Graphics 였습니다. 이 회사들의 제품은 3dfx Voodoo3, Matrox G400, S3 Savage4로 Direct3D 6을 지원하고 하드웨어 T&L 기능이 없는 제품들이었습니다. ATi는 GeForce 256이 출시 된 후 두 개의 Rage 128 칩을 사용해서 Rage Fury MAXX 제품을 출시 했습니다. 이 카드는 SDR 메모리를 사용 한 GeForce 256의 성능을 낼 수 있었지만 Geforce 256 DDR 버전의 속도는 따라잡지 못했었습니다. 그 후 ATI는 T&L 하드웨어가 장착된 Radeon (Radeon 7200으로 이름 변경)을 출시 해서 GeForce 256의 기능과 성능을 따라잡게 됩니다.
그러나 그 시점은 Nvidia에서 이미 GeForce 2 GTS를 내 놓은 시점이었습니다.

  
 GeForce 2 : GeForce 역사의 두 번째 주자

                                                  Leadtek-WinFast-GeForce2-GTS.jpg

  GeForce 2 는 몇 가지 개선된 점을 빼면 GeForce 256과 구조가 거의 흡사합니다. 가장 큰 차이점은 4 개의 픽셀 파이프 라인 각각에 두 번째 TMU(Texture map unit)을 추가 한 것입니다. 이 구조로 인해 GPU 클럭이 67% 정도 상승하게 되었고 GTS의 텍셀 채우기 속도는 이전 프로세서에 비해 3.3 배 빨라진 속도 입니다. 이런 수치 때문에 GeForce 2의 첫 제품 이름은 GeForce 2 GTS(giga-texel shader)로 출시되었습니다.

  GeForce 2에서는 Nvidia Shading Rasterizer (NSR) 라는 것을 도입했는데, 이 것이 오늘날 픽셀 쉐이더(Pixel Shader)로 알려져 있는 기술의 최초 형태입니다. 기술 데모에서만 사용되고 변형이 불가능 한 점만 빼면 말이죠. GeForce 2 GTS 는 이런 기술 변화들과 함께 3D 벤치마크와 게임 프로그램에서 GeForce 256에 비해 40%의 성능 향상을 이뤄냈습니다. Quake III 와 같은 OpenGL 게임에서는 GTS가 ATI의 Radeon 과 3DFX의 Voodoo 5 카드의 성능보다 좋은 성능을 보여주었지만 Direct3D 게임에서는 Radeon이 32비트 컬러 모드에서 우위를 점하기도 했었습니다 


                             box.jpg

  이런 GeForce2의 성공을 이어서 저가형 모델인 GeForce2 MX를 출시하게 됩니다. GeForce2 GTS에 비해 절반의 메모리 대역폭을 가지는 SDR SDRAM을 사용하고 두 개의 3D 픽셀 파이프라인을 줄여서 가격절감을 이뤄냈습니다. MX의 주 경쟁상대는 ATI의 Radeon VE였습니다. 후에 Radeon 7000으로 바뀌었습니다. 그리고 Radeon SDR 입니다. Radeon VE의 장점은 듀얼 모니터 디스플레이 소프트웨어가 좀 더 나았다는 점 입니다. 그러나 하드웨어 T&L을 제공하지 않아 3D 성능은 조금 나쁘다고 할 수 있었습니다. Radeon SDR의 경우에는 픽셀 파이프라인을 추가하여 더 빠른 3D 성능을 보여줬지만 멀티 모니터 지원이 안되는 단점이 있었습니다.

                                       radeon_ve_dualhead(30)w.jpg

  Nvidia는 GeForce2 MX를 세분화 하여 MX400, MX200, MX100 등으로 나누어 출시했습니다. MX400은 기존의 MX에 128비트 SDR 메모리 버스를 가지고 있고 코어 클럭을 높여서 MX보다 성능이 더 좋게 나왔습니다. MX200은 더 저렴한 64비트 SDR 메모리 버스를 사용해서 기존 MX보다 메모리 대역폭이 더 좁았습니다. 그러나 3D 렌더링 성능에서는 차이가 나게 되었습니다. 가장 저렴한 모델인 MX100은 32비트 SDR 메모리 버스를 사용했습니다.


  GeForce2 GTS 후에 출시 된 모델들은 GeForce2 Ultra, GeForce2 Pro, GeForce Ti(Titanium) 으로 세분화 되었습니다. 그래서 GeForce2 NV15 코어를 사용하는 제품군은 GTS/Pro/Ti/Ultra로 나뉘어 지게 되었습니다. 
 

  이번주는 여기서 마치도록 하겠습니다. 그럼 다음주에 GeForce 3 부터 다시 이야기를 이어 가겠습니다.
 

http://web.archive.org/web/20000608011648/http://www.nvidia.com/namingcontest
http://tweakers.net/nieuws/1967/nvidia-name-that-chip-contest.html
http://en.wikipedia.org/wiki/GeForce
http://en.wikipedia.org/wiki/GeForce_256
http://en.wikipedia.org/wiki/GeForce_2_Series
http://en.wikipedia.org/wiki/GeForce_3_Series
http://en.wikipedia.org/wiki/Transform,_clipping,_and_lighting
http://www.iminers.com/render.php?eid=nvda_19990518_1&symbol=NVDA&whichmodule=pressroom
http://tldp.org/HOWTO/Linux-Gamers-HOWTO/x608.html
http://www.xbitlabs.com/articles/video/display/diamond-viper2.html