Search Results

Search Results for 'AMD' : 1 POSTS

  1. 2010/09/18 닮은꼴 밥캣과 아톰.

닮은꼴 밥캣과 아톰.

http://gigglehd.com/zbxe/4536851

풀그림눈님의 가설을 읽으면서 그 다분한 가능성에 동의하는 바이다.

 

현재 밥캣 코어의 경쟁 제품이 아톰에 해당되고, 아톰이 나온지 꽤 됐으나 아톰이 차기 제품에 있어서도

x86 코어 자체는 거의 유지되는것으로 개발되었고(파인트레일), 개발되고 있기 때문에(오크트레일),

근본부터 다른(IO와 OoO) 아키텍쳐인 터라 극과 극으로서의 비교 대상으로만 비춰지는 면이 있는데,

인텔과 AMD의 CPU 개발 과정으로 볼때 밥켓과 아톰은 꽤 비슷한 위치에 있다고 할 수 있다.

비슷한 예로는 인텔의 첫 MCM인 펜티엄D와 AMD의 첫 쿼드인 페넘을 생각해보면

둘다 새로운 시도로서 한 것이고, 둘다 망했다(판매량은 논외)는 점부터 비슷하고,

그 이후 적용되는 것에서는 꽤 괜찮은 결과가 나왔던 것으로 비슷하다 말할 수 있다.

(인텔은 C2D MCM으로 C2Q, 페넘은 페넘II로의 발전)

물론 시기적으로 아무래도 2인자인 AMD쪽이 늦다. 페넘이나 밥캣이나.

 

* IO와 OoO : In-Order(순차)와 Out-of-Order(비순차) 명령 수행

 

http://ko.wikipedia.org/wiki/%EB%B9%84%EC%88%9C%EC%B0%A8%EC%A0%81_%EB%AA%85%EB%A0%B9%EC%96%B4_%EC%B2%98%EB%A6%AC 
http://en.wikipedia.org/wiki/Out-of-order_execution

 

 

그렇다면 밥캣과 아톰이 비슷한 포지션에 있다는것은 왜인가.

 

그 이유는 각 사의 시험대에 올랐다는 점이 그렇다.

인텔은 펜티엄 프로를 시작으로 코어2 시리즈까지 OoO로 내놓고선 오랫만의 IO 아키텍쳐를 적용했고,

AMD의 경우 성능에서 불리한 동시에 엄청난 면적 절약을 가져오는 IO에 손대지 않고

5nm의 공정차이를 적용해도 아톰보다 적은 면적으로 x86 CPU를 찍어냈다는데에 있다.

상식적으로 이해할 수 없는 OoO의 다이사이즈이기 때문에 풀그림눈님의 가설에 무게가 실리는데,

필자의 CPU 아키텍쳐 지식으로도 저건 분명 맞다! 라고 할 수 있는 설 임에 틀림없다.

물론 세세한 부분에서의 차이는 있을 수 있다. 여튼 저거라면 충분히 납득할 수 있는 다이사이즈이다.

따라서 이하 해당 가설이 사실인것으로 가정하여 얘기할 것이다.

결국 IO로 설계하고도 꽤 먹는 SIMD회로를 GPU로 대체한다는 점은

AMD의 2세대 퓨전인 불도저 코어가 x86 CPU 2개의 FPU 파이프라인을 묶어 공유하는것으로

CPU의 다이사이즈 확보를 행했다는 것을 생각하면 충분히 납득 가능한 설계다.

즉, 불도저의 시험판이라 할 수 있는것이다.

 

불도저의 가장 우려되는 점이라면 FPU 공유로 인한 성능제한 범위이다.

불도저 설계에서 두개 코어분의 FPU를 통합하면서 꽤 쿨한 FPU 파이프라인을 집어넣었는데,

이게 코어 하나만 전용으로 쓴다면 정말 쿨한 성능이 나오겠지만,

1개 모듈에 해당되는 2개 코어가 동시에 사용하는 경우 성능은 반토막이 나고,

이게 단순히 정확하게 반토막이 나는 것이 아니라, 프로세스 우선순위에 따라

한쪽에 반 이상을 할당하게 된다. 당연히 반대쪽은 반쪽도 안되는 성능으로 처리할 수밖에 없다.

즉. CPU 점유 분산이 발생하는 것이다.

펜4와 아톰, 네할렘 CPU들이 HT(SMT)로 인해 CPU 점유 분산이 발생하는 반면,

불도저는 CMT로 인해 CPU 점유 분산이 발생하는 것이다.

