RSX 리얼리티 신시사이저

RSX 리얼리티 신시사이저(RSX Reality Synthesizer, RSX)는 엔비디아와 소니그룹이 플레이스테이션 3 비디오 게임 콘솔을 위해 공동 개발한 독점적인 그래픽 처리 장치(GPU)이다. 엔비디아의 지포스 7 시리즈, 특히 7800 GTX를 기반으로 하는 RSX는 G70 및 G71 (이전에는 NV47로 알려짐) 아키텍처의 요소를 통합한 하이브리드 설계를 사용한다. 별도의 정점 및 픽셀 셰이더 그래픽스 파이프라인을 특징으로 하며 높은 동적 범위, 안티에일리어싱, S3 텍스처 압축과 같은 고급 그래픽 렌더링 기능을 지원하며, 이론적인 부동 소수점 성능은 192 GFLOPS이다.

RSX는 256 MB의 GDDR3 SDRAM을 포함하며, 650 MHz로 클럭되고 유효 전송 속도는 1.3 GHz이다. 또한 플레이스테이션 3의 CPU인 셀 브로드밴드 엔진을 통해 콘솔의 XDR DRAM 주 메모리 중 최대 224 MB에 접근할 수 있어, 총 480 MB의 가용 메모리를 사용할 수 있다.

RSX가 대부분의 그래픽 처리 작업을 처리하지만, 셀 프로세서는 그래픽 관련 계산을 지원하여 렌더링 작업에서 보완적인 역할을 한다.

 사양 
섬네일|칩 하단 길이: 4.28 cm
 사양 
별도로 명시되지 않는 한, 다음 사양은 E3 2005 컨퍼런스에서 공개된 소니의 보도 자료, 동일한 행사에서 발표된 슬라이드, 그리고 2006년 게임 개발자 회의에서의 소니 프레젠테이션에서 파생되었다.

 부동 소수점 성능: 192 GFLOPS
 코어 클럭: 500 MHz
 제조 공정: 90 nm (초기), 65 nm (2008), 40 nm (2010), 및 28 nm (2013)
 트랜지스터 수: 3억 개 이상
 아키텍처: NV47(지포스 7 시리즈) 기반
 엔디언: 리틀 엔디언
 텍스처 유닛: 24 텍스처 필터링(TF), 8 정점 텍스처 주소 지정(TA)
 텍셀 필레이트: 12.0 기가텍셀/초 (24 TF × 500 MHz)
 텍스처 샘플링: 32 필터링되지 않은 샘플/클럭 (8 TA × 4 샘플)
 렌더 출력 장치(ROPs): 8
 최대 픽셀 필레이트(이론적): 4.0 기가픽셀/초
 Z-버퍼링 속도: 8.0 기가샘플/초 (2 샘플 × 8 ROPs × 500 MHz)
 스칼라곱 연산: 최대 510억/초 (셀 CPU와 결합)
 픽셀 정밀도: 128비트, 하이다이내믹레인지 렌더링 지원
 인터페이스: 셀 FlexIO
 API 지원: PSGL (OpenGL ES 1.1 및 엔비디아 Cg 기반)
 텍스처 압축: S3TC 지원

 추가 기능 

 텍스처 필터링: 바이리니어, 트라이리니어, 비등방성, 퀸쿤스
 안티앨리어싱: 퀸쿤스, 최대 4배 MSAA, SSAA, 알파 투 커버리지, 알파킬

 메모리 아키텍처 

 GDDR3 SDRAM 메모리:
 256 MB @ 650 MHz
 128비트 인터페이스
 20.8 GB/s 대역폭
 구조: 2개 파티션 (각 128 MB)
 버스 폭: 파티션당 64비트
 뱅크: 파티션당 8개 (뱅크당 16 MB)
 뱅크당 페이지: 4,096개 (페이지당 4 KB)
 행 주소: 12비트
 열 주소: 9비트
 최소 접근 세분성: 8바이트 (RSX–GDDR3 버스 폭과 정렬)

 셀 FlexIO 버스 인터페이스를 통한 CPU 램버스 XDR DRAM 접근
 64비트 중 56비트 직렬 출력
 대역폭: 읽기 20 GB/s, 쓰기 15 GB/s
 576 KB 텍스처 캐시 (픽셀 파이프라인 쿼드당 96 KB)

 RSX 메모리 맵 

