iPhone에서 64 비트 A7의 이점은 무엇입니까


21

64 비트 프로세서로가는 것이 왜 아이폰에서 그렇게 큰지 알아 내려고 노력 중입니다. 프로세서가 두 배 더 많은 데이터를 처리하여 성능을 향상시킬 수 있도록 두 배의 레지스터가 있다는 것을 알고 있습니다.

그러나 많은 전화가 곧 4GB 이상의 메모리로 이동하는 것을 보지 못했습니다. 잔인한 것처럼 보이며 배터리 수명에 부정적인 영향을 미칩니다.

내가 본 또 다른 문제는 대부분의 변수에 이제 두 배의 메모리가 필요하다는 것입니다. 이것은 적은 양의 메모리를 가진 모바일 환경에서 문제를 일으킬 것입니다.

나는 애플의 사람들이 똑똑하고 아마도 이것을 할 큰 이유가 있다고 생각합니다. 나는 그들을 이해하려고합니다.

편집하다

GPU에 대해 잘 모르지만 64 비트 레지스터를 사용하면 각 레지스터에 2 픽셀을로드 할 수 있으며 개별적으로 작업을 수행 할 수 있다고 들었습니다. 64 비트와 관련하여 그래픽 이점이 있습니까?


2
참고로-처리 능력이 높을수록 프로그래머가 이전보다 더 여유를 가질 수 있다는 것을 의미합니다 (최적화가 적음).
Vlad Preda

3
@ Chris.Stover-오늘날에는 이점이 없습니다. 물론 내일 iOS 애플리케이션은 휴대 전화에 더 많은 메모리가 있으면 더 많은 메모리를 사용할 수 있습니다. 불과 5 년 만에 전화 메모리 용량이 200 % 이상 증가했습니다. 추세가 계속되면 매우 짧은 시간에 6GB-8GB 전화를 볼 수 있습니다. 애플은 또한 이런 일을 할 때도 기대한다. ARM은 앞으로 64 비트 디자인 만 라이센스 할 것이라는 사실에 이르렀습니다. 그것은 실제로 전화에 더 많은 레지스터가있어 실제로 더 빠릅니다. 오늘날 64 비트 사양은 중요하지 않습니다.
Ramhound

1
두 배가 아니고 수십 배 더 큽니다. 32 비트 프로세서는 4GB의 RAM 상단 만 처리 할 수 ​​있습니다. 64 비트 프로세서는 약 18 엑사 바이트를 처리 할 수 ​​있으며 이는 3 배 더 높습니다.
세계 엔지니어

7
더 이상 640k 메모리 제한
Reactgular

1
Nexus 5에는 3GB의 RAM이있을 것으로 의심되며 다음 달에 출시 될 예정입니다. 나는 당신이 생각하는 것보다 4GB +가 멀다고 생각하지 않습니다.
Brendon

답변:


25

그것은 대중에게 깊은 인상을주기 때문에 대부분 큰 숫자를 버리고 있습니다. 숫자가 클수록 분명히 우수하므로 64 비트 프로세서가있는 것이 32 비트 프로세서가있는 것보다 분명히 좋습니다. 새로운 CPU는 이전 모델보다 훨씬 낫지 만 Apple 방식에서는 기술 사양을 기반으로 마케팅을 시도하지 않을 것입니다. 64 비트 A732 비트 보다 더 새롭고 더 낫다 는 것을 알려줍니다. 비트 A-6 . 그러나 기술 사양을 보면 다음과 같습니다.

  • 28nm vs 32nm 칩 워크
  • 개선 된 통합 그래픽 프로세서
  • ARM v8 아키텍처 v. ARM v7 (SIMD 기능 추가, 범용 레지스터 13에서 31로 점프)
  • 온다이 (즉, 더 빠른) 메인 메모리

그 외에도, 우리가 '4GB 월 (wall)'에 맞서기 전에 오늘날 64 비트 하드웨어를 롤아웃 (역 호환) 할 수 있다는 사실이 있습니다. 몇 년 안에 64 비트가 필요할 때 모든 하드웨어가이를 지원할 것이며 레거시 32 비트 아키텍처를 처리 할 필요가 없습니다.


