이번에는 앞서 살펴본 병렬 프로세싱 아키텍처가 아닌 일반적인 그래픽 프로세싱 아키텍처에서의 기존
G80/ G92와의 차이를 살펴보도록 하자.
그래픽 프로세싱 아키텍처의 GeForce GTX 200 시리즈!
NVIDIA는 GeForce GTX 200 시리즈를 G80으로 대표되는 첫 번째 통합 쉐이더
아키텍처에 이어 2세대의 통합쉐이더 아키텍처라고 말하고 있으며, 평균적으로 GeForce 8/ 9 시리즈의 GPU보다
1.5배 향상된 성능과 향상된 특징들을 가지고 있다고 언급하고 있다. 2세대의 통합쉐이더 아키텍처라고 부르는 것은 바로
앞서 언급한 병렬 컴퓨팅 아키텍처와 그래픽 프로세싱 아키텍처를 모두 갖추고 있기 때문이다.
NVIDIA는 1세대 GeForce 8/ 9 시리즈 GPU들과 비교하여 2세대 GTX 200
GPU들은 기존의 SPA (Scalable Processor Array) 아키텍처를 향상 및 확장, 그리고 재설계가
이루어지고 있다고 밝히고 있다.
앞서 언급했듯이 기존 1세대 SPA 아키텍처는 그래픽 프로세싱 모드를 위한 TPCs
(Texture Processing Clusters)와 병렬 컴퓨팅 모드를 위한 TPCs (Tread Processing
Clusters)의 두 가지를 제공하고 있다. 각 TPC는 SMs (Streaming Multiprocessors)로
구성되고 SM은 8개의 프로세서 코어 (SPs, Streaming Processors 또는 Tread Processors)로
다시 구성된다. 또한, SM에는 그래픽 프로세싱을 위한 Texture Filtering 프로세서들로 구성된다.
[1세대와 2세대의 SPA 구성 차이]
1세대의 SPA 아키텍처를 가진 GeForce 8/ 9 (G80/ G92)보다 GTX 200
GPU들은 최종적으로 G92 8800GT가 가지는 112개가 더 많은 240개의 스트리밍 프로세서를 제공하게 되며,
세부적으로는 TPC 당 2개에서 3개로 늘어난 스트리밍 멀티 프로세서, TPC의 수도 8개에서 10개로 늘어났다. 스트리밍
멀티 프로세서 당 스트림 프로세서의 수는 8개로 동일하다.
GeForce GTX 200 시리즈의 향상된 GPU 프로세싱 코어 구조
[GeForce GTX 200 시리즈 GPU 프로세싱 코어 구성]
[GeForce 8800 시리즈 (G80 GPU, TA : TF = 1:2) 스트림 프로세서 구성]
GeForce GTX 200 GPU들은 CPU와 달리 프로세싱이 이루어지는 코어마다 캐쉬
메모리가 제공되고 있으며, CPU가 컴퓨팅을 위한 트랜지스터가 대략 20%가 집적되는 것과 비교하여 GTX 200 GPU들은
트랜지스터의 80%가 컴퓨팅을 위해 집적된다. 기본 제공되는 캐쉬 메모리를 통해 레이턴시 감소와 파이프라인의 효율적인
작업이 가능해지게 된다. (낸Ю?제공은 일반적으로 명령어의 분기 예측 효율과 히트율을 높여 처리 성능이 향상된다.)
SIMT (Single
Instruction Multi-Threaded) 즉 하나의 명령어를 멀티쓰레드로 처리하여 처리 성능을 높이며, 정수와
부동소수점 등의 연산을 위한 스칼라 (Scalar) 구조, 하나의 클러스터 당 로컬 16kb 공유 메모리를 제공하여 코어
간의 처리 효율을 높인 점, 부동소수점 연산에서 정밀도 역시 두 배의
향상 (FP64, 64bit Floating-Point)을 가져왔다. 그 외 프로세싱 코어의 처리 효율을
높이기 위해 이전 시리즈들처럼 L1과 L2 캐쉬 구성도 유지되고 있다.
텍스처 처리 능력 개선 및 쉐이더와 텍스처 비율 향상
새롭게 발표된 GeForce GTX 200 시리즈는 기존 G80 (128 SP, TA : TF
= 1:2, 32:64)과 G92 (112, 128 SP, TA : TF = 1:1, 64:64)과 비교하여 픽셀과 버텍스, 지오메트리 쉐이더
연산 성능 향상을 위해 더 늘어난 240개의 프로세싱 코어 (240 SP, TA : TF = 1:1, 80:80)를 통해
텍스처 처리 능력을 향상시켰다.
TF 즉 Texture Filtering Unit의 수는 프로세싱 코어가 한 그룹에 16개에서
8개 늘어난 24개로 늘려 연산 성능을 늘린 것과 함께 기존 G80/ G92의 64개보다 16개 늘어난 80개를 제공하고
있다.
이론상 GeForce 9 시리즈의 텍스처 처리 능력과 비교하여 GeForce GTX 200
시리즈 GPU들은 처리 효율을 더 높인 것을 확인할 수 있으며, GeForce 9 시리즈들보다 22% 더 효율적인 텍스처
처리 능력을 가지고 있다고 밝히고 있다.
또한, 최근 등장하고 앞으로 등장할 게임들에 대비하여 쉐이더와 텍스처 비율을 50% 증가하여
균형있게 만들어 효율적인 처리가 가능하도록 만들었다.
DirectX 10만 지원하는 GeForce GTX 200 시리즈 GPU!
[GeForce GTX 200 시리즈 그래픽 프로세싱 아키텍처로써의 GPU 구성]
[G92 8800 시리즈 구성]
[G80 8800 시리즈 구성]
GeForce GTX 200 시리즈 GPU의 그래픽 프로세싱
아키텍처 구성은 기존의 DirectX 10을 지원하고 있던 G80/ G92 코어처럼 통합 쉐이딩 아키텍처를 그대로 이어받고
있으며, 기본적인 구성에 처리 성능 향상을 위해 유닛 당 24개의 프로세싱 코어와 80개로 늘어난 Texture Filtering
Unit, 그리고 메모리
인터페이스를 512bit로 늘려 전반적인 성능 향상을 가져왔으며, GTX 280의 경우 최대 1GB에 1.1 GHz
GDDR3, GTX 260은 894MB의 메모리를 제공한다. OpenGL 2.1도 지원된다.
또한, GeForce GTX 200 시리즈 GPU들은 로컬 레지스터 파일 용량이 기존
GeForce 8/ 9 시리즈들보다 스트리밍 멀티 프로세서 (SMs) 당 두 배가 늘어났다. 늘어난 레지스터 파일을 통해
기존 GPU들이 실행되 때 많은 쉐이더와 메모리 스왑이 필요하였는데 GTX 200 시리즈 GPU들은 늘어난 레지스터 파일
용량을 통해 훨씬 더 많고 복잡한 쉐이더를 더 빠르고 더 효율적으로 실행할 수 있게 되었다. 추가 레지스터 파일은 스트리밍
멀티 프로세서의 작은 부분을 차지하는 것으로 알려지고 있다. 레지스터 파일 용량의 증가는 점점 더 복잡한 쉐이더를 적용하고
있는 게임이나 3DMark Vantage 등과 같은 프로그램들에서 높은 성능을 얻을 수 있게 해준다.
ROP (Raster Operation, Render
Back-End Units)의 수는 하이엔드 G80 8800Ultra/ 8800GTX가 제공하는 24개, 9800GTX의
16개보다 늘어난 32 (GTX 280)/ 28 (GTX 260)개를 제공한다. 늘어난 512bit 메모리 인터페이스와
ROP를 통해 고해상도와 AA 적용시 9800GTX 등보다 훨씬 유리한 구조를 가지게 된다. 덧붙여 ROP는 기존
8800GTX가 절반의 속도로 동작하였으나 GeForce GTX 200 시리즈는 풀속도로 동작하여 처리 성능을 더욱
개선했다.
그 외 FP16과 FP32,
FP64 지원으로 HDR + AA 지원, 128bit HDR 렌더링
지원, Anti-Aliasing에서도 4xMSAA와 16x CSAA을 비롯하여, 새로운 Trancsparency
Multisampling (TRMS) 알고리즘을 적용하여 이미지 품질 개선과 함께 성능 저하를 줄인 부분은
G80/ G92의 기능들을 이어받고 있다.
하지만, 경쟁사에서 이미 지원하고 윈도우 비스타 SP1을 통해
지원되는 DirectX 10.1 지원은 결국 제외되었다. NVIDIA의 경우 DirectX 10에 중점을 두고 성능을
개선해 나가는 방향을 택했다.
지오메트리 쉐이딩과 스트림 아웃 성능도 개선
GeForce GTX 200 시리즈 GPU들은 이전 세대보다 6배의 높은 내부 출력 버퍼 구조의
제공을 통해 더 빠른 지오메트리 쉐이딩과 스트림 아웃 성능을 제공한다. Rightmark 3D 2.0을 통해 기존의 그래픽
카드들과 비교한 지오메트리 쉐이더 성능은 듀얼 GPU의 성능을 넘어서고 있다.
NVIDIA가 GeForce GTX 200 시리즈 발표와 함께 소개한 Medusa 데모 역시 더
빠른 지오메트리와 스트림 아웃 성능에 따라 처리 성능이 빨라진다.
추가적인 파이프라인과 아키텍처 향상
GeForce GTX 200 시리즈 GPU들은 내부 유닛들 간의 커뮤니케이션을 향상하였으며,
메모리 크로스바의 데이터 어셈블러와 프레임 버퍼 유닛을 최적화하고 풀 속도로 동작하게 만들었다. 또,
Post-Transform 캐쉬 용량을 늘려 지오메트리와 버텍스 스테이지의 성능을 개선했으며, Z-Culling 개선 (ZROPs
Cull 비율은 클럭 당 256 샘플 또는 클럭 당 32 픽셀)을 통해 고해상도에서의 성능이 특히 개선되었다.
GeForce GTX 200 시리즈 GPU는 레지스터 할당, 명령어 스케쥴링, 그리고 명령어
유출을 개선한 마이크로 아키텍처 향상을 포함하고 있으며, 더 빨라진 실행 유닛을 제공한다. 이런 향상은 SP와 SFU
사이에서 논쟁되었던 듀얼 유출 명령의 응답이 개선되었다. 텍스처 유닛과 스트리밍 멀티 프로세서 컨틀롤러 사이의 스케쥴링
작업 역시 향상되었다.
GeForce 8800GTX vs GeForce GTX 280의 비교
새로운 GeForce GTX 200 GPU들은 65nm 공정을 적용하여 제조되며, 이후 55nm
공정으로 이전된다고 알려진 상태다. 기존보다 더 늘어난 1.4billion 개의 트랜지스터를 집적하고 있어 더 커진 코어와
향상된 성능, 복잡한 GPU 연산 기능을 수행할 수 있게 되었으나 공정의 한계로 더 커진 다이 크기와 발열, 소비전력이
늘어난 단점들도 나타나게 된다.
GeForce GTX 280 GPU들은 G80 GeForce 8800GTX와 비교하여 112개
더 늘어난 240개의 프로세싱 코어, 64에서 80으로 늘어난 텍스처 필터링 유닛, ROP 블렌드도 클럭 당 12에서 32로
증가, FP32에서 FP64로 늘어난 정밀도, 부동소수점 연산 능력도 518에서 933 GFLOPs로 증가, 메모리
대역폭도 384bit에서 512bit 메모리 인터페이스로 변경되어 86에서 142GB/s로 증가, Texture Fill
역시 37에서 48 GT/s로 증가되었고 ROP 블렌드 처리 능력 향상, PCI-Express 2.0 인터페이스 지원으로
대역폭 향상, 비디오 프로세서 부분에서도 G92 GPU들이 제공하는 VP2를 제공한다.
내부적으로는 텍스처 프로세싱, 지오메트리 쉐이딩, Dual issue, 스트림 아웃 과 같은
부분의 향상도 가져왔다.
GeForce GTX 200 시리즈 GPU에서 향상된 부분 정리
앞서 살펴본 GeForce GTX 200 시리즈 GPU에서 성능 향상을 위해 변화된 부분을
정리한 내용이다.
남들은 스마트폰이나 타블렛 PC에 관심을 갖고 있지만, 여전히 PC가 좋다. 새로운 것, 독특한 것을 좋아하지만, 남앞에 나서거나 사진찍히는 것을 싫어해 기자에는 제일 어울리지 않는 성격. 누구보다 빠르게 PC 하드웨어 정보를 전달하기 위해 노력하고 있으며, PC 하드웨어에 대한 열정은 현재진행형이다.