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

[아키텍처] 베일을 벗은 인텔 CPU & GPU 하이브리드 라라비(Larrabee)

tware 2008. 8. 4. 21:30

 

DirectX 10 세대 GPU보다 CPU에 가까운 구조

Intel이 throughput 프로세서 "Larrabee (라라비)"의 개요를 공개했다. 한마디로 말하면, Larrabee는 GPU와 CPU의 혼종이다. NVIDIA의 "G80 (GeForce 8800"이후 나 AMD (구 ATI)의 "Radeon HD 2900 (R600)"이후, 최신 DirectX 10 세대 프로그래머블 GPU와 비교해도, Larrabee 쪽이 더 프로그램 가능성이 높다. 그래픽 전용의 고정 기능 유닛도 갖추고 있지만, NVIDIA 및 AMD와 비교하면 훨씬 비율이 적고, 풀 프로그래머블에 가까운 프로세서이다. DirectX 10 세대 GPU보다 더 범용 컴퓨팅에 크게 기운 것이 Larrabee다. 지당하게 Intel은 Larrabee를 먼저 그래픽스 전용 제품으로 시작한다.


Larrabee는 10 개의 x86 상위 호환 프로세서 코어를 탑재한다. 각 프로세서 코어는 16-wide의 SIMD(Single Instruction, Multiple Data) 구성의 벡터 연산 유닛을 갖추고있다. 1 유닛으로 32-bit 단정밀도 부동 소수점 연산이라면 16 개의 데이터에 대한 연산을 병렬로 1 클럭으로 행할 수 있다.


CPU 코어는 인오더 실행으로, 2 명령 발행/클록 Intel은 Pentium 정도라고 설명한다. 그러나 Pentium에는 없는 와이드 SIMD 유닛을 갖추는 것 외에 하드웨어 멀티 스레드 기능과 FMA (Fused Multiply Add), 벡터형의 프로세싱에 특화한 기능을 갖췄다.

10 개의 CPU 코어는 양방향 고속 링버스에 연결되어있다. 버스에는 10 개의 프로세서 외, 외부 인터페이스, 메모리 컨트롤러, 텍스처 유닛, 기타 고정기능 유닛 등이 연결되어있다. 또한 4MB의 L2 캐시 메모리도 탑재되어 각 프로세서 코어마다 파티션으로 구분되어 있다.

 

 

라라비 (Larrabee) 블럭 다이어그램

 

 

32-bit 단정밀도 16-wide의 와이드한 벡터 연산 유닛

캐시 계층은 2계층으로 통합 L2 캐시 외에, 각 프로세서에 32KB의 L1 명령어 캐시와 32KB의 L1 데이터 캐쉬가 탑재되어 있다. Larrabee 전체에서 캐시 일관성을 유지한다. 또한 L2 캐시에는 각 프로세서 코어가 상호 액세스 할 수 있기 때문에, 코어간 데이터 교환 및 공유에 사용할 수 있다.

NVIDIA도 AMD도 GPU의 프로세서 코어 간의 데이터 교환을 위해 소용량의 메모리를 갖추고 있지만, GPU 전체에 걸친 하드웨어 캐시 일관성 기능은 갖지 않는다. Larrabee는 현재의 프로그래머블 GPU와 비교해도 훨씬 CPU 쪽의 디자인이다.


Larrabee 프로세서 코어는 인오더 실행으로 스칼라유닛과 벡터유닛의 2 실행 파이프를 갖춘다. 각각 전용의 스칼라레지스터와 벡터레지스터를 가진다. CPU 코어는 L2 캐시 중, 256KB의 로컬 서브셋 (Local Subset)과 직접 연결되어 있다. 프로세서 코어 간의 커뮤니케이션은, 링 버스를 경유한다.


Larrabee 프로세서의 핵이라고 할 수 벡터 연산 유닛은 ,16-wide 구성으로 되어 있다. 데이터 유형은 Int32 (32-bit 정수), Float32 (32-bit 부동 소수점),Float64 (64-bit 부동 소수점)을 지원한다. 32-bit시 16-wide의 전체 처리량에 연산. 벡터 프로세서에서는 연산하는 각 데이터 요소의 각각으로 조건 분기에 의한 프로그램의 분기가 생긴 경우에 효율이 나쁘다. Larrabee에서는 마스크 레지스터를 갖추는 것으로, 분기가 생겼을 경우에도 비교적 효율이 좋은 흐름 제어가 가능하도록 했다. 이 장치는 NVIDIA의 G80/GT200 계 등이 갖추고 있는 장치와 비슷하다.

 

 