RSX는 256 MB의 GDDR3 RAM을 가지고 있지만, 모든 메모리를 사용할 수 있는 것은 아니다. 마지막 4 MB는 RSX 내부 상태와 발행된 명령을 추적하는 데 예약되어 있다. 4 MB의 GPU 데이터에는 RAMIN, RAMHT, RAMFC, DMA 오브젝트, 그래픽 오브젝트, 그래픽 컨텍스트가 포함된다. 다음은 RSX 256 MB 내 주소의 분류이다.

 주소 범위  크기  설명 0000000-FBFFFFF  252 MB  프레임 버퍼 FC00000-FFFFFFF  4 MB  GPU 데이터 FF80000-FFFFFFF  512 KB  RAMIN: 인스턴스 메모리 FF90000-FF93FFF  16 KB  RAMHT: 해시 테이블 FFA0000-FFA0FFF  4 KB  RAMFC: FIFO 컨텍스트 FFC0000-FFCFFFF  64 KB  DMA 오브젝트 FFD0000-FFDFFFF  64 KB  그래픽 오브젝트 FFE0000-FFFFFFF  128 KB  GRAPH: 그래픽 컨텍스트

로컬 GDDR3 메모리 외에도 메인 XDR 메모리 또한 RSX에 의해 접근될 수 있으며, 이는 다음으로 제한된다:
 0 MB – 256 MB (0x00000000 – 0x0FFFFFFF)
-또는-
 0 MB – 512 MB (0x00000000 – 0x1FFFFFFF)

 속도, 대역폭 및 지연 시간 

시스템 대역폭 (이론적 최대치):
 셀 - 256 MB XDR: 25.6 GB/s
 셀 - RSX (IOIFO): 20 GB/s (실제: 128B 패킷 크기 @ 15.8 GB/s)
 셀 - RSX (IOIFI): 15 GB/s (실제: 128B 패킷 크기 @ 11.9 GB/s)
 RSX - 256 MB GDDR3: 20.8 GB/s (@ 650 MHz)

다양한 칩 간의 통신 경로 레이아웃, 그리고 다양한 구성 요소 간의 지연 시간 및 대역폭 차이로 인해, 소스와 목적지 간의 접근 방향에 따라 다른 접근 속도가 나타난다. 다음 표는 셀과 RSX 관점에서 GDDR3 및 XDR 메모리에 대한 읽기 및 쓰기 속도를 보여준다. 이들은 측정된 속도(계산된 속도 아님)이며, RSX 및 GDDR3 접근이 관련되면 더 나빠질 수 있는데, 이 수치들은 RSX가 550MHz로 클럭되고 GDDR3 메모리가 700MHz로 클럭되었을 때 측정되었기 때문이다. 실제 출시된 PS3는 RSX가 500MHz로 클럭된다. 또한, GDDR3 메모리도 650MHz로 더 낮게 클럭되었다.

 속도 표 
 프로세서  256 MB XDR  256 MB GDDR3 셀 읽기  16.8GB/s  16 MB/s (650 MHz에서 15.6MB/s) 셀 쓰기  24.9GB/s  4 GB/s RSX 읽기  15.5GB/s  22.4GB/s (650 MHz에서 20.8GB/s) RSX 쓰기  10.6GB/s  22.4GB/s (650 MHz에서 20.8GB/s)

256 MB GDDR3 메모리에서 셀의 읽기 속도가 매우 느리기 때문에, 셀이 XDR에서 작업하고 RSX가 XDR에서 데이터를 가져와 HDMI 디스플레이 출력을 위해 GDDR3에 쓰는 것이 더 효율적이다. 이것이 RSX에 XDR 메모리(로컬 GDDR3 메모리와 반대)에서 데이터를 로드할 수 있도록 추가 텍스처 조회 명령이 포함된 이유이다.

 RSX 라이브러리 
RSX는 3D 그래픽 전용이며, 개발자들은 그 기능을 접근하기 위해 다양한 API 라이브러리를 사용할 수 있다. 가장 쉬운 방법은 PSGL이라는 고수준 라이브러리를 사용하는 것인데, 이는 기본적으로 프로그래머블 파이프라인이 추가된 OpenGL ES이지만, 비교적 약한 콘솔 CPU에서의 성능 오버헤드 때문에 인기가 없다.

하위 수준에서 개발자들은 RSX 명령 버퍼를 낮은 수준에서 구축하는 API인 LibGCM을 사용할 수 있다. (PSGL은 사실 LibGCM 위에 구현된다.) 이는 명령(FIFO 컨텍스트를 통해)과 DMA 오브젝트를 설정하고 DMA 호출을 통해 RSX에 발행함으로써 수행된다.

 G70 아키텍처와의 차이점 
