본문 바로가기
IT분야 해외뉴스

■고토 히로시무의 Weekly 해외 뉴스■ (2007년 1월 22일)

by leeyj. 2007. 3. 1.

고토 히로시무의 Weekly 해외 뉴스


AMD가“Fusion”프로세서와 옥타코어로 진행되는 이유


●서버와 클라이언트로 분화가 진행되는 AMD CPU

 2008~2010년의 45nm 프로세스 세대로, AMD는 큰 CPU 아키텍쳐의 개혁을 실현한다. AMD는 현재, 2~3년을 간파한 대규모의 기술 혁신을 추진하고 있다. 보여 온 AMD의 CPU 전략은, 매우 대담하고 근본적인 개혁을 포함하고 있다. 그 전체상을 정리해 보자.

 AMD는 ATI Technologies를 인수하여 실적이 있는 GPU 코어와 그 개발진을 손에 넣었다. 그 결과, CPU에 GPU 코어를 통합한 「Fusion(퓨전)」프로세서를 2009년에 투입할 계획으로 진행되고 있다.

 Fusion 프로세서의 목적은, CPU에 그래픽 기능을 더할 뿐만 아니라, GPU 코어를 보다 범용적인 「Stream Computing」로 적용해, 비그래픽 어플리케이션도 고속화하는 것에 있다. GPU 코어라고 하는 것보다 스트림 프로세서 코어로 자리 매김 하고있다. 또, 이것은 「Cell Broadband Engine(Cell B.E. )」 등과 기본적으로는 같은 노선의 「헤테로지니아스(Heterogeneous:이종 혼합) 멀티 코어」로 AMD가 향하고 있다는 것을 의미하고 있다. 이것은 CPU 업계의 큰 조류를 탄 움직임이다.

 Fusion 프로세서는 AMD의 클라이언트전용 차세대 CPU의 핵이다. 그러나 이것이 AMD의 CPU 전략의 모두는 아니다. 서버전용 CPU에서는, 2007년 중반의 쿼드코어 CPU 「Barcelona(바르셀로나)」의 출시로 옥타코어 CPU를 투입한다. 또, 「Torrenza(토렌자)」이니시아티브에 의해, 특정용도 전용의 coprocessor를 시스템 레벨로 통합해 간다.


이렇게 해 보면 AMD의 CPU의 방향성은 향후 커다란 2개의 방향성으로 나누어진다. (1) 범용 컴퓨팅 성능을 추구한 다음 특정용도전용의 프로세싱 성능을 부가해 가는 서버전용 CPU와 (2) 범용 컴퓨팅 성능과 스트림 프로세싱 성능의 밸런스를 취하는 클라이언트전용 CPU로의 2개의 방향이다. 지금까지 결정적인 차이가 없었던 서버전용과 클라이언트전용의 분화가 진행된다.


 

이러한 CPU 제품의 파생을 용이하게 하기 위해서 AMD는 모듈러 설계 어프로치를 거두어 들였다. CPU를 기능 블록 단위로 설계해 각 블록의 인터페이스를 정의, 블록을 용이하게 조합하고 가능하게 하는 것으로, 저비용 또한 단기간에 파생 CPU의 개발을 가능하게 한다. Barcelona 세대부터 도입되는 모듈러 설계에 의해, 서버전용의 8 코어로부터 클라이언트전용의 Fusion까지 복수의 CPU 제품의 파생을 가능하게 한다.




