본문 바로가기
스마트폰/mobile GPU

이매지네이션 PowerVR 시리즈6 (Rogue)

by gamma0burst 2013. 1. 14.
반응형

Imagination PowerVR Serise6 (Rogue)

http://withimagination.imgtec.com/index.php/powervr/powervr-g6230-and-g6430-family-values-gone-rogue
http://withimagination.imgtec.com/index.php/powervr/powervr-g6630-go-fast-or-go-home




PowerVR 시리즈6 은 2세대까지 발표되었습니다.

1세대는 G6x00 으로 G6200, G6400 이 있습니다.
2세대는 G6x30 으로 2012년 11월에 발표되었습니다. G6230, G6430, G6630 이 있습니다.

시리즈6 의 코드네임이 Rogue 인데 뜻이 (행동은 못됐지만 해를 끼칠 정도는 아닌) 악당.
경쟁 제품들 다 발라버리겠다고 우회적으로 말하는건가...


 

(현재까지 알려진) 시리즈6 의 특징은 다음과 같습니다.
- GPU 구조가 쉐이더 프로세서 규모를 확장하기 쉽게 구성.
- 내부 명령 제어를 큰 폭으로 변경.
- 텍스처 유닛 강화.
- DirectX 10 이후의 최신 API 대응.
PC의 GPU에 많이 가까워졌다고 볼 수 있습니다.

G6xx0 에서 10의 자리는 세대(0 - 1세대, 3 - 2세대), 100의 자리는 클러스터의 수,
1000의 자리는 6시리즈를 의미합니다.

G6430 이라면 6시리즈 2세대, 4개의 클러스터 구성이라는 의미입니다.
시리즈5 에서 MPx 라는 방식으로 코어 구성을 표시했다면, 시리즈6 은 제품명 안에 코어 구성이 포함되어있습니다. Mali-T6xx 처럼 말이지요.
2세대는 프레임 압축 버퍼 로직의 탑재하고 있다고 합니다. (1세대는 없음.)



(G6230 다이어그램)

Vertex Data Master - 폴리곤을 구성하는 정점(버텍스) 데이터를 갖춤.
USCA (Unified Shading Cluster Array) - 통합 쉐이더 유닛.
CGS (Coarse Grain Scheduler) - USCA를 관리하고 명령을 내림.
Tiling Coprocessor - 라스터라이즈 보조 장치. 화면 좌표계로 변환된 폴리곤들을 타일에 할당하고 실제 픽셀 렌더링 준비.
Pixel Data Master - 실제 픽셀 렌더링을 위한 관련 데이터 제공.
Shared texture pipeline - 텍스처 유닛
Pixel Coprocessor - 최정적으로 나온 픽셀 값을 정리해서 출력.


(G6430 다이어그램)

클러스터 내의 각 ALU는 32bit 단정밀도(Single precision) 부동소수점 연산을 지원하는 것으로 보입니다.
OpenCL 1.2 지원이기때문에 64bit 배정밀도(Double precision) 부동소수점 연산도 지원할듯.
각 클러스터의 ALU수와 전체 사양은 뒤에서 다루겠습니다.


(G6630 다이어그램)

2개의 클러스터가 1개의 텍스처 유닛을 공유하는 구조입니다.
최대 6클러스터 구성이기때문에 최대 3개의 텍스처 유닛을 갖습니다.
시리즈5 가 1개 혹은 2개의 텍스처 유닛을 가졌던 것을 생각하면 크게 강화된 부분입니다.
시리즈6 의 텍스처 유닛은 4 Texels/cycle 로 알려져있습니다.


(시리즈6 라인업과 클러스터 구성 비교)

각 클러스터는 48ALU 으로 구성.
G62x0 - 2 클러스터 = 96ALU, 1TMU
G64x0 - 4 클러스터 = 192ALU, 2TMU
G6630 - 6 클러스터 = 288ALU, 3TMU


 


기존의 시리즈5 가 USSE라는 연산유닛 단위로 구성되었다면, 시리즈6 는 USC(Unified Shading Cluster)라는 연산유닛 단위로 구성됩니다.

