티스토리 뷰
Intel을 위협하는 Apple의 Arm기반 CPU 등장
파괴적 혁신이란 낮은 기능과 저렴한 가격으로 등장한 기술(제품)이 점차 성능을 향상하여 주요 시장까지 차지하는 움직임을 말하며 이번 Arm Mac 등장은 ARM ISA가 기존의 X86 ISA를 파괴적으로 혁신하는 움직임으로 볼 수 있습니다. 파괴적 혁신의 예를 살펴보면 파괴적 혁신을 더 잘 이해할 수 있을텐데요. MIT 크리스텐센 교수가 쓴 파괴적 혁신 책에서 등장하는 사례로는 플로피 디스크가 있습니다. 1980년대 미니컴퓨터 제조사들의 표준이 8인치 디스크인 상황에서 5.25인치 드라이브가 등장했죠. 8인치 디스크는 용량, 엑세스 타임 등에서 뛰어난 반면 5.25인치는 작고 가벼우며 저렴한 장점이 있었습니다. 5.25인치 드라이브는 저가 시장에 진입한 이후 거듭된 성능 개선을 통해 주류 시장에서 8인치 드라이브를 몰아냈습니다. 8인치 드라이브 제조업체들은 5.25인치 드라이브가 등장했을 때 성능 차이로 인해 5.25인치 드라이브를 저가 시장에나 적합한 장치로 치부했지만, 5.25인치의 거듭된 기술 혁신에 자리를 내줘야 했죠.
ARM Mac의 등장을 파괴적 혁신으로 보는 이유는 지금까지 ARM은 X86대비 성능에서 뒤떨어진, Embedded system에서나 활용되는 ISA로 취급되었기 때문입니다. ARM과 X86은 ISA (instruction set architecture)을 가리키는 말입니다. ISA는 말 그대로 CPU가 인식하는 명령어 집합인데, 하드웨어 측면에서 보면 ISA에 맞춰 Processor를 설계해야 하고 소프트웨어는 ISA에 맞게 프로그램을 짜고 Compile해야 합니다. 두 ISA의 차이는 RISC (reduced instruction set computer)와 CISC (complex instruction set computer)로 설명될 수 있습니다. ARM ISA는 RISC 방식으로 Instruction size가 고정되어 있습니다. Instruction size가 작고 고정되어 있기 때문에 담을 수 있는 명령어의 종류가 적다는 한계가 있지만 하드웨어로 구현하기 간단하다는 장점이 있죠. 반대로 인텔과 AMD의 대부분 CPU에서 활용되는 X86 ISA는 CISC 방식으로 Instruction size가 가변적입니다. 따라서 복잡한 기능을 구현하는 Instruction을 넣을 수 있어 성능에 우위가 있지만, Processor가 이를 실행하기에는 복잡도가 높죠. 인텔에서는 CISC 방식의 한계(실행 복잡도 및 이로 인한 실행 시간 지연)을 극복하기 위해 CISC 명령어를 RISC 방식으로 나누는 Micro Op을 도입했지만 태생적 차이는 존재하죠. 위의 특징들 때문에 ARM ISA를 채택한 SoC는 고성능은 요구되지 않지만 저전력 특성이 중요시되는 스마트폰, 드론 등 휴대용 기기에 사용되었습니다. 이에 반해 X86은 PC, 워크스테이션 등 고성능 프로세서에 사용되었죠. 이러한 가운데 애플의 ARM ISA를 활용한 Mac 출시 발표는 ARM ISA가 기존 X86 ISA가 차지했던 주류 PC 시장을 진출하는 파괴적 혁신으로 인식할 수 있습니다.
ARM ISA를 활용한 PC 개발 시도는 애플이 처음이 아닙니다. 주요 시도로는 MS와 Qualcomm이 2016년부터 준비했던 ACPC (always-connected PC)가 있죠. 따라서 현재까지의 주요 ARM PC의 키 플레이어로는 MS, Qualcomm, Apple이 있으며 이들의 움직임과 동기를 살펴보면 다음과 같습니다.
멀어진 통합의 꿈 - MS
MS는 PC, VR, Game console, 스마트폰을 아우르는 통합 생태계 구축의 일환으로 Arm-based PC 개발에 나섭니다. 2016년 MS는 Qualcomm과 함께 ACPC(always-connected PC)의 개발을 밝힙니다. 2016년 MS의 하드웨어 포트폴리오를 보면 참 다양합니다. PC(서피스), 스마트폰(윈도우폰), VR기기(Hololens), 게임 콘솔(Xbox)가 있죠. 이렇게 다양한 포트폴리오를 운영하는 사업자라면 통합 개발 환경을 구축하고자 하는 욕구는 당연하게 생기게 마련입니다. 하나의 소스 코드를 기반으로 UI를 변경하여 다양한 HW에 적용할 수 있다면 많은 개발자들을 Ecosystem으로 유입시킬 수 있고 HW 및 MS의 OS 판매는 더 공고해지겠죠. 그런데 문제는 PC는 X86, 스마트폰은 ARM 등 ISA가 달랐던 데에 있습니다. 추측해보자면 저전력 특성이 중요한 스마트폰에 X86 ISA를 적용할 수는 없으니 PC에 ARM ISA를 적용시키는 것이 통합 관점에서는 더 Feasible 했을 것입니다. 이러한 동기였는지는 알 수 없으나 MS는 통합 개발 환경인 UWP (universal windows platform)을 발표하죠. 하지만 결과는 MS의 희망만큼 성공적이지 못했습니다. 스마트폰은 실패로 돌아가고 UWP도 개발자들에게 외면 당했습니다. 왜 이러한 결과가 나왔는지는 아래에서 설명드리죠.
사업 영역의 확대를 노린 Qualcomm
Qualcomm은 스마트폰 시장의 한계에 직면하여 다른 성장 원동력이 필요했고 그 중 하나로 MS의 ACPC를 선택했습니다. 현재도 Qualcomm 칩을 탑재한 MS 서피스가 출시되고 있죠. Qualcomm은 Apple을 제외하면 세계 1위 Flagship SoC 개발 업체입니다. Mediatek이 잠시 플래그십 시장에 도전했지만 바로 철수하고 본래의 Mid, High-end 시장에 집중하고 있죠. 전세계 스마트폰 출하량을 살펴보면 2016년부터 정체가 옴을 확인할 수 있습니다. 정체된 시장에서 이미 상당수의 점유율을 확보한 Qualcomm 입장에서는 다른 성장원이 필요했죠. MS와 Qualcomm 입장에서는 스마트폰 SoC 중 최고 사양을 자랑하는 Snapdraon 800시리즈를 활용해서 노트북 시장을 노려볼 수 있다고 생각할 수 있을 것 같습니다. 스마트폰 SoC의 성능도 상당부분 올라왔고, RISC ISA 기반이기 때문에 기존 인텔 CPU 대비 사용시간도 길고 Qualcomm 모뎀을 탑재한다면 Tablet과 같이 어디에서든 LTE를 활용하여 인터넷을 할 수 있죠.
현재까지는 성공적이지 못했던 Windows on ARM
MS와 Qualcomm의 야심찬 시작에도 불구하고 ARM ISA Native 프로그램의 부족 및 X86 프로그램의 호환성/성능 저하 문제로 인해 Windows on ARM은 성공적으로 시장에서 확대되지 못하고 있습니다. Windows on ARM PC이 출시되더라도 ARM ISA에 맞게 개발된 Native 프로그램이 부족합니다. 따라서 기존 X86용으로 개발된 프로그램을 사용해야 하는데 둘 사이의 호환을 위해 Emulator가 필요합니다. Emulator는 X86 프로그램을 ARM ISA에 맞게 변환 시켜 주는데 추가 변환이 있다보니 사용자 입장에서는 프로그램 구동에 시간이 더 걸리는 성능 저하를 느낍니다. 따라서 궁극적 해결책으로는 개발자들이 ARM Native 프로그램을 개발해야하지요. 하지만 ARM이 지원되는 UWP와 기존 개발자들이 활용하던 Win32 사이에는 API가 호환되지 않아 API 호출을 포함해 프로그램을 다시 개발해야 했습니다. 또한 3rd party에서 개발한 API는 당연히 사용할 수 없었고요. Windows on ARM 시장이 작기 때문에 이러한 노력 대비 얻는 수익은 적었고 UWP는 개발자들의 외면을 받습니다. 2020년 5월 MS는 Project reunion을 공개하며 Win32와 UWP API 호환이 가능하게 하겠다고 했는데 얼마나 개발자들의 호응을 얻을지는 확인해봐야겠습니다.
SoC 성능 향상을 기다려 온 Apple
Apple은 자체 SoC 성능 향상, ARM ISA용 프로그램 개발 지원 움직임을 가지며 Arm Mac 개발을 준비해온 것으로 보입니다. Apple의 Mac ARM 개발은 꾸준히 루머가 있었죠. 첫 번째 이유로는, iOS와 MacOS의 프로그램을 개발하는 환경이 Xcode로 동일하게 때문에 Apple의 ISA를 포함한 적절한 지원만 있으면 개발자들은 훨씬 쉽게 ARM용 프로그램을 개발할 수 있죠. 또한 iPAD가 지금까지 보여줬던 성능은 Benchmark 수치 상 왠만한 노트북용 Intel CPU를 능가하기 때문에 Processor 자체 성능에도 의문이 없었습니다. 물론 Benchmark 수치가 실제 사용 환경에서의 성능을 100% 대변하다고 볼 수는 없지만요. 실제로 블룸버그 기사에 따르면 Apple은 2018년 출시된 A12X를 Macbook에 적용 시킨 후 성능에 대한 확신을 얻어 Arm Mac을 개발하게 되었다고 합니다. 물론, Apple도 단기적으로는 Emulator인 Rosetta를 활용해 Arm Mac에서 X86 프로그램을 개발해야 하지만 현재 iOS 및 PadOS를 UI 수정을 통해 바로 Arm Mac에서 사용할 수 있고 개발 환경이 잘 갖춰져있기 때문에 Arm Native 프로그램 확보가 쉬울 것으로 보입니다. 또한 Apple이 Arm Mac으로 2년여에 걸쳐 움직이겠다는 신호를 준만큼 개발자들로써도 Arm Native 프로그램을 개발할 동기부여가 되겠죠.
최대 피해자는 Intel?
Apple의 Arm Mac 개발로 인해 단기/장기적으로 타격을 입을 업체는 Intel입니다. Apple의 전세계 PC 시장 비율은 6% 이지만 ([1]) Mac시리즈는 상대적으로 고성능 CPU를 채용하기 때문에 Intel입장에서는 판매 단가가 높죠. 또한 더 큰 타격은 고성능을 표방하는 Mac이 Arm을 채택할 정도로 Arm 기반 Processor의 성능이 향상되었다는 상징성에 있습니다. AMD가 빠르게 Intel의 시장을 잠식하는 상황에서 Arm 기반 PC까지 등장하면 Intel로써는 궁지에 몰리겠지요.
Intel의 어려움은 공정 개선의 어려움과 맞물려 있습니다. DRAM과 같은 메모리 반도체이든, CPU 같은 Logic 반도체이든 모두 미세 공정을 사용함으로써 성능을 향상시켜왔습니다. 노트북 내의 한정된 보드 사이즈 내에서 CPU에 배정된 공간도 정해져있죠. CPU의 성능은 안에 탑재된 트랜지스터 수에 비례하며 한정된 공간에 보다 많은 트랜지스터를 포함하기 위해서는 생산 공정이 미세해져야 합니다. 하지만 모두가 알고 있듯이 Intel의 생산 공정은 몇 년째 10nm에 멈춰 있습니다. 기존 Intel의 공정 전략은 “Tic Toc”이었는데, 첫 번째 년도에는 미세 공정을 적용하고 두 번째 년도에는 최적화를 함으로써 꾸준히 CPU의 성능을 향상시키는 것이었지요. 그런데 공정 미세화가 안되고 있고 최적화에도 한계가 있기 때문에 CPU 성능도 정체되어 있습니다. 이에 반해, AMD나 Apple은 TSMC에 프로세서 생산을 위탁하기 때문에 이러한 공정 개선 문제에서 자유롭죠.
미래의 Arm PC는?
Apple이 Arm PC의 가능성을 제시했기 때문에 많은 관련 업체가 Arm PC 개발에 달려들 것 같습니다. 물론 Arm Mac이 성공하는지는 출시 이후 좀 더 지켜봐야 하겠지만요. Google은 프로그램 개발 Framework 지원과 API 제공 능력을 갖췄기 때문에 Arm 기반 PC를 출시할 수 있죠. 이미 가지고 있는 크롬북 라인을 활용하거나 좀 더 상위 Segment로 움직일 수도 있겠습니다. 또한 최근 Project reunion을 선언하며 ARM ISA PC를 놓치지 않겠다는 의지를 보인 MS도 좀 더 적극적으로 ACPC를 지원할 것 같습니다. 프로그램 개발자들 입장에서도 Mac OS에서의 희망찬 신호가 Windows로 이어질 것이지요. 몇 년 내에 X86과 비교할 만한 성능을 보이는 Windows on Arm이 나올지 지켜봐야겠습니다.
'IT' 카테고리의 다른 글
Nvidia의 ARM 인수 - Inference Line 강화 목적? (0) | 2020.10.07 |
---|---|
딥러닝 학습/추론과 이에 따른 하드웨어 차이 비교 (1) | 2020.07.23 |
딥러닝 ASIC 가속기(Accelerator)란? (0) | 2020.07.03 |
컴퓨터 내 DRAM의 역할과 흐름 (0) | 2020.06.26 |
왜 GPU는 AI 시대에 중요해졌는가? (0) | 2020.06.20 |