원이언니의 혁명의 시작

인텔社의 아이비 브릿지(Ivy Bridge)의 강화 포인트는 GPU 아키텍처의 개혁이다. 본문

리뷰 & 프리뷰

인텔社의 아이비 브릿지(Ivy Bridge)의 강화 포인트는 GPU 아키텍처의 개혁이다.

원이언니 2012. 4. 28. 02:46

인텔의 아이비 브릿지 그래픽 성능은 얼마나 향상 될까?

아이비브릿지의 GPU성능은?

아이비브릿지 기술은 어떤게 있을까?

아이비브릿지 vs 샌디브릿지?

아이비브릿지를 프리뷰해보는 시간..


● CPU보다 GPU의 확장에 다이를 할애 한 Intel의 CPU 전략 

 Intel의 "아이비브릿지(Ivy Bridge)"에는 두 가지 중요한 점이있다. 

하나는 최초의 3D 트랜지스터이다 점, 또 다른 하나는 GPU 코어를 대폭 강화했다는 점이다. 

3D 트랜지스터의 중요성이 훨씬 높지만, Intel의 CPU전략에 GPU 코어 향상도 놓칠 수없는 포인트다. 아이비브릿지(Ivy Bridge)의 다이를 샌디브릿지(Sandy Bridge)의 그것과 비교하면, GPU 코어의 대형화는 분명하다.


 아이비브릿지의 GPU 코어는 그다지 화제가 되고 있지 않지만, 코어 디자인을 보면 샌디브릿지(Sandy Bridge)세대보다 훨씬 향상되었음을 볼 수 있다. 

단순히 DirectX 11을 지원했다는 것 뿐만 아니라, 확장 가능한 GPU 코어를 확장할 수 있도록 재설계 되어있다. 

목표는 궁극적으로 AMD의 APU (Accelerated Processing Unit)에 GPU 코어의 성능을 따라잡는 것으로 보인다.


 아이비브릿지는 GPU 코어는 최대 16개의 EU (Execution Unit)에서 각각의 EU가 부동 소수점 연산 유닛을 4개 준비함으로 총 64개의 연산 유닛을 갖추고 있다. 

 덧붙여서, 아이비브릿지의 GPU코어는 EU가 6개의 GT1, EU가 16개 GT2의 두 가지 핵심이있다. 

그리고 현재 계획은 내년 Haswell (하스웰) 세대에서 최대 40개의 EU, 즉, 160개의 부동 소수점 연산 유닛을 갖추려는 것이다.


 그래도 연산 유닛의 개수는 AMD의 A 시리즈 APU (Llano) 320 연산 유닛과 비교하면 절반인 50%에 불과하다. Llano의 GPU 코어 "SUMO"는 아래의 그림과 같은 구성으로 되어있다.



 그림에서 보이는것처럼 차이가 너무나도 극명하다. 이때문에, Intel은 GPU 코어를, AMD보다 높은 클럭으로 동작시켰다하더라도 기대했던 것만큼 연산 성능에 미치지 못했을 것이다. 

 게다가, AMD는 다음 APU "Trinity"에서 그 성능을 더욱 높일 것이다.

그러나, 샌디브릿지에서는 48 연산 유닛 (12EU)이기 때문에, 연산 자원 수는 3.3 배 증가하고, AMD와의 차이를 단번에 뒤집어 엎게 된다. 



 Intel은 향후 성능 향상을 CPU 코어 부분 보다 GPU 코어 부분에서 하려고 한다.

CPU 다이의 빈 영역은 CPU 코어를 늘리는 데 쓰이는 것이 아니라, GPU코어를 크게하여 사용하려는 방향에 있다. 


 현재 GPU 프로그래머는 게임과 일반적인 사용환경 모두에서 Intel의 아키텍처를 별로 중시하지 않지만, Intel의 전략에따라, 앞으로는 Intel 아키텍처도 시야에 넣을 필요가 있다는 것이다.


● 아이비브릿지(Ivy Bridge) 작은 CPU 코어와 큰 GPU 코어의 조합 

  아이비브릿지의 GPU 코어는 다이 레이아웃을 봐도 샌디브릿지와는 상당히 다르다.

 32nm 공정의 샌디브릿지에서 22nm 프로세스의 아이비브릿지로 마이그레이션, CPU 코어와 LL 캐시 SRAM 셀 크기가 작아졌다. 

그러나, GPU 코어는 첫머리에서 말한 것처럼 부풀어있다. Intel의 의도는 명백하고, 프로세스의 미세화에 의한 트랜지스터의 증가의 장점을 CPU보다 GPU에 분배하고 있다는 것을 알 수 있다.



 GPU 코어 프로세서 부분이다.

EU는 샌디브릿지의 GT2 구성이 12개,  아이비브릿지의 GT2 구성 16. 프로세스가 미세화 되었음에도 불구하고,

