R&D/OS

Xbox360 구조

sunshout 2006. 11. 18. 21:47

XBOX 360의 기본 구조는 PC와 비슷하면서도 전혀 닮지 않은 모습이다. CPU - 노스 브릿지 - 사우스 브릿지로 이뤄지는 PC와 달리 XBOX 360은 시스템의 중심에 GPU가 들어가게 된다. (XBOX 360의 내부 이미지와 칩셋 사진은 Anandtech에 올라온 것을 이용하였다)

이러한 XBOX 360의 내부 구조는 ATI가 프리젠테이션 자료를 통해 공개한 XBOX 360용 GPU 다이어그램에서도 확인할 수 있는데, GPU에 노스브릿지 기능이 들어가고 CPU는 GPU를 통해서 사우스 브릿지와 연결하게 된다. PC로 치면 노스 브릿지에 내장 그래픽 코어가 들어갔다고 생각하면 된다. (물론 PC와 다르게 XBOX 360은 GPU가 노스브릿지를 포함하는 구조다)

PC보다 먼저 3.2GHz 트리플 코어가 들어가는 XBOX 360 CPU

XBOX 360에 들어가는 CPU는 XBOX 1 때의 인텔 Pentium 733MHz 커스트마이즈 버전과 달리 IBM에서 만든 PowerPC 기반의 트리플 코어 CPU가 사용된다. 3.2GHz로 동작하는 3개의 코어가 하나의 다이에 들어있으며, 이들 코어는 1MB의 L2 캐시를 공유하게 된다. 또 코어당 2개의 하드웨어 스레드의 처리가 가능하기 때문에 총 6개의 하드웨어 스레드를 처리하게 된다.

인텔로 치면 듀얼 코어 지원 CPU인 Pentium D에 하이퍼 스레딩 기능까지 적용하여 4개의 코어처럼 동작하는 Pentium D 955/965 XE 구조에 코어가 하나 더 추가된 것으로 볼 수 있지만, 아키텍쳐가 다르기 때문에 동일한 기준으로 평가할 순 없다.

XBOX 360에 들어간 IBM 프로세서의 모습은 똑같은 크기의 3.2GHz 코어 3개와 이들이 공유하는 1MB L2 캐시로 구성되어 있다. 90nm SOI 공정으로 제조되며 1억 6천 5백만개의 트랜지스터가 들어간다.

XBOX 360의 CPU와 GPU는 21.6GB/s의 대역폭으로 연결된다.

XBOX 360이 3.2GHz의 트리플 코어로 이뤄져 있어 사운드나 이더넷, I/O 기능들이 게임 그래픽 처리를 위한 CPU의 성능을 떨어뜨리는 것을 방지하며, 물리엔진이나 A.I. 등 많은 CPU 처리를 요구하는 기능들을 사용하는데도 어려움이 없다.

코어당 1개의 VMX-128 벡터 유닛을 가지고 있으며, 초당 90억회의 도트 연산 기능을 자랑한다.

경쟁사 SONY의 경우 7개의 DSP를 이용하여 부동소수점 연산에서는 XBOP 360을 크게 앞서지만 범용 CPU 연산 성능은 동일한 3개의 코어를 사용하는 XBOX 360이 높다.

XBOX 360 GPU의 핵심은 Unified Shader와 10MB 임베디드 DRAM

XBOX 360의 그래픽 칩셋으로는 ATI가 만든 커스트마이즈 된 500MHz 동작 클럭을 갖는 GPU가 들어간다. Radeon X1000 시리즈에 사용된 R500 코어를 기반으로 한 것으로 알려지고 있지만, R600이나 G80 등 차세대 그래픽 카드에서 등장할 Unified Shader 아키텍쳐가 적용되었기 때문에 현재의 그래픽 카드 GPU들보다 아키텍쳐 구조상으로 훨씬 앞서있다.

GPU 코어 옆으로 10MB 용량의 임베디드 DRAM을 달아 GPU와 고속으로 데이터를 주고받을 수 있으며, GDDR3 512MB 메모리는 그래픽 뿐만 아니라 XBOX 360 시스템 전체의 메모리 역할도 수행한다. 1.4ns GDDR3 메모리에 동작 클럭 DDR 1400MHz로 최신 하이엔드 그래픽 카드들의 메모리 동작 클럭과 같은 수준이며, 128bit 메모리 인터페이스로 총 22.4GB/s의 메모리 대역폭을 갖는다.

사진에는 1.4ns의 삼성 GDDR3가 사용된 것으로 나오지만, 삼성 외에 Infineon의 메모리도 들어간다.

ATI가 공개한 XBOX 360 GPU의 아키텍쳐는 버텍스 파이프라인과 픽셀 파이프라인이 따로 구분되지 않고 Shader Pipe라고 명시된 48개(16x3)의 Unified Shader에서 상황에 따라 나눠서 처리할 수 있다. 이 기술은 DirectX 9 다음으로 나올 WGF2.0(DirectX 10)에 들어가는 것으로 PC보다 훨씬 오랜 기간 동안 동일한 스펙과 기능을 유지해야 하는 콘솔 게임기의 특성을 감안하여 XBOX 360에서 먼저 사용한 것이다.

ATI는 현재 XBOX 360 GPU의 모델링 엔진에는 WGF 2.0에 들어가는 지오메트리 세이더는 들어가지 않았으나, 프로그래머블 세이더 기능을 통해 이를 지원할 수도 있다고 한다.


ATI GPU 옆에 붙은 작은 Daughter 다이는 10MB 임베디드 DRAM만 달랑 붙은 것이 아니라 임베디드 DRAM을 사용하는 픽셀 프로세서 부분을 Daughter 다이로 옮겼다. 따라서 외부에서 보이는 GPU 코어와 Daughter 다이가 256GB/s의 대역폭을 갖는게 아니라 두 코어 사이는 32GB/s의 대역폭으로 연결되고 Daughter 다이 내부의 픽셀 프로세서와 EDRAM의 대역폭이 256GB/s가 된다.

Daughter 다이에는 192개의 픽셀 프로세서가 들어가 Alpha blending, Z-버퍼, Stencil, 4x MSAA 등을 Daugther 다이 안에서 모두 처리하고 그 결과만을 다시 내보낸다. 이 때문에 MS와 ATI는 BOX 360이 게임 성능의 저하 없이(1~5% 정도) 모든 게임화면에서 기본적으로 4X의 AA를 처리할 수 있다고 설명하고 있다