메뉴 www.fafan.kr
파판 >> 특집기사
  • 로그인
  • PS3는 OpenGL/ES“2.0”
    작성자 : 기렌자비 | 조회수 : 9719 (2005-05-18 오전 2:10:20)
    - 첨부파일
      ps304.gif


     3D게임 팬을 위한 PS3 발표 직전 예습 강좌
    ~PS3는 OpenGL/ES“2.0”베이스

     

    이른 아침의 기술계 세션이면서 다수의 청강자를 모은 「CELL:A New Platform for Digital Entertainment
    3월 7일~11일(현지시간) 개최

    회장:Moscone West Convention Center

     GDC2005, 개막 3일째의 3월 9일, 프로그래밍 기술계 세션 중(안)에서는 가장 청강자를 모았다고 생각되는 「CELL:A New Platform for Digital Entertainment」가 행해졌다.「CELL 프로세서」는, SCE의 차세대 게임기, 가칭 플레이 스테이션 3(PS3)의 CPU가 되는 것이 아나운스 되고 있기 때문에, 프로그래머는 물론, 각 미디어 관계자의 청강자도 많았던 것 같다.

     이미 자매 미디어인 PC Watch 연재중의 고토 히로시 시게루씨의 연재 기사에서, CELL 프로세서의 개요는 해설되고 있지만, GAME Watch에서는 소프트웨어(게임)의 견지에서 이 테마에 대해 정리해 보고 싶다.


    ■ 멀티 코어는 뭐?~대칭형의 Xbox2, 비대칭형의 PS3

     PS3의 CPU가 되는 CELL는, 1 팁에 복수의 CPU 코어를 정리한 멀티 코어 CPU다.멀티 코어 CPU는 지금 프로세서 업계의 트랜드이며, 이 흐름이 차세대 플레이 스테이션에도 파급해 왔다……라고 할 수 있다.

     이 흐름은, 단순한 고클락화로 CPU 성능을 향상시키는 것이, 점점어려워졌던 것이 큰 요인이며, PC의 CPU의 대표격인 인텔의 Pentium 4계에서도, 최근 발표된 최신의 Smithfield(스미스 필드) 코어의 Pentium 4에서는 1 팁으로 듀얼(2기) CPU 구성의 아키텍쳐를 채용하게 되어 있다.

     멀티 코어 CPU의 존재 의의는, 복수의 소프트웨어를 병렬 동시 실행하고, 퍼포먼스를 벌려는 목적에 있다.일을 1명보다 복수인으로 동시에 하는 것이 빨리 끝난다……라고 하는 도리와 같다.멀티 코어 CPU의 트랜드란, 즉, 1명의 성능 향상에 한계가 보였기 때문에, 사람을 늘리려는 발상이 되어 온 것……이라고 생각하면 된다.

     덧붙여서, 마이크로소프트의 차세대 게임기, 가칭 Xbox2(이하 Xbox2)도 멀티 코어 CPU를 채용하는 것이 거의 확실시되고 있다.

     PS3와 Xbox2, 모두 멀티 코어 CPU를 채용하게 되는 것이지만, 그 아키텍쳐, 및 컨셉의 면에서 양자는 완전히 다르다.

     Xbox2의 CPU는 PowerPC970를 3기(2기라고 하는 설도 있어) 1 칩화한 CPU로, 같은 포텐셜을 가지는 CPU 코어를 3개 집계한 것이 된다고 듣고 있다.이것은 대칭형 멀티 코어(Symmetric Multi-Core)로 불리고 있다.

     한편, 이것에 대해, PS3의 CELL는 PowerPC970에 SPE(Synergistic Processor Element)로 불리는 128비트 SIMD 베이스의 RISC 프로세서를 8기 1 팁에 정리해 내려 다른 타입의 CPU를 1 칩화하고 있는 것부터 비대칭형 멀티 코어(Asymmetric Multi-Core)로 불리고 있다.

     대칭형의 메리트는 소프트웨어의 개발이 투과적이고 알기 쉬운 곳에 있다.결국, 같은 CPU가 복수개 있는 것이니까, 그 CPU 전용으로 만든 프로그램을 각각의 CPU로 움직일 수 있는 것이다.물론, 처리 결과의 조정등의 면에서, 효과적인 성능을 발휘하기 위해서는, 응분의 댓가가 불가결하지만, 적어도 프로그램 기법을 다수 있는 각 CPU 코어 마다 바꿀 필요가 없다.

     이것에 대해, 비대칭형은, 각각이 기능이 다른 프로세서를 내장하고 있기 때문에, 그 프로세서 마다 적절한 소프트웨어를 준비하지 않으면 최대 성능을 얻을 수 없다.그러나, 각 프로세서는 특정 분야에 압도적인 고성능을 발휘할 수 있기 위해, 적절히 일을 배분되었을 경우의 최대 성능은 대칭형을 용이하게 웃돌 수 있다.

     대칭형은 인간에게 비유하면, 「자신의 분신이 복수인 있는 상태」를 상상하면 된다.

     그리고 비대칭형은「재능이 다른 사람을 일당에 모여 팀 편성시켰다」같은 이미지일까.

    Sony Computer Entertainment US Research and Development의 Mark Deloura씨 같이, Dominic Mallinson씨가 단상에 올랐다


    ■ CELL 프로세서의 개요

    CELL 프로세서의 블록 다이어그램
     CELL 프로세서의 내용을 보고 가기 전에, 전체적인 구조를 복습 하자.

     그림은 CELL 프로세서의 블록 다이어그램이다.

     CELL는 1기의 PPE(Power Processor Element)와 8기의 SPE(Synergistic Processor Element)로부터 되는 멀티 코어 CPU다……라고 하고 있지만, 이것을 봐도 알수 있듯이, 외부 디바이스나 메모리와의 인터페이스 기능등 등 칩 세트 기능적인 역할까지도 겸비하고 있어 이른바 SOC(System on a Chip)로 분류되는 프로세서이다.

     PS3 탑재시의 동작 클락은 발표되어 있지 않지만, 현재 실험실 레벨로 4.5 GHz 이상으로 동작하고 있다고 하는 점, 4.0 GHz 동작시의 퍼포먼스치가 공개된 점, Xbox2의 CPU가 3.5 GHz 이상이라고 하는 정보가 리크 된 것을 밟으면, 3.0 GHz~4.0 GHz 당에 침착할 가능성이 높다.

     메인 메모리는 미 Rambus사의 XDR DRAM에 대응.이 인터페이스 기능을 가져오고 있는 것이 MIC(Memory Interface Controller)다.그 대역은 25.6 GB/sec와 최신의 인텔 Pentium 4 시스템의 3배에 상당한다.그렇다고는 해도, 메인 메모리는 그래픽스 프로세서와의 겸용이 되는 UMA가 될 가능성이 높기 때문에, 그것을 생각하면 무조건 기뻐할 수 있을 만큼 높은 성능은 아니다(GeForce 6800 Ultra에서는 35.2GB/sec).

     외부 디바이스와의 인터페이스는, 이것 또 미 Rambus의 「FlexI/O」라고 불리는 최신의 패러렐 I/O인터페이스 기술이 채용되고 있다.그 버스폭은 96비트, 대역은 6.4 GHz, 데이터 레이트로 76.8 GB/sec다.NVIDIA로부터 라이센스를 받은 GPU(그래픽스 프로세서)도 여기에 접속된다.

     그리고, 1 PPE와 8 SPE 그리고 MIC, FlexI/O의 각 기능 블록은 EIB(Element Interconnect Bus)에 의해서 서로 묶을 수  있다.그림에서는 2개의 환상 버스가 그려져 있지만, 이 그림대로, EIB는 「링 버스」라고 불리는 순회형 버스 구조가 되어 있다.각 기능 블록이 물통 릴레이적으로 데이터를 근처에 주고 받는 버스 구조로, 모든 것을 서로 직결한 크로스바 접속보다 성능면에서는 뒤떨어지지만, 구조가 심플하기 때문에, 코스트나 고클락 동작의 면에서 우위성이 있다.덧붙여 EIB는 우회전왼쪽 회전이 2개씩 있어, 이 안을 64비트의 태그와 128비트의 데이터로부터 되는 합계 192비트의 패킷이 버스내를 달리고 있다.


    ■ PPE란?~CELL가 오케스트라라면 PPE는 지휘자인

     PS3에 내장되는 CELL 프로세서는 PPE로 불리는 PowerPC970 완전 호환 프로세서와 8기의 SPE로부터 된다고 설명했지만, 각각 어떠한 「재능」을 가지고 있는 것인가.

     PPE는 명령/데이터 L1캐쉬는 각각 32 kB, L2캐쉬는 명령/데이터 통합형으로 512 kB를 탑재한 PowerPC970(G5) 완전 호환의 명령/2 Way의 인 오더형 슈퍼 스칼라 프로세서다.VMX(Vector Multimedia Extension:128비트 SIMD 명령용 coprocessor)까지 내장하고 있어, 신설계 코어라고 하는 설명은 있었지만, 아키텍쳐적으로는 거의 완전하게 Power Mac G5의 CPU로 같을이라고 생각해 주어도 괜찮다.하드웨어 레벨로 2 태스크의 마르치스렛딘그에도 대응.게다가 논리적으로 복수의 머신이 있는 것 같게 행동하는 「Logical Partitioning」라고 하는 특수한 multi-thread 동작 모드도 갖추고 있다.

     PPE는, 이른바 모범생적인 CPU이며, 개발원의 소니/IBM/토시바측에서는 별로 이런 말투는 하고 있지 않지만, 굳이 말한다면 메인 프로세서라고 하는 위치설정이 된다.

     이 PPE의 일은 2개.그것은 OS를 동작시키는 것, 그리고 후술 하는 SPE의 동작을 제어하는 것이다.

     「1기의 PPE와 8기의 SPE로부터 되는 CELL 프로세서가, 만약 1 오케스트라라고 하면 PPE는 지휘자에 상당한다」라고는 단상에 오른 Dominic Mallinson씨의 변.


    ■ SPE란?~SPE의 우수 분야와 서툼 분야

    SPE는 메인 메모리에의 액세스 능력이 있지만, 실제의 처리의 실행은 LS상에서 실행
    SPE의 실행 파이프라인의 상세.2 명령 동시 발행형의 파이프라인이지만 짝수 파이프라인이 연산계, 홀수 파이프라인이 제어계라고 하는 명확한 나뉘는 방법을 하고 있으므로, 2 명령 동시 실행을 지키기 위해서는 컴파일러측에서의 사전 최적화가 필수 불가결
     CELL의 특징이며, 그 퍼포먼스의 열쇠를 잡는 것은 8기도 있는 SPE다.

     SPE는 전술한 것처럼 128비트의 SIMD 베이스의 RISC 프로세서다.

     PPE를 위에서 메인 프로세서라고 칭해 버린 것으로부터, 「SPE는 서브 프로세서인가」라고 하는 오해를 주해버렸을지도 모르지만, 이번 발표에서도 「SPE는 범용 용도에 견딜 만한다」라고 명언된 것처럼, 소프트웨어의 견지에서는 포텐셜적으로 PPE와 비교해 뒤떨어지는 부분은 거의 없다.조건 분기/반복도 있고, 레지스터수도 128 bit length의 것이 128개나 있다.프로그램 언어에 대해도 풀 스펙의 C/C++가 준비된다고 한다.

     다만, 위에서 CELL를 「재능이 다른 사람을 일당에 모여 팀 편성시켰다」라고 비유한 것처럼, SPE는 PPE와는 재능적으로는 다른 자질을 가지고 있다.

     우선, SPE가 우수한 포인트는, 128비트의 SIMD 베이스라고 하는 것으로, (w,x,y,z)와 같은 4 요소의 32비트 부동 소수점 실수로부터 되는 벡터 연산에 특화하고 있는 곳(중).1 사이클 당첨되어, 이 4 요소 벡터의 적일본 재래의 주산을 해낼 수 있으므로, 소니는 4.0 GHz 동작시의 SPE1기근처의 성능을 32GFLOPS(=4요소×2 연산×4.0GHz)로 하고 있다.덧붙여서 Pentium 4를 만일 4.0 GHz 동작시켰을 때를 시산하면 16GFLOPS(SSE 사용시).CELL 프로세서는 SPE1기의 시점에서 동클락의 Pentium 4의 2배의 128비트 SIMD 연산 성능이라고 하는 것으로, CELL 전체에서는 256GFLOPS(32GFLOPS×8기)로도 된다.탁월한 벡터 연산 성능이 SPE의“재능”이라고 할 수 있을 것이다.

     반대로 SPE가 서툼으로 하고 있는 부분도 있다.

     조건 분기/반복 처리에 관해서는, 분기/반복 이력을 관리하는 기능이 없고, 구조 프로그래밍이 가능하다고는 말해도, 별로 프로그램의 흐름이 뛰거나 뛰거나 하는 소프트웨어의 실행에는 향하지 않는다고 하는 것이다(반대로 PPE는 그러한 소프트웨어의 실행에 뛰어나고 있다).

     또, SPE는 CELL에 접속된 메인 메모리에 DMA를 개입시켜 액세스 능력을 가지지만, SPE 자신은 메인 메모리에 있는 소프트웨어를 직접 실행할 수 없다.SPE 각자가 가지고 있는 256 KB의 로컬 스토어(LS:Local Store)로 불리는 자기 메모리 공간에 소프트웨어나 데이터를 가져오고 나서 밖에 실행할 수 없는 것이다.즉, 한 번에 256 KB의 규모를 넘는 거대한 소프트웨어 실행이나 데이터 처리는 행할 수 없다.256 KB를 넘는 경우는 분할하고 LS에 가져올 필요가 있다.

     정리하면, SPE에는, 별로 크지는 않고, 게다가 복잡한 분기 구조를 가지지 않는 소프트웨어에서, 벡터 연산을 시키는 것이 적합하다고 하게 된다.


    ■ PS3:CELL의 SPE와 PS2:EmotionEngine의 VU, 양자의 차이점과 유사점

     PS2의 CPU인 EmotionEngine(EE)에는 MIPS 베이스의 메인 프로세서에 가세하고, Vector Unit(VU)로 불리는 coprocessor가 있어, SIMD 베이스의 벡터 연산을 자랑으로 여기고 있었다.

     이 때문에, CELL의 SPE를 EE의 VU의 강화판과 비록, 「CELL는 EE의 재래다」라고 염려하는 소리도 있다(EE의 VU는 프로그래밍이 곤란으로서 PS2 등장 초기, 별로 평판이 좋지 않았다).

     이것은, 분명히 이것은 있는 측면에 있어 올바르다.EE에서는 메인의 RISC-CPU에 대해서 VU가 독립 병렬 동작할 수 있는 모드가 있었고, 분명히 CELL의 SPE에 이미지는 가깝다.

     SPE에 얼마 범용의 RISC 프로세서의 포텐셜이 있는……이라고는 말해도, OS를 움직이거나 자원의 매니지먼트는 PPE 밖에 행할 수 없기 때문에, SPE에는 서브라고 하는 이미지가 항상 따라다녀, 이 점에서도 SPE는 EE의 VU를 연상시킨다.

    SPE와 VU의 차이점.대국적으로 보면 확실히 SPE는 VU의 확장판이다.어쨌든, CELL의 최대 성능을 끌어 내려면 SPE의 적극 활용을 빠뜨릴 수 없다
     그러나, 차이점도 많다.

     VU의 독립 병렬 동작 모드의 실행은, VU내의 메모리에 격납된 프로그램으로 한정되고 있었다.SPE의 프로그램 실행이 LS로 한정되고 있으므로 비슷한 느끼기도 한다.뭐VU가 16 KB의 내장 메모리, SPE가 256 KB의 LS라고 하는 용량적인 차이도 있다고 해도, 그것보다 SPE의 경우는 DMA를 개입시켜 메인 메모리측과 교환을 할 수 있는 점이 크다.DMA라고 하는 중개인을 사이에 두지만, 항상 외측의 세계에의 문은 열리고 있어 실행할 수 있는 소프트웨어의 레벨도 전혀 다르다.

     또, VU의 프로그래밍이 어셈블리 언어로 한정되고 있던 것에 대해, SPE의 프로그래밍은 풀 스펙의 C/C++를 이용할 수 있다고 하는 점도 큰 차이점이다.


    ■ SPE, 3개의 동작 모드~어떤 처리계를 어느 모드로 실행시키는 것이 적절한가

     그리고, 차이점이라고 말하는 것보다도 SPE만이 가능한 신요소라고도 말해야 하는 것인 것이, 1기의 PPE, 그리고 최대 8기의 SPE, 그리고 EIB나 메인 메모리의 모두를 사용해 고도의 병렬 동작을 하게 하는 동작 모드가 CELL 프로세서에는 갖춰지고 있다.CELL의 진면목을 발휘하려면 이 동작 모드의 활용을 빠뜨릴 수 없다고 해도 괜찮다.

     2월에 CELL 프로세서가 정식으로 발표된 이래, 이 부분에 대해서는 수수께끼였던 것이지만, 이번 GDC로 처음으로 밝혀졌다.

    ●작업·큐(JOB QUEUE) 모드~서브 프로세서적인 역할을 완수한다

     PPE가 리더가 되어, 각 SPE에 프로그램 컨테이너를 나눠주어, 이것을 실행시키는 모드. 각 SPE는 배부된 프로그램을 해내, 결과를 DMA를 개입시켜 메인 메모리 측에 출력해 나간다.

     PPE는, 일을 끝내 한가해 진 SPE를 찾아내면 다음의 프로그램 컨테이너를 건네주어 이번은 그것을 실행시킨다.

     각각의 SPE는, 메인 메모리로부터 데이터를 교환하지만, PPE나 다른 SPE와의 제휴는 필요없고, 어쨌든 자신의 일에 집중하면 된다.

     각 SPE간에 동기 처리의 필요가 없는, 독립성의 높은 소프트웨어를 병렬 실행시키는데 향하고 있어 PPE의 오버헤드도 적은 것이 이 모드의 특징이다.

     이 모드의 약점으로서는 프로그램의 complex system가 LS의 용량의 256 KB로 한정된다고 하는 점을 들 수 있다.

     「PPE1 인으로 하는 것은 곤란한 일」을 「복수의 SPE들에게 배분해 동시 진행에 시킨다」 것이지만, 「돌보기역의 PPE가 각 SPE의 결과를 정리한다」일이 필요한 처리계라고 하는 것으로, 구체적으로는 대국적인 물리 처리나 AI처리등을 적합하다고 말할 수 있을까.

    PPE가 메인 메모리로부터 SPE의 LS에 대해서 프로그램을 전송.처리에 필요한 데이터의 포인터도 주고 받는다 SPE는 자신의 처리 결과를 DMA를 개입시키고 메인 메모리에 써ㅓㅅ 되돌릴수 있다 이 모드에 몇 개의 SPE를 할당할까는 자재로 설정할 수 있다.이 그림에서는, SPE3 기본으로 대해, PPE가 프로그램 태스크를 배분하고 있는 모습을 도해한 것.한가가 된 SPE에 대해, 재빠르게 PPE가 일을 할당하는 이미지다.물론, 이 때의 오버헤드는 전무가 아니다




    ■ 셀프·multitasking(SELF MULTI-TASKING) 모드~독자적인 파이프라인을 형성하기 위해서

    셀프 multitasking 모드의 개념도.높은 병렬성을 유지한 채로 동작할 수 있는 점이 특징
     SPE 각자가, 자발적으로 태스크를 태스크 리스트로부터 꺼내고 일을 해내 가는 모드. 메인 메모리 측에, 복수의 SPE로 공유 이용할 수 있는 메모리 공간을 마련해 여기에 있는 태스크를 SPE가 자발적으로 꺼내 처리를 끝내면 다음의 태스크를 여기로부터 잡아 온다.

     꼭 오피스의 공유책상 위에, 상사(PPE)로부터의 사령서가 쌓아 두고, 이것을 각사원(SPE)이 책상 위로부터 1개잡아 자신의 책상에 가지고 돌아가고 일로서 해내는……끝나면 그 일결과를 「다음은 누구씨에게」라고 하는 인계처등을 써 공유책상에 되돌린다……라고 하는 이미지다.

     덧붙여 각 SPE에는, 공유궤(공유 메모리) 상의 일을 취해 오거나 끝난 일을 어디에 제출할까……등의 동작을 기술한 미니 OS(커넬)같은 것을 달리게 할 필요가 있다.이 커넬 자신도 유저가 프로그램이 가능하다.

     이 모드에서는, SPE 동작에 PPE가 거의 개입해 오지 않고, 또, JOB QUEUE 모드와는 달라, SPE측에서 동작시키는 프로그램의 교체가 없기 때문에, PPE와 SPE의 양쪽 모두를 높은 병렬성을 유지한 채로 동작할 수 있다.

     공유 메모리를 매개로 하고, 데이터를 전송대 작업적으로 복수의 SPE간에 물통 릴레이적으로 처리하는 것이 자신있는 모드이기 위해, 복수의 SPE를 사용한 오리지날의 파이프라인 처리계를 형성하는데도 적합하다.

     다만, 각 SPE용으로, 공유 메모리상의 데이터를 관리 조정 하는 구조나, 태스크 스윗치까지 실장한 커넬을 짜지 않으면 안되어, 소프트웨어적으로는 복잡하게 되지 않을 수 없다.

     구체적인 용도로서는, 예를 들면, 소프트웨어로 텟세레이타(특정의 메소드에 따라서 다각형을 분할하는 처리계)나 LOD(Level Of Detail:시점으로부터의 거리에 따라 3 D모델의 다각형수를 증감하는 구조)를 실장하는 것이 좋을지도 모른다.텟세레이타를 맡는 SPE가 정점을 증감해 공유 메모리에 출력, 계속 되어 이 데이터를 정점 시다를 맡는 다른 SPE로 투시 변환이나 광원 처리등을 행하는……이라고 한 상태로, 다.


    ■ 스트림 프로세싱(Stream Processing) 모드

     어느A 1개의 시퀀셜인 데이터열을 복수의 SPE를 사용해 공동으로 처리해 나가는 모드.

     1개의 전송대 작업을 복수인으로 공동 해 해내 가는 이미지다.

     이 모드에 참가하는 복수의 SPE간에는 어느 정도 협조성이 필요한 점, 동작 그 자체에 PPE가 개재해 오지 않는 점……결국은 SPE 프로그램 자체가 자발적으로 데이터를 처리해 나간다고 하는 점으로, 셀프 multitasking 모드를 닮아 있다.

     그러나, 각 SPE에 거의 동일한 프로그램을 달리게 해 다른 SPE의 처리 결과를 기다릴 필요도 없고, 자꾸자꾸 데이타를 뽑아 오고는 처리해 낸다고 하는……데이터의 순서대로 처리성을 추구하고 있는 점이 이 모드만이 가능한 특징이라고 말할 수 있다.

     어느A 대량의 데이터를, 최저한의 지연으로 리얼타임에 처리해 출력해 나가지 않으면 안 되는……이라고 하는 용도에 이 모드는 향하고 있다.

     PPE가 지휘를 맡지 않기 때문에, PPE는 자신의 일에 전념할 수 있다고 하는 메리트가 있어, 셀프 multitasking 모드와 같게 높은 병렬 실행성이 기대된다.

     이 모드에 있어서의 SPE측의 프로그램은, 「넣어 낸다」를 주체로 한 단순한 설계로 좋기 때문에, 셀프 multitasking 모드보다 난이도의 낮은 모드라고 할 수 있을지도 모른다.그러나, 어디까지나 데이터 구동 베이스의 처리계로 한정되어 고도의 인타라크티비티를 실현하는 소프트웨어의 실행에는 적합하지 않는다고 말할 수 있다.

     이 모드가 구체적으로는 어떤 처리계에 향하고 있는가 하면, 모드명이 지시하고 있도록(듯이) 스트림 데이터의 처리……라는 것이 된다.더 말하면, 음성 데이터의 가공이나 인식 처리, 화상/동영상 데이터의 encode나 디코드 처리등이 이것에 들어맞는다.

     정리하면, 이 모드는 이른바 DSP나 미디어 프로세서적인 역할을 완수하기 위한 모드라고 할 수 있을 것이다.

     데이터의 독립성이 높은 스트림 처리라고 하는 것으로, 예를 들면 3 D모델의 스키닝/변형 처리……이른바 정점 시다적인 역할도 이 모드로 행하는 것이 적합할지도 모른다.

    (1) 각 SPE가 3개의 데이터 처리를 할 수 있으면 가정했을 경우의 스트림 프로세싱 모드의 동작 개념도.우선은, 각 SPE에 입력 데이터 버퍼로부터 최초의 데이타를 뽑는는다 (2) 각 SPE의 입력 데이터 슬롯은 아직 비어 있으므로 열려 있는데 다음의 데이터를 넣는다.그 사이, 각 SPE는, 최초의 데이터를 처리중
    (3) 각 SPE에 최초로 입력된 데이터는 처리 완료.처리 완료한 데이터는 출력 데이터 버퍼에 출력.라고 동시에 비어 있는 3번째의 데이터 슬롯에 입력 데이터 버퍼로부터 데이터를 취득 (4) 이번은(2)의 시점에서 받은 데이터 처리가 완료, 출력 버퍼에 이것을 출력.(3)의 시점에서 최초의 입력 데이터 슬롯은 비어 있으므로 여기에 데이터를 넣는다.그리고는, 이 반복




    ■ 그 외의 PS3 정보~PS3의 그래픽스 파이프라인은 이렇게 된다!

    OpenGL/ES는 짜넣어 기기용의 OpenGL.이것이 PS3의 그래픽 프로그래밍 API와 정식 공개 되었다
     PS3는, 그 그래픽스 프로세서에 NVIDIA 설계의 것을 채용하면 공개된  한 일이 기억에 남았다.

     이번 세션으로, 이 그래픽스는 거의 말해지지 않았지만,

     ·그 그래픽스·프로그래밍의 API로서 OpenGL/ES를 채용한다
     ·그 프로그래머블  시더를 구동하는 시더 프로그램에는 NVIDIA의 C언어 라이크시다 언어 「Cg」를 채용하는

    그렇다고 하는 2점을 정식으로 발표했다.

     더이상 그 밖에 정보는 없을까, 필자는 GDC 회기중, OpenGL/ES등의 규격 책정을 근무하는 Khronos Group의 의장을 맡는 닐·트레 배트씨에게 취재를 감행 했는데, 금년의 OpenGL/ES의 도로지도를 볼 수 있었다.

    Khronos Group의 의장을 맡는 닐·트레 배트씨 OpenGL/ES의 도로지도.PS3도 채용하는 OpenGL/ES2.0은 2005년 여름 발표 예정

     여기에 따른과 Khronos Group는, 금년여름, 로스앤젤레스에서 개최되는 SIGGRAPH2005에 대하고, OpenGL/ES를 「1.2」(와)과「2.0」의 2 버젼으로 발표할 것을 밝혀 주었다(작년은 1.1이 발표되고 있다).

     OpenGL/ES의“ES”와는 Embedded System의 약어이며, 「편입 기기용」의 뜻이 있다.덧붙여서, “ES”가 없는 소의 「OpenGL」는 PC나 워크스테이션 전용이라고 하는 자리 매김이다.

     「편입 기기용」의 OpenGL인 이 OpenGL/ES는, 휴대 전화, PDA, 의료기기, 공업 기계, 계측 기기, 게임기 등, PC나 워크스테이션과 같이 윤택한 하드웨어 자원이 없는 기계로 3 D그래픽스를 취급하기 위한 API로서 규격 책정이 행해지고 있는 것이다.

     그런데, 금년 등장하는 2개의 OpenGL/ES 가운데, 「1.2」는 고정 파이프라인 베이스의 그래픽스를 취급하는 것이기 위해, 휴대 전화나 PDA등이 소형이고 소규모의 기기를 타겟으로 한 것이라고 말할 수 있다.

     대하는 「2.0」은 프로그라마브르시다베이스의 그래픽스를 취급하는 것이어, 이것이 PS3에 채용된 것이다.

     트레이닝 배트씨에 의하면, 「PS3는, 1.2도 아니게 2.1도 아니고 OpenGL/ES2.0이다」라는 일이지만, OpenGL/ES2.0과는 어떠한 것인가.

     기본적으로는 OpenGL/ES는 OpenGL의 다이어트판이라고 하는 위치설정으로, 특히 OpenGL/ES2.0은, 작년 여름에 발표된지 얼마 안된 OpenGL2.0의 다이어트판인 것이 명언되고 있다.

     어디를 어떻게 다이어트 하고 있는가 하면, 과거의 화석화한 기능이나, 고정 파이프라인 기능등의 삭제등이 해당한다.

    OpenGL2.0의 파이프라인.OpenGL/ES2.0도 이것에 준한 물건이 된다
     OpenGL2.0의 파이프라인은 그림에 나타낸 것이 되어 있어, OpenGL/ES2.0은 기본적으로 이 파이프라인 따른 것이 된다.

     이 블럭도를 본다고 알지만,

     ·정점 시다가 테크스체메모리에 액세스 할 수 있는
     ·픽셀 파이프라인의 출력 결과를 정점 파이프라인에 되돌릴 수 있다

    라고 하는 점으로부터, OpenGL2.0(및 ES2.0)은, 마이크로소프트의 DirectX 9.0 c의 Direct3D와 거의 동레벨의 기능을 서포트하고 있다고 말할 수 있다.그래, 프로그라마브르시다 3.0 베이스의 디자인까지를 서포트하고 있을 수 있는 것이다.

     PS3의 그래픽스도 이 그림의 처리계에 준한 것이 된다고 예측할 수 있는 것이지만, OpenGL에는 독자 확장 사양이라고 하는 것이 있기 위해, 만일, 너무 PS3의 GPU가 특수한 기능을 가지고 가고 있었을 경우는 이 구조를 이용할지도 모른다.PS3-GPU의 기능이 OpenGL/ES2.0의 기능에 제한되어 버릴 걱정은 없는 것이다.

    시다프로그라밍언어로서는 NVIDIA의 「Cg」가 채용되는 것이 분명하다
     OpenGL2.0및 OpenGL/ES2.0의 프로그라마브르시다를 위한 시다 언어로서는 GLSL(OpenGL Shading Language)로 불리는 것이 표준 사양으로서 설정되어 있지만, PS3에서는, GPU 기술 제공원의 NVIDIA의 시다 언어를 사용하는 것을 명언했다.

     아무튼, NVIDIA-GPU를 가장 효과적으로 취급할 수 있는 것은, NVIDIA제 프로그램 언어인 것은 자명한 이치이므로, 이 점에 대해서는 특별히 놀랄 만한 것은 아니다고 말할 수 있다.



    □Game Developers Conference(영어)의 홈 페이지
    http://www.gdconf.com/
    □Game Developers Conference(일본어)의 홈 페이지
    http://japan.gdconf.com/




    글쓰기 | 수정 | 삭제 | 목록   

    Lv.2 eunseukji (2005-05-18 17:41:14)
    뭐가 뭔지.. 하튼 좋다는 야기인가??
    Lv.2 InstantPig (2005-05-18 17:52:38)
    OpenGL 이구낭..
    Lv.3 운기맨 (2005-05-20 15:09:29)
    역시...
    Lv.5 제트 (2005-05-21 13:34:04)
    자세히 설명되었네요..
    Lv.3 mlbmania (2005-05-22 11:02:03)
    ..
    Lv.3 sepyros (2005-05-22 20:13:29)
    복잡하군요
    Lv.2 yuki (2005-05-24 06:01:12)
    복잡하다....ㅡㅡ;
    Lv.2 wrc (2005-05-26 18:58:12)
    ;;; 뭔소린지 게임이 잘된다는소리인가 -ㅅ-
    Lv.2 AIPUE (2005-05-31 10:57:45)
    개발환경이 더 편해진다는 이야기인 듯...OpenGL이면 머...
    Lv.2 하범용 (2005-05-31 13:12:28)
    복잡하다...
    Lv.3 원선생 (2005-06-02 12:54:30)
    복잡해, 복잡
    Lv.3 열혈매니아 (2005-06-04 13:02:39)
    ^^;
    Lv.3 astra (2005-06-05 16:10:41)
    어렵군요. ㅡㅡ;;;;;
    Lv.2 스푸키 (2005-06-06 02:31:25)
    당최 뭔소리인지 모르겠...[복잡하군요;]
    Lv.2 윗어 (2005-06-08 19:45:22)
    전문용어...
    Lv.2 쭈운 (2005-06-10 04:29:08)
    음..
    Lv.2 네오짱 (2005-06-13 17:12:49)
    플스는 컴터가 될려나.. -_-ㅋ
    Lv.2 아아아아 (2005-06-16 07:27:26)
    cc
    Lv.2 빅보이 (2005-07-02 15:09:42)
    흠..피시인감?
    Lv.2 참진이슬로 (2005-07-04 14:58:48)
    그래픽쪽은 이번에 엔비디아에서 했으니 pc랑 비슷할듯
    Lv.2 슈퍼곰탱이 (2005-07-05 17:02:31)
    결론은.. ps3 좋다는거ㅡㅡ;;??

    약간의 스크롤의 압박으로 그냥 내린 .. -_-
    Lv.2 アスカ♡LOVER (2005-07-07 03:44:11)
    음.. 플스3가 저희집 컴터보다 좋을수도 있겠군요 -_-;
    Lv.2 롤링봉 (2005-07-07 06:55:18)
    플스3 빨리나오길...
    Lv.3 러브파워 (2005-07-16 14:18:38)
    정말 복잡하네요 가격이나 좀 싸게나왔으면
    Lv.2 즐거움이가득 (2005-07-19 05:18:50)
    가격만 맞다면...
    Lv.4 ass0707 (2005-09-04 23:01:35)
    몬소린지??



    도배방지 : 0

    글쓰기 | 수정 | 삭제 | 목록   

     

    <<1112131415

    Copyright ⓒ FINALFANTASIA.COM All rights reserved.