У меня современный 64-битный процессор. Мой BIOS все еще работает в 16-битном РЕАЛЬНОМ режиме?

11

Поскольку все еще требуется загрузка, мне интересно, в 64-битной системе x64 / AMD64 использует ли BIOS 16-битные инструкции? Также он работает в РЕАЛЬНОМ РЕЖИМЕ?

unixman83
источник
Википедия: « Ограничения BIOS (режим 16-разрядного процессора, адресное пространство только 1 МБ, аппаратные зависимости ПК AT и т. Д.) Были сочтены явно неприемлемыми для новых компьютерных платформ. Расширяемый интерфейс встроенного ПО (EFI) - это спецификация, которая заменяет среду выполнения интерфейс устаревшего BIOS. "
Даниэль Бек
@ Даниэль Бек, я думал, что EFI для Mac и только для Itanium.
unixman83
7
@ unixman83 - Большинство новых материнских плат Intel работают на EFI с момента появления Sandy Bridge. AMD, вероятно, последует их примеру, когда выйдет бульдозер. Настоящим препятствием было то, что диски, отформатированные с помощью MFT, не могут быть загружаемыми, если их размер превышает 2 ТБ ... предел, который только что начал широко использоваться. Вам нужен EFI для загрузки с диска, отформатированного в GPT (который может быть намного больше)
Shinrai
@ unixman83: я удалил ваш «ответ», потому что это не ответ, а просто копия / вставка комментария Шинрея.
studiohack
Ничто не мешает BIOS читать и понимать GPT, и загрузчики могут также получить доступ к более чем 2 ТБ с помощью вызовов BIOS, поэтому «потребность в EFI» для больших дисков - это (к сожалению, широко распространенный) миф.
Патрик Георгий

Ответы:

6

Процессоры x86 по-прежнему запускаются в реальном режиме. BIOS свободны (и иногда вынуждены) переключаться в защищенный или длительный режимы, пока они инициализируют свое оборудование, но когда они передают управление операционной системе (или, скорее, ее загрузчику), они должны вернуться в реальный режим, потому что это то, что эти загрузчики ожидают, что система будет в.

Coreboot и UEFI переключаются в защищенный режим довольно рано, в то время как для PCBIOS (phoenix / award, ami и так далее) мы не можем сказать. Они имеют закрытый исходный код и, как правило, мало рассказывают о своих внутренних компонентах, а все их интерфейсы указаны в реальном режиме.

Для систем, работающих с ECC RAM, вы можете быть относительно уверены, что они переключаются в какой-то режим, способный адресовать всю оперативную память, поэтому они переходят, по крайней мере, в защищенный режим - это потому, что им нужно инициализировать память (записать некоторое значение в каждый адрес ) при загрузке, или система остановится, если какой-то более поздний код будет считывать адреса, которые никогда не записывались (из-за обнаружения ошибок, которые могут привести к ложному срабатыванию). Но, как уже говорилось, это внутреннее в BIOS, и ничего, что простые смертные не могут понять легко или о чем им нужно подумать.

tl; dr: BIOS работает в реальном режиме во всех точках, где он виден извне, поэтому для любых целей и задач он может постоянно работать в реальном режиме.

Патрик Георгий
источник
1
Даже оригинальный IBM PC AT BIOS переключился в защищенный режим для тестирования памяти.
Юйхонг Бао