Sua pergunta pode ser interpretada como bastante ampla, mas acho que o que você está realmente perguntando é extremamente específico. A diferença fundamental entre as diferentes implementações de arm64 vs. aarch64.
No centro da sua pergunta, diferentes processadores fornecem conjuntos de instruções diferentes. Eu normalmente faço referência a esta página da Wikipédia intitulada: Lista de conjuntos de instruções , já que é a lista mais completa que já vi na Internet.
Conjuntos de instruções
No coração de cada microprocessador há um conjunto de instruções que ele pode executar. A interface para os conjuntos de instruções é o que compiladores convertem linguagens de programação de nível superior, como C / C ++, até código de máquina. Este código de máquina é as instruções do conjunto de instruções da CPU. Aliás instruções em um conjunto de instruções normalmente se parecem com isso:
x86 nasm - link extern printf
global main
section .text
main
mov eax, dword [_a]
mov ecx, dword [_b]
push ecx
push eax
and eax, ecx
mov ebx, _opand
call out_ops
OBSERVAÇÃO: você também ouvirá o código da máquina referido como linguagem assembly.
arm64 vs. aarch64
Com essas duas arquiteturas, consegui encontrar essa resposta do SO: intitulado: Diferenças entre arm64 e aarch64 , que declarou a diferença da seguinte forma:
AArch64 is the 64-bit state introduced in the Armv8-A architecture. The 32-bit state which is backwards compatible with Armv7-A and previous 32-bit Arm architectures is referred to as AArch32. Therefore the GNU triplet for the 64-bit ISA is aarch64. The Linux kernel community chose to call their port of the kernel to this architecture arm64 rather than aarch64, so that's where some of the arm64 usage comes from.
As far as I know the Apple backend for aarch64 was called arm64 whereas the LLVM community-developed backend was called aarch64 (as it is the canonical name for the 64-bit ISA) and later the two were merged and the backend now is called aarch64.
So aarch64 and arm64 refer to the same thing.
Algumas de suas perguntas
Você está fazendo perguntas muito numerosas para responder em uma única pergunta. Vou tentar responder o mais importante, no entanto.
Q4. What makes me confused is the reason why archlinuxarm community doesn't provide stage rootfs tarball for only arm64 armel and etc. instead of different vendors' different products? Is it means that for example instruction set in DragonBoard 410c is different from Raspberry Pi 3? Or in other word, If I install Archlinuxarm for DragonBoard 410c to Raspberry Pi 3, What will happen? Can it boot properly?
Para os detalhes sobre isso, você teria que perguntar à comunidade do Arch por que eles optaram por fazer as coisas dentro desse projeto. Em termos de sua pergunta sobre como rodar o Archlinuxarm construído especificamente para o 410c em um Raspberry Pi 3, minha sugestão seria tentar.
Ambos os processadores são processadores ARM, como mostrado aqui:
Portanto,minhaexpectativaéquevocêpossausarosmesmosbináriosemambos.Porúltimo,euprovavelmentecomoumaperguntadeacompanhamentonositeRaspberryPiStackExchange.Existeminúmerasperguntasaolongodaslinhasdoquevocêestáperguntando,porexemplo:
Qual conjunto de instruções é usado no chip ARM / Broadcom do Pi?