Translate

2012년 11월 24일 토요일

ARM 에 대한 잡설 1


 (주의 : 1-3 편 까지는 2010 년 초 쓰여져 최근 내용을 일부 반영하지 못함)


 필자는 앞서 포스팅에서 x86 CPU 제조사 - 인텔, AMD, VIA - 들에 대한 간단한 소개를 했다. 그러나 세상에는 x86 CPU 와 x86 기반의 시스템만 존재하는 것이 아니다. 사실 우리의 일상생활에서 가장 흔하게 접할 수 있는 CPU 이면서 - 이미 100억개 이상의 ARM CPU 가 판매되었다 - 보통 사람들에게는 거의 알려지지 않은 회사가 있으니 바로 지금 부터 소개할 ARM 이다.


 본 포스팅에서는 이전 광고한데로  ARM 과 모바일 시장에 대한 필자의 개인적인 소견과 ARM 과 인텔의 애증의 역사에 대해서 이야기해 볼 생각이다.


 객관적인 사실에 대해서 우선 기술할 것이기는 하지만 다소 주관적인 사견과 개인적인 예측도 같이 들어갈 예정이니 읽으시는 분들은 이점을 좀 감안해 주시기 바라며 꼭 필자의 의견이 옳지 않을 수도 있기 때문에 여기에 쓴 내용들은 그냥 참고만 하시기 바란다.



 1. ARM 이란 ?


 사전적인 의미를 찾아보면 ARM 은 Advanced RISC Machine 이란 뜻이다. 그리고 과거엔 Acorn RISC Machine 이라는 의미였다. 이 중 RISC (Reduced Instruction Set Computer) 의 약자로 뭐 이 분야에 지식이 많으신 분들은 굳이 필자 같은 아마추어의 설명이 필요 없겠지만 그래도 잘 모르시는 분들을 위해 설명한다면 다음과 같다.


 대개 범용 마이크로프로세서 (이를 테면 CPU) 구성하는 요소는 명령세트, 레지스터, 메모리 공간 등으로 이루어져 있다. 이중 명령세트는 RISC 과 이에 대비되는 CISC (Complex Instruction Set Computer) 로 나눌수가 있다.


 CSIC 는 소프트웨어, 특히 컴파일러 작성을 쉽게 하기 위해 하드웨어가 할 수 있는 일은 모두 하드웨어가 할 수 있도록 만든 컴퓨터다. 이 구조의 명령세트는 고급 언어에 각기 하나의 기계어를 대응 시킴으로 명령어 집합이 커지고 다양한 가변 길이의 명령어를 가지게 된다.


 그러나 CISC 의 단점은 주로 쓰이는 명령어는 소수에 불과한데다 구조가 복잡해지고 커짐에 따라 비용과 전력 소모가 증가한다는 것이다. 따라서 자주 사용하지 않는 명령어는 모두 소프트웨어로 구현하고 자주 쓰이는 명령어만 간략화하는 구조가 등장했으니 바로 RISC 인 것이다.


 현재 시장에서 볼수 있는 대표적인 CISC 프로세서는 바로 x86 이다. 반면 RISC 의 대표는 지금 설명하는 ARM 을 비롯하여 IBM 의 powerpc, MIPS, SPARC, Alpha 등이 있다. 그리고 아마도 ARM 이 이중에서 가장 흔하게 쓰이는 아키텍처일 것이다.





 2. ARM 의 초창기와 아콘 컴퓨터



 인텔이나 AMD 가 생기기 전 페어차일드가 존재했듯이 (무슨 이야긴지 궁금하면 이전에 필자가 쓴 펜티엄 및 AMD 에 대한 이야기를 보시라) ARM 역시 갑자기 생겨난 회사는 아니었다. 그들의 기원은 신사들의 나라로는 유명하지만 IT 부분에서는 우리에게 친숙하지 못한 영국의 Acorn Computer 였다. 참고로 1990년 이후 ARM 은 아콘 컴퓨터내 독립된 팀이었고 이후에는 자회사로 독립하기 때문에 사실 ARM 이란 회사의 초기 역사는 아콘 컴퓨터 내에 있을 때 부터 시작했다는 것이 맞을 것이다.


 (여담이지만 필자의 지인 중 한분은 영국의 인터넷 속도가 너무 느리다면서 역시 한국이 IT 강국이라고 긍지를 느끼셨다. 그리나 유선 인터넷 속도는 느릴지 몰라도 영국 ARM 은 IT 강국 한국도 따라오기 힘든 CPU 설계 기술을 지녔다. )


 1978년 설립된 아콘 컴퓨터 (Acorn Computers) 는 1980년대와 1990년대 초반까지 영국의 교육용 컴퓨터 시장을 장악하면서 애플과도 비교되었던 회사였다. 그러나 1980 - 1990 년대는 인텔과 마이크로 소프트 두 쌍두마차가 컴퓨터 시장을 평정해 나가던 시기였고, 세계 각지의 토종 (?) 컴퓨터들은 씨가 마르게 되었다.


 그 시기 아콘 컴퓨터 역시 어려움을 겪을 수 밖에 없었다. 1981년 등장한 IBM PC 는 아콘의 생존을 위협했고 이로 인해 아콘 컴퓨터는 이를 물리칠 새로운 아키텍처를 모색했다. 그들은 작고 강력한 32 비트 RISC 아키텍처가 해결책이 될 수 있다고 생각했다. 따라서 ARM 아키텍처는 태생부터 인텔의 x86 타도를 위해 나왔다고 할 수 있다.


 아콘 컴퓨터는 이전에 8 비트 프로세서인 MOS Technology 6502 를 제작한 경험이 있었다. 아콘의 엔지니어들은 이를 기반으로 1983년부터 독자적인 32 비트 RISC 프로세서 설계에 돌입했다. 그리고 이 CPU 에 이름은 ARM (당시는 Acorn RISC Machine) 이었다. 이 프로세서가 처음 나온 것은 1985년 4월이었는데 당시 BBC Micro의 세컨드 프로세서로 장착된 외에는 거의 사용되지 않았다. 나중에 ARM 1 으로 불린 이 프로세서는 일종의 연습이었던 셈이다. 아무튼 이 프로세서가 ARM v1 이라 불린 첫번째 ARM 아키텍처 프로세서였다.