아이비브릿지의 EU의 영역은 그다지 작아지고 있지 않다. GPU 코어 프로세서 부분도 기능이 강화되어 오히려 부풀어있는 것을 알 수있다.


 구체적으로 아이비브릿지는 GPU의 무엇이 향상된 것인가... 아래는 아이비브릿지의 GT2 구성 GPU 코어의 다이어그램 그림이다. Intel이 자세한 다이어그램을 공식적으로 공개하고 있지 않기 때문에 어느정도 추측이 들어가있다.


 아이비브릿지의 핵심은 샌디브릿지의 구성을 크게 확장 가능한 구조로되어있다. 

또 다른 특징은,보다 향상된 메모리 계층 GPU 코어 내부의 메모리 계층 구조가 잘 정리되고있다.


  Intel의 GPU 코어는 크게 고정기능유닛과 제어장치로 구성된 파이프라인 부분 (그림에서 상단의 Fixed-Function Units)와 연산 프로세서 코어와 texture 유닛 부분 (그림의 중앙 부분) 그리고 픽셀 백 엔드와 L3 캐시, 래스터 라이저와 같은 공유 장치 그룹으로 구성되어있다.


 고정 기능 파이프라인 부분에있는 쉐이더는 실제로 연산을 행하는 장치가 아니라 연산을 행하는 EU 어레이에 스레드 디스패치 제어를 행한다. 각 EU에 스레드 디스패처에서 명령이 실행된다. EU는 4 유닛을 "Row"에 정리하고, L1 명령 캐시를 공유한다. 각 EU는 4-way 연산 유닛이므로 각 Row 16 개의 연산 유닛을 갖추고있다. 그러나 Row는 AMD의 이전 아키텍처의 SIMD와는 달리, Row의 각 EU는 같은 명령을 실행할 필요가 없다. 별도의 명령을 실행할 수 있게되어 있다고한다. Row 하나의 벡터를 처리하는 것이 아니라, EU가 별도의 벡터를 처리한다. 입도가 작은 것이 Intel 아키텍처의 특징이다. 또한 논리 벡터 길이도 가변으로 다양한 길이와 구성을 취할 수 있다. 이것은 논리 벡터 길이를 32에 고정하는 NVIDIA 및 64에 고정하는 AMD와 크게 다른 점이다.  아이비브릿지 설명은 벡터 장은 SIMD8하면 SIMD16, SIMD32으로되어있다. 32 SIMD 레인의 경우 EU는 8 사이클 (명령 종류에 따라 다를 수있다)에 걸쳐 수행하는 셈이다.

 텍스처 유닛은 2 개의 Row에 대해 1 유닛이 배치되어있다. 미디어 샘플러와있는 것은, 미디어 프로세싱을위한 데이터 처리 고정 기능 유닛이다. Intel은 쉐이더 코어의 프로그래밍 가능한 미디어 프로세싱이기 때문에 전용 유닛을 갖추고있다. 미디어 프로세싱은 미디어 파이프라인의 "Video Front-End (VFE)"단위로 제어된다.


● 샌디브릿지(Sandy Bridge)는 다른 아이비브릿지(Ivy Bridge)의 GPU 코어 

 아이비브릿지(Ivy Bridge)에 들어있는 Intel 그래픽 코어의 기본형은 여러 세대 전부터 계승되어오고 있는 것이긴 하지만, 점점 진화 해오고있다. 크게 도약한 것은 샌디브릿지였고,  아이비브릿지는 샌디브릿지 보다 더 발전된 GPU코어의 모습을 보여줄 것이다.


 아래는 1세대 이전의 샌디브릿지 추측 다이어그램이다. 

샌디브릿지 세대는 DirectX 11을 지원하지 않기 때문에, 테셀레이션 스테이지가 3D 고정 기능 파이프 부분에 없다. 또한 텍스처 필터링 유닛도 전체로 1유닛을 공유하고있다.


 샌디브릿지는 EU는 하나의 Row 3 유닛 구성으로되어있다. GPU 아키텍처에 익숙한, 4의 배수가 아닌 유닛 수가 기이하게 느껴진다. 

그래픽은 4의 배수 단위로 4개 또는 16개 (혹은 8개)의 픽셀을 동시에 처리하는 것이 효율적이기 때문이다. 