라라비 (Larrabee) 벡터유닛의 블럭 다이어그램

 

 

라라비 (Larrabee) x86 코어의 블럭 다이어그램

 

 

고정 하드웨어를 최대한 생략한 프로그래머블 프로세서

일반적인 GPU와 비교했을 경우, Larrabee 파이프 라인의 최대 특징은, 고정 하드웨어 (Fixed Function Hardware)를 최대한 배제하고 거의 풀 프로그래머블 프로세서를 만들어 낸 것이다. 현재 GPU는 정점 정보를 픽셀로 변환 할 때까지의 프리미티브 세셋업/래스터는 고정 기능 하드웨어로 처리하고 있다. 또한 텍스처 필터링 등을 행하는 전용 프로세서나, 칼라 나 Z 처리를 행하는 렌더링 백엔드 또는 ROP (Raster Operation Processor)라는 고정 하드웨어도 갖춘다.

Larrabee는 이 가운데 텍스처 관련 전용 회로는 갖추고 있지만, 그 이외의 고정 기능 유닛은 대부분을 옮겼다. 고정 기능 유닛으로 실행하고 있던 처리는 프로그래머블 프로세서에서 소프트웨어 처리를 행한다. 일반적인 GPU보다 더 월등히 소프트웨어 화가 진행되고있는 것이 Larrabee이다.

 

[정보분석] 팀스위니 미래의 게임 개발 기술. 소프트웨어 렌더링으로 회귀


이것은 Microsoft가 DirectX 10 이후의 하드웨어 트렌드로 고찰하고 있던 방향과 일치한다.Microsoft는 서서히 고정 기능 하드웨어가 프로그래머블 프로세서에서 소프트웨어로 대체가는 경향이 있다고 보고있다.Microsoft 자신은 효율성을 고려한 경우 어느정도 대체 여부가 확실하다고 했다.

Intel은 나아가서 단번에 대부분의 파트를 프로그램화 했다. 일반적인 GPU보다 더 유연한 하드웨어지만, 그만큼 효율성이 거론된다.

 

 

 

 

세대별 그래픽 파이프 라인의 변화

 

 

 

GPU와는 다른 프로그래밍 모델

Larrabee는 소프트웨어 스택의 구조도 기존 GPU와 다르다. 대부분의 GPU는 네이티브 명령 세트 컴파일에 처음 대부분의 소프트웨어 처리를 호스트 CPU 측에서 행한다.반면 Larrabee는 Larrabee 자체에 마이크로 OS가 실행되고 있어, 기존 GPU라면 호스트 CPU의 드라이버로 행하고 있던 것 같은 처리를 Larrabee에서 행한다.

이것도 GPU의 향후의 방향성과 일치하고있다. AMD는 이미 R600 세대부터 범용적인 마이크로 컨트롤러를 GPU 측에 탑재. 드라이버 처리의 일부를 GPU측에 옮겼다. NVIDIA도 "GPU에서 드라이버를 채택하는 것이 앞으로 이야기이다"(David B. Kirk (데이비드 B 커크) 씨 (Chief Scientist))와 같은 방향을 생각하고 있는 것을 시사하고 있다. 더욱더 프로그래머블한 Larrabee는 트렌드를 선점하고 있다고도 말할 수 있다.


Larrabee는 프로그래밍 모델 에서도 프로그래머블 GPU와 크게 다르다. 그것은, "Single Program, Multiple Data (SPMD)"모델 이외의 프로그래밍 모델을 제공하는 점이다.

GPU의 SPMD (Single Program, Multiple Data) 모델은 1 데이터에 대한 프로그램을 작성하면 프로그램이 자동으로 확장되고, SIMD 하드웨어에서 멀티 스레드 실행된다. 예를들어 1 픽셀을 취급 쉐이더 프로그램을 쓰면 자동으로 수백만의 픽셀에 대해 실행된다. 프로그램 쪽에서는 GPU 하드웨어의 벡터 길이를 의식 할 필요가 없다. 런타임 소프트웨어(드라이버)가 SPMD 모델에서의 SIMD의 제어를 행한다. GPU는 그래픽 이외의 범용 어플리케이션도 SPMD 모델로 프로그램하는 수법이 일반적이다.