●서버는 범용 코어가 8개, 클라이언트는 범용 코어와 GPU 코어

 시장마다 분화하는 AMD CPU와 그것을 지지하는 모듈러 설계. AMD의 Phil Hester (Senior Vice President &Chief Technology Officer(CTO))는 다음과 같이 설명한다.

 「우리가 향후의 CPU 개발로 매우 중요하다고 생각한 것은, 모듈러 설계를 가능하게 하는 것이었다. 마이크로 프로세서를, 주요한 기능 블록 으로 분해할 수 있으면, 그러한 기능 블록을 용이하게 재배열 할 수 있게 된다. 마이크로 프로세서의 시스템 on-chip 설계 어프로치라고 바꾸어 말해도 괜찮다.

 이 방법이라면 기본적인 빌딩 블록을 재이용해 클라이언트와 서버의 각각의 시장에, 다른 콤비네이션 제품을 제공하는 것이 가능하게 된다. 예를 들면, 클라이언트 스페이스에서는 아마 올바른 대답은 2~4개의 전통적 CPU 코어군과 GPU 코어군의 편성일 것이다. 한편, 서버 스페이스에서는 올바른 대답은 아마 8개의 전통적 CPU 코어군으로 GPU 코어는 가지지 않고 보다 좋은 캐쉬 구조를 갖추는 구성이 될 것이다」

 즉, 45nm프로세스 세대 무렵이 되면 AMD의 서버 CPU는 8개의 범용 CPU 코어를 탑재한 보다 넓은 멀티 코어 구성에 진화한다. 그 한편 클라이언트 CPU는 아마 모바일이나 밸류 CPU는 2개의 범용 CPU 코어에 플러스 GPU 코어 퍼포먼스 데스크탑 CPU는 4개의 범용 CPU 코어 플러스 GPU 코어의 구성이 된다고 추측된다. 여기서 상정되는 것만으로 3 종류의 배치가 등장할 가능성이 있는 것이다.

 서버에 다수의 범용 CPU 코어 클라이언트에 범용 CPU 코어와 스트림 프로세서 코어라고 하는 편성은 소프트웨어 환경을 생각하면 합리적인 전략이다. 서버에서는 소프트웨어 측에 다수의 thread가 병렬하고 있기 때문에, 범용 CPU 코어를 늘리면 thread 레벨의 병렬성 「TLP(Thread-Level Parallelism)」에 의해 퍼포먼스가 향상된다. 실제 Sun Microsystems의 Niagara 패밀리와 같이 8 코어의 서버 CPU는 벌써 등장해 실적을 올리고 있다.

 그에 반해 클라이언트 CPU에서는 2 thread 이상의 TLP로 퍼포먼스를 늘릴 수 있는 area는 한정되어 있다. 아마 향후 클라이언트는 범용 CPU 코어로 TLP를 향상시키지 않으면 안 되는 소프트웨어 환경으로는 되지 않는다고 보여진다. 바꾸어 말하면 클라이언트 CPU의 멀티 범용 코어화는 한계가 보여 오고 있다.

 그러나, 한편에서는 클라이언트측 에서는 미디어 프로세싱의 요구가 자꾸자꾸 강해지고 있다. 현상에서도 멀티 코어화로 가장 이익이 있는 어플리케이션의 상당수는 미디어 인코딩과 같은 스트림 프로세싱의 분야에 들어가는 것이다. 그리고, 미디어 프로세싱의 상당수는 GPU 코어와 같은 스트림 프로세서로 효율적으로 처리할 수 있다.

 이러한 배경을 생각하면, 2~4개의 범용 CPU 코어와 GPU 코어를 조합한 편이 어플리케이션측의 이익은 커진다고 하는 AMD의 판단은 합리적이다. 물론, 소프트웨어측이 GPU 코어를 사용한다는 조건이 붙는다. 그러나, 클라이언트 CPU 시장에서 큰 쉐어를 차지하는 AMD가 GPU의 일정한 시장을 잡는 ATI 코어를 통합한다면 소프트웨어측의 이행도 드라이브 될 가능성이 있다.


●프로세스 기술로 보면 이해가 가는 AMD의 방향성

 프로세스 테크놀러지의 관점으로부터 봐도 AMD의 현재의 계획은 합리적이다. 프로세스가 1세대 미세화하면 동일한 정도의 die size(반도체 본체의 면적)의 칩에 2배의 트랜지스터를 탑재할 수 있게 된다. 그 때문에, CPU 코어의 아키텍쳐가 거의 같으면 프로세스가 미세화할 때에 CPU 코어수는 배로 늘릴수 있다.

 물론, CPU 코어 자체를 확대하면 이야기는 별도이지만 현재의 AMD는 범용 CPU 코어 자체를 크게 확대해 성능향상에는 큰 문제는 없다. Barcelona 세대에 코어는 확장하지만 2배에 이르지는 못한다.

 이유는 명쾌해서 범용 CPU 코어를 크게 확장해도 거기에 알맞을 뿐의 퍼포먼스 향상이 어렵기 때문이다. CPU 코어의 인스트럭션 레벨의 병렬성 「ILP(Instruction-Level Parallelism)」의 향상은 더욱 더 어려워져 반도체 기술의 문제로부터 소비 전력의 벽 「파워 월(Power Wall)」도 가로막고 서있고 게다가 메모리아크세스의 벽 「Memory Wall」도 CPU 퍼포먼스 향상의 장벽이 되어 있다. 그 때문에, 범용 CPU 코어를 확장해도 거기에 따라 증가하는 트랜지스터와 소비 전력에 알맞을 뿐의 성능 향상을 바랄 수 밖에 없다. 지금의 CPU 메이커의 기본적인 노선은 CPU 코어의 확장은 미니멈에 억제해 코어수를 늘리는 방향에 있다.

 AMD의 K8 아키텍쳐는 130nm로 싱글 코어, 90nm로 듀얼 코어, 65nm로 쿼드 코어로 배로 증가하고 있다. 코어의 대폭적인 체인지가 없으면 45nm세대에 옥타코어에 배로 증가하는 것은 자연스러운 흐름이다. AMD의 45nm프로세스는 IBM 하고의 공동 개발로 가속 되고 있어 2008년 중반에 양산에 들어갈 예정이다. 2008~2009년의 시점에서 옥타코어가 서버전용으로 등장하는 것은 자연스러운 조류다.

 한편, 클라이언트 CPU는 45nm세대가 되면 밸류 CPU전용의 다이(반도체 본체)에서도 4개 이상의 범용 CPU 코어를 탑재할 수 있게 된다. 그러나, 밸류나 모바일전용 CPU를 쿼드코어로 해도, 소비 전력 효율을 생각하면 별다른 이점은 없다. 거기서 GPU 코어를 통합하는 것이 반도체 기술적으로도 합리적이 된다.


