
[현재 그래픽 카드들의 변천사 - 최근에는 프로그래밍 가능한 방식으로 변화]
현재 AMD나 NVIDIA를 통해 최근 등장하고 있는 GPU (Graphics Processing Unit)들은 DirectX 10 세대에
와서는 각 파이프라인 단계를 고정해 놓아 유연성이 떨어지던 과거의 방식에서 벗어나 쉐이더 부분을 프로그래밍 가능하게 만듦으로써 유연성을 높여주고
있다.
즉, 과거의 그래픽 카드가 단순하고 고정된 역할을 가진 파이프라인을 사용하고 있어 유연성이 떨어지고 새롭게 등장하는 그래픽 기술들을 적용하는
데는 한계가 따르게 된다. 물론, 현재의 GPU 방식도 일부분만을 프로그래밍 가능하도록 하고 있기 때문에 새로운 기술이 등장하면 하드웨어를
바꾸어 지원하도록 하는 것이 일반적이다.
또한, 프로그래밍 가능한 부분을 통해 그래픽 처리 뿐만 아니라 영상 변환이나 물리엔진 가속 등과 같은 범용 분야로 확대하고 있는 것이 최근
GPU들의 추세다.
하지만, 과거나 지금이나 GPU의 성능을 증가시키기 위해 많은 기능을 넣다 보니 공정을 개선하더라도 다이 사이즈는 증가되고 소비전력이 크게
증가하고 있다. 반대로 CPU들은 오히려 듀얼과 쿼드 구성 등과 공정 개선 등을 통해 성능 향상과 소비전력을 점점 낮추어가고 있다.

[인텔 CPU와 GPU 등의 변천사]
인텔 역시 CPU와 GPU 분야에서 많은 변화가 이루어지고 있다. 과거 CPU는 수학이나 과학 분야에 사용되는 부동소수점 연산을 위한 Math
Co-Processor에 FP Units을 넣고 멀티미디어 관련 연산을 위해 MMX 등이 추가되고 현재는 SSE/ SSE2/ SSE3/
SSE4.1 등과 같은 새로운 명령어들을 포함하면서 CPU가 발전되었고 비디오 분야에서는 Video Co-Processor에 MMX2 명령어
지원, 그래픽 분야에 GPU는 현재 많은 시장 점유율을 가지고 있는 내장 그래픽 (GFX Units)이 G4x 시리즈까지 이어지고 있다. 이에
이어 i740 이후 10년이 지난 현재는 새로운 처리 능력을 가진 외장형 그래픽 유닛인 라라비가 등장하고 있다.
라라비는 프로그래밍을 통해 현재의 GPU들보다 향상된 유연성을 갖췄다.

[인텔 라라비는 프로그래밍 가능한 하드웨어 방식이 적용된다.]
과거 GPU들은 고정된 하드웨어 방식을 주로 사용해왔지만, 최근의 GPU들은 프로그래밍 가능한 단계를 추가함으로써 과거의 GPU들보다 유연성을
높였으나 여전히 일부분은 하드웨어 단계를 두어 연산하도록 하고 있다. 이에 반해 라라비는 프로그래밍 가능한 하드웨어 방식이 적용된다.
현재의 GPU들은 스케쥴링 부분을 하드웨어 방식으로 제어되고 있으나 라라비는 데이터 실행과 프로세서 제어 및 이들의 로드 밸런싱 등을 모두
소프트웨어를 통해 제어된다.
즉, 현재의 GPU들이 사용하는 프로그래밍과 고정 하드웨어 단계를 병합하고 있는 방식은 새로운 기술이 등장하면 여전히 하드웨어를 교체해야 하는 문제를
가지게 되는데 라라비의 방식은 새로운 기술이 적용되더라도 프로그래밍을 통해 새로운 기술에 보다 유연하게 대처할 수 있다. 또한, 이런 구성으로 인하여 라라비는 기존 GPU들보다
범용 컴퓨팅에서 큰 힘을 발휘할 수 있을 것으로 예상되고
있다.

[인텔 라라비는 파이프라인 구성의 변화에 따라 기존 방식의 병목현상을 크게 줄인다.]
인텔 라라비는 앞서 언급한 것처럼 고정된 하드웨어를 제거하고 모두 프로그래밍이 가능한 단계를 도입함으로써 기존 병합 방식에서 발생하는 연산 단계에서의 병목현상을 크게
줄일 수 있게 된다. 기존 GPU들은 프로그래밍 가능한 단계와 하드웨어로 고정되는 단계의 각 처리 부분에서 직렬화로 인한 병목현상이 발생되는
반면, 라라비의 파이프라인 구성은 프로그래밍 가능한 파이프라인으로 구성되므로 직렬화에 따른 프로세싱이 필요치 않아 병목현상을 크게 줄일
수 있게 된다.
하지만, 라라비는 유연성과 현재의 GPU들이 가진 문제점들을 개선할 수 있다 하더라도 현재의 GPU들과 대응될 수 있는 성능을 내주기는 어려울
것으로 보고 있다. 이는 프로그래밍 가능한 하드웨어로 구성되는 라라비는 프로그래밍 가능 하드웨어와 고정 하드웨어를 모두 갖춘 현재의
GPU들을 넘어서는 성능을 내주기 어렵기 때문이다. 일반 범용 CPU가 3D 그래픽 처리에서 GPU를 앞서지 못하고 있는 것이 바로 그것이다.
이는 일정하게 고정된 처리를 진행할 경우 고정 하드웨어가 프로그램 가능한 하드웨어보다 처리 효율이 앞서기 때문으로 라라비는 전적으로 프로그래밍
가능한 하드웨어가 사용되므로 처리 효율이 떨어지게 되는 문제를 가지게 된다. 이러한 이유로 현재의 GPU들은 고정 하드웨어를 포함하고 있고 이런
처리 효율의 저하는 소비전력 당 성능에서 불리한 것을 말해준다.
또, 그 만큼 프로그래머가 프로그래밍을 어떻게 하느냐에 따라 성능이 크게 좌우될 수 있다는 것을 의미하기도 하므로 드라이버 지원과 이를 지원하는
프로그램들의 적극적인 지원이 기존보다 더 중요하게 작용된다.