Cómo funciona la CPU
Cómo funciona la CPU
La función de este código es imprimir "hola sistema operativo" en la pantalla. Este código no se explicará demasiado. Este código es principalmente para varios básicos. Los conceptos se introducen más adelante.
El efecto después del inicio es el siguiente:
Cómo cargar el sistema operativo Ya hemos hablado de cómo cargar nuestro sistema operativo. Al cargar el sistema operativo, es el. programa de inicio principal que mencionamos anteriormente El código es en realidad equivalente al programa MBR (pero aquí no inicia ni carga el sistema operativo, solo imprime una oración en la pantalla).
Después de que el BIOS complete la autoprueba y otras operaciones de inicialización, saltará al 0x7c00 fijo para ejecutar el programa de arranque principal, por lo que nuestro código usa vstart=0x7c00 para indicar que mi código estará en 0x7c00 en la memoria inicializada en.
Entonces, después de iniciar la máquina virtual, el BIOS saltará a nuestro programa una vez completado, y luego la CPU lo ejecutará de acuerdo con las instrucciones de nuestro programa y finalmente imprimirá hello os en el pantalla.
La dirección es la distancia entre el símbolo en el archivo fuente y el comienzo del archivo. La dirección inicial predeterminada del archivo suele ser 0.
Nuestra aplicación. Cuando usa vstart, su aplicación obtiene una dirección de inicio virtual, ya sea una dirección virtual o una dirección real, y tan pronto como la alimenta al bus de direcciones, el bus de direcciones busca el contenido de esa dirección. Por lo tanto, si utiliza vstart durante el desarrollo, debe asegurarse de que el programa aparezca en la memoria física en esa dirección.
La CPU funciona en modo real y en modo protegido. El espacio máximo de direccionamiento en modo real es de 1 M. Antes de presentar estos dos modos, primero hablemos de cómo funciona la CPU.
La única tarea de la CPU es ejecutar instrucciones. En el proceso de ejecución de instrucciones, la CPU necesita trabajar con tres componentes:
La unidad de control es el núcleo de la CPU. Solo Solo a través de la unidad de control la CPU puede saber lo que debe hacer a continuación, y solo a través de la unidad de control la CPU puede saber lo que debe hacer a continuación. La unidad de control se compone aproximadamente de tres partes:
Cuando nuestro programa de aplicación (es decir, instrucción) se carga en la memoria, el registro de puntero de instrucción IP apunta a la siguiente instrucción que se ejecutará en la memoria y la envía. al bus de direcciones, la unidad de control luego busca la instrucción y la carga en el registro de instrucciones IR, momento en el cual la instrucción se envía al bus de direcciones. En este punto, la instrucción es solo una cadena de números y letras, y la CPU debe usar el ID del decodificador de instrucciones para decodificar y analizar esta cadena de números y letras de acuerdo con el formato de la instrucción.
El prefijo es un módulo opcional en el formato de instrucción. El código de operación corresponde a mov, jmp, etc. en nuestra aplicación. El direccionamiento se divide en direccionamiento base, direccionamiento variable, etc. (se presentará en detalle más adelante), el tipo de operando es el tipo de registro utilizado. El direccionamiento inmediato y el direccionamiento compensado corresponden respectivamente a si estamos direccionando un número inmediato o un compensación.
Las unidades de memoria son las cachés L1 y L2 y los registros en la CPU que almacenan los datos utilizados en las instrucciones.
Una vez completadas las instrucciones y los datos, el controlador de operación en la unidad de control envía una señal a los componentes relevantes para iniciar la ejecución.