반면 일반 CPU에서는 SIMD 하드웨어에 직접 액세스 할 수 있도록 하는 것이 일반적이다. 예를 들어, x86계 CPU에서는 SSE 등의 SIMD 명령으로 SIMD 하드웨어를 직접 처리 할수 ​​있다. Larrabee는 "Larrabee Native C / C + + '를 통해 16 way의 SIMD를 직접 처리 할 수​​ 있다. 즉, 벡터장이 노출되고 있다. Intel은 Larrabee의 네이티브 ISA를 공개한다 고는 말하지 않고 있지만, SPMD 이외의 프로그래밍 모델을 제공하는 점은 크게 다르다.

당연히 Larrabee로 범용 어플리케이션을 프로그램 할 때 16way SIMD를 반드시 명시 적으로 프로그램 해야 하는가? 라고 하면, 그렇지 않다. C / C + + 이외에 범용 컴퓨팅을 SPMD 모델로 실현하는 길도 준비한다. 예를 들어, DirectX 11에서 도입되는 범용 컴퓨팅을 위한 쉐이더 스테이지 "DirectX 11 Compute Shader"을 지원한다고 한다.

 

라라비 소프트웨어 스택

 

 

 

 

[분석정보] TOP500 슈퍼컴퓨터 순위 2013년 6월

 

 

[분석정보] 4만 8000개의 제온파이로 중국 톈허2 세계에서 가장 빠른 슈퍼 컴퓨터

 

 

[제품뉴스] Intel Xeon Phi 새로운 폼 팩터 채용 포함 5모델 추가



[정보분석] 인텔 60코어 매니코어 "Xeon Phi" 정식발표

 

 

[분석정보] 인텔 슈퍼컴퓨터용 가속기 Xeon Phi 5110P 발표

 

 

[분석정보] Intel, HPC 전용 보조 프로세서 Xeon Phi 2013년 1월부터 일반용으로 출시

 

 

[분석정보] IDF 2012에서 주목한 한가지, 매니 코어 "Knights Corner"

 

 

[정보분석] 엔비디아 세계 최다 트렌지스터 칩 GK 110 공개

 

 

[정보분석] IDF 2011 Justin Rattner 기조연설 매니코어 시대가 다가옴 1/2부

 

 

[정보분석] IDF 2011 Justin Rattner 기조연설 매니코어 시대가 다가옴 2/2부

 

 

[정보분석] 같은 무렵에 시작된 Nehalem과 Larrabee와 Atom

 

 

 

[분석정보] Intel은 Larrabee 계획과 아키텍처를 어떻게 바꾸나?

 

 

[분석정보] 다시 처음부터 시작된 라라비 무엇이 문제였나?

 

 

[분석정보] 라라비 (Larrabee)의 비장의 카드 공유 가상 메모리

 

 

[분석정보] 인텔의 스칼라 CPU + 라라비의 이기종 CPU 비전

 

 

[분석정보] Larrabee는 SIMD와 MIMD의 균형 - Intel CTO가 말한다.

 

 

[정보분석](암달의 법칙) 2010년대 100 코어 CPU 시대를 향해서 달리는 CPU 제조사

 

 

 

[분석정보] GDC 2009 드디어 소프트 개발자 정보도 나온 "Larrabee"

 

 

[분석정보] 그래픽 및 DirectX 로드맵을 정리

 

 

[정보분석] Intel 힐스보로가 개발하는 CPU 아키텍처의 방향성

 

 

[정보분석] 팀스위니 미래의 게임 개발 기술. 소프트웨어 렌더링으로 회귀

 

 

[분석정보] 정식 발표된 라라비(Larrabee) 아키텍처

 

 

[아키텍처] 베일을 벗은 인텔 CPU & GPU 하이브리드 라라비(Larrabee)

 

 

[정보분석] 암달의 법칙(Amdahl's law)을 둘러싼 Intel과 AMD의 싸움

 

 

[정보분석] 모든 CPU는 멀티 스레드로, 명확하게 된 CPU의 방향

 

 

[정보분석] Intel 힐스보로가 개발하는 CPU 아키텍처의 방향성

 

 

[정보분석] 같은 무렵에 시작된 Nehalem과 Larrabee와 Atom

 

 

pc watch