porque la ruta de datos implica la obtención, decodificación y ejecución de la instrucción y debe ser la misma para todas las arquitecturas de conjuntos de instrucciones.
De hecho, es un poco cierto y un poco falso:
Por lo general, puede dividir lógicamente su procesador en estos pasos, pero esa es una manera de mirar .
Especialmente para núcleos de CPU complejos, y más aún si se utiliza la canalización y la operación especulativa, las líneas entre, por ejemplo. la decodificación y la ejecución pueden volverse un poco borrosas.
Más aún: muchas arquitecturas (especialmente las que no son RISC) operan con una instrucción interna diferente a la de su ISA "pública".
Si el ISA tiene un modo de dirección de registro indirecto, y la etapa de decodificación lo convierte en una instrucción de registro fijo en el microcódigo, marcando ese registro como en operación (para que las cosas que ingresen en la tubería sepan que deben esperar hasta la modificación del registro está terminada en caso de que necesiten leerlo), ¿eso ya es parte de la ejecución o aún se está decodificando?
Si tiene un canal inteligente que ve una rama y obtiene solo la siguiente instrucción "más probable", ¿no es eso también una ejecución "prematura"?
Entonces, estás mapeando conceptos a implementaciones reales. Eso te da la libertad de interpretar cosas, pero también una falta de claridad.
Entonces, ARM no es un núcleo: hay una gama relativamente amplia de núcleos ARM, que pueden exhibir la misma ISA (o más bien, una de las cuatro ISA ARM), pero funcionan de manera muy diferente internamente, y sus tuberías difieren sustancialmente: desde los núcleos cortex-M con más espacio sobre el cortex-R de latencia definida hasta los procesadores de aplicaciones con extensiones SIMD y tuberías de gran longitud.