문제

전혀 이점이있는 경우 ... 문서에서 결정적으로 결정할 수 없었습니다.

명백하게 ARMV7은 iOS의 최신 버전을위한 것입니다 ... 그것은 더 빠릅니까?작은?X에서 더 나은

도움이 되었습니까?

해결책

더 큰 차이점 중 하나는 ARMv6 아키텍처가 두 배 정밀 부동 소수점 산술에 대한 하드웨어 지원을 가지고 있으며 ARMv7은 이중 정밀 부동 소수점 산술을위한 레거시 소프트웨어 지원을 제공한다는 것입니다.

보상을 위해 ARMv7 아키텍처에는 단일 정밀도 부동 소수점 산술에 대한 눈에 띄는 빠른 하드웨어 지원을 제공하는 "네온"장치가 있습니다.

단일 또는 이중 정밀도로 수행 할 때 부동 소수점 산술을 포함하는 것을 고려해야 할 사항을 고려해야 할 사항입니다.이중 정밀도로 수행하는 경우 그러나 반드시 정밀도가 필요하지는 않지만 단일 정밀도를 사용하여 ARMV7 장치에 상당한 성능 부스트를 얻을 수 있습니다.

Apple은 올해 WWDC 세션 중 하나에서 ARMv6과 ARMv7과 ARMV6과 ARMV7과 가속 프레임 워크에 대한 소개를 다루었습니다.비디오는 ITunes에서 여전히 사용할 수 있어야합니다 (7 월 '10).

다른 팁

이전 iOS 장치 (iPhone, iPhone 3G, 첫 번째 및 2 세대 iPod touch)는 ARMv6 명령어 세트 만 지원되는 CPU가 있습니다. iPhone 3G S (및 iPad 및 3 세대 iPod touch)에는 ARMv7 명령어 세트를 지원하는 최신 프로세서가 있습니다. 일반적으로 ARMv7은 이러한 최신 프로세서에서 더 빠릅니다. 적어도 iPad 전용 응용 프로그램에서 ARMv7 빌드를 포함시키는 것이 좋습니다 (iPad 전용 응용 프로그램에서는 ARMv7 용으로 만드는 것입니다).

Jasarien이 지적하기 때문에 명령 세트간에 가장 큰 차이의 영역이 부동 소수점 작업입니다. ARMV6에서 응용 프로그램은 줄어들어 줄무늬가 줄어들어 줄어들지 만 엄지 부동 소수점 성능은 끔찍했습니다. 따라서 엄지 손가락을 비활성화 할 필요가있었습니다. 더 빠른 부동 소수점 계산을 원했습니다. ARMv7에서 Thumb-2 명령 세트는 더 이상이 제한이 없으므로 Apple은 거의 모든 시간을 사용하여 컴파일하는 것이 좋습니다.

이전 장치 및 최신 장치의 경우 꺼짐을 조건부로 만들 수 있도록 Thumb을 조건부로 만들 수 있습니다. 이렇게하려면 Xcode 빌드 설정으로 이동하여 엄지 손가락으로 컴파일 옵션을 선택하십시오. 화면 하단의 메뉴로 이동하여 빌드 설정 추가 조건 옵션을 선택하십시오. 새 빌드 설정 조건에서 아키텍처에 대한 ARMv6을 선택하고 엄지 손가락을 끄고 다른 조건을 추가하고, 아키텍처에 대한 ARMv7을 선택하고, 엄지 손가락을 활성화합니다.

Stephen Canon의 답변 여기 및 이중 정밀도 부동 소수점 동작은 ARMv6의 하드웨어에서 지원됩니다. 나는이 플랫폼에서는 단 한 정밀도 산술이 캐시에 적합한 작업을 더 많이 발생할 수 있음을 발견했습니다. armv7, 네온 심드 부동 소수점 유닛은 단일 정밀도 작업에서만 작동하므로 단일 정밀도 작업과 두 배 정밀도간에 성능이 방대한 차이가있을 수 있습니다.

이 주제에 관심이있는 다른 질문은 다음과 같습니다.

나에게, armv7의 주요 이점은 다음과 같습니다.

  • thumb-2
  • 네온

네온은 명시 적으로 코딩되어야합니다. 단순히 재 컴파일하여이를 활용하지는 않지만 멀티미디어 / 게임 작업을 8 배로 가속화 할 수있는 시간을 투자 할 수 있습니다. 그러나 Thumb-2는 거의 없습니다.거의 단점이없는 코드 크기의 무료 감소 (armv6의 엄지와는 반대로 부동 소수점 코드가 ARM 모드와 비교하여 훨씬 더 느립니다).물론 ARMv7에서 실행 파일의 다른 버전을 추가하면 실행 가능 크기를 줄이지는 않지만 메모리, 캐시 등의 코드가 줄어 듭니다.

iPad 및 모든 iPhone / iPod Toch 모델에서 앱을 실행하려면 컴파일해야합니다.구형 iOS 장치는 ARM6을 사용하고 새로운 것들은 ARM7을 사용합니다.

하나 또는 다른 하나는 컴파일 된 코드 버전 만 필요하기 때문에 하나 또는 다른 하나에 대해 컴파일하지 않는 유일한 이유가 앱 크기가 줄어들 것입니다.그러나 진지하게 큰 코드베이스가 없다면,이 파일 크기 차이는 꽤 한계가 될 것입니다.

ARM7은 iPod touch (3 번째 Gen) 및 iPhone 3GS와 Newer에 대해 더 적합합니다.구형 장치 용으로 구축 할 때 '표준 / ARM6 + ARM7'을 사용해야합니다.실제로, 나는 내 애플리케이션에서 많은 성능 차이를 보지 못했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top