|
Core 2세대 시리즈의 구조인 샌디 브릿지(Sandy Bridge)는 인텔 고성능 x86 프로세서 역사상 상당히 큰 폭의 내부 변화를 겪은 구조이다. 일반인들은 알기 어렵지만 코어 디자인부터 각 모듈 간의 통합까지 모든 부분에서 기존의 Nehalem 보다 크게 바뀌었다. 지금까지 펜티엄 클래식부터 Core i7 2600K까지 수많은 인텔 CPU를 써봤는데, 2600K의 충격은 Core 2 Duo 다음이라 생각한다. AMD는 Core 2 Duo 등장까지는 대단했지만, 그 이후로는 계속 삽질이 이어지고 있다. 아직까지도 AMD의 불도저 성능이 베일이 가려져있는데, 웬만한 성능이 아니고선 고성능 x86 시장에서는 인텔의 독주를 막기 어려울 정도이다. (아울러 이러한 사실은 ARM 계열이 단 시간 내에 결코 고성능 CPU를 만들기 어렵다는 것을 방증한다. 마찬가지로 인텔 역시 ARM이 차지하고 있는 저전력 시장에 진입하기가 어렵다는 소리. Nvidia도 인텔이 차지하는 CPU 영역으로 침범하기 어렵고, 역시 인텔은 Nvidia 급의 그래픽 카드를 단 기간에 만들기 매우 어렵다.) 그렇지만, 일반인들이야 이런 거 관심 없다. 가격 싸고 발열 적고 속도 빠르면 좋다. 캐시가 어쩌고 아웃 오브 오더가 이렇게 바뀌었어요.. 이런 거 다 헛소리다. 인텔이 괜히 소녀 시대 동원해서 광고하는 것이 아니다. 이러한 점에서 다나와의 상품 설명은 내가 볼 때 정말로 잘 만들어졌다. (물론 광고 특유의 구라가 섞일 수밖에 없지만)
사실 일반인에게 보통 알려져 있는 샌디 브릿지의 주요 혁신은 바로 내장 GPU가 통합이 되었다는 것이다.
위 그림은 샌디 브릿지 다이 사진. 보다시피 좌측의 상당한 부분이 내장 GPU에 해당한다. 모델 명은 HD3000. ![]() 기술적으로 큰 의미가 있는 것은 GPU 통합 수준이 훨씬 긴밀해졌다는 사실. 이미 모바일 Core i3/5/7 시리즈에서 GPU를 통합을 했었는데 이 때는 단순히 독립된 모듈을 칩 패키징만 같이 했다. 그러나 샌디 브릿지는 L3 캐시를 공유하는 수준까지 완벽히 통합을 했다(아래 기술적인 내용이 더 있음). 내장 GPU 기능 중 눈에 띄는 것은 QuickSync라는 하드웨어 가속으로 동영상 인코딩도 대폭 빨라질 수 있다고 한다. 여기에 있는 기사는 광고성이므로 숫자를 그대로 믿으면 안 되지만 객관적인 리뷰에서도 상당히 우수하다고 한다. 그런데, 나는 이 내장 GPU와 QuickSync를 쓰고 싶어도 쓸 수가 없다. 샌디 브릿지의 내장 GPU를 쓰려면 반드시 H67 칩셋과 메인보드에 DVI/D-SUB 출력이 있는 제품을 사야만 한다. 예를 들어 이런 제품: ![]() 보다시피 저 두 가지 조건을 만족하는 제품은 마이크로 ATX 같은 작은 규모의 제품 말고는 없다. 그런데 H67 칩셋의 치명적인 단점은 오버클럭이 안 된다는 것. 결국, 고성능을 추구하는 사람은 어쩔 수 없이 P67 칩셋 기반의 메인보드를 사야만 한다. 그런데 이번에는 P67 칩셋을 사면 내장 그래픽 기능은 자동으로 꺼진다. 이 기막힌 상술 혹은 딜레마로 30만원이 넘는 CPU의 20-30% 정도 공간을 그냥 못 쓰고 버려야만 한다. 외부 그래픽 카드가 있더라도 동영상 재생/인코딩 가속을 허용하는 드라이버가 있었으면 훨씬 좋았을 것인데, 왜 이런 정책을 택했는지 이해하기가 어렵다. 특히 나는 요즘 3차원 고성능 게임 안 하기에 내장 GPU만 해도 충분하다. 아쉬울 따름이다. 이 문제는 AnandTech에서도 심각한 문제로 간주한다. 나 역시 절절히 동감한다. 그래서 인텔은 Z68 칩셋에서 이 문제를 어느 정도… 풀어준다. Z68 칩셋은 오버클럭도 되고 내장 GPU에도 접근이 가능하다. 문제는 아직까지 이 보드는 출시가 되지 않았고, 이미 P68 보드 산 사람이 내장 그래픽과 꽤 우수한 QuickSync를 쓰겠다고 보드 갈아타는 짓을 하기 어렵다는 사실.
그렇지만 Z68 역시 황당한 짓을 하는데, 외장 그래픽 카드를 꼽으면 또 내장 GPU는 꺼지며 QuickSync도 사용할 수 없다. 기술적인 문제도 있기는 할 것인데 그렇게 어려운 것인지 이해가 잘 안 간다. 이상적인 칩셋이라면 오버클럭도 되면서 내장 GPU와 외부 GPU를 동시에 사용할 수 있는 것이다. 아직까지 공식적으로 샌디 브릿지 칩셋은 이것이 안 된다. 그래서 어떤 업체가 소프트웨어 기반 해결책을 내놓았다. Lucid라는 회사가 Virtu(GPU virtualization)라는 솔루션으로 외장 GPU와 내장 GPU를 동시에 사용하는 방법을 제시했다. 기본 원리는 게임에 관련된 명령은 외장 GPU로, 동영상에 관련된 명령은 내장 GPU로 보내는 것. 이 방식은 이미 ATI Hydra 같은 드라이버에 사용되었다고 한다. Hydra는 DirectX API가 불리는 것을 가로채서 복수의 GPU에 로드 밸런싱을 한다. ![]() 구현 방식은 좀 무식해 보이는데 일일이 입력된 프로파일 정보에 기반한 것 같다. 어찌되었던 이 제품이 Z68 마더보드에 대부분 추가될 것이라고 한다. 이 라이선스 비용이 보드에 추가되니까 가격이 조금 비싸질 것이다. 그런데 이것도 여전히 완벽하지 않다. Z68 마더보드에 있는 비디오 출력에 모니터를 꼽아야 하고 외부 GPU에는 꼽지 않는다. 그렇다면 듀얼/트리플 모니터는 어떻게 지원할지는 모르겠다. 마더보드에 듀얼 DVI가 달려있을 것 같지 않다. 그리고 당연히 이렇게 DirectX API를 가로채는 부분이 들어가니까 오버헤드가 있다. 아난드텍의 분석으로는 2-8% 정도라고 한다. 첫 술에 배부를 수는 없을 것이다. 샌디 브릿지의 기술적인 차원에서의 GPU 통합은 상당히 아름답다. 자세한 기술적인 내용에 기밀이 너무 많아 알 수 없는 것이 정말 아쉬울 정도이다. 그런데 플랫폼에서 이 통합 GPU의 지원은 조악하다. 이미 샌디 브릿지 칩셋은 SATA3 컨트롤러 문제로 사고를 쳤는데, 이런 불충분한 플랫폼 지원으로 내장 GPU/QuickSync를 반 병신으로 만들고 있다. 결론: AMD의 분발이 요구됩니다.
기술적인 이야기를 좀 하자면: Nehalem 부터 멀티코어 디자인은 일종의 모듈화가 되었다. 샌디 브릿지도 역시 그러한데 크게 (1) CPU 코어, (2) GPU, (3) 미디어(라고 구분을 하던데 정확하게 뭘 가리키는지 잘 모르겠음. 추측으론 그냥 GPU의 QuickSync 기능인 듯), (4) System Agenet로 구성된다. 시스템 에이전트는 과거 Uncore라고 불리었던 부분인데 간단히 말해 CPU 코어를 제외한 부분, 즉 L3 캐시, 내장 메모리 컨트롤러 등을 가리킨다. Uncore의 어감이 좋지 않아 그럴듯한 이름으로 바꾼 것. 흥미로운 부분은 이 CPU 코어, 그래픽, 미디어 모듈이 모두 L3 캐시를 공유한다는 점. ![]() L3 캐시는 링 기반의 인터커넥션으로 연결된다. 링 구조는 다수의 모듈이 서로 통신할 수 있는 가장 단순한 형태이다. 기술적인 내용은 위 슬라이드에 간략히 요약되었다. 샌디 브릿지의 L3 캐시는 8 MB인데 2MB의 조각으로 구성되어있다. 그래서 Nehalem보다 L3 접근 레이턴시가 상당히 감소 되었다. GPU와 CPU 코어 사이의 캐시 분배는 way를 나눔으로써 한다. L3 캐시가 16-way associative인데 이 중 적절히 GPU/GPU/미디어 모듈이 나눠 쓴다. 어떻게 나눠 쓰는지는 알려지지 않은 정보이다. 웨이로 나눠야 하는 이유는 자명한데, set으로 나누면(즉, 주소 값으로) 스레싱이 일어날 수 있기 때문. 좀 더 관심 있는 분은 여기를 참고.
최근 등록된 덧글
개발자 입장에서의 수많은 ..
by Jiyoon at 02/04 저도 아들 돌잔치때 돌잡이 .. by 박상욱 at 01/18 미국 대학원 원서 작성중에 p.. by 태클사이야 at 01/13 TO: 박PD 로그인 하지 않아.. by 박응용 at 01/10 http://gigglehd.com/zbx.. by dhunter at 12/28 우와.. 좋네요. 태반이 .. by 윤광배 at 12/17 항상 좋은 글 잘 보고 있습니.. by y2k at 11/23 글이 좋아서 제 블로그에 담.. by 쏭섭 at 11/23 최근 등록된 트랙백
메뉴릿
이글루 파인더
|