벤치리뷰·뉴스·정보/아키텍처·정보분석

[아키텍처] 하스웰 (Haswell)의 GPU 코어 아이리스(Iris) 왜 강력한가

tware 2013. 5. 7. 13:11

 

 

GPU 코어 Iris을 브랜딩한 Intel


 Intel의 "Haswell (하즈웰,하스웰)"세대의 GPU 코어는 왜 상대적으로 강력한 것인가. Intel은 차세대 CPU 마이크로 아키텍처 Haswell가 내장한 GPU 코어의 성능을 발표했다. Haswell 세대 GPU 코어를 강력하게 밀어부칠 생각을 하고 있으며, GPU 코어 일부를 "Iris"브랜드까지 올렸다. 무미건조한 Intel Graphics XX 대신 Iris 브랜드로 한 것으로, Intel의 GPU 코어에 대한 이미지도 일신하려는 움직임이다.

 

 

 

 

 

 

 

 

 

 

 


 참고로, Iris는 "홍채"로 눈에 관련된 네이밍이지만, 컴퓨터 그래픽스에서는 다른 의미도 가진다. 한때 일세를 풍미 한 SGI의 그래픽 워크 스테이션 브랜드가, IRIS 이었기 때문이다. 현재 3D 그래픽 API의 주축 중 하나 OpenGL도 따지고 보면 SGI의 API "IRIS GL (Graphics Library) '을 기반으로 개발되었다. Intel이 의도했는지는 모르겠지만, CG 업계에 그리운 단어이다.

 Haswell의 GPU 코어는 브랜딩 하고 밝히는 의미가 있다고 생각되는 만큼 강력하다. 종전의 Intel 그래픽에 대해 2~3 배의 성능일 뿐만 아니라 가장 중요한 점은 GPU 코어를 완벽하게 확장 가능한 구조로 다시 만든 것이다. 확장 가능한 구조로 하고, 연산 유닛의 수를 크게 늘려 그래픽 성능을 끌어 올렸다. 연산 유닛의 수가 기존의 2.5 배로 증가 했으니 성능이 늘지 않을 수가 없는 것이다.

 


 Intel은 이번 Haswell의 GPU 구성뿐만 아니라 향후 더 확장 된 GPU 구성을 취할 수도있다. Intel이 GPU 코어를 강화 해 나갈 그 출발점이 되는 것이 Haswell GPU 코어이다. 가장먼저 확장 구성을 위한 기본적인 구조는 사실 Ivy Bridge (아이비 브릿지)의 GPU 코어의 시점에서 이미 구현되고, Haswell의 핵심은 그 위에 구성을 확장한 것으로 되어있다.

 Intel은 자사의 CPU 또는 칩셋 내장 GPU 코어가 급격하게 성능을 늘리고 있는 것을 자랑한다. 아래의 슬라이드는 성능 곡선이다. 2006 년 당시, Intel이 그래픽에 의지가 없었던 무렵의 GPU 코어를 기준으로 하고 있기 때문에 75 배 큰 성장이 있지만, 지난 2세대에 대해서도 배로 성능을 늘리고 있다 .

 


 Intel이 GPU 코어의 성능을 늘리고 있는 것은 다음의 3 가지를 보여주고 있다. (1) 범용 CPU 코어 스레드 당 성능 중시의 Intel도, 이기종 (Heterogeneous : 이종 혼합) 구성에 진심으로 노력하고 있다. (2) 이전 Larrabee (라라비)계 핵심을 끌어오는 방향은 완전히 버리고, 대신 내장 GPU 코어를 일반화하고 확장해 가려고 하고 있다. (3) GPU 코어를 확장 할 수 있는 최대의 문제이던 메모리 대역 문제 해결의 목표를 세웠다. 특히 마지막 메모리 내용은 Intel이 진심으로 eDRAM을 자체적으로 생산하여 투입 할 가능성이 있기 때문에 지금 반도체 업계의 가장 큰 화제가 되고 있다.

 