(BBC Micro 의 모습 아콘 컴퓨터에서 만든 8비트 컴퓨터이다. 카셋트 테잎으로 구동하는 고대의 컴퓨터 중 하나라고 한다. I, the copyright holder of this work, hereby release it into the public domain. This applies worldwide.)




 다음해 들어서 아콘의 기술자들은 마침내 최초의 본격적인 ARM CPU 인 ARM 2 를 개발했다. 2 세대 아키텍처인 ARM v2 아키텍처였다. 이 프로세서는 세계에서 제일 작은 32비트 CPU 로 그 트랜지스터 숫자가 3만개에 불과할 정도로 작은 프로세서였다. 인텔 최초의 32비트 x86 프로세서인 80386 이 275000 개의 트랜지스터를 집적한 것과는 상당한 차이가 있었다. 이렇게 작은 CPU 를 만들 수 있는 원동력은 RISC 구조와 캐쉬마저 생략해버린 구조의 단순화에 있었다.


 ARM2 의 성능은 8 Mhz 클럭에서 4 MIPS 정도였다. 앞으로 MIPS 와 DMIPS 라는 단위를 앞으로 ARM CPU 의 성능을 비교하는 데 사용할 것인데 여기에는 주의할 점이 있다. MIPS (million instruction per second) 라는 단위는 초당 처리 가능한 명령어의 갯수를 종류에 관계 없이 측정한 것이다. 이 방식의 문제점은 서로 명령어의 종류가 다를 경우 공정한 비교가 어렵다는 것이다.


 예를 들어 1500 m 경주를 하는데 한사람은 자전거를 타고 다른 사람은 달리기를 한다면 공정한 비교가 되겠는가? 같은 이치로 CISC 와 RISC 로 서로 구조가 다른 CPU 에서 MIPS 로 성능 비교를 한다면 공정한 결과가 나오기 힘들다. 같은 작업을 해도 RISC CPU 의 MIPS 가 훨씬 높게 나오기 때문이다. 따라서 MIPS 값 결과는 ARM CPU 간의 상대적 성능 비교시 참고만 해야 할 것이다. 참고로 MIPS에는 부동 소숫점 연산을 제외한 Dhrystone MIPS 와 이를 포함한 Whetstone MIPS 이 있다. ARM 에서 공개한 자료를 보면 DMIPS 가 좀더 상대적인 비교에 사용되니 참조하시기 바란다.


 아무튼 1987년 아콘 컴퓨터는 회심의 대작 (?) 인 Acorn Archimedes 컴퓨터를 발표한다. 이는 개인용 홈 PC 시장을 타겟으로 등장했으며 한때나마 영국 토종 컴퓨터의 자존심을 지켰던 컴퓨터였다. 운영 체제는 RISC OS 를 사용했으며 1990년대 중반까지 명맥을 이어갔다. 그러나 1990년 초반 부터 인텔의 x86 프로세서와의 경쟁에서 아콘 컴퓨터는 서서히 몰락하기 시작했다.



