이번 페이지에서는 E3에 선보인 샘플 보드가 어떻게 생겼고 어떤 방식으로 작동하는지에 관한 내용을 살펴보도록 하자.
이것이 AGEIA의 PhysX PPU다!
E3에 소개된 ASUS PhysX PPU 샘플 카드 (이미지 출처 : www.pcper.com)
E3에 소개된 ASUS에서 제작된 PhysX PPU를 장착한 카드의 샘플이다. 샘플 버전이기에 실제 판매될 제품에서는 어떤 변화가 있을지 쉽게 짐작할 수는 없을 것이다. 그러나, 기본적인 부분에서는 크게 변화가 없을 것이기 때문에 현재 보여지는 사진을 통해 실제 판매될 제품을 대략 예상해볼 수 있다.
일단 기존 그래픽 카드와는 다르게 출력을 위한 DVI나 D-SUB 포트를 포함한 출력 단자가 포함되지 않았다. 이는 PhysX PPU가 과거 그래픽 카드 기술을 선두했던 3DFX의 VooDoo처럼 add-on 형태로 사용되기 때문이다. 다시말하면, 기존 그래픽 카드는 그대로 활용하며서 추가로 PhysX PPU를 PCI 슬롯이나 PCI-Express 슬롯에 설치하여 작동하게 되는 것이다. 또한, 게임과 PhysX PPU를 연결해줄 수 있는 NovodeX라는 API를 통하여 작동하게 된다.
샘플 버전의 사진으로 미루어 보면, 기본적으로 설치는 PCI 슬롯이고 상단에 추가로 위치한 PCI-Express 슬롯에 설치할 것으로 추정되는 부분이 존재하고 있다. 또한, BGA 타입의 메모리가 위치하고 있고 추가 전원 공급을 받기 위한 커넥터도 위치한다. 그리고 PhysX PPU의 작동중 발생하는 발열을 해결하기 위한 쿨러도 포함되어 있다.
샘플 보드에 대해서 알려진 하드웨어 스펙은 아래와 같다.
125 million 트렌지스터
182 mm^2 다이 사이즈
130nm TSMC 제조
20W 파워 소비
128MB GDDR3 메모리 사용
스펙상의 내용을 살펴보면, 사용된 트렌지스터의 양은 125 million 개로 구성되고 현재 보다 낮은 공정으로 대체되고 있는 추세인 130nm 공정으로 TSMC에서 제조를 담당한다. 소비 전력은 요즘 출시되는 그래픽 카드들과는 비교되지 않을 정도로 상당히 적은 전력 소비를 보이고 128MB에 이르는 BGA타입의 GDDR3 메모리를 사용하는 것이 특징이다. 그동안 CPU에서 주로 담당했던 물리 연산 부분을 하드웨어 칩셋인 PhysX PPU가 담당하여 CPU의 부하를 줄이고 보다 정교한 동작과 많은 프레임을 얻어 원활한 게임을 즐길 수 있을 것으로 예상된다.
AGEIA PhysX Architecture
AGEIA PhysX Architecture (이미지 출처 : www.pcper.com)
AGEIA PhysX PPU는 그래픽 카드나 사운드 카드와 마찬가지로 하드웨어 칩셋 자체만으로는 동작을 하지 못한다. 그렇기 때문에 그래픽 카드 처럼 이를 작동하게 해줄 소프트웨어를 필요로 하게 된다. 이를 위해 AGEIA는 NovodeX라는 API를 PhysX PPU와 함께 소개하고 있다.
이미지에서 볼 수 있듯이 게임 개발자들이 물리 엔진을 내장한 게임을 개발하였다면, 일반적인 경우 CPU에서 물리 연산 부분을 담당하는 것이다. 그러나, PhysX PPU를 사용하게 되면 물리 엔진 연산을 가능하도록 이어주는 NovodeX API 소프트웨어를 통하여 물리 엔진을 내장한 게임을 가속하여 주는 것이다. NovodeX 엔진은 PhysX PPU 하드웨어가 사용되지 않을 경우에는 CPU에서 이를 담당하여 최종 결과물을 내놓게 된다.
물리 엔진을 내장한 게임에 일반적인 경우 CPU에서 연산을 담당하고 CPU는 이 부분만을 다루는 것이 아니고 다른 연산도 함께 담당하기 때문에 별도의 하드웨어를 통한 지원이 없을 경우 효율이 떨어지는 것이다. 그런데 PhysX PPU를 사용할 경우 CPU에서 담당했던 물리 연산 부분을 처리하여 CPU의 부담을 줄이고 다른 작업을 보다 원활히 수행 가능하게 해주기 때문에 보다 정교한 움직임을 가능하게 해주고 높은 프레임을 얻을 수 있게 되는 것이다.
NovodeX API의 특징
NovodeX는 크게 아래와 같은 3가지의 특징을 가진다.
Multi-Threading 지원
개선된 고속 충돌 감지 기능 지원
Multi-Platform 지원
첫 번째로 Multi-Threading의 지원은 CPU 기술의 발전으로 익히 알다시피 주로 서버에 사용되었던 방식인 두 개의 CPU를 병렬로 연결하는 방식이나 요즘 화두로 떠오르고 있는 하나의 CPU에 두 개의 코어를 내장한 듀얼 코어 제품들을 지원하는 것이다. 이는 멀티 CPU를 지원하는 프로그램을 말하는 것으로 NovodeX는 기본적으로 두 개 이상의 CPU를 지원하여 CPU가 담당했던 물리 연산을 PhysX PPU가 넘겨받고 CPU들은 주요 작업들을 제어하여 보다 효율적인 게임 환경을 만들어 주게 된다.
두 번째로 개선된 고속 충돌 감지 기능을 지원한다. 기존에 사용되었던 방식보다 더 빠른 충돌 감지 기능을 지원하여 게임 상의 물리 엔진이 지원하는 충돌을 보다 빨리 인식하고 동작의 지연을 줄여 보다 사실적인 느낌을 받을 수 있다.
마지막으로 Multi-Platform을 지원한다. 이는 PC 게임 환경뿐만아니라 요즘 인기있는 PS 게임기들이나 XBOX 게임기들에도 쉽게 적용할 수 있다. 얼마전 뉴스에 소개되어진 PS3나 XBOX 360 같은 차세대 게임기들에 탑재된 멀티 CPU들에 적용되었듯이 앞으로 발표될 새로운 게임기들에도 적용하여 PC 게임과 더불어 보다 정교한 동작들과 프레임 향상에 도움을 줄 수 있다.
PhysX PPU를 사용할 경우 CPU, 그래픽 카드의 역할
1. PhysX PPU의 물리 엔진 연산
PhysX PPU는 기본적으로 위에서 언급한 7가지를 기본적으로 가속할 수 있도록 디자인 되었다. 게임상에 등장하는 인물의 머리 카락, 옷, 몸체 표현, 동작 중에 발생하는 충돌 감지, 제한된 요소의 분석 등의 기능인 물리 엔진의 연산을 맡는다.
2. 인공지능 및 게임 제어는 CPU
CPU는 PhysX PPU를 사용하지 않았을 경우 물리 엔진 연산 부분을 담당해야 하지만 PhysX PPU를 사용할 경우 물리 엔진 연산을 담당하고 CPU는 게임 상의 인공지능 부분과 게임 전체를 제어해주면 된다.
3. 렌더링 및 디스플레이는 그래픽 카드
그래픽 카드의 경우는 기존과 마찬가지로 실제 이미지를 표현하는 기능과 이미지를 렌더링하여 실제로 볼 수 있는 화면 표현 부분을 담당하게 된다.
CPU, PhysX PPU, 그래픽 카드의 3가지가 서로의 작업을 분담하여 기존 CPU와 그래픽 카드의 부담을 줄여 화면의 동작, 충돌을 효과적으로 처리하고 이를 통하여 프레임을 향상시킬 수 있다.
E3에서는 PhysX PPU를 사용하여 실제로 작동시킨 데모를 시연하였으며, 여기에서 PhysX PPU를 통한 데모 무비 몇가지를 미리 감상해 볼 수 있다.
|