¿El sistema operativo difiere según ISA o según la microarquitectura?

¿El sistema operativo difiere según ISA o según la microarquitectura?

Si se desarrolla un sistema operativo, digamos, por ejemplo, 'Linux', ¿se escribirá de manera ligeramente diferente cuando sea necesario (perfilado) para diferentes microarquitecturas (Intel Pentium y AMD Athlon)?

Veo en uno de los hilos de intercambio de pila que el binario de Linux para x64 de AMD también se puede ejecutar en la arquitectura Intel x64. ingrese la descripción del enlace aquí

es decir, ¿no debería haber un código fuente de Linux diferente para Intel Pentium y AMD Athlon aunque compartan el mismo ISA (x86)? ¡La razón es que su implementación de ISA sería diferente, utilizando diferentes conjuntos de registros de control y datos!

Respuesta1

No pude llegar al núcleo del concepto, sin embargo reuní suficiente información necesaria para convencerme de que los sistemas operativos difieren según ISA (por ejemplo: x86 y x64) y no según la microarquitectura (Intel Pentium y AMD Athlon).

Una analogía simple es:

ES UNes comolenguaje c; 'un estándar', a seguir para hacer algo.

mientrasmicroarquitecturaes comocompilador de C; 'una implementación' para hacer cumplir esas reglas o estándares.

Extracto de wiki -Microarquitectura

Una ISA determinada puede implementarse con diferentes microarquitecturas; Las implementaciones pueden variar debido a diferentes objetivos de un diseño determinado o debido a cambios en la tecnología.

El ISA es aproximadamente el mismo que el modelo de programación de un procesador visto por un programador en lenguaje ensamblador o un compilador.La ISA incluye el modelo de ejecución, registros del procesador, direcciones y formatos de datos, entre otras cosas.La microarquitectura incluye las partes constituyentes del procesador y cómo se interconectan e interoperan para implementar la ISA.

Máquinas con diferentes microarquitecturas pueden tener la misma arquitectura de conjunto de instrucciones y, por tanto, ser capaces de ejecutar los mismos programas.Las nuevas microarquitecturas y/o soluciones de circuitos, junto con los avances en la fabricación de semiconductores, son lo que permiten a las nuevas generaciones de procesadores lograr un mayor rendimiento utilizando el mismo ISA.

Los factores que distinguen las diferentes microarquitecturas pero que aún implementan la misma ISA son:

Las unidades de ejecución también son esenciales para la microarquitectura. Las unidades de ejecución incluyen unidades aritméticas lógicas (ALU), unidades de punto flotante (FPU), unidades de carga/almacenamiento, predicción de rama y SIMD. Estas unidades realizan las operaciones o cálculos del procesador. La elección del número de unidades de ejecución, su latencia y rendimiento es una tarea central del diseño de microarquitectura. El tamaño, la latencia, el rendimiento y la conectividad de las memorias dentro del sistema también son decisiones de microarquitectura.

Las decisiones de diseño a nivel de sistema, como incluir o no periféricos, como controladores de memoria, pueden considerarse parte del proceso de diseño de microarquitectura. Esto incluye decisiones sobre el nivel de rendimiento y la conectividad de estos periféricos.

información relacionada