1
실제로 위키 기사에서 정보의 소스를 찾을 수 없습니다. 다른 사이트는 1.5GHz에서 듀얼 코어를보고합니다. 한 위키 페이지에 A7이 1.7GHz 옥타 코어라고 나와 있습니다. 다음을 참조하십시오. en.wikipedia.org/wiki/Apple_(system_on_chip) pdadb.net/index.php?m=pdacomparer&id1=4962&id2=4829
Chris.Stover

2
@ Chris.Stover는 Apple이 기술 사양에서 하드웨어를 판매하지 않는다는 것을 보여주기 위해 노력합니다. "Newer & Better!" 새로운 하드웨어가 실제로 더 나은 이유를 알려주기보다는 차세대로 .
Sean McSomething

2
ARM v7은 이미 40 비트 주소 라인 (1TB RAM)을 지원하지만 해당 32 비트 아키텍처의 앱은 각각 4GB 만 지정할 수 있습니다. Arm v8은 현재 32 비트 앱을 지원하므로 이전 버전과의 호환성은 문제가되지 않습니다.
gbjbaanb

16

많은 ARMv7 코어가 LPAE (Large Physical Address Extension)를 지원하므로 ARMv7 에는 "4GB 벽"이 없습니다. LPAE는 40 비트 주소 지정을 사용한다는 점을 제외하고 x86에서 PAE와 유사한 개념입니다. 즉, LPAE가 장착 된 ARMv7은 최대 1TB의 RAM을 처리 할 수 ​​있습니다 .

A7을 포함한 다가오는 ARMv8 코어 는 64 비트 물리적 주소 지정을 사용하지 않을 것 입니다. 대부분의 A7은 40 비트 또는 44 비트 실제 주소 지정을 사용합니다. 나중에 최대 16TB RAM에 액세스 할 수 있습니다.

물론 ARMv7의 LPAE 또는 ARMv8의 AArch32 모드에서는 응용 프로그램이 여전히 32 비트이므로 응용 프로그램 자체는 한 번에 4GB 만 액세스 할 수 있습니다. 그러나 나는 그것이 곧 모바일 장치에서 문제가 될 것이라고 생각하지 않습니다.

앱이 더 많은 메모리 (64 비트 포인터)를 사용한다고 걱정하지만 앱이 32 비트 모드 (AArch32)에서 실행되는 것은 아닙니다.

반면 ARMv8은 AArch64와 관련이없는 ARMv7에 비해 다른 아키텍처 개선 기능을 제공합니다.

TL, DR : A7의 64 비트는 마케팅 특수 효과입니다. RAM이 4GB를 초과하는 시스템에서도 32 비트 앱의 LPAE보다 큰 이점을 제공하지 않습니다. 64 비트 앱은 곧 출시되지 않을 것입니다.

업데이트 : Qualcomm 마케팅 임원 (현재이 전직 임원 은이 의견에 대한 강의 로 확인 됨)에 의해 확인되었습니다 .

Qualcomm의 수석 부사장 겸 최고 마케팅 책임자 인 Anand Chandrasekher는 인터뷰에서 "애플이 A7에서 [64 비트]를 사용했기 때문에 많은 소음이 발생한다는 것을 알고있다"고 말했다. "나는 그들이 마케팅 특수 효과를하고 있다고 생각한다. 소비자가 얻는 혜택은 전혀 없다."

찬드라 세커는 64 비트의 이점은 더 많은 메모리 주소 지정 가능성이지만 오늘날의 스마트 폰이나 태블릿과는 관련이 없다고 말했다. iPhone 5에는 1GB의 DRAM 만 있습니다.

"주로 ... 4GB 이상의 메모리 주소 지정을 위해 필요합니다. 그게 전부입니다. 실제로 성능에 필요하지 않으며 64 비트가 주로 사용되는 응용 프로그램의 종류는 대규모 서버급 응용 프로그램입니다." 이전에 인텔의 모바일 플랫폼 그룹을 운영 한 Chandrasekher ( 소스 )


9

존재 하는 A7것에 중점을두면 ARMv8분명한 이점이 있습니다. ARM은 명령어 세트와 아키텍처를 재부팅합니다.

이전 ARMv7버전 과의 호환성으로 다음 버전에서도

  • 새로운 명령어 세트 (A64)
  • AArch64 상태의 예외에 대한 예외 처리 수정
  • 더 적은 뱅크 레지스터 및 모드

