Search Results

Search Results for 'CMT' : 2 POSTS

  1. 2010/10/13 아톰의 미래. 차세대 울트라 모바일 아키텍쳐.
  2. 2010/09/18 닮은꼴 밥캣과 아톰.

아톰의 미래. 차세대 울트라 모바일 아키텍쳐.

현재 아톰의 코어 디자인은 초기 아톰을 거의 그대로 유지하고 있고,

인텔 또한 코어 자체는 변화 없이 이어질 것이라고 했고, 그렇게 했다.

성능 역시 그대로다. 이는 인텔이 아톰의 성능이 하향평준화 수준을 충족한다고 판단했기 때문이다.

아톰이 2세대로 넘어오면서 바뀐 것은, 멤컨 내장과 GPU내장, 네이티브 듀얼코어 정도이다.

그리고 머지않아 OakTrail이 출시됨으로써 2세대 아톰의 라인업은 마무리된다.

그 후 1년 반 정도 되면 3세대 아톰의 출시가 되어야 할 시점인 것이다.

 

이전에 올렸던 포스트에서 아톰과 밥캣을 다루면서 언급된

밥캣 다이디자인에 대한 추측글의 링크가 있었는데,

http://gigglehd.com/zbxe/4536851

필자는 이 가설에 대해 '맞다'라고 결론을 내렸었고, 여전히 맞다고 본다.

* 링크 원문에서 아래 추가된 내용에 대해서는 전혀 공감하지 않는다. -_-a

그보다 여기서 어떤 식으로든 밥캣은 공정차이가 있긴 해도 OoO이면서

아톰보다 적은 면적의 코어를 디자인해냈다.

 

이는 다이면적(=단가)이 적으면서 HT로 성능을 끌어냈다는 점에서

2세대에서도 기존 코어디자인을 유지했던 인텔에게 있어서

그 의의를 상실하게 만드는 점이 아닐 수 없다.

이런데도 인텔은 또 기존 본넬 아키텍쳐를 그냥 32nm로 우려먹을것인가?

 

이에 대해 본인은 순간 떠올린 아톰의 미래를 적어보고자 한다.

 

그 키워드중 하나는, 먼저 예전 본인이 언급했던 2코어 3스레드 SMT이다.

http://gigglehd.com/zbxe/3320432

아톰은 특이하게도 HT 효율이 +50%나 된다. 이런 특징에서 2코어 3스레드로 만들면,

사실상 HT off 상태의 아톰 3개코어를 쓰는 셈이 된다.

같은 경우의 듀얼코어 아톰에서 HT로 인해 코어마다 점유분산이 발생한다는 점에 비해

L1캐시 레벨에서 두 코어가 공유되는 2코어 3스레드는 우월할 수밖에 없다.

이건 이미 아톰이 처음 나왔던 시점에서 생각했던 것이고,

지금에와서는 역시 이것만으로는 부족하다.

 

그래서 생각한 다른 하나의 키워드. 그것은 바로 불도저의 CMT이다.

> 불도저와 밥캣의 구조는 이쪽을 참고 : http://gigglehd.com/zbxe/4437586

아톰이 단순한 코어 디자인을 충족시키는 IO 아키텍쳐임에도 불구하고

OoO를 쓴 밥캣에게 다이사이즈에서 밀린 이유가 무엇인가?

최근의 코어 디자인에서 상당한 공간을 차지하는 FPU 연산 중

SIMD 연산의 처리를 GPU의 SP에게 맡겼기 때문이 아닌가?

 

물론 인텔이 아톰 CPU에 SIMD 연산을 일임할 GPU를 넣는다고 하면,

GMA는 좀 그렇고.....라라비를 넣는다는 얘기가 되는데,

라라비를 넣는다고 치면, 사실 라라비의 코어 하나하나는 아톰과 유사한 면적이므로,

사실상 아톰 코어에 그런걸 GPU라고 탑재할 바에는 그냥 아톰 코어 수십개를 탑재하고

불도저처럼 가변적으로 특정 갯수의 코어를 GPU로 작동시키는게 나을 것 같다.

그러나 개발 기간과 기술 배경이 요구되므로 그건 더 미래의 일이고,

 

현재 3세대 아톰으로서는 그보다 빨리 완성할 수 있는 방법이 필요한 것이다.

여기서 인텔의 주특기인 '적재적소'가 쓰이게 될텐데, 그런 사례들을 짚어보자면,

인텔의 EM64T. 인텔은 네이티브 64비트인 IA64를 먼저 만들어 쓰고있었지만,

하위호환 64비트 IA. 즉 x86-64는 AMD가 먼저 만들어 썼다.

AMD의 64비트 프로세서가 상승세를 타자 인텔은 순식간에 만들어, 팔던 펜티엄4에 집어넣었다.

그뿐인가, 듀얼코어 역시 AMD가 듀얼코어 개발을 발표하자 인텔은

팔던 펜티엄4를 MCM을 이용해 AMD보다 먼저 듀얼코어를 내놓았고,

인텔이 네할렘에 와서 적용한 메모리 컨트롤러내장 CPU도

