Casa > P > Porque É Que O Arm Não Contém Instruções De Divisão?

Porque é que o ARM não contém instruções de divisão?

*alguns* cpus ARM (vários antigos) realmente não continham uma instrução de divisão de números inteiros. A razão para isso é simples: o hardware necessário para implementar operações de divisão (e modulo) é caro, comparado com outras instruções (como a multiplicação). Em núcleos simples (como o ARM7TDMI), a implementação da divisão abrangeria cerca de metade da área do chip. Estatisticamente, a instrução de divisão de números inteiros não é muito utilizada, por isso eles a retiraram. Claro, a cpu pode realizar operações de divisão, mas as divisões são emuladas em software (que é uma operação lenta).

Se a operação de divisão não é usada com muita frequência (o que é o caso de muitas aplicações embutidas), por que gastariam metade da área do chip (e conseqüentemente muito consumo de energia e custo do chip) nesse caso?

alguns benchmarks da cpu não avaliam o desempenho da instrução de divisão de número inteiro. Um exemplo é o benchmark da Coremark, que se concentra na avaliação da memória (primeiro nível de cache) e do desempenho da cpu inteira.

De Nevile

Por que foi criado o conjunto de instruções do ARM Thumb? :: Que tipo de arquitetura de conjunto de instruções os processadores modernos usam?