• 북마크
  • 추가메뉴
어디로 앱에서 쉽고 간편하게!
애플 중고 거래 전문 플랫폼
오늘 하루 보지 않기
KMUG 케이머그

소프트웨어

[App 개발] Cell 아키텍쳐 (4)

본문

4장의 글은 이번 애플-인텔 연합 발표가 있기 전의 내용이라 현재의 인식과 많은 차이가 있고, 실제 셀 탑재 웍스테이션도 선보인 지금의 생각과도 역시 괴리감이 느껴집니다. 셀 칩의 스펙이 보여주는 장미빛 청사진 (청사진이 장미빛이라... 쿨럭~ ㅡㅡ;;;) 은 마치 옛날 PowerPC 가 출시되던 때에 내놓았던 온갖 미사여구를 떠올리게 합니다. 파워피씨가 나쁜 칩이었는가? 그것은 아니었습니다. 그러나 그 당시 허풍이 심했죠. 에뮬레이션을 돌려도 486보다 빠르다느니 하는... 결국 뚜껑이 열리고 나면 환상은 사라지고 냉엄한 현실만이 기다리고 있을 뿐입니다. 셀 아키텍쳐의 글을 차근차근 번역하면서 내용을 곱씹어 보니, 페이퍼 스펙과 실제 성능은 상당히 거리가 있을 것이라는 점을 충분히 느낄 수 있습니다. 어쨌든 글은 올립니다. 읽어보시고 새겨 들으시면 되겠습니다. ^^


===========================================================================


4장: 셀 대 피씨의 대결

지금까지 어떠한 경쟁상대라도 피씨는 물리쳐 왔습니다. 어떠한 최신 기술을 채택하여 거의 피씨의 자리에 근접하였더라도 말입니다. 셀이 데스크탑 컴퓨터에 탑재된다면 셀은 피씨의 또 다른 희생양이 될 것입니다. 그러나 셀이 피씨에게 가장 큰 위협이 될 수 있는 여러 가지 측면이 있고, 결국 셀이 피씨를 누를 수 있는 결정적인 한 가지를 생각해 보고자 합니다.

쉽게 말해서 도둑질

20년 전 비디오 게임 업계에서 일하던 제이 마이너라는 이름의 엔지니어 (아타리 2600 칩을 개발한 사람) 이 비디오 게임 칩셋과 웍스테이션 CPU 를 결합한 고성능의 데스크탑 컴퓨터를 계획한 일이 있습니다. 로레인이라는 프로토타입으로 개발된 이 제품은 코모도어 아미가로 결국 시장에 출시되었습니다. 아미가는 하드웨어 가속기를 장착한 다색상 화면에 GUI 기반 멀티태스킹 OS 를 갖추고 다중 샘플링 사운드 채널에 고속 32비트 CPU 를 채택했습니다. 당시 피씨는 텍스트 기반이었고 삑삑거리는 스피커에 MS-DOS 를 운영하는 16비트 CPU 를 갖추고 있었습니다. 아미가는 이후 수백만 대가 팔렸지만 코모도어사는 1994년 도산하고 말았습니다.

월등히 뛰어난 아이디어의 다른 제품과 마찬가지로 아미가도 피씨의 뒤안길로 사라져 버리고 말았습니다.

피씨는 그의 경쟁자가 얼마나 뛰어난 하드웨어나 OS 를 장착했다 할지라도 그들을 물리쳐 왔습니다. 1985년 당시 아미가는 피씨의 머리 꼭데기에 있었습니다. 피씨가 따라잡으려면 하드웨어 측면에선 적어도 5년, 소프트웨어는 10년이 걸릴 것 같았습니다. 그러나 다른 플랫폼과 마찬가지로 아미가는 패배했습니다. 피씨의 승리 저변에는 방대한 소프트웨어 기반과 경쟁사의 기술을 훔치는 능력이 있었습니다. 저가격 고성능 같은 것은 훨씬 이후에 달성된 것입니다. 앞에서 말씀드린 아미가의 사양을 다시 보시면 최신 피씨에서 볼 수 있는 기능들을 볼 수 있을 것입니다. 아미가는 특수한 그래픽 가속기와 멀티태스킹 기능을 데스크탑 세계에 시연했지만 지금은 모든 컴퓨터가 그 기능을 갖고 있습니다.

아미가를 이길 수 있었던 원인은 좋은 하드웨어나 낮은 가격이 아니었습니다. 코모도어가 비즈니스 시장에 진입하는 것을 방해했던 방대한 MS-DOS 소프트웨어 기반이 있었기 때문입니다. 그 다음 더 나은 하드웨어와 유닉스 기반 OS 를 갖춘 넥스트가 출현했지만 피씨를 꺾지는 못하였습니다. 또 다시 피씨는 넥스트의 장점을 훔쳐내었고, 소비자용 피씨에서 메모리 보호 기능이 채용되기까지 13년이 걸렸습니다.

피씨는 경쟁자의 장점을 훔쳐내는 기술이 있습니다. 역사가 이를 증명하고 있고, 비록 시간이 더디 걸린다 할지라도 결국 피씨가 승리했습니다. 피씨가 이번에도 셀의 장점을 채용하고 셀은 자취를 감추게 되지는 않을까요?

셀 vs x86

아무도 이길 수 없을 것 같은 싸움입니다. x86은 인텔과 AMD 가 계속해서 초고성능의 프로세서를 대량으로 값싸게 공급한 것에 힘입어 모든 경쟁을 물리쳤습니다. x86 이 고속 RISC 경쟁자와 만났을 때 거의 비슷한 RISC 기술을 접목하여 속도 차이를 줄임으로써 더 이상 RISC 의 장점을 발견할 수 없게 되었습니다.

RISC 패밀리에서 중요한 세 가지 제품이 경쟁에서 밀려났습니다. 인텔의 이타늄 마저도 중소형 서버 시장에서 옵테론에 밀려났습니다. 선도 경쟁에서 패배하여 결국 차세대 울트라 스팍 생산을 포기하고 자사 제품을 위협하던 옵테론 제품을 판매하게 되었습니다. 파워 칩만이 제 자리를 지키고 있지만 이는 단지 IBM 이 경쟁력을 유지할 수 있도록 힘을 쏟아부을 수 있었으며 x86 이 미처 침투하지 못하던 최고급 사양의 시장이기 때문이었습니다.

셀은 인텔과 AMD 가 한 번도 만나보지 못한 새로운 형태의 경쟁이 될 것입니다. 둘의 속도 차이는 x86 아키텍쳐를 완전히 뜯어고친다 하더라고 속도 측면에서 접근하지 못할 정도로 큰 차이가 있습니다. x86진영에도 변화의 조짐이 있습니다만 인텔이나 AMD 어느쪽도 이 차이를 크게 좁힐만한 혁신적인 변화는 없을 것입니다. 인텔은 nVidia 가 보유한 수종의 특허를 활용하여 여러 개의 코어를 칩 하나에 집적하는 방법을 채용할 것입니다. 산타클라라에서 무엇을 만들고 있는지는 아무도 모릅니다.