(아콘 컴퓨터의 아르키메데스 시스템의 모습. 모니터는 나중에 바꾼듯 하다. 필자는 한번도 실물은 본적이 없다. 혹시 실물 보신 분 계신지 ?  This image has been (or is hereby) released into the public domain by its author, Philcrbk at the wikipedia project. This applies worldwide )


 1990년대는 컴퓨터 시장에도 글로벌 바람이 불어닥치기 시작해서 세상에 모든 개인용 컴퓨터가 미국의 CPU 와 OS 를 사용해야만 하는 시대가 도래했다. 결국 이러한 상황에서 ARM의 처지도 어려워 질 수 밖에 없었다. 결과론적으로 본다면 90년대 중반 이후로 ARM은 인텔에 맞서 영국의 토종 컴퓨터를 지켜낸다는 목적 달성에 실패했다고 할 수 있다.



 그러나 아콘 컴퓨터도 살기 위한 몸부림을 치기 시작했다. ARM 은 3세대 아키텍처인 ARM v3 의 CPU 들을 선보였는데 역시 작은 RISC 프로세서 답게 트랜지스터 수가 3만 5천개에 불과할 정도로 적었다. 인텔 CPU들은 세대를 거듭하면서 트랜지스터 숫자가 기하 급수적으로 증가한 반면 ARM은 소신대로 작고, 값싸고 전기 적게 먹는 CPU 를 고집했던 것이다. 문제는 성능도 고만고만 했다는 점이다.


 최초의 ARM v3 칩인 ARM 60 은 3DO 의 Interactive multiplayer 에 사용되었다. (1993년) 파나소닉에서 만든 이 게임기는 699 달러에 달하는 고가로 인해 결국 시장에서 퇴출당하는 운명에 처하게 된다. 그러나 훗날 ARM 은 닌텐도와의 끈끈한 관계를 바탕으로 콘솔 시장에서 그 때의 수모를 갚게 된다.


(파나소닉의 3DO    CCL 에 따라 복사 허용 저자 표시   저자   Bidou (take screenshot) ; NaSH (work on image))


 다시 ARM 은 절치 부심 노력하에 3세대 아키텍처에 속하는 ARM 7 을 개발했다. (ARM 은 vX 형식으로 아키텍처 버전을 표시한다. ARM 7/9/11 등 뒤의 숫자는 패밀리로 예를 들어 ARM 700 모델이면 ARM v3 에 속하는 ARM 7 패밀리 계통 제품이다) ARM 7 패밀리는 1994년 출시된 아콘 컴퓨터의 Risc PC 모델에 탑재되었다.