물론 FPU와 ALU 모두 점유 분산이 발생하는 인텔쪽에 비해 낫다는 점은 이러한 CMT의 특성이기도 하다.

 

* CMT : Cluster-based Multi Threading(클러스터베이스 멀티스레딩)

 

http://blog.naver.com/psy2993/90074349375
http://www.tomshardware.com/forum/265666-28-bulldozer-core-patents-diagram-core-turbo

 

 

결과적으로 밥캣에서 문제되는 것은, CPU와 GPU간의 FPU 점유 분산이 발생하는 문제인데,

그래픽 처리와 CPU의 SIMD 연산 처리간의 연산 대역폭 줄다리기를 하게 된다는 것이다.

따라서 게임과 같이 GPU를 거의 점유하면서 CPU쪽으론 SIMD연산을 상당히 사용하는 프로그램에서는

CPU 처리 쪽이나 GPU 처리 둘중 하나가 피를 볼 수밖에 없고,

GPU 처리량 만큼 CPU 처리량도 받쳐줘야 하는 게임 실행시의 CPU-GPU 성능관계로 볼 때,

이러한 문제는 게임 전체 성능을 까먹는 요인이 될 수 있다.

따라서 밥캣 설계의 중요점은 이 균형을 어떻게 잘 잡아주느냐가 관건이 될 것이고,

모바일 영역에서 GPU와 SIMD연산을 동시에 사용하는 어플리케이션의 비중이

얼마나 되느냐도 관건일 것이다. 인텔이 아톰 CPU 사용 디바이스의 명칭을 넷탑, 넷북, MID.

즉, 간단히 인터넷만 하는 수준의 제품군으로 설정해 마케팅하던 것과 유사한 사항이 발생한다는 의미다.

 

여튼 아톰이 이러한 설계 시험대에 오른 밥켓과 유사한 위치에 있다고 말하고 있는데,

위에서도 언급한 바와 같이, 아톰은 AMD의 헤테로지니어스 디자인과 유사하게

네할렘에 넣을 HT를 시험하기 위한 시험적인 제품이었다는데 있다.

일반적으로 알려져 있다시피 펜4시절 나름 야심차게 넣은 HT는 생각보다 호응을 받지 못했고,

펜티엄D로 가서는 아예 빼버리는 안습한 결과도 가져왔다.(펜티엄 익스트림에만 들어갔다.)

그것은 연산 효율이 상당히 올라간 코어2 시리즈까지 이어졌고, 인텔은 네할렘을 개발하면서

HT라는 꽤 매력적인 기술을 코어 마이크로 아키텍쳐에도 적용하고 싶었던 것일 것이다.

 

원래 펜4에서 HT 도입 자체가 못써먹고 있는 CPU의 성능을 최대한 쥐어 짜내기 위한 것이라,

당시 멀티 스레딩이 일반화 되기 이전의 성능 향상은 미미했으나 별 상관이 없었고,

그런 점이 시대 변화에 따라 멀티코어의 대중화와 함께 멀티 스레딩이 일반화된 것은

사실상 펜4를 아직까지 현역에 머물게 한 원동력으로 작용한 것처럼

PC 계열에서 HT는 사실상 시대를 앞선 기술이었기 때문에

그동안 코어2 시리즈에 적용하지 않았던 것은 CPU 점유 분산 때문이었기도 하나,

네할렘으로 넘어가면서 쿼드코어가 메인이 되고 그에 따라 CPU 점유 분산 역시 문제가 되지 않게 되었고,

멀티 스레드에서 성능을 갉아먹을 소지가 다분한 FSB 시스템도 CPU 멤컨 내장으로 해결되었기 때문에,

사실상 네할렘이 본격적으로 코어 마이크로 아키텍쳐에 HT를 적용할만한 배경이 완성된 셈 이었으므로,

네할렘에 HT를 넣는것을 고려하는것은 실로 당연하다.

 

그러나 역시 안그래도 연산 효율이 높은 코어 마이크로 아키텍쳐 기반이었기 때문에,

HT를 적용시의 효율이 펜4보다 못하고, 그렇게 더이상 짜낼 성능도 없는 아키텍쳐에 HT를 넣는건,

처음 펜4 HT 적용 당시 이상으로 성능을 깎아먹는 요인이 되기 때문에, HT의 시험판이 필요했고,

인텔은 아톰에 HT를 넣어보는것으로 개발중인 네할렘에 HT를 적용하기 위한 필드테스트가 성립되는 것이다.

따라서 아톰은 IO를 먼저 염두한 아키텍쳐가 아니라, HT를 먼저 염두한 아키텍쳐였고,

