■고토 히로시무의 Weekly 해외 뉴스■
|
● Cell B.E. 정말로 쓸모 있을지에 대해서 논의
PLAYSTATION 3(PS3)의 방대한 연산 능력은 과연 사용 가능한 것인지. 이것이 현재의 PS3 타이틀 개발의 큰 테마가 되고 있다. 이 문제를 확장해서 PS3의 CPU 「Cell Broadband Engine(Cell B.E. )」와 같은 이종혼합(Heterogeneous) 멀티 코어 CPU가 실제로 사용 가능한지 라고 하는 논의를 일으키고 있다. CPU 아키텍쳐가 소프트웨어 개발 측에서 사용하기 어려우면 이론상의 CPU 능력이 아무리 높아도 의미가 없어진다는 논의다.
특히 지금의 상황에서는 PC전용과 서버전용 CPU는 대칭형의 멀티 코어로 범용 CPU 코어의 수를 배로 늘리고 있다. 그 때문에 PC&서버전용 CPU가 같은 멀티 코어에서도 소프트웨어 개발의 장애물이 낮다. PC&서버와 비교하면 Cell B.E. 는 이론상 부동 소수점 연산 성능은 수배 높지만 그것을 실용화 하기 어렵다.
이러한 상황에서 소니·컴퓨터 엔터테인먼트(SCE)는 「GDC(Game Developers Conference)」로 Cell B.E. 의 연산 CPU 코어 「SPU(Synergistic Processor Unit)」의 이용에 대해 2개의 접근을 시도했다. 하나는 퍼스트 파티를 중심으로 한 선진적인 SPU의 사용법의 소개. 또 하나는 SPU 프로그램 라이브러리의 제공에 의해서 보다 간단하게 SPU를 사용할 수 있도록 하는 것이다.
후자의 시도로 우선, SCE는 SPU를 위한 컴퍼넌트 군을 「PLAYSTATION Edge」의 일부로서 발표했다. Edge에는 몇 개의 요소가 포함되지만 그 중에서 눈에 띈 것은 SPU 지오메트리 프로셋싱이다. 이것은 그래픽 처리 가운데 지오메트리 파이프라인의 프로세싱에 SPU를 사용한다고 하는 것인데 간단하게 말하면 GPU의 「버텍스 쉐이더(Vertex Shader)」를 SPU 로 대체시킨다.
SCE가 SPU에서의 지오메트리 프로셋싱을 가장자리로 꺼내는 데는 이유가 있다. 그것은 RSX가 탑재하는 지오메트리 프로셋싱용의 버텍스 쉐이더 퍼포먼스가 낮기 때문이라고 한다. 또 게임 개발측으로부터 SPU를 제대로 사용할 수 없다는 것과 관련이 있다.
즉, SPU 지오메트리의 사용법은 PS3라고 하는 하드에 대해 보면 (1) RSX의 약점을 Cell B.E. 로 커버 (2) 게임 개발자가 사용해서 싫증나고 있는 SPU를 지오메트리 프로셋싱이라고 하는 익숙한 분야에서 사용하게 한다는 이야기가 된다. 「SPU를 좀 더 새로운 것에 사용하자」라고 하는 제안은 우선 놓아두어 「용도가 곤란한다면 우선, 지금 문제가 되고 있는 지오메트리 프로셋싱에 사용해 주세요」라고 하는 변환 이라고 말할 수 있다.
그러나, 좀 더 당겨 보면 이것이 향후의 CPU와 GPU의 파티셔닝이라고 한다, 지금부터 앞의 아키텍쳐의 열쇠에 관련되는 포인트를 알 수 있다.
● G80 코어라면 유효성이 보다 높았던 SPU 지오메트리
원래, 지오메트리 프로셋싱은 CPU나 프로그래머블 하드에서 처리했다. PS2에서도 지오메트리는 CPU인 「Emotion Engine(EE)」에 내장된 「VU(Vector Unit)」가 담당하고 있었다. SPU 지오메트리는 그러한 시대로 회귀하는 움직임으로 보인다. 그러나, 이 앞의 하드 아키텍쳐를 간파하면 스토리가 상당히 다르다.
기존 파티셔닝은 고정 하드에 렌더링을 하는 과정이다. 예를 들면, PS2의 GPU 「Graphics Synthesizer(GS)」는 고정 기능의 렌더링 칩이었다. 하지만, 현재 그래픽 파이프라인은 그만큼 어느 부분에서 프로그래머블화가 진행되고 있다. 그 때문에, SPU 지오메트리는 좀 더 유연한 파티셔닝의 가능성을 나타내고 있다.
예를 들면, PS3의 GPU가 같은 NVIDIA 아키텍쳐에서도 GeForce 8800(G80)과 같은 「통합쉐이더(Unified-Shader)」형태로 제약이 적은 DirectX 10세대의 GPU 아키텍쳐라면 어떠했는지. 지오메트리 프로셋싱을 SPU에 배분한 만큼 쉐이더 프로세서를 픽셀 쉐이딩에 배분할 수가 있었다. 그렇게 되면 로드 밸런스를 취해 전체적인 퍼포먼스를 올릴 수가 있었을 것이다.
그런데 PS3의 RSX는 인디펜던트 쉐이더이기 때문에 그러한 유연성은 없다. SPU 지오메트리는 RSX의 버텍스쉐이더의 부하를 경감할 수 있지만 픽셀 쉐이딩의 퍼포먼스가 단순하게 증가하는 것은 아니다. SPU 지오메트리는 만약, RSX가 G80 아키텍쳐라면 좀 더 유효했던 것이 된다.
이 「if」가 가리키고 있는 것은 현세대의 게임 콘솔의 아키텍쳐가 정확히 과도기에 있다고 하는 것이다. PS3가 앞으로 반세대 뒤로 어긋나 있어 보다 유연한 G80형의 GPU 아키텍쳐를 선택 되어 있으면 SPU 지오메트리의 의미는 차이가 난다.
또, SCE도 최초의 PS3의 플랜에서는 Cell 베이스의 그래픽을 검토하고 있었다. 그 플랜인 채라면 SPU 지오메트리는 PS3의 표준적인 사용법으로 SPU 베이스의 렌더링 코어와 로드 밸런스를 접하게 되어 있었을 것이다.
그러나, SCE가 PS3로 선택한 해는 독립형 쉐이더 RSX 아키텍쳐였다. 그 근처가 PS3 아키텍쳐의 해석한 부분이 되고 있다. 이것은, GPU 아키텍쳐의 정확히 전환점에 제품화하지 않을 수 없었던 PS3의 불운이라고 말할 수 있다.
● 차세대에서는 테라플롭스 리소스가 가능
현세대가 과도기라고 하는 것은 다음 세대에서 보다 강화 된다고 보기 때문이다.
2010년 이후의 게임 콘솔이나 PC에서는 CPU는 GPU 코어를 혼재하고 있든가 혹은, CPU에 SPU와 같은 연산 CPU 코어를 혼재하고 있을 어딘가가 될 가능성이 높다. 특히, 게임 용도에서는 퍼포먼스 효율을 중시한다면 범용 CPU 코어 뿐만이 아니라 연산 코어를 가질 가능성은 낮다. 또, GPU 코어는 통합쉐이더가 당연해 져서 한층 더 범용성을 높인 아키텍쳐로 변해있을 것이다.
시스템 전체의 구성으로서는 「범용 CPU 코어+연산 프로세서 코어+통합쉐이더 GPU 코어」의 구성이나 「범용 CPU 코어+통합쉐이더 GPU 코어」의 구성 「범용 CPU 코어+연산 프로세서 코어」로 그래픽까지 커버하는 구성 등을 상정할 수 있다. 범용 컴퓨팅의 리소스도 증가하겠지만 그 이상으로 연산 성능에 포커스 한 리소스가 증가하게 된다.
예를 들면, Xbox 360은 지금도 범용 CPU 코어+통합쉐이더 GPU 코어이지만 다음 세대에는 그래픽 처리에 필요한 퍼포먼스 이상의 GPU 코어 리소스를 가질 여유가 충분하다. 아마 시스템 전체로, 1~수테라플롭스(TeraFLOPS)의 연산 리소스가 비교적 유연하게 사용할 수 있게 된다고 추정된다. 게임 콘솔의 표어의 FLOPS는 지금까지는 고정 기능까지 넣은 마케팅 주제였다. 그러나, 다음 세대가 되면 완전하게 프로그래머블에 사용할 수 있게 될 것이다.
그렇게 되면 소프트웨어는 비그래픽의 연산 중심의 어플리케이션과 그래픽의 양쪽 모두를 연산 리소스의 풀에 자유롭게 할당할 수 있게 된다. 예를 들면, 연산 CPU 코어와 통합쉐이더 GPU 코어 사이로 지오메트리 프로셋싱이나 그 외의 연산 태스크를 할당한다. 혹은, 범용 CPU 코어+통합쉐이더 GPU 코어의 경우는 쉐이더 GPU 코어에 그래픽 이외의 연산 태스크도 동적으로 할당하는 것이 가능하게 될 것이다. 사라진 Cell B.E. 베이스 GPU의 플랜은 확실히 이러 흐름을 선취하는 형태였지만 너무 빨랐을지도 모른다.
한편, 어플리케이션도 지금은 그래픽 프로세싱 이외에 컴퓨팅 퍼포먼스를 필요로 하는 처리가 증가하고 있다. 예를 들면, 물리 시뮬레이션은 게임에서는 당연하게 되고 있다. PC라고 해도 지금부터 앞, 범용 컴퓨팅적인 처리가 급증한다고는 생각되지 않는다. 증가하는 것은 스트림 프로세싱 등 연산 성능에 포커스 한 코어로 향한 처리가 된다.
또, 연산 퍼포먼스가 자꾸 오르면 연산에 대한 효율성이 증가한다. 예를 들면, GDC에서는 PS3 타이틀 「Motor Storm」의 물리 시뮬레이션의 세션이 행해졌지만 그 중에서 방향성으로서 효율적인 사용 방법의 예가 제시되었다. 네트워크 에서의 지연을 은폐 하기 위해 다른 플레이어 차량 등의 물리적 움직임을 예측해 로컬의 PS3측에서 효율적으로 연산 처리하는 수법이다. 지연 하고 받은 데이터와의 사이에 오차가 있으면 나중에 수정한다고 한다. 연산 퍼포먼스가 남아 있으면 이러한 사용법도 할 수 있게 된다.
● 예상과 달리 RSX에 접속하고 있던 GS+칩
이렇게 개관 하면 CPU의 멀티 코어화와 GPU의 범용화가 진행되는 차세대에는 하드는 현세대보다 순조롭게 정리될 가능성이 높다(프로그래밍 하기 쉬운지 어떤지는 별도인 이야기). 또, 그 진화는 현세대의 게임 콘솔 하드의 연장선상에 있다. 그 의미는, 현세대기가 전환점이라고 말할 수 있을지도 모른다.
실제, SCE는 PS3의 후계 아키텍쳐는 PS3의 상위 호환이 된다고 하는 설명을 하고 있다. PS4에 Cell B.E. 의 발전형과 NVIDIA GPU의 발전형태를 싣는 구상이라면 그 설명도 납득할 수 있다. 그 경우는 범용 CPU 코어+연산 프로세서 코어+통합쉐이더 GPU 코어가 되어 설명한 것 같은 리소스의 어로케이션이 용이하게 된다. Xbox 360으로 해도 범용 CPU+통합쉐이더 GPU로 진화한다고 하면 현세대의 연장이 된다.
PS3 이후는 하드웨어의 계승이 확보된다고 해도 현행의 PS3 는 PS2와의 후방 호환성의 확보가 하드 설계상의 병목의 하나가 되고 있다. 특히 SCE의 PS2 호환 전략은 의도를 잡기 어렵다. 그것을 상징하는 것이 지난 주말 유럽에서 발매가 된 새로운 사양의 PS3다.
일본판 PS3는 PS2의 CPU 「EE(Emotion Engine)」라고 GPU 「GS(Graphics Synthesizer)」를 통합한 「EE+GS」칩과 PS2의 메인 메모리 128Mbit RDRAM 2개를 PS2 타이틀과의 하위 호환을 위해 탑재하고 있다. 그러나, 유럽 사양의 PS3에서는 EE+GS칩과 2개의 RDRAM 칩은 제거된다. EE상의 태스크는 PS3의 CPU 「Cell Broadband Engine(Cell B.E. )」위에서의 에뮬레이션에 GS상의 렌더링 처리가 새롭게 더해진 확장판 GS칩으로 처리되고 있다.
지난 주말부터 이 신세대의 PS3 하드의 칩 구성이 밝혀지기 시작했다. 그것에 따르면 이 코너에서의 예측과는 달리 개량형 GS는 사우스 브릿지 칩은 아니고 GPU인 RSX와 접속되고 있다. 또, RSX로부터의 디지털 비디오 출력은 HDMI 콘트롤러는 아니고 신GS칩에 입력되어 있는 것처럼 보인다. 현재 이러한 구성의 의도는 모른다.
한가지 명확한 것은 이것은 코스트 삭감만을 생각한 구성은 아니라는 것이다. GS는 규모가 큰 RSX에는 통합하기 어렵다. 그 때문에, 코스트를 내리는 칩 통합을 제일로 생각했을 경우에는 RSX에 접속한다고 하는 선택사항은 취하기 어렵다. 메인 칩의 수를 줄이는 것을 주목적으로 한 선택은 아니고 기능면에서의 필요로부터 RSX 측에 접속했다고 보여진다. 또, 이 구성에서는 메인 메모리로부터의 지연시간이 늘어날 가능성이 높고 GS칩 에 버퍼를 싣는 필연성은 높다고 볼 수 있다.
(2007년 3월 29일)
[Reported by 고토 히로시무(Hiroshige Goto) ]
원본출처 : http://pc.watch.impress.co.jp/docs/2007/0329/kaigai347.htm
'IT분야 해외뉴스' 카테고리의 다른 글
■야마다 쇼헤이의 Re:config.sys■ (2007.3.30) (0) | 2007.03.30 |
---|---|
Intel, 45 nm프로세서 차기 CPU 「Penryn」 상세 공개 (0) | 2007.03.29 |
일본 HP 미래의 디자인 컨셉 설명 (2007.3.27) (2) | 2007.03.27 |
혼다 마사카즈의 주간 모바일 통신 (2007.3.27) (0) | 2007.03.27 |
■고토 히로시무의 Weekly 해외 뉴스■ (2007.3.26) (0) | 2007.03.26 |