0

My understanding is that the (main) reason of having a 64 bit processor, is to be able to use more than 4 GB of RAM.

In PCs, it is now very common to have more than 4GB of ram, and to really be able to use such ram, you NEED a 64 bit processor.

But for a smartphone, which (afaik) doesn't have more than 4GB of ram, what's the point? what is the benefit?

What kind of apps benefit from it that will really make a difference ?

Specific examples of apps taking advantage would be nice.

Do final users will even notice a difference? Or is it just a marketing strategy?

Note, i know a similar question has been answered here: https://superuser.com/q/56540/152803 but in this one i ask specifically for smartphones, that one is focused on Intel/AMD architecture. Besides, that answer is now more than 4 years old...

migrated from superuser.com Dec 19 '13 at 19:22

This question came from our site for computer enthusiasts and power users.

  • 3
    iPhone processors are ARM-based. As such, they don't follow the x86-64 instruction set.(source) – Doktoro Reichard Dec 17 '13 at 23:56
  • 1
    However, I believe the relevance is that the new instruction set provides more registers (i.e. the fastest memory around) while maintaining a degree of compatibility with older versions of ARM. As such, this new processor is faster by design. – Doktoro Reichard Dec 18 '13 at 0:06
4

My understanding is that the (main) reason of having a 64 bit processor, is to be able to use more than 4 GB of RAM.

Well, everything is 64 bits wide in a 64 bit CPU. For one, computation involving large numbers is more efficient.

ARM introduced a few changes and improvements in the move to 64-bit.

  • All 64-bit ARM CPUs have built in floating point.

  • Quite a few things were simplified, making it easier for compliers to create more optimized code.

  • The SIMD/floating point unit has more registers. This means more data can be processed in operations that use SIMD (like media decoding) or floating point (anything with 3d graphics).

  • It also has a few built-in instructions for cryptography.

Reference.

But for a smartphone, which (afaik) doesn't have more than 4GB of ram, what's the point? what is the benefit?

This is true now. I'd bet in 3-5 years it won't.

  • Also many traditional OSes like to have more virtual address space than physical address space. (Some of the physical address space is also taken by memory-mapped I/O.) Earlier software testing may also be a consideration. Furthermore software availability and use typically trails hardware availability. – Paul A. Clayton Dec 18 '13 at 5:48
1

For apps that use 64-bit arithmetics intensively, the improvement is obvious. But generally most don't need 64-bit arithmetic operations so the main improvement is on the new ARMv8 architecture. It's a completely refresh architecture with newer features, so even without 64-bit the performance is still higher. It's like Intel's core architecture which has much lower clock speed but works much faster than the old Pentium 4 on Netburst architecture.

ARMv8 AArch64's new features:

New instruction set, A64
    Has 31 general-purpose 64-bit registers.
    Has separate dedicated SP and PC
    Instructions are still 32 bits long and mostly the same as A32 (with LDM/STM instructions and most conditional execution dropped).
        Has paired loads/stores (in place of LDM/STM)
    Most instructions can take 32-bit or 64-bit arguments.
    Addresses assumed to be 64-bit.
Advanced SIMD (NEON) enhanced
    Has 32× 128-bit registers (up from 16), also accessible via VFPv4.
    Supports double-precision floating point
    Fully IEEE 754 compliant
    AES encrypt/decrypt and SHA-1/SHA-2 hashing instructions also use these registers.
A new exception system
    Fewer banked registers and modes
Memory translation from 48-bit virtual addresses based on the existing LPAE, which was designed to be easily extended to 64-bit

http://en.wikipedia.org/wiki/ARM_architecture#64.2F32-bit_architecture

For most non-memory intensive programs, the performance would probable increase due to the double number of registers (in fact more than double, since ARMv7 and below include SP, PC... in the register set). You can look at the benchmark here

Apple A7 benchmark
(source: imm.io)

Apple A7 benchmark2
(source: imm.io)

Apple A7 benchmark3
(source: imm.io)

ARMv8 is 64-bit, so that's the way Apple and others must go even if they don't want, or they'll have to introduce their own architecture and rewrite all the platform. All future ARM CPU will also 64-bit

  • Your last statement is false. ARMv8 Application profile includes AArch32. (In fact the Real-time profile excludes AArch64. Somewhat obviously, the Microcontroller profile is 32-bit only--Thumb2-based.) It is unlikely that even ARMv9 will deprecate (i.e., announce eventual end-of-line of) stand-alone AArch32, so ARMv11 might be the earliest that AArch32 might be unavailable in the Application profile. Apple will probably drop support for AArch32 code well before ARM releases a version that mandates AArch64 support, especially given the app store model of software distribution. – Paul A. Clayton Dec 18 '13 at 5:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .