로그인 해주세요.

미니기기 / 음향 게시판 *스마트폰과 PC, 카메라, 스피커 등 IT 미니기기와 음향기기에 관해 교류하는 게시판입니다.

WayBack

미니 로제타 2 작동 방식

  • WayBack
  • 조회 수 880
  • 2020.08.11. 11:49

좋은 글이 있어서 한 번 가져와봅니다. 많은 분들이 로제타 2가 모든 상황에서 AOT로 돌아간다고 생각하시는 것 같네요. ㄷㄷ;

 

x86 인텔 바이너리를 ARM 맥에서 구동할 수 있게 해 주는 Rosetta 2에서는 조금 더 이야기가 복잡해진다. Microsoft조차도 Windows 10에 x86-to-ARM Simulator를 집어넣었지만, 성능이 극도로 저하되는 문제로 사용자들의 외면을 받고 있는 처지이기 때문이다. 애플은 이 문제를 좀 더 똑똑하게 해결하는데, Universal 2와 마찬가지로 LLVM 컴파일러의 힘을 빌려 AOT (Ahead-of-Time)과 JIT (Just-in-Time) 기법을 모두 사용하는 것이다.

 

먼저 Mac App Store에서 배포되는 앱들은, ARM 맥이 본격적으로 출시되고 난 이후 시점부터는 Universal 2 바이너리의 형태로 강제로 ARM 바이너리를 지원해야 업데이트가 가능해질 것이기 때문에 크게 신경쓸 필요가 없다. 그럼 오랫동안 업데이트가 안 된 앱들은? 크게 두 가지 방법이 있다. App Store 서버에서 AOT Translation을 거쳐 ARM 바이너리를 생성해 제공하는 방법, 그리고 로컬에서 처리하는 방법이다. 서버에서의 AOT Translation은 재컴파일에 필요한 컴퓨팅 요구사항이 bitcode의 경우와는 달리 꽤나 크기 때문에, 실험적으로만 지원할 것으로 보이나 아직 확실치는 않다 (이와 관련된 상세한 내용들은 WWDC 이후 세션들에서 공개될 예정이므로, 상세 사항이 업데이트되는 대로 본 글을 수정할 예정이다).

 

App Store 바깥에서 배포되는 x86 앱들은, 마찬가지로 AOT Translation을 통해 설치 시 자동으로 ARM 바이너리로 변환된다. 다만 AOT 기법이 먹히지 않는 경우가 있으니, 바로 앱 그 자체가 JIT를 사용하는 경우다 (런타임, 가상화 등등). 이렇게 되면 바이너리 자체가 고정되지 않고, 프로세서에 전달하는 명령 옵코드가 매번 변경되기 때문에 사전에 ARM 바이너리를 생성하는 것이 불가능하다. 이러한 경우에만 제한적으로 실시간 x86 Translation을 사용하겠다는 것이다 (JIT를 위한 JIT). 즉 성능 저하가 상당히 있겠으나, 이런 류의 앱들의 경우 그 수가 많지는 않고 대부분 Universal 2를 통해 발빠르게 ARM 바이너리를 지원할 것이기 때문에 실제 ARM 맥이 소비자들에게 판매되는 시점에서는 크게 문제가 되지 않을 것으로 보인다.

WayBack
Remember 416
일본불매/NO JAPAN

MacBook Pro Early 2015 13"
iPhone 11 White
Mac Pro 2019
iPad Pro 12.9 Space Grey (2021, M1)
AirPods Pro (2nd generation)
MacBook Pro 14" Silver (M2 Max)
iPhone 15 Pro Natural Titanium
댓글
3
1등 id4thomas
2020.08.11. 12:00

AOT,JIT 보다 더 중요한게 LLVM 컴파일러 일겁니다. 컴파일러쪽은 잘 모르지만 JIT로 비트코드 변환을 하더도 x86 로우레벨 적인 부분만 변환해서 효율적인 것으로 알고있습니다. 한번 공부해보면 재밌을거같아보이더라고요  "애플이 LLVM 컴파일러의 개발에 투자하며, 가상 머신 없는 네이티브 레벨에서의 플랫폼 독립성을 확보했기 때문이다.  "

[id4thomas]님의 댓글을 신고합니다. 취소 신고
긴닉네임2003291156
2등 긴닉네임2003291156
2020.08.11. 12:04

LLVM (IR)의 위력이죠. 몇번 간단히 글을 쓰기도 했었  -_- ㅋ

[긴닉네임2003291156]님의 댓글을 신고합니다. 취소 신고
콜홍
3등 콜홍
2020.08.11. 13:12