시리즈5 와 달리 GPU 코어를 늘리지 않고 코어 안의 클러스터 수를 늘려서 ALU 숫자를 늘리는 것이 가능합니다.
클러스터(시리즈5 에서 USSE) 외부에 있던 텍스처 유닛이 클러스터 내부로 들어온 것도 그런 맥락입니다.
시리즈5 에서 텍스처 유닛을 늘리기위해서는 코어 수를 늘려야했지만, 시리즈6 은 클러스터 수를 늘리면 텍스처 유닛도 따라서 증가합니다.
이는 낭비를 줄여서 다이를 효율적으로 활용할 수 있게 합니다.
다이크기 대비 성능, 성능 대비 전력효율이 상승하는 것이지요.
또한 클러스터 수 조정만을 통해 로우엔드에서 하이엔드까지의 모든 라인업을 구성할 수 있습니다.



(
http://withimagination.imgtec.com/index.php/powervr/the-rise-of-gpu-compute)
이매지네이션 사에서 올린 연산성능 비교입니다.
SGX543MP4 는 64ALU이고 250MHz에서 32GFLOPS입니다.
그래프 높이를 비교해보면 G62x0 600MHz의 연산성능은 100GFLOPS 정도이고,
G64x0 600MHz의 연산성능은 그 두 배입니다.


또 다른 이매지네이션의 자료.
Nova A9600 에 Rogue가 들어가고 연산성능은 210GFLOPS에 이를 것이라는 내용입니다.
이는 STericsson 에서도 밝히고 있는 내용입니다.
(
http://www.stericsson.com/press_releases/NovaThor.jsp)

위의 그래프와 합쳐보면 Nova A9600 에는 G64x0 이 들어가고 G64x0 600MHz의 연산능력은 210GFLOPS라고 정리가 됩니다.
그렇다면 G64x0 은 175ALU 입니다.
하지만 G64x0 은 4개의 클러스터를 갖고 있고, 각 클러스터는 16ALU 단위로 구성되었다고 알려져있습니다.
클러스터는 16의 배수 개의 ALU를 갖고 있고, G64x0 의 ALU 수는 그것의 4배가 되겠지요.
175 근처의 숫자에 맞춰보면, 클러스터는 48ALU로 구성되어있고 G64x0 은 총 192ALU로 구성되었다고 볼 수 있습니다.

애플의 A6X는 SGX554MP4 를 탑재했는데 128ALU를 갖고 있습니다. 32nm 공정입니다.
최근 공정인 28nm라면 192ALU인 G64x0 을 탑재하는 것은 어렵지 않을겁니다.
하지만 다이 크기가 커진만큼 클럭은 그렇게 높지 못할겁니다.
일반적인 AP에 비해 굉장히 큰 애플 AP는 GPU 클럭을 낮게 잡아서 최대 300MHz 정도에 불과하지요.
낮은 클럭임에도 상당히 높은 소비전력을 보이고 있고요.
500~600MHz의 고클럭을 통한 200GFLOPS 성능은 아직이라고 봅니다.
그래서 그런지 이매지네이션 자료를 보면 시리즈6 의 타겟 공정을 20nm 로 보고 있습니다.


- API 지원
DirectX 10/11.1
OpenGL ES 3.0
OpenGL 4.2 (?)

OpenCL 1.2

하드웨어적으로 DirectX 11 의 테셀레이션 스테이지까지 지원하지만 출시 초기에는 DirectX 10의 지오메트리 쉐이더까지만 지원한다고 합니다.
당분간은 휴대기기, 임베디드 기기가 메인이기때문에 테셀레이션을 활용할 일이 없기때문이라고.
향후 상황에 따라 DirectX 11 지원 드라이버가 나올 것으로 생각됩니다.


- 2014.03.17
1클러스터당 32ALU로 확인되었습니다.
구체적인건 다음 포스팅 참고.
(링크 :
이매지네이션 PowerVR 시리즈6 코어 구성. (Imagination, Rogue))



반응형

댓글