Monthly Archives: August 2008

via nano와 Intel atom간의 벤치마크가 화제라는데..

오랫만에 올블을 보다보니, VIA nano와 Intel ATOM간의 벤치 마크 결과 VIA가 앞섰다는 이야기가 있어서 좀 찾아봤습니다.


지난 글에서 간단히 썼듯이 ATOM의 경우 전력 성능을 위하여 speculation을 최대한 자제한 프로세서라 할 수 있지요. 따라서 in-order issue pipeline을 사용하고 있습니다.


MPFJ 2008에서 Belli Kuttanna의 발표를 보면 다음과 같은 내용이 있지요.



이 이야기를 하면서, ‘baseline core에 비하여 성능이 떨어지더라도, 전력 소모를 줄이는 것이 목표이며, 이를 위해서 처음부터 다시 개발했다(developed from scratch)’ 라는 이야기를 같이 했었지요. 그만큼 저전력 마켓에 대한 의지가 강력하다는 의미로 받아들일 수 있겠습니다.


문제는 in-order issue의 경우 out-of-order에 비하여 여러 면에서 성능 차이가 발생하게 되는데, 이를 해결하기 위한 intel의 방법입니다. ATOM에서는 2개의 thread를 지원하는 SMT 구조를 채용하고, 프로세서의 입장에서는 약간 특이한 OF(RF)-AG-DC1-DC2-EX-WB 형태의 backend pipeline을 구성하여 x86 native(macro) instruction에 최적화 시킨듯한 느낌입니다. 이 경우 분기 예측의 중요성이 매우 커지게 되는데, 이를 보완하기 위해서 branch trace buffer, GShare predictor와 Return stack buffer등을 채용해서 분기 쪽은 비교적 aggressive하게 만든 거죠.


좀 재미난 건, 슬라이드 중의 다음 내용인데요..


Reduced number of specialized execution units and queuing structures
– no integer multiplier, divider, store data buffer


처음에는 저렇게 해도 성능(clock freq말고요..)이 나올까.. 라는 부분이 궁금했습니다만, 강력한 SIMD/FP part가 있으니 integer part중 복잡한 연산을 모두 FP 부분에 넘기고, 이 결과를 바로 integer 연산 pipeline쪽으로 넘기는 동작을 수행하더군요. SIMD/FP 연산의 경우는 reg-reg 연산이라서 가능한 거겠지요. 물론 데이터 패스에 보면 메모리에서 FP로 바로 넘어가는 것도 있습니다만, 발생하는 일이 많지 않으니 저렇게 설정했겠습니다.





아.. 제목의 것으로 돌아가서, VIA nano의 경우 약간 접근이 다릅니다. wikipedia의 정보를 보니, VIA의 경우 out-of-order pipeline을 사용한 것을 알 수 있습니다. 따라서, 일반적인 개념상 더 빨라야 정상이겠습니다.

근황과 MPFJ2008

수원에서 출퇴근을 하면서 요즘에 5시 30분에 기상, 6시 출근이 생활화 되고 있습니다. 이젠 자명종 없이도 5시 50분 정도엔 눈이 떠지더군요..
회사에 오면 7시~7시 30분 정도가 되는데, 할것도 없고하여 책도 좀 보고 인터넷도 좀 하고.. 약간은 여유로운 생활을 하고 있습니다.


아침형 인간 모드의 단점이라면, 아직은 적응이 안된 탓인지.. 혹은 더 이상은 책을 좋아하는 인간이 아니게 된 것인지 확실치는 않습니다만.. 책을 읽다보면 “심각하게” 졸립다는 겁니다. 이런 이런.. Microprocessor Report같은 잡지를 읽으면서도 슬슬 졸기도 하고 ㅠㅠ;


좀 더 적응되면 괜찮겠지요.


MPFJ에서는 재미있는 발표가 많았는데요.. 제 입장으로서는 MID(mobile internet device)를 대비하는 ARM과 Intel의 서로 다른 방향이 재미있었습니다. (자세한 건 따로 올려야 겠지요? ^^;)


ARM의 경우 A9에서 speculation을 강조하여 전반적인 성능 향상을 높이려고 한 반면, Intel의 경우 새로 만든 ATOM 부터의 아키텍쳐에서 speculation을 최소화하여 전력 소모를 줄이고자 하는 노력을 하고 있었습니다.


프로세서에 있어서 speculation은 어느 정도까지는 성능 뿐 아니라 전력 소모도 높여줍니다. 하지만, 어느 정도를 넘어가면 성능의 이득보다 전력 소모의 문제가 더 심해지지요. 그 균형을 잘 맞추는 것이 중요하겠지요.


전 개인적으로 ATOM의 방향이 맞다고 보고 있으며, ARM의 A8 정도까지가 적당했다고 생각하는 입장입니다. 하지만, Intel에서 자체 코어를 라이센스 할 리도 없고, 라이센스 한다 하더라도 성능과 저전력의 많은 부분을 Intel의 공정기술에 기대고 있으므로, synthesizable core 시장에서 성공하기 어렵겠죠. 따라서 embedded core시장에서는 여전히 ARM이 주도권을 잡을 것이며, Intel의 경우 MID에 적당한 SoC를 개발하는 방향으로 갈것이라 봅니다. 2010년에 나온다는 SoC가 그런 것이겠지요.


ARC와 Tensilica로 대변되는 configurable core는 그 입지가 많이 좁아진 느낌입니다. 가장 큰 이유는 “누가 configurable instruction set을 사용하겠나?”라는 문제입니다. 사용자는 잘 최적화된 CODEC이나 소프트웨어를 바라지, 자신이 다시 이 응용에 대하여 최적화된 명령을 만들어서 자체적으로 CODEC을 다시 짜고, 이걸 최적화 시키길 바라지 않는다는 거죠


그래서, Tensilica나 ARC모두 configurable core의 특징을 잘 살려서 Application specific processor로 입지를 다지고 있는 모양입니다. HiFi Audio2와 같이 몇몇 응용에 적당한 명령어를 “미리” 만들어 놓고 여기에 CODEC이나 관련 소프트웨어를 최적화하여 같이 제공하는 정책을 선택한 거죠. 그런데, 여기에 대한 기존 프로세서의 입장도 재미 있습니다. ‘그런 application specific processor라면 coprocessor쓰면 되지.. ‘라는 입장이랄까요..


그 이외에 흥미로운 발표가 많았던 MPFJ였습니다. 몇 개의 단어로 이야기하자면 MPSoC, 저전력, MID 이 정도로 정리할 수 있겠어요.





Technorati : , , , , ,