¿Cómo se interrelacionan la arquitectura del conjunto de instrucciones, la microarquitectura y el procesador y los sistemas operativos?

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.

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.

More Interesting

¿Podríamos estar viviendo en un mundo generado por procedimientos?

¿Cuál es la evolución de la arquitectura del sistema?

¿Cuál es el objetivo del análisis de algoritmos?

¿Qué tan cerca estamos de crear una supercomputadora en la que podamos insertar una conciencia humana?

¿Qué es el servidor weblogic?

¿Cómo funciona la virtualización?

¿Qué ventajas tiene el análisis de regresión múltiple sobre métodos de aprendizaje automático más sofisticados?

¿Qué tan rápido tendrán que ser las computadoras para descifrar una contraseña de 20 caracteres en un día?

Mientras instalaba Mavericks OS X en mi PC con Windows 7 usando una máquina virtual, arrojó un error que decía 'Mac OS X no es compatible con la traducción binaria. Para ejecutar Mac OS X, necesita un host en el que VMware Player sea compatible con Intel VT-x o AMD-V '. ¿Cómo puedo arreglar esto?

Para comenzar una empresa de tecnología en aprendizaje automático e inteligencia artificial, ¿es mejor exponerse al campo en la industria o en un entorno posdoctoral?

¿Cómo mejora BWT la compresión?

¿Cómo funciona el renderizado con memoria RAM?

¿Qué conceptos básicos debo tener antes de comenzar el aprendizaje automático y la inteligencia artificial?

Planeo comprar un sitio web en Flippa. Solo tengo experiencia en html y css. ¿Qué otras habilidades debo aprender? (En términos de administrarlo únicamente por $)

¿Cómo hacemos que una computadora realice tareas inteligentes?