그러나, Intel 아키텍처의 경우 개별 EU가 개별 벡터를 처리하기 위해 Row 중 EU의 수를 4의 배수로 유지할 필요는 없다.


 각 EU는 다중 쓰레드, 아이비브릿지의 경우는 각 EU 당 최대 8 스레드까지 시작할 수있다. GT2의 경우 총 128 스레드를 시작할 수있다. 샌디브릿지의 GT2는 각 EU에 대해서 5 스레드에서 총 60 스레드이기 때문에, 스레드의 수가 2 배 이상이된다. 덧붙여서, NVIDIA 아키텍처는 벡터의 각 레인을 스레드와 계산하기, Intel의 스레드는 NVIDIA의 수와 AMD의 Wavefront 숫자와 비교해야한다.

 샌디브릿지와 아이비브릿지의 차이점은 GPU 코어의 메모리 계층에서도 보인다. 샌디브릿지는 "URB (Unified Return Buffer)"이 쉐이더 코어의 출력을 디스패처와 3D 파이프라인에 돌려보내기 위하여 설치되어 있었다. 아이비브릿지는 URB가 범용의 L3 캐시로 전환되었다. L2 명령어 캐시와 그림은 아니지만 버퍼 등이 모두 L3 캐시로 흡수된 것을 볼수 있다.

 이 L3는 EU 측에서는 읽기 & 쓰기로 볼 수있어 범용 컴퓨팅 프로그램은 스레드간의 메모리 공유에 사용할 수있는 것으로 보인다. 샌디브릿지 아키텍처는 범용 캐시는 CPU 코어와 공유 LL 캐시의 공간이 있었지만, 아이비브릿지는 GPU 코어에 L3 기능이 더 핵심에 가깝고, 전력사용의 효율적인 캐시가 되었다. 또한 메모리 계층도 더 깔끔한, GPU 다운 아키텍처로 진화했다.

 또한, 샌디브릿지는 1개의 텍스쳐 유닛을 공유하고 있었지만,아이비브릿지에서는 texture 유닛이 2개로 늘어났다 "Half Slice"라고 Intel이 부르는 프로세서 번들에 배치 되게 되었다. 단순 계산에서는, 텍스처의 최대 처리량이 두배가 된다. 아이비브릿지 그림과 비교하면이 부분의 차이 알 수있다.

 또한 발송도 바뀌었다. 샌디브릿지에서 배차 부분의 구성 정보를 알고 있지 않지만, 아마 1단 배차로 되어있을 것으로 사료된다. 

반면 아이비브릿지는 2단 구성이 각 EU에 대한 명령 발행으로 로컬 Dispatcher가 담당하게 된 것으로 보인다. 래스터 라이저는 2개의 Half Slice로 공유되고 있지만, 하위 Dispatcher에 연결하는 구성으로 바뀐 것으로 보인다. 그러나 디스패처는 현재로서는 아직 알 수 없고, 하위 배차 픽셀 셰이더 전용 가능성도 가지고 있다.


● Haswell의 GPU 코어는 아이비브릿지(Ivy Bridge) 아키텍처를 기반 

 아이비브릿지와 샌디브릿지의 그림만을 보면, 아이비브릿지의 아키텍처 변와의 의도가 별로 눈에 띄지는 않는다. 

그러나 아래 Haswell의 GPU 코어 추측 그림을 보면,아이비브릿지의 GPU 코어 아키텍처의 의미를 잘 알 수있다. Haswell의 핵심은 아직 모르는 부분도 많지만 오픈된 정보를 기반으로 아이비브릿지의 구성을 확장하면 아래 그림과 같이 된다. 대략적으로 말하면, 아이비브릿지의 GPU 코어는 Slice 두개를 묶은 구성인 것이다.


  Haswell이 다음의 추측과 같은 구성을 가지고 있다면, 아이비브릿지의 확장 부분이 눈에 띈다. 

먼저 래스터라이저가 분산 병렬 처리되는 것으로 래스터 병목 현상이 줄어들것이다. 이 경우 화면을 지역으로 구분하여 2개의 조각으로 할당 된것이 보인다. 따라서 렌더 백 엔드까지 개별적으로 나뉘어있​​어도 문제는 없다.

 아이비브릿지의 스레드 디스패처 구성도 그림의 구성이다. 아이비브릿지 Dispatcher가 2단 구성으로 실제 명령 스케줄링은 하위 Dispatcher를 행하는 구성이되어있다면, Haswell에서 EU가 급증하는 경우에도 지원이 쉽기 때문이다. AMD도 명령 디스 패처를 메인컨트롤러에서 분산했지만, Intel도 비슷한 일을 하려고 했는지도 모르겠다.

 Intel은 이렇게 아이비브릿지에서 보다 확장성이 뛰어난 GPU 아키텍처로 전환한 다음 Haswell에서는 GPU 코어를 단번에 대형화 하려는 것으로 판단된다. 

 아래는 Intel의 각 세대 별 GPU 아키텍처의 구성이다. 저가형은 6EU 구성이 바뀌지 않지만, 하이엔드(메인스트림)로 갈수록 GPU아키텍쳐 구성이 점점 강화되고있는 것을 알 수있다.



● 마무리하며..

 현재까지는 AMD가 CPU 코어의 크기가 훨씬 작기 때문에, AMD가 더 강력한 GPU 코어를 올릴 수 있었다. 

그러나 Intel은 프로세스 기술에 있어서 상당한 이점이 있고, 그것은 앞으로도 계속 발전 될 것이다. 따라서 점차적으로 Intel의 GPU 코어의 성능 범위도 AMD를  따라갈 것이다. 


확실한 것은, GPU 코어의 급속한 발전전략을 Intel이 세웠다는 것이고,

인텔(Intel)은 GPU 코어를 더 중요한 플랫폼으로 인식하고 개발을 시작했다는 것이다. 

그것은 샌디브릿지에서 시작되었고, 이번에 나오게 될 아이비브릿지로 점점 가속화 되고 있음을 이번 리뷰를 통하여 확실히 확인 할 수 있었다.