Cuando enciende una computadora, ¿qué hace la CPU de inmediato?

Prácticamente todas las CPU, ya sea en una computadora convencional o en cualquier otro dispositivo, comenzarán desde un estado de reinicio ejecutando código en alguna dirección fija. Esa dirección varía según el tipo de CPU, y comúnmente se denomina vector de reinicio. En una CPU x86, está en la dirección 16 bytes menos que la memoria máxima direccionable. Muchas CPU comienzan a ejecutar código en la dirección 0000 al salir del reinicio. En un sistema en funcionamiento, debe haber algún tipo de código significativo en esa dirección, y normalmente en el año 2017 será algún tipo de memoria no volátil, como flash o ROM / PROM / EPROM. En los días pasados, un operador habría utilizado una serie de interruptores para alternar algún código en la memoria en la dirección de restablecimiento del vector, y luego activó un restablecimiento para iniciar la computadora. La mayoría de los sistemas tienen algún tipo de circuito lógico o analógico para mantener la CPU en un estado de reinicio hasta que la energía se haya estabilizado lo suficiente como para suministrar correctamente todas las partes del sistema.

x86 comienza a ejecutar código 16 bytes antes del final del espacio de direcciones físicas. En esta ubicación, el chipset asigna el BIOS. Las últimas instrucciones vuelven a una ubicación conocida, para que la dirección de inicio de ejecución del BIOS sea independiente del tamaño del BIOS.

La mayoría de las otras arquitecturas comienzan a ejecutarse en la dirección física 0.

Tiene un firmware dentro de la CPU que usa para inicializarse hasta que pueda hablar con el Chipset.

Después de que puede hablar con el Chipset, el chipset le da la BIOS que inicializa la placa base, generalmente aquí es donde obtiene acceso al ddr ram. Hasta ahora se ejecutaba en el RAM interno de la CPU (generalmente es el caché antes de configurarse como caché).

Una vez que tiene acceso al ram, inicializa todo el resto del hardware y las publicaciones.

Después de eso, la BIOS busca el dispositivo de arranque y arranca la computadora.

Lo primero que hace es restablecer la placa base para ponerla en un estado conocido.

Lo siguiente es ejecutar el código de arranque que carga el cargador inicial.

pasaría varios ciclos de reloj resolviéndose en un reinicio, luego saltaría directamente a la rutina del cargador de arranque en la ROM y comenzaría a ejecutar el cargador de arranque que hace girar la unidad de arranque, aloja su cabezal de lectura y comienza a cargar el sistema operativo desde la unidad …

SI-)

A2A: al ejecutar código desde la ROM del BIOS (o UEFI), lee en la memoria (desde el disco duro) un pequeño programa llamado cargador de arranque.