오우... 웹 기술(html5, js)를 통한 크로스플랫폼에 회의적인 생각을 갖고 있었는데, 애플은 네이티브 크로스 플랫폼을 구상하고 있었군요.

[콜홍]님의 댓글을 신고합니다. 취소 신고
취소
번호 분류 제목 글쓴이 날짜 조회 수
공지 공지 사이트 이용 수칙 230228 수정 file admin 18.08.04 117390 13
핫글 미니 플립6 실사용 x일차 간단후기 [11] file 감자해커 24.07.13 841 16
핫글 미니 플립6 폰아레나 배터리 테스트 [20] file clever 24.07.13 856 12
핫글 미니 1호인가요? [8] file 만년휴학중 24.07.13 767 9
72026 미니 탭S7플 배터리 계산해보면 sands 20.08.14 475 2
72025 미니 아 근데 생각해보니 [1] 봉팔맨 20.08.14 291 0
72024 미니 패드프로 2020 11인치도 배터리 지속시간 이슈 있었나요?? [1] 랩시리즈 20.08.14 446 0
72023 미니 요즘은 USB 모기잡이도 있네요. [4] WayBack 20.08.14 398 0
72022 미니 사실 저는 발열도 걱정됩니다. [3] 크나앙 20.08.14 430 0
72021 미니 지금 탭칠플갖고계신 관계자 선생님들 보십시오 [4] 똥또로똥 20.08.14 642 1
72020 미니 S20 시리즈들은 ONE UI 2.5 업데이트 확정고시되었나요? [3] dlwlrma 20.08.14 679 0
72019 미니 저는 오히려 고정주사율 일부러 채택한 거 아닌가 했어요. [3] 까마귀 20.08.14 658 0
72018 미니 탭S7+ 배터리 가지고 난리길레 뭐 측정치 나왔나 했더니 [31] 봉팔맨 20.08.14 1552 2
72017 미니 12인치 탭S 배터리는 S8부터 쓸만해지겠네요 [7] Niflheimr 20.08.14 514 0
72016 미니 화웨이 "타샨" 프로젝트 [14] file 전자개복치 20.08.14 673 0
72015 미니 G마켓에서 버즈(플러스 & 라이브) 할인전 고고 [16] file 오토카모 20.08.14 628 1
72014 미니 탭7+ 배터리가 사르르 녹는다면 [8] 곰도리가고도리 20.08.14 626 1
72013 미니 60hz로 7~8시간 가는것도 이상합니다. [4] 크나앙 20.08.14 614 0
72012 미니 S7+ 배터리는 [3] sands 20.08.14 428 0
72011 미니 젤리빈 이전에 정말 30Hz였나요?? [11] 슈피리어 20.08.14 715 0
72010 미니 미10 울트라 투명케이스 버전이 진짜 투명이었군요?? [5] file 사람in 20.08.14 392 2
72009 미니 노태문씨 마인드 알겠습니다. [7] 브니엘 20.08.14 840 0
72008 미니 배터리 오래가고 문서작성 편한 갤럭시가 있습니다 [3] file 카더 20.08.14 524 0
72007 미니 탭S7+ 생각하고 있었는데 S7에 눈길이 가네요 흠... [3] Stellist 20.08.14 674 1
72006 미니 D - 4 [3] file 민초홀릭 20.08.14 338 0
72005 미니 오늘 에어팟 프로 왔습니다... [2] dlwlrma 20.08.14 432 5
72004 미니 음 결국 고해상도+고주사율은 근본적인 문제가 있군요 [5] 똥또로똥 20.08.13 674 0
72003 미니 보스 qc25 어떤가요? Bundle 20.08.13 129 0
72002 미니 문서작업 할껀데 s7+ 배터리 절망적이네요 [20] 크나앙 20.08.13 940 0

스킨 기본정보

colorize02 board
2017-03-02
colorize02 게시판

사용자 정의

1. 게시판 기본 설정

게시판 타이틀 하단에 출력 됩니다.

일반 게시판, 리스트 게시판, 갤러리 게시판에만 해당

2. 글 목록

기본 게시판, 일반 게시판, 썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

3. 갤러리 설정

4. 글 읽기 화면

기본 10명 (11명 일 경우, XXXXX 외 1명으로 표시)

5. 댓글 설정

일정 수 이상의 추천을 받은 댓글에 표시를 합니다.

6. 글 쓰기 화면 설정

글 쓰기 폼에 미리 입력해 놓을 문구를 설정합니다.

서버에 요청 중입니다. 잠시만 기다려 주십시오...