- FCO 피파BJ 들 NO현질 선언 했네요 [48]
- 디아4 시즌5 이모양인 이유 [10]
- 디아4 PTR인데 호들갑 떤다고? [44]
- 차벤 모닝 vs BMW, 누가 잘못했나? [33]
- 나혼렙 "출석하면 서지우 수영복이!" 광휘의 공방 개선 및 50일 이벤트
- 걸그룹 아이브의 투톱 안녕즈 [6]
그리고 PowerVR Series6 세대는 현재
태블릿 최고 성능의 iPad (4)를 원시 성능 능가하는 것을 알수있다.
PowerVR Series6의 제 1 세대는 28nm 프로세스가 타겟 것으로 보이기 때문에,
Apple이 내년 (2013 년)에 32nm (A6/A6X)에서 28nm로 이행하면
PowerVR Series6을 사용할 수도있다.
Apple은 PowerVR Series6를 사용하는 것으로, 현재의 성능 곡선을 유지할 수있을 것 같다.
PowerVR Series6의 연산 성능이 높은 것은
Imagination Technologies가이 세대에 아키텍처를 일신한 때문이다.
PowerVR Series6는 GPU 코어의 구성을 바꾸고,
대규모 프로세서 구성을 쉽게 뽑을 수 있도록했다.
GPU 코어 내부의 명령 제어를 크게 변경하여
다이 면적 및 전력 당 성능을 끌어 올리려하고있다.
또한, 동작 주파수는 기존의 200 ~ 300MHz 대에서 최고 600MHz로 배에 올렸다.
대상 동작 주파수를 올린 것은,
GPU 코어의 연산 유닛의 파이프 라인 구조를 바꾼 것을 의미하고있을 가능성이 높다.
프로세스 기술의 진화 분 만 여기까지 주파수를 올리는 것은 어렵 기 때문이다.
프로세서의 파이프 라인을 깊게하면 더 높은 주파수에서 동작 가능하게된다.
기존의 PowerVR는 부동 소수점 연산 유닛을 4 사이클의 실행 지연으로 돌리는
파이프 라인 구조를 채택하고 있었다.
즉, 연산 유닛은 4 단계의 파이프 라인 구조로되어 있었다.
1 연산 유닛이 1 명령을 실행하는 데 4 사이클 걸린다.
그러나 파이프 라인 화되어 있기 때문에
새로운 명령의 실행을 1 사이클마다 시작시킬 수있다.
PowerVR 아키텍처의 경우는주기마다 다른 스레드의 명령을 실행한다.
따라서 4 사이클의 지연 시간을 은폐하기 위해 4 스레드를 병렬로 실행하게된다.
이번 Imagination Technologies가 PowerVR Series6의 동작 주파수를
2 배로 끌어 올릴 수는 4 단계의 파이프 라인을 8 단계로 높이는 것을 의미하는 것으로
추측된다.
그 경우, 명령의 실행 지연 시간은 4 사이클에서 8주기 늘어난다.
따라서 실행 지연 시간을 은폐하기 위해 2 배의 8 스레드가 필요하다.
즉, PowerVR Series6에서는 고주파 화를 위해 즉시 실행할 수있는 스레드 수를 늘려야한다.
그리고이를 위해 현재 16 항목 스레드 풀도 확장 할 필요가있다.
메모리 액세스 지연 사이클 수가 증가 때문이다.
Imagination Technologies가 파이프 라인을 깊게했다하면 이렇게 제어해야한다
스레드 수가 증가하기 위해 스레드 제어 부분의 오버 헤드가 늘어난다.
또한 파이프 라인을 깊게하면 latch 회로가 증가 클럭 배포판도 복잡하기 때문에
전력 소비가 늘어난다.
그러나 그만큼의 장단점을 지불해도, 걸 맞는 성능 향상을 얻을 수 있다고 판단한 것이다.
덧붙여서,
AMD도 과거 ATI Technologies 시대에 비슷한 파이프 라인의 심화를 행하고있다.
Radeon HD 2900 (R600)시 명령 시퀀서를 이중으로하여
기존의 4 사이클에서 8 사이클로 실행 지연 시간 은폐의 사이클 수를 늘렸다.
동작 주파수를 높이는 한편,
PowerVR Series6에서 컨트롤 오버 헤드를 줄일 개량도 진행된다고 보여진다.
Imagination Technologies가 올해 (2012 년) 8 월에 업데이트 된
"PowerVR Performance Recommendations"라는 문서에
기존의 PowerVR Series5와 PowerVR Series6 프로그래밍의 차이에 대해 다룰수있다.
그중 분기 입도의 변화에 대해 적혀있다.
일반적으로 GPU는 SIMD 형의 실행 유닛을 대비하여
여러 데이터에 대해서 같은 명령을 실행한다.
따라서 다중 스레드를 벡터로 처리하는 경우,
각 스레드를 개별적으로 조건 분기하는 경우에 문제가 생긴다.
GPU에서는 특정 분기 입도가 그 입도 중 조건 분기는
외관상의 분기를시키는 등의 방법을 취한다.
구체적으로는,
프레디 케이션을 실행해,
SIMD의 각 레인의 스레드마다 명령을 실행할지 여부
(또는 연산 결과를 레지스터에 기록하거나 기록하지 않는가)를
마스크 레지스터에 의해 선택한다.
프레디 케이션에 의해 외관상 레인은 스칼라 프로세서로 동작한다.
그러나 실제로는 하드웨어 적으로는 SIMD이며,
프로그램의 실행 경로는 SIMD 전체에서 일관된하고 (무결성을 취하고) 실행된다.
프레디 케이션에 그 결과가 반영되지 않을 뿐이다.
덧붙여서 SIMD 실행 단위는 NVIDIA 아키텍처에서는
32 스레드,
AMD 아키텍처에서는 64 스레드이다.
벡터 조건 분기 제어
그러나 기존의 PowerVR Series5는
그러한 PC 용 GPU와 같은 큰 분기 입도가 없었다.
PowerVR Series5는 1 개의 정점 또는 1 개의 픽셀 단위로 조건 분기가 가능하다.
이에 대해서는 "POWERVR SGX OpenGL ES 2.0 Application Development Recommendations"라는 Imagination Technologies의 문서에 명기되어있다.
PowerVR Series5에서는 원리 적으로 프로그램 중에 조건 분기가있을 경우,
버텍스 / 픽셀마다 다른 명령 실행 경로를 실행할 수있다.
그러나 실제로는 정점과 픽셀 모두 다중 스레드로 분해해 버리기 때문에
여러 스레드 단위를 가지고있다.
예를 들어,
RGBA 픽셀이라면 4 스레드하므로 하드웨어 적으로
분기 입도는 4 스레드 인 것으로 보인다.
반면 PowerVR Series6에서는 분기 입도가 더 커진다고한다.
Imagination Technologies의 문서에 따르면,
픽셀 쉐이더 프로그램의 분기는 픽셀 단위에서 행해지는 것이 아니라,
일관되게 발생한다고한다.
즉, PowerVR Series6에서는 큰 분기 입도를 가진 것으로 추측된다.
PC 용 GPU는 모두 PowerVR Series5보다 훨씬 큰 분기 입도를 채택하고있다.
이것은 분기 입도를 올렸서 명령 제어 장치를 단순화하여
칩의 연산 유닛의 비율을 높일 수 있기 때문이다.
즉, GPU 코어의 일정한 다이 면적당 연산 유닛의 수를 늘리는 것이 용이하게된다.
PowerVR Series6가 분기 입도 (= 논리 벡터 길이)를 늘렸다하면,
어느 정도 확장했는지가 포인트가된다.
전제의 "The rise of GPU compute"라는 블로그 기사는
PowerVR Series6의 실행 모델을 "scalar / wide SIMD execution model"라고 부르고,
NVIDIA 및 AMD와 유사한 방식임을 시사하고있다 .
즉, 비교적 넓은 SIMD 유닛으로,
프레디 케이션에 의해 분기를 제어하여
스칼라 프로세서로 작동시키는 방법을 채택 보인다.
그러나, PowerVR Series6의 SIMD의 입도는 아직 현 단계에서는 분명하지 않다.
PowerVR의 개발자 포럼에서도 이점에 대해 질문이되어 있지만,
Imagination Technologies 측의 응답은 "아직 밝힐수 없다"는 것이었다.
PowerVR Series6의 실행 유닛은 16 ALU 씩 번들되어 있다는 정보가 있으므로
16-way의 SIMD가 예상되지만,
NVIDIA 및 AMD처럼 여러 사이클에 걸쳐 같은 명령을 실행하는 경우도 있기 때문에,
아직 모른다.
어쨌든 넓은 SIMD 변경은 GPU 코어의 컨트롤 오버 헤드를 줄이고,
전체 성능 / 다이 크기 / 전력을 높이는 효과가있다.
이것은 고주파로 인한 복잡성 증가를 상쇄 할지도 모른다.
이전 PowerVR 기사를 쓴 단계에서 인용 한 블로그 "The rise of GPU compute"를
발견하지 않았다.
따라서 Rogue 아키텍처의 성능도 멀티 코어 구성일 가능성이 있다고 썼다.
하지만 이것을 보면 단일 코어 PowerVR G6400 계 최고 210GFLOPS를 목표로 알 수있다.
따라서 PowerVR Series6 (Rogue)의 추정 구성도도 정정해야 할것같다.
Rogue 아키텍처는 클러스터 구성을 채택하고 있으며,
제 1 세대는 G6400 계가 4 클러스터,
G6200 계가 2 클러스터로 구성된다.
현재 알려진 것은 클러스터의 연산 유닛 ALU 파이프가 16 개 단위로되어 있는지.
1 클러스터 당 16 ALU 인 경우는 G6400 시스템은 총 64 ALU되어,
600MHz 때의 연산 성능은 76.8GFLOPS 밖에되지 않는다.
그러나 G6400 계는 4 클러스터 210GFLOPS를 달성하기 때문에,
GPU 코어의 ALU의 수는 더 많을 것으로 보인다.
600MHz 동작하면 계산 상으로는 176 ALU 있으면 210GFLOPS에 도달하게된다.
4 클러스터 구성에서 176 ALU의 경우,
클러스터 당 44 ALU와 수습이 나쁜 숫자가되어 버린다.
한편, ALU가 16 개씩 1 그룹에 바인딩되어 있다고 가정하면
1 클러스터에 16 ALU 파이프가 3 개에서 클러스터 당 48 ALU가있을것 같은
구성의 숫자가된다.
4 클러스터 구성 G6400는 총 192 ALU된다.
하지만 192 개의 ALU를 600MHz 작동 성능은 230GFLOPS되어 버린다.
하지만, 600MHz는 최고 주파수에서 실제로 550MHz 정도가 현실적이라고
Imagination Technologies이 주시하고 있다고하면,
192 ALU × 550MHz에서 210GFLOPS된다.
Imagination Technologies의 Web 사이트의 그림에서도
PowerVR Series6 부분은 ~ 600MHz되어, 600MHz라고 명기되어 있었다.
현재 정확한 스펙은 모르겠지만,
아마도 각 클러스터에 16 ALU의 그룹이 3 개씩라는 구성이다.
이 추측을 반영한 PowerVR Series6 (Rogue) 시리즈의 추정 구성도는 아래와 같이된다.
PowerVR Series6의 Rogue 아키텍처는
2 클러스터 1 개의 텍스처 유닛 군을 공유한다.
기존의 PowerVR Series5 아키텍처는 텍스처 유닛은 코어간에 공유하는 장치 였지만,
PowerVR Series6에서는 클러스터와 긴밀히 협력하고있다.
따라서 클러스터를 늘리고 연산 성능을 높이면
동시에 텍스처 유닛도 증가하게된다.
이것은 PC 용 GPU는 당연하고,
PC 용으로는 연산에 대한 텍스처의 비율을 일정하게 유지하는 것이 중요 해지고있다.
PowerVR Series6 텍스처 유닛 군의 처리량은 아직 완전히 알려져 있지 않다.
그러나 ALU와 함께 스케일하게 된 것은 중요하다.
모바일 장치 용 애플리케이션 프로세서는 오랜 메모리 대역폭 병목이있었다.
프로세서 내부의 성능은 프로세스의 미세화로
트랜지스터 수가 늘어날수록 증가하는데,
메모리 대역은 거기에 알 맞는 속도로 증가했기 때문이다.
따라서 모바일 GPU는 메모리 대역폭을 억제 타이 링 아키텍처가 인기를 끌고있다.
타이 링 계의 아키텍처는
온칩 메모리는 픽셀 처리로
외부 메모리 액세스의 필요를 없애 준다.
하지만 텍스처를로드하는 외부 메모리 액세스를 제거 할수는 없다.
텍스처는 캐시도 효과 어렵기 때문에
메모리 대역폭의 제약이 크다.
위 그림의 오른쪽이 PowerVR 아키텍처이지만,
텍스처 데이터의 읽기로드 만이 남아있는 것을 알 수있다.
따라서 모바일 GPU는 연산 유닛의 스케일 업과
텍스처 유닛은 분리되어있는 것이 합리적이었다.
프로세스의 미세화로 연산 성능은 쉽게 향상되는 한편,
메모리 대역의 제약이 있기 때문에 텍스쳐 유닛은 늘려도 의미가 없었기 때문이다.
하지만이 2 ~ 3 년에 모바일 DRAM의 상황이 급변했다.
현재는 2 년에 2 배의 속도로 메모리 대역폭이 확장되는 추세에 있으며,
프로세스 미세화에 의한 성능 향상에 따라 잡고있다.
적어도 2015 년까지는 하이 페이스 메모리 대역폭 향상이 이어진다.
모바일 저전력 DRAM 로드맵
PowerVR Series6의 Rogue 아키텍처는 이러한 트렌드에 대응했다고 볼 수도있다.
PowerVR Series6하지만 여전히 타이 링 계의
Tile Based Deferred Rendering (TBDR)"를 뽑는 것으로 보이지만,
텍스처 유닛에 관해서는 종래와 같이 연산 유닛과 분리 할 방침을 취하지 않는다.
결과적으로,
PowerVR Series6는 연산과 동기화 최대 규모 텍스처 성능을 기대할 수있다.
따라서 원칙적으로 텍스처를 많이 사용하는 그래픽을 사용하기 쉬워진다.
20nm 프로세스가 Rogue의 주요 대상 여부
Imagination Technologies는
현재 같은 계열의 GPU 아키텍처를
여러 프로세스 기술의 세대에 걸쳐 계속하고있다.
PowerVR Series5 계는 65nm 프로세스에서 45/40nm,
그리고 32/28nm로 이어지고있다.
PowerVR Series6 (Rogue) 시스템은 28nm 프로세스에서 시작하지만,
20nm가 메인 타겟으로,
아마 16/14nm 프로세스에서도 계속될 것으로 추측된다.
PowerVR Series6에서 TFLOPS 클래스의 성능을 달성 할 수 있다는 Imagination
Technologies의 발표는 그러한 과정의 진화도 염두에두고있는 것으로 추측된다.
만약 PowerVR Series6의 1 클러스터가 48 ALU로 구성되어 있다고하면,
4 클러스터 구성의 PowerVR G6400 계에서는
192 ALU 구성된다.
현재 모바일 SoC 최대의 GPU를 가진 Apple의 A6X는 32nm 공정으로 제조되어
PowerVR SGX554 MP4에서 128 ALU를 갖춘다.
28nm 공정으로 전환한다면,
이 정도의 다이 크기에서 192 ALU의 GPU 코어를 탑재 할수 있을 것이다.
이 경우 Apple의 A7X 세대 SoC는 A6X의 3 배가되는
200GFLOPS 클래스의 GPU 성능을 달성 할수있게된다.
Apple Ax 시리즈, iPad / iPhone 시리즈의 변천
후래쉬마린