Category Archives: SoC & IP design

AMD와 Intel의 전쟁 그 2막.

이번에 회사에서 Microprocessor Report를 구독하기로 결정해서, 무려 900불에 육박하는 돈을 내고 구독을 신청했다. 프로세서하는 사람들에게 MPR은 아주 신속한 기술적 정보를 전해준다는 장점이 있다.
예전에 학교에서 구독했을때는, 괜찮은 기사가 나오면 바로 세미나 모드여서.. 그리 반갑지만은 않았지만..^^;

지난 주에 AMD Round II 라는 기사가 실렸는데, The Processor Wars Heat Up이라는 기사와 더불어 인텔과 AMD의 치열한 전쟁에 대해서 다루고 있다.

뭐, 기본적으로 프로세서 마이크로 아키텍쳐가 더 좋은 AMD를 좋아하지만, 이번 인텔의  “마케팅적인 요소가 가득했던” net-burst 마이크로 아키텍쳐를 버리고(어떤 면에서는 전력 소모의 측면이나 공정기술의 한계상 어쩔 수 없었겠지만), brainanic적인 core 마이크로 아키텍쳐로 이전한 것도 즐거운 변화이다.

세상은 돌고 도는 것이라, HP-PA아키텍쳐나 SPARC과 같이 IPC에 중점을 둔 마이크로 아키텍쳐가 주름잡다가 alpha이후로 주파수를 높이는 마이크로 아키텍쳐가 득세를 하더니, 다시 IPC에 중점을 둔 마이크로 아키텍쳐의 시대로 온 것 같다.

뭐, 어떤 곳에 보니 core 마이크로 아키텍쳐가 CISC로의 회귀.. 라고 말하는 사람도 있던데, 별로 공감이 가지는 않는다. 어짜피 x86이란 넘은 CISC이고, 내부적으로는 인텔이나 AMD나 RISC로 구현되어 있고, RISC 형태로 분리된 micro Operand를 어떻게 잘 처리하는지가 관건인데, 그걸 좀더 넓은 파이프에서 효과적으로 처리하는 방법을 사용했다고 CISC로의 귀환이라고 말한다면 넓은 issue 유닛을 가진 넘들은 다 CISC였겠네.. ^^;

잡설이 길어졌는데, AMD의 로드맵을 보니, 2007년에 차세대 core를 발표한다는데 이번엔 또 얼마나 재미있는 마이크로 아키텍쳐가 적용될지 궁금하네..HyperTransport도 3.0으로 업데이트되고..

MPR에 보면 인텔의 유리한점에 대해서 “삽질을 몇번 정도 해도 남을 만큼 돈과 자원이 넘쳐난다.. AMD보다 몇배 돈이 많으니까..”이런식으로 써 놨던데.. 공감..

어짜피 브랜드 파워는 인텔이 압도적이고, 마케팅에 부을수 있는 돈도 몇배, 연구 인력도 몇배.. 몇팀을 동시에 꾸리면서 2년마다 획기적인 마이크로 아키텍쳐를 발표할 수 있을 정도…

그래도, AMD가 Athlon에서와 같이 극적인 한판 뒤집기, 뭐 이런것이 기대되는 건 어쩔수 없다.

embedded microprocessor; 인텔과 AMD의 선택

인텔에서 ARM기반의 strongARM와 XScale 사업에서 손을 땐다고 한다.
그리고, 뒤를 이어 AMD도 MIPS기반의 알케미 사업에서 손을 땐다고 한다.

이상한 일이라고 생각하실 분들도 많겠지만, 자연스러운 변화라고 본다.

인텔과 AMD에서 타겟으로 하는 내장형 마이크로 프로세서는 이쪽 분야에서는 high-end라 볼수 있고, embedded에서 high end는 현재 PDA나 PMP라 할 수 있겠다.
특히, 사용자들의 요구가 PMP쪽으로 방향이 바뀌고 있는데, 이때 중요한 것이 얼마나 많은 코덱을 지원할 수 있으냐가 되겠다.
현재 상태에서 가장 많은 코덱을 지원할 수 있는 아키텍쳐는 명백하게 x86이다.
그리고, PMP쪽에서 요구하는 저전력/고성능이라는 요구는 low-end mobile cpu의 요구사항과 일치한다.
따라서, ARM이나 MIPS의 성능을 끌어올리기 위해 SIMD기능을 아주 강력하게 추가하고, 클럭을 높이기 위하여 파이프라인의 깊이를 깊게하는 것보다는 기존의 mobile cpu로 대치하는 것이 합당하다고 생각했을 것이다.

동일한 타켓의 두 아키텍쳐는 프로세서 만드는 회사에 부담이 되는 것이므로, 당연히 x86기반의 PMP가 나타날 것이라 예상되며, 이 두 회사는 아마도 1~2년 내에 x86기반의 mobile CPU를 PMP용(이 정도면 아마도 더 이상은 PMP가 아니고 UMPC쪽일지도 모르겠지만) 출시할 것이라 보인다.

그렇다면, embedded cpu의 성능이 일정 부분 이상을 상회해야 한다면, 이 부분은 x86쪽에서 가져갈 확률이 높다는 말이고, 아무래도 embedded cpu는 특정 분야에 특화되거나, (소위 이야기하는)범용 embedded microprocessor는 x86보다 저전력으로 구현해야 하는 PDA정도의 시장까지가 한계가 아닐까 싶다.

EISC는 어디로 가야 할 것인가.

프로젝트 관리

원래 프로젝트 관리라는 것이 소프트웨어 공학 부분에서 상당히 중요한 요소였는데, 이제는 하드웨어쪽에서도 소프트웨어 공학적인 프로젝트 관리가 중요시 되고 있다.

2년전인가 PMP(Portable Multimedia Player 가 아니라 Project Mangement Professional이다) 자격증을 취득해볼까 하고 생각했던 적이 있었는데, 당시에 졸업에 바빠서 자격증 취득에까지 다다르지는 못했지만, 여러면에서 많은 도움을 받고 있다.

WBS작성이나 일정 차트 작성 등등에서..

이번에 새롭게 프로젝트를 기획하고 시작하면서, 몇가지 정한것..

1. CVS 사용
  지난 프로젝트에서 사용한 후에 성공적으로 적응되었고, 이제는 사내에서도 전체적으로 사용하고 있다.
 지금은 모든 소스코드에 대하여 CVS를 사용하는 건 당연한 것이고, 개인적으로는 문서작업을 LaTeX으로 바꾸면서 문서도 모두 CVS를 사용하고 있다. CVS를 개발한 손에 은총이 있기를~!

2. Bug tracking system
  아직 설정은 안했는데 bugzilla를 사용할 예정이다.

3. Coding Style의 통일 (Lint Tool based)
  perl로 만들 예정이다. 예전에 프로젝트에서도 가이드를 했었는데, 전반적으로 성공율은 한 70% 정도랄까..
  자신이 가진 코딩 스타일을 잘 바꾸지 못하는 사람도 있는 법이니..

4. 자동화된 build, checking system
  이건 shell script로..

어제 프로젝트를 kick-off 했는데, 이번에는 지난번 프로젝트의 경험을 살려서 “제한된 시간안에 요구사항을 완결할 수 있도록” 잘 해볼 예정이다.