다중 코어 프로세서가 인텔과 AMD 로부터 x86 세계에 등장할 것이지만 고속 x86 CPU 는 일반적으로 많은 전력을 소모합니다. 두 개의 옵테론을 칩 하나에 집적하기 위해서 AMD 는 클럭 속도를 줄임으로써 수백 와트가 필요할지 모르는 전력 요구량을 줄여야 할 것입니다. 인텔의 팬티엄 4도 마찬가지입니다. 그러나 팬티엄 M 은 적당히 고속에 저전력을 구현하였으며 아마 팬티엄 4 보다도 멀티 코어로 발전하는데 용이할 것입니다. 듀얼 코어 제품 이후 4, 8 개 코어 제품이 수년 내에 출시될 것입니다.

셀은 일반 응용프로그램을 피씨에 비해서 손쉽게 가속할 수 있을 것입니다. 인텔이 코어를 10 개 집적한다 할지라도 성능이나 가격 면에서 상대가 되지 못합니다. APU 는 벡터 프로세서 전용이지만 x86 은 그렇지 못합니다. 물론 x86 에도 SSE 같은 벡터 유닛을 내장하겠지만 APU 한 개의 성능에도 미치지 못할 것입니다.

그리고 셀은 병렬 구조를 지향하고 있습니다. 좀 더 높은 계산 성능이 필요할 때 셀을 추가하기만 하면 OS 가 소프트웨어를 두 번째, 세 번째 셀로 분산하는 역할을 담당합니다. 피씨에서 같은 일을 한다면? 많은 OS 가 다중 프로세서를 지원하지만 많은 소프트웨어는 그렇지 못하고 따라서 프로그램을 수정해 주어야 하는데 이 작업은 많은 시간이 소요됩니다. 셀 프로그램은 시스템이 작동되는 원리에 따라 처음부터 유연하게 작성될 것입니다.

이렇듯 셀이 x86 프로세서에 비해 놀랄 만큼 강력하지만 역사는 피씨가 훨씬 더 강력한 적들을 물리쳐 왔음을 보여줍니다. 속도가 빠르다는 것만으로 피씨를 거꾸러뜨릴 수는 없습니다.

셀 vs 소프트웨어

피씨와의 경쟁에서 진짜 문제는 CPU 가 아니라 소프트웨어입니다. 새로운 CPU 가 얼마나 강력하든, 소프트웨어가 없으면 무용지물입니다. 피씨는 경쟁자들이 얼마나 그 당시는 얼마나 강력하며 장점이 많다 하더라도그의 다양한 소프트웨어로 인하여 경쟁을 물리쳐 왔습니다. 고성능 컴퓨터 시장은 매우 제한되어 있으며, 공격해야 할 부분은 저사양 제품입니다.

셀은 강력하며 저렴하게 공급할 수 있을 것입니다. 그러나 소프트웨어 없이 피씨와 경쟁이 가능할까요? 지금 당장은 쉽게 그 대답을 할 수 있겠지만, 피씨 시장은 시간에 따라 계속 변화하고 있으며, 따라서 셀이 위협적이라고 할 수 있는 몇 가지 이유가 있습니다.

첫째는 리눅스입니다. 리눅스는 윈도우를 대항하여 피씨 시장을 깨뜨릴 수 있는 대안 OS 입니다. 리눅스의 가장 큰 차이점은 크로스 플랫폼이라는 점입니다. 리눅스에서 소프트웨어를 운영할 때, 다른 종류의 CPU 에서 운영이 가능하다면 하드웨어 플랫폼이란 문제가 되지 않습니다.

두 번째 이유는 가격입니다. 다른 플랫폼들은 적은 수량을 생산해 왔기 때문에 가격이 비싼 커스텀 부품을 사용해야 했고, 피씨보다 비싼 가격을 갖게 되어 곧바로 단점으로 작용하게 됩니다. 셀은 처음에는 가격이 비싸겠지만 소니와 도시바가 대량 생산으로 접어들게 되면 가격은 떨어지게 될 것입니다. 플스 3와 TV 에 적용될 것이므로 필요한 만큼 대량 생산을 하는 데 도움이 될 것입니다. IBM 도 셀을 제조할 것이며 그 외 여러 회사가 IBM 의 실리콘 제조 기술을 이용할 것입니다. 점점 더 물량 수요가 증대하게 되면 삼성, 차터드, 인피니온, AMD 같은 회사들도 생산에 돌입할 수 있습니다. (라이센스 생산)

세 번째는 성능입니다. 대부분의 피씨는 쓸모없는 부분에 힘을 낭비하고 있습니다. 셀은 집중적인 계산을 APU 에 맡겨놓을 수 있으므로 효율적입니다. 무슨 뜻이냐면 만약 에뮬레이션이 가능한 어떤 소프트웨어를 돌려야 할 때, 당장은 이 작업이 상당히 느릴 수 있지만 대부분 피씨 CPU 들이 이미 그 이상의 성능을 발휘할 수 있고 현재 최신 JIT 기반의 에뮬레이터들에서 그 차이점을 느끼지 못할 것입니다.

고성능 피씨가 판매되는 이유는 여러 다양한 작업의 속도를 올리기 위함이고 셀도 그 일이 가능합니다. 이러한 파워 유저들은 장비에 관심이 있지 플랫폼에는 관심이 없고, 마이크로소프트가 지배하지 못하고있는 게임 분야와 먼 사람들입니다. 적은 분량이나마 셀이 속도를 증가시켜 줄 수 있다면 많은 파워 유저들은 프로그램을 포팅하거나 에뮬레이팅해서 플랫폼을 옮기려 할 것입니다.

셀은 저렴하고 강력하며 동일한 OS 를 운용할 수 있으며, 이 나머지를 다 포기하더라도 근소한 차이로 PC 를 에뮬레이션할 수 있으니 소프트웨어나 가격은 문제가 되지 않습니다. 물량도 걱정이 없습니다. 플스는 어디서나 구입할 수 있습니다. 그때까지는 피씨가 다른 시스템에 비해 전통적으로 가지고 있던 장점들이 사라지고, 퍼포먼스, 소프트웨어, 가격에서 장점이 없을 것입니다. 그러나 셀이 피씨의 자리를 차지하게 된다는 뜻은 아닙니다. 이것은 그리 쉬운 일이 아닙니다.

공격

IBM 은 셀 기반 웍스테이션을 판매할 계획이 있지만 가격이 저렴하거나 플스만큼 많은 숫자를 판매하지는 못할 것입니다.

셀은 단지 환상적인 웍스테이션이나 플스에서만 구경하게 되지는 않을 것이며 데스크탑 컴퓨터 쪽으로도 나오게 될 것입니다. (Genesi 같은 곳에서 고려중) 그렇게 되면 피씨 업계는 발칵 뒤집힐 것입니다.

