Поскольку все еще требуется загрузка, мне интересно, в 64-битной системе x64 / AMD64 использует ли BIOS 16-битные инструкции? Также он работает в РЕАЛЬНОМ РЕЖИМЕ?
Поскольку все еще требуется загрузка, мне интересно, в 64-битной системе x64 / AMD64 использует ли BIOS 16-битные инструкции? Также он работает в РЕАЛЬНОМ РЕЖИМЕ?
Ответы:
Процессоры x86 по-прежнему запускаются в реальном режиме. BIOS свободны (и иногда вынуждены) переключаться в защищенный или длительный режимы, пока они инициализируют свое оборудование, но когда они передают управление операционной системе (или, скорее, ее загрузчику), они должны вернуться в реальный режим, потому что это то, что эти загрузчики ожидают, что система будет в.
Coreboot и UEFI переключаются в защищенный режим довольно рано, в то время как для PCBIOS (phoenix / award, ami и так далее) мы не можем сказать. Они имеют закрытый исходный код и, как правило, мало рассказывают о своих внутренних компонентах, а все их интерфейсы указаны в реальном режиме.
Для систем, работающих с ECC RAM, вы можете быть относительно уверены, что они переключаются в какой-то режим, способный адресовать всю оперативную память, поэтому они переходят, по крайней мере, в защищенный режим - это потому, что им нужно инициализировать память (записать некоторое значение в каждый адрес ) при загрузке, или система остановится, если какой-то более поздний код будет считывать адреса, которые никогда не записывались (из-за обнаружения ошибок, которые могут привести к ложному срабатыванию). Но, как уже говорилось, это внутреннее в BIOS, и ничего, что простые смертные не могут понять легко или о чем им нужно подумать.
tl; dr: BIOS работает в реальном режиме во всех точках, где он виден извне, поэтому для любых целей и задач он может постоянно работать в реальном режиме.