Estoy estudiando familias ARM,
En la imagen anterior, está escrito que el código de ARM7 compatible se puede migrar a ARM9 y otros.
ARM7 utiliza la arquitectura de Von-Neumann (un solo bus para datos e instrucciones) y la canalización de 3 etapas (es decir, buscar, decodificar y ejecutar). ARM9 y otros utilizan la arquitectura de Harvard (bus separado para datos e instrucciones) y 5 etapas (captura, decodificación, ejecución, memoria y escritura (para ARM9)). Además, ARM7 no admite una unidad de administración de memoria, pero otros sí lo hacen.
¿Cómo puede ser compatible el código si los procesadores utilizan arquitecturas y tuberías diferentes? ¿No habrá ningún efecto de las arquitecturas en los códigos?
Supongo que, como ARM9, ARM10, ARM11 tienen las mismas arquitecturas, el código puede ser compatible, pero ARM7 es diferente de otros procesadores. Por lo tanto, uno debe hacer algunos cambios en el código antes de migrar debido a arquitecturas diferentes. Me pregunto si es correcto o no.