단일 셀 제품만으로도 멀티프로세서 피씨를 충분히 능가할 수 있습니다. 피씨로서는 충격적일 것이며, 셀은 범용 파이크로프로세서를 낡은 것으로 만들어 버릴 것입니다.

Infection inside
물론 이 일이 하루아침에 일어나지는 않을 것이고 피씨 업체들도 셀 프로세서를 PCI/PCIe 카드나 심지어 마더보드에 채용할 수도 있습니다. 마이크로소프트는 경쟁업체를 지원하는 데 인색할 수 있으나 대신 STI 파트너들이 드라이버를 제작 공급하는 방법도 있습니다. 이렇게 되면 개발자들이 피씨 프로그램에서 셀을 사용할 수 있게 되며 상황은 아주 재미있어집니다. 집중적인 계산을 셀에서 처리한다면 고속 x86 을 채택할 필요도 없고 저가형 컴퓨터도 문제없이 운용할 수 있습니다.

어떤 업체들은 가격을 더 낮추길 원할 것이고 그에 따른 방법도 있습니다. 셀에는 파워피씨 970급 CPU 가 탑재되어 있고 이것은 충분히 빠른 프로세서입니다. 고속 x86 프로세서가 필요없다면 그냥 에뮬레이션 하는 방법도 있습니다. x86 과 부속칩을 없애버리면 가격을 떨어뜨릴 수 있습니다. x86 없는 x86 이라니 이상하게 들리실지 모르지만 이미 트랜스메타 사에서 그 일을 한 적이 있고, 트랜스메타 사 측에서 이 기술을 제공할 수도 있습니다. 트랜스메타 측에서는 이미 칩 제조에 나설 움직임도 있습니다.

셀은 매우 강력한 프로세서입니다. 그리고 가격도 저렴할 것입니다. 셀을 이용한 저가형 피씨를 제작하는 것도 가능할 것이며 수백 달러 정도로 이것을 만들 수 있다면 델도 셀을 이용한 제품을 만들 수 있겠지요.

게임 시작
피씨 성능 향상을 요구하는 게이머와의 논쟁도 있을 수 있습니다만 소니는 언제나 고속 제품을 출시할 수 있으며 피씨용으로 플스3 카드를 생산할 수도 있습니다. 이렇게 되면 피씨의 계산능력이나 메모리 등을 사용하지 않을 것이므로 피씨의 성능과 무관하게 됩니다. 소니의 카드는 저사양 피씨를 최고급 게임기로 만들어 버릴 수도 있습니다. 이런 제품이 대량으로 판매된다면 플스3 게임 제작업체들은 피씨용 제품을 따로 개발할 필요를 느끼지 못할 것이고, 피씨 게임 시장은 파경을 맞게 될 것입니다.

에뮬레이션된 OS 를 이용할 수도 있지만 네이티브 OS 쪽이 더 낫습니다. 리눅스가 있긴 하지만 리눅스는 소비자용이라고 보기 어려우며 운용하기에 어려움이 많습니다. 하지만 이미 시장에는 “파워 아키텍쳐”에서 동작하는 소비자용 OS 가 있습니다. OS X 입니다.

셀 vs 애플

셀은 애플의 원수가 될 수도 도움이 될 수도 있습니다. 애플은 셀을 이용할 수 있는 확실한 후보자이기 때문입니다. 셀은 애플에 적합하며 그들의 고객들을 위한 프로그램의 속도를 높여줄 수 있으며 어떤 코어든 간에 PU 에는 파워피씨 호환 제품이 탑재되기 때문입니다. 셀이 모든 것을 가속하는 것은 아니니 애플은 셀을 기본 G5/G6 에 코프로세서 형태로 탑재해서 두 세계를 모두 지원할 수 있습니다.

OS X 타이거에 선보인 코어 이미지 기술은 GPU 에 탑재된 3D 계산 이외의 작업을 이용하고 있으며 동일한 기술이 셀의 APU 에 적용될 수 있습니다. 아마 이 쪽이 첫 번째 적용이 될 것입니다.

다른 회사들이 셀을 컴퓨터에 탑재한다 해도 애플이 갖고 있는 것 같은 쓸만한 소비자용 OS 가 없습니다. 마이크로소프트의 자리를 차지할 수 있는 두 번째 기회입니다. 제품 업체들이 그렇게 하지 않고 셀 기반 컴퓨터를 생산하는 것은 위험합니다. 맥과 피씨간에 OS 와 CPU 의 차이가 있을 때에는 넘나들 수 없는 큰 간격이 존재하게 되고 맥의 가격차이는 정당화됩니다. 만약 OS X 를 운용할 수 있는 저가 제품들이 즐비하게 있다면 가격 문제가 현저하게 발생할 것이고 애플이 퇴출될 정도의 타격은 아닐지 몰라도 확실히 안좋은 소식이기는 할 것입니다. (피씨조차도 날려버리지 못한 애플입니다)
피씨 제조업자들은 어떤 부품을 쓰건 어떤 OS 를 운용하건 상관없이 피씨만 팔면 됩니다. 애플이 “think different” 하여 OS X 를 라이센싱하고 하드웨어 업자들에게 셀을 이용하게 한다면 마이크로소프트 복제품 군단은 그들의 주군을 배신하게 될 것입니다. 제 생각에 마이크로소프트의 철권 정치를 벗어날 수 있다면 업계는 기뻐할 것입니다. 특히 애플이 가격을 내리기만 한다면 마이크로소프트가 OS 매출로 얻는 이익의 400% 이상을 획득할 수 있을 것입니다.

OS X 의 라이센싱이 애플 하드웨어를 퇴출시키지는 않을 것입니다. 에일리언같은 초고급 사양 시스템 시장은 언제나 있어 왔습니다. 현재 애플은 다양한 소프트웨어 기반이 있고 이는 현재 하고 있는대로 애플 하드웨어의 가치를 높이는 데 이용될 수 있습니다. 나머지 사람들은 지금처럼 소비하기만 하면 됩니다.

“The Future of Computing” 에서 저는 피씨 시장이 극동의 저가형 컴퓨터 업체들로부터 위협받고 있다고 주장했습니다. 그 주장의 근거는 피씨 시장이 그간 마이크로소프트와 인텔이 높은 마진을 향유해 왔다는 것이었습니다. 저는 리눅스를 사용함으로써 마이크로소프트에 세금을 내지 않고도 “충분히 빠른” 속도의 저가형 컴퓨터를 만드는 것이 충분히 가능하며, 대부분의 사람들이 원하는 작업을 수행할 수 있는 컴퓨터를 충분히 낮은 가격에 공급함으로써 시장을 밑바닥에서부터 공략할 수 있다고 주장하였습니다.