(Acorn Risc PC 600 모델이다. 아콘의 Risc PC 시리즈 중 하나인데 PC 라는 명칭에서 IBM 호환 PC 와 경쟁하려는 의도를 짐작할 수 있다. 물론 그 의도는 실패로 끝났다. 아마 DVD 는 나중에 단듯  CCL  에 따라  복사 허용 저자 표시   저자  Christof Efkemann )



 당시 ARM 7 패밀리는 대략 0.68 DMIPS/MHz 정도의 퍼포먼스를 보였으며 40 MHz로 작동했기 때문에 대략 27.2 DMIPS 정도되는 성능을 가졌던 셈이다. 비슷한 시기에 등장한 80486 DX4 의 경우 100 MHz 에서 70.7 MIPS 의 성능을 보였는데, 앞서 설명했듯이 MIPS 수치는 참고로만 삼아야 겠지만 CISC 프로세서가 RISC 프로세서보다 MIPS 수치에서 몇배 앞서 간다면 대략 그 성능 차이를 짐작할 수 있을 것이다.


 더구나 당시 컴퓨팅 환경은 점차 멀티미디어 및 게이밍의 중요해졌고, 운영체제도 이전보다 화려한 그래픽 UI 가 도입되면서 ARM 처럼 저성능 RISC PC 의 설자리는 더욱 줄어들 수 밖에 없었다. 따라서 아콘 컴퓨터는 점차 개인용 PC 시장에서 밀려나 셋톱 박스나 지금의 넷탑의 선조라고 해야할 네트워크 컴퓨터등으로 활로를 모색했다.




 3. ARM 의 성장


 그러나 이 시기 ARM 에는 중요한 변화가 일어나고 있었다. 그것은 애플 및 DEC 등이 ARM 의 새로운 고객이 되었다는 것이다. 그리고 ARM 역시 아콘 컴퓨터 내에서 서서히 자회사로 독립하여 ARM Ltd 를 거쳐 ARM Holdings 로 분사해 나스닥과 런던 주식 시장에 상장했다 (1998년)


 애플은 1993년 뉴튼 OS 를 사용한 첫번째 PDA 인 메세지 패드 (MassagePad) 시리즈를 공개했다. 이 PDA 는 ARM 610 프로세서를 사용했다. 이는 주목할 만한 변화였다. ARM 의 RISC 프로세서들은 성능적으로 같은 시기의 인텔 CPU 와 경쟁하기 어려웠다. 그러나 너무나 작고 단순한 CPU 이기 때문에 전력 소모가 매우 적을 뿐 아니라 제조 단가도 아주 낮다는 큰 장점이 있었다. 이는 모바일 기기에 아주 적합한 특징이었다.


 따라서 ARM 이 모바일 기기에 CPU 로 채택된 것은 아주 시의 적절한 선택이었다. 그리고 향후 모바일 시장을 장악할 ARM 의 전설이 여기서 시작되는 것이다.



(애플 메세지 패드 100 의 모습. 이시기 부터 시작된 애플과 ARM 의 관계는 현재 아이폰과 아이팟으로까지 이어졌다고 하겠다.   I, the copyright holder of this work, hereby release it into the public domain. This applies worldwide. )



 한편 상당한 기술력을 지닌 IT 업체로 파산한 이후 수많은 IT 기업에도 영향을 준 DEC 역시 망하기 전 ARM 과 새로운 프로젝트를 계획했다. 1995년 DEC 는 모바일 기기에 적합한 저전력 성능을 가지고 있지만 성능이 너무 안나오는 ARM 아키텍처를 개량해서 보다 강력한 ARM 아키텍처 CPU 를 만들고자 했다. 타겟은 셋톱박스 시장과 PDA 시장이었다.


 이 계획은 스트롱 암 (StrongARM) 으로 알려져 있는데, DEC 와 ARM 의 엔지니어들은 빠르게 결과물을 내놓았다. 이 스트롱 암 프로세서들은 4세대 ARM 아키텍처 (ARM v4) 에 기반했으며 클럭당 성능을 1.0 DMIPS/MHz 급으로 끌어올린 첫 번째 ARM 아키텍처였다.


 첫 스트롱 암 제품인 SA - 110 은 203 MHz 로 작동했으며 약 200 DMIPS 정도의 성능을 가졌고 애플의 뉴튼 2X00 시리즈 PDA 및 아콘의 Risc PC 등에도 탑재되었다. 후에 233 MHz 모델이 추가되었다.


