ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • WWDC 2020 이야기 - Apple Silicon에 대해서
    IT topics 2020. 7. 28. 18:11
    반응형

    애플의 개발자회의인 WWDC 2020이 끝난지도 벌써 한달이 넘어가게 된 상황이다. 이전 포스팅을 통해 WWDC 2020에서 발표된 iOS 14, iPadOS 14, watchOS 7, 그리고 macOS Big Sur에 대해서 가볍게(?) 정리를 해봤다.

     

    그런데 아직까지 못다한 이야기가 있어서 이제 WWDC 2020의 그 마지막 이야기를 해보려고 한다. 어떤 의미에서 WWDC 2020의 하이라이트라고 할 수 있는 애플 실리콘 이야기다.

     

    참고로 글을 쓰다보니 엄청 길어졌다. 스크롤 압박이 있으니 양해 부탁 바란다.

     

    애플 실리콘

    WWDC 2020 키노트 영상의 마지막을 장식했던 것이 바로 애플 실리콘 이야기다. 애플은 애플 실리콘을 설명하면서 애플의 또 하나의 전환점이자 큰 변혁이라고 얘기를 했다. 일단 WWDC 2020 키노트를 통해 애플 실리콘에 대해서 애플이 얘기한 내용을 먼저 가볍게 정리해보도록 하자.

    PC 산업을 이끈 3가지 큰 변화

    애플의 CEO인 팀 쿡은 애플은 PC 산업을 선도해왔으며 지금까지 3번의 큰 변화, 혹은 변혁이 있었다고 얘기를 한다. 물론 맥, 즉 매킨토시를 중심으로 하는 PC 계열에 대한 변화를 의미한다.

     

    맥에서의 3가지 큰 변화

    68K에서 PowerPC로

    첫 번째 변화는 다름아닌 CPU의 변화다. 1980년대부터 시작한 매킨토시 시리즈는 모토롤라의 68K 계열 CPU를 탑재해왔다. 그런데 1990년대에 넘어와서 애플은 매킨토시 시리즈의 CPU를 68K 시리즈에서 PowerPC 시리즈로 바꾼다.

     

    이것이 첫 번째 변화다. 참고로 PowerPC는 모토롤라, 애플, IBM이 함께 만든 POWER 기반의 CPU 및 CPU 아키텍처다.

     

    CPU의 아키텍처가 변경되었다는 것은 기반 자체가 바뀐다는 의미다. 인텔 CPU를 쓰다가 AMD CPU를 쓰는 그런 얘기가 아니다. Windows를 쓰다가 Linux를 쓰는 것과 비슷한, 어떤 의미에서는 새로운, 또 다른 종류의 PC를 생산해낸다는 의미와 같다고 보면 된다.

     

    그런 의미에서 첫 번째 큰 변화라고 언급을 하고 있다.

    Mac OS X의 도입

    두 번째 변화는 OS의 변화다. OS가 Mac OS X로 변경이 된 것이다. 1999년에 처음 공개가 된 Mac OS X는 스티브 잡스가 애플로 다시 돌아와서 그 전에 스티브 잡스가 만들었던 NeXTSTEP을 기반으로 다시 재설개한 OS다. 물론 시장에 공개된 첫 번째 Mac OS X 10.0 치타는 2001년에 공개가 되었다.

     

    앞서 CPU 아키텍처의 변화에 대해서 언급하면서 OS가 변경되는 것과 같다고 얘기했는데 두 번째 변화는 그냥 OS가 변경되었다는 얘기다.

     

    OS의 기반이 되는 커널이 다윈으로 바뀌었고 앞서 언급했던 것처럼 사용자 인터페이스 등이 NeXTSTEP을 기반으로 재설계가 되었기 때문에 이전 Mac OS와 비교하면 아예 다른 OS라고 봐도 무방하다.

     

    OS의 기반이 바뀌었기 때문에 두 번째 큰 변화라고 언급을 하고 있다.

    PowerPC에서 x86으로

    세 번째 변화는 첫 번째 변화와 비슷하다. CPU가 또 바뀌었다. 2000년대 중반부터 애플은 맥 계열 PC의 CPU를 PowerPC 계열에서 인텔의 x86 계열로 변경하게 된다.

     

    그리고 어떤 의미에서 애플의 맥 대중화를 이끈 가장 큰 변화의 시점이 바로 인텔 CPU의 채택이라는 얘기도 나오고 있다(부트캠프 등을 통해 맥북 등에서 MS Windows OS를 사용할 수 있게 되었기 때문이다).

     

    이렇게 3가지의 큰 변화를 언급하면서 이제 또 다른 큰 변화를 시도하려고 한다는 얘기를 한다. 그러면서 소개한 것이 다름아닌 애플 실리콘이다. 첫 번째와 세 번째 변화와 비슷한 CPU의 변경이다.

     

    그런데 첫 번째와 세 번째는 외부의 다른 기업에서 제작한 CPU를 가져와서 썼다고 한다면 애플 실리콘은 애플이 직접 CPU를 제작해서 맥 계열 PC에 넣겠다는 얘기다. 즉, 이제는 자체 CPU를 채택하겠다는 얘기다.

    고성능이지만 저전력, 저발열 CPU를 원하는 애플 

    일반적으로 CPU는 서버용 CPU, 데스크탑 PC용 CPU, 노트북이나 태블릿PC용 CPU의 3가지로 나눌 수 있다. 물론 서버용 CPU와 데스크탑용 CPU를 하나로 묶어 데스크탑 CPU라고 얘기하고 노트북이나 태블릿PC용 CPU를 하나로 묶어서 모바일용 CPU로 얘기하기도 한다.

     

    애플 실리콘의 위치

    보통 데스크탑 CPU는 고성능이지만 전력을 많이 소비하고 발열이 많다는 단점이 있다.

     

    모바일용 CPU의 경우 배터리로 동작이 되는 노트북이나 태블릿PC에 많이 탑재되기 때문에 저전력에 발열이 적지만 그만큼 성능이 상대적으로 떨어진다는 문제점이 존재한다.

     

    애플의 경우 어떻게하면 고성능이지만 저전력에 발열이 적은 CPU를 만들 수 있을까를 오랫동안 고민해왔다고 한다.

     

    일단 애플 실리콘은 애플이 주장하기로 앞서 언급한 고성능이지만 저전력이 저발열의 특징을 갖는 CPU라고 얘기를 한다.

     

    그런 CPU를 만들기 위해 10여년동안 애플은 지속적으로 자체 CPU에 대해서 고민을 해왔고 설계 및 생산을 했으며 필드에서 충분한 테스트를 거쳤다고 얘기를 한다.

    애플의 자체 CPU인 A 시리즈의 성장

    뭐 이 정도만 얘기해도 애플이 얘기하고자 하는 CPU가 무엇인지 알 수 있을 듯 싶다. 다름아닌 애플의 아이폰, 아이패드 등에 들어가는 ARM 기반의 자체 CPU인 A 시리즈 CPU를 의미하는 것이다.

     

    참고로 애플의 A 시리즈 칩셋은 SoC(System on Chip)로 CPU, GPU 뿐만이 아니라 RAM 등이 포함되어 있다. 다만 통신 모듈은 포함되어 있지 않다.

     

    일단 아이폰 시리즈에 들어가는 A 시리즈의 시작은 2010년부터이다. A4 칩셋을 2010년에 개발해서 아이폰 4에 처음 적용했다. 그 전에 애플은 아이폰 3Gs까지 삼성에서 만든 모바일 AP를 사용해왔다.

     

    현재 아이폰 11 시리즈에 탑재된 A13 바이오닉 칩셋까지 10년간 매년 A 시리즈 칩셋을 업그레이드하면서 성능 향상 및 안정화를 진행해왔다.

     

    애플의 A 시리즈 칩셋들

    아이폰 뿐만이 아니다. 애플은 태블릿PC인 아이패드에도 A 시리즈 칩셋을 탑재했는데 스마트폰인 아이폰과 달리 화면이 큰 아이패드에 레티나 디스플레이가 적용되면서 아이폰보다 더 고성능을 요구받게 되자 아이패드 전용으로 A 시리즈 칩셋을 만들어 아이패드 시리즈에 탑재시킨다.

     

    A5X 칩셋부터 시작하여 이번에 나온 아이패드 프로 4세대에 들어간 A12Z 바이오닉 칩셋까지 스마트폰 뿐만이 아니라 태블릿PC에서도 고성능에 저전력, 저발열을 지원하는 CPU를 지속적으로 업그레이드하면서 마찬가지로 성능 향상 및 안정화를 진행해 온 것이다.

     

    여기에 애플은 또 하나의 CPU군을 만든다. 다름아닌 애플 워치 시리즈에 들어가는 CPU 역시 자체적으로 만든 것이다.

     

    다만 아이폰과 아이패드에 들어가는 A 시리즈와 달리 작은 애플 워치에 탑재하기 위해 CPU 및 GPU 뿐만이 아니라 RAM, 무선 충전 솔루션, NAND 플래시, 통신 모듈 등이 모두 하나의 패키지로 들어간 SiP(System in Package)으로 S 시리즈 칩셋을 만들어 애플 워치 5까지 탑재한다.

     

    모든 모바일 디바이스에 자체 칩을 사용중인 애플

    이렇듯 애플은 10년 넘게 아이폰과 아이패드, 그리고 애플 워치 뿐만이 아니라 애플 TV 등 애플의 다양한 모바일 디바이스에 A 시리즈 칩셋 및 S 시리즈 칩셋을 탑재해서 시장에서 인정받아왔다.

     

    그리고 다른 제조사에서 만든 동급 SoC(예를 들어 퀄컴의 스냅드레곤이나 삼성의 엑시노스, 화웨이의 기린 등)에 비해 상대적으로 2~3세대는 앞선 성능을 보여주고 있다고 평가를 받고 있다.

     

    그래픽 성능이 초창기에 비해 1000배나 향상되었음

    또한 앞서 언급한 A 시리즈 및 S 시리즈가 탑재된 모바일 디바이스가 그동안에 200억대가 넘게 출하되었다고 한다. 그만큼 시장에서 충분히 인정을 받고 있는 칩 제조사가 다름아닌 애플이라는 얘기다.

     

    200억개의 SoC들이 시장에 풀렸음

    그리고 아이패드용 AP(모바일 CPU로 어플리케이션 프로세서의 약자인 AP라고 많이 언급한다)의 초창기 모델인 A5X 칩셋에 비해 최근에 아이패드 프로 4세대에 탑재된 A12Z 바이오닉 칩셋은 그래픽 성능이 무려 1000배나 올라갔다고 한다.

     

    아이패드 프로 시리즈의 성능이 다른 데스크탑 PC보다 빠른 이유 중에 하나이기도 하다고 한다.

    ARM 기반의 맥용 CPU 탑재 프로젝트, 애플 실리콘

    애플은 아이폰과 아이패드 시리즈를 통해서 시장에서 쌓은 축적된 경험 및 기술력을 이제는 애플의 PC 계열인 맥 시리즈에 적용을 하려고 하고 있다.

     

    즉, 애플이 원하는 고성능이지만 저전력, 저발열을 지원하는 CPU를 A 시리즈 칩셋을 만들었던 경험 및 기술력을 이용해서 만들겠다는 것이다.

     

    애플 실리콘의 특징

    애플이 얘기하는 애플 실리콘은 아이폰, 아이패드, 그리고 애플 워치 등에서 사용하고 있는 A 시리즈 및 S 시리즈 칩셋에서 채택해서 쓰고 있는 ARM 아키텍처를 맥의 CPU에 적용하는 프로젝트다. 그것이 A 시리즈의 후속이 될지, 아니면 별도의 새로운 브랜드로 CPU를 만들지는 모르지만 아마도 A 시리즈를 맥에 적용시키는 프로젝트라고 보는 것이 거의 맞는 듯 싶다.

     

    왜 A 시리즈 칩셋의 후속이 될 가능성이 높은가 얘기를 하냐면 애플이 애플 실리콘을 위해 개발자 변환 킷(Developer Transition Kit, DTK)을 제공하는데 여기에 들어가는 CPU가 아이패드 프로 4세대에 들어간 A12Z 바이오닉 칩셋이기 때문이다.

     

    결국 애플은 아이폰, 아이패드에 이어 맥까지 A 시리즈 칩셋을 채택하게 해서 모든 애플 디바이스에 동일한 컴퓨팅 경험을 제공하려는 의도가 있지 않는가 하는 생각이 든다.

    기존 인텔 기반 맥의 경험을 이어나가게 하기 위한 방안

    애플 입장에서는 CPU의 아키텍처가 변경되는 상황이다. 앞서 3가지 변혁 중 첫 번째와 세 번째가 CPU 아키텍처가 바뀌는 것이었는데 이번에도 마찬가지가 된다.

     

    그런데 이미 시장에서는 인텔의 x86 기반의 맥 시리즈들이 사용되고 있으며 CPU 아키텍처가 변경되면 기존에 사용하던 어플리케이션 등의 사용에 문제가 생기게 된다.

     

    이에 애플은 기존 인텔 기반의 macOS 및 어플리케이션을 지원하기 위한 방안을 제시를 했는데 그것이 유니버셜 2와 로제타 2, 그리고 가상화 방식이다. 어떤 내용인지 살펴보도록 하자.

     

    유니버셜 2, 로제타 2, 그리고 가상화

    일단 애플은 애플 실리콘을 통해 만들어진 ARM 기반 자체 CPU(이후에는 애플 실리콘 CPU라고 하겠음)에서 동작되는 어플리케이션의 동작 방식을 네이티브 방식이라고 언급을 했다.

     

    재미난 것은 아이폰과 아이패드에서 동작되는 어플리케이션의 방식 역시 네이티브 방식이라고 얘기하고 있는 것이다.

     

    이 내용을 염두해두고 아래 내용을 살펴보면 재밌을 것 같다.

     

    OS와 CPU에 대해서 조금이라도 안다면 OS가 바뀌거나 CPU가 바뀌게 되면 어플리케이션을 실행하는 바이너리의 형식이 바뀌기 때문에 동작하지 않는다는 것을 알 것이다.

     

    즉, Windows용 어플리케이션을 Linux에서 그대로 실행할 수 없고 x86 CPU용으로 컴파일된 어플리케이션을 ARM 기반 CPU에서 동작할 수 없다.

     

    OS가 다르거나 CPU가 다른 경우에 이를 맞추기 위해 에뮬레이터를 이용하던지 가상 머신(어떤 의미에서 에뮬레이터 역시 가상 머신의 일종이라고 봐도 무방할 긋 싶다)을 이용해야 한다.

     

    아니면 해당 OS나 CPU에 맞춰서 어플리케이션을 다시 만들고 컴파일을 해서 맞는 바이너리로 만들어야 한다.

    인텔과 ARM을 동시에 만족시키는 유니버셜 2

    이제 먼저 애플이 제시한 방법은 유니버셜 2 형식의 바이너리다. 애플 실리콘 CPU에서는 기본적으로 네이티브 방식의 바이너리만 실행할 수 있다. 즉, 인텔 CPU로 만들어진 바이너리는 실행할 수 없다는 것이다.

     

    하지만 앞서 언급한 것처럼 이미 시장에는 애플 실리콘 CPU 기반 맥이 아닌 인텔 CPU 기반 맥이 훨씬 많다. 아니 아직 애플 실리콘 CPU는 나오지 않았으니 인텔 CPU 기반 맥이 전부다.

     

    애플 실리콘 CPU가 탑재되는 맥 시리즈는 올해(2020년) 말부터 나온다고 한다. 그리고 애플은 2년 안에 모든 애플의 맥 계열(맥북에어부터 시작해서 맥 프로까지 모든 맥 시리즈)의 CPU를 인텔 CPU에서 애플 실리콘 CPU로 바꾸겠다고 선언을 했다.

     

    하지만 적어도 수년동안에는 인텔 CPU와 애플 실리콘 CPU가 탑재된 맥들이 시장에서 혼재하게 될 것이다.

     

    그렇기 때문에 애플 입장에서는 네이티브 바이너리 뿐만이 아니라 인텔 CPU를 지원하는 바이너리 역시 함께 고민을 해야 한다. 그래서 나온 방식이 유니버셜 2 방식으로 인텔 CPU 방식의 바이너리와 함께 네이티브 바이너리도 함께 어플리케이션에 포함되는 방식이다.

     

    이렇게 되면 어떤 맥 시리즈에서든 CPU의 종류에 따라 맞는 형식의 바이너리가 실행되기 때문에 문제가 되지 않는다.

     

    애플은 유니버셜 2 방식을 제공하기 위해 개발 툴인 Xcode를 업데이트 했다. 새롭게 나오는 Xcode는 컴파일을 할 때 유니버셜 2 방식을 지원할 것인가를 먼저 체크한다고 한다.

     

    새로 업데이트 된 Xcode를 이용한다면 손쉽게 유니버셜 2 방식의 어플리케이션을 만들 수 있다고 한다.

     

    새로 업데이트 된 Xcode

    그리고 애플은 기존의 인텔 CPU용 소스를 별다른 수정 없이 새로 업데이트 된 Xcode에서 재컴파일을 해줌으로 유니버셜 2 방식의 어플리케이션으로 다시 만들 수 있다고 한다.

     

    보통 다른 OS용이나 CPU용으로 재컴파일을 하는 경우에는 내부 구조가 다르기 때문에 해당 OS나 CPU의 특성에 따라 수정을 좀 해줘야 하는데 그럴 필요가 거의 없다고 한다. 이미 존재하는 인텔 CPU용 어플리케이션 소스를 새로운 Xcode에서 재컴파일 함으로 네이티브 방식으로도 만들 수 있다는 얘기다.

     

    물론 유니버셜 2 방식의 어플리케이션의 크기는 일반 어플리케이션(네이티브 방식 전용이나 인텔 CPU 전용 등)에 비해 크기가 커질 수 밖에 없다. 실행 영역, 즉 바이너리가 2배가 되기 때문이다.

     

    하지만 다른 리소스(텍스트나 그림 등 실행 관련 외 영역)는 공통적으로 사용하는 것으로 알려지고 있기 때문에 전체 크기의 2배가 된다던지 하지는 않을 듯 싶다. 대략 1.5배정도 늘어나는 수준이 되지 않을까 예상을 해본다.

     

    그리고 앞서 언급한 내용은 인텔 CPU용 어플리케이션의 네이티브 바이너리 생성에 대해서 언급을 했는데 그 반대인 네이티브 바이너리의 인텔 CPU용 바이너리 생성도 포함이 된다.

     

    아이패드나 아이폰용 어플리케이션을 macOS, 즉 맥 시리즈에서 실행할 수 있게 하는 맥 카탈리스트가 있는데 유니버셜 2가 그 맥 카탈리스트도 포함된다는 얘기다.

     

    맥 카탈리스트

    앞서 포스팅에서 언급했던 새로운 macOS Big Sur의 경우 애플에서 제공하는 기본 어플리케이션의 디자인 등이 기존 macOS에서 제공했던 것과 다르다는 것을 알 수 있는데 다름아닌 아이패드용 어플리케이션을 macOS용으로 변환한 즉, 유니버셜 2 방식으로 변경해서 macOS에서도 쓸 수 있게 만든 앱들이라고 한다.

     

    앞서 언급했듯 애플은 아이폰, 아이패드, 그리고 맥에서까지 사용자 경험을 동일하게 가져가려고 하는 것 같은데 그럴려면 먼저 해야 할 것이 어플리케이션의 디자인을 비슷하게 가져가야 한다. 그래서 아이패드용 애플 기본 어플리케이션을 그대로 macOS Big Sur에 가져온 것이다.

     

    그리고 아직 애플 실리콘 CPU가 나오지 않았기 때문에 인텔 CPU가 탑재된 맥 시리즈에서 macOS Big Sur를 쓰게 될 것이고 결국은 유니버셜 2 방식으로 재컴파일 된 아이패드용 앱들이라는 것을 알 수 있다.

     

    네이티브 바이너리 방식의 파워포인트

    이것 뿐만이 아니라 애플은 애플 실리콘 CPU가 탑재된 맥 시리즈에서 원활한 사용자 어플리케이션 경험을 제공해주기 위해 MS와 어도비와 협력하여 MS의 오피스 데스크탑 버전(모바일 버전이 아닌)와 어도비의 포토샵, 라이트룸 등과 같은 어플리케이션을 유니버셜 2 방식으로 제공하도록 준비하고 있다고 한다.

     

    유니버셜 2 방식이라기 보다는 네이티브 바이너리 방식으로 준비하고 있다고 보면 될 듯 싶다.

     

    위에서 잠깐 언급했지만 애플은 애플 실리콘 CPU에서 동작하는 어플리케이션의 개발을 위해 위에서 언급한 DTK를 제공하는데 A12Z 바이오닉 칩셋이 탑재된 맥 미니 스타일의 하드웨어에 macOS Big Sur 개발자 베타 버전 및 새로 업데이트 된 Xcode를 제공한다(그런데 생각보다 비싸다 -.-).

     

    그리고 DTK 환경에서 앞서 언급한 MS 오피스와 어도비의 라이트룸, 포토샵 어플리케이션을 네이티브 바이너리로 만들어서 동작하는 모습을 데모를 통해서 보여줬는데 원활하게 잘 돌아가는 것을 보여줬다.

     

    네이티브 방식의 파이널 컷 프로

    그리고 앞서 유니버셜 2 방식으로 변환된 애플 기본 어플리케이션에 대해서 언급했지만 그 외에 애플의 인기 어플리케이션인 파이널 컷 프로 역시 유니버셜 2 방식으로 네이티브 바이너리로 만들어서 DTK에서 동작하는 것을 보여줬는데 파이널 컷 프로의 경우 4K 영상을 여러개 띄워서 편집을 해도 부드럽게 편집이 되는 것을 보여줬다.

     

    로직 역시 네이티브 바이너리로, 유니버셜 2 방식으로 제공될 것이라고 한다.

     

    즉, 애플 실리콘 CPU를 탑재한 맥 시리즈에서도 지금의 맥 시리즈를 사용하는 것과 같은 사용자 경험을 그대로 쓸 수 있다는 것을 보여주려고 하고 있다는 것이다.

     

    웹 브라우징과 같은 것은 전혀 문제가 안되며 가장 많이 사용하는 오피스 프로그램이나 영상 편집, 음악 편집 등 멀티미디어 관련 작업들도 애플 실리콘 CPU 기반 맥 시리즈에서도 얼마든지 문제없이 동작한다는 것을 보여줌으로 애플 실리콘 CPU 기반 맥으로 넘어오는데 걸림돌이 없다는 것을 강조하고 있는 것이다.

     

    재미난 것은 네이티브 바이너리로 된 어플리케이션은 아이패드 등에서도 동작시킬 수 있는데 MS 오피스 데스크탑 버전이나 라이트룸, 포토샵 데스크탑 버전이 조만간 아이패드용으로 나올 것이라는 얘기가 돌고 있는 것 같다.

     

    그런데 DTK의 메모리가 16GB이지만 아이패드 프로 시리즈는 4GB, 많아봐야 6GB 수준이기 때문에 메모리 문제로 나오기는 어렵지 않을까 하는 생각이 든다. 뭐 MS 오피스 데스크탑 버전은 나올 수 있기는 하겠다만..

    인텔 CPU용 어플리케이션 실행기인 로제타 2

    하지만 모든 인텔 CPU용 어플리케이션을 새로 업데이트 된 Xcode를 통해 재컴파일을 해서 유니버셜 2 방식으로 만들 수는 없다. 여러가지 이유로 인해서 인텔 CPU용 어플리케이션을 그대로 애플 실리콘 CPU가 탑재된 맥 시리즈에서 사용해야 할 경우가 생길 것이다.

     

    이럴 때 제공되는 솔루션이 로제타 2다.

     

    로제타 2라는 이름에서 보면 알 수 있듯 이미 이전 모델(?)인 로제타가 존재한다. 참고로 로제타는 고대 이집트 언어와 그리스 언어의 해독에 도움을 준 로제타 스톤에서 따온 것이다(로제타 스톤이 나온 도시가 이집트의 로제타라는 도시다. 그래서 로제타 스톤이라고 부른다).

     

    애플이 제공했던 로제타 솔루션은 앞서 언급했던 맥의 세 번째 변혁인 PowerPC에서 인텔 CPU로 변환될 때 PowerPC CPU용 어플리케이션을 인텔 CPU 기반 맥 시리즈에서 실행하도록 도와주는 솔루션이라고 보면 된다.

     

    애플의 로제타는 Mac OS X 10.4에서 처음 등장했으며 10.6에서는 선택적으로 설치할 수 있게 하고 10.7 Lion에서는 사라진다.

     

    방식은 어플리케이션이 실행될 때 PowerPC용 바이너리를 인텔 CPU용 바이너리로 변환해서 실행시키는 것이다. 일종의 x86 에뮬레이터라고 보면 된다.

     

    참고로 재미난 것이 앞서 소개한 유니버셜 2 방식도 2라는 이름이 붙은 것처럼 로제타가 나왔을 때 유니버셜 방식이 나왔었다.

     

    방식도 똑같이 PowerPC용 바이너리와 인텔 CPU용 바이너리가 함께 공존하는 방식으로 앞서 언급한 유니버셜 2 방식과 비슷하다. 물론 시간이 지남에 따라 그 성능이나 안정성은 훨씬 높아졌겠지만 말이다.

     

    이번에 애플 실리콘 CPU는 앞서 언급했듯 ARM 기반의 CPU이기 때문에 인텔 CPU와는 다른 방식이다. 당연히 실행되는 바이너리 형식도 다르다(유니버셜 2에 대해서 설명하면서 이 부분은 실컫 얘기했기 때문에 여기서는 패스하자).

     

    로제타 2는 인텔 CPU용 바이너리를 애플 실리콘 CPU에서도 동작할 수 있게 에뮬레이션 해주는 솔루션이라고 보면 된다.

     

    로제타 2의 특징

    로제타 2의 경우 2가지 방식으로 제공이 된다. 첫 번째는 설치하면서 바이너리를 변환하는 방식이다.

     

    인텔 CPU용 어플리케이션을 설치할 때 실행 파일을 네이티브 방식으로 변환해서 설치하는 것이다. 설치 파일 자체는 인텔 CPU용 어플리케이션이지만 로제타 2를 통해 변환해서 설치되면 네이티브 방식의 어플리케이션으로 변경되는 것이다.

     

    이 방식은 설치할 때에는 아무래도 인텔 CPU용 어플리케이션을 직접 설치하는 것보다는 상대적으로 느릴 수 밖에 없다. 실행 파일을 변환하기 때문이다.

     

    하지만 이미 설치된 어플리케이션의 실행 파일이 인텔 CPU용 바이너리가 아닌 네이티브 바이너리이기 때문에 설치 후 실행은 네이티브 어플리케이션과 비슷한 속도가 된다.

     

    두 번째는 실행하면서 로제타 2가 인텔 CPU용 바이너리를 네이티브 바이너리로 실시간으로 변환하는 것이다.

     

    설치는 인텔 CPU용 바이너리로 설치가 된다. 하지만 실행할 때에는 실행 파일의 인텔 CPU용 바이너리를 네이티브 바이너리로 변경해서 실행하게 되는 것이다. 로제타가 바로 이런 방식이었다.

     

    두 번째 방식의 경우 설치는 빠르지만 실행 자체는 아무래도 로제타 2를 거쳐서 실행하기 때문에 상대적으로 느릴 수 밖에 없다. 이전 버전의 로제타 역시 변환 방식이었기 때문에 속도 및 안정성에 대한 불만이 많았던 것이 사실이다.

     

    다만, 로제타 2로 넘어오면서 그 동안에 많은 성능 개선 및 안정성 개선이 있었기 때문에 큰 차이가 없다고 애플은 얘기하고 있다.

     

    로제타 2로 돌아가는 라이즈 오브 툼 레이더 게임

    로제타 2에 대해서도 애플은 DTK에서 오토데스크의 3D 어플리케이션인 마야(Maya)를 로제타 2를 통해 실행시키는 것을 보여줬는데 큰 버벅임 없이 제대로 동작하는 것을 보여줬다.

     

    뿐만 아니라 라이즈 오브 툼 레이더라는 게임 역시 로제타 2를 통해서 실행하는 것을 보여줬는데 1080p에서 여러가지 그래픽 효과들이 제대로 구현되는 것을 보여줬다.

     

    즉, 앞서 PowerPC에서 인텔 CPU로 넘어갈 때의 로제타 방식에서 제기되었던 여러 문제점들이 로제타 2에서는 대부분 해결되었기 때문에 기존 인텔 CPU용 어플리케이션을 구동하는데 있어서 별 문제가 안된다는 것을 강조하고 있는 것이다.

     

    유니버셜 2 방식으로도 해결할 수 없는 부분을 로제타 2로 얼마든지 커버할 수 있다는 것이 애플 실리콘으로의 전환을 우려하는 목소리를 잠재우는 방법이라고 생각이 든다.

    가상의 인텔 CPU를 만들어주는 가상화

    애플은 애플 실리콘 CPU에 대한 인텔 CPU용 어플리케이션의 대응을 유니버셜 2 방식과 로제타 2를 통해서 해결하려고 하고 있다. 그리고 다수의 어플리케이션들이 유니버셜 2 방식과 로제타 2를 통해서 대응이 가능할 듯 싶다.

     

    하지만 모든 경우가 다 해결되는 것은 아니다. 인텔 CPU에서만 사용할 수 있는 특징을 이용하는 어플리케이션들도 존재할 듯 싶은데 그런 경우에는 유니버셜 2 방식이나 로제타 2로는 해결이 안될 수 있다.

     

    대표적인 케이스가 다름아닌 OS다. 맥에서도 VMWare나 패러럴즈, 그 외에 다른 가상화 솔루션을 통해 macOS 외에 Linux나 Windows 등을 구동시킬 수 있다.

     

    이런 OS의 경우 유니버셜 2 방식이나 로제타 2로는 해결할 수 없다. OS 뿐만이 아니라 가상화 솔루션인 패러럴즈 등의 어플리케이션도 유니버셜 2 방식이나 로제타 2로 돌리기 무척이나 애매하다.

     

    그래서 애플은 애플 실리콘 CPU가 탑재된 맥 시리즈에서 인텔 CPU용 어플리케이션을 동작시키기 위해 CPU 가상화 방식을 제공한다. 즉, ARM 기반의 애플 실리콘 CPU에서 인텔 CPU를 가상으로 만들어준다는 것이다.

     

    보통 가상화는 동일 CPU에서 서로 다른 OS를 동작시키기 위해서 많이 사용하곤 하는데 애플의 이 가상화는 서로 다른 CPU를 가상으로 만들어준다는 점에서 좀 다르기는 하다.

     

    애플은 데모에서 DTK에서 패러럴즈를 구동하여 Linux OS를 구동하고 그 위에서 아파치 웹 서버 어플리케이션을 구동하는 것을 보여줬다.

     

    가상화로 패러럴즈 데스크탑에서 Linux를 실행하는 모습

    패러럴즈를 구동할 때 가상화가 실행된 것인지, 아니면 패러럴즈 안에서 Linux를 구동할 때 가상화가 실행된 것인지는 잘 모르겠지만 WWDC 2020 키노트에서 보여준 데모를 봤을 때에는 패러럴즈가 실행될 때 인텔 CPU용 가상화가 실행된 듯 싶다.

     

    애플은 로제타 2를 통해서 인텔 CPU용 바이너리로 변환하는 것에 불안함을 느낀다면 아예 가상의 인텔 CPU를 만들고 그 위에서 동작하는 방식으로 인텔 CPU용 어플리케이션을 구동하는 방식을 제안한다.

     

    그리고 어떤 의미에서 로제타 2를 통한 변환보다 가상화를 통한 실행이 더 안정성이 나을지도 모른다.

     

    다만 바이너리를 바로 변환해서 실행하는 로제타 2 방식이 가상화를 통해서 실행하는 방식보다는 상대적으로 더 빠를 것임은 분명하다.

     

    CPU 가상화가 그렇게 간단한 것도 아니고 가상화 자체가 잡아먹는 시스템 자원도 만만치 않기 때문이다. 또한 패러럴즈 데모에서는 Linux만 소개되었는데 Windows까지 커버가 가능한지는 여전히 미지수다.

     

    하지만 더 안전하게 인텔 CPU용 어플리케이션을 운영할 수 있는(물론 속도에서 손해를 보겠지만) 방식으로 가상화도 함께 제공함을 강조함으로 앞서 언급했듯 애플 실리콘 CPU가 탑재된 맥 시리즈로 넘어오는데 걸림돌은 없다고 강조하는 애플이다.

     

    이렇게 애플은 기존 인텔 CPU용 어플리케이션에 대한 애플 실리콘 CPU 탑재 맥 시리즈의 대응 방식으로 유니버셜 2 방식과 로제타 2, 그리고 가상화의 3가지 방식을 제시했다.

     

    어플리케이션 개발사 입장에서는 유니버셜 2 방식에 대해서 고민을 하면 될 듯 싶고 사용자 입장에서는 로제타 2와 가상화를 이용하여 기존 어플리케이션 사용에 전혀 문제가 되지 않을 것이라고 애플은 생각하고 있는 듯 싶다.

    아이폰 및 아이패드용 어플리케이션을 변환없이 그대로 실행

    그리고 애플 실리콘 CPU가 탑재된 맥 시리즈가 갖는 유일한 장점에 대해서도 또 언급을 했는데 앞서 잠깐 언급도 했지만 아이폰, 아이패드용 어플리케이션을 그대로 애플 실리콘 CPU가 탑재된 맥 시리즈에서 설치 및 실행할 수 있다는 것이다.

     

    앞서 아이폰, 아이패드용 어플리케이션의 방식도 네이티브 방식이라고 해서 앞서 유니버셜 2 방식의 네이티브 바이너리와 동일하게 쓰인다고 했는데 같은 ARM 기반의 CPU이기 때문에 바이너리가 동일하고 그렇기 때문에 실행이 가능하다는 얘기다.

     

    A12Z 바이오닉 칩셋 위에서 동작하는 macOS Big Sur

    WWDC 2020 키노트에서 애플은 DTK에서 아이패드용 어플리케이션 3개를 동시에 실행시키는 데모를 보여줬다. DTK는 앞서 언급했듯 아이패드 프로 4세대에 탑재된 A12Z 바이오닉 칩셋이 탑재되어 있으며 macOS Big Sur 개발자 베타 버전이 탑재되어 있다. 즉, macOS Big Sur의 애플 실리콘 CPU 버전이 들어있다는 얘기다.

     

    재미난 것은 분명 iPadOS(iOS도 마찬가지고)와 macOS는 다른 OS일텐데 iPadOS용 어플리케이션이 실행이 된다는 것이다.

     

    이는 macOS Big Sur의 커널이 iPadOS(iOS도 그렇고)와 동일하다는 의미가 된다(같은 CPU라고 하더라도 커널이 다르면 실행할 수 없다. 인텔 CPU용 윈도 어플리케이션을 인텔 CPU용 Linux에서 실행할 수 없는 것처럼 말이다).

     

    아이패드 앱들이 애플 실리콘 위에서 그대로 실행이 됨

    이것이 갖는 장점이라고 한다면 이제 맥에서도 iPadOS, iOS용 어플리케이션을 대부분 사용할 수 있다는 것이 아닐까 싶다. 실제로 macOS용 어플리케이션보다 iPadOS, iOS용 어플리케이션이 훨씬 더 많은 것이 현실이다.

     

    애플 실리콘 CPU를 탑재한 맥 시리즈는 이 엄청 많은 아이패드, 아이폰용 어플리케이션을 그대로 다 사용할 수 있기 때문에 어플리케이션 활용의 폭이 대폭 넓어진다는 장점이 있다.

     

    물론 앱스토어에 등록된 아이폰, 아이패드용 어플리케이션 모두를 다 애플 실리콘 CPU가 탑재된 맥 시리즈에서 실행할 수는 없을 것이다.

     

    실제로 WWDC 2020 키노트에서도 대부분의 아이폰, 아이패드용 어플리케이션을 실행할 수 있을 것이라고 언급하고 있다(100% 다 실행되는 것이 아니라는 얘기다). 

     

    그리고 애플 실리콘 CPU가 탑재된 맥 시리즈에서 아이폰, 아이패드용 어플리케이션을 iPadOS, iOS용 앱스토어에서 직접 다운로드 받을 수는 없다. 맥 앱스토어에서 다운로드 받아서 설치가 가능하다. 그 얘기인 즉, 향후 아이폰, 아이패드용 어플리케이션도 맥 앱스토어에 등록이 가능하다는 의미가 된다.

     

    확실히 이 부분은 애플 실리콘만의 장점임은 분명하다. 하지만 여기에는 macOS용 어플리케이션이 Windows용 어플리케이션이나 Linux용 어플리케이션에 비해 상대적으로 너무 적다는 애플만의 안타까운 사정도 함께 있음을 무시할 수 없다.

     

    애플은 이미 엄청난 에코시스템을 구축한 아이폰, 아이패드용 어플리케이션 시장에 애플 실리콘을 끼워넣음으로 맥 시리즈까지 집어넣어서 그 영역을 더 확대하겠다는 속내를 대놓고 드러낸 것이라고 할 수 있다.

     

    물론 아이폰, 아이패드용 어플리케이션은 터치 위주의 인터페이스를 중심으로 설계, 개발되어 있는데 마우스와 키보드 중심의 PC 계열인 맥 시리즈에서 얼마나 활용이 가능할지는 또 다른 얘기겠지만 말이다(이 부분은 밑에서 따로 정리를 하려고 한다).

    인텔 CPU에서 애플 실리콘으로의 부담없는 이전

    이렇듯 애플은 기존의 인텔 CPU 기반의 맥 시리즈에서 애플 실리콘 기반의 맥 시리즈로 넘어와도 전혀 문제가 없으며 충분한 매리트가 있다는 것을 계속 강조한다.

     

    앱 개발사들에게는 유니버셜 2 방식으로 기존 소스들을 그대로 활용할 수 있다는 것을 강조하고 있으며 사용자들에게는 로제타 2와 가상화를 통해서 기존 어플리케이션들을 사용하는데 있어서 거의 불편함이 없다는 것을 강조하고 있다.

     

    거기에 기존 맥 시리즈, 즉 macOS가 갖고 있는 문제점인 부족한 어플리케이션들을 아이폰, 아이패드용 앱들을 애플 실리콘 기반 맥 시리즈에서 실행시킴으로 더 활용성이 높아질 것임을 강조하고 있다.

     

    또한 성능 부분에서도 전혀 문제가 될 것이 없다는 것을 언급하고 있는데 데모로 파이널 컷 프로에서의 하드한 작업들이나 MS 오피스 어플리케이션들의 원활한 구동 모습, 로제타 2를 통해 실행되는 마야의 원활한 구동 모습과 게임의 깔끔한 움직임 등을 보여주면서 성능에도 전혀 문제가 없다는 것을 강조한다.

     

    게다가 기존 데스크탑용 CPU의 문제점인 전력 소비 및 발열 문제도 잡을 수 있기 때문에 퍼포먼스 위주의 작업들도 노트북에서 동작시키는데 문제가 되지 않을 것이라고 강조하고 있다.

     

    그리고 A11 바이오닉 칩셋부터 강력해진 머신러닝 및 인공지능 관련 기능들도 사용할 수 있게 되기 때문에 더 매리트 있는 맥 시리즈가 될 것이라고 얘기하고 있다.

     

    이런 자신감이 있기 때문에 애플은 올해 말에 첫 애플 실리콘 CPU가 탑재된 맥을 출시하고 향후 2년 안에 모든 맥 시리즈에 대해서 애플 실리콘을 적용하겠다고 밝히고 있다.

     

    즉, 2년 이후에는 더 이상 인텔 CPU가 탑재된 맥 시리즈는 만들지 않겠다는 얘기다.

     

    물론 인텔 CPU 기반 맥 시리즈를 당장에 단종시키는 것은 아니다. WWDC 2020 키노트 마지막 부분에 팀 쿡은 인텔 CPU를 위한 새로운 맥 시리즈를 준비하고 있다고 밝히고 있다.

     

    아직까지 애플 실리콘이 활성화되기 위해서는 시간이 필요하니 그 시간동안에는 인텔 CPU가 탑재된 새로운 맥 시리즈를 계속 내놓을 듯 싶다.

     

    이렇게 애플의 WWDC 2020을 통해 발표된 애플 실리콘에 대한 내용을 정리를 해봤다. 그럼 애플 실리콘의 의미와 성공 여부를 좀 생각을 해보도록 하자.

    애플이 애플 실리콘을 발표할 수 있었던 원동력은?

    솔직히 말해서 다른 기업들이, 예를 들어 삼성전자나 중국의 화웨이, 아니면 MS 같은 기업들이 애플 실리콘과 같은 프로젝트를 진행하겠다고 한다면 아마도 대부분 실패할 것이다.

     

    여러가지로 주변의 다른 기업들과 연계되어 있는 부분도 그렇고 애플 실리콘과 같은 프로젝트를 진행하기에 빠진 요소들이 많기 때문이다.

     

    그런데 애플은 가능할 수도 있겠다는 생각이 들었다. 일단 애플은 하드웨어와 소프트웨어, OS, 그리고 서비스까지 모두 자체적으로 만들기 때문에 가능하다.

    다른 기업들이 애플 실리콘과 같은 것을 한다면?

    당장에 모바일 부분만 봐도 그렇다. 앞서 삼성전자 이야기를 했지만 삼성전자가 만드는 스마트폰의 갤럭시 S 시리즈나 갤럭시 노트 시리즈는 하드웨어는 삼성전자가 만들지만 OS는 안드로이드를 사용한다.

     

    과거 거의 자체 OS나 다름없었던 타이젠을 밀었던 경험이 있지만 처절히 실패했다. 일단 하드웨어와 OS가 자체적 생산이 가능해야 하는데 OS에서 문제가 생긴다.

     

    안드로이드는 오픈소스 OS이기 때문에 얼마든지 커스터마이징이 가능하고 중국의 많은 기업들이 AOSP(안드로이드 오픈소스 프로젝트)를 이용하여 자체적으로 안드로이드 OS를 구축해서 사용하고 있으니 OS의 자체적 생산도 해결될 수 있을 것이라고 얘기할 수도 있을 것이다.

     

    그런데 하드웨어와 OS만으로 애플 실리콘과 같은 프로젝트가 성공할 수 있을까? 아니다. 사용할 수 있는 어플리케이션이 다양하고 풍부해야, 즉 에코시스템이 제대로 되어 있어야 성공할 수 있다.

     

    화웨이가 모바일 부분에서 이런 전략을 취하려고 하고 있기는 한데 중국 안에서는 성공할지 몰라도 중국 밖에서는 실패할 확률이 높은 것이 사실이다.

     

    데스크탑의 경우도 그렇다. 삼성전자 뿐만이 아니라 다른 대부분의 업체들이 MS의 Windows를 가져다가 쓴다. 하드웨어의 경우 자체적으로 만든다고는 하지만 CPU는 인텔, 아니면 AMD 제품을 쓴다.

     

    만약 업체들이 자체 CPU를 제조해서 쓴다고 하더라도 OS에서 지원해주지 않기 때문에 문제가 있다.

     

    물론 Linux라는 오픈소스 OS를 이용할 수 있다. Linux 커널을 커스터마이징해서 제조사에서 자체적으로 만든 CPU를 지원할 수 있게 해서 애플 실리콘과 비슷한 방식을 제공할 수도 있을 것이다. 그렇다고 해도 문제가 되는 것이 하드웨어와 OS가 있다고 해서 다 해결되는 것이 아니다.

     

    모바일과 마찬가지로 사용할 수 있는 어플리케이션이 많아야 한다. 과거 삼성전자가 타이젠을 밀려고 했지만 실패했던 이유를 생각해보면 충분히 이해가 갈 듯 싶다.

     

    앞서 화웨이 얘기도 했지만 중국 안에서는 나름 성공할 수 있을지는 모르지만 글로벌로 나가게 되면 어렵다고 언급했는데 비슷한 상황이라고 보면 된다.

    MS는 조금은 성공 가능성이 있을지도..

    MS는 어떨까? 작년에 서피스 신제품 발표회에서 MS는 퀄컴과 함께 디자인한 자체 CPU인 MS SQ1을 선보였다. 그리고 MS SQ1 CPU를 탑재한 서피스 프로 X도 함께 출시했다.

     

    MS SQ1은 애플 실리콘과 비슷한 ARM 기반의 MS 전용 CPU다. MS 역시 인텔 CPU로 인해 생기는 문제점들을 해결하고자 자체 CPU 제작에 나서기 시작한 것이다.

     

    어떤 의미에서 애플 실리콘과 기장 비슷하면서도 성공 가능성이 조금이라도 있는 케이스가 MS의 MS SQ1 칩셋과 서피스 프로 X가 아닐까 싶다.

     

    MS는 애플처럼 OS도 만들고 서피스 시리즈와 같은 하드웨어도 만든다.

     

    게다가 이번에 MS SQ1과 같은 ARM 기반 자체 CPU도 만들었고 Windows에 적용시켰다. Windows라는 OS를 MS가 직접 만들기 때문에 가능한 일이다.

     

    하지만 MS도 애플의 애플 실리콘처럼 전면적으로 자체 CPU를 모든 기종에 도입하는 모험을 할 수는 없다.

     

    Windows라는 OS를 수많은 기업들이 자사의 PC용 OS로 사용하고 있기 때문이다. MS가 애플 실리콘과 같은 프로젝트를 진행하려면 Windows를 다른 기업에서 사용할 수 없게 해야 하는데 MS는 그렇게는 못할 것이다.

    애플만의 폐쇄적인 에코시스템이기에 가능한 애플 실리콘

    여기서 애플이 애플 실리콘과 같은 어마무시한 프로젝트를 할 수 있는 이유가 나온다.

     

    애플은 하드웨어를 만든다. 아이폰, 아이패드, 애플 워치 시리즈와 같은 모바일 디바이스 뿐만이 아니라 맥북 에어, 맥북 프로, 아이맥, 맥 프로, 맥 미니 등과 같은 PC도 만든다. 그리고 이런 애플 디바이스들은 애플에서만 만든다. 다른 제조사들이 만들지 않는다는 얘기다.

     

    그리고 애플은 모바일 디바이스와 PC에서 사용하는 OS도 자체적으로 만든다. iOS, iPadOS, watchOS, tvOS, macOS와 같은 OS들을 자체적으로 만들어서 적용하고 있다. 얼마든지 커스터마이징을 할 수 있다는 얘기다. 또한 이들 OS는 애플 제품 외에 다른 제품에서는 적용하지 않는다.

     

    거기에 애플은 이미 10년간 모바일 디바이스에서 자체 CPU를 만들어서 탑재했다. 앞서 언급했듯 10년동안 무려 20억개 이상의 자체 CPU를 만들어서 시장에 선보였고 성능과 안정성 등을 인정받았다. 그리고 하드웨어, OS와 마찬가지로 애플의 자체 CPU는 애플 제품에만 적용되고 타사 제품에는 적용되지 않는다.

     

    결정적으로 애플은 앞서 언급했던 것처럼 하드웨어, OS, 그리고 자체 CPU 뿐만이 아니라 어플리케이션에 대한 에코시스템 역시 애플 안에서만 동작할 수 있게 했다.

     

    애플의 어플리케이션 에코시스템인 앱스토어(iOS, iPadOS, 맥 앱스토어 포함)는 애플에서 제공하는 하드웨어, OS에서만 동작하고 타사 제품에서는 동작하지 않는다.

     

    이렇듯 애플은 철저하게 타사, 다른 환경을 배제한 애플만의 환경에서 모든 것이 동작하도록 지금까지 시스템들을 구축했고 사용자들을 길들여왔다. 애플 제품을 사용하는 사용자들은 애플이 제공하는 애플만의 에코시스템에 의해 철저히 통제(?)되고 있다고 해도 아주 틀린 말은 아닐 것이다.

     

    간단히 말해 애플이 그동안 제공했던 철저한 폐쇄적인 에코시스템 환경 덕분에 가능성이 있다는 얘기다.

     

    이런 환경이기 때문에 PC 계열인 맥 시리즈에서 애플 실리콘과 같은 프로젝트를 실행하더라도 기존 인텔 CPU 기반 맥 시리즈에서 동작하던 프로그램들을 애플 실리콘 CPU 기반 맥 시리즈에서 어떻게든 잘 돌아갈 수 있게만 해준다면 CPU의 변경으로 인한 사용자의 혼란은 거의 없을 것이라고 생각할 수 있다.

     

    사용자 입장에서는 내가 전에 사용하던 어플리케이션들이나 서비스들을 새로운 환경에서도 기존과 동일하게 문제없이 사용할 수 있으면 얼마든지 부담없이 옮길 수 있기 때문이다.

     

    애플이 유니버설 2, 로제타 2, 그리고 가상화를 언급하면서 기존 어플리케이션을 쓰는데 전혀 문제가 없음을 계속 강조하는 이유이기도 하다.

     

    게다가 앞서 언급도 했지만 맥 시리즈들의 가장 큰 문제점이라고 할 수 있는 Windows 어플리케이션들에 비해 부족한 어플리케이션들을 아이폰, 아이패드용 앱을 직접 실행할 수 있게 함으로 맥 시리즈의 부족한 다양성 부분을 채워줄 수 있다는 점을 강조하면서 애플 실리콘의 성공 가능성을 더 끌어올릴 수 있다고 판단하는 듯 싶다.

     

    즉, 애플이기에, 애플만이 가능한 어마무시한 프로젝트라는 얘기다. 그리고 애플이기에 성공 가능성도 충분히 있는 시도이기도 하고 말이다.

     

    하드웨어와 OS, 에코시스템까지 철저히 통제된 폐쇄적인 환경에서 제어가 가능하기 때문에 얼마든지 하드웨어나 OS, 에코시스템의 요소들 중 일부를 변경하는 것에 대해서 부담이 없을 것이라는 생각이 든다.

    인텔 CPU의 한계, 그리고 A 시리즈의 약진

    그런데 애플 실리콘의 핵심은 역시나 CPU를 인텔 기반 CPU에서 ARM 기반의 자체 제작 CPU로 변경하는 것이다. 그리고 그 키는 애플 실리콘 CPU의 성능이 과연 인텔 CPU를 능가할 수 있는가가 아닐까 싶다.

     

    참고로 아래에서 정리한 내용들은 예전에 CPU 구조 관련 내용들을 공부했던 것들을 기반으로 내 나름 논리를 전개해봤다. 그러다보니 조금은 억지스러운 내용도 있고 틀린 내용이 들어있을 수도 있음을 감안해주시길 바란다.

     

    인텔이나 AMD가 생산하는 x86, x64 기반의 CPU는 CISC(Complex instruction set computer) 기반으로 수많은 명령어들을 CPU 안에 다 넣어두고 진행하는 방식이다.

     

    그리고 CISC 방식의 인텔 CPU는 점점 그 한계를 보이고 있는 중이다. 이 부분에 대해서는 원래 썼던 내용이 있었지만 티스토리의 버그 때문인지 쓴 내용이 다 날라간 상태이기에 나무위키의 내용(뭐 신뢰할 것인지는 읽어보고 판단하시길 ^^)을 참고하길 바란다.

     

    애플 실리콘의 핵심인 A 시리즈 칩셋과 같은 ARM 아키텍처 기반 CPU는 RISC(Reduced instruction set computer) 기반으로 정말 필요로 하는 명령어들만 CPU 안에 넣고 필요할 때 조합해서 진행하는 방식이다.

     

    참고로 RISC 방식은 필수 명령어만 존재하며 OS나 어플리케이션에서 원하는 명령어가 있으면 한번에 실행이 되지만 없으면 필수 명령어들을 조합하여 명령어를 만드는 방식이다.

     

    그러다보니 명령어가 없을 경우 해당 명령어를 수행하기 위해서 필수 명령어를 1차로 조합하고 그 결과를 저장해뒀다가 다시 불러서 2차로 다른 명령어와 조합하는 방식으로 2~3차례 수행이 이뤄진다. 로드(Load) - 실행(Execute) - 저장(Store)의 과정을 반복한다는 얘기다.

     

    그래서 초창기에 CISC 기반의 CPU보다 RISC 기반의 CPU가 속도에서 상대적으로 느리고, 그 결과 CPU 파워가 밀린다는 얘기가 나왔던 것이다. 원스탭으로 끝나는 CISC 기반보다 2~3스탭을 거치는 RISC 기반이 상대적으로 느릴 수 밖에 없는 것은 당연한 얘기다.

     

    하지만 RISC 방식 역시 세월이 지나면서 나름 필수 명령어들도 기존보다 많이 늘어났고 프로세스 속도도 빨라짐으로 CISC 방식에 준하는 성능을 갖추게 되었다. 소비하는 전력을 증가시킴으로 속도를 빠르게 해서 처리 결과를 빠르게 보여줄 수 있게 되었다는 얘기다.

     

    그럼에도 불구하고 CISC 기반 인텔 CPU 대비 소비 전력은 상대적으로 적게 들어가는 상황이 되었고 현재가 딱 그런 상황인 것이다.

     

    물론 현재의 인텔이나 AMD에서 사용하고 있는 x86, x64 기반의 CPU가 온전히 CISC 방식을 그대로 사용하지 않고 애플의 A 시리즈 칩셋이나 퀄컴의 스냅드레곤 시리즈, 삼성의 엑시노스 시리즈가 온전히 RISC 방식을 그대로 사용하지 않으며 서로의 방식을 조금씩 섞어서 쓰고 있기는 하지만 그래도 기반 자체는 그대로이기 때문에 특성은 그대로 쫓아가게 된다.

     

    속도와 소비 전력에 대한 부분은 CPU 개발 시 도입되는 나노 공정도 엄청난 영향이 있다.

     

    인텔은 10세대 CPU가 나왔음에도 불구하고 여전히 14 나노 공정에 머물고 있으며(AMD도 7 나노 공정을 도입하고 있는 상황에서) 그로 인해 속도 증진은 어렵고 코어 수를 증가해서 분산처리를 하게 함으로 전체적인 프로세스 시간을 줄이는 방식으로 가고 있는 중이다.

     

    애플은 A13 바이오닉 칩셋을 7 나노 공정으로 만들고 있으며 아마도 애플 실리콘 CPU가 될 A14 바이오닉 칩셋은 5 나노 공정으로 만들 것이라고 언급되고 있다.

     

    적은 나노 공정으로 만들면 그만큼 회선의 굵기가 줄어들고 하나의 회로 안에 더 작은 기능(이 들어간 칩)을 넣을 수 있으며 같은 공간이라면 더 많은 칩셋을 넣을 수 있어서 더 많은 기능을 넣을 수 있다는 장점이 있다.

     

    물론 회선 사이의 간섭 등도 고려해야 하기 때문에 무작정 얇게만 만들 수 없다. 여러가지 기술력들이 집약되어서 회선들 사이의 간섭을 없애거나 줄이면서 최대한 얇게, 가늘게 만드는 것이 기술인데 인텔의 경우 여전히 14 나노 공정에서 못벗어나고 있지만 애플을 비롯한 ARM 기반의 CPU들은 이미 10 나노 공정 이하로 7 나노 공정까지 도입에 성공한 상황인 것이다.

     

    회선이 굵을수록 전력 소비가 많고 발열이 많이 일어날 수 밖에 없는 구조이기 때문에 여전히 14 나노 공정에 머무르고 있는 인텔 CPU들보다 더 적은 나노 공정을 지원하는 A 시리즈 칩셋이 같은 크기에 더 많은 기능을 넣을 수 있는 것이고 인텔 CPU가 지원하는 기능들을 충분히 구현할 수 있다는 생각을 하고 있는 듯 싶다.

    제어 가능한 에코 시스템과 빠른 속도의 CPU의 합작품

    위의 이유로 애플은 자신있게 인텔 CPU를 걷어내고 애플이 그동안 만들고 안정화를 진행했던 A 시리즈를 애플 실리콘이라는 이름으로 PC 시장에까지 전면에 내세울 수 있었던 것이 아닐까 싶다.

     

    인텔 CPU에서 제공하는 기능들은 A 시리즈에서 PC 수준의 전력을 공급하면서 더 많은 기능을 더 빨리 수행하도록 만들면 충분히 커버가 가능하다고 생각했을지도 모른다. PC 수준의 전력이 아닌 현재 아이패드 프로 4세대보다는 더 많지만 현재의 PC 수준보다 더 적은 전력으로도 충분히 가능하다고 생각할지도 모르겠다.

     

    그리고 CPU만으로 커버하지 못하는 것은 OS 레벨에서 처리하도록 하면 충분히 인텔 CPU에서 macOS로 처리할 수 있는 일들을 문제없이 처리할 수 있지 않겠는가 하는 생각을 했을 듯 싶다. 이는 CPU를 만드는 애플이 OS인 macOS도 함께 만들기에 CPU에 최적화된 OS의 커널을 커스터마이징을 할 수 있기에 가능한 일이다.

     

    데모를 통해서 일반적인 사용자들이 가장 많이 사용하는 MS 오피스나 영상 편집 툴인 파이널 컷 프로, 그래픽 프로그램인 포토샵, 마야, 그리고 게임까지 원활하게 돌아가는 것을 보여줌으로 일반적으로 사용하는데 있어서 전혀 문제가 되지 않음을 보여주는 이유도 인텔 CPU 만큼이나 성능에 전혀 문제가 없다는 것을 강조하기 위함일테니 말이다.

     

    실제로 데모에서는 아이패드 프로 4세대에 탑재된 A12Z 바이오닉 칩셋이 들어간 DTK를 이용했다. 그리고 올해 말에 등장할 애플 실리콘 CPU가 탑재될 PC(아마도 맥북에어 시리즈가 되지 않을까 예상을 해본다)에는 이보다는 더 발전된 CPU가 들어갈 것임은 분명하다. 그러면 데모로 보여줬을 때 보다 더 우수한 성능을 보여줄 것임은 분명하다.

    애플의 애플 실리콘의 계획은?

    그렇다면 과연 애플 실리콘이 모든 맥 시리즈들을 커버할 수 있을까? 애플은 일단 2년 안에 모든 맥 시리즈에 애플 실리콘을 도입하겠다고 밝혔는데 그 범위는 맥북 에어, 맥북 프로 시리즈와 같은 노트북 시리즈 뿐만이 아니라 아이맥, 아이맥 프로, 맥 미니, 맥 프로 시리즈와 같은 데스크탑 시리즈까지를 포함한다.

     

    내 개인적인 생각이기는 하지만 맥북 시리즈의 경우 맥북 에어에는 애플 실리콘이 적용되도 전혀 문제가 될 것 같지는 않다.

     

    지금 내가 개인적으로 사용하고 있는 노트북이 맥북 에어 2020이기는 하지만 사용하는 용도 자체가 하드한 작업보다는 웹 서핑이나 오피스 작업, 그리고 간단한 영상 제작 정도이기 때문이다.

     

    물론 모든 맥북 에어 사용자들이 나같이 사용하지는 않겠지만 얼추 비슷하지 않을까 싶다. 그 정도의 작업이라면 애플 실리콘 CPU가 처리하기에 부족함이 없을 듯 싶다.

     

    맥북 프로의 경우는 어떨까? 애플 실리콘 CPU의 성능이 어느정도까지 받쳐주는가가 관건이 될 듯 싶다. 적어도 맥북 에어보다는 더 하드한 작업들을 많이 할테니까 말이다.

     

    파이널 컷 프로로 영상 작업을 할 때에도 4K 영상을 4~5개씩 띄워두고 편집을 하고 랜더링을 한다던지 로직 프로 X로 음악 편집 작업을 할 때 100여개가 넘는 음원 소스들을 한꺼번에 다루는 상황도 있을테니까 말이다.

     

    포토샵 작업을 할 때에도 레이어를 수십개를 넘어 수백개까지 띄울 수도 있을테니까. 개발자들이 소스 컴파일을 하는데 있어서도 계산 작업이 많은데 그것도 커버해야 하고 말이지.

     

    과연 위의 작업들을 하는데 있어서 애플 실리콘 CPU가 잘 버틸 수 있을지가 관건이 되지 않을까 싶다. 맥북 프로의 적용 여부가 곧 아이맥 시리즈와 맥 프로 시리즈에 애플 실리콘을 적용하는데 기준이 되지 않을까 싶다.

     

    물론 2년 동안에 애플 실리콘의 성능을 더 높여서 충분히 커버 가능한 수준으로 만들려고 애플은 노력할 것이며 또 그렇게 될 것으로 예상은 된다.

     

    지금까지 애플이 A 시리즈 칩셋을 만들면서 높여온 성능의 폭을 보면 충분히 가능성이 있기도 하고 말이다(물론 이번 아이패드 프로 4세대에 들어간 A12Z 바이오닉 칩셋은 좀 예외이기는 하지만).

     

    그리고 애플은 2년 안에 모든 기종에 애플 실리콘을 적용한다고 밝혔지만 당장에 인텔 CPU가 들어간 맥 시리즈를 단종시키겠다고 하지는 않았다. 오히려 새로운 인텔 CPU가 탑재된 맥 시리즈도 나올 것이라고 얘기했다.

     

    이 얘기는 지금의 수준으로는 이른바 맥북 프로, 아이맥 프로, 맥 프로와 같은 고성능 PC 라인업에는 애플 실리콘을 적용하는데는 무리라는 생각을 하고 있기 때문이 아닐까 싶다.

     

    앞서 언급했지만 일단 맥북 에어부터 애플 실리콘을 적용할 가능성이 크다. 그리고 맥 미니와 아이맥이 그 다음 타순이 되지 않을까 싶다.

     

    인텔은 지속적으로 10세대를 넘어 11세대 CPU를 내놓을 것이며 2년 동안에 애플은 새로운 인텔 CPU가 탑재된 프로 시리즈들을 내놓을 것이다. 그러면서 애플 실리콘과의 차이를 열심히 분석해서 애플 실리콘의 성능을 높히는 작업을 하지 않을까 싶다.

     

    그리고 2년 뒤에 애플이 프로 시리즈에 애플 실리콘을 적용할 때에는 애플은 인텔 CPU 못잖은 성능을 갖춘 애플 실리콘 CPU를 만들 것이라고 예상을 하는 것이다.

     

    그런데 2년이라는 기간은 어쩌면 더 빨라질 수도 있고 더 늘어날 수도 있다. 애플이 인텔 CPU와 계속 비교하면서 애플 실리콘의 성능을 높히는데 어느 순간에 인텔 CPU를 능가하는 순간이 온다면 당장에 인텔 CPU 제공을 끊을 것이기 때문이다. 그런데 그 어느 순간이 1년이 될 수도 있고 성능을 높히는 작업에 지연이 생겨서 더 늦어질 수도 있지 않을까 생각을 해본다.

     

    솔직히 인텔도 바보가 아닌 이상 앞서 14 나노 공정에서 머물고 있는 상황에서 계속 제자리만 맴돌 것 같지는 않고 더 고성능의 CPU를 내놓을 것임은 분명하기 때문이다(물론 14 나노 공정 이하로 언제쯤 떨어질 것인지는 모르겠다). AMD가 7 나노 공정을 성공한 상황에서 손가락만 빨고 있을 인텔은 아니기에 말이다.

     

    그리고 애플이 애플 실리콘 CPU를 서버급에서 사용하지는 않을 것이다. 맥 시리즈들을 보면 대부분의 개인용 PC급, 혹은 워크스테이션 급이지 서버급 장비를 만들지는 않는다. 물론 맥 미니를 서버로 쓰는 경우도 있지만 그것은 엄밀히 따지만 좀 예외적인 케이스인 것이고 기본적으로는 PC급 장비를 만든다.

     

    인텔은 PC급에서 AMD나 애플 실리콘으로 인해 타격을 받을 수는 있지만 여전히 서버 시장에서는 절대 군주와 같은 위치이기 때문에, 그리고 클라우드 환경이 이제는 대중화를 넘어서 기본처럼 여겨지는 상황에서 인텔의 위세는 여전할 것이라고 보고 있다. 애플은 서버급으로 애플 실리콘을 생각하고 있지는 않을 듯 싶기 때문이다.

    솔직히 애플 실리콘의 이유는 핵심 부품의 애플화

    뭐 앞서 이래저래 썰들을 풀었지만 솔직히 따져서 애플이 애플 실리콘을 발표한 이유는 더 이상 인텔의 CPU 스케쥴에 맥 시리즈의 생산 스케줄을 맞추지 않겠다는 것 아닌가 싶다.

     

    아이폰이나 아이패드 등 애플의 모바일 제품군들은 자체적으로 생산한 CPU를 사용하기 때문에 애플이 자사의 스케줄에 따라서 개발하고 생산을 하는데 맥 시리즈만큼은 인텔 CPU를 채택하기 때문에 인텔의 CPU 생산 스케줄에 따라서 좌지우지될 수 밖에 없다. 같은 CPU를 탑재하는데 더 높은 성능의 PC를 선보이기 애매하기 때문이다.

     

    그냥 애플은 자사의 모든 제품들에 핵심 부품들은 자사가 직접 핸들링하기를 원하기 때문에 그동안 핵심 부품들을 모두 자사의 제작으로 커버했던 모바일 제품들에 이어 PC 제품들까지 그 영역을 넓힌다는 생각을 이제야 대놓고 드러낸 것이라고 보면 된다.

     

    인텔이 작은 회사라면 애플이 상대적으로 더 큰 회사이기 때문에 어느정도 영향력을 발휘할 수 있겠지만 인텔은 애플의 입김을 충분히 무시할 수 있는 규모의 기업이기 때문에 애플 입장에서는 자기들의 정책이나 생각대로 할 수 없어서 끌려가고 있었던 것이 사실이니 말이다.

     

    CPU의 경우 PC 제품에 있어서는 핵심 중의 핵심이기 때문에 이것에 대한 확실한 제어가 없으면 OS를 만들 때에도 문제가 될 수 있다. 특정 기능을 OS에 넣으려고 하는데 CPU가 지원하지 않으면 안되는 경우가 있고 이를 위해 애플은 인텔에 요청을 해야 하는데 요청 범위에 한계가 생길 수 있기 때문이다.

     

    상황에 따라서 인텔이 애플의 요청을 안받아줄 수도 있으니 말이다. 이러면 애플은 현재로서는 macOS에 특정 기능을 넣으려고 해도 넣을 수가 없는 상황이 된다. macOS가 다른 제조사에서 만든 PC에 들어가는 범용 OS면 모를까 애플 PC 계열에만 들어가는 OS인데 애플이 자신들 맘대로 할 수 없게 되는 것이 무척이나 짜증이 날 수도 있다.

     

    그 외에도 애플이 CPU를 자사화 시킬 더 다양한 이유가 있을 것이다. 개발 스케쥴 부분도 그렇고 말이다.

     

    어찌되었던 애플이 맥 시리즈에 들어가는 인텔 CPU 대신 애플 실리콘 CPU가 들어간다면 macOS에서 특정 기능을 얼마든지 넣을 수 있고, 그것을 또 CPU에서 지원할 수 있게 커스터마이징도 가능하며 맥 시리즈의 생산 스케쥴도 자사의 사정에 맞춰서 얼마든지 조정이 가능하니 애플 실리콘을 어떻하든 진행하려고 하는 것이 아닐까 싶다.

    애플의 폐쇄적인 에코 시스템에서는 충분히 성공할 수 있는..

    이제 슬슬 글을 마무리해야 할 듯 싶다. 애플이 애플 실리콘을 발표하면서 기존 어플리케이션에 대한 대응 방안도 함께 발표했고 향후 계획에 대해서도 발표를 했다. 그리고 앞서 현재 애플의 폐쇄적인 에코 시스템 덕분에 성공할 가능성이 높은 것도 사실이라고 언급도 했다. 범용적인 사용에 있어서는 별 무리가 없을 것으로 보이기 때문이다.

     

    물론 인텔 CPU가 갖는 호환성, 범용성 등을 애플 실리콘이 커버할 수 있을까 하는 부분도 충분히 논란이 될 수 있음은 분명하다. 앞서 언급했듯 하드한 작업들을 어느정도까지 애플 실리콘이 커버할 수 있는가가 성공의 기준이 될 수도 있기 때문이다.

     

    하지만 애플은 macOS의 구조까지 바꿔가며 애플 실리콘을 강행할 의사를 보이고 있다. 앞서 언급했던 것처럼 애플이 그동안 보여왔던 행보들 중에 핵심은 모든 핵심 부품의 자사화인데 모바일 제품들은 모두 작업이 끝났고 이제는 PC 제품들만 남았기 때문이다. 이제는 순서대로 PC 제품들까지 그 작업을 진행하려고 한다.

     

    성공 가능성에 대해서는 앞서 언급했듯 어떻하든 애플 실리콘을 진행할 것이기 때문에 애플 에코 시스템 안에서는 성공할 것이다. 물론 그 과정 안에서 일부 사용자들이 떨어져 나갈 수도 있다. 인텔 CPU로만 할 수 있는 작업들이 있을테니까 말이다.

     

    아무래 macOS를 애플이 직접 만든다고 하더라도 모든 서드파티 어플리케이션에 대해서 애플이 다 제어할 수 있는 것은 아니다. 가상화나 로제타 2로 커버할 수 없는 영역이 생기기 마련이니 말이다.

     

    그럼에도 애플은 에코 시스템을 어떤 의미에서 완벽에 가깝게 통제하고 제어할 수 있기 때문에 사용자의 사용 범위나 특성을 조금 변경하도록 유도하더라도 어떻게든 자신들의 의도대로 진행하도록 할 것이며 그런 의미에서 애플 실리콘은 애플 입장에서는 충분히 성공 가능성이 높다고 할 수 있다.

     

    쓰다보니 엄청 긴 글이 되었는데 여러가지 이유들을 들었지만 핵심은 애플은 자신들이 충분히 통제할 수 있는 범위 안에서 애플 실리콘을 진행할 것이라고 생각할 것이고 지금까지 드러난 애플의 행보와 에코 시스템의 구조 상 충분히 성공할 가능성이 높다는 정도로 정리하고 글을 마무리하려고 한다.

     

    아래는 WWDC 2020의 키노트 영상이다. 후반부에 애플 실리콘 이야기가 있으니 위의 내용을 보고 아래의 내용을 본다면 충분히 이해가 되지 않을까 싶다.

     

    반응형

    댓글

Designed by Tistory.