OS X 를 운용하는 셀 기반 컴퓨터는 (애플이 얼마나 가격을 책정하냐에 따라 다르지만) 충분히 저렴하게 공급할 수 있으면서 셀의 탁월한 성능은 대부분의 고성능 피씨를 능가하게 될 것입니다. 이 시스템은 핫케잌처럼 팔려나갈 것이며 만약 혁신적으로 저가격이라면 현재 피씨가 개척중인 저가격 시장에서도 통할 것입니다. 애플에게는 큰 기회가 있습니다. 애플이 이 기회를 놓치는 것은 바보짓입니다. 애플이 하지 않으면 다른 회사가 이 자리를 점유할 것입니다. 마이크로소프트는 이미 엑박 2 OS 를 통해서 파워피씨를 경험했습니다.

셀은 피씨를 능가하는 성능 향상을 가져올 것이며 피씨의 장점도 이용할 수 있습니다. 애플이 협조하기만 하면 저가격을 실현하면서 현재 판매되는 가장 최고의 OS 라는 말도 통할 것입니다. 신제품 맥 미니도 날개돋힌 듯 팔리고 있는데, 여기에 셀을 장착한다고 생각해 보십시오.

이제야 피씨와 적수가 될 만한 상대가 나타났습니다. 그러나 피씨도 반격할 기회는 있습니다. 피씨는 우리가 상상하는 것보다도 훨씬 강력합니다.

피씨 소매점: 셀 vs GPU

피씨에는 이에 대항할 무기가 있으니 GPU 입니다. 셀의 계산능력에 대한 유일한 경쟁자는 GPU 입니다.

GPU 는 범용 프로세서보다 훨씬 더 강력한 기능을 가졌고 이제 프로그래머블 셰이더로서 개발자들에게 그 길이 열렸습니다. 이것은 그래픽 전용으로 개발되었지만 다른 용도로도 사용할 수 있습니다. 차세대 셰이더는 좀 더 범용 능력을 가질 것입니다.

셀과 비슷한 방식으로 동작하는 GPU 는 꼭지점, 픽셀 셰이더라는 이름의 병렬 벡터 프로세서가 내장되어 있어서 3D 물체나 픽셀의 꼭지점 스트림을 처리하도록 설계되어 있으나 다른 프로그램의 복잡한 계산들도 변경되어 사용될 수 있습니다.

ATI 와 nVidia 의 극심한 경쟁 속에서 GPU 는 단련되어 왔고 두 개의 GPU 를 한 쌍으로 연결하여 더 높은 계산능력을 끌어내는 “SLI” 기술이 등장했습니다.

GPU 만이 셀과 대적할 수 있는 상대로 등장했지만 몇 가지 이유로 인하여 GPU 는 셀을 따라잡지 못할 것이라고 생각합니다.

셀은 GPU 에 비해 좀 더 범용으로 설계되었습니다. APU 는 그래픽 전용이 아니므로 개발자들이 3D 알고리듬이 아닌 작업도 쉽게 적용할 수 있습니다.

셀에는 범용 PU 가 탑재되어 APU와 고속 메모리를 공유합니다. 이것이 GPU 만의 독점적인 고속 메모리를 가지고 메인 메모리를 AGP 버스로만 억세스할 수 있는 피씨와의 차이점입니다. PCI 익스프레스가 성능을 향상시킬 수는 있지만 이것도 CPU 와 공유하는 버스의 한계를 받습니다. 게다가 판매자들이 PCI 익스프레스를 완전히 지원하지는 않을 것이고, 현용 GPU 들은 GPU 로부터 메인 메모리로 데이터 전달이 매우 느립니다.

그리고 nVidia 와 ATI 가 셀의 성능을 금새 따라잡지 못하는 다른 이유가 있습니다. 이전에는 피씨의 급성장으로 플스 2의 성능을 압도하였지만, 이번에는 소니 측에서 이것을 매우 어렵게 하려는 목표가 있다고 생각합니다. 셀을 이토록 공격적인 방법으로 설계한 것이 그 이유입니다.

The Cray Factor

“크레이 요소”는 인텔, AMD, nVidia, ATI 등이 항변하지 못할 요소 중의 하나입니다.

특허 출원서에서 확실히 하고 있는 것은 셀 아키텍쳐를 개발하는 설계자들의 목표입니다. 보통 이러한 시스템을 설계할 때 많은 타협점이 있습니다만 대부분의 경우 설계자들은 프로그래머들 측면에서 매우 어려운 작업이 된다 할지라도 타협 없는 성능 향상에 매진하였습니다.

셀 디자인은 최신 마이크로프로세서와 전혀 다르며, 변경이 어려울 것 같은 부분들이 바뀌거나 몽땅 제거되었습니다. 현대 컴퓨팅의 법칙이라고 할 수 있는 추상화를 포기하였습니다. JIT 를 없애고 직접 하드웨어 억세스가 가능합니다. 이것은 매우 공격적인 디자인 전략이며, 다른 어떠한 시스템에서도 찾아볼 수 없는 공격적인 요소이며, 혁신적이라고 말하던 알파 프로세서디자인에서도 이러한 공격성을 찾아볼 수는 없었습니다. 이러한 순수 순정 천연의 성능은 세이모어 크레이의 디자인 같은 곳에서나 찾아볼 수 있는 프로세서 설계입니다.

셀을 따라잡기 어려운 이유를 이해하기 위해서는 1960년부터 시작된 전쟁을 이해해야 합니다.

60년대부터 90년대까지 IBM 과 크레이는 초고속 컴퓨터 제작을 놓고 경쟁해 왔습니다. 크레이가 거의 대부분 승리습니다. 크레이는 속도의 한계를 계속 높여왔고 크레이를 따라잡을 수 있는 제품은 크레이의 새 제품 뿐이었습니다.

IBM 은 유연한 사무용 기계를 만들었고 크레이는 유연성을 줄이고 대신 초고성능을 위한 고사양의 설계를 중시했습니다. GPU 의 미래를 살펴보면 소프트웨어 회사들이 요구하는 그대로 유연한 기능을 추구하는 방향으로 가는 것이 뚜렷합니다. GPU 에도 가상 메모리를 탑재할 것이고 빈번히 사용되는 데이터를 위한 캐시를 추가할 것입니다. GPU 는 마치 범용 CPU 의 기능에 근접하게 되어가고 있습니다.

셀은 크레이가 했던 방향으로 가고 있습니다. 가상 메모리는 공간을 차지하며 데이터의 전송을 방해합니다. 셀에도 가상 메모리는 있지만 실시간은 아닙니다. OS 는 소프트웨어 셀이 메모리에서 읽혀지고 씌어지는 실제 장소에서 실행될 때까지 가상 어드레스를 가집니다. 셀에도 메모리 보호가 있지만 기능을 단순화해서 온 칩 메모리에 어떤 APU 가 어떤 메모리 블럭을 사용하고 있는지만 가리키고 있을 뿐, 그 작은 메모리를 청소하는 데 시간을 들이지 않음으로써 고속의 성능을 달성합니다.

