Узнавая о памяти BIOS, инструкциях и источниках кода

Я узнаю о BIOS и имею несколько вопросов.

  1. Что предназначено, "Это - последние 16 байтов памяти в конце первого мегабайта памяти"?

  2. Первая инструкция BIOS является переходом, который переходит к основной программе BIOS, но где это переходит?

  3. Где исходный код BIOS происходит?

Я также интересуюсь POST? Как сигналы POST выполняются процессором?

0
задан 14.06.2010, 05:39

3 ответа

Для ответа на второй вопрос BIOS переходит к 0x7c00, который является запуском кода загрузочного сектора (я заключаю, что от отладки и создания загрузочных секторов...) в свою очередь загрузочный сектор загружается в то смещение в памяти.

POST является Самотестирование при включении питания, когда стандартные программы BIOS выполняют проверку на устройствах, таких как память, клавиатура, диск и экран, это испускает звуковой сигнал, если проверка приводит к сбою в зависимости от рассматриваемого устройства такой, как будто жесткий диск перестал работать, его 2 звуковых сигнала, существуют вариации в звуковом сигнале для выражения проблем под рукой. Они довольно редки теперь, когда BIOS более надежен и что аппаратное обнаружение намного более надежно затем они тогда... Диски MFM/RLL раньше были проблематичны с BIOS, если они не от сомнительного пакета дисков.... Клавиатуры с BIOS известны за отображение 'Хита F1 для продолжения', при отсутствии клавиатур....

Надежда это помогает, С наилучшими пожеланиями, Tom.

1
ответ дан 24.11.2019, 04:41
  1. Смещения 0x0ffff0 через 0x0fffff физической памяти компьютера.
  2. В код BIOS, который кто-то ранее написал и врезался в энергонезависимую память.
1
ответ дан 24.11.2019, 04:41

@tommieb75: Это - то, где процессор в конечном счете перейдет, но только если BIOS удается найти загрузочный сектор на приложенном периферийном устройстве (жесткий диск, правильно отформатированная Карта флэш-памяти с интерфейсом USB, El Torito CD, TFTP с сервера PXE, и т.д.). Этот загрузочный сектор будет иметь 0x55AA подпись в конце его. Формирующим прототип примером является MBR, который свободен сделать что-либо, что он хочет, но снова обычно просматривает таблицу разделов для одной (и только одного) загрузочный флаг, перемещения себя от адреса 0x7C00 (туда, где зависит от его кода), загрузки, что первый сектор раздела к 0x7C00, и переходит к нему. Этот загрузочный сектор раздела должен также иметь 0x55AA подпись.

До исходного вопроса... нет никакого фиксированного адреса, к которому процессор проинструктирован ROM BIOS для перехода; это зависит от того, что хочет автор BIOS. Адрес на 16 байтов ниже конца 1 мегабайта является просто чем-то hardcoded в сам процессор; это, документировал/определял поведение (Intel, и по ассоциации, AMD и другие). Очевидно, 16 байтов кода не много кода, таким образом, это - обычно просто "прыжок в длину" (загружающий и CS и регистры IP) к где-то в другом месте в ROM BIOS. Тот код обрабатывает POST и вышеупомянутое местоположение допустимого загрузочного сектора для выполнения.

1
ответ дан 24.11.2019, 04:41

Теги

Похожие вопросы