Category Archives: SoC & IP design

2006년 장기 설비 투자에서 삼성이 인텔을 앞섰다네요..

EETime에 나온 기사인데..

이런 기사라면.. 벌써 우리나라 언론에서 난리가 났을법 한데.. 제가 잘못 읽은 건가요.. 아니면, 삼성 홍보팀의 대응이 느린건가요.. 여하튼..

오늘 인텔이 2006년 투자 예상액을 57~59억 달러로 조정했다고 합니다. 당초에는 약 67억 달러가량의 투자를 예상하고 있었다는군요.. (음.. 거의 딴세상 이야기 같습니다.)

이에 반해 삼성은 당초보다 메모리 반도체 부분에 대한 투자액을 10억 달러가량 증가시킨 관계로 약 59억 달러가 된다고 합니다. 

결과적으로 인텔이 삼성에게 투자액상으로 밀렸다는 내용입니다.

아마도 반도체 업계에서 인텔이 (아마도 근 몇년내에서는) 처음으로 삼성에게 투자액에 있어서 밀린 해가 될 것 같습니다. 뭐.. 투자 분야가 약간씩 다르니.. ^^;

본문은 http://www.eetimes.com/news/semi/showArticle.jhtml;jsessionid=IX3FBRBUY5UI4QSNDLPCKHSCJUNN2JVN?articleID=193303488 입니다. 혹 저의 오독이었다면 알려주세요.. ^^;
(난리가 났을법한 기사인데, 언론에 안나니 그게 더 이상하네요.. 삼성기사는 항상 해외매체와 거의 같이 나오더니만..)

추가글) 아하! 찾았습니다. 있기는 있군요.. 아마도 삼성 홍보팀이 국감 때문에 별로 움직이지 않은 결과인듯 합니다. http://news.naver.com/news/read.php?mode=LSD&office_id=013&article_id=0000156934&section_id=101&menu_id=101

SPEC과 EEMBC

이런 저런 벤치마크가 있습니다만, 컴퓨터 아키텍쳐를 하는 사람들에게 가장 관심이 집중되는 벤치마크는 바로 [[Standard Performance Evaluation Corporation]]의 SPEC 벤치마크이지요.

SPEC이 범용 마이크로 프로세서, 특히 서버와 데스크탑에 초점을 맞추고 있다면, [[EEMBC]]는 [[ARM]], [[MIPS]], [[ARC]], [[xtensa]], [[EISC]]와 같은 [[embedded microprocessor]] system을 위한 벤치마크 입니다.

벤치마크에 있어서 가장 중요한 것은 그 시스템/CPU가 사용될 환경을 착실하게 반영하는 것이겠습니다.

그래서, EEMBC는 요즘에 전력에 관한 부분이 점차 강화되고 있는 추세이고, SPEC은 멀티 미디어 분야가 추가되는 형태로 진화하고 있더군요.
이번에 MPR에 소개된 기사는 올해 새로나온 SPEC2006에 대하여 소개하고 있는데, SPEC2000이후에 7년만의 업데이트인 만큼 여러가지가 변했습니다. 특히 눈에 띄는 것은 cache bursting application의 데이터 셋이 엄청나게 커졌습니다. 예전의 CPU들에서 캐쉬가 대략 256K정도여서 이정도를 피할 수 있게cache bursting application이 작성되었는데, 요즘엔 뭐 4M cache도 흔하니 이러한 application에서 cache miss가 발생하지 않아서 제대로 평가할수 없게 된거죠.
눈에 띄는 다른 변화는 H.264에 대한 추가와 같이 멀티미디어 분야의 추가, 그리고 압도적인 run time의 증가를 들수 있겠습니다.

