Кто загружает BIOS и карту памяти во время загрузки

Что касается BIOS, в Википедии говорится:

Адрес памяти BIOS расположен так, что он будет выполняться при первом запуске компьютера. Затем инструкция перехода указывает процессору начать выполнение кода в BIOS.

Я знаю, что BIOS живет в энергонезависимой памяти. Но для выполнения его необходимо загрузить в оперативную память. Так кто же загружает биос в оперативную память?

Я также читал, что карта памяти загружается при запуске. BIOS загружает эту карту памяти? Где хранится?


person Cygnus    schedule 31.12.2013    source источник
comment
Вы можете запустить BIOS из ПЗУ.   -  person nos    schedule 31.12.2013
comment
Этот вопрос здесь не по теме. В будущем используйте superuser.com, этот вопрос: уже рассмотрено.   -  person Hans Passant    schedule 31.12.2013
comment
Карта памяти жестко закодирована в аппаратном обеспечении AFAIK. Нет «карты памяти» для загрузки.   -  person tangrs    schedule 01.01.2014
comment
Думаю, эта другая тема отвечает на ваш вопрос. stackoverflow.com/questions/5300527/   -  person myron-semack    schedule 06.01.2014
comment
@tangrs карта памяти определенно не всегда жестко запрограммирована - если бы это было так, как бы она поддерживала изменение объема ОЗУ?   -  person Drew McGowen    schedule 08.01.2014


Ответы (1)


При первоначальном включении BIOS запускается непосредственно из ПЗУ. Микросхема ПЗУ отображается в фиксированное место в пространстве памяти процессора (обычно это функция набора микросхем). Когда процессор x86 выходит из состояния сброса, он немедленно начинает выполнение с 0xFFFFFFF0.

Однако выполнение непосредственно из ПЗУ происходит довольно медленно, поэтому обычно первое, что делает BIOS, - это копирует и распаковывает код BIOS в ОЗУ, и он запускается оттуда. Конечно, сначала необходимо инициализировать контроллер памяти! BIOS позаботится об этом заранее.

Макет карты памяти будет отличаться от системы к системе. При включении BIOS опрашивает подключенные устройства PCI / PCIe, определяет, какие ресурсы необходимы, и размещает их на карте памяти в оптимальном месте. Если все работает правильно, устройства с отображением памяти не должны перекрываться с ОЗУ. (Обратите внимание, что в 64-битной системе с> 3 ГБ ОЗУ все усложняется, потому что вам нужна «дыра» в середине ОЗУ для ваших 32-битных устройств PCI / PCIe. Некоторые ранние 64-разрядные BIOS и наборы микросхем имели проблемы с этим .)

person myron-semack    schedule 09.01.2014
comment
The ROM chip is mapped to a fixed location in the processor's memory space. Означает ли это, что контроллер памяти (который, как известно, находится на процессоре Intel и AMD) имеет контакты с CMOS, содержащей BIOS, и жестко запрограммировал перенаправление для этого диапазона памяти, чтобы перейти к этим контактам? - person Sled; 20.08.2020