внешнее прерывание в процессоре руки

Что такое типичное внешнее прерывание на процессоре руки?

Чем это отличается от обычного прерывания данных и прерывания предварительной выборки?

Как он информирует приложение о внешнем прерывании?


person GM Test    schedule 23.10.2015    source источник
comment
Почему это было отложено? Вам нужно знать процессор ARM, чтобы знать, что это не слишком широко.   -  person artless noise    schedule 24.10.2015
comment
Возможно, связано: Что означают эти сообщения о панике ядра   -  person artless noise    schedule 24.10.2015


Ответы (1)


обычно процессор ARM поставляется с сопроцессором, одним из его сопроцессоров является cp15, который действует как MMU.

Если есть какой-либо такой виртуальный адрес, для которого MMU не может найти какую-либо страницу или сталкивается с ошибкой преобразования, называемой отказом от данных или предварительной выборки, зависит от соответствующего пути (I-кэш или D-кэш).

http://infocenter.arm.com/help/index.jstopic=/com.arm.doc.ddi0438d/BABFFDFD.html

Предположим, вы столкнулись с таким виртуальным адресом, который имеет действительный физический адрес в отображении, но сам физический адрес недействителен (или адрес принадлежит безопасному миру, т.е. доверенной зоне), системная шина в этом случае вызовет прерывание, потому что это не сможет декодировать физический адрес.

Проще говоря, все прерывания, которые не будут обнаружены MMU, называются внешними прерываниями, и приложение будет уведомлено сигналом SIGBUS.


Что такое типичное внешнее прерывание на процессоре руки?

Типичное внешнее прерывание связано с аппаратным обеспечением. Пользовательский процесс обычно не может вызвать это. Типичными причинами являются отсутствие включения часов для модуля SOC и/или инициализация зависимых блоков SOC (конфигурация шины, мультиплексирование контактов и т. д.). Это также произойдет с TrustZone при доступе к защищенной памяти (т.е. к защищенной памяти из обычного мира).

Чем это отличается от обычного прерывания данных и прерывания предварительной выборки?

Обычный сброс данных и предварительная выборка используют память, не отображаемую MMU. Внешнее прерывание отображается, но когда ЦП выполняет цикл шины, периферийное устройство по физическому адресу не отвечает (или отправляет ошибку обратно в ЦП).

Как он информирует приложение о внешнем прерывании?

Поскольку внешнее прерывание означает некоторую внешнюю по отношению к ЦП (также называемую аппаратным обеспечением), обычно не бывает, чтобы приложение получило внешнее прерывание. Приложение не должно иметь дело с оборудованием напрямую.

person AnshuMan Gupta    schedule 23.10.2015