(DEC 의 StrongARM SA 110 제품    CCL 에 따라 복사 허용 저자 표시   출처 Source: http://www.cpu-collection.de/?l0=i&i=1347&sd=1 )


 사실 StrongARM 제품들은 ARM 의 약점인 성능을 크게 개선한 모델이긴 했다. 비록 당시 펜티엄에 견줄 성능은 아닐지 몰라도 PDA 시장에서는 가능성을 보여준 제품이었다. 참고로 DEC 에서 이 제품이 나왔기 때문에 DEC 의 다른 고성능 RISC 프로세서인 알파 칩과 혼동되어 ARM이 알파 칩 아키텍처로 알려지기도 했는데 이는 잘못된 것이다.


 아무튼 StrongArm 의 문제는 바로 DEC 가 ARM 의 모기업 아콘 컴퓨터 처럼 망해가던 회사라는 점이다. 결국 DEC 는 여러개로 조각나서 팔려나가게 되는데 그 중 스트롱 암 부분은 공교롭게도 인텔에 매각된다. (1997년) 이미 x86 시장의 절대 강자로 군림하던 인텔이 뭐가 아쉬워서 인텔 CPU 에 밀려 망해가던 아콘 컴퓨터의 ARM 아키텍처를 구입했는지는 나중에 설명하겠다.


 그러나 4세대 ARM 아키텍처 (ARM v4) 의 가장 큰 성공은 스트롱 암이 아니라 ARM7TDMI 일 것이다. 이 계열의 ARM 프로세서들의 성공을 통해 ARM 은 시장에서 안착할 수 있었다. ARM7TDMI 는 게임보이 어드벤스드, 닌텐도 DS, 아이팟, 그리고 노키아의 휴대폰은 물론 온갖 모바일 기기에 채택되면서 모바일 시장에서 ARM 의 입지를 굳힌 명작이었다. (참고로 성능은 70 MHz 에서 63 DMIPS 였다)


 ARM7TDMI 는 당시에 수억개가 팔려나갔으며 지금도 일부 생산되는 CPU 이다. 그러나 ARM 은 이 CPU 를 판매하면서 인텔과는 다른 판매 방식을 개척했다. 그것은 규모가 작은 설계 팀인 ARM 이 직접 개발에서 생산, 마켓팅까지 담당하는 것이 아니라 ARM 은 설계만 하고 다른 반도체 제조사에 라이센스를 주어 필요한 만큼 ARM 아키텍처의 CPU 를 생산하게 한 것이다. ARM CPU 는 크기가 워낙 작아 생산 단가가 매우 저렴했으며 ARM 자체에서 라이센스 비용을 매우 저렴하게 책정한 덕분에 곧 여러 회사에서 널리 쓰이는 CPU 가 되었다.


 이후 등장한 4세대 ARM 아키텍처 CPU 는 ARM9TDMI 였다. 이중 ARM920T 은 16KB/16KB 의 캐쉬를 갖추었으며 닌텐도 DS/DSi, 노키아, 모토로라, HTC, 소니 에릭슨, LG (쿠키폰), 삼성 등 온갖 회사에 라이센스되어 생산되었고, 심지어 국산 휴대용 게임기 GP2X Wiz 등 각종 모바일 기기에 사용되었다. 참고로 180 MHz 로 작동하는 ARM920T 는 약 200 DMIPS 의 퍼포먼스를 보였다고 한다.


 본래 ARM 아키텍처는 아콘의 RISC OS 를 운영체제로 삼았지만 ARM 자체가 확산되면서 다양한 Linux 계통 운영체제 - Fedora, Ubuntu, Chrome OS, Android 등 - 은 물론 BSD 계통이나 open solaris 계통 운영 체제들도 ARM 에서 구동가능하게 되었다.


 다만 ARM 자체는 x86 와는 태생부터 다른 RISC 프로세서 였기 때문에 x86용으로 개발된 윈도우 계통의 운영체제는 구동할 수 없었다. 그러나 모바일 기기부터 임베디드 시장에 이르기 까지 워낙 광범위한 분야로 마른 장작에 불을 붙이듯 퍼져나갔기 때문에 결국 마이크로 소프트 마저 ARM 에서 구동이 가능한 윈도우 CE 와 윈도우 모바일을 출시했던 것이다.



 1998년 ARM 은 명칭을 Advanced RISC Machines 로 변경하고 나스닥과 런던 주식 시장에 상장 했다. 이후 ARM 은 파산해가던 아콘 컴퓨터로 부터 떨어져 나오게 된다. ARM 의 모기업 아콘 컴퓨터가 완전히 파산한 건 2000년 이었다. 이후 2006에 아콘 컴퓨터의 상호를 별개의 회사가 구매해서 컴퓨터를 판매하긴 했지만 이들이 생산한 건 그냥 인텔 CPU 와 윈도우 운영체제를 쓴 평범한 컴퓨터들이었다.


 아무튼 영국의 애플이라 불리던 아콘 컴퓨터는 파산했다. 그러나 호랑이가 죽어서 가죽을 남기듯 아콘은 죽어서 ARM 이라는 유산을 남겼다. 그리고 결국 오늘날 ARM 은 아콘 컴퓨터가 살아 있을 당시 못했던 과업에 도전하고 있는데 그것은 CPU 시장에서 인텔에 아성에 도전하는 것이었다.


 음 그런데 ARM v5,6,7 에 대한 이야기나 인텔의 Xscale 및 아이폰 CPU VS 옴니아 CPU (둘다 ARM 계통이다.) 의 비교등에 대한 이야기는 글이 길어졌으니 다음에 써야 겠다. 그리고 아마 다음에는 부모 (아콘) 을 죽인 원수 (인텔) 에 복수 (?)를 하는 ARM 의 이야기도 같이 써보겠다.



댓글 없음:

댓글 쓰기