ARM용 윈도 10이 나아가는 방향 읽기

마이크로소프트가 모바일 버전이 아닌 데스크톱 버전의 윈도를 ARM에서 돌아가게 만든 2012년의 윈도 RT에 대한 시도를 생각하면 아마도 생태계의 변화를 가장 바라고 있는 곳 중 하나가 아닌 듯 싶다. 윈도 8과 쌍둥이 운영체제였으나, 32비트 ARM 프로세서만 작동하고 제한된 소프트웨어 환경, 서피스 RT 및 라이센스 정책의 실패 등으로 9억 달러의 손실을 입었음에도 그 도전을 멈추지 않았으니 말이다.

마이크로소프트가 다시 ARM용 윈도(Windows on ARM, WoA) 이니셔티브를 진행하기로 발표한 것은 2016년이다. 마이크로소프트는 중국 선전시에서 개최한 WinHEC 2016에서 스냅드래곤 820을 탑재한 시제품에서 돌아가는 윈도를 공개했다. 이번 대상은 윈도 10이었다. 다만 과거 윈도 RT와 접근은 조금 달랐다. 데스크톱보다 모바일 이용 경험만 중시했던 윈도 RT와 다르게 데스크톱 환경을 최대한 유지하는 방향으로 ARM용 윈도 10을 작업하기로 했다.

윈도 8을 ARM용으로 변형했던 윈도 RT를 탑재한 서피스 RT. 10인치 이하 태블릿 시장을 겨냥한 운영체제로 라이센스와 오피스 무료 제공 등 파격적 모델을 추진했으나 결국 외면 받았다.

하지만 마이크로소프트 입장에서 ARM 생태계 구축이나 이전을 급박하게 추진하기 어려운 부분도 존재한다. 이는 기술적 문제보다 기존 생태계의 정책적 문제가 더 크게 작용하고 있어서다. 이러한 배경으로 마이크로소프트가 x86 이외의 ARM 윈도 생태계를 구축하는 것에 있어 고민은 크게 두 가지로 보여진다. 일반 기존 x86 생태계를 흔들지 않는 것과 함께 윈도가 ARM이나 x86이라는 양쪽 생태계를 모두 호환할 수 있는 방법을 찾는 것이다.

윈도 생태계의 다수를 구성하고 있는 x86 생태계에 대한 충격을 낮추면서 ARM 생태계로 윈도를 확장하거나 이전시키는 방법에 대한 고민이 깔려 있다. 애플처럼 단일 기업의 제품으로 구성된 생태계가 아닌 수많은 기업과 파트너십을 맺고 다양한 유형의 제품이 얽혀 있는 윈도 생태계의 유지는 마이크로소프트에게 가장 큰 숙제로 볼 수 있다. 그렇기에 ARM용 윈도는 처음부터 이러한 조건을 충족하는 방향에서 서두르지 않았다고 볼 수 있다.

에이서가 지난 IFA에서 선보인 ARM용 윈도 10 노트북 제품군. 윈도 10은 PC 제조사를 통해 생태계를 확장하는 기존 전략을 따르고 있다.

때문에 마이크로소프트는 시간을 두고 ARM용 윈도를 다듬어 왔고, 지금도 다듬는 중이다. 그럼에도 아직 충분하다는 결론에 도달할 만큼 완성도를 갖춘 것처럼 보이진 않는다. 지난 몇 년 동안 ARM용 윈도 10을 손보고 있음에도 여전히 필요한 것을 채우기 위해 계속 생태계 구성원들과 함께 실험을 하지만, 만족할 만한 결과를 얻은 곳은 어디에도 없다.

적지 않은 시간 동안 공을 들였음에도 여전히 만족스럽지 않은 이유는 무엇일까? 서두르지 않는다는 건 개발을 하지 않는 것의 의미가 아니다. 기존 생태계를 위협하거나 뒤집는 존재로써 화려하게 등장하는 게 아니라 변화되는 생태계에서 공존하는 방식을 찾고 설득해 나가는 시간을 가지려는 것이다. 이는 마이크로소프트만이 아니라 생태계를 구성하는 제조사, 개발자, 이용자 모두에게 필요한 시간을 의미하고 또한 공존의 속도를 조절하는 것처럼 보이기도 한다.

마이크로소프트가 2016년에 공개했던 ARM용 윈도 10. 당시 퀄컴 스냅드래곤 820을 탑재한 제품에서 윈도 10을 실행했다.