CPU 와 GPU 모두 메인 메모리 억세스 대신 캐시를 사용합니다. 크레이는 캐시 같은 것을 사용하지 않고 그 대신 메인 메모리를 초고속으로 만듭니다. 셀도 동일한 방법을 사용합니다. APU 에는 캐시가 없고, 작지만 초고속의 로컬 메모리를 두었습니다. 로컬 메모리는 동시 억세스가 필요없고 직접 어드레스가 가능하며 프로그래머는 메모리 읽기를 일일이 지정해야 하므로 어디에 무엇이 있는지를 확실히 알게 됩니다. 이렇게 복잡도를 줄인 소형의 로컬 램은 상당히 고속으로 동작하여 캐시보다도 더 빠릅니다. 만약 한 클럭 사이클 (4.6GHz)당 두 워드 (256비트) 를 전송한다면 147GB/s 의 속도를 달성하게 될 뿐만 아니라, 캐시 미스같은 것도 걱정할 필요 없습니다.

셀 아키텍쳐 디자인의 공격성은 성능 면에서 대항할 수 있는 제품이 거의 불가능하다는 것을 뜻합니다. x86 에는 소망이 없고, 그 정도 성능에 도달하려면 결국 셀 디자인을 복제해야 할 것입니다. GPU 측도 힘든 시기일 것입니다. 현재 약 10 배의 클럭이 뒤져 있는 상태이며, 대량의 열 방출 문제와 셀 칩의 생산량과 비교했을 때 매우 적은 숫자의 고성능 제품이 제조될 뿐입니다. 셀의 클럭 속도에 근접하기 위해서는 GPU 를 완전히 재설계해야 할 것입니다.

셀은 아직 갈륨비소 칩으로 만들지도 않았고 플루오르화 물에 담그지도 않았으므로 아직 세이모어 크레이만큼 공격적인 편은 아닙니다만, 다시 말씀드리지만 플스 4 가 있습니다.

대안
그 외의 다른 회사가 전혀 다른 설계 철학을 가지고 고성능 멀티 코어 벡터 프로세서를 만들 가능성은 있습니다. 이런 제품은 실제로 구현 가능하며 셀의 속도에 근접할 수도 있습니다. 왜냐하면 셀은 높은 클럭 속도로 설계되었고 이것 때문에 설계상의 한계 문제로 쩔쩔매게 한 경우가 있습니다. 대안품이 좀 더 저속의 클럭을 사용한다면, 적은 숫자의 저속 트랜지스터로 이것을 구현할 수 있게 됩니다. 따라서 벡터 유닛의 갯수를 증가시킬 수 있고 온 칩 메모리의 양도 증가시킬 수 있습니다. 이렇게 해서 좀 더 높은 클럭 속도와 적은 메모리 대역폭의 설계를 저속의 저렴한 RAM 으로 구현할 수 있습니다.

이러한 설계는 셀 만큼 강력하지 않을지 모르지만 더 많은 RAM 을 공급함으로써 셀에 가까운 속도를 낼 수 있을 것입니다. 전력 소비도 셀보다 줄어들 것이며 크기는 모든 시장에서 필요한 것은 아닙니다. 셀의 등장으로 인하여 시장을 잃게 되는 많은 임베디드 회사들이 이러한 설계를 하게 될 것으로 생각됩니다. 피씨의 CPU 와 VPU 회사들도 이런 방식의 설계를 할 수 있지만 기존의 피씨 아키텍쳐와 어떻게 연동시킬 것인지에 대해서는 문제로 남아 있습니다.

결론

셀은 피씨가 겪어보지 못했던 큰 위협입니다. 피씨는 셀이 동일한 소프트웨어를 운용할 수 있으므로 기존에 가진 소프트웨어의 장점을 살리지 못할 것입니다. 가격의 잇점도 없으며 셀도 대량 생산이 예정되어 있습니다. 마지막으로 셀은 여러 회사에서 생산되고 또한 많은 소비자에게 판매될 것이므로 피씨는 셀이 독점하는 분야에서 경쟁할 수 없습니다. 피씨는 이제야 호적수를 만나게 된 것 같습니다.

마이크로소프트 효과는 평가하기 힘들게 되었습니다. 셀이 출범하게 되면 MS 의 지원은 더 힘들어지고 동일한 시장 지배를 허락하지 않을 것입니다. 셀은 분산형 아키텍쳐이므로 클라이언트로 윈도우를 운영하고 나머지 모든 기기는 리눅스나 다른 OS 로 동작하게 될 것이기 때문입니다. 윈도우를 운영하지 않는 많은 기계? 마이크로소프트가 별로 좋아하지 않을 것입니다.

주요 계산은 셀에 의해서 수행되고 윈도우는 단지 인터페이스만을 제공하는 셈이 됩니다. 인터페이스를 포팅하는 것은 시간이 걸리지만 셀에서 실제로 계산되는 부분은 분리될 수 있고, 다른 OS 로 포팅할 필요도 없을지 모릅니다. 소프트웨어 셀은 OS 를 인식하지 않습니다. 이러한 상황 역시 마이크로소프트가 별로 원하지 않는 상황입니다.

확실한 것은 없고 STI 연합이 피씨와 대적하는 것에 관심이 있는지도 확실하지 않습니다. 그러나 셀과 피씨는 언젠가는 부딪혀야 할 존재입니다.

셀 아키텍쳐가 주류로 자리를 잡는다 할지라도 그것은 아마 십수 년이 걸리는 일이 될 것입니다. 그리고 어떤 분야는 피씨에 대해서 어떤 장점도 가지지 못하는 분야가 있을 것이므로, 결과에 상관없이 x86 은 매우 오랫동안 지속될 것입니다.

셀은 피씨 업계의 윈텔 지배를 위협하고 있습니다. 인텔과 마이크로소프트가 그들의 텃밭을 지키던 전통적인 방법들이 무용지물이 될 것이지만 아직 끝난 일은 아닙니다. 이 회사들을 얕잡아보아서는 안 될 것입니다. 어쨌든 매우 흥미로운 싸움이 될 것입니다.
0 0
로그인 후 추천 또는 비추천하실 수 있습니다.
포인트 228,692
가입일 :
2003-02-18 14:12:30
서명 :
미입력
자기소개 :
미입력

최신글이 없습니다.

최신글이 없습니다.

댓글목록 0

등록된 댓글이 없습니다.
전체 529 건 - 9 페이지
2006.05
13

[App 개발] [질문] xcode는 인스톨 아니면 안되나요?

os를 덮어씌우기 했습니다. 좀 찝찝하지만 넘 갑작스럽게 시스템이 맛이가서 어쩔 수 없이 그냥 깔았습니다. 맥에서 기존에 파일들을 다 백업해주고.. 응용프로그램도 다 해줘서 자잘한 설정파일만 복사해줬는데 xcode는 실행이 안되네요...뭐 다시 인…