하나의 시험으로서 디자인에 착수했기 때문에, 인텔이 다시 IO 아키텍쳐를 꺼내들 수 있었다고 본다.

 

여튼 HT의 테스트를 위해 처음부터 다이는 적게먹으나 비효율적인 디자인의 IO 아키텍쳐로 아톰을 디자인했고,

이렇게 완성한 아톰은 HT를 통해 150%의 무시무시한(?) 효율을 뽑아냄으로써 엔트리 시장의 왕좌로

군림하게 된 것인데, 펜4 당시 고작 102%에서 많아야 107%가 한계였던 것을 생각하면(지금은 110% 이상),

150%라는 효율은 무시할 수 없는 수준이다. 코어 하나로 코어 1.5개 분량이 나오는 것이니 당연하다.

여튼 이렇게 시험에 성공하면서 HT는 네할렘에 적용됐고, 쥐어 짜낼게 거의 없는 OoO에

고효율 코어 마이크로 아키텍쳐 기반임에도 130%라는 무식한 HT 효율을 가져옴으로써

네할렘 역시 퍼포먼스 시장의 왕좌로 군림하게 된 이야기이다.

 

여담으로 네할렘이 x86 효율의 임계점으로 평가되었던 기존 코어2 시리즈 대비

기본 115%의 성능 * 130%의 HT 효율의 무식한 성능향상을 가져올 수 있었던 이유는 간단하다.

슈퍼스칼라 설계상, ALU의 갯수가 3개를 초과하면 전체 효율이 그 갯수 만큼 크게 하락하게 되는데,

이는 CPU 코어 갯수가 늘어날수록 1개 프로그램의 멀티스레딩 효율은 줄어드는 것과 같은 것이고,

인텔은 아톰에서 OoO보다 절대적으로 효율이 나쁜 IO 아키텍쳐에 HT를 조합함으로써

근본적인 IO의 효율 특성을 상쇄한 것처럼, 그냥 기존 코어2 디자인에 ALU를 추가하는 것 만으로

약간의 기본 성능과 130%라는 의외의 HT 효율을 동시에 잡는 효과를 가져온 것이다.

그야말로 HT는 CPU계의 무안단물인 셈이다. 스레드가 나뉘고 CPU 점유 분산이 발생하지만,

HT를 넣는데 필요한 공간도 적고, 일부러 비효율 적인 설계를 해 놓고도 HT를 넣으면 다 해결되는 것이다.

거기에 멤컨을 내장하는 것을 통한 성능이득까지 더해져 지금의 네할렘의 위치를 만들었다고 볼 수 있다.

 

이처럼 아톰이 시험 역으로서 상당한 비중을 가진 것을 생각해 볼 때

현재 밥켓의 위치와 결과는 그 본판인 불도저가 얼마나 흥할지를 가늠할 수 있는 척도가 될 것이다.

물론 네이티브 쿼드를 외치던 페넘의 경우를 봤을때 왠지 UFO를 손에 쥔 듯한 인텔 만큼의 결과가

나올 것 같지는 않지만 말이다....

 

여튼 '적재적소'라는 능력이 근간을 이루는 인텔이 UFO를 쥔 듯한 결과를 가져오는 만큼

AMD에서도 그 점을 배워야 할 필요가 있다고 생각된다.

근데 AMD는 해놓은게 별로 없어서 적재적소 할 거리들이 거의 없으니,

그냥 ATi버프를 기대할 수밖에 없을 듯 하다.

 

 

그 외에 풀그림눈님의 가설에서 있기 힘든 부분들이 있는데,

Direct Compute를 이용한다고 하지만 그것은 상당부분이 드라이버 레벨 위에서 작동하는 것이고,

CPU의 주요 연산을 드라이버 레벨의 서포트를 통해서 이루어낸다는 것은 납득하기 힘들다.

따라서 이러한 FPU 공유 체계는 마이크로 아키텍쳐 디자인 레벨에서 이루어진다고 보는 것이

바람직해 보인다. 물론 SIMD연산 자체가 기본 x86 IA에서 외적인 부분이지만,

내부적으로 연산결합된 최근의 CPU 구조를 볼 때, 직접적인 결합이 있다고 보는 쪽이 무게가 실린다.

하지만 그런 특징이 두드러지는 것은 인텔의 마이크로 아키텍쳐이기 때문에

AMD는 여건이 충분히 다를 수 있어보이므로, 일단은 결과물을 두고 봐야할 듯 싶다.

 

2010/09/18 22:07 2010/09/18 22:07