QNA > P > Perché Arm Non Contiene L'istruzione Divide?

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.

Di Weber

Quali sono i vantaggi e gli svantaggi del set di istruzioni Thumb rispetto alle istruzioni ARM a 32 bit? :: Come fa il tuo dipartimento HR a determinare lo stipendio di un dipendente?
Link utili