Jump to content

Сброс вектора

В вычислениях вектор сброса — это местоположение по умолчанию, в которое центральный процессор пойдет, чтобы найти первую инструкцию, которую он выполнит после сброса . Вектор сброса — это указатель или адрес , по которому ЦП всегда должен начинать работу, как только он сможет выполнять инструкции. Адрес находится в разделе энергонезависимой памяти , инициализированном для хранения инструкций по запуску работы ЦП в качестве первого шага в процессе загрузки системы, содержащей ЦП. [ нужна ссылка ]

Ниже приведен список обычно используемых адресов различными микропроцессорами:

семейство x86 (Intel)

[ редактировать ]
  • Вектор сброса для процессора Intel 8086 находится по физическому адресу FFFF0h (16 байт ниже 1 МБ). Значение регистра CS при сбросе равно FFFFh, а значение регистра IP при сбросе равно 0000h для формирования сегментированного адреса FFFFh:0000h, который отображается на физический адрес FFFF0h. [1]
  • Вектор сброса для процессора Intel 80286 находится по физическому адресу FFFFF0h (16 байт ниже 16 МБ). Значение регистра CS при сбросе равно F000h с базой дескриптора, установленной на FF0000h, а значение регистра IP при сбросе равно FFF0h для формирования сегментированного адреса FF0000h:FFF0h, который в реальном режиме отображается на физический адрес FFFFF0h . [2] Это было изменено, чтобы обеспечить достаточно места для переключения в защищенный режим без изменения регистра CS. [3]
  • Вектор сброса для процессоров Intel 80386 и более поздних версий x86 — это физический адрес FFFFFFF0h (16 байт ниже 4 ГБ). Значение селекторной части регистра CS при сбросе равно F000h, значение базовой части регистра CS — FFFF0000h, а значение регистра IP при сбросе — FFF0h. [4] для формирования сегментированного адреса FFFF0000h:FFF0h, который в реальном режиме отображается на физический адрес FFFFFFF0h. [5] [6]
  • Вектор сброса для ARM — это адрес 0x0. процессоров [7] [8] или 0xFFFF0000. [9] Во время нормального выполнения ОЗУ переназначается на это место для повышения производительности по сравнению с исходной векторной таблицей на основе ПЗУ. [10]
  • Вектор сброса для процессоров MIPS32 находится по виртуальному адресу 0xBFC00000. [11] который расположен в последних 4 Мбайтах некэшируемой области памяти KSEG1. [12] Ядро переходит в режим ядра как при сбросе, так и при распознавании исключения, что позволяет сопоставить виртуальный адрес с физическим адресом. [13]
  • Вектор сброса для процессоров PowerPC / Power ISA находится по эффективному адресу 0x00000100 для 32-битных процессоров и 0x0000000000000100 для 64-битных процессоров.
  • Вектор сброса для процессоров SPARC версии 8 находится по адресу 0x00000000; [14] Вектор сброса для процессоров SPARC версии 9 имеет адрес 0x20 для сброса при включении питания, 0x40 для сброса сторожевого таймера, 0x60 для сброса, инициируемого извне, и 0x80 для сброса, инициируемого программным обеспечением. [15]
  • Вектор сброса для семейства процессоров 68000 равен 0x00000000 для начального регистра стека прерываний (IISR; на самом деле это не вектор сброса и используется для инициализации указателя стека после сброса.) и 0x00000004 для начального счетчика программы (сброс). [16]

8-битные процессоры

[ редактировать ]
Нет вектора сброса
  • Для 8051 / 8080 / 8085 / Z80 сброс запускает выполнение кода по адресу 0x0000.
  • Для AVR сброс запускает выполнение кода по адресу 0x0000; часто здесь размещается инструкция относительного перехода (RJMP) для перехода к процедуре обработки сброса в нижних 4 КБ памяти.
  • Для PIC сброс запускает выполнение кода по адресу 0x0000.

См. также

