Perché ARM non contiene l'istruzione divide?
*Alcune* cpu ARM (parecchie vecchie) non avevano davvero un'istruzione di divisione intera. La ragione è semplice: l'hardware necessario per implementare le operazioni di divisione (e modulo) è costoso, rispetto ad altre istruzioni (come la moltiplicazione). In core semplici (come l'ARM7TDMI), l'implementazione della divisione occuperebbe circa metà dell'area del chip. Statisticamente, l'istruzione di divisione intera non è molto usata, quindi l'hanno tolta. Naturalmente, la cpu può eseguire operazioni di divisione, ma le divisioni sono emulate nel software (che è un'operazione lenta).
Se l'operazione di divisione non è usata molto spesso (che è il caso di molte applicazioni embedded), perché dovrebbero spendere metà dell'area del chip (e di conseguenza molto consumo di energia e costo del chip) in questo caso?
Alcuni benchmark della cpu non valutano le prestazioni dell'istruzione di divisione intera. Un esempio è il benchmark Coremark, che si concentra sulla valutazione delle prestazioni della memoria (primo livello di cache) e della cpu intera.
Articoli simili
- Qual è lo scopo di una carta SIM? Quali informazioni contiene? Mi è stato detto che contiene la cronologia internet, i contatti, ecc. È corretto?
- Qual è la differenza tra un'istruzione LDM e una VLDM nell'architettura del set di istruzioni ARM?
- Perché è necessaria una licenza di ARM per progettare una CPU ARM? Come sono protetti i set di istruzioni?
- Qual è la tua app preferita per l'istruzione/apprendimento? Perché?