Por que a montagem do ARM é mais fácil que a do x86?
É realmente?
É mais fácil de implementar de uma forma eficiente em termos de potência mas ainda rápida (é um ISA RISC, que combina melhor com o estado da arte das implementações RISC com pipelining e tudo). Mas na verdade escrever código nele pode não ser tão fácil.
P>Primeiro, você não pode carregar constantes arbitrárias em registros devido à largura de instrução fixa que tem que conter uma constante diretamente. Assim, constantes em instruções de carga-imediata na verdade estão em um formato de pseudo-ponto flutuante, o que na verdade as faz não cobrir todos os possíveis valores de 32 bits. Porque, você sabe, você precisaria de uma palavra completa de 32 bits para cobrir todas essas constantes, mas as instruções são todas uma única palavra.
Você não tem operações de memória a não ser carregamento explícito e armazenamento nos registros e operações de empilhamento. Na Intel, os modos de endereçamento e instruções são muito mais flexíveis deste ponto de vista (mas não é necessariamente mais rápido; é apenas mais rápido para dados no cache L1D, o que não acontece com tanta frequência)
I ignorará completamente as operações de ponto flutuante. Na Intel elas estão necessariamente disponíveis uma vez que eu acho que o primeiro Pentium, se não mesmo antes. No ARM, provavelmente chips suficientemente recentes também têm ponto flutuante de hardware, mas acredito que seja um desenvolvimento muito mais recente, tão recente como talvez 2010?
Ainda isso não torna as coisas mais difíceis, mas definitivamente não é mais fácil também.
Artigos semelhantes
- A diferença entre as linguagens de montagem ARM e x86-64 é assim tão grande? Quão fácil seria aprender uma se você já conhece a outra?
- Por que os processadores ARM são mais eficientes em termos de energia (desempenho/watt) do que os processadores x86?
- Qual arquitetura é mais segura: x86 ou ARM?
- Em termos de desempenho por unidade de consumo de energia, qual arquitetura de CPU é melhor, ARM ou x86?