적화산 유닛 수가 세대마다 증가해 가는 Intel


 Intel의 Haswell GPU 코어는 구​​성에 따라 크게 4 계층으로 나뉜다. 최소 구성의 저비용 솔루션 "GT1", 3 배의 구성으로 그래픽 성능을 강화한 'GT2' , 7배 구성 최대 규모 "GT3" , GT3에 캐시의 eDRAM을 더한 "GT3e" 4가지다. GT3로 구성되면 vec4 구성의 연산 유닛 EU (execution unit)를 총 40개 갖추게 된다.

 Haswell GPU의 이러한 구성을 과거 2 세대 Intel GPU 코어와 비교하면 차이가 역력하다. Intel이 GPU 코어를 CPU 다이(반도체 본체)에 내장한 것은 Sandy Bridge부터, Sandy Bridge는 대규모 구성의 GT2와 작은 구성 GT1 변화가 있었다. Intel GPU 코어는 4개의 단 정밀도 연산 유닛을 갖춘 vec4의 EU가 기본으로, Sandy Bridge의 GT1은 6개의 EU 24개 적화산(MAD) 연산 유닛이었다​​. Sandy Bridge의 GT2는 그 구성에서 연산 코어가 배가 되게 구성되어 12 개의 EU 48개 MAD이다.

 

 

 

Intel 프로세서 내장 그래픽 이행도

 

 

 

 


 Ivy Bridge에도 GT1의 구성은 Sandy Bridge와 마찬가지로, 24개의 MAD로 남아있다. 그러나 Ivy Bridge의 최대 구성 GT2는 16개 EU로 총 64개의 MAD 유닛이 되었다. 또한 연산 유닛 내부의 디자인도 일신되어 전체 처리량이 크게 개선 되었다.

 Haswell이 되면 6EU 24MAD 유닛의 GT1과 20EU 80MAD 유닛의 GT2, 거기에 40EU 160MAD 단위 GT3 이구성된다. 즉, GT1의 연산 유닛의 구성은 보류이지만, GT2는 16 단위씩 증가 더욱 Haswell에서는 대규모 구성의 GT3가 참가했다.

 연산 유닛 수만 보면 단순히 늘렸다만 인것 같지만 실제로는 아키텍처면에서 상당한 향상을 더하고 있다. GPU 코어 내부 아키텍처의 변천을 보면 그것을 잘 알수 있다.

 


Sandy Bridge에서 진화를 시작 Intel 그래픽


아래의 Sandy Bridge의 GT2 시절은 GPU 코어는 4-way EU를 3단위 씩 묶은 '로 (Row) "를 기본 단위로 4 개의 로우가 그래픽 고정 기능을 모두 공유하게 만들어져 있었다. GT1은 이중 쉐이더 코어만 반으로 되어있다.

 

 

Sandy Bridge의 그래픽


 Sandy Bridge의 GPU 코어 확장은 별로 고려되지 않고, 고정되는 구성으로 설계되어있다. 쉽게 설명하면 상류에서 먼저 그래픽 명령을 인출하여 발행하는 명령 스트리머가 있고 그 아래에 고정 기능 그래픽 유닛들이 늘어서 있다. Vertex Shader와 Pixel Shader 문구가 각각 정점 셰이더 프로그램 및 픽셀 쉐이더 프로그램을 아래의 연산 유닛 그룹인 EU에 게시하기 위한 설정 엔진이다. 고정 기능에서 파견 된 작업은 스레드 디스패치에서 각 로우 EU에 발급된다.

 질감과 미디어의 샘플러 & 필터는 EU 군에서 공유되고 있다. EU에서의 출력은 ROP (Rendering Output Pipeline)에 내거나 스트림 아웃으로 출력하는 것 외에 URB (Unified Return Buffer)라는 AMD의 GPU 코어에도 있던 것 같은 쉐이더에 되돌리기 위한 메모리에 버퍼되지 있다. Intel의 경우 쉐이더에서 스트림 아웃 버퍼를이 URB를 겸하고 있는지 여부는 알 수 없다.

 다음 Ivy Bridge의 GT2 GPU 코어가 되면 큰 분류의 구성이 달라진다. 우선, GPU 코어가 하프 슬라이스 (Half-Slice) 또는 서브 슬라이스 (Sub-Slice)라​​는 단위로 분리되었다. 각 하프 슬라이스는 텍스처 유닛과 L2 캐시를 공유한다. 또한 하프 슬라이스에 픽셀 쉐이더 설정하며, 두번째 스레드 Dispatcher가 배치되어 있다.

 

Ivy Bridge 그래픽


 또한 그래픽 고정 기능 유닛에는 테셀레이터 하드웨어도 참가했다. 테셀레이션 스테이지의 쉐이더 발행에 대한 단위도 참가하고 있다. 또한 새로 L3 계층의 캐시가 URB 대신 참가했다. Ivy Bridge의 GPU 코어의 구성은 이것만 보면 의미를 잘 모르겠다. 그러나 다음 Haswell과 비교하면 의도가 잘 알수 있다.

 