●coprocessor 부가 노선은 서버도 마찬가지

 이렇게 해 CPU 를 보면 AMD의 서버 CPU는 범용 컴퓨팅에 클라이언트 CPU는 범용 컴퓨팅+특정 용도 프로세싱으로 2가지 노선으로 분화하는 것처럼 보인다. 그러나, 시스템 레벨로 보면 결코 그렇지 않다. AMD는 향후의 컴퓨팅의 열쇠는 클라이언트와 서버의 어느쪽이나 특정 처리의 가속화에 있다고 생각하고 있다. 그 때문의 포석이 coprocessor를 시스템 레벨로 통합하는 「Torrenza(토렌자)」이니시아티브다. Torrenza에서는 coprocessor를 AMD CPU 소켓, HTX(HyperTransport의 확장 슬롯 사양), 혹은 PCI Express 등 표준 버스로 접속한다.





 구조적으로 보면 범용 CPU 코어의 회전을 특정용도전용의 다양한 coprocessor가 둘러싸는 이미지다. 덧붙여서, AMD는 coprocessor를 2006년 12월의 Analyst Day 에서 「xPU」, 즉, CPU 이외의 프로세싱 유니트라고 부르기 시작했다. 그리고, xPU 가운데 클라이언트에서의 GPU 코어와 같이 CPU에 통합하는 것이 실리콘 레벨로 통합된다. 거기까지의 필요성이 없는 xPU는 Torrenza로 외부로 접속되게 된다. Torrenza는 주로 서버를 타겟으로 한 솔루션으로 서버 사이드에서는 Torrenza에 의해 특정 용도의 xPU가 부가되게 될 것이다.

 다만, AMD는 서버 CPU를 범용 CPU 코어로 유지해서 GPU 코어와 같은 xPU를 통합하겠다고 한다.

 「서버 스페이스도 클라이언트와 같은 것이다. 만약, 특정의 기능이 퍼포먼스/소비 전력의 면에서 CPU에 통합해도 이해할 수 있다고 하면 통합하지 않는 이유는 없다. 다만, CPU에 통합하는 경우에는 고객의 누구나가 그 만큼의 실리콘 면적에 비용을 지불하지 않으면 안 된다. 그러니까, 고객이 실제로 서버로 실행하고 있는 작업의 부담 만큼 성능이 향상 될지가 관건이다」라고 Hester 는 설명한다.

 즉, 클라이언트 측에 GPU 코어를 통합하는데 서버 측에는 특정 코어를 통합하지 않는 것은 현재 상태로서는 서버측에서는 모든 시스템으로 필요하게 되는 xPU 코어가 아직 필요하지 않기 때문이라고 하는 것이다. 즉, 큰 범위에서는 서버 CPU도 클라이언트 CPU도 어느쪽이나 「범용 CPU+xPU」라고 할 방향으로 나아가고 있다. 그러나, 현재 보이고 있는 범위에서는 서버에서는 xPU는 아직 통합되지 않는다. 또, 장래 서버 CPU에 통합되는 xPU 코어도 아마 클라이언트의 GPU 코어와는 다른 것이 될 것이다. 서버에서는 GPU의 단정밀도 부동 소수점 연산 퍼포먼스는 큰 이익을 가져오지 않는 시장이기 때문이다.


□관련 기사【2006년 12월 20일】「코어 전쟁은 종결」, AMD Henry·리처드 상급 부사장
http://pc.watch.impress.co.jp/docs/2006/1220/amd.htm 【2006년 12월 15일】AMD, 2008년까지의 로드맵 공개http://pc.watch.impress.co.jp/docs/2006/1215/amd.htm 【2006년 10월 13일】【해외】AMD가 쿼드코어 CPU 「Barcelona」세부사항 발표http://pc.watch.impress.co.jp/docs/2006/1013/kaigai311.htm 【2006년 8월 10일】【해외】AMD+ATI의 통합 프로세서의 모습http://pc.watch.impress.co.jp/docs/2006/0810/kaigai294.htm

백 넘버

(2007년 1월 22일)

[Reported by 고토 히로시무(Hiroshige Goto) ]