2006.05
02

[App 개발] 네이트온같은 것을 리버스엔지니어링으로 맥용으로 만들 수 있나요?

전 프로그래머는 아닙니다만, 갑자기 궁금해져서요. 불법인점은 논외로 치고서라도 궁금해서 질문 올립니다.-_-;; 마소전용 플그램을 리버스 엔지니어링해서 맥용으로 만드는 것이 가능할까요 가능하다면 메신저로 메세지 주고받는 것만이라도 호…

2006.04
30

[App 개발] Apple pro apps의 GUI 스타일은 어떻게..

C++로 커맨드라인수준의 프로그래밍만 하다가 팔자에도 없는 Cocoa 및 GUI 프로그래밍을 해야하는 상황이 닥쳤습니다 ㅎㅎ; 일단 이래저래 공부를 시작하고는 있는 중인데, 한가지 궁금증이 생겼습니다. Apple의 pro apps(가령 Final …

2006.04
22

[App 개발] xcode에서 인텔리센스 기능..

인텔리센스 라는 용어가 맞는지 모르겠습니다. 자동완성;; 이라 해야되나 써본거라곤 vs6 밖에 없어서...;; 새로운 걸 하고 싶어서 과감히 전환을 시도하는 중입니다. 맥도 새로 구입하고 ㅎㅎ 하루하루를 맥에 푹 빠져살고 있습니다. x…

2006.04
15

[App 개발] [질문]Xcode 만 설치하면 맥용 개발툴은 다 설치한건가요?

우연히 OS Cd를 뒤지다가 Xcode Tools란 폴더를 찾았습니다. 폴더를 열어보니 Xcode Tools라는 파일이 있어서 설치를 했네요. 이것만 이스톨하면 개발툴은 다 인스톨 된건가요 제가 원하는 언어는 C,C++.JAVA 입니다.

2006.03
23

[App 개발] GNU Scientific Library 를 Xcode 에서 컴파일하다

과학, 공학 전공하시는 분들이시라면, 선호하는 계산 라이브러리가 있으실 줄 압니다. 가장 간편하고 인기있는 라이브러리는 역시 Numerical Recipes 라이브러리가 되겠지만, 요즘은 GNU Scientific Library (GSL) 이 대세죠 …

2006.03
11

[App 개발] 인텔맥에 대처하는 우리의 자세 ㅡㅡ;

이미 작년 6월 이후부터 꾸준하게 유니버설 바이너리 관련 개발자 정보들이 나왔기 때문에 지금은 그 충격이 거의 상쇄되어 버린 기분입니다. 그리고 새로 출시된 인텔 아이맥과 맥북 프로의 성능이 기존 제품을 훨씬 능가한다는 사실을 보면서 많은 개발자들이 …

2006.01
03

[App 개발] Xcode 2.2 에서 C++ 프로그래밍 하기

아직 초보라서 잘 모르는데 어떻게 하는지 알려주세요... Project를 어떤 것을 선택해야하는지...

2005.12
28

[App 개발] Xcode 2.2 에서 카본 프로그램 만들자 (7) 응용문제

지금까지 연습했던 기법들을 모두 동원하여 그럴듯한 게임 하나를 만들어 보겠습니다. 만들기 쉽고 이해하기 편하고 간단한 예제로 무엇이 좋을까 생각해보니, 퍼즐 게임이 있더군요. 비트맵 조작, 마우스 입력, 간단한 게임 데이터 관리 등을 모두 연습해볼 수…

2005.12
26

[App 개발] Xcode 2.2 에서 카본 프로그램 만들자 (6) Keyboard

이번 예제는 겉으로 보기엔 후즐근해 보이겠습니다만, 그 내용은 심히 유용한 것을 담고 있습니다. 1. 키보드 입력 이벤트를 처리하는 루틴에서 이번에는 입력된 키보드 값을 버추얼 키 값에서 우리에게 친숙한 ASCII 값으로 바꾸었습니다. 이 값을 …

2005.12
24

[App 개발] Xcode 2.2 에서 카본 프로그램 만들자 (5) Events

이제는 본격적으로 이벤트 부분을 파 들어가 보도록 하겠습니다. 이 세상 거의 모든 GUI 는 Event Driven 입니다. 이벤트에 의하여 전체 프로그램이 동작하게 됩니다. 이러한 점은 많은 초심자들이나 옛날 Procedual Programming …

2005.12
21

[App 개발] Xcode 2.2 에서 카본 프로그램 만들자 (4) ATSUI

비트맵 예제는 지난 글들을 살펴보시면 되겠습니다. 이제부터는 간단한 것 같으면서도 상당히 까다로운 주제인 텍스트를 다루어 보고자 합니다. 그래픽 환경으로 넘어오면서 오히려 텍스트 다루는 것이 점점 더 어려워지고 있습니다. 글꼴도 다양하고 예쁘게 만들어…

2005.12
19

[App 개발] Xcode 2.2 에서 카본 프로그램 만들자 (3)

이번에는 본격적으로 Quartz 의 Core Graphics 를 이용해서 그림을 그려 보겠습니다. 참고 자료로는 애플 홈페이지에서 다운로드 받으실 수 있는 Quartz 2D Programming Guide 입니다. 프로그램의 기본 구조는 이…

2005.12
17

[App 개발] Xcode 2.2 에서 카본 프로그램 만들자 (2)

윈도우 프로그래밍을 처음 공부한ㄴ 사람들이 한결같이 내놓는 불만은 "왜 이렇게 어렵냐" 라는 것입니다. 막말로, C 에서는 printf("Hello World\\n") ; 요거 하나만 하면 글을 볼 수 있는데, 윈도우에서는 글자 하나를 보…

2005.12
16

[App 개발] Xcode 2.2 에서 카본 프로그램 만들자 (1)

Xcode 새 버젼의 카본 어플리케이션 템플릿이 좀 더 친절해졌더군요. 한편, 지금까지 자기 고유의 이벤트 핸들러를 갖고 계시던 분들에게는 더 힘들어 졌더군요. ㅠㅠ 자 해 봅시다. 일단. Xcode 를 실행하고, File->N…

2005.12
08

[App 개발] PCWEB 이란 곳에 올라온 코코아 강좌(1)

제가 소개할 사이트는 http://pcweb.mycom.co.jp/column/objc/ 에 연재되고 있는 코코아 강좌입니다. 이번에 제 1회를 부족한 일본어 실력으로 해석해 보았는데, 해보니 번역기를 돌린것과 비슷하게 되어버렸습니다. 결국 그렇…

2005.12
07

[App 개발] Apple Development Document 중 일부가 업데이트 되었습니다.

12.6일자로 몇가지 문서가 새로 마이너 버젼으로 업데이트 되었습니다. - Apple Human Interface GuideLines - Dashboard programming Topics - Dashboard Tutorial - DVD P…

2005.12
06

[App 개발] C# VS Object C (1) - 터미날 프로그램을 사용할때 받는 인자를 활용해서 MS-DOS 의 Mdi…

우선 object C 를 활용한 프로그램부터... 제가 제가 잘 적었는지 모르겟습니다. 워낙 엉뚱한 말을 저도 몰래 쓰기 때문에..... 이 프로그래의 사용법은 다음과 같습니다. 우선 소스 파일을 받으면 Xcode 로 열수 있습니다. 그…

2005.12
06

[App 개발] OMIAI (아스키 코드 값를 이용해서 도형의 색갈을 바꾸어 주는 프로그램입니다.)

두번째로 케이머그에 올리는 글이네요. 약 한달전에 만든건데, 필요한 분에게 프로그램과 소스만 전해주고 그냥 하드 속에다가 묵혀두었는데, 이렇게 놔두는 것 보다 공개해서 수정이나, 부족한 부분도 남에게 자문도 받아보고, 이를 통해서 공부도 배울…

2005.10
22

[App 개발] 신형 듀얼 코어 2.3 GHz 의 속도 비교

제가 지금까지 쓰던 PowerMac G5 Single 1.8 GHz, 프론트사이드 버스 900 MHz 짜리 제품과 이번에 새로 나온 Dual Core PowerMac G5 2.3 GHz, 프론트사이드 버스 1.15 GHz 제품과의 성능 비교입니다…

2005.09
30

[App 개발] Apple에서 하드웨어 제어 ~_~

안녕하세요 ㅎ 컴퓨터로 하드웨어를 제어해서 프로토타입을 만들 일이 생겼는데 Mac에서 사용가능한 인터페이스가 있는지 궁금해요 >_< PC의 경우 K8055보드같은 USB인터페이스가 판매되고 있습니다만 제품 사양에 Mac은 언급되지 않았더군요…

2005.09
29

[App 개발] 요즘 이런 망상에 빠져.. ~_~;

개발실 게시판에는 정말로 오랫만의 포스팅입니다. 그동안 일도 바쁘고.. 개인적인 작업과 학업.. 모두 바쁜 관계로.... 이제 어느덧 9월도 마지막에 다가가고 있습니다. 최근에는 그냥 알바식으로 일하면서.. 인체 인식으로 PC를…

2005.08
25

[App 개발] IDE와 DB관련해서 질문있습니다.

제가 4학년 플젝으로 erp제품중에서 일부분을 자바로 해보려하는데요. 원래 회사에다닐때 사용하던건 비베랑 ms-sql이였습니다. (보고서는 크리스탈 레포트로했습니다.) 대부분 sp로 짜여져서 sp지원하는 어떤 db를 사용해야할지 난감합니다.…

2005.08
17

[App 개발] 코드 최적화 (6) 분기 예측

분기 예측 (Branch Prediction) 이라는 것은 프로세서의 파이프라인이 길어지면서 발생하게 되는 비효율적인 문제를 해결하기 위한 방법으로 도입된 것이지요. 이것이 우리 프로그래밍에 어떤 영향을 미치게 되는지를 살펴보기 위하여 간단한 예제를 …

2005.08
15

[App 개발] XCode 2.1로 Maya plug-in 개발하기..?

Maya 6.0에서 제공하는 Maya API를 이용하여 plug-in을 개발하려고 help문서를 뒤져보니.. xcode는 예제의 프로젝트 파일을 컴파일해보라고 나와있는데.. xcode의 버전때문인지 컴파일이 되질 않는군요..-.- MSVC로 프로…

2005.08
15

[App 개발] 코드 최적화 (5) Unrolling

언롤링이라는 기법은 언뜻 보기에는 거의 삽질과 다름이 없습니다. 지난 (4) 번 예제에서 사용된 코드를 언롤링한 코드의 예를 보시면 이야기가 더 쉽게 진행될 것 같습니다. for( j = 0 ; j < MAT_SIZE ; j++ )…

2005.08
14

[App 개발] 코드 최적화 (4) 행렬, AltiVec

이번에는 매우 고전적이면서 아직도 수없이 많은 곳에서 쓰이고 있는 행렬 곱셈 문제를 한 번 생각해 보겠습니다. for( i = 0 ; i < MAT_SIZE ; i++ ) { for( j = 0 ; j…

2005.08
13

[App 개발] 코드 최적화 (3) 인덱싱

매트릭스 연산은 여러 곳에서 널리 쓰이고 있습니다. 단순 반복적인 계산을 거듭하는 이 루틴의 효율을 어떻게 높이느냐에 따라서 컴퓨터의 최대 계산 능력을 끌어낼 수도, 혹은 전혀 이용하지 못할 수도 있습니다. 다음의 예제는 가우스 소거법 소스를 간…

2005.08
13

[App 개발] 코드 최적화 (2) 컴파일러

계산 밀도 (Computational Intensity)라는 것이 있답니다. 이것이 무엇이냐 하면 컴퓨터에서 어떤 계산을 수행할 때 계산 명령 (Operation) 대 계산 인수 (Operand) 의 비율을 말합니다. 비싼 값을 주고 사는 좋은 컴파일…

2005.08
12

[App 개발] 코드 최적화 (1) 캐시

이름은 거창하게 지어 봤습니다만, 별 것 아니고요... ㅡㅡ;;; 앞으로 몇 회동안 제가 직접 작성한 코드로 어떻게 하면 빠른 프로그램을 작성할 수 있을까를 같이 한 번 연구해 보았으면 합니다. 보유하고 계신 맥의 종류마다 약간씩 다르지만, 제가…

2005.07
28

[App 개발] openGL을 이용해서 만든 카툰렌더러 입니다.

가입하고 첫 글 올립니다. 제작중인 게임 엔진으로 카툰렌더링한 스크린샷입니다. 크로스 플렛폼을 목표로 제작중이라 엔진은 콘솔에서 라이브러리로 만들었고, 아직 코코아는 내공이 부족해서 opengl fullscreen 예제에 붙였습니다. 퍼포먼스 …

2005.07
23

[App 개발] Cocoa 책 구입했습니다.

출장온김에 한국에서 구하기 힘들었던 Mac 프로그래밍 관련 책을 Amazon.com 에서 구입했습니다. 싸게 샀네요. 이거 두권이면 기초부터 시작해서 한참 동안 볼 수 있을것 같죠

2005.06
15

[App 개발] Cell 아키텍쳐 글을 읽기위한 간단한 토막상식 (2)

뭘 이런 걸 2편씩이나... ㅡㅡ;;; * DSP DSP 라는 것이 각광을 받기 시작한 것은 80년대 말~90년대 초라고 여겨집니다. 그 당시까지는 DSP 라는 개념이 확립되어 있긴 했지만 이것을 실현할 수 있는 빠른 속도의 프로세서가 …

2005.06
15

[App 개발] Cell 아키텍쳐 (5)

솔직히 이번 마지막 요약 결론글은 무지 조악합니다. 별로 권하고 싶지 않은 글이군요. ㅡㅡ; 장미빛 청사진이 이번에는 총천연 시네마스코포로 펼쳐지는데, 낯간지러워서 번역하다가 그만 윈도우 닫을 뻔 했습니다. ㅡㅡ;;; 한 편이 더 남았군요. 최근…

2005.06
14

열람중 [App 개발] Cell 아키텍쳐 (4)

4장의 글은 이번 애플-인텔 연합 발표가 있기 전의 내용이라 현재의 인식과 많은 차이가 있고, 실제 셀 탑재 웍스테이션도 선보인 지금의 생각과도 역시 괴리감이 느껴집니다. 셀 칩의 스펙이 보여주는 장미빛 청사진 (청사진이 장미빛이라... 쿨럭~ ㅡㅡ;…

2005.06
13

[App 개발] Cell 아키텍쳐 글을 읽기위한 간단한 토막상식 ㅡㅡ;;

전자공학이나 컴퓨터 공학을 전공하지 않으신 분들, 그리고 컴퓨터 구조의 기본에 대해서 잘 모르셔서 아래 글들을 접수하기 곤란하신 분들을 위해서 필요한 내용을 해설해 드리고자 합니다. 컴퓨터 잘 아시는 분들은 읽지 마시고... ㅎㅎ 저도 빠삭하게 다 아…

2005.06
13

[App 개발] Cell 아키텍쳐 (3)

3장: 셀 컴퓨팅 셀은 그래픽 전용 칩이 아닙니다. 셀은 범용으로 개발된 칩입니다. 만약 플스 3 의 그래픽 칩으로 활용된다면 nVidia 에서 제공될 것입니다. APU 는 일반 마이크로프로세서처럼 범용은 아니지만 셀 프로세서는 일반 파워피씨 마…

2005.06
13

[App 개발] Cell 아키텍쳐 (2)

셀 아키텍쳐 ­ 2장: 셀의 내부 스트림 프로세싱 셀이 일반 프로세서와 다른 점은 APU 를 하나로 연결하여 스트림 프로세서로 동작시키는 기능이 있다는 점입니다. 스트림 프로세서는 데이터를 수령하여 처리하는 것을 순차적으로 처리합니다. 이러…

2005.06
12

[App 개발] Cell 아키텍쳐 (1)

앞으로 몇 회에 걸쳐 Nicholas Blachford 사이트에 있는 Cell 아키텍쳐 설명 글을 번역해 올리도록 하겠습니다. 잡스가 Cell 을 보고 콧방귀를 뀌었다던데... 과연 왜 그랬는지 함 보죠. ^^ -------------------…

2005.05
30

[App 개발] 인공지능에 대해 공부해보려는데...

자연어 처리와 인공지능에 대해 관심을 갖고 공부해보고 싶은데요.... 이론적인 측면에서 어디서부터 어떻게 시작하면 돟을까요

2005.05
14

[App 개발] xcode2.0에서 파일 오픈?

사실 2.0뿐만 아니라 1.5에서도 잘 안되네요.. 파일 오픈하는 방법은 vc++이나 같은거 아닌가요 처음 작업은 vc++에서 c++로 짰습니다. (gcc라 오픈하는 방법도 다른건지요..) 오픈하려는 파일을 프로젝트 폴더안에 위치해두고 …

2005.05
11

[App 개발] 마스크 이미지를 이용한 애니메이션

이번에도 역시 제목만 요란할 뿐, 내용은 별로 대단할 것이 없습니다. ^^; 지난 예제에서 한 번 비트맵 데이터를 이용하여 CGContext 를 작성하는 방법을 사용해 보았습니다. 이번에는 이것을 응용하여 투명 레이어에 조그마한 애니메이션을 출력…

2005.05
10

[App 개발] 투명 윈도우를 만들자

오늘도 역시 콜롬부스의 달걀입니다. ㅡㅡ; 엉망으로 짠 프로그램이지만, 나름대로 설명을 달아두면 도움을 받으실 만한 분도 계시겠지요 ^^; 프로젝트명을 거창하게 FullScreenCoreImage 라고 달았지만, 아쉽게도 코어 이미지는 여기…

2005.05
08

[App 개발] Carbon 에서 Core Image 프로그램을 짜는 법 (2)

일단은 샘플로 프로그램을 짜 보았습니다. ^^ QuickDraw 와 Core Graphics 와 Core Image 가 마구 뒤섞인 무시무시한 프로그램이 탄생하고 말았습니다. ㅡㅡ; 예외 처리라든지 그런 것이 하나도 안 되어 있는 완전 개발…

2005.05
05

[App 개발] Carbon 에서 Core Image 프로그램을 짜는 법

타이거의 등장과 함께 꽤나 주목을 받고 있는 Core Image, 그럴싸한 비됴 카드와 128 메가 메모리 없이는 구경도 못한다는 신비의 기술을 한 번 구경하기 위해 이곳저곳 자료를 뒤적여 보았습니다. 카본에서 Core Image 를 호출하기 위해서였…

2005.05
03

[App 개발] Xcode 2.0 + gcc 4.0

오늘 배달온 타이거를 설치하고 나서 맨 먼저 해본 것이 그간 가지고 놀았던 매트릭스 연산 프로그램의 속도 측정이었습니다. Xcode 1.5 에 gcc 3.5 를 가지고 대략 17~20초 사이에 완료하던 작업을 8~9 초만에 끊습니다. 이는 gcc 4.…

2005.04
06

[App 개발] 코코아 개발 서적좀 추천해 주세요.

자바도 관심이 있긴 하지만 퍼포먼스 측면에서 코코아가 더 끌리네요 mfc로 약간 개발 경험이 있는데 역시나 맥쪽은 관련 자료가 드무네요.. 코코아 추천 서적좀 부탁드립니다 ^^

2005.03
26

[App 개발] 프로그래밍 공부하시는 분들이나 개발자 분들은 어떤 컴파일러를 이용하시나요?

오랫만에 개발실에 글을 남기네요.. 영환군입니다~ 최근에 ibm PC를 XP pro SP2로 세팅하면서 다시금 간단히 EditPlus와 Java SDK로 자바 코딩을 세팅하고.. 간단한 C++ 부터 windows APP까지의 컴파일을 위해 여…

2005.03
16

[App 개발] MSN 메신저 프로토콜 해부 1/3

원본은 여기에 있습니다: http://www.devarticles.com/c/a/HTML/The-MSN-Messenger-Protocol-Torn-Apart-Part-1/ ----------------------------------------…

2005.03
14

[App 개발] MSN 메신저 프로토콜

다음 글은 Venky's World (http://www.venkydude.com/articles/msn.htm) 의 글을 번역한 것입니다. MSN 메신저의 기본적인 동작 원리를 이해하는 데 도움이 될 수 있는 쉬운 글입니다. ----------…