Windows 10 on ARM
1. 개요
ARM 기반 프로세서에서 구동되는 Windows 10 운영체제.
2. 역사
ARM SoC는 스마트폰, 태블릿 컴퓨터, 게임기 등 휴대용 기기에 널리 사용되는 AP/CPU이다. 그 이유는 (Windows 10 on ARM가 출시된 2018년 기준) ARM의 절대 성능은 인텔, AMD의 x86(x64) CPU에 비해 떨어지지만, 전력 대비 성능이 훨씬 좋을뿐만 아니라 절대적인 전력 소모와 발열이 적다는 장점이 있기 때문이다. 이 장점은 장시간의 배터리 사용과 가벼운 제품 제작이 쉬워진다는 장점으로 이어진다. 노트북 컴퓨터도 이러한 장점을 취하면 좋겠지만, 현실적인 어려움이 있었다.
마이크로소프트는 ARM 기기에 Windows를 이식하려고 노력해 왔다. 그러나, Windows 자체가 무겁고 고사양을 요구하기 때문에 데스크탑용 일반 제품이 아닌 Windows Phone(2010), Windows RT(2012) 같은 별개의 운영체제로 타협을 했었다. 그 결과 일반 Win32 응용프로그램들이 실행되지 않았고, 사람들은 이를 써야 할 이유를 찾지 못하고 외면했다. 이후 마이크로소프트는 인텔 아톰 시리즈 (베이트레일, 2013)를 통해 저전력 초경량 윈도우 디바이스를 보급하려 노력했지만, 떨어지는 전성비, 절대성능, 사용성으로 인해 역시 외면받았다. [1]
같은 시기 ARM은 스마트폰에 널리 쓰였으니 제품 판매 주기(매년)마다 성능 향상을 위한 대기업들의 치열한 경쟁과 엄청난 투자가 이어졌다. 그리고 곧 최고급 ARM 성능은 x86(64)의 엔트리급 모델과도 견줄 정도가 되었고[2] , 미세공정 수준에서는 인텔 14 nm, ARM 10 nm로 오히려 앞서나가는 상황이 일어나게 된다(2016).[3] 그리고 2017년 인텔의 x86 명령어 특허가 만료되었다.
2017년 12월, 마이크로소프트는 ARM 아키텍쳐를 위한 윈도우를 발표하였다#. ARM SoC의 대표주자인 퀄컴과 협력하며, 기존 데스크탑/노트북용 Windows 10과 외관상 별반 다를 바 없는 Windows를 (과거보다 성능이 훨씬 좋아진 현재의) ARM 위에서 구동되도록 만들고, 기존 응용프로그램들을 (ARM의 높아진 성능을 믿고) 에뮬레이터를 통해 실행하도록 만들었다. 일단 특허가 만료된 x86을 에뮬레이팅 했으며, 이에 따라 기존의 수많은 응용프로그램들이 이 환경에서 실행될 수 있게 되었고, Windows RT가 망했던 가장 큰 이유 하나를 제거하는데 성공한다. 이로서 Windows 10 on ARM은 성공한다 라고 단정짓기에는 아직 이른 감이 있으며 여전히 많은 우려를 안고 있다. 과거 인텔 아이태니엄 시리즈의 사례만 봐도 단절적 이행과 에뮬레이터 땜빵은 쉽지 않은 길이라는 것을 알 수 있다.[4]
2018년 2월, 퀄컵 스냅드래곤 835 기반의 첫 Windows 10 on ARM 제품 HP ENVY X2가 출시되었다. 이후 2019년까지 스냅드래곤 850, 8CX, SQ1 기반의 노트북 또는 2in1 제품들이(라고 하지만 갤럭시 북 S와 Surface Pro X 정도가) 출시되었다. 스마트폰 AP 또는 이를 살짝 개조한 AP를 사용하였기 때문에 저전력 관점에서는 뛰어났지만 성능면에서는 기대 이하라는 평가를 받았다. 반응은 "포토샵이 실행은 된다." 정도. 리뷰어들의 중론은 "좋은데, 아직 사지 마세요." 정도이다.
2020년 3월, Magic Keyboard(iPad)가 공개되었다. 아이패드에서 타치패드(마우스)를 지원하기 시작했다는 것은 "모바일OS+ARM"과 "윈도우+x86(x64)"과의 경계가 무너지기 시작했다는 것이며, ARM 태블릿이 랩탑/데스크탑 역할을 시작할 정도로 ARM의 성능이 올라왔다는 것을 의미한다. 물론 이는 애플만의 기회는 아니며, 다른 진영 예를 들면 안드로이드 진영에서도 이 기회를 노리며[5] , 2017년 삼성 DeX, 2019년 데스크톱모드, 2020년 본격 가로 디자인의 태블릿으로 꾸준히 진화해왔다. [6]
2020년 5월, ARM에서 노트북용으로 Cortex-X1#s-2.1을 선보였다. 전기를 더 먹더라도 성능을 더 끌어올리는 방향으로 나아가기 시작했다. #
2020년 6월, Apple이 WWDC 발표에서 Mac의 ARM64로 이전을 천명하였다. 이유는 Mac(컴퓨터)#s-3.4 문서에서 자세히 서술하고 있다. 애플은 과거 PowerPC에서 인텔 플랫폼으로 무사히 이전한 전적이 있었기 때문에, 애플이라면 성공할 것이라는 의견이 다수를 차지하였다. 이에 따라 경쟁으로 인한 ARM PC의 시장 수요가 증가할 것으로 예상되며, 수년 내 Windows 10 on ARM도 자리잡을 것으로 기대되었다. 한편 이 시점에서 인텔은 2018년 발표했던 레이크필드를 탑재한 "갤럭시 북 S Intel"을 이제서야 출시하여 저전력 노트북 시장에서 ARM과 경쟁할 (Windows 10 on ARM을 저지할) 준비를 하였다. 다만, 스케일상 아직은 경쟁이라고 하기엔 찻잔 속의 태풍 수준이고 x86은 여전히 시장의 메인스트림을 유지하고 있다.
2020년 9월, MS에서 64비트 에뮬레이팅을 지원할 계획을 발표하였다. # AMD의 특허로 인해 2022년까지는 x64 에뮬레이팅이 불가능할 것으로 예상된 부분이었으나 이 문제가 해결된 것으로 보이며, 이에 따라 Windows 10 on ARM은 반쪽짜리 윈도우라는 오명이 다소 수그러들 것으로 기대된다. MS는 천천히 차근차근 점진적으로 다음 단계를 향해 나아가고 있다는 것을 보여주었다.
2020년 11월, Apple 이벤트#s-2.16.4에서 M1 ARM 프로세서를 선보였다. 저전력 저발열 팬리스 제품 출시는 예측범위 내라 하더라도, 예상 외의 고성능 퍼포먼스를 선보여 많은 사람들을 충격과 공포에 빠뜨렸다. 아울러 많은 서드파티들도 M1 신제품 발표 직후 ARM 맥을 네이티브로 지원할 계획을 발표함으로써 ARM 생태계에 급발진을 걸어버렸다. 사람들 분위기는 "ARM 이주할 만하다."를 넘어 '''"인텔은 끝났다."''' 수준이다.[7] 애플 M1 성능이 너무 뛰어나서 사람들은 거기에 윈도우를 깔 수 없는지를 생각해 보게 되었고, 애플측에서는 MS 하기에 달렸다고 언급하였다. # 한편, 몇몇 개발자들은 QEMU(가상화)를 통해 '''Windows 10 on Apple(...)'''을 시도하였다. # 그런데 무려 서피스 프로 X보다 성능이 더 잘 나왔다고 한다. # 며칠 뒤 M1용 Parallels Desktop(프리뷰)이 출시되자마자 긱벤치 결과가 나왔고 퀄컴 8CX의 두배 성능을 보여주었다. #
2020년 12월, MS는 Windows Insider Program에서 64비트 에뮬레이팅을 지원하는 개발자 버전의 윈도우를 배포하였다. #
3. 성능
Windows 10 on ARM이 탑재된 제품은 팬리스 제품이면서도 기존 Windows 제품과 달리 발열이 없다시피 하고, 제품 사용 시간을 신경을 쓰지 않아도 될 정도로 길어진 배터리 시간이 눈에 띄게 체감된다고 한다. 문서 작업이나 이메일, 웹서핑, 자료조사, 멀티미디어 감상 면에서 만족도가 높다고 한다. 이런 작업은 높은 성능을 요하는 일이 아니라서, 에뮬레이팅을 해도 큰 문제 없이 프로그램이 실행된다.[8]
일반적 리뷰나 정성적 평가 말고, 실제 벤치마킹 성능을 알고 싶었던 한 프로그래머는 답내친삼아 직접 기기를 사고 게임을 ARM64로 포팅하였다. (2019-12-07) 전문가적인 리뷰와, AP를 100%로 빡세게 굴리는 환경이 인상깊다. 결론은 "쓸 만한데 역사와 전통의 x86/64를 따라잡기엔 멀었다." 흥미로운 점은 ARM이 인텔보다 램을 1.5배 더 요한다는 점이다. (단일케이스란 점은 감안하고 보자.)
갤럭시 북 S는 ARM 버전과 인텔 버전이 존재한다. 두 제품을 비교하면 의외로 ARM 버전인 퀄컴 제품이 인텔 제품보다 쾌적하다고 하며, 발열도 훨씬 적다고 한다. (2020-07-09) x86보다 ARM이 뛰어나다기보다는 팬리스 저전력 카테고리에서 인텔이 영 힘을 못쓰고 있다고 보는 쪽이 적절하다.
Apple M1칩은 왜 그렇게 빠를까(2020-11-28) (번역일부)란 글에서 ARM이 단지 스마트폰용 성능을 넘어 기존 PC의 CPU 성능을 뛰어넘을 수 있는 잠재력에 대해 언급하였다. 짧게 요약하자면 고클럭과 미세공정으로 성능을 높이는데 한계가 도달했고, 병렬실행으로 성능을 높일 수밖에 없는데 ARM의 RISC 구조와 사업모델(지적재산권 판매)이 여기에 유리하다고 한다. 멀티미디어 작업은 병렬처리 능력에 따라 파포먼스가 갈리는 영역인데, 동영상 인코딩(2020-12-01) MIDI(2020-11-24) 처리 등에서 Apple ARM 기기의 장점이 부각되었다. Apple ARM의 뛰어난 성능은 Windows 10 on ARM의 성능을 더 끌어올릴 수 있으며, 2020-11-28 기준 현 시점에서 가상화로 성능이 반타작이 난 상황에서도 MS와 퀄컴의 서피스 프로 X의 성능을 뛰어넘어 버렸다(...)
4. 문제점
Windows 10 on ARM이 탑재된 제품의 가격이 창렬하다. 가성비가 떨어지고, 용도에 비해 가격이 높다. 이유는 Windows 10 on ARM을 구동하기 위해 플래그십 AP를 달았기 때문에 본 제품 자체 가격이 비싼데, 할 수 있는 일은 별로 없고 아래와 같은 제약이 많기 때문이다.
운영체제 자체는 ARM을 네이티브로 지원하기 때문에 운영체제 자체로 인한 문제는 없다. ARM64 빌드로 제작된 앱 역시 별 문제 없이 잘 돌아간다. 문제는 ARM64로 빌드된 앱이 없다(...). 이 앱이 늘어나려면 Windows 10 on ARM이 대세가 될 것이라는 확신을 심어주어야 하는 문제, 그리고 이러한 앱이 제작될 시간이 필요하다는 문제가 있다. (2018년 Windows 10 on ARM 출시시점, 갤럭시 북2 출시 즈음 기준) 그래도 이 문제는 조금씩 해결이 되고 있다. (네이티브 앱 목록 참고)
대부분의 데스크톱 응용프로그램에서 사용하는 Windows API가 에뮬레이션되어 발생하는 호환성 문제가 x86 에뮬레이션을 아예 지원하지 않았던 RT보다는 덜하지만 아직 남아 있는게 치명적인 단점으로 남아있다. 자사 스토어임에도 불구하고 Microsoft Store 안에 있는 앱 전부가 잘 돌아간다는 보장도 없다. 커널(운영 체제), 디바이스 드라이버 수준의 동작이 들어갈수록 오류가 날 가능성이 높아진다.[9] 프린터 등 주변기기 연결 중에 예기치 못한 문제를 마주할 수 있으며, 동영상 감상시 하드웨어 가속을 하려다 크래시가 날 수도 있다.[10] ActiveX 같은 것은 아예 안 된다고 보는 것이 맞다. 가령 인터넷 뱅킹, 쇼핑, 국가 행정 민원처리, 회사 내부 그룹웨어 실행, 사설 보안프로그램 실행 등등이 불가능 할 것이다. 빠른 컴퓨팅 속도를 요하는 3D 게임도 드라이버 수준에서 오류를 낼 가능성이 높다. 오류 없이 프로그램이 잘 돌아간다 하더라도 ARM64 앱 대비 성능 저하와 어느정도의 전력소모 상승은 피할 수 없다.
32비트 앱만 에뮬레이션이 지원되며, 64비트 앱의 에뮬레이션은 2021년 하반기 품질 업데이트를 통해 지원 할 예정이다.[11] 그래서 2020년 현재 64비트를 지원하지 않는 프로그램[12] 실행되지 않을 가능성이 높다. 그나마 다행인 것은 몇 년 전만해도 사람들이 주로 썼던 프로그램들은 절대 다수가 Windows 7에 32비트 x86 프로그램이었다는 점이다. 고성능이 절대적으로 필요한 소수의 응용프로그램들이 기존 x86빌드에서 x64빌드로 조금 더 일찍 넘어갔을 뿐이다. 그리고 그러한 프로그램들은 애초에 아톰에서도 돌아가지 않았다(...).
가장 큰 문제는 무엇이 되고 무엇이 안되는지 아는 사람이 거의 없다는 점이다. 에뮬레이팅을 하더라도 쾌적하게 돌아가는 앱이 있기도 하고, 버벅이는 앱이 있기도 하는데, 이에 대한 정보가 없다. 거의 유료 베타테스트 수준이다. 다만 이것도 쓰는 사람이 없어서 그런것이라 대중화 되면 해결될 가능성 있지만, 대중화 걸림돌이라 악순환도 있다.
5. ARM64 네이티브 앱 목록
5.1. 웹 브라우저
- 엣지 레거시 (2020 단종, 윈도우 10 20H1배포 이전까지)
- 크로뮴 브라우저 (크로뮴 73 이후 버전)
- 마이크로소프트 엣지 (2020.2.8 버전 80.0.361.48) 소식
- Chrome (준비중)
- 웨일 브라우저 (2020.03.13 배포 v2.7.97.4(베타) 부터) 업데이트 정보
- 파이어폭스 (2019.4.11 베타, 버전 67부터) 다운로드
5.2. 멀티미디어(영상, 사진, 음악)
5.3. 기타 프로그램
- 반디집 (2018.10.18 버전 6.18) 도움말
- 비주얼 스튜디오 코드 (2020.7.10 버전 1.47) 릴리즈 노트
- Rufus
- Windows Terminal
- Microsoft Office 365
- 은행 등기소 등 보안프로그램 일부 #
- 그 외 Surface X 유저들이 정리한 호환성 문서 #
6. WoA 탑재 기기 목록
- HP ENVY X2 (2018.2) - 퀄컵 스냅드래곤 835
- ASUS NovaGo (2018.10) - 퀄컵 스냅드래곤 835
- 갤럭시 북2 (2018.10) - 퀄컵 스냅드래곤 850
- 갤럭시 북 S (2019.8) - 퀄컴 스냅드래곤 8cx
- 서피스 프로 X (2019.10) - Microsoft SQ1
- 서피스 프로 X(2020) (2020.10) - Microsoft SQ2
- [13]
※ 대다수 기기의 드라이버는 윈도우 업데이트로 깔아야 한다.
7. 관련 문서
[1] 당시 아무도 믿지 않았지만, 2017년에 와서야 깨닫게 된 사실인데, 2013년 당시 인텔 CEO로 취임한 브라이언 크르자니크가 인텔의 R&D 조직을 무너뜨리게 된다.(...)[2] 그 중 특히 Apple Silicon#s-4.1.7은 A10(2016년)부터 다른 ARM(스냅드래곤, 엑시노스)의 성능도 앞서나가기 시작했다.[3] 참고로 2018년 파운드리업계는 EUV를 도입하여 인텔의 추격을 뿌리칠 초격차를 벌리기 시작하였으며, 2020년 초반 ARM은 7nm 공정까지 내려왔다. 인텔의 예는 아니지만 같은 AMD64 기반인 라이젠 3세대가 이 미세공정을 따라잡아 x86(64)의 건재함을 알리긴 했는데, 르누아르로 대박을 치자마자 Apple Silicon이 5nm를 달성하여 초를 쳤다(...) 이때 인텔은 10nm에서 고생하고 있다.[4] 이것이 바로 인텔칩 안에 경쟁사의 AMD64가 들어앉게 된 만악의 근원이다.[5] 다만 이것이 윈도우를 위협할 수 있을지 확신을 주지 못했을 뿐.[6] 애플은 일관되게 PC는 트럭(2010), PC 시대는 끝났(2015), 컴퓨터가 뭔데요(2017), 다음 컴퓨터가 될 수 있는 5가지 이유(2019)를 주장해왔다. 대다수 사람들이 이미 PC 사용에 익숙해져 있기 때문에 변화는 쉽게 이루어지지 않을 것이라면서도(2010).[7] MS는 ARM을 하나의 옵션 정도로 생각했다면, 애플은 2년 내 ARM으로의 이주를 선언했다는 차이가 있다.[8] 버그나 크래시가 발생할 여지는 있는데 껐다 켜면 해결될 수준이다. 뭐, 수 GB의 엑셀 문서를 다룬다던가, 포토삽 작업하다 저장 못하고 날리는 일이 생기면 꽤 치명적이겠지만(...)[9] 대부분의 드라이버는 '''엄연히 커널 함수만 사용하는 것이 아니라 어셈블리어 코드도 사용하고 있다.''' 당연히 어셈블리어는 CPU마다 다른 명령어에 맞게 작성해야 한다. 그래서 여러 CPU를 지원하는 드라이버는 각 CPU용이 있다. 어셈블리어를 사용하는 이유는 커널에서 지원하지 않는 기능을 사용하거나 장치를 세밀하게 제어하거나 최적화를 위해서다.[10] 이 버그가 있는 경우 다른 앱을 쓰거나, 하드웨어 가속을 끄면 된다. 사실 영상 감상 목적이라면 "영화"앱이나 "엣지" 브라우저 등 윈도우의 기본 앱을 써도 된다.[11] 현재는 Windows 참가자 프로그램 개발자 채널에서 21277 빌드를 받으면 사용할 수 있다. 다만 매우 불안정하니 사용의 주의할 것. 특히 은행 보안 관련 프로그램 간 충돌이 심각하다.[12] 주로 최신 프로그램이나, 성능이 많이 필요한 영상 제작 프로그램 및 고성능 3D 게임 등이 해당.[13] 비공식[14] ARM 네이티브로 구동되는 앱 목록