Когда компьютер включается: Как это знает, от которой инструкции это должно начать выполняться?
Сначала это - программа BIOS, которая должна быть выполнена. Так, что точно происходит там? Я хочу знать процесс, пока ОС не загружается.
Как и следовало ожидать, это сильно зависит от процессора.
Как правило, аппаратное обеспечение процессора появляется в некоторой конфигурации по умолчанию, а затем начинает выполнение с определенного адреса памяти. Что произойдет после этого, зависит от программного обеспечения.
Обычно первая выполняемая инструкция - это переход к некоторому программному обеспечению загрузчика, который затем подготавливает оборудование и загружает следующий этап программного обеспечения. Повторите этот процесс установки / загрузки столько раз, сколько хотите, и готово - вы в ОС!
Некоторые процессоры более настраиваемы, чем другие, и имеют опции аппаратной обвязки (или предохранители в кремнии), которые могут управлять некоторыми параметрами загрузки. Другие имеют встроенный код ПЗУ, который выполняется при включении питания или сбросе микросхемы. Некоторые микросхемы имеют встроенную память, другие могут автоматически настраивать внешнюю память, а третьи требуют загрузки программного обеспечения для выполнения даже самых простых задач начальной загрузки.
Если вы немного проясните свой вопрос, возможно, мы сможем добавить более подробную информацию о конкретном процессе в системе, которая вас интересует.
Двумя наиболее популярными вариантами являются
, начиная с фиксированного адреса (часто 0)
, начиная с адреса, который хранится в фиксированном месте (вектор сброса)
Это зависит от конкретного процессора.
Я думаю В статье Википедии о загрузке есть больше деталей, чем вы могли бы пожелать.
Большинство процессоров имеют жестко запрограммированный вектор сброса , который определяет адрес первой инструкции, которая будет выполняться после аппаратный сброс. Думайте об этом как о матери всех немаскированных прерываний.