따라서 아키텍처 차이에 대한 ARMv8과제로 인해 ARMv7시스템 개발자에게보다 깔끔한 인터페이스를 제공하여 레거시 기능을 제거하여 더 나은 플랫폼으로 연결될 수 있습니다. 즉, 배터리에 부정적인 영향을주는 대신 성능 / 에너지가 향상 될 것으로 예상됩니다.

ARM 아키텍처 미리보기 에 대한 자세한 내용을 참조하십시오 .


+1. 그루버는 ARMv8이의 장점을 잘 설명이 daringfireball.net/2013/09/the_iphone_5s_and_5c을 . ( "A7 : ARMv8 및 64 비트 아키텍처"로 스크롤하십시오.)
Josh Kelley

4

64 비트 프로세서에서 32 비트보다 큰 장점은 메모리 크기가 아니라 메모리 이동입니다. 32 비트가 직접 액세스에 4GB 제한을 부과 할 수있는 것은 사실입니다. 그 한계를 극복하기위한 많은 하드웨어 / 소프트웨어 솔루션이 있습니다.

64 비트 프로세서는 단일 프로세서 작업으로 더 많은 데이터를 간단히 읽고 쓸 수 있습니다. 어셈블리 코드는 8 바이트 블록에서 작업을 수행 할 수 있습니다. 이것은 32 비트 프로세서보다 큰 성능 이점을 가질 수 있습니다. 부동 소수점 계산은 64에서 32보다 빠르며 CPU가 이중 레지스터를 사용하면 128 비트 데이터 블록에서 작동 할 수 있습니다.

64 비트 프로세서는 물리적 메모리에 대한 대역폭도 넓습니다. 1080p로 녹화되는 카메라가 있고 해당 비디오를 편집하려는 경우. 1GB 비디오 파일에서 작업을 수행하면 64 비트에서 더 빠릅니다.

프로세서의 Ghz가 동일하게 유지 되더라도 위의 모든 사항이 적용됩니다.

64 비트가 너무 좋으면 128 비트가 아닌 이유는 무엇입니까?

CPU의 파이프 라인에 더 많은 비트를 추가할수록 CPU가 더 많은 데이터를 이동해야합니다. CPU는이 대역폭을 16 또는 32로 좁힐 수 없습니다. 따라서 소프트웨어 개발자에게는 문제가됩니다. 대부분의 소프트웨어 (캘린더, 메모 등)는 많은 데이터에 의존하지 않으므로 128 비트는 많은 낭비되는 대역폭을 수반합니다. 이것은 성능과 배터리 수명을 방해 할 수 있습니다. 따라서 CPU 제조업체는 대역폭과 소프트웨어 요구 사항 사이의 균형을 찾아야합니다.

애플이 모바일 컴퓨팅의 삶에서 곧 새로운 64 프로세서를 출시 한 것에 놀랐습니다. 이것에 대한 그들의 진정한 동기는 3D 그래픽이라고 생각합니다. 64 비트 프로세서를 사용하면 휴대폰에서 더 많은 데이터를 GPU로 빠르게 이동할 수 있습니다. 이를 통해 빠른 3D 게임과 더욱 인상적인 그래픽이 가능합니다. 실시간 3D에서 64 비트의 이점을 실제로 볼 수 있습니다.이 프로세스는 데이터에 크게 의존하기 때문입니다.


4
최근 / 현대 CPU 아키텍처는 여기에 설명 된 것보다 훨씬 복잡합니다. CPU cache lines는 16 비트 32 비트 또는 64 비트 일 수있는 메모리 버스를 통해 호출되는 단위로 메모리에서 데이터를 이동합니다 . CPU 아치의 기본 단어 크기와 일치하지 않아도됩니다. 큰 문제는 데이터를 옮기는 것이 맞지만 그 문제는 다른 하드웨어 / 아키텍처 도메인에 속합니다. FP는 실제로 매우 빠르며 단 정밀도 또는 배정 밀도 크기로 작동 할 수있는 FPU에서 수행됩니다. 비디오 디코딩 또는 3D와 동일하지만 실제로 64 비트 일 필요는없는 모든 전용 하드웨어가 있습니다.
auselen

4
what every programmer should know about memory호기심 많은 개발자 akkadia.org/drepper/cpumemory.pdf가
auselen

2

많은 수를 처리 할 때 작업이 쉬워집니다. 암호화 (PRISM이 안전한 휴대 전화를 갖는 것이 매우 중요해진 이후) 및 과학 응용 프로그램에서는 많은 수가 매우 중요합니다.


1