PC계열에선 AMD가 먼저 애슬론64에 적용했던 것이다.

 

그래서 CMT이다. 현재 아톰이 필요한 것은 성능.

캐시나 클럭 따위는 공정을 축소하면서 간단히 올릴 수 있는 것이고.

그 외에 성능을 올릴 수 있는 방법이 있다면 FPU 강화와 멀티코어일 것이다.

CPU 점유 분산으로 HT off시보다 최대 스레드 성능이 25%나 하락할 수 있는 문제는

2코어 3스레드 적용으로 해결된다. 그리고 하나로 묶인 2개 코어에서 그 이상의 탑재를 위해

다이 사이즈 절약은 필수요소이고, 아톰은 저단가 또한 목표하고 있으므로 또한 그렇다.

따라서 FPU 강화와 다이사이즈 절약을 동시에 충족하는 것이 CMT. CMT로 해결이 되는것이다.

 

또한 여기에 추가되는 사항은 32nm 공정이다.

그런데 이렇게 변화가 많아진 아키텍쳐에 새 공정을 적용하는 것은

인텔의 틱톡 전략에 반하는것이 아니냐라고 생각할 수 있지만, 그렇지 않다.

원래 초기부터 아톰은 처음 시도하는 아키텍쳐임에도 45nm공정의 스타트를 끊었고,

그런 시험적인 포시션의 제품군이여, 전략에 속해있었다.

이제와서 문제될 것은 없다. 이로써 아톰은 무식한 다이사이즈 축소로

밥캣으로 우쭐했던 AMD로부터 울트라 모바일 시장의 패권을 되찾는다......라는 시나리오다.

 

역시 공정도 줄고 코어. 특히 FPU 파이프라인을 손보는 만큼

AVX같은 물건까지 적용해 나올 가능성이 높지 않나 생각된다.(....)

이렇게 적고보니 생각보다 무시무시해졌는데, 인텔이 어떻게 할지는 지켜볼 일이다.

그러고 보니 2코어3스레드에 필자가 지은 이름도 Cross Meta Threading으로 CMT이다....

이 두개를 합쳐 그냥 CMT라고 해서 나와도 될듯 =ㅅ=;;

그외 추가될만한건 터보 부스트 정도가 되겠다. 다만 2개 코어가 묶여있으므로

2개 코어 단위로 끄고 켜게 될거고, 당연히 듀얼코어인 경우는 해당되지 않을듯.

 

여튼 그리해서 나온 다이디자인은 대략 이런 느낌이다.

이걸로 인텔은 4코어 6스레드의 3세대 아톰을 손에 쥐는 것이다.

(Cross Meta Tthreading이 적용되어 2코어 4스레드에서 2코어 3스레드로. 즉,

 [100% + 50%] + [100% + 50%] => [100%] + [100%] + [100%] 상태가 되어

 실질적으로 6스레드는 HT off 기준 6코어와 동등한 셈이다.)

 

위에서 GPU를 특정하지 않은것은 Z시리즈와 N/D시리즈용으로 나뉘는 IGP는

3세대에서 기존과 거의 비슷하게 유지될 것으로 보이기 때문이다.

물론 GMA500/600의 성능은 좀 어떻게 해줬으면 하는 바램이지만....

32nm면 Z시리즈에 N/D시리즈 급의 GMA를 탑재하는것도 가능하지 않을까 싶다.

 

여기서 4세대 아톰까지 생각해 보자면, 역시 위에서 언급한

CPU/GPU 가변코어로 넘어갈 가능성이 높지 않나 생각된다.

대략 이런 느낌? ...이랄까, 점점 안드로메다로 가고 있다......;;

아무래도 라라비 프로젝트가 그때면 어느정도는 답이 나왔을거라 생각할 수 있고,

라라비가 VGA로써 나오지 못한다고 하더라도, 울트라 모바일 IGP로써

실험용의 총대를 매고 있는 아톰에 적용한다는 것은 꽤 있을법한 이야기이다.

단순 아톰 + 라라비가 아니라, 3세대 아톰 + 라라비 = 4세대 아톰 코어가 되는 셈이니

정말 그럴듯 한 얘기다. 어쨌든 이런 적재적소는 언제나 AMD가 선빵을 본 뒤에 행해졌으니.....

물론 펜4나 펜D처럼 자가 선빵도 있을 순 있지만 말이다....

 

 

정리하자면 필자가 예측하는 3세대 아톰은 CMT + CMT + 32nm + AVX...............라고 할 수 있겠다.

근데 Cluster-based Multi Threading은 둘째치고, 단순 본인의 구상에 불과한

Cross Meta Threading을 정말 Intel이 사용할까라는 의구심이 들지만,

2코어 3스레드를 본인만 상상한 것은 아닌듯 싶으니

이미 인텔엔 그런 구상 모델이 있을지도 모르겠다.

결국 예측은 예측이고, 실상은 지켜볼 일이다.

 

2010/10/13 06:10 2010/10/13 06:10
RSS :
http://nm3.kr/old/rss/response/35
Response
54 Trackbacks 0 Comment

닮은꼴 밥캣과 아톰.

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