Benefits for ARM64

Recently, 64-bit ARM mobile phones have appeared. But are there any practical advantages to building a 64-bit application? In particular, considering an application that uses little for an increased virtual address space¹, but will spend some space due to an increase in the size of the pointer.

So ARM64 has other advantages than a larger address, which actually guarantees the creation of such a 64bit application?

Note. I saw 64-bit performance benefits , but it only mentions x86-64, which has other improvements besides the extended virtual address space. I also remember that the situation is really specific to x86, and on some other platforms that were 64-bit like Sparc, the usual approach was to only compile the kernel and applications that actually used most of the memory as 64-bit, and everything else is like 32-bit.


¹ The application is multi-platform and still needs to be created and run on devices with a memory size of 48 MB. Does it have any big data that it reads from external storage, but it does not need more than a few megabytes at once.

+4
source share
1 answer

I am not sure that a general answer can be given, but I can give some examples of differences. Of course, in version 8 of the ARM architecture, additional differences are added that apply regardless of the set of tasks.

Positive Positive Add-ons in AArch64

  • 32 General purpose registers give compilers more room to maneuver.
  • I / D cache synchronization mechanisms available from user mode (no system call required).
  • Load / Store-P instructions let you load 128-bit data with a single instruction and still remain RISC-like.
  • Eliminating an almost universal conditional execution makes possible more possibilities out of order.
  • NEON (D0 Q0, D1 Q1, Q0) .
  • 64- .
  • CSEL .

AArch64

  • .
  • .
  • .
  • load/store-multiple , / .

ARMv8-A

  • Load-Aquire/Store-Release .

, , , .

+5

All Articles