모듈화 한 조각을 2 배로 한 Haswell


 Haswell GPU 코어 GT3는 한마디로 말하면, Ivy Bridge의 GPU 코어의 연산 유닛에서 아래의 구조를 이중화 한 것이다. Ivy Bridge의 GPU 코어는 사실 모듈화된 유닛 중 하나이며, Haswell에서는 모듈이 2개로 되었다. Ivy Bridge에서의 복선이 Haswell이 되어 살았다고 할 수 있다. 아래의 슬라이드는 Haswell의 GPU 코어 구성이 GT3에서는 슬라이스가 늘어나 있다.

 

 

 

 

 

 

 

Haswell 프로세서 추정 구성도


 GPU의 연산 유닛은 Haswell에서도 4-way EU를 기본으로 구성되어 있다. EU를 5단위 묶어 Haswell GT2/GT3의 로우는 구성되어 있다. Ivy Bridge의 로우당 4EU에서 5EU로 늘었다. GPU 메이커는 연산 유닛 및 실행 단위 (Wavefront 및 Warp) 구성시에는 4의 배수에 집착하지만, Intel은 그러한 점에 결코 너무 신경 쓰지 않는다. GPU 메이커가 4의 배수를 고집하는 것은 픽셀과 텍셀 등을 4의 배수 단위로 취급하는 것이 효율이 좋은 경우가 많기 때문이다. Haswell에서 로우에서 공유 샘플러도 강화되었다. 모드에서는 4배의 효율이 되었 다고 Intel은 설명하고 있다.

 

Haswell 그래픽 추정도

 

 

 

Haswell GPU 코어는 2 개의 하프 슬라이스로 1개의 슬라이스 (Slice)가 구성되어 있다. 2개의 하프 슬라이스로 공유하는 유닛군에 슬라이스 공통 (Slice Common)도 슬라이스에 포함되어 있다. 슬라이스 공통에는 다각형에서 픽셀로 변환하는 래스터 라이저 또는 화면에 표시하는 픽셀을 가공하는 픽셀 백엔드와 L3 캐시 렌더링 / 깊이 캐시 등이 포함된다. 말하자면, 슬라이스는 파견 이전의 파이프 라인을 제외한 미니 GPU 코어가 될수 있게 되어 있다. 슬라이스의 구성은 Ivy Bridge의 GPU 코어의 하단과 거의 같다.

 

슬라이스에서 공유되는 슬라이스 공통

 

 

서브 슬라이스는 총 4개로


 그러나 Haswell에서는 이 슬라이스라는 단위가 2중화 되어 있다. Ivy Bridge는 1개의 슬라이스였던 것이, Haswell에서는 2개의 슬라이스로 두배가 되었다. 분명히, Ivy Bridge 때부터 슬라이스를 늘리는 것을 전제로 설계하고, Haswell에서 실제로 슬라이스가 2중화 된 형태다. 각 슬라이스에 래스터 라이저가 포함되어 있기 때문에 늘어난 연산 코어에 공급하는 픽셀의 생성이 늦게 되는 래스터 라이저 병목 현상을 피할 수 있다. 픽셀 쉐이더 이외의 쉐이더 파견은 GPU상에서 공유할 고정 기능 유닛에 의존하지만, 그 부분은 GT3는 향상된다. 또한 고정 기능 유닛 군에서는 명령 리머 부분에 자원 리머라는 기능도 추가해 강화되고 있다.

 

 

 

 

 

 


 간단하게 말하면, Haswell의 GPU 코어는 중첩된 로우가 2개면 하프 슬라이스, 하프 슬라이스 2개와 슬라이스 공통이 슬라이스, 슬라이스가 2개, 고정 기능 단위로 GPU 코어가 되어 있다. 이 구조는 현재 AMD와 NVIDIA의 GPU 코어의 구성에 가까운 양사의 아키텍처와 마찬가지로 확장이다.

 또한 모듈 구성은 GPU 코어의 절전 기능과 밀접한 관련이있다. Haswell의 GT3는 슬라이스 단위로 파워 게이팅 된다. 미디어 작업 등으로 연산 성능이 일정 이하 밖에 필요하지 않은 경우에는 2개 슬라이스 중 하나를 종료하여 누설 전류 (Leakage)를 줄일 수 있다.

 

 

 


Haswell GPU의 최대의 포인트는 온 패키지 eDRAM


 Haswell에서는 이처럼 GPU 코어를 모듈화 하고 GT3 구성 모듈을 늘려 연산 유닛 수를 크게 늘렸다. GT3에서 총 EU 수는 40개로 각 EU가 4-way이므로 적화산 유닛 수는 총 160이 된다. Sandy Bridge의 최대 구성 GT2의 64 적화산의 약 2.5 배이다. 연산 유닛의 구성을 AMD의 APU (Accelerated Processing Unit)와 비교하면 아래 그림과 같다.

 

Haswell와 Trinity의 연산 유닛 비교


 간단한 연산 유닛 수를 비교하면 Haswell GT3은 Trinity의 GPU 코어의 거의 절반의 규모에 까지 따라 잡을. AMD가 연내에 GLOBALFOUNDRIES 28nm의 "Kaveri (캬붸리)"를 출하해 오면 숫자는 또 변화하지만, 3 배 같은 숫자는 되지 않을 것이다. 32nm의 Trinity / Richland에 28nm의 Kaveri은 더 많은 트랜지스터를 넣을 수 있게 할 수 있지만, GPU 코어 아키텍처가 GCN (Graphics Core Next)으로 바뀌는 것으로, 트랜지스터 당 연산 유닛 수는 줄어들기 때문이다. 또한 애플리케이션 성능은 연산 유닛 수와는 또 다른 문제가 된다.

 연산 유닛 수가 늘어 나면 늘어난 장치에 데이터를 피드하기 위한 메모리 대역이 필요하게 된다. 상품에 DDR 메모리를 사용하는 CPU / APU의 약점은 여기에 있다. GPU 코어를 강화해 연산 성능을 높여도 메모리 대역폭이 제한되어 있으면 메모리 페치 대기로 코어가 정지해 버린다. GPU 코어를 수중에 넣은 CPU / APU의 메모리 대역폭 / 연산 비율은 매우 낮아 큰 제약이 되고 있다.

 이 문제를 해결하기 위해 Intel은 급진적인 손을 쓴다. 잘 알려진대로, Haswell의 GT3 구성의 모바일 제품은 eDRAM을 패키지로 가져온 "GT3e (Crystalwell)"구성을 사용할 수 있다. Intel은 GT3e하여 Ultrabook에서 이산 GPU 솔루션에 대항하려고 하고 있다. 그리고 이 eDRAM 자체가 사실 반도체 업계에서 화제의 초점이 되고 있다. 그것은 Intel 자신이 eDRAM을 개발 / 제조 가능성이 나왔기 때문이다. eDRAM 내용은 다른 기사에서 설명하고 싶다.

 

 

 

 

 

 

 

 

 

 

 

개별(외장) GPU에 대해의 통합 그래픽의 이점

 

 

개별 GPU에의 Haswell의 장점을 강조하는 Intel

 

 

 

 

[정보분석] 인텔 8 시리즈 칩셋의 문제점"에 대해 GIGABYTE에게 물어 봤다

 

 

[벤치리뷰] 인텔 코어 i7-4770k 리뷰 - Xbitslabs

 

 

[벤치리뷰] 인텔 4세대 코어 i7-4770K 리뷰 : 하스웰 성능 탐스하드웨어

 

 

[벤치리뷰] 인텔 아이리스 프로 5200 그래픽 리뷰 코어 i7-4950HQ 테스트

 

 

 

 

[정보분석] GDC 2013 하스웰 탑재 울트라북 지금보다 게임이 잘된다? 인텔 확장 설명

 

[벤치리뷰] 코어 i7-4770K 하스웰 성능,프리뷰

 

[2000.08.25] 그래픽 통합 CPU 팀나(Timna)의 개요를 분명히-극적인 다이 크기 축소를 실현

 

 

[정보분석] Intel의 차기 CPU 하스웰(Haswell) eDRAM의 수수께끼

 

 

[아키텍처] 차세대 CPU "Haswell"(하스웰) 의 2배 강력한 GPU 코어

 

 

[정보분석] Intel 4세대 Core 하스웰 프로세서의 내장 GPU 브랜드 Iris 와 성능을 공개

 

 

[정보분석] IDF 2013 Beijing에서 공개 된 하스웰(Haswell)의 절전 & 오버 클러킹 기능

 

 

[아키텍처] IDF 2012 인텔 차세대 주력 CPU Haswell(하스웰) 공개.

 

 

[분석정보] Ivy Bridge의 강화 포인트는 GPU 아키텍처의 개혁