저로서야 SPEC95이후에 SPEC [[benchmark]]를 사용해본적이 없어서 특히 더 뭐라 붙일 말이 없네요.. 예전에 있던 compress나 go같은 것에 익숙한 사람이니 말입니다.  오히려 [[EEMBC]]/[[Mediabench]]/MiBench에 익숙하죠. ^^;
(Mediabench나 MiBench의 경우 초기에는 아주 의욕적이었지만… 학교에서 만든것이다 보니 업데이트가 안되는 것이 문제기는 하네요.. 그래도 MiBench의 경우 다양한 분야의 embedded 어플리케이션을 잘 조합했다는 생각입니다. 실제적으로도 EEMBC와 유사점도 많구요.)

올해내에 CPU simulator만드는 기술적인 내용을 좀 써볼 예정(요즘에 블로그가 너무 뉴스 위주로 써나가서리..)인데, 거기서 MiBench를 하나 포팅해서 돌려볼까 합니다. 그때 좀더 자세한 내용을 쓰도록 하죠..

DC Ultra의 Topographical Synthesis

로직 합성에 많이 사용되는 Design Compiler에서는 전통적으로 통계적인 wire load model을 이용하였습니다.
즉, 합성된 로직의 크기가 어느정도라면, 이때 적용되는 wire의 R, C값이 어느정도가 될지 대략 통계값을 통하여 추정하는 방법입니다.

이러한 wire load model은 0.35um 이전의 공정까지는 어느정도 적용하는데 큰 무리가 없었습니다.
왜냐하면, 로직의 지연(delay)에 있어서 대부분이 cell이라 불리는 logic primivie에서 발생하였기 때문입니다.

그러나, 0.18um 이하의 공정으로 내려가면서 wire load model(이후 WLM)을 이용하는 방법은 한계에 부딛히게 되는데요, cell에 의한 경로 못지않게 wire delay의 비중이 커졌으며, 요즘에 와서는 cell보다 wire delay의 비중이 많이 늘어났기 때문입니다.
따라서, 기존의 WLM을 이용해서 합성한 모델은 그 정확성에 문제가 있기때문에 P&R을 하고 난 이후의 결과와 현격한 차이가 발생하여, synthesis -> P&R -> in-place optimization의 과정을 수회 거쳐야지만 정상적인 chip을 만들어낼 수 있게되는 것입니다. 이는 전반적으로 설계 효율시간에 문제를 발생시킵니다.
(보통 synthesis에서 10%이상의 over constraint를 주고 합성해야, P&R에서 비슷한 값을 얻을 수 있곤합니다. 이러한 문제가 발생하는 가장 큰 이유는 WLM의 부정확성에 있습니다.)

이를 극복하기 위하여 처음에 나왔던 방법은 Custom WLM방법입니다.
즉, 시작은 WLM으로 합성하고, P&R을 통하여 Custom WLM을 만들어낸 후 이를 이용하여 synthesis함으로써 해당 칩에 좀더 가까운 wire load model을 사용할 수 있도록 하자는 방법입니다.
이 방법은 0.35um부터는 당연히 사용되어야 하는 방법으로 정착하였습니다.

또다른 방법은 physical synthsis라는 방법인데, physical compiler라는 설계 도구에서 방법적으로 정착되었습니다. 이는 synthesis단계에서 pdef(floorplane정보)를 이용하여 가상적으로 place를 해보고 이를 이용해서 각 cell간에 좀더 정확한 경로 지연을 찾아낸다는 기법이었습니다.

”]
이렇게 발전해 나가던 것이 이제는 DC에 모두 통합되었습니다.
DC ultra에서 topographical synthesis라는 이름으로 모두 통합되었습니다.

이전의 DC ultra는 automatic hierarchycal ungroup과 같은 기능을 가지고 있는 것이었는데, 이제는 physical compiler에서 발전한 topographical synthesis기능까지 추가되어, P&R이후와 가장 근접한 형태로 합성해 낸다고 합니다.

뭐, synopsys의 발표자료는 거의 다 좋다는 것이겠구요..^^;

ESUNG에 보니 상당히 개선된 것 같습니다. (http://www.deepchip.com/items/0457-05.html)
회사에서는 라이센스 비용 관계로 아직 사용하지 못하지만.. (ㅠㅠ) 아주 기대되는 기술입니다.