[ редактировать ]
  1. ^ «Руководство пользователя iAPX 86,88» (PDF) . Интел . 1981. Сброс системы, с. 2-29, таблица 2-4 . Проверено 15 апреля 2018 г.
  2. ^ «Техническое описание AMD 80286» (PDF) . АМД . 1985. с. 13. 286 начинает выполнение в реальном режиме с инструкции в физическом месте FFFFF0H.
  3. ^ «Справочное руководство программиста iAPX 286» (PDF) . Интел. 1983. Приложение D, Вопросы совместимости программного обеспечения iAPX 86/88, стр. Д-2 . Проверено 15 апреля 2018 г. После сброса CS:IP = F000:FFF0 на iAPX 286. Это изменение было сделано для того, чтобы обеспечить достаточное пространство кода для входа в защищенный режим без перезагрузки CS.
  4. ^ «Справочное руководство программатора 80386» (PDF) . Интел. 1990. Раздел 10.1 Состояние процессора после перезагрузки, страницы 10-1 - 10.3.
  5. ^ «Справочное руководство программатора 80386» (PDF) . Интел. 1990. Раздел 10.2.3 Первая инструкция, с. 10-4 . Проверено 3 ноября 2013 г. Выполнение начинается с инструкции, адресованной исходному содержимому регистров CS и IP. Чтобы разрешить размещение программного обеспечения инициализации в ПЗУ в верхней части адресного пространства, устанавливаются старшие 12 бит адресов, выданных для сегмента кода, до тех пор, пока не будет выполнена первая инструкция, загружающая регистр CS, например, дальний переход или вызов. . В результате выборка инструкций начинается с адреса 0FFFFFFFF0H.
  6. ^ «Руководство разработчика программного обеспечения для архитектур Intel® 64 и IA-32» (PDF) . Интел. Май 2012 г. Раздел 9.1.4 Выполнение первой инструкции, стр. 9.1.4. 2611. Архивировано из оригинала (PDF) 8 августа 2012 г. Проверено 23 августа 2012 г. Первая инструкция, которая извлекается и выполняется после аппаратного сброса, находится по физическому адресу FFFFFFF0h. Этот адрес на 16 байт ниже самого верхнего физического адреса процессора. По этому адресу должна находиться СППЗУ, содержащая код инициализации программного обеспечения.
  7. ^ «5.9.1. Таблица векторов и сброс» . Техническое справочное руководство Cortex-M3 . Проверено 10 ноября 2017 г.
  8. ^ «Таблица 4-11 Регистры сброса AArch64» . Техническое справочное руководство по процессору CortexARM Cortex-A72 MPCore r0p3 . Проверено 30 января 2024 г.
  9. ^ «Документация — Arm Developer» . Developer.arm.com . Проверено 21 июня 2024 г.
  10. ^ «Последовательность загрузки встроенной системы на базе ARM -2 - DM» . www.embeddedrelated.com . Проверено 10 ноября 2017 г.
  11. ^ «Архитектура MIPS32 для программистов; Том III: Архитектура привилегированных ресурсов MIPS32» (PDF) . МИПС Технологии.
  12. ^ Ноэргаард, Тэмми (28 февраля 2005 г.). Архитектура встраиваемых систем: комплексное руководство для инженеров и программистов . Эльзевир. ISBN  9780080491240 .
  13. ^ «Руководство пользователя программного обеспечения ядра процессора MIPS32 M4K» (PDF) . cdn2.imgtec.com . 29 августа 2008 г. Архивировано из оригинала (PDF) 26 августа 2017 г.
  14. ^ Руководство по архитектуре SPARC, версия 8 . СПАРК Интернэшнл . п. 75.
  15. ^ Руководство по архитектуре SPARC, версия 9 . СПАРК Интернэшнл. стр. 109–112.
  16. ^ Лабросс, Жан Дж. (2008). Встроенное программное обеспечение . Ньюнес. ISBN  9780750685832 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a8315e20183837fa8eb6887908f35211__1719547200
URL1:https://arc.ask3.ru/arc/aa/a8/11/a8315e20183837fa8eb6887908f35211.html
Заголовок, (Title) документа по адресу, URL1:
Reset vector - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)