32 비트를 고수하면 문제가 발생하지 않을 수 있지만 가까운 시일 내에 문제가 발생할 수 있습니다. 데스크탑 세계에서 배운 교훈은 전환이 길고 고통스러운 과정이라는 것입니다. 따라서 나중에보다 빨리 시작해야합니다.

심지어 스마트 폰이 64 비트 비트가 아니었다는 것은 놀랍습니다.


현재 앱을 32 비트로 변환하여 테스트했습니다. 많은 경고가 있었지만 오류는 없었습니다. 운 좋게 사과는 모든 경고에 대해 제안 된 수정 사항이 있으므로 각 경고를 클릭하고 Enter 키를 눌러 수정 사항을 수락하십시오. 약 5 분이 걸렸고 64 비트로 실행되었습니다. 두통도 문제 없습니다 ... 지금까지
Chris.Stover

0

기술적으로 많은 이점이 있다고 생각하지 않습니다. 먼저 iPad를 고려할 때 더 의미가 있다고 생각합니다 (배터리가 더 크므로 더 많은 램, 프로세서의 더 높은 에너지 소비 등을 지원할 수 있습니다). 두 번째로 지금 진행중인 다른 발표를보십시오. AMD는 2014 년에 64 비트 ARM 프로세서를 출시 할 것이라고 발표했습니다. 이것은 기본적으로 애플이 고급 Android 및 Win8 태블릿에 출시 될 때 시장 주도권을 유지하고 있습니다.


0

단기적으로는 거의 아무것도 없습니다. 실제로 몇 가지 방식으로 되돌아갑니다. 내가 아는 세 가지 주요 장점이 있습니다.

  1. 64 비트는 숫자가 클수록 훨씬 뛰어나므로 암호화에 유리합니다. 전화기의 지문 스캐너와 흥미로운 조합 일 수 있습니다.
  2. 같은 맥락에서, 64 비트 및 많은 수의 개선은 물리 렌더링에 도움이됩니다. iOS7의 UI에 사용되는 물리량을 고려하면 편리합니다. 이것은 또한 게임 개발자들에게도 도움이되며 특히 iPad와 같이 화면 면적이 큰 무언가에 유용합니다.
  3. 또한이를 사용하여 미래의 현재 전화 교정 기능을 어느 정도 추가합니다.

0

벤치 마크.

x86, MIPS 및 ARM ISA를 사용하여 32 비트와 64 비트 아키텍처 모드를 모두 구현할 수있는 일부 구현의 경우 64 비트 모드는 특정 중요한 응용 프로그램에서 더 빠르게 벤치마킹했습니다. 한 가지 중요한 이유는 64 비트 ISA가 더 최신 버전이므로 ISA 아키텍트는 애플리케이션 통계 및 ISA를 정의 할 때 해당 애플리케이션 동작 세트를 최적화하는 방법에 대해 더 많이 알고 있기 때문입니다. 또한 새로운 프로세서 ISA는 무어의 법칙에 따라 증가하고 있으며 이미 모바일 장치 영역에서 백만 배 이상 증가한 애플리케이션 메모리 요구에 대비하여 미래를 대비해야합니다.

따라서 새로운 arm64 ISA는 사용자가 개발할 수있는 성능 제한 코드 (내 코드에 있음)에서 더 빠르게 벤치마킹 할 수있을뿐만 아니라 벙어리 C 포인터가 10 년 이상 일반적 일 가능성이있는 방대한 가상 주소 공간을 처리 할 수 ​​있도록합니다. 원래의 32 비트 ARM ISA보다 훨씬 적은 시간이 이미 존재했습니다).

특정 응용 프로그램 세트의 성능 (확인 수단)은 arm64를 선호하는 큰 이유입니다.


-4

64 비트를 사용하면 OSX의 데스크톱 빌드 (모두 64 비트)와 훨씬 더 많은 코드를 공유 할 수 있습니다.


그러나 현재 모든 iOS 앱은 32 비트 호환성을 유지해야하므로 64 비트 전용 코드는 32 비트로 변환해야합니다.
Bryan Chen

1
그러나 어쨌든 완전히 다른 아키텍처 (x86-64 대 armv8)입니다. 그로부터 제로 게인 (C / C ++ / ObjC에서 제대로 작성된 프로그램은 요구 사항이 아니더라도 여러 비트에서 작동합니다).
Jan Hudec
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.