무엇보다 ARM과 x86이라는 두 생태계의 호환 방법을 찾는 것은 매우 중요한 쟁점이다. 때문에 마이크로소프트는 ARM용 윈도 10이 단순히 외형의 차이를 느끼지 못하는 수준에서 접근하는 게 아니라, 실행 환경의 차이를 없애는 작업을 해왔다. 2016년 12월, ARM용 윈도 10이 처음 세상에 모습을 드러내고 2017년 실제 노트북형 제품이 출시됐을 때 겉보기엔 윈도 10과 쉽게 구분하기 힘들었다. 데스크톱 중심의 윈도 10 인터페이스를 그대로 유지하고 있던 데다 기본 프로그램도 거의 유사했기 때문이다.

무엇보다 의미 있던 변화는 64비트 ARM 환경에서 작동하면서도 기존 x86 생태계의 지원을 시작한 것이다. 윈도 RT에서 배제됐던 x86 에뮬레이션이 포함된 것이다. 비록 32비트 데스크톱 프로그램에 대해 제한적으로 실행하는 탓에 실행 가능한 프로그램이 부족하고 충분한 램을 확보하는 건 어렵긴 했어도, 별도의 에뮬레이터를 쓸 필요 없이 윈도 운영체제에서 다른 프로세서의 아키텍처를 직접 에뮬레이션한 것은 큰 의미가 있었다.

마이크로소프트는 별도의 실행기를 거치지 않고 데스크톱 모드에서 x86_64 프로그램을 곧바로 설치하고 실행함으로써 두 코드 생태계의 구분을 지우는 방향으로 가고 있다.

특히 ARM용 윈도 10의 x86 실행은 애플 M1에서 작동하는 맥OS의 방식과 조금 다르다. 애플은 로제타라는 코드 번역기를 통해 기존 x86 프로그램을 M1 아키텍처에서 실행할 수 있는 형태로 변환해 설치하는 반면, ARM용 윈도 10은 코드 번역기를 따로 돌리지 않는다. 즉, 기존 인텔 또는 AMD 시스템에서 작동하는 프로그램 그대로 ARM 윈도 10에서 아무런 변환 없이 설치한다. 애플 실리콘이 정착할 때까지 로제타를 한시적으로 제공하는 애플과 다르게 어느 시스템이든 그 실행 환경을 동일하게 유지하는 마이크로소프트는 관점의 차이가 존재한다.

그런데 마이크로소프트의 x86 에뮬레이션은 인텔에 대한 도전이나 다름 없는 결정이었다는 사실은 대부분이 무시하는 부분이다. 마이크로소프트가 퀄컴과 2016년 WoA 이니셔티브를 진행한다고 컴퓨텍스에서 발표하자, 인텔은 x86 에뮬레이션에 대한 강력한 도전으로 규정하고 이에 대해 적극 대응할 것이라는 입장을 인텔 뉴스룸을 통해 내놓았다. 인텔이 보유한 x86_64 코드에 기반한 지적를 침범할 경우 법적 소송에 들어갈 것이라는 일종의 경고였다.

때문에 마이크로소프트가 인텔의 지적재산을 침범하지 않는 범위에서 오픈 소스가 아닌 ARM용 윈도 10의 x86 에뮬레이션을 해야 하는 어려움이 있었을 것이라는 점은 어느 정도 추정할 수 있는 부분이다. 물론 모든 x86_64 코드가 인텔의 지적 재산이라 할 수 없으나 적어도 인텔이 코어 프로세서 이후 고유 명령으로 추가하기 시작한 마이크로 아키텍처 중 일부는 지적 재산 침해의 위험을 안고 있던 터라 이를 피해 호환성을 확보해야만 했고, 그 성과는 어느 정도 도달한 상황이 됐다. 그 후 마이크로소프트는 인텔 및 AMD 프로세서에서 작동하던 64비트 데스크톱 프로그램의 실행 기능을 갖춘 ARM 윈도 10을 인사이더 프로그램에 배포하고 또 테스트에 들어갔다. 이에 대한 안정까지 시간이 얼마나 더 걸릴 지 알 수 없지만, 두 세계를 가르는 장벽을 없애는 점점 완성 단계로 가고 있는 것은 확실히 알 수 있다.

