¿Dónde se almacenan las instrucciones necesarias para iniciar un ordenador?
Todos los ordenadores o bien comienzan a leer en las instrucciones de ubicación particular. Una CPU x86 (utilizada en ordenadores personales y Macs) lee primero la ubicación xFFFF:0000, otras CPUs suelen dirigirse al 0. En algunos casos, he conocido procesadores que comienzan al azar, donde sea que el Contador de Programa (PC) se establezca al azar después del encendido. En esos casos, durante el primer par de ciclos, una instrucción es forzada en el bus de memoria (mientras que la propia memoria está desactivada) para cargar una instrucción de salto que esencialmente inicializa el PC.
En ese punto, la mayoría de los sistemas modernos (como después de 1978) tendrían una memoria de sólo lectura (ROM) que ha sido programada con las instrucciones para empezar. Antes de eso, los seres humanos cargarían manualmente a través de un montón de interruptores cada dirección manualmente un byte o así a la vez. Esto sería un cargador de arranque de típicamente 12 a 20 bytes de longitud. Después de eso, leería un dispositivo de almacenamiento masivo, ya sea cinta de papel, casete, disquete, etc y cargaría un cargador de arranque más extenso que leería aún más para finalmente cargar un Sistema Operativo o una Aplicación.
Las ROMs de hoy en día se conocen generalmente como BIOS (de las cuales la UEFI es una BIOS más avanzada y moderna). Para leer más sobre las BIOS y lo que hacen vea mis respuestas a continuación;
- Cómo se escribió una BIOS, con énfasis en la BIOS de Phoenix (pero también de Compaq e IBM)
¿Cómo se escribe la BIOS de una placa base de ordenador? ¿Cómo se escribió la primera BIOS? - Qué hace una BIOS –
¿Qué es la BIOS? ¿Cuáles son sus características y funciones? - ¿Cuál es la secuencia de arranque, post y bios? ¿Cuál va primero?