RSX '리얼리티 신시사이저'는 G70 아키텍처를 기반으로 하지만, 코어에 몇 가지 변경 사항이 있다. 두 칩 간의 가장 큰 차이점은 메모리 대역폭이 작동하는 방식이다. G70은 로컬 메모리에만 렌더링을 지원하는 반면, RSX는 시스템 메모리와 로컬 메모리 모두에 렌더링할 수 있다. 시스템 메모리에서 렌더링하는 것이 로컬 메모리에서 렌더링하는 것보다 훨씬 높은 지연 시간을 가지므로, 성능 저하를 피하기 위해 칩 아키텍처를 수정해야 했다. 이는 버퍼와 캐시를 더 크게 수용하기 위해 칩 크기를 확장하여 그래픽스 파이프라인을 채워 넣는 방식으로 달성되었다. 그 결과 RSX는 G70의 로컬 메모리 대역폭의 60%만을 가지므로, 개발자들이 성능 목표를 달성하기 위해 시스템 메모리를 사용할 필요가 생겼다.

 차이점  RSX  엔비디아 7800GTX GDDR3 메모리 버스  128비트  256비트 ROPs  8  16 포스트 변환 및 조명 캐시  최대 63개 정점  최대 45개 정점 픽셀 파이프 쿼드당 총 텍스처 캐시 (L1 및 L2)  96 kB  48kB CPU 인터페이스  FlexIO  PCI-익스프레스 16x 기술  28 nm/40 nm/65 nm/90 nm  110 nm

다른 RSX 기능/차이점은 다음과 같다:

 더 많은 셰이더 명령
 추가 텍스처 조회 논리 (RSX가 XDR에서 데이터를 전송하는 데 도움)
 빠른 벡터 정규화

 보도 자료 
소니 관계자는 플레이스테이션 매거진에서 "RSX는 G70 아키텍처를 기반으로 하는 엔비디아 7800과 많은 내부 작동을 공유한다"고 말했다. G70은 클럭 주기당 136개의 셰이더 작업을 수행할 수 있으므로, RSX는 G70과 동일한 수의 병렬 픽셀 및 정점 셰이더 파이프라인(24개 픽셀 및 8개 정점 파이프라인)을 특징으로 할 것으로 예상되었다.

엔비디아 CEO 젠슨 황은 2005년 E3 소니 사전 기자 회견에서 RSX가 지포스 6800 울트라보다 두 배 강력하다고 언급했다.

 범프게이트 
플레이스테이션 3 초기 모델에 사용된 RSX GPU는 처음에는 90 nm 공정으로 제조되었으며, 패키징 및 열 관련 문제("범프게이트"로 흔히 불림)의 영향을 받았다. 칩의 높은 작동 온도는 볼 그리드 배열(BGA)의 솔더 조인트를 약화시켜 다이를 인터포저에 연결하여 시간이 지남에 따라 성능 저하 또는 완전한 하드웨어 고장을 초래할 수 있었다.

몇 가지 요인이 이러한 고장에 기여했다:

 다이와 인터포저 재료 간의 열팽창 계수 불일치로 인해 열 주기 동안 차등 팽창이 발생하여 BGA에 기계적 응력이 가해졌다.
 가변적인 트랜지스터 밀도와 국소화된 작업 부하로 인해 다이 전체에 고르지 않은 열 분포가 발생하여 열점이 생겼다. 이는 다이의 일부가 다른 속도로 팽창하게 하여 BGA의 특정 영역에서 기계적 피로를 증가시켰다.
 솔더 조인트 내의 일렉트로마이그레이션은 공극을 형성하여 BGA 연결을 더욱 약화시켰다.
 RSX는 플립칩 공정을 사용하여 패키징되었다. 초기 버전에서 사용된 언더필 재료는 비교적 낮은 유리 전이 온도(Tg)를 가졌는데, 이는 장시간 게임 플레이 중에 초과될 수 있었다. Tg를 초과하면 언더필은 구조적 무결성을 잃고 솔더 조인트에 대한 기계적 지지력이 약해져 고장 위험이 증가했다.

이러한 문제들은 주로 출시 및 초기 생산 장치에 영향을 미쳤다. RSX의 후속 개정판은 2008년 65 nm, 2010년 40 nm, 그리고 2013년 28 nm과 같은 더 작은 공정 노드로 전환되었으며, 이는 전력 소비를 줄이고 결과적으로 열 발생을 줄여 초기 고장에 기여한 열 스트레스를 완화하는 데 도움이 되었다.

 같이 보기 
 제노스 – 엑스박스 360에 사용된 GPU
 셀 브로드밴드 엔진 – 플레이스테이션 3에 사용된 CPU

 각주 

분류:플레이스테이션 3
분류:엔비디아의 그래픽 처리 장치