이러한 노력이 계속 이어지고 있으나 ARM용 윈도 10은 시작부터 기대를 채운 적이 거의 없다. 심지어 마이크로소프트가 직접 내놓은 서피스 프로X 조차도 성능이 기대에 미치지 못한다는 평가를 받는다. 이는 ARM용 윈도10에 알맞은 처리 환경이 아직 아니라는 의미기도 하다.

지난 12월 공개된 퀄컴 스냅드래곤 888과 2년 전 공개된 스냅드래곤 855의 성능 차이. 이를 기반으로 PC용 플랫폼의 성능도 유추할 수 있지만, 이 정도의 향상만으로는 기대를 채울진 미지수다.(출처 : Nanoreview.net)

사실 ARM용 윈도 10을 실행하는 플랫폼은 모바일 기반의 프로세서들이다. ARM 윈도 10이 처음 출시됐을 땐 퀄컴 스냅드래곤 820에서 실행됐고, 상용화는 퀄컴 스냅드래곤 835부터 이뤄졌다. 그 뒤 퀄컴이 PC형 제품군을 위해서 스냅드래곤 850을 공개한 뒤 성능을 크게 개선한 퀄컴 스냅드래곤 8cx를 내놓긴 했으나, 8cx가 2년 전 플랫폼인 스냅드래곤 855와 거의 유사하다. 현 시점에서 2세대 전의 플랫폼으로 ARM용 윈도 10을 돌려야 하는 상황이지만, ARM용 윈도 10 생태계의 한 축인 퀄컴은 새로운 ARM 프로세서를 아직 발표하지 않고 있다.

하지만 이제 마이크로소프트와 퀄컴은 ARM용 윈도 10에 맞는 ARM 프로세서를 내놓아야 하는 공감대를 어느 정도 공유할 것으로 예상되는 부분이다. 기존 모바일 기반의 프로세서에서 변형된 것이 아니라 확실히 다른 메모리 구조의 애플 M1은 자극제로 삼기에 충분할 것이고, 진화된 처리 환경에 대한 요구가 이용자나 개발자들에게 나오기 시작해서다. 또한 기존 PC에서 실행했던 64비트 프로그램을 지원하기 시작한 ARM용 윈도 10을 테스트하는 데 알맞은 처리 환경을 내놓아야 할 때가 된 것도 무시하긴 어렵다.

8cx 발표 이후 18개월이 훨씬 지난 지금은 어느 정도일지 알 수 없는 상황이다.

아마도 이런 고민은 퀄컴이 아직 발표하지 않은 다음 PC용 스냅드래곤 프로세서가 공개될 때 어느 정도 해결이 될 듯하다. 12월 초 열린 스냅드래곤 서밋에서 퀄컴이 PC용 스냅드래곤 프로세서를 공개하지 않은 배경에 대해 많은 이들이 궁금해 하고 있지만, 퀄컴은 이에 대해 답하진 않고 있다. 다만 애플 M1을 통해 퀄컴과 마이크로소프트가 지난 몇 년 동안 해왔던 일의 유효성을 검증하는 데 성공했다고 핫하드웨어에 답한 바가 있는데, 결과적으로 퀄컴 역시 이에 대응하는 PC용 프로세서의 필요성을 인식하지 않을 수 없는 상황인 것은 분명해 보인다.

그렇기에 퀄컴의 차기 프로세서가 언제 어느 정도의 성능을 갖고 나오느냐는 건 ARM 윈도 진영에 중요한 소식이 될 것이다. 마이크로소프트가 자체 ARM 프로세서를 설계한다는 소식이 나왔지만, ARM 생태계 확장에 필요한 파트너십을 유지하는 차원에서 퀄컴을 포함한 프로세서 제조사들과 공동의 노력을 지속할 것이므로 2021년은 그 어느 때보다 ARM 윈도 10 생태계를 구축하는 데 있어 매우 중요한 한 해로 기억되리라 예상한다.

덧붙임 #

  1. 스킨 오류로 이 곳에 공개된 모든 글의 작성일이 동일하게 표시되고 있습니다. 이 글은 2020년 12월 31일에 공개되었습니다.
PHIL CHiTSOL CHOI Written by:

One Comment

  1. tAspAg
    2021년 8월 10일
    Reply

    좋은 글 잘 읽고 지나갑니다.~ 내용 업데이트 감사합니다.~ ^^:;

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다