ARM e Intel ganan dinero vendiendo su propiedad intelectual: el núcleo x86 y el núcleo ARM. En el caso de Intel, también hacen la parte difícil de convertir eso en silicio real y hacen el trabajo pionero de entregarlo en tecnología de proceso líder y de vanguardia. ARM parece estar contento de dejar que otros hagan la fabricación, por ahora.
La microarquitectura de estos núcleos define cómo funcionan internamente. Ambas son arquitecturas convencionales de almacenamiento de carga, por lo que los fundamentos son los mismos: buscar una instrucción, decodificarla y ejecutarla.
El ISA es simplemente la interfaz entre el procesador y el mundo real. Define todas las instrucciones que debe realizar el procesador. La microarquitectura que implementa el ISA puede y cambia de núcleo a núcleo.
- A la larga, ¿deberían las computadoras adaptarse a los humanos o los humanos deberían adaptarse a las computadoras?
- Cómo mejorar mis habilidades de escritura técnica
- ¿Cuál es el enfoque para un problema NP-completo?
- ¿Cuáles son algunas de las mejores prácticas al desarrollar una aplicación Meteor para soportar más de un millón de usuarios?
- ¿Se puede superar el problema del envejecimiento de la población de Europa aumentando el uso de la inteligencia artificial?
El trabajo del sistema operativo es mantener todo el sistema funcionando y haciendo cálculos productivos. Esto incluye administrar dispositivos, ejecutar aplicaciones, controlar la memoria, tratar con la red, etc.
EDITAR:
Un ensamblador es simplemente un programa que toma el código del lenguaje ensamblador y escupe un programa ejecutable de la máquina. Los diferentes sistemas operativos (SO) utilizan diferentes formatos para los ejecutables, por lo que el ensamblador necesita generar el formato de archivo apropiado para el SO donde se ejecutará el programa. Algunos procesadores pueden tener múltiples conjuntos de mnemónicos para el mismo conjunto de instrucciones, en cuyo caso el ensamblador implementará uno de ellos.
Las entrañas del sistema operativo suelen ser un pequeño ensamblador que implementa un conjunto de primitivas que el sistema operativo necesitará para realizar algunas funciones de muy bajo nivel. Estos incluirán el cambio de contexto entre hilos y el manejo de interrupciones. Además de esto, el resto del sistema operativo se puede escribir en un lenguaje de alto nivel y, por lo tanto, el compilador puede generar el código correcto. El compilador generalmente invoca al ensamblador (o tiene uno incorporado) para